I've moved my blog to jmcneil.net. This is no longer being updated!

Thursday, December 17, 2009

PyCon Talks

I've volunteered my time to help with the local aspects of PyCon as my employer is located exactly one full city block from this year's venue.  So far it's been a great experience. Not only have I been able to take part in the planning and contribute when possible, I've learned a considerable amount about what goes into making such a gathering successful.

Hotels, venues, transportation, food,  rooms, electric, schedules, invitations, visas, slogans, marketing, and talks.  Lots of talks.  So many talks in fact that it's difficult to choose a favorite. But I'm going to do it.  Here I go.

I build big web systems for a living. I don't write web applications, I build the systems that host them. This involves a lot of systems engineering work and a lot of automation code. Generally everything from Unix account management and LDAP up through integration with external APIs.  

All of this generates statistics, errors, warnings, and alerts.  Furthermore, each component has it's own special way of presenting that information. Some write to nice log files, some display HTML pages, the list goes on and on.  Since we also integrate with external providers, there's a small collection of SOAP, XML, REST, and proprietary integration points I care about.

So, you've probably figured out by now that I work for a service provider. As such, it's important that we know the state of our systems at all times. There are many subtle levels between "up" and "down."  The problem though is that it's difficult to frame all of the data points we care about in a single and presentable page.

I currently use all kinds of random tools to extract status information. Awk, Python, a random screen scrape. It works, but my gut tells me there's probably a much better way to do it.  This is why (drum roll, please) I'm looking forward to "Dealing with unsightly data in the real world." You know, if you'd like, you can probably learn how to queue up that drumroll programmatically via the "Remixing Music Pythonically" talk.

Now, while my personal favorite here seems to be more geared towards web servers and API integration, it's all the same in my book once it fits into a Python data structure. It will also be nice to hear folks speak about some of the same problems I have to deal with.  Being the only Python developer here, it's nice to hear others chat about this stuff.

Oh, one more thing. I mentioned food earlier. The food is good. Being a block away, I was able to take part in some of the food tasting the hotel setup a few weeks back.  Here's what we have to look forward to:




Not bad, eh? Not bad at all.

FizzBuzz, really?

So in reading  Kenneth Reitz 's blog, I came across the concept of FizzBuzz.  In short, it's a small little interview test that's requires a bit of modulus work.  Do programming candidates honestly have issues with this type of thing? Isn't that akin to a mechanic that can't change a tire?

Admittedly, I have trouble conjuring some of the "Comp Sci Basics" out of the depths of my brain when asked.  How often as techies do we do things like write quick sort implementations or doubly linked-lists from scratch these days?  But modulus math? Really?

This really beats the "why are manholes round?" style question, though.

I haven't interviewed in well over a year and a half.  I don't remember the last time we hired new programmers or engineers, so it's been even longer since I've done an interview.  I've always been impressed by organizations that put you in front of a workstation and step through small projects.  Not only does that quiz your technical aptitude, it runs you through an abbreviated development process.