Jeff Atwood

Indoor enthusiast. Co-founder of Stack Overflow and Discourse. Disclaimer: I have no idea what I'm talking about. Find me:

Bay Area, CA
Jeff Atwood

diversity

Cognitive Diversity

A few months ago there was a little brouhaha about lack of diversity in weblog authors, which caused a few ripples. Julia Lerman asks the same question about software development in a recent interview: I think that the lack of women in visible roles in our community is one of

By Jeff Atwood ·
Comments
Welcome to the Tribe

programming concepts

Welcome to the Tribe

I don’t know why I haven’t found this before, but Robert Read’s* How to be a Programmer (PDF version) is well worth your time: To be a good programmer is difficult and noble. The hardest part of making real a collective vision of a software project is

By Jeff Atwood ·
Comments

.net

New Job at Vertigo Software

I accepted a position at Vertigo Software today. You may know Vertigo from one or more of the following: * Quake II .NET (Managed C++) * IBuySpy (ASP.NET) * .NET Pet Shop (J2EE performance comparison) * Fitch & Mather (Windows DNA) * FotoVision, IssueVision (.NET Smart Client) I’m tremendously excited to join such

By Jeff Atwood ·
Comments

programming languages

Unwanted Modeling Language

If you develop software long enough, you’ll eventually run into Universal Modeling Language. This happened to me last year when we started working with our offshore vendor. UML is a diagramming standard that allows you to model software in a universal way. This could be theoretically be helpful if

By Jeff Atwood ·
Comments

barcode

Barcodes and QR Codes

I recently purchased a USB CueCat from eBay to play around with UPC barcodes, which I found out about from comments posted in a Scott Hanselman blog entry. It’s fun to run around the house scanning in UPCs from household items, although the low-powered LED reader in the CueCat

By Jeff Atwood ·
Comments

c++

Respecting Abstraction

In a recent post, Scott Koon proposes that to be a really good .NET programmer, you also need to be a really good C++ programmer: If you’ve spent all your life working in a GC’ed language, why would you ever need to know how memory management works, let

By Jeff Atwood ·
Comments

user experience

When Writing Code Means You’ve Failed

I was chatting with a fellow developer yesterday, who recently adopted the very cool Busy Box ASP.NET progress indicator that I recommended: We often need to provide a user message informing the user that their request is “processing.” Like the hour-glass mouse pointer lets the Windows user know the

By Jeff Atwood ·
Comments

security

Give me parameterized SQL, or give me death

I have fairly strong feelings when it comes to the stored procedures versus dynamic SQL argument, but one thing is clear: you should never, ever use concatenated SQL strings in your applications. Give me parameterized SQL, or give me death. There are two good reasons you should never do this.

By Jeff Atwood ·
Comments

security

Canonicalization: Not Just for Popes

You may remember the ASP.NET canonicalization vulnerability from last year. And what exactly is canonicalization? From Microsoft’s Design Guidelines for Secure Web Applications: Data in canonical form is in its most standard or simplest form. Canonicalization is the process of converting data to its canonical form. File paths

By Jeff Atwood ·
Comments

operating systems

The Start Menu must be stopped

As I struggle to open applications on my PC, I was reminded of a few entries in Scott Hanselman’s blog: Personally I have enough crap in my start menu to fill my 1400x1060 screen... arguably only 30% of the icons represent applications, the rest are just flotsam. (May 11,

By Jeff Atwood ·
Comments

programming languages

You Can Write FORTRAN in any Language

A recent user-submitted CodeProject article took an interesting perspective on the VB.NET/C# divide by proposing that the culture of Visual Basic is not conducive to professional software development: We’ve seen that the cultures of VB and C# are very different. And we’ve seen that this is

By Jeff Atwood ·
Comments

.net

The bloated world of Managed Code

Mark Russinovich recently posted a blog entry bemoaning the bloated footprint of managed .NET apps compared to their unmanaged equivalents. He starts by comparing a trivial managed implementation of Notepad to the one that ships with Windows: First notice the total CPU time consumed by each process. Remember, all I’

By Jeff Atwood ·
Comments