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! failing tests ugly code (no appreciation of what the code does) code without comments outdated 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 missing infrastucture RT? svn? 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 code ownership not realizing you have technical debt ignoring your technical debt determine costs think time. think dollars. think risk. - not having those backups, not having the security hole patched cost of paying debt: developer time, dollars, etc. opportunity cost with determing your debt and costs, you are creating the justification to sell the PHB on your changes. pay most profitable pick *one*. don't pick the easiest don't pick the most fun, either. think improvement, not perfection. *JFDI* 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: fluff t/pod.t and t/pod-coverage.t automated tests vigorous policing sharpen the saw (improve the tools): App::Fluff Perl::Critic
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!
My slides are always, if anywhere, at http://petdance.com/perl/. The tech debt slides are there.
Re:My slides
petdance on 2006-06-30T00:14:02
And thanks for coming by, and I'm glad you enjoyed it!Re:My slides
david.romano on 2006-07-03T21:42:09
I really like what you just said there: "Slides are bookmarks, not content". Also, thanks for the slides url Andy. Looking at some of the other titles makes me want to read 'em
:-) Re:My slides
petdance on 2006-07-03T21:49:45
If you ever get a chance to see Damian or MJD talk about how to give presentations, do so.That's where I get most of my stuff from.