Jeff Atwood

Indoor enthusiast. Co-founder of Stack Overflow, Discourse, and RGMII. Disclaimer: I have no idea what I'm talking about. Let's be kind to each other. Find me

Bay Area, CA
Jeff Atwood
Are You There, God? It’s Me, Microsoft.

software development concepts

Are You There, God? It’s Me, Microsoft.

Although you eventually outgrow them, any developer worth his or her salt bears the scars of a thousand tiny religious wars. It’s an occupational hazard, as Steve McConnell notes in Thou Shalt Rend Software and Religion Asunder: Religion appears in software development in numerous incarnations– as dogmatic adherence to

By Jeff Atwood ·
Comments
Trees, TreeViews, and UI

ui

Trees, TreeViews, and UI

I somehow doubt this is what Joyce Kilmer was thinking of when he wrote the poem, Trees: I think that I shall never see A poem lovely as a tree. It’s unfortunate that the TreeView is one of the standard widgets in a usability designer’s toolkit, because trees

By Jeff Atwood ·
Comments

regex

If You Like Regular Expressions So Much, Why Don’t You Marry Them?

All right... will! I’m continually amazed how useful regular expressions are in my daily coding. I’m still working on the MhtBuilder refactoring, and I needed a function to convert all URLs in a page of HTML from relative to absolute: <summary> converts all relative url references

By Jeff Atwood ·
Comments

.net

BetaBrite LED Sign API completed

As I mentioned in Automated Continuous Integration and the BetaBrite LED Sign: I’m currently working on some .NET classes that wrap a BetaBrite-specific subset of the Alpha Sign Communications Protocol. This requires serial communication via a 25 or 50 foot RS-232 serial to RJ-12 cable, so

By Jeff Atwood ·
Comments

.net framework

Make Mine XCOPY

Steve “what the heck does furrygoat mean” Makofsky crystallized a lot of my thoughts in his recent rant on software installers. One of the biggest advantages of using the .NET framework is the way it enables XCopy deployments for the first time.* Installing a program by copying it to a

By Jeff Atwood ·
Comments

internet explorer

Because IE6 is the new Netscape 4.7x

As I read through all the articles spawned by the IE7 announcement (press release), I finally realized something: IE6 is the new Netscape 4.7x. It’s like we woke up one day, and IE6 had transformed overnight into the browser that we all wish would go away. The one

By Jeff Atwood ·
Comments

security

Captchas Compared and Critiqued

An eagle-eyed CodeProject reader posted a comment to my ASP.NET CAPTCHA Server Control article pointing out one French developer’s very thorough attempts to defeat common CAPTCHA techniques. He compares lots of visual CAPTCHAs side by side and comments on their strengths and weaknesses. Some of the “best”

By Jeff Atwood ·
Comments
A Developer’s Second Most Important Asset

ergonomics

A Developer’s Second Most Important Asset

As software developers, we worry a lot about improving and protecting our most important asset – our brains. But what about our second most important asset – our rear ends? As much time as we spend seated in front of a computer, it pays to think about investing in quality seating. I’

By Jeff Atwood ·
Comments

programming languages

Developers Are Users Too

I’m currently whipping up a mini-API for the BetaBrite-specific subset of the Alpha Sign Communications Protocol. Naturally, I want it to be easy to use and understandable for other developers – a classic usability problem. How do you approach usability when your audience is other developers? The answer

By Jeff Atwood ·
Comments
Automated Continuous Integration and the BetaBrite LED Sign

java

Automated Continuous Integration and the BetaBrite LED Sign

In the spirit of Java Lava Lamp build monitoring: A few months ago, on April 1 2004 to be precise, I posted an article on eXtreme Feedback. The article was on a relatively serious subject: “How do you get your team to pay attention to the software/project status and

By Jeff Atwood ·
Comments
Get Me The Laziest People Money Can Buy

productivity

Get Me The Laziest People Money Can Buy

Omar Shahine recently posted an inspiring ode to laziness: An email every few minutes and desktop alert + sound to go with it makes it to easy to lose focus on my task at hand and look at my inbox. While I loved this feature when Outlook came out, it’s

By Jeff Atwood ·
Comments

c#

Logging TraceListener Improved

I made a few improvements to the Logging TraceListener: * Files can now be aged by date as well as size * Filename is now completely templated using a single FileNameTemplate property, which supports standard String.Format codes for file number and date * Added separate properties to specify units of scale for

By Jeff Atwood ·
Comments