software development practices

markup languages

Colorization Required

Black and white works fine when I'm reading newspapers. But when I'm reading computer languages of any kind-- from Perl to SQL, from C# to Regular Expressions, from HTML to XML -- I can't bear to read them in black and white any more.

By Jeff Atwood ·
Comments

security

Keeping Private Keys Private

After I posted the CodeProject article .NET Encryption Simplified, a reader asked this question in the comments: I would like to know what your thoughts are on private key storage in applications. I believe the recommended practice is to use the DPAPI, but I have found this to be too

By Jeff Atwood ·
Comments

user experience

Presentation Magnification

Here at VSLive! 2006 San Francisco, I've been sitting through a lot of presentations. Unfortunately, I've spent a disproportionate amount of that time staring at tiny, unreadable 12 and 10 point IDE text. Presenters, please don't do this to your audiences. If you can&

By Jeff Atwood ·
Comments

code refactoring

Flattening Arrow Code

I often encounter code like this: if (rowCount > rowIdx) { if (drc[rowIdx].Table.Columns.Contains("avalId")) { do { if (Attributes[attrVal.AttributeClassId] == null) { // do stuff } else { if (!(Attributes[attrVal.AttributeClassId] is ArrayList)) { // do stuff } else { if (!isChecking) {

By Jeff Atwood ·
Comments

programming concepts

It looks like you're writing a for loop!

Even the best programmers make shitty software, with bugs. But some programmers are naturally proficient at creating this special kind of software, as illustrated by a Croatian developer known as Stinky: The anecdote that best reveals how little Stinky knew about programming started when he asked Bojan to help him

By Jeff Atwood ·
Comments

programming languages

Keyboard Shortcut Summary Macro

I finally had time to improve my Visual Studio .NET keyboard shortcut summary macro. Instead of writing HTML to the console*, it now creates a HTML file in your user documents folder, and navigates the IDE to the created file: Download the Keyboard Shortcut Summary Macro (2kb ZIP) The advantage

By Jeff Atwood ·
Comments

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

software development practices

Managing with Trust

Marco Dorantes recently linked to a great article by Watts Humphrey, who worked on IBM’s OS/360 project: Why Big Software Projects Fail. Watts opens with an analysis of software project completion data from 2001: Figure 2 shows another cut of the Standish data by project size. When looked

By Jeff Atwood ·
Comments

security

Beating CAPTCHAs with .NET code

I stumbled across an interesting article outlining how to beat the MSDN visual CAPTCHA algorithm with some .NET code. Unfortunately, the author (a Microsoft MVP) demonstrated his “crack” by testing it on the blogs of other MVPs: (if you were one of the 94 people i comment spammed) sorry about

By Jeff Atwood ·
Comments

refactoring

Programming for Luddites

There was much handwringing last week when Somasegar announced what we already knew: VB.NET 2005 will not have refactoring. This resulted in a few emotional outbursts: We don’t need toys like [the] MY [namespace], we need working tool like Refactoring!! How can Microsoft refuse us those magical software

By Jeff Atwood ·
Comments

j2ee

Rebuttal Rebuttal

You may remember TMC’s recent comparison of J2EE and .NET. Predictably, there was an IBM rebuttal to the study. Now there’s a Microsoft rebuttal to the rebuttal, which contains comments from both Microsoft and IBM. It’s interesting reading: IBM: The Middleware Company’s WebSphere J2EE programmers failed

By Jeff Atwood ·
Comments

.net

I want my WSH.NET!

Speaking of ghetto languages, when exactly is the Windows Script Host going to be updated with a modern language – like, say, .NET? I want my WSH.NET! I still use WSH to write quick and dirty command line utilities that don’t justify a full blown .NET console executable. Like

By Jeff Atwood ·
Comments