Follow us on Instagram
Try our daily mini crossword
Play our latest news quiz
Download our new app on iOS/Android!

Hack Princeton

Wikipedia defines a hacker as someone who “uses his skill with computers to try to gain unauthorized access to computer files or networks,” and most people think of hackers as evil, the ubiquitous bad guys who threaten our privacy and security on the web, and online activist groups like Anonymous that attack government and corporate web sites. But originally the connotations were positive.  “Hacker” as a computer word comes from 1976 and probably originated from the local jargon for the amazing pranks that MIT undergrads pulled off.  In this view, a hacker is a compulsive programmer, someone who programs as an end in itself, just for the fun of it.  

The positive meaning also appears in “hackathon,” a portmanteau so new that it hasn't yet found its way into the OED.  A hackathon is a competition where individuals or small teams create new computer systems in a 24- or 48-hour marathon. Some students gave me a neat T-shirt a couple of weeks ago to advertise Hack Princeton, which was held at the end of March. The event was a great success, drawing well over 100 participants from 18 different universities.

ADVERTISEMENT

What’s the appeal? Nearly 40 years ago, Fred Brooks wrote a classic computer science book called “The Mythical Man-Month” (after the fallacy that adding more people to a software project will help complete it faster). One of the most eloquent parts is the explanation of “the joys of the craft,” some of which is excerpted here.

“Why is programming fun? What delights may its practitioner expect as his reward?

First is the sheer joy of making things. Second is the pleasure of making things that are useful to other people. Deep within, we want others to use our work and to find it helpful.  […] Finally, there is the delight of working in such a tractable medium. The programmer, like the poet, works only slightly removed from pure thought-stuff. He builds his castles in the air, from air, creating by exertion of the imagination. Few media of creation are so flexible, so easy to polish and rework, so readily capable of realizing grand conceptual structures. Yet the program construct, unlike the poet's words, is real in the sense that it moves and works, producing visible outputs separately from the construct itself. It prints results, draws pictures, produces sounds, moves arms. The magic of myth and legend has come true in our time. One types the correct incantation on a keyboard, and a display screen comes to life, showing things that never were nor could be.”

There’s one more potential joy that wasn’t an option when Brooks wrote in 1975: a slim but real chance for fame and fortune if one’s creation becomes popular. To computing old-timers like me, it's still pretty remarkable that a handful of students can build a significant piece of software over a weekend, something that might conceivably form the basis of a viable business. But there are powerful and expressive programming languages, lots of libraries of open source code available for the downloading and free tools that help quickly cobble it all together into a working system. Getting a prototype off the ground isn't as tough as it was 10 or 20 years ago. Furthermore, if the idea is good and the system proves popular, it's trivial to scale up to any number of users. Cloud services like Amazon Web Services that provide computing and storage via the Internet support everything from tiny student projects up to, well, Amazon, and the price to get started is hard to beat — it's free.

So a hackathon is a fun way to explore an idea and build a prototype in a friendly competitive environment, and perhaps get some recognition and reward if things go well. Group projects in courses offer a chance to create systems larger than a weekend hack but smaller than a startup. In COS 333, for example, students spend 10 weeks working in small groups on projects of their own devising. The projects are almost always very impressive, and often they are remarkably sophisticated.  Some have real staying power as well, since they hit on the right combination of features and implementation. ICE, The Integrated Course Engine, is perhaps the most successful of the lot — everyone uses it — but there are four or five other TigerApps that originated in the class.

Come to a hackathon sometime, or drop in on the COS 333 project demos during reading period. You’ll certainly see some great work, and who knows — you might even spot the next Facebook or Angry Birds or ICE before everyone else does.

ADVERTISEMENT

Brian Kernighan GS ’69 is a computer science professor and a Forbes faculty adviser. He can be reached at bwk@cs.princeton.edu.

Subscribe
Get the best of the ‘Prince’ delivered straight to your inbox. Subscribe now »