Recent Feature Articles

Mar 2007

The Document Management Ambassador

by in Feature Articles on

Document management is tricky. Personally, I'm anal about keeping documents organized in the most intuitive way I possibly can. In practice, though, that means I spend hours wringing my hands and ultimately wind up saving documents wherever I feel like saving them.

I'm only in charge of documents for one person, though: me. Dave's coworker, who we'll call Alessa, was responsible for document control throughout their company. With the best of intentions, she set out to build the best document management system ever.


Saving a Few Minutes

by in Feature Articles on

As we learned last week, G.R.G. has had a whole lot of experience in the IT industry. He’s even had the opportunity to work on a bona fide supercomputer. In fact, that’s where he got his start: he was one of twenty-five programmers that worked on one of the world’s most powerful computing machines. This supercomputer was capable of processing – brace yourselves, readers – several million instructions per second. Each and every second.

Of course, that kind of power did not come cheap. Not only did the supercomputer cost several million dollars, it required a round-the-clock staff of dozens to maintain and consumed enough electricity to power a small neighborhood. You might very well be wondering, what could anyone possibly need such incredible computing power for? The answer is simple: it was partitioned off and resold for $2 per CPU second. Or in today’s dollars, $10/second.


That's Not Totally What I Meant

by in Feature Articles on

Ahh, to be young and in IT. In my younger days I was full of big dreams of being like the tech guys in action movies. You know, opening a socket to download a protocol so I can run a core dump on the secret agent's wristwatch.

As a "trainee programmer," Robert B. was enduring the typical crushing of his dreams that most of us went through early in our careers. He was responsible for technical tasks such as making tea and coffee, picking up sandwiches, ordering printer cables, and sending software update disks to customers. Robert was working at a successful company in the UK that built software for managing vehicle fleets. Customers ranged from leasing companies with thousands of vehicles to tracking lawnmowers at Clem's Lawnmower Rentporium.


Sprite Threading

by in Feature Articles on

Sometime near the end of the previous millennium, Neinhalt Sieger accepted a programming at a small software company that built Java-based games. Although today we realize that Java wasn't quite the ideal platform for videogames, back in the 90's it was all the rage. If your game wasn't made in Java, it might as well have been with made out of wood and rolled with a stick.

Neinhalt was brought on specifically to work on a game called "Machine Man." The game's concept was completely original and nothing short of revolutionary: the player controlled a hero with a gigantic mouth that was trapped in surreal maze inhabited by four rather non-friendly ethereal types. The goal was to consume a vast amount of small, dot-like pills (the larger ones which made the hero able to consume the enemies as well) while avoiding the ghost-like ... err, ghosts. The only problem with Machine Man was the computers that wanted to run it. They were far to slow, leading to low frame rates, poor input responses, and skipping sound. And Bob, the lead developer of Machine Man, was no longer around to fix it.


Guest Article: Our Dirty Little Secret

by in Feature Articles on

Hi, I'm Jeff Atwood from Coding Horror.

Alex offered me the opportunity to write an article for The Daily WTF while he was away on vacation a few months ago. Unfortunately, the scheduling never quite worked out, and the tone of the resulting article was different enough from The Daily WTF format that it never quite fit in. But now that the site has been relaunched, it’s a perfect time to revisit the question that has nagged at me ever since I wrote the original article. What are we all doing here?


Fixing It Would Break It

by in Feature Articles on

Upgrading database server software is scary. I worked at an organization that spent just shy of a year upgrading Oracle 9i to Oracle 10g. But that's Oracle, and we don't like Oracle 'round these parts.

Micro$oft $QL $erver (ha, take that, Micro$oft!) i$ al$o a $cary upgrade. Updating it, on the other hand, is pretty simple. I've installed service pack updates, and they've just worked. I don't mean to imply that this is trivial for a large organization, but for a small-to-mid-size organization like the shop that C. D. works at, it shouldn't be a big deal.


Emulating the 8080

by in Feature Articles on

Our good friend G.R.G. has shared some fun stories from his decades of working in the industry. Insecurity Doors, Mystery of the High Test Scores, and Twelve on a Line are among my favorites. Today, G.R.G. takes us back with a neat anecdote from the goold ol' days of the 8080 ...

Not too long ago, there was mainly just one operating system for 8080-based microcomputers: CP/M. It didn’t totally suck -- it could store files, load code into memory, run code in memory -- really, what more could one possibly need from an operating system? Well, when the 8086 CPU came out, it presented a small problem: CP/M (and all of the wonderful CP/M applications) could not run. Different CPU architectures, don't you know? In a brain flash, I thought: Why don't I create an 8080-emulator for the 8086! It could then boot to CP/M and run all of that wonderful CP/M software!


6 to 8 Weeks If You're Lucky

by in Feature Articles on

Remember being a kid, collecting Bazooka Joe wrappers to get a sweet knife that you could use to have dangerous, life-threatening fun with your friends? Then waiting by the mailbox for an agonizing six to eight weeks?

In this post-9/11 world, I'm sure that Bazooka Joe isn't sending knives to kids in the mail anymore (based on a combined zero hours of research between Alex and me). Their prizes still take six to eight weeks to deliver, though, and Todd C. now knows why. Todd brings us a WTF from his daughter, who we'll call Yvonne. And just to get it out of the way, no, I don't have any pictures of her. Perverts.


Twice Annual About Security

by in Feature Articles on

The days of manual deployments to network PCs are almost gone. Tools like SMS, Group Policy, and One-Click Deployment make it a lot easier to apply updates and deploy software to client PCs on a network.

Pete's company either doesn't trust or isn't aware of such tools, however. Pete works at the company responsible for Annual About Security. That's right, this is the same company that had users reset their passwords by email a few months back. In short, Network Operations had requested that all users reply to a companywide email with their desired new passwords, each of which would then be manually entered, one by one, by the network administrator.


The Network Batch File Virus

by in Feature Articles on

The early 90s were exciting. Tim Berners-Lee invented HTML and created the first of the many internets we have today. A bunch of dancing dudes in foil costumes built the first Pentium processor. And who can forget Eritrea gaining independence from Ethiopia? Well, I could, but I wasn't following Ethiopian politics so much those days.

At the time, Chilton W. was working at a company that provided software that auto insurance companies used to keep track of users, policies, cars, etc. Things were going great, too. They had sold their software to one third of all auto insurance providers in the U.S.


//TODO: Uncomment Later

by in Feature Articles on

What was your worst production failure?

Mine was a missing WHERE clause in a certain DELETE query that resulted in the deletion of all 6,000+ rows instead of just one. Whoops. Of course, my blunder only resulted in several hours of lost work, a painful data restore, and one really embarrassed junior developer (me). I'm sure, had I been in an environment like Adam's, I would have deferred to someone with more expertise or, at the very least, been much, much more careful.


Failing the Turing Test

by in Feature Articles on

Congratulations, reader, you're now an IT "expert!"

IT is a field that is full of "experts." An "expert" is any old IT guy (or gal (ok, fine, guy)) that meets the minimum requirement for being called an "expert" — he refers to himself as one. The nice thing about calling yourself an "expert" is that all non-IT people will believe you! An "expert" is different than an Expert, though. An Expert is a real expert, while the cocky knownothing guy sitting next to you is an "expert." Jeffrey worked with an "expert."


We'll Optimize Later

by in Feature Articles on

The Rules of Optimization are simple. Rule 1: Don’t do it. Rule 2 (for experts only): Don’t do it yet.

These rules were coined by Michael A. Jackson (no, not that Michael Jackson; yes, that Jackson of the "Jackson Diagram") in his 1975 book, Principles of Program Design. It’s an interesting and depressing read that reminds us how much we knew about good software development then, and how little we follow that knowledge today. In fact, three decades and almost infinitely more computing power later, many programmers still fail to remember these rules on optimization. And among those that do remember, many have no idea what "optimization" means.


Announcement: Free Sticker Week Conclusion

by in Feature Articles on

Just wanted to give you all an update/conclusion on the Free WTF Stickers.

A total of 668 of you managed to get into the free sticker form between the hours minutes of 12:00P EST and 12:03P EST each day before the day’s 100 stickers were gone. And yes, I realize that 100 * 5 != 668; I coded the form to check the day’s count before loading , not after submitting. A bunch of you (337) also sent postage-paid requests through the mail and PayPal. Props to Michael V for mailing in a printout of a picture (taken on a wooden table, of course) of a screenshot of his word processor software with text asking for a sticker. Here’s a picture of that (taken, of course, on my wooden table):


Pointy Haired (Em)Boss

by in Feature Articles on

Y2K. Second only to The Epoch, and maybe third to Y10K (when all software will break again), Friday, December 31, 1999 was a day that still strikes fear into any geek's heart.

In 1999, Twisti (hey, don't look at me, he insisted on being credited as "Twisti") was serving a year of social service, as required by German law. Alternatively, he could've chosen to serve in the army. Twisti lucked out by scoring an IT position in a large hospital among long haired hippies and geeks that also didn't want to serve in the army. This was a popular program, so the hospital was greatly overstaffed. Hippies, long hair, overstaffing, and no fear of being fired made this a laid-back, fun environment. That is, until late summer rolled around and Twisti's pointy haired boss heard about Y2K.


SQL on Trial

by in Feature Articles on

I like to think that you can learn something about frugality by reading Worse than Failure. And if you'll pardon me while I put on my question mark suit, I'll tell you how to save a whole heap of money on SQL Server 2000 licenses with a method used by the insurance company Gordon (as we'll call him) interned at.

Most Fortune 500 companies have a certain "budget" allowed for "legal SQL Server licenses" that are "within license compliance" for "database servers." Few take the time to investigate all of the licensing options available and even fewer know about this amazing insider secret.


Tool Blame

by in Feature Articles on

If you’ve worked in this industry long enough, you’ve probably gone down a road I like to call Tool Blame. I know I sure have. Tool Blame is that final, last-ditch act of desperation where one simply refuses to admin that he’s wrong and concedes to “working around” the “deficiencies” of the “pathetic” tool he chose to use in the first place. My absolute favorite example of Tool Blame is a tirade from a developer I once worked with: “what do you mean .NET can’t parse an empty string into a DateTime? My whole middle-tier is designed around strings! It’s going to take me at *least* a week to work around Microsoft’s bumbling incompetence!!!”

Though I might tell that story someday, today I’d like to expand on an article back from the WTF University series. For those unfamiliar, last year we all took a trip back to our favorite alma mater for a programming course, a security course, a web development course, and even a work-study on one of the college’s critical information systems. Enric Naval, the student who worked on that system, wrote back and gave an update on his experience and his trip down Tool Blame Lane.


Very, Very Well Documented

by in Feature Articles on

Just about all of the systems I’ve written about here share quite a few things in common: they are poorly designed, poorly coded, and even more poorly documented. Today, I’m happy to share with you a system that doesn’t quite fit in with all the rest. It’s actually very sound software and, most of all, it’s well documented. Very, very well documented.

George Nacht is a software engineer in certain a Post-Communist European country. In the mid-1990’s, his government decided that it was time to replace their foreign, Soviet-era fighter jets with modern, less expensive aircrafts of domestic design. And since they were modernizing their fleet, they decided to modernize their pilot training as well. This meant that new, interactive flight-simulator software needed to be developed.


The Complicator's Bicycle

by in Feature Articles on

Back in January, I posted The Complicator's Gloves, which was an example of what happens when Complicators get a chance to design something other than software. Recently, a reader pointed me to a fun article on the BBC about a software engineer who decided to “solve” the 150-year old “problem” of the bicycle. I couldn’t resist sharing it with all of you …


1: The back cog drives the back wheel chain, which unlike on a normal bike can turn either way when the back handlebar is steered.
2:Back handlebar which steers the back wheel and has a rear light.
3:Front handlebar which steers the front wheel and has a light and rear-view mirror.
4:Pedals are at right angles to the wheels.
5:The seat is shaped like an upside-down crescent.
6:This frame goes over the lap of the cyclist, but can go under if preferred.


Hacking Made Easy

by in Feature Articles on

Hopefully after getting out of college, most of us have matured past drawing dude parts on passed-out roommates. Now, I don't mean to imply that I've matured beyond that point, just that I hope you have.

It seems I'm in the same boat as Bryan F. and some of his coworkers. A new guy who we'll call Bob had recently moved into the cube right next to Bryan's. Bob was a nice guy, but he had one fatal flaw: he'd always walk away from his computer without locking it.