Thursday, August 18, 2011

YAPC::EU 2011 - day 3

The last day started with Jesse Vincent's "Perl 5.16 and Beyond". I was expecting the same talk as in Asheville (YAPC::NA), but it wasn't. He explained his plans for a traditional and minimal Perl. The traditional Perl would be like today (with all the core modules). The minimal one would just contain enough to get CPAN started. That is a great change! Also, some functionality (UNIX process functions, sockets, formats) could get extracted into modules. This would lead to a leaner Perl C source. I absolutely like this decision!

Next was Steven Jenkins (from Venda) with "Modern Perl - getting there from here". The abstract sounded better than the talk actually was. He talked about some problematic areas in the Venda code base and what they did about it. Unfortunately it contained almost no general advice.

After that, I attended Thomas Klausner's talk about text fixtures. He talked about file system and database fixtures and refactoring tests with own modules. For database fixtures he recommended transactions (and rollback).

Before the lunch break Matt S. Trout talked about Data::Query. He started with the history of DBIx::Class and later talked about Data::Query and the future integration into DBIC. There is already a 'dq' branch at SQL::Abstract. He mentioned is still using a private Class::DBI fork. And I wrote down this quote: "Monkey patching is completely fair, if the line starts with 'local'." I like it! :)

In "I <3 my community" Mark Keating talked about last years London Perl Workshop and mentioned/thanked members of the Perl community.

Next was Clinton Gormley with "Terms of endearment - the ElasticSearch query language explained". He had a nice demo application we could try on his Laptop (also on GitHub). He compared (and explained) filters and queries.

Last talk before the lightning talks was Abigail with "The Business Aware Programmer". I did not attend this talk in Asheville, but I knew from a blog post that this talk was controversial. So I was looking forward to it (and indeed, Abigail could not finish in time because of upcoming discussions). I wrote down one quote from the audience: "Your crappy code makes smart people not want to work for", which sums up the disagreement nicely. If I find the tuits I will write a whole blog post about it, as some of his points are valid (but we developers want to believe otherwise).

The lightning talks included, Net::DRI, White Camel Awards and Acme::ASM.

Matt was closing the conference with his "State of the Velociraptor" talk. This time it was almost the same talk as in Asheville. A few attendees brought the WebGUI octopus with them and threw it at mst again. Even Larry landed a shot. :)

Thanks to the organizers for a fantastic conference. Next years YAPC::EU will be in Frankfurt/Main, Germany.

Wednesday, August 17, 2011

YAPC::EU 2011 - day 2

The second day started with Damian Conway's keynote "(Re)Developing in Perl 6" where he showed the Perl 6 versions of some of his modules. Usually the new version was one third of the size of the Perl 5 version. His message was: port your CPAN modules now to Perl 6.

Next was Valentin Guillois with "DBIx::Class::Tree::Mobius" about tree representations in SQL databases. He explained materialized paths, nested sets and nested intervals. His module implements the Moebius encoding, which is based on continued fractions. Unfortunately he could not finish his talk, so here are some materials:
I skipped the next two slots, because I was not particularly interested in any of the talks, and used the time to reharse my presentation (which was scheduled for later this day).

After the lunch I was attending Peter Rabbitson's "DBIx::Class guts 1.1 (or how SQL sausage is made)". I was looking forward to this talk, because I switched from Rose::DB::Object to DBIx::Class (and I still want to write a post about my reasons for this) and the initial learning curve is quite steep. Peter explained the four abstractions of DBIC. It made sense to me, but I have to do some homework and study it further.

Now it was "showtime" for me. I presented "Sanitizing HTML 5 with Perl 5". After all, it didn't went so well as in Asheville (YAPC::NA), but it was okay. There were a lot more attendees (thanks to the weak spot I was in - no heavy competition) and the participation (remarks/questions) was higher. I have doubt about the naming: HTML5::Sanitizer. The "HTML5" might be a bit misleading, so I will release it to CPAN as HTML::Sanitizer in the next weeks (and blog about it).

Next was Marcus Ramberg with "Mojolicious - A New Hope". I like Mojo and I don't like it at the same time. :) Marcus talked about Mojo::Client and Mojolicious::Lite. While I like the non-Mojolicious modules (like Mojo::Client), I'm not convinced of Mojolicious for bigger apps. All the examples are too simple. I would like to see an application with lots of controllers. But back to Marcus' talk: It was a nice introduction to the Mojo(licious) module family.

For the next talk the organizers ignored the "I will attend this talk" feature of ACT. Smylers "SSH Can Do That? Tips for Working More Productively with Remote Servers" was totally overbooked. For me the talk had familiar and new material, for others it was all common stuff. Years ago, I was attending a similar talk at the Chemnitz Linuxtage, which contained more stuff. So while it was nicely done, it could have been better.

Today's lightning talks included:
  • architecture of
  • 14th German Perl Workshop in Erlangen (3. - 5. March 2012)
  • "If you are not on IRC you do not exist" (where I disagree)
  • "Don't optimize for speed" (Paul Johnson) - was really nice
  • Ingy released Larry Wall's presentation software "Stump"
After that we were transfered to the social event, which was at Lido Restaurant. It seemed like we had too few seats, but we made the best out of it and had a good evening.

YAPC::EU 2011 - day 1

Actually, it's already day 3, but I want to keep the chronological order... :)

The main conference started with Larry's keynote. He showed some pictures of Riga and talked about (post)modern Perl.

I attended Carl Maesak's "How not to screw up your business application" next, which was about CQRS (command-query responsibility separation). The basic message was "it is okay to use more than one model" (a normalized one for writing and an denormalized/optimized one for reading).

After that Mallory von Achterberg talked about "HTML5: What it is, what it isn't, and should you use it?". Unfortunately, she could not show all the slides. Eye-opening was the counter until the HTML 5 spec is official, which showed over 3 years left.

Next was Carl Maesak again, with "Making data dance". He talked about the dancing links algorithm from Donald Knuth.

After the lunch break (we got free food at the venue), I attended Jonathon Worthington's "Rakudo Evolved: speed, feedback and hackability", which was about the Rakudo nom branch.

Chisel Wright's "Mostly lazy DBIx::Class testing" showed Test::DBIx::Class::Schema. He also uses Test::Aggregate to avoid the slow schema for every test file.

Next was Zefram with "why time is difficult". He talked about different time systems leading to UTC (coordinated universal time). He must be very interested in this topic as he could answer a lot of questions from the audience.

I missed the next slot, so next were the lightning talks. I just want to mention a few:
  • Leon Timmermann "Reinventing Build.PL" (throw away Module::Build)
  • Peter Rabbitson "Way Too Far Down The Memory Lane" (Sub::Name in pure Perl)
  • Dave Cross "The Perl Community - A Modest Proposal" (Perl Masons and the first rule of Perl Club - funny)
After the lightning talks was the auction. It was not as funny as in last YAPC's, when there were more fun items and competition between the auctioneers. The day ended with dinner in Riga's old city.

Sunday, August 14, 2011

YAPC::EU 2011 - day 0

Mmh, my blog seems to be mostly an YAPC blog this year...

Yesterday I arrived in Riga and took a round through the city centre. In the evening I met the first Perlmongers. Today was "Speaker Training" with Damian Conway and pre conferece meeting.

The speaker training was very interesting, too bad Damian could not give his tutorial last year (I booked it). My talks this year would have been so much better. My talk "Sanitizing HTML 5 with Perl 5" is scheduled for Tuesday - too short for me, to rework everything and apply all of Damian's wisdom.

I made notes on paper and I'm too tired now to type them here. I will do that when YAPC is over. So you can read them, if you are interested.

Tomorrow starts the "real" conference...

Monday, July 4, 2011

YAPC::NA 2011 - day 3

The last day started for me with Jay Shirley's "Building better applications with Data::Manager". Data::Manager combines Data::Verifier and Message::Stack. I agree with one of the first slides of this talk: "data validation != form generation". There are a number of tools, which do both. Other interesting points (straight from my notes):
  • don't marry your tools
  • don't judge a tool by typing (syntax)
  • build UI first, pick method and tools second
  • keep things out of controller
  • red flag: big bunch of ifs in methods
Next was Tatsuhiko Miyagawa with "Deploying Plack web applications". He talked about the different servers first. Starman, Twiggy and FastCGI are good choices. He also demonstrated Plack::Middleware::REPL and Plack::Middleware::InteractiveDebugger, which only work with a single-process server.

Next talks were about ZeroMQ, Facebook::Graph and a comparison of 4 web frameworks. Mateu Hunter showcased Web::Simple, Dancer, Mojolicious::Lite and Tatsumaki. Nice: when asked after his favorite, he replied: Catalyst. :)

Matt agreed, that during his "State of the Velociraptor" talk we were allowed to throw octopuses (from WebGUI) at him. Stevan Little and Cory Watson sat in the front row with lots of "ammunition" :)

Finally there was another round of lightning talks, notable were Dave Rolsky's Courriel talk and Piers Cawley's song.

It was a wonderful time in Asheville and I'm currently at Tennessee to hike in the Great Smoky Mountains National Park. Thanks to all the organizers!

Building better applications with Data::Manager
Building better applications with Data::Manager

Wednesday, June 29, 2011

YAPC::NA 2011 - day 2

Tuesday started with RJBS's "Perl 5.14 for pragmatists". Stable perl releases can now be expected every year. He warned about the usage of "given/when" and smartmatching, followed by all the changes of 5.14. Biggest features in my opinion: \r regex modifier, each on arrayrefs, built-ins on references (push, keys, ...) and new core modules like HTTP::Tiny and JSON::PP.

Later he explained his reasons for avoiding smartmatching (directly from my notes):
  • operands define semantics (everywhere else the operator)
  • 27 different possibilities
  • applied recursive
  • wicked complicated
And for given/when:
  • uses smartmatch implicitely
  • except in 8 cases

The next talk was Jesse Vincent with "Perl 5.16 and beyond". It was a look into the future of Perl 5.

After the lunch break it was time for me. I talked about "Sanitizing HTML 5 with Perl 5", which is about HTML5::Sanitizer. It was my second international talk (last year I talked about "Graphic visualization") and I was pleased with it (I didn't like my performance last year). There are lots of things I can do better, but at least I see a progression. :)

Then I hopped into "Practical AnyEvent", which started parallel to my talk. Stephen showed some AnyEvent examples. And I noted "never run recv on a condvar, use a callback ($cv->cb) and call recv in there", which sounds like a solution to a problem we have in Beetle. But I have to check that, when I'm back in the office.

Next was Rocco Caputo with Reflex. Reflex is the "ORM of event loops" or "reactive programm building blocks". It looked really nice, I have it on my list of things to try out.

I didn't make any notes about the content gaps talk, there was not much Perl in it, at all.

And the day ended with lightning talks:
  • Vala (static typed OO language, for Gtk)
  • Selenium (with Perl)
  • (mailing list archive)
  • Template Toolkit usage mistakes (not using caching)
  • carton (dependency installation in local directory)
  • CPAN modules from far east
    • Furl (fast HTTP client)
    • Server::Starter (hot deployable network server)
    • SQL::Maker (cleaner internals than SQL::Abstract)
    • Test::mysqld (start/stop MySQL server for testing, automatic cleanup)
  • beware the brilliant programmer (more focus on maintenance programming
  • Perl events
  • fat comma (constants cause problems with fat comma, Abigail proposes ,=>)
  • Devel's REPL (mst talked about Eval::WithLexicals)

YAPC::NA 2011 - day 1

Actually it is already the morning of day 3, so I'm a little bit behind. :)

The first day started with Larry's keynote. He wore mst's "Perl is my community" t-shirt, which was auctioned off at last YAPC::EU in Pisa. Larry talked about the community and at the end he had some nice slides about the "renaming Perl [56]" questions. He is against renaming them.

Next were the lightning talks: Jan Dubious presented ActiveState's Stackato. Other talks were about App::GitGot (manage git repositories), Mojolicious::Plugin::Toto, Template::Simple, Sol Genomics Network,Threads::TBB (Thread Building Blocks), logging of SQL queries, OWASP Top 10, cpandoc and Pittsburgh Perl Workshop (with "Perl Ops" track).

After the lunch break Jacinta Richardson talked about Perl Best Practices in 2011, a renewal of Damian Conway's book "Perl Best Practices". She had a tough start, because the room was not ready. Later in her talk one guest was sleeping and snoaring. :)

This doesn't mean the talk was bad, I really liked it. I made a lot of notes, too much to publish them here. :)

Next was Cory "gphat" Watson with "How to NOT built a multi-million dollar eCommerce system". He talked about his experiences from They had a very old code base, a custom written web framework, not even using This sounds awefully familiar to me. Not even using!

This talk was also very good and it contained a lot of valueable information.

Next talks were about telecommuting and running a Perl event.

The evening was followed by the conference dinner and the auction. It was again in the "competition" style like it was first done in Pisa. Three teams auction off some items and compete about the highest bids. One of the items was an inflatable penguin. :)

Sunday, June 26, 2011

YAPC::NA 2011 - day 0

After 18 hours of travel (flying Hamburg - Frankfurt - Charlotte - Asheville) I finally arrived at the conference hotel. Tomorrow at 9:30 start the talks. My talk is on Tuesday.

Note to myself: At Denny's a normal cheeseburger is enough. (I choose the "Double Cheeseburger" and couldn't finish it.) I have never seen such a tall burger. :)

Friday, April 15, 2011

Going to YAPC::NA

My talk "Sanitizing HTML 5 with Perl 5" was accepted. So this will be my first YAPC::NA!

After years of German Perlworkshop last year I finally went to my first YAPC::EU. And it was so much better. I figured out, YAPC::NA must be even more fun and opportunity to learn and connect.

As the distance from Germany is quite a bit, I will extend my stay with a week of hiking Great Smoky Mountains National Park. I was thinking about camping, but the bears made me prefer solid housing. :)

PS: You can get a sneak preview of the talk at the June meeting of Hamburg Perlmongers.

Sunday, February 6, 2011

24 days of Perl - Perl Advent calendar review

Back in November I had this idea of a Perl Advent calendar. 24 postings - how hard could it be?

I started with some days ahead. I prepared two or three postings and scheduled them for publishing at midnight. But it didn't take long and I was down to zero post ahead. So I had to write every day! I didn't want to break the series, so I wrote every day. :)

The latest was half an hour before midnight, when I finished this day's posting.

I guess, that's it for the downside. Thanks to the Ironman Planet the traffic was higher than expected. Compared with my German Perl blog there were both more visitors and also more comments. This shows the number of page views from 11/27 till 12/26:

But would I do it again? I don't think so. Lot at my Januar posts - there aren't any. I had enough of it. :)

Wednesday, February 2, 2011

Perl developers wanted

Are you tired of using Perl only in your spare time? Do you want to work full time as a Perl developer?

Are you not willing to move to Amsterdam, but would prefer the north of Germany (lovely Hamburg)?

My employer is looking for several Perl developers with different skill levels. Please contact me (, if you have any questions or are interested. If you send me your CV I will forward it to my team lead. I can also give you her direct email address. So you can write her directly.