programming

programming

Coding: It's Just Writing

In The Programming Aphorisms of Strunk and White, James Devlin does a typically excellent job of examining something I've been noticing myself over the last five years: The unexpected relationship between writing code and writing. There is perhaps no greater single reference on the topic of writing than

By Jeff Atwood ·
Comments

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

By Jeff Atwood ·
Comments

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

By Jeff Atwood ·
Comments

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

By Jeff Atwood ·
Comments

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

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 [http://www.amazon.com/dp/0470229055/?tag=codihorr-20]. [http://www.amazon.com/dp/0470229055/?tag=codihorr-20] One

By Jeff Atwood ·
Comments

markov chains

Markov and You

In Finally, a Definition of Programming I Can Actually Understand I marvelled 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

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

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

By Jeff Atwood ·
Comments

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

By Jeff Atwood ·
Comments

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

By Jeff Atwood ·
Comments

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

By Jeff Atwood ·
Comments