Archive

ergonomic chairs

Investing in a Quality Programming Chair

In A Developer’s Second Most Important Asset, I described how buying a quality chair may be one of the smartest investments you can make as a software developer. In fact, after browsing chairs for the last few years of my career, I’ve come to one conclusion: you can’

By Jeff Atwood ·
Comments

open source

Why Can’t Microsoft Ship Open Source Software?

In Codeplex wastes six months reinventing wheels, Ryan Davis has a bone to pick with Microsoft: I saw an announcement [in March, 2007] that CodePlex, Microsoft’s version of Sourceforge, has released a source control client. This infuriates me. This cool thing they spent six months (six!) writing is called

By Jeff Atwood ·
Comments

computer science

Alan Turing, the Father of Computer Science

Charles Petzold was kind enough to send me a copy of his new book, The Annotated Turing: A Guided Tour Through Alan Turing’s Historic Paper on Computability and the Turing Machine. One look at the original title page of Turing’s paper is enough to convince me that we’

By Jeff Atwood ·
Comments

security

Open Wireless and the Illusion of Security

Bruce Schneier is something of a legend in the computer security community. He’s the author of the classic, oft-cited 1994 book Applied Cryptography, as well as several well-known cryptography algorithms. The cheeky Norris-esque design above is a reference to the actor names commonly used in examples of shared secret

By Jeff Atwood ·
Comments

regular expressions

Regular Expressions: Now You Have Two Problems

I love regular expressions. No, I’m not sure you understand: I really love regular expressions. You may find it a little odd that a hack who grew up using a language with the ain’t keyword would fall so head over heels in love with something as obtuse and

By Jeff Atwood ·
Comments

web development

Smart Enough Not To Build This Website

I may not be smart enough to join Mensa, but I am smart enough not to build websites like the American Mensa website. Do you see the mistake? If so, can you explain why this is a mistake, and why you’d desperately want to avoid visiting websites that make

By Jeff Atwood ·
Comments

xml

Revisiting the XML Angle Bracket Tax

Occasionally I’ll write about things that I find sort of mildly, vaguely thought provoking, and somehow that writing turns out to be ragingly controversial once posted here. Case in point, XML: The Angle Bracket Tax. I’m still encountering people online who almost literally hate my guts because I

By Jeff Atwood ·
Comments

programming practice

The Ultimate Code Kata

As I was paging through Steve Yegge’s voluminous body of work recently, I was struck by a 2005 entry on practicing programming: Contrary to what you might believe, merely doing your job every day doesn’t qualify as real practice. Going to meetings isn’t practicing your people skills,

By Jeff Atwood ·
Comments

c#

Department of Declaration Redundancy Department

I sometimes (often, actually) regress a few years mentally and forget to take advantage of new features afforded by the tools I’m using. In this case, we’re using the latest and greatest version of C#, which offers implicitly typed local variables. While working on Stack Overflow, I was

By Jeff Atwood ·
Comments

software development practices

Coding For Violent Psychopaths

Today’s rumination is not for the weak of heart. It’s from the venerable C2 Wiki page Code For The Maintainer: Always code as if the person who ends up maintaining your code is a violent psychopath who knows where you live. Perhaps a little over the top, but

By Jeff Atwood ·
Comments

physics

Physics Based Games

I’ve always been fascinated by physics-based gameplay. Even going back to the primeval days of classic arcade gaming, I found vector-based games, with their vastly simplified 2D approximations of physics and motion, more compelling than their raster brethren. I’m thinking of games like Asteroids, Battlezone, and Lunar Lander.

By Jeff Atwood ·
Comments

code review

Don’t Go Dark

Ben Collins-Sussman on programmer insecurity: What do you do when somebody shows up to an open source project with a gigantic new feature that took months to write? Who has the time to review thousands of lines of code? What if there was a bad design decision made early in

By Jeff Atwood ·
Comments