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
- 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)
- grokbase.com (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)