Announcing Math::Mathematica

After coming home from YAPC::NA I have a renewed vigor for coding. Because of that, I decided to brush up one of my modules that I haven’t released, document it and release it to CPAN.

Schwern and others talked about how to bring new people into Perl. For many this means making sure to include women and minorities in events and projects. For science however, I think part of the problem is the inertia of commonly used software. People don’t want to use Perl, because Mathematica makes math easy. True, but it makes programming hard IMO.

So here it is, another in my line of Perl-for-Science modules: Math::Mathematica hopes to make doing science easier in Perl. It basically starts a command-line instance of Mathematica in a PTY and controls the IO to and from it. This allows for easy writing of scripts those people that want the power of Mathematica’s math engine with the power of Perl’s language (something that Mathematica distinctly lacks).

Here is a simple example.

My Bingo Results at YAPC::NA 2012

After seeing the Bingo card idea at an Atheist conference, I suggested it to JT Smith, who decided it was indeed a good idea. JT did the design, thought of the tasks and wrote down the rules and printed it. When people came to YAPC::NA 2012, they got a cool bingo card with their swag bag and had to mark things off.

I don't know how many did indeed do it, but I did. The idea is simple: by putting some things as a fun task, it motivates you into doing it. I know I'm personally extremely shy (even though I might not come off this way) and having tasks of things such as attending parties (which I always fear) and asking questions (which I'm too shy to do) and eating with new people, meeting speakers, attending hackathons and so on goes along way to convince me to do it. I hope it did the same for you.

eGENTIC Systems sponsors YAPC::Europe 2012

eGENTIC Systems committed to be a Gold Sponsor of this years' YAPC::Europe. Thanks!

egentic_systems.jpg

eGENTIC Systems is the technical service provider for eGENTIC - the world market leader in online lead generation. Since over ten years both companies are very successfully following a dynamic strategy of worldwide expansion. The areas of expertise include development of web and mobile applications and servicing the required server ressources. A high percentage of our applications use Perl.

YAPC's Not Over!

Thanks to all who came to YAPC::NA this year. However, YAPC isn’t over until you blog about your experience. Tell the world why you came, what you did, and why they should go next year!

[From the YAPC::NA Blog.]

Reflecting on YAPC::NA 2012

Good morning Chicago. I’m back from a wonderful trip to YAPC::NA 2012 and while its nice to be home, I’m really sad that the conference is over. It was my first YAPC and I’m sure that it will not be my last.

Before I get to my reflections, I want to say that the job that JT Smith(blog post picked because I like it), the MadMongers and the many volunteers and UW-Madison folks who made it all happen. I was so well organized and run, I’m astonished.

Moving on.

Thanks for the Live Streams from YAPC::NA

I just wanted to say how grateful I am for the live streams broadcasting these days!
With the time shift to my place it allows me to drop into yapc::na after my workday and enjoy some talks.
This is definitely a very cool feature of the Perl community.

(I also would like to encourage everybody who watches and appreciates the live streams to drop a little thank-you note here.)

Ternary Logic and Digital Computing

Martin Becker will give a talk at YAPC::Europe 2012 described as

Ternary or three-valued logic is a logic in which there are three truth values indicating true, false and some third value, often used to denote uncertainty or indefiniteness. A three-valued information unit is called a trit.

It would be technically feasible to build digital systems based on trits, using memory units with three distinct states (flip-flap-flops) and logic circuitry with three distinct input/output levels, like positive, negative and zero voltage.

This talk explores basic operations and other important properties for a hypothetical ternary computer, as implemented in the Perl library Math-Logic-Ternary. It turns out that ternary logic gives rise to uniqe features such as a very simple and symmetric numeral system.

MIME::Base64 and pearlclutching

I've been working on WhiteHat's new sourcecode scanner, and one of the things we need to do is transmit snippets of source code around inside of XML. Since many XML parseres are notoriously sensitive to non-ASCII characters, even in CDATA, we decided that the simplest thing to do was Base64-encode them. This shouldn't be a problem, right?

Well, no. Turns out that MIME::Base64 is very picky itself about encoding things properly. If you hand it UTF-8, it screeches, "Characters with more than 8 bits?! Heavens!" and falls over. There's an incantation noted it its documentation that will let you handle it, but it didn't, at least for me, work all that dependably.

A little poking around turned up Encode::Encoder , which works like a charm, and is very clean:

The job fair is in full swing.



The job fair is in full swing.

[From the YAPC::NA Blog.]

Perlybook.org - Read Perl module documentation at the Preikestolen

Hi @all,

a couple of weeks ago, we started perlybook.org. It is a service that creates ebooks for your favourite Perl module documentation. So you would be able to read the Moose documentation while you sit on the Preikestolen (The "Move to Moose hackathon" will be right after YAPC::Europe).

It makes heavy use of the MetaCPAN API, so we do not need to have our own cpan mirror. To create the ebooks, we use EPublisher with its epub and mobi plugins.

We will use this blog to announce news regarding perlybook.org and the modules it depends on. And we will create a list of the hottest ebooks each week.

CPAN Dependency Heaven

Jon Allen will give a talk at YAPC::Europe 2012 described as

Installing CPAN modules and managing their dependencies has got much easier over recent years thanks to tools like cpanm. But what about the DarkPAN, i.e. all the code that *isn't* on CPAN?

In this talk we will look at how to build our own private CPAN, upload our own DarkPAN modules, and easily mix private and public dependencies.

From this we will build cross-platform installation packages which can be used on any system with Perl installed (no external dependencies or even Internet access required).

Read my book online for free

This is for a limited and unknown amount of time, but you should be able to read my book online for free. Read on for a bit of explanation about what's going on and for some important caveats (and the URL).

Streaming via VLC

Someone over on the web figured out how to view the streams without Silverlight: http://mail.pm.org/pipermail/vienna-pm/2012-June/003125.html

[From the YAPC::NA Blog.]

Look, I Just Paid the Bill

If you visit the Silicon Valley Perl Mongers Meetup site, you'll see that I'm now listed as the organizer. This is not strictly true - Ian Kluft is still our primary organizer, but due to the fact that Meetup sends out a metric buttload of mail - I have now witnessed this as organizer - he missed the "OMG SVPERL GONNA DIE" message that got sent, repeatedly, to all the SVPerl members when the Meetup bill was due in a week.

Everyone was getting nervous, so I jumped in and paid the bill, partly because everyone was getting nervous we hadn't heard from Ian, and partly because WhiteHat Security, my current employer (who I love, and you should come work here if you are a good Perl programmer - heck, if you're a good Python or Ruby programmer, come and we'll teach you Perl) said they'd pick up the tab.

So, woo, I'm an organizer. I just like having an excuse to give talks!

Labyrinth Is/Isn't A Web Framework

Barbie will give a talk at YAPC::Europe 2012 described as

Labyrinth is a codebase for presenting websites, originally designed and developed in 2002. It's original design goal was to be a "Website In A Box", meaning that it could be installed on a web server ready and complete to server a website. However, it can additionally be extended, providing a framework for those who wish to add their own requirements to the workflow and functionality.

As such, this talk is an introduction to both the web framework and stand-alone aspects of Labyrinth.

An Arduino/Dancer-enabled mobile-enhanced door

So you're sitting at home, preparing for a karaoke night, waiting for your friend to arrive. She comes in, rings the doorbell and you're thinking "fuck! I'm upstairs, and she's downstairs and I have to open the door for her (because it's locked) but I'm busy changing my clothes." What do you do? WHAT DO YOU DO?

What if you could let her in using you phone while you're still upstairs getting yourself ready? Arduino could be used for that. And the following is a theoretical (and slightly bit practical) explanation on how you could use Arduino and Dancer to accomplish this.

Arduino is a basic unit. You can set bits on and off. You can hook the bits to other devices (sound, video, screens, you name it!). You can write firmware to it. That's awesome. You can hook up more shields (components) to it. That means you can have additional hardware like an ethernet hookup or whathaveyou.

Further Reading For The YAPC::NA 2012 Keynote

This is a placeholder post to house links to further reading from my YAPC::NA 2012 keynote.

The raffles are a big hit so far. If you’re at YAPC::NA...



The raffles are a big hit so far. If you’re at YAPC::NA this year, be sure to get your chance to win the nearly $10,000 worth of prizes we have in our raffles. 

[From the YAPC::NA Blog.]

Talks accepted!

We finally fixed a bug in our voting app, so we were able to vote the talk proposals. We have accepted lots of talks (thanks for the great proposals). Even those talks that have not been accepted yet are not rejected at all. They will be reconsidered in the next round of voting...

So today and in the next few days, you'll see a lot of blog posts introducing the accepted talks.

Announcing Marpa::R2

What is Marpa?

I am very pleased to announce Marpa::R2 -- "Release 2" of the Marpa parser. For those unfamiliar, the Marpa algorithm is something new in parsing -- it parses anything you can write in BNF and, if your grammar is in one of the classes currently in practical use, it parses it in linear time. Marpa::R2's parse engine is written in optimized C, so that Marpa::R2's speed is competitive with parsers of far less power.

An important feature of the Marpa algorithm is "situational awareness". Marpa knows at every point in the parse exactly how far it has progressed in each rule, and can share this information with the application. The advantages of this go beyond error detection -- Marpa's situational awareness is accurate, graceful and fast enough to be used as a parsing technique in its own right -- Ruby Slippers parsing.

Announcing Marpa::R2

About blogs.perl.org

blogs.perl.org is a common blogging platform for the Perl community. Written in Perl with a graphic design donated by Six Apart, Ltd.