Articles

« Apr 07

May 2007

Jun 07 »
Integration Nation was originally published on August 24, 2005.
Last month, I announced The Olympiad of Misguided Geeks at Worse Than Failure Programming Contest and challenged you to solve a simple problem (build a four-function calculator) using the most obscenely convoluted way imaginable.
Now I hate to go off topic and post something that probably should be on slickdeals, but this Faberge egg from amazon is too good a deal to pass up. (And hell yeah that's a referral link! If it goes back up to 2.5 mil and one of you buys it, we're buying another yacht.)

Lost in the Jungle

2007-05-30
For me, a trip to the company's server room was exciting. The cold air, the hum of the servers, and the rows of servers with fun blinking lights would make me feel like I was Harrison Ford in Firewall, ready to download confidential data on a MacGuyver-ified iPod. The sad reality, though, was that trips to the server room generally meant I needed one of the administrator's signatures on some stupid paperwork.
Glenn L. was surprised to find that he was outside the continuum of supported browsers for some random web site. Perhaps it was designed for exactly IE 6.0.2000.21342 or something.
In high school I'd spend most of my time in math class playing with my calculator. It had all sorts of fancy conversion functions that were mostly accurate, and simplified work that I'd rather not do myself. One undocumented (and fun) feature was that the conversion functions weren't limited in scope, meaning that I could, for example, convert hours to milliliters or inches to degrees celcius.
There are several types of bad code; there's lazy code, frantic code, unaware-of-a-better-way code, and aware-of-a-better-way-but-too-apathetic-to-do-it code, to name a few. Then there're amalgamations of different types of bad code.

Playground Fun

2007-05-28
Although today was technically supposed to be only Classics, I couldn't resist not sharing this fun submission from Kevin Cazabon
Originally published in Julalicious on July 7, 2006.
5 years C-pound experience was originally published on November 01, 2004.
Happy Memorial Day, U.S. readers! And for you non-U.S. readers, Happy .. errr ... Regular Day of the Week! calculatethenumbers(v,w,x,y,z) was originally published way back on July 21 in 2004 ...

Both Sound Good

2007-05-25
Any bets as to which John Y. should pick if he actually wants to reset to factory defaults?
Bill S wrote in to share some code from an ancient billing system still in use to this very day...
Many years back, I got hooked in to whole the Atkins Diet craze. And like most dieters, it didn’t work. I lost weight and slowly gained it back over the next few years. The reason that Atkins – and all the other fad diets – fail is because they try to avoid a simple, painful truth: short of altering body physiology, the only way to lose weight is to eat less and exercise more.

Film At 11:00

2007-05-24
"This just in: our clock has been adjusted for daylight savings time. To find out why you should be terrified by this and other things, tune in at 11:00."

RTFM on BCC

2007-05-23
It's inappropriate and immature to make fun of old people struggling with technology, which is why I won't do so here. However, old people are often forced into stumbling adorably through totally foreign (to them) technology, which is what I want to discuss today.
In general, I'd say I'm pretty happy with my name. My parents once told me that I was almost named "Cecil," which wouldn't have sat well with me (no offense to all you Cecils out there). Still, I'd choose "Cecil" over "Failed to convert to string from variant type 1 Vinson."

Accessibility

2007-05-23
These days, Accessibility is all the rage. I wish I could say it was actually driven by §508 Requirements, W3C Standards, and an all-in-all good faith effort to allow “differently abled” people to access content. But it hasn’t. As long as we, the majority, can access content, that’s all that really matters.

The Indexer

2007-05-22
A few kilometers left on Ruta Nacional 128, a brief stop at a control policial, a short trip down the unpaved Calle 33, and just like that, Sergio was at his destination. It was a top-secret Argentinean Government Facility.
I'd always assumed the AAC format stood for something along the lines of "Awesome Audio Compression;" it had never even occurred to me that it had anything to do with forestry. Think about that next time you're illegally downloading music; you're not only killing Metallica, you're killing forests and bald eagles and crap. And Smokey Bear's band.

slammer.SCR

2007-05-21
You may remember Tim from the sad tale of Hung, The Incidental Expert. Today, he brings us a story of the "Not Invented Here" philosophy and its ramifications.

Orwell Warned Us

2007-05-21
David comes from the harsh, dystopian future of 1984; a time where surveillance is unavoidable and just considering joining peepel.com is a thoughtcrime. Or maybe it's just a bug in peepel's software.

Early Termination

2007-05-21
Once, I asked a coworker for a feature request. His service was outputting hashes and I wanted the original strings. His reply was that if I had an algorithm to reverse a hash --- all that this service stored and obviously impossible --- he'd implement my feature. My suggestion was that he record an input-to-hash mapping and just reverse that. The feature was checked in that day; perspective makes all the difference. My next feature request was that he set up a signal handler to catch signal nine, as he had attached cleanup routines to several other signals. I guess he spent the rest of the day trying to figure out why it wasn't working.
Aaron C. was noticing some slowness and occasional loss of his internet connection. I'm no expert, but I'd bet that the problem could be the 2.1 billion db noise margin on the line.
Four months ago, Kevin P. joined a well-known health care provider as a project lead. Little did he know what he would find himself leading.
In .NET, there are generally two types of information in config files: application-specific and environment-specific. The problem with this setup, though, is managing changes to configuration parameters; it's up to the developer to remember to update config files for each environment.
Today's disturbing Error'd entry comes from Chris.

L.T.'s Bonus

2007-05-16
Being that Worse Than Failure is a web site, just about every story submission we receive comes in through the vast series of tubes known as the “Internet.” Sure, every once in a while the tubes get clogged up with material and cause all sorts of delays, but for the most part the “Internet” is more reliable, much faster, and a lot cheaper than the alternative: the postal system. But I will say that it’s certainly not as fun, as this very first Snail Mail submission from L.T. shows…
Generally I write an intro paragraph about each Error'd submission. I don't know what to say this time, though, as musiciansfriend.com has beaten me to the punch.

The Dimmer

2007-05-16
When Ben started working at a small ASP-based dotcom, there was an intern who was working on a major feature of their application. Her code confusingly cute. Quick example: instead of calling a database table for checklist templates "CLTemplate" and having one row per checklist, she called it "CLManager" and had columns CLItem01 through CLItem100.
Some years ago, someone at Microsoft noticed that they were having a bit of a Resources problem. A Human Resources problem to be specific. There were a whole lot of job openings (thousands, in fact) and a whole lot of applications (hundreds of thousands, in fact), and no easy way to match the right applicants with the right jobs. So they decided to reinvent the Job Interview.
It's hard for me not to editorialize (read: include streams of profanities) in my code. And the screenshot below illustrates that I'm not alone. The key difference is that I actually declare all of the functions that I intend to call. Check it out yourself if you've got IE (mouse over the drawing canvas).

Reggie X. Preston

2007-05-14
At the time, it seemed like a good idea. When a fatal error would occur in a batch program, a message would be sent to the operator’s console that notified him of the error and prompted him to terminate the program. From there, the operator would call the program’s support contact (generally a programmer) and ask him what to do. Management figured that someone with some knowledge of the program should be the one that decides, not just some operator.

Seeeeeeeeeecrets...

2007-05-14
You may not know this about Windows Media Player, but it knows secrets about you. It's aware of your man-crush on Sean Connery, it knows about what you did with your roommate's toothbrush, and it knows that you threw up in your tuba during 10th grade marching band practice. What you may not know is that it can only hold a finite amount of secrets, and once it hits that limit it'll start blabbing all your secrets to your iPod.

Seeking the Truth

2007-05-14
We're all seeking truth and elightenment. Some find it in Christ, some in Allah, some in Shiva, crazy celebrities in Xenu, fat goth weirdos in Satan, or the truly enlightened who've been touched by the Flying Spaghetti Monster's Noodly Appendage. Others find it in science. Maybe even in love. Well, for those of you that haven't found the truth yet, here it is:
Originally published in Pop-up Potpourri: Chocolate Covered SQL on January 18, 2007. 
A Case of the MUMPS was originally published February 13, 2007. And yes, MUMPS (or M (or Cache)) is still alive and kicking... and just might be lurking as the "database" at your next job in the healthcare industry...
Removing Spaces, the Easy Way was originally published on February 22, 2007.
Originally published in Pop-up Potpourri: The Really Windy City on January 02, 2007.
Hacking Made Easy was originally published on March 01, 2007.
Laying the Foundation for i18n, Brick by Brick was originally published on February 07, 2007.
Originally published in Pop-up Potpourri: Chocolate Covered SQL on January 18, 2007.
The Contractor's Note was originally published on January 29, 2007.
But It Worked in the Demo was originally published on January 26, 2007.
I am very excited to announce the launch of Worse Than Failure: Russian Edition at ru.WorseThanFailure.com.
Lost in Translation was published in an original manner February in 14, 2007.
Immaculate Backup was originally published on February 21, 2007.
How Not to Parse Command Line Arguments was originally published on December 15, 2006.
Originally published in Pop-up Potpourri: Sixth Time is the Charm on January 6, 2006, Shaddin sent in a strange and hurtful database connection error message.
What better way to start Classic Week then how we ended 2006? Originally published on Wednesday, December 20, 2006, The Call of Codethulhu is a personal favorite of mine, especially with the illustration from George E. McDougall. And speaking of that, expect to see more of George's work here soon ...
Today's Classic WTF was originally published on Wednesday, November 08, 2006. An interesting fact: this is actually the same Chris and the same Mentor from an earlier article, Mentors, the Freshmaker.  
Taking a cue from Apple, Sparco has designed the simplest and most elegant calculator UI ever (click here to purchase). In fact, it does one better than Apple (who offers one button) by offering no buttons. If any readers manage to pull off a UI like this for the OMGWTF contest, I'll be impressed.

Splitting Headache

2007-05-04
When it comes to string manipulation, it is not uncommon to want to split a single string into multiple strings based on a delimiter. Many languages provide split functionality outright. Even in C, it's fairly easy to roll your own --- assuming you don't like strtok_r --- with functions like strchr or strpbrk.
First and foremost, I wanted to remind everyone about the first-ever Olympiad of Misguided Geeks at Worse Than Failure (or OMGWTF for short) Programming Contest. The entries have been streaming in and are looking really fun and interesting. There’s plenty of time left to get started, so go hack up something and submit your own entry! Who knows, you might very well win the Grand Prize of a High-Resolution JPEG of an OMGWTF First Prize Trophy and a brand-new laptop to view your highly-valuable JPEG.
Mobile communications is a complicated but lucrative business. With all the buzz surrounding (and created by) cell phones, that's not surprising. And they're not just for calls any more! The new big thing is interacting with web pages and other applications via SMS.

Poor Mr. Gookin

2007-05-02
Chad Ross works at a Certain State Agency and is unable to send any emails to his client, Mr. Gookin. The CSA's content filter just keeps blocking Chad's outgoing emails, complaining that they contain racist content. More specifically, the filter finds Mr. Gookin's last name to be particularly offensive. Because the CSA's IT administrator refuses to add “Gookin” to the filter's safe word list, Chad is left with the daunting task of asking Mr. Gookin to change his last name to something a little less racist. Now if only he could send out that email request to do so ...

Double Take

2007-05-02
This is the story of two Daves. At first, they may appear to be from completely different worlds. One does client-side web development, one server-side web services. On further reflection, however, they have quite a bit in common.

The Loony BIN

2007-05-01
Call me a Skeptical Sally (actually, don't), but whenever I hear someone complaining of random file corruption, I don't really believe them. Of course, it's a wonderful excuse if you don't know why your code doesn't work or you just slacked off and didn't get some Word document done; maybe you've even used it a few times. Still, that doesn't change the fact that random file corruption rarely never happens.
There is a lot of uncertainty in the life of every developer. How will this section of code interact with that section? What if the network goes down? What if a gamma ray flips that bit? What's mom making for dinner? Does radon have a smell?
« Apr 07

May 2007

Jun 07 »