|
Red Squirrel Reflections
Dave Hoover explores the psychology of software development
|
|
Thu, 12 Jun 2008When I launched the sexy http://polyglotprogrammers.com page, I decided that it would only serve static HTML and JavaScript. I thought it would be an interesting constraint that would help me break out of my server-side tendencies. So I mashed in a Google Calendar and a badge that shows the latest posts from our Google Group. I was happy with how easy this was. And then we launched Polyglot Programmers of Chicago and had our first meeting. Being the lazy organizer that I am, I didn't ask anyone to RSVP and we ended up ordering too much pizza and stocked too much beer. I pondered aloud at a recent Obtiva geekfest about my need for an RSVP system without any server-side dependency and Renzo suggested we use Twitter. Coming off of a couple weeks of obsessive Twitter hacking, I was keen to try it. (The Twitter API is a programmer's playground, add a <canvas> tag, and it's a programmer's amusement park.) So I hacked together our RSVP system in 10 lines of client-side code. First, I provided the link to submit the RSVP: <a target="_blank" href="https://twitter.com/home?status=@polyglots+@ppoc+June+2008">RSVP to this meeting via Twitter</a>Then, I read the RSVP's:
<script type="text/javascript">
function rsvp(json) {
var confirmed = document.getElementById("rsvp")
for (var i = 0; i < json.results.length; i++) {
confirmed.innerHTML += '<img src="' + json.results[i].profile_image_url + '" /> <a href="http://twitter.com/' + json.results[i].from_user + '">' + json.results[i].from_user + "</a><br />"
}
}
</script>
<script type="text/javascript" src="http://summize.com/search.json?&rpp=100&callback=rsvp&q=@polyglots+@ppoc+June+2008"></script>
You'll notice I used Summize, which sits on top of Twitter and provides an excellent service for searching through Tweets in real-time. It's funny, when I code stuff like this I feel like I'm cheating. It's freeing to only need to think about the client-side and let the service providers worry about the rest.
Tue, 10 Jun 2008Portland in July: I will be speaking about Apprenticeships on Open Source at OSCON with Brian Tatnall. Toronto in August: I will be facilitating a game of Ping Pong Programming at Agile 2008 with Andy Maleh. Chicago in September: I will be attending WindyCityRails and will hopefully have an opportunity to talk about the development of Mad Mimi alongside the product's visionary Gary Levitt. Sun, 08 Jun 2008How did you get started in programming? objo called me out, so I'm answering the questions. How old were you when you started programming? How did you get started in programming? What was your first language? What was your first professional programming gig? 9, 13 and 25. When I was in grade school we were introduced to Logo, which was interesting, but since I could only play with it at certain times at school, I didn't get far with it. But it definitely sparked an interest. When I was in junior high we had an Apple IIe. I loved playing games on it, and when I saw the movie Tron, I was convinced that I would one day be a programmer like Flynn. I bought a book on Basic and tried to create some games on the Apple IIe, but mostly just keyed stories into code and had them print to the screen. I gave up when I couldn't create anything compelling. It was 1999 when I was wrapping up my master's degree in child and family therapy and I was fascinated by the internet and the way it was changing the world. My wife and I had just had our first child (who slept in the closet of our one bedroom apartment) and I was looking for ways to supplement my upcoming income. I taught myself enough HTML to secure a side job as a the Teen Advice guide at About.com. Over the next year I was a child and family therapist by day, and a HTML wrangler by night, and I began to realize that I really enjoyed the technical work. I was surprised that I could sit in front of a computer and feel energized. Dreams of Flynn flooded into the back of my mind and I decided to try programming full-time. I was hired by Edventions, a startup in Skokie, IL as a content editor. Over the course of the year I worked there, I taught myself Perl and I worked my way into the programming side of the business. And by late 2000, I had officially taken the red pill. I was completely hooked on programming, specifically Perl. What was the first real program you wrote? Most of my early Perl hacking was fixing bugs in or enhancing other people's CGI scripts. The first real program I wrote from scratch was lovingly called PGAS, the Perl Golf Administration System. Yes, for several months in 2002, I was the main instigator of monthly Perl Golf competitions. This is the first time I've stated that publicly, and I'm not sure how I feel about that.What languages have you used since you started programming?
If you knew then what you know now, would you have started programming? Absolutely If there is one thing you learned along the way that you would tell new developers, what would it be? Find opportunities to Be the Worst. What’s the most fun you’ve ever had ... programming? The first was in 2004 when I worked for ThoughtWorks. I was on a team that included Dave Astels, Obie Fernandez and Aslak Hellesøy. Though the weekly travel to Detroit was excruciating, working with those guys changed my career, and was a ton of fun. The second was in 2007 at Obtiva. Our first full-time Software Studio project was madmimi.com. This project had many ups and downs, but working with the world-class Mad Mimi team and watching Mad Mimi come to life has been another career-altering experience. Who am I calling out? Tue, 03 Jun 2008Polyglot Programming as opposed to Polyglot Programmers I've needed to clarify something about this polyglot meme to people a few times and I thought it would be a good idea to state it publicly. There's really not much to it, but I think it's important. There is a difference between polyglot programming and a polyglot programmer. Ola just wrote another great layers of languages post, and I want to make it clear that he's talking about polyglot programming. I also want to make it clear that I am excited about what he's proposing, and after watching Dean's talk last month, it's also clear to me that this sort of thing is not some hot new trend, it has been going on for decades. But we should understand that polyglot programming could potentially be done by a team of single-language specialists working together to create a multi-language system. A polyglot programmer is someone who could single-handedly create a multi-language system. A polyglot programmer is someone who might choose a single language for an entire system, and they will be more likely than a specialist to pick a language that suits the problem domain. They might program in a single language for a whole year, and then easily set aside that language and pick up a previous one. I believe that polyglot programming is best accomplished with polyglot programmers. I also believe that it's important for more of us programmers to become polyglot programmers, which is why I helped start the polyglot programmers user groups. Like I said, there's not much to this, but I think it's an important distinction to make as the meme continues to spread. |