Foster Care

Today I contributed to Scott Walters’ Kickstarter project.  You may have read Scott’s own blog posts on the topic.  Executive precis: for $10,000, Scott will complete work on the latest version of WebGUI, a world-class CMS written in Perl.

I’ll freely admit that I didn’t contribute that much, mainly on account of me not being rich.  As I’m fond of pointing out here, I’m just a regular Joe working-class programmer.  But, at the same time, Perl has been very good to me throughout the years, and I’m not averse to giving a little back when I can.  And, as it happens, right now I can.

Now, I know that many of you readers out there have a healthy skepticism when you think you’re being sold something.  Trust me: I do as well.  Now, I personally think it would be a fairly uncharitable characterization to view scrottie’s proposed project, as an attempt to get us viewers to pay his bills for him while he contributes to an open-source project, which is something that many of us already do for free ... but I’m sure some out there have already characterized it thus.  As is their right.  I personally think there’s more going on here, and, while I won’t be able to change the minds of the most cynical among you, I’m going to try anyway.  I’m a glutton for punishment like that.

Remnants of a Deeper YAPC

This year I attended my third YAPC.  As always, here are my thoughts.

General bits and bobs: I thought the venue was pretty decent.  It’s definitely the best hotel showers I’ve ever had: excellent water pressure and never even a hint of running out of hot water.  Perhaps they have on-demand heaters.  I could have used more open plugs in the room, but that’s a minor complaint.  The wifi was pretty awful, as usual—one person even did a lightning announcement suggesting we complain about it.  I didn’t see the point, personally.  Several hundred geeks, most with multiple devices, plus several dozen spouses, partners, and children,1 all descending on a single location for four days ... hell, that could break anybody’s router.  And I don’t think it’s particularly reasonable to ask a place that can comfortably house all those people to maintain a super-network year-round that will only really get used once a year.  Just point your laptop at your cell phone instead and move on with life, I say.

As always, I met several new folks this year.  A special shout-out to Kevin, Alan, and uncanny_kate, who shared former employers with me and were willing to commiserate.2  I also had a great conversation with scrottie, a game of Munchkin with two German fellows named Thomas and Alex, and got introduced to Ann.3  And I got to see plenty of other folks that I’d had fun hanging out with at previous YAPC’s, including the Slashdot guys (2/3 of whom I also share former employers with), and spq_easy, who I helped interview once at a former employer.  Socially, it was a ball, despite the fact that many of us geeks (myself included) can be painfully shy in many social situations.

Talk-wise, there were good and bad sides.  On the bad side, I missed some of my favorite speakers, like Piers Cawley, Ingy, schwern, and chromatic.  On the other hand, I got to see mst speak twice, which is always entertaining, and Sawyer X twice, who is rapidly becoming one of my new favorite speakers.  If I had to pick one talk as the absolute best of the conference, Sawyer X’s “The Joy in What We Do” wins it, hands down.  If you choose only one YAPC video to watch because you couldn’t make it this year (and you’re silly enough to listen to my advice), choose this one.  It was the best keynote of the conference.

When a failure is not a failure

[What I really should have done here is something like Tom Wyant or Joel Berger.  Being a literary type, that appeals to me.  Of course, with Dupin and Holmes taken, who would I pay homage to? Nero Wolfe, perhaps? Batman? Michael Westen? Harry Dresden?

Anyways, maybe next time, if I have more time to prepare.  For now, you’ll have to settle for plain ol’ me.]

At $work, I’m the guy who maintains the tool we use for branching, merging, pushing ... release management, I suppose you’d say.  I don’t actually do the pushes most of the time, but I’m usually the guy who takes the tickets when there’s something wrong with the process.

At the end of the push, we build a new AMI.  That’s Amazon-speak for a master virt which we can clone to bring up new production machines quickly.  By making a new one after every push, any new instances we bring up will automatically have the latest code on them.  Recently, my coworker doing the push reported that the AMI build failed.  Well, he clarified: it says it failed, although it actually looked like it succeeded.  Probably a transient error, I assured him (with fingers crossed).  But, no such luck: the next week, the same thing happened.  This time my coworker figured out what underlying command the release management script was running and ran it by hand.  Yep, it definitely succeeds, he reported.  It just says it failed.

Perl and Me, Part 13: Here's To Future Days

This is part 13 (and the final installment) of an ongoing series where I explore my relationship with Perl.  You may wish to begin at the beginning.

This week we look at what comes next.

I suppose at the end of any long rumination on the past, it’s only natural to think about the future.  I’ve tended to avoid pontificating on Perl’s prospects for a number of reasons, not the least of which is that I don’t have any special knowledge to share.  I’m not an author of Perl books, a contributor to the Perl core, or even a particularly prolific creator or maintainer of CPAN modules.1  I don’t have any inside knowledge of Perl from hanging out with Larry, or the folks that run the Perl Foundation, or the current Pumpking (nor any past ones, for that matter).  I’m just a regular Joe JAPH—admittedly one who has made his living off Perl for 17 years, well enough to support a nice house in southern California and a complement of five humans, three cats, one guinea pig, and a tank full of tropical fish, snails, and shrimp—but just a working schmoe nonetheless, whose opinion isn’t any better or smarter or wiser or more likely to be true than yours.  So, you should definitely not listen to me.

Perl and Me, Part 12: The End of the Beginning

This is part 12 of an ongoing series where I explore my relationship with Perl.  You may wish to begin at the beginning.

This week we look at how to start putting it all together.

Last week I talked about the trade-offs of DWIM, and wondered if it might be time to try to make sense of all the various parts and perspectives.  Thus, this is the end of the beginning.1  This is the convergence of all my reminiscences.

Within the past year, I started a new job, again.  This is something that many of us programmers do on a semi-regular basis.2  When you first start a new job, you spend a few days or a few weeks or a few months figuring out what’s going on.  Part of this is learning new concepts, new vocabulary: even if you’re working in an industry you’ve worked in before, every company accretes its own terminology over time, words and ideas that only make sense to the people who work there.  But a big part of it is learning the codebase.  This may have been growing for years—sometimes a decade or more—and it may have been touched by dozens of hands, but still there will be patterns, consistency even in the inconsistencies.  Once you’ve been working there a while, you will know this codebase in a fundamental and almost inexplicable way—there will still be plenty of code in it that you’ve never seen before, but, when you finally do see it, it’ll feel familiar.  Codebases build up character.  It’s not always a good character, but you learn to recognize it, and live with it, and even feel fond of it, in a weird sort of love-hate way.