Get an in-browser remote desktop with Mojolicious and noVNC

The article itself is published at PerlTricks. This is the second article I’ve published there (the first was about How to send verification emails using Mojolicious). Hopefully more to come!

On the Semantic Naming of Things

Let’s say I opened a restaurant and people liked it.

Then I add an item to the menu called “Fish and Chips”. My restaurant’s version would serve a smoked salmon with a light butter/caper topping and fresh potato chips (crisps for those of you across the pond). I could certainly do it … but people would be confused.

No amount of explaining to each patron would prevent the next patron from being confused by the name. Even if I explained on several pieces of my printed materials and told customers if they asked, people would still certainly miss it, because they know what “Fish and Chips” means.

If I then claimed that the name wasn’t confusing because I had explained the differences several times, I would be wrong. It still is confusing. Claiming it isn’t doesn’t make it so.

Response to The Perl Jam 2

Given the embarrassing talk that Netanel Rubin gave last year, in which he chose not to learn a language and then laugh at it for the mistakes he made, I’m surprised I have to respond to yet another of his talks. Surprisingly, CCC gave him another slot to present strawman arguments for cheap laughs again this year, and no doubt that’s what he did.

I'm Thankful for Perl

These last few years have been just astonishing and so much of it is due to Perl and the Perl Community. In 2013 I ended my 8 year graduate experience (where I learned a lot of Perl) by defending my thesis (which used Perl extensively) right into the teeth of The Sequester. The US Government decided that they weren’t going to pay for science just when I was looking for a science job. The prospects were bleak.

I turned to my local Perl Mongers group (Chicago) begging for a job. In no time at all I had one. Although it actually quickly became a Python job, I was nonetheless employed and employed well at that. Then that PM group acted as a meeting place wherein I was lured away to my second job (my first real Perl gig). This job was due in part to Mojolicious, for which I am also very thankful.

Unfortunately, not long ago I was informed that that company would be closing its doors (nothing to do with the software) and I was on the hunt for a job again. This time it would be thanks to Perl and Mojolicious and #mojo on irc.perl.org which would have me talking to the person who was to become my new boss literally minutes after I had gotten the news. Less than two weeks later I had started at ServerCentral.com writing an internal api in Perl and Mojolicious and other open source technologies. I am very thankful to them for taking me in and I’m looking forward to working with and for them.

Incidentally, if you or your company are in need of top-notch server colocation, managed infrastructure, or VMWare managed virtualization, please give ServerCentral.com a look!

From trips to YAPC::NAs and YAPC::Brasil to MojoConf in Norway, Perl has also helped me see the world. And once I arrive I am always surrounded by such amazing people. It is you that I’m most thankful for!

The Perl language and Perl Community have been responsible for and a part of so much of my success and contentment and I just want to take a moment and say: Thanks!

Anonymous Classes With Private Data

A long while back (I’ll find the reference if I can) Stevan Little, author of Moose, commented that part of what he wanted for a p5mop was the ability to have truly private data in classes. Much in the way Perl 6 has $!data attributes that are simply private data, he wanted to just be able to use Perl’s regular variables in this same way.

I took this as a bit of a challenge and several iterations later, I had a working system. I then spent months trying to decide if I wanted to put it on CPAN. I kept weighing utility vs practicality. Though it is an interesting thought exercise, I have no idea if its a good idea.

A few things happened which made me soften my view. Most importantly, the great Damian Conway released Dios which does bring lots more of the Perl6 style classes to Perl5. This lead me to stop worrying that people would actually try to use my module for real heavy lifting; if you need that use Dios. Also Stevan gave a talk at YAPC::NA which showed an exciting and I think very promising reimagining of the p5mop project.

With these two projects out there mine can just be a curiosity. I kept finding myself showing it off and wondering. Finally, today Yanick Champoux found himself pondering blessed-subref-based objects and I reminded him of my module, which I had shown him at YAPC. I mentioned that I still was on the fence about releasing it to CPAN, he replied:

So I did.

I’m happy — and a little scared — to introduce Class:Anonymous to the CPAN. It may be the strangest thing I’ve put there yet.