Archive

programming languages

I Heart Strings

Brad Abrams was a founding member of the .NET common language runtime team way back in 1998. He’s also the co-author of many essential books on .NET, including both volumes of the .NET Framework Standard Library Annotated Reference. I was at a presentation Brad gave to the Triangle .NET

By Jeff Atwood ·
Comments

regex

The Visual Studio IDE and Regular Expressions

The Visual Studio IDE supports searching and replacing with regular expressions, right? Sure it does. It’s right there in grey and black in the find and replace dialog. Just tick the “use Regular expressions” checkbox and we’re off to the races. However, you’re in for an unpleasant

By Jeff Atwood ·
Comments

power conditioning

Power, Surge Protection, PCs, and You

A question recently came up on the internal Vertigo mailing list about surge protection for home equipment and computers: * Do you know if the cheap outlet strips work? I’m not sure if they are a good deal (work as good as more expensive strips) or a waste of money.

By Jeff Atwood ·
Comments

security

Brute Force Key Attacks Are for Dummies

Cory Doctorow recently linked to this fascinating email from Jon Callas, the CTO of PGP corporation. In it, Jon describes the impossibility of brute force attacks on modern cryptography: Modern cryptographic systems are essentially unbreakable, particularly if an adversary is restricted to intercepts. We have argued for, designed, and built

By Jeff Atwood ·
Comments

communication

In Defense of the “Smackdown” Learning Model

I’ve occasionally been told that I have a confrontational style of communication. But that’s not necessarily a bad thing – as Kathy Sierra points out, the smackdown learning model can be surprisingly effective: What happens to your brain when you’re forced to choose between two different – and potentially

By Jeff Atwood ·
Comments

image compression

A Comparison of JPEG Compression Levels and Recompression

Over the years, I’ve standardized on a JPEG compression factor of 15; I find that generally provides the best compromise between image quality and file size for most photographic images. Although I’ve done some ad-hoc testing that pointed to compression factor 15 as the sweet spot before, I’

By Jeff Atwood ·
Comments

software development concepts

How Good an Estimator are You? Part III

For the final installment in the How Good an Estimator Are You series, I’d like to start with an anecdote from chapter 7 of Software Estimation: Demystifying the Black Art : Suppose you’re at a reception for the world’s best software estimators. The room is packed, and you’

By Jeff Atwood ·
Comments

programming concepts

The Monopoly Interview

Reginald Braithwaite’s favorite interview question is an offbeat one: sketch out a software design to referee the game Monopoly.* I think it’s a valid design exercise which neatly skirts the puzzle question trap. But more importantly, it’s fun. Interviews are a terror for the interviewee. And they’

By Jeff Atwood ·
Comments

software development concepts

How Good an Estimator Are You? Part II

Here are the answers to the quiz presented in How Good an Estimator Are You? If you’re concerned that a quiz like this has nothing to do with software development, consider: In software, you aren’t often asked to estimate the volume of the Great Lakes or the surface

By Jeff Atwood ·
Comments

software development concepts

How Good an Estimator Are You?

Chapter 2 of Software Estimation: Demystifying the Black Art opens with a quiz designed to test your estimation abilities. It’s an interesting exercise, so I thought everyone might like to give it a shot. * For each question, fill in the upper and lower bounds so that you have a

By Jeff Atwood ·
Comments

laptop

ASUS W3J Laptop Review

So my much-anticipated Asus W3J laptop arrived a few days ago. To recap, my requirements for a laptop were: * Core Duo * 5 pounds maximum weight * Dedicated video hardware * Removable optical drive Laptops have outsold desktops since 2003, depending on whose data you believe. And today’s laptops are definitely converging

By Jeff Atwood ·
Comments

software development concepts

The Mysterious Cone of Uncertainty

One of the central themes in McConnell’s Software Estimation: Demystifying the Black Art is the ominously named Cone of Uncertainty. The cone defines statistically predictable levels of project estimate uncertainty at each stage of the project. The cone has several ramifications, the most important of which is that early

By Jeff Atwood ·
Comments