Recent Articles

Dec 2010

Classic WTF: Desperate Recruitment

by in Feature Articles on

Desperate Recruitment was originally published on November 22, 2007.


The Beat on the Street in Peterborough (England) is that Data Interchange is looking to hire Software Developers. And I mean “on the street” quite literally:


Classic WTF: A Date of Infamy

by in CodeSOD on

A Date of Infamy was originally published on January 11, 2006


Without many of the built-in date/time functions found in other languages, some Perl users can find themselves having to write some interesting code in order to get the results they want. Sure, it's pretty easy to reference the DateTime module, or a whole host of other modules to help with this, but who wants to use code that someone else invented? Some resort to fiddling with the number of seconds since epoch returned by the time() function. Others, such as Mike's predecessor, issue an operating system command to write the date out to text file, read the file back in, parse it, and use the result ...


Classic WTF: Illicit Process Improvement

by in Feature Articles on

Illicit Process Improvement was originally published on December 11, 2007.


Christian R. was in trouble. Despite his experience across hardware and software, desktops and server clusters, thumb drives and SANs, he hadn't found any freelance work in weeks. It was clear that he'd have to figure something out to pay the bills.


WasDogKicked?

by in CodeSOD on

"Recently," Jon Beebe writes, "I was asked to bid a mobile version of an existing web site for a Credit Union."

"I started by inspecting their current site to see how much could be reused, and was instantly greeted by embeded javascript on the page"


Status

by in Representative Line on

"In late 2009, I started a new job at a large logistics corporation," Nikos writes, "it was on my first day that I learned that 'quality' and 'best practices' can mean vastly different things to different people. Within my first week, I learned that I should probably ask a lot more questions about the system I will be spending 8 hours a day maintaining. Within my first month, I started counting my days."

"I've kept sane over the past year by telling myself that, one day, I would submit this whole thing to Alex at The Daily WTF. But I was never able to do that. Not because I was afraid (I'm sure I could have redacted/anonymized the code just fine), but because there was no way I could figure out how to compress this entire company and system into a single, concise story. And that's when I remembered about the Representative Line series.


Classic WTF: Monitoring the Email Monitor

by in Feature Articles on

Monitoring the Email Monitor was originally published on November 21, 2007.


“Ummm…” the top email in Alex M.’s inbox started, “why did you delete my message about the approval bug? And then delete the message inquiring about the deletion? This issue isn’t going away – please investigate this right away!”


CompareObjectAsIAlertDocumentOrNullIfNotCastable and More

by in Coded Smorgasbord on

"I found this line of code while doing some cleanup," Adam Aldrich writes, "this has to be the worst way to set a boolean variable to false."

bool memberHasFingerprint = bool.Parse(bool.FalseString);

Wireless Cable

by in Error'd on

"This came with my Lexmark 4650 wireless printer," wrote Daniel Kokan, "I don't know whats worse. The fact that my wireless printer came with an installation cable, or the fact that it's the first printer that has."


When Christmas Trees Attack and More Support Stories

by in Feature Articles on

My Computer (from Kay)
I work in a small school district. One day, a high school teacher called me up to complain that a computer wasn't working correctly. Bit by bit, I coaxed out that she was having trouble retrieving a file on her personal folder on the school's network--her folder simply wasn't there. 90% of the problems our users report are solved by a simple reboot of the user's computer. So I asked the teacher to go restart her computer and call me back if the problem still existed.

She called me back ten minutes later and said she was still having the same problem. I checked--I could see her logged in on the network, and I could ping her computer. I checked her permissions on the network--everything looked fine. I asked her to try a couple of other things. Nothing seemed to work, and this teacher (already known for her crabby, high-strung attitude) was getting progressively grumpier.


Thorough Letter Checking

by in CodeSOD on

"I'm a network admin by day and a PHP freelancer by night," Jarod writes. "It works pretty well. My clients (all two of them) assign me low-priority, get-it-done-whenever type projects, and I do my best to deliver 'soon' rather than 'later'. "

"During the day job, I got a handful of calls from an unrecognized number. When I finally had a chance to call back, it was a referral who was in 'very desperate' to fix his application. Apparently, they hired a graphic design shop to build them a CMS site, and it was slow as molasses. They spent weeks trying to improve things, but it just got worse. Fortunately, I was able to look at it that evening, and after digging through the project, I isolated the problem. It was coming from an addressbook view; their addressbook had 120,000 entries, and displayed 50 at a time,"


Some Call Me… Tim?

by in Feature Articles on

One day, Darrell worked in the Vancouver office of a small California-based company. The next day, a Fortune 500 company went “OM NOM NOM” and Darrell found himself suddenly employed by them.

Before long, the word “integration” tricked down from above, like a golden stream of endless project work. Trying to link the small company’s software release with the behemoth that had swallowed it was going to be no small task. The massive undertaking meant that Darrell had to spend 30% of every month in the California headquarters.


Log Everything

by in CodeSOD on

Debugging and Logging are two valuable tools for isolating problems and errors in software. While debugging allows you to step-through currently executing code and get a “behind the scenes” view of the environment, logging is used as an audit trail to help find what happened when the code was executed.

Obviously, debugging is best for tracking down problems that are easily reproducible in a development environment, whereas logging is good for intermittent or unexpected problems. That is, “obviously” to everyone but Eric Polino’s coworker, Christophe.


Thirty O'Clock

by in Error'd on

"Will this day ever end?" writes Roger.


The Walking Network

by in Feature Articles on

Orig from Flickr: http://www.flickr.com/photos/gettheshot/1047513542/To the outside observer, it might appear as though Amanda had consumed a double-large caffeinated "something" before arriving at the office, but actually, she was just that excited to start her new job.

After spending the 90's as a code monkey working for big businesses downtown, she had finally escaped the maddening world of long commutes, smog-filled lunchtime walks, and stuffy corporate processes. Her new refuge was a small, niche software company located right in her comfy suburban neighborhood. Heck, not only could she walk to work, but she could even wear jeans if she wanted to.


Confessions: rachetingDateObject

by in CodeSOD on

One of the more curious perversions in information technology I’ve come across was one that I’ve written myself. Maybe I’m biased, but it was pretty rough: a poorly-implemented, over-engineered solution to a misunderstood problem. I’ll get around to digging that up one of these days, but in the mean time I thought I’d try something new: Confessions.

Years ago, Harry Dewulf was the Javascript Guru. Not only could he work around bugs in vendor software (thanks to Javascript injection in form field labels), but he worked around bugs in Javascript itself. Consider, for example, his replacement for the defective parseInt function which frequently didn't work.


Trial Escaped

by in Error'd on

"After running the old version of Vista Manager after purchasing it," writes Paul, "I was informed of the status of my trial version."


YesNo

by in CodeSOD on

“The Original Developers believed in being thorough,” writes Aaron M “they also believed that ‘thorough’ meant having a stored procedure for every possible thing.”

“One of the more bizarre stored procedures I’ve come across is this.”


The Unmanaged Stock Management System

by in Feature Articles on

In the world of software consulting, there are many ways in which software is delivered to the client. Sometimes, a consulting company may choose to sell the software to the client, providing both the working application and the source since (most of the time) the software is so customized to the client’s need, the consulting company does not have much reason for keeping the source code to themselves.  In other situations, though, consulting companies may choose to license the software to the client, with regular patches and bug fixes, while retaining all ownership.

Paul was working as a freelance coder, fresh out of college, when he accidentally stumbled upon a third option: give the source code to the client, but obfuscate the software to such a degree that any developer who tried to work on it would go mad.