Archive for February, 2007

Programmers who can’t program

Wednesday, February 28th, 2007

Jeff Atwood at Coding Horror asks Why Can’t Programmers Program? and passes along what is considered to be an absolute minimum test for programming competency:

Write a program that prints the numbers from 1 to 100. But for multiples of three print “Fizz” instead of the number and for the multiples of five print “Buzz”. For numbers which are multiples of both three and five print “FizzBuzz”.

I’m happy to say I was able to write a working solution in Python in less than four minutes. I’m absolutely shocked that someone would apply for a programming job without being able to do the same in a similar amount of time.

I mean, I’m certainly no professional programmer and I only mess with Python as a hobby… but even I could do write code for FizzBuzz.

Read Jeff’s whole post and check out the other articles he links. Amazing.

Update: For those who asked, here’s my solution:

#!/usr/bin/env python for number in range(1,101): if (number % 3) == 0 and (number % 5) == 0: print "FizzBuzz" elif (number % 3) == 0: print "Fizz" elif (number % 5) == 0: print "Buzz" else: print number

ChiPyCon 2008 bid details

Wednesday, February 28th, 2007

As you know, PyCon 2008 will be held in Chicago and the good folks of ChiPy were responsible for putting together a bid and making that happen. As it happens, they have the entire bid online:

The Chicago Python Users Group (ChiPy) is excited to present our bid for PyCon 2008. Chicago, as a metro area, needs little introduction. It is a world-class city, well known for its architecture, sites, sounds and culture. Proud of our reputation as “the city that works”, we feel that Chicago’s rich heritage makes it a fantastic place to host a conference for Python, the language that works.

If you are curious about some preliminary details for next year’s conference, it is definitely worth checking out.

PyCon 2007 roundup

Wednesday, February 28th, 2007

PyCon 2007 ran from February 23-25, 2007 in Addison, Texas. My career doesn’t lend itself to attending Python conferences, and although it didn’t seem like it was worth taking vacation time and paying for plane tickets… much like last year, I think it would have been a really interesting conference to attend.

I couldn’t be there in person, but quite a few of the 593 attendees were quick to post their thoughts, comments, reviews, and recaps of the event on the web. Also, there are a ton of PyCon 2007 photos posted at Flickr.

Some of items that seem to stand out:

  • The overall structure of the conference (i.e. the balance of talks) seemed to be just about right this year. You can’t please all the people all of the time, but it sounds like this was as close as you can get.
  • The OLPC keynote was a huge success. Everyone seemed to love it.
  • The explosion of Python web frameworks is really producing some great results, and it sounds like the related panel discussion was good. I would expect to see some shake-out related the frameworks in the coming year, with some of the more popular ones pushing the smaller projects to the sidelines.
  • PyCon 2008 will be in Chicago.

So for those of you who (like me) couldn’t be there in person, here’s a roundup of the various PyCon reports from across the web…

(more…)

CheeseRater

Wednesday, February 28th, 2007

Heh. Jacob Kaplan-Moss’ new CheeseRater site lets you rate Python packages as either fresh or moldy. It’s sort of like HotorNot for Python!

Right now Django and BeautifulSoup are rated the highest.

As a side note, apparently both CheeseRater and Django Snippets were announced by Jeff Croft on Sunday. Source code for both sites is available.

Django Snippets

Wednesday, February 28th, 2007

Django Snippets is “a site for users of the Django web framework to come together and share useful snippets of reusable code.”

It was down the other day, but it is back up and running… and it’s quite cool. Not a lot of snippets in the database at this point, but I’m sure that will change. It’s quite popular in the #django channel.

Dabo on the desktop

Wednesday, February 28th, 2007

I’ve been hearing good things about the Dabo Desktop Application Framework. Here’s the description from the Dabo website:

…It’s not YAWF (yet another web framework). There are plenty of excellent web frameworks out there, so if that’s what you are looking for, Dabo isn’t for you. But there are almost no desktop application frameworks out there, and if you want to create applications that run on Windows, OS X or Linux, Dabo is for you!

Other than a little PyGame stuff last year, I’ve never really done any desktop/wxPython coding. Perhaps I should try it.

Game Night

Sunday, February 25th, 2007

Last night Sean hosted a Game Night to wish a fond farewell to Brad before he heads off to start a new job in Georgia. As it turns out, it turned into one of the largest Game Nights in quite a while, with about 10 people in attendance. Very cool.

Of course, CS:S was the game of the night, but there was time for a little HL2:DM and PVK2 as well. And Matt and I even found a little time to get some Guild Wars in…

Guild Wars 14

Got home at around 4:30 AM this morning. Rock!

Leveling up

Wednesday, February 21st, 2007

Quite the gaming night tonight! Started with some CS:S around 9PM, and then switched to Guild Wars with Matt around 10:30PM.

I’m happy to report that Zophar is now Level 4…

GW11

w00t!

A Python alarm clock

Tuesday, February 20th, 2007

Heh.

Full-stack vs. glue vs. coupling

Tuesday, February 20th, 2007

Yesterday I mentioned James Bennett’s discussion of the two camps of Python framework design. Ian Bicking has responded to James and seems to disagree.

Quoth Ian in his Full Stack vs. Glue post:

In a recent post on Framework design James Bennett describes as a fundamental dichotomy in framework design
“full-stack” vs. “glue”. In this case, Django (which James works on) as a full-stack framework, and TurboGears and Pylons as glue frameworks. This is not a good way to describe the differences.

He then discusses “awkward glue and easy glue”, the “intent” of the pieces, and “coupled” versus “decoupled” frameworks. Read the whole thing.

I have to admit that I tend to agree more with James on this one.

Sure you can get all nuanced and discuss the subtle differences in terms for each program design element… but when it comes down to it, the glue vs. full-stack gets the point across. For better or worse, some frameworks glue together existing parts (e.g. TurboGears and Pylons), and some write the whole thing from the ground up as a full-stack (e.g. Django).

There is nothing inherently wrong with either approach. And if you ask me, having two competing ideas is a Good Thing. I’d expect the invisible hand to deliver us even better frameworks in the future. So does the nomenclature really matter?