programming

The One Thing Every Software Engineer Should Know

marketing

The One Thing Every Software Engineer Should Know

I’m a huge Steve Yegge fan, so It was a great honor to have Steve Yegge on a recent Stack Overflow podcast. One thing I couldn’t have predicted, however, was one particular theme of Steve’s experience at Google and Amazon that kept coming up time and time

By Jeff Atwood ·
Comments
Stack Overflow: None of Us is as Dumb as All of Us

community

Stack Overflow: None of Us is as Dumb as All of Us

I’m in no way trying to conflate this with the meaning of my last blog post, but after a six month gestation, we just gave birth to a public website. Of course, I’m making a sly little joke here about community, but I really believe in this stuff.

By Jeff Atwood ·
Comments
Music to (Not) Code By

music

Music to (Not) Code By

Occasionally people will ask me what kind of music I like to code by. I’m not sure I am the right person to ask this question of. Allow me to explain by citing my 2001 Amazon review of a particular album. It all started so innocently. I purchased this

By Jeff Atwood ·
Comments
Quantity Always Trumps Quality

software development

Quantity Always Trumps Quality

Nathan Bowers pointed me to this five year old Cool Tools entry on the book Art & Fear. Although I am not at all ready to call software development “art” – perhaps “craft” would be more appropriate, or “engineering” if you’re feeling generous – the parallels between some of the advice

By Jeff Atwood ·
Comments
Alan Turing, the Father of Computer Science

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
Markov and You

markov chains

Markov and You

In Finally, a Definition of Programming I Can Actually Understand I marveled at particularly strange and wonderful comment left on this blog. Some commenters wondered if that comment was generated through Markov chains. I considered that, but I had a hard time imagining a text corpus input that could possibly

By Jeff Atwood ·
Comments
Introducing Stackoverflow.com

software development

Introducing Stackoverflow.com

A little over a month ago, I announced that I was quitting my job. But there was also something else I didn’t fully announce. But I refuse to become a full-time blogger. I think that’s a cop-out. If I look at the people I respect most in the

By Jeff Atwood ·
Comments

software development

No Matter What They Tell You, It’s a People Problem

Bruce Eckel deftly identifies the root cause of all software development problems: We are in a young business. Primitive, really – we don’t know much about what works, and we keep thinking we’ve found the silver bullet that solves all problems. As a result, we go through these multi-year

By Jeff Atwood ·
Comments
Shuffling

arrays

Shuffling

Pop quiz, hotshot. How would you write code to shuffle a deck of cards? I was thinking about this after reading Mike’s card-shuffling algorithm woes: Here’s where the non-CS mind comes into play. My first thought was to generate an unshuffled deck as an array-like structure — all cards

By Jeff Atwood ·
Comments
Geek Diet and Exercise Programs

fitness

Geek Diet and Exercise Programs

Software developers aren’t typically known for their superior levels of physical fitness. I’m not overweight, exactly, but I don’t think I’ll be pursuing that dream career in male modelling anytime soon. I charitably call myself an indoor enthusiast. At the risk of generalizing – yes, I know

By Jeff Atwood ·
Comments
Revisiting Programming Fonts

fonts

Revisiting Programming Fonts

I’ve experimented with programming fonts and IDE color schemes plenty in the past. But now that I’ve given in to the inevitability of ClearType on large LCDs, I’ve basically settled on Consolas. It’s hard to beat Consolas. It’s darn close to the ultimate monospace programming

By Jeff Atwood ·
Comments
Lessons from Garry’s Mod

lua

Lessons from Garry’s Mod

Garry’s Mod is a fascinating study in guerilla programming. It’s an incredibly successful mod for the game Half-Life 2 that essentially converts it into a giant sandbox powered by Lua. There are a large number of Lua scripted 3rd party modifications for Garry’s mod. In a server

By Jeff Atwood ·
Comments