software development

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

.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

prototyping

The Prototype Pitfall

Tim Weaver, channeling Robert Glass, on the five laws of prototypes: 1. The answer to any prototype / feasibility question is always yes 2. Whatever poor coding practices you use to build your prototype will be replicated in the final production version 3. No matter how poor the performance of the

By Jeff Atwood ·
Comments

regex

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

All right... I 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

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

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

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

.net

Paging Dr. Dotnetsky...

You always notice the names that appear frequently in your code related Google searches. For me, one of those names is Peter Bromberg, PhD, the driving force behind Egghead Cafe. There are some great articles there, but the pick of the litter are the ones by Peter’s alter ego,

By Jeff Atwood ·
Comments

security

On Managed Code Performance

My personal turning point on the importance of managed code was in September 2001, when the NIMDA worm absolutely crushed our organization. It felt like a natural disaster without the “natural” part – the first notable port 80 IIS buffer overrun exploit. We got literally zero work done that day, and

By Jeff Atwood ·
Comments

.net

The One Trillion Dollar Development Pyramid

Kit George is the program manager for the .NET Base Class Library team. Kit recently posted an entry on the BCL blog describing a solution to a customer problem: We recently got asked this question by a customer: “In C#, how do I ensure that a string entered into a

By Jeff Atwood ·
Comments

ownership

You Gotta Own It

One of the frustrations I’ve experienced with offshoring projects is the diminished sense of ownership. We’re still responsible for the software put in front of the end users, and yet we’re not allowed to put our hands on the code. Instead, we draw UML diagrams, we enter

By Jeff Atwood ·
Comments

regular expressions

Gettin’ Greppy Wit It

We’re currently supporting a third party application that, in addition to producing some truly impressive WTFs, generates incredibly verbose log files with zillions of ‘error messages’ that aren’t really errors. This makes diagnosing problems in their server code* very difficult. It is, however, a great use for a

By Jeff Atwood ·
Comments