today was...busy. since i stayed up so late the night before, i was worried about getting up in time for the first few talks in the morning: Josh McAdams' welcome speech, and keynotes by Larry Wall and Bill Odam. unfortunately for me, my alarm didn't go off and I didn't wake up until right before the last keynote, Bill Odam's, was starting. anyway, i took a shower and headed on over to the building where all the talks would be taking place.
i arrived about halfway through Bill Odam's talk, and found it pretty slow-moving. He didn't have any presentation slides, so I definitely think that affected my perception. besides that, what he talked about was actually interesting to me: how the Perl Foundation fits in to the Perl community, who it is currently comprised of, and what they do with their resources. by the time I had to leave for the next talk I wished to attend, I understood a bit more what it did.
the first of the five talks I attended was on the module PPI and was given by Jeffrey Goff. PPI is making it possible to view perl source code as a document, and manipulate it in interesting ways without actually running it through the perl interpreter (which is what Eclipse's plugin does, and which can really screw you if you put the wrong thing in a BEGIN block). Jeffrey showed briefly how to do a few simple tasks like automatically reformatting a map statement into a for loop, and re-formatting whitespace without doing it with regexen that might possibly break heredocs. by the end of the talk I definitely decided I wanted to spend a day or two fiddling around with it. since I'll only be working around 30 hours this summer before school starts, I'm hoping to fit it in
The next talk I went to was on svk, remembering an article I had skimmed thru on perl.com and thinking that it was worth looking into. Since I have mostly been using svn at work, I figured it would be good for me to see what benefits it had over svn. this talk went smoothly, and some of the new features for the next version of svk i noticed were taken from another RCS which I actually prefer: darcs. (the speaker also mentioned thievery from Perforce.) anyway, here's a brief features list I gleaned from clkao's talk:
the third talk was entitled "Get Out of Technical Debt Now!", and was presented by Andy Lester. Of all the five I went to today, I believe I took away most from this one. He seemed to be using the Takahashi method of presenting slides, yet it was surprisingly easy to form an outline of the material. Altho' I do believe the video and slides of his talk will be available (as will be the case for many other talks), I'm gonna reproduce the outline of the solution of getting out of technical debt:
simple (but not easy) solution:
identify your debts
clutter (multiple confs and backups
without revision control)
anything you plan to do later is clutter!
ugly code (no appreciation of what the
code without comments
bus-sensitive knowledge: only one person knows how to do something. if they get hit by a bus, what's the team going to do?
unpatched security holes
TODO and XXX
backups? can you restore?
cron jobs to do your dirty work?
relying on non-opensource projects
jerks on the team
jerks in management
no coding standards
not realizing you have technical debt
ignoring your technical debt
think risk. - not having those backups,
not having the security hole patched
cost of paying debt: developer time,
with determing your debt and costs, you are
creating the justification to sell the PHB on your changes.
pay most profitable
don't pick the easiest
don't pick the most fun, either.
think improvement, not perfection.
land one plane at a time.
how do i sell the boss?
*quantify* everything that you need
to, or everything you can (hopefully
not too disparate).
stop incurring new debt
don't write new code that doesn't improve
tests, comments, etc.
understand your cash flow
watch the corners:
t/pod.t and t/pod-coverage.t
sharpen the saw (improve the tools):
the fourth talk I went to didn't do much for me. Dave Rolsky talked on "JSAN, AJAX and Perl". I don't think he really showed how to combine the three technologies through an example, but mostly just mentioned a few modules that comprise JSAN that you can use to AJAXify something with perl. But seriously, he seemed to wade in the shallow end of the pool. Surely, time constraints are a factor, but I believe a small example showing a perl program interacting with what JSAN does would have been much better for me. But then again, I talked with others who thought that it was just the right amount of info for their knowledge base.
the last talk I went to was called "Writing Regular Expressions" and was presented by Abigail. Now I'm pretty well-versed in regexes, but the actual regex engine behind it I'm still somewhat ignorant of. (I have Mastering Regular Expressions by Friedl, but that's about the 4th book down on my ~50 book reading list for this summer). Most of what he talked about was quite basic in writing regular expressions, but he did mention some nuggets concerning how the engine optimized certain constructs, which is what I hoped he would do. Two of the most precious nuggets I discovered were:
After the talks, I went over to Host YAPC BOF, since Raga had mentioned he was planning on attending in order to see what it would take to bring YAPC to San Diego. Well, because of talking with other people, I ended up being 20 minutes late and so only got the tail end of it. Raga wasn't there, but from what I listened to Raga or I might be better off trying to organize a Perl Workshop instead. (Build our way up.)
Dinner time finally rolled around and a large group of us headed to Lou Malnati's (Uri, Allison Randal, Bill Odam, Richard Rice, Jeff Bisbee, Pip, John, Zack, Deven, Kent Cowgill, John (hachi), and others I didn't actually meet). I prefer thin-crust pizza, but their deep-dish was *great*. Jeff Bisbee and I split a medium pizza: my half was olive and pepperoni, his was cheese. If you ever go to Chicago, don't pass that place up. I'm planning on going back there at least one other time this week.
After we got back from dinner, it was around 10ish, and so I headed back to my room. Since then I've checked some e-mail, dabbled a bit more into the crazy world of IRC, and talked with Margret, and talked with my next door neighbor, George, about sorting algorithms, testing client/server interactions, and MVC frameworks. The last hour or so I have actually been about to sit down and write this post. And altho' I'm staying up late again, it's worth it as long as my alarm will actually go off tomorrow.
UPDATE:I forgot to mention the major downside for today: no wireless access! apparently the sysadmin for the IIT network is on vacation, and IIT didn't give the conference enough IPs to go around (only enough for ~1/2 the attendees). It looks like it will all be fixed tomorrow tho'. Woo-hoo!