Recent Articles

Feb 2008

So You Hacked Our Site!?

by in Best of the Sidebar on

Not too long ago, I added my company, Inedo, to the federal government's Central Contractor Registration system. I don't know, I just didn't want to miss out on all the fun every one seems to have with government work. Whenever one signs up for virtually any government thing, a deluge of companies somehow manage to find to out. The CCR is certainly no exception.

One of the many companies that contacted me after signing up was the Federal Suppliers Guide. The initial cold call went something like this:


1.11: Some Surfing

by in Mandatory Fun Day on

Special Order

by in Error'd on

Jesse Weisner was a bit disappointed that this item is still out of stock...


Behavioral Deficiencies

by in Feature Articles on

Shawn O. was not used to bright lights, smiling faces, or greetings like “hi Shawn, how are you today?” In fact, just about anything that wasn’t specifically intended to bring pain and misery to all had become foreign to him. It was simply par for the course. Shawn, after all, was an Oracle DBA. And not just any Oracle DBA, but one who sat on the company’s Database Code Review Council.

Like at many other Oracle shops, the Council at Shawn’s company was responsible for defining policies and procedures to make it virtually impossible for any developer within the company to make changes to their databases. For example, if a developer wanted to change, say, the columns retrieved from a single SELECT statement, he’d have to fill out a ream of paperwork, venture all the way up to the top floor, find his way to The Council’s chambers, humbly plead his case to The Council’s members – each of whom would be ensconced in darkness, wearing their traditional Oracle DBA robe – and then repeat the process several times after The Council ridicules him for missing paperwork, too little whitespace, too much whitespace, etc., and rejects his request for change. It’s just the way things work.


K2C

by in Feature Articles on

Anton N is not a programmer by trade. Whenever he comes across “questionable” code in his job as an engineer, he always gives the programmer the benefit of the doubt: it might just have to be that complicated to work; maybe he did it to work around some system limitation; or perhaps it’s some optimized routine. It’s only fair. Certainly, he wouldn't want some programmer critiquing his decision to use the modial interaction of magneto-reluctance (rather than a more efficient method, such as capacitive directance) for supplying inverse reactive current in a unilateral phase detractor.

Not too long ago, Anton had one of those questionable code moments. It all started when he noticed some rather bizarre readings and strange error messages come up in the Test Control System. The TCS is a C-based application that was built by in-house programmers over the course of several years. It was designed so that, theoretically, it could monitor an unlimited number of devices (of any possible type), each which could provide an unlimited amount of input via an unlimited amount of connections. In reality, Anton and his fellow engineers use the TCS to monitor one, maybe two, temperature control devices that they build for use in large-scale industrial equipment.


1.10: Panic Ensues

by in Mandatory Fun Day on

OH_WELL

by in Error'd on

"I got this message while trying to install the Dutch-language version of McAfee's VirusScan 8.5i on my Vista-based laptop," writes Alex van Herwijnen, "the text above reads it is recommended to remove the following products, and beneath do you want to remove these products now."


Half Empty

by in Feature Articles on

"I don't know how many times I have to say it — our server room is outdated and we need some money approved for new equipment. Or at least someone to come in and check out the air conditioner. It's making that sound again." Peter was losing count of the times he'd complained about their aging infrastructure.

"Oh, for f*ck's sake! How many times do I have to say that our equipment is fine?! Now would you kindly f*ck off?" Peter's boss's winning personality was made worse by all of the service requests. He'd always considered the requests to be power grabs from subordinates that wanted to see how much money they could milk out of him.


Not Valid Enough

by in CodeSOD on

Sandy Barnabas received a rather odd message when submitting a registration form:

 


The Clbuttic Mistake

by in Best of the Sidebar on

This clbuttic was originally posted by "ezrec"...

Browsing through a web archive of some old computer club conversations, I ran across this sentence:


1.9: Some Actual Work

by in Mandatory Fun Day on

Hand Dryer Crashed

by in Error'd on

Choose Your Own WTF: that this restroom hand dryer can't boot-up, or that this restroom hand dryer needs to boot-up...


(snapped by Kenneth Anthony, full size here)


The Comcast "Bill", A Buggy Traffic Light, and More

by in Best of the Sidebar on

First there's Comcast WTF that was originally posted by "cheesy" ...

Having not received my bill from Comcast (now Time Warner) one month, I called them up. They said they would send me another copy. This is what showed up a week later.


1.8: The Bullet That Slayed The Beast

by in Mandatory Fun Day on

The Enterprisey Null Test

by in CodeSOD on

I'm always amazed at the lengths some people will go to 'enterprise up' there Java apps," Ben writes, "especially those daft Yes/No enums that we've seen here lately."

"Now, I've always been proud that I am a practical common-sense programmer, so imagine my surprise when I found myself writing this joy of over-engineering ...


Gears in Demotion

by in Feature Articles on

"Hey, Marcin, do you have a second to talk? Come meet me at my office. No big deal, just when you have a sec." Marcin spun around in his chair, stood up, and walked to his boss's office.

"Come in, come in," his boss waved. "And close the door."


Super Contact Management 3D

by in Error'd on

Space Invaders + Contacts Management - Fun = Space Blitz.


(submitted by Kevin)


Those Unstable Databases & An Interesting Database Field

by in Best of the Sidebar on

First, we've got Those Unstable Databases, originally posted by "tbcpp"

I used to work at a radio station, and part of my tasks included keeping the rather old automation system up and running. Now granted, this system was a 98 machine running on a beige box 500mhz and 128mb of ram, but the software was also a little at fault for the crashing it constantly was experiencing.


1.6: Orientation

by in Mandatory Fun Day on

SQL Sentences

by in CodeSOD on

At David’s company, management wasn’t a big fan of the whole check-in/re-compile/re-deploy process. They felt that it had too many steps and took far too long to complete. Their organization needed to adapt to software changes - especially bug fixes - much faster. So, to address this problem, they thoroughly analyzed the development process and carefully tweaked it for efficiency. I’m just kidding. Actually, their solution was to pioneer a new methodology called “SQL Sentences”.

Management figured that, since a large portion of their application dealt with saving and retrieving data from the database, then a lot of the bugs must be a result of bad SQL queries. Likely, it was things like a LEFT JOIN instead of an INNER JOIN, or a > instead of a >=. And, since their application already used a database, they figured - you know where this is going - why not store all of the SQL queries in the database?


Perls of Wisdom

by in Feature Articles on

The day after I finished "Final Fantasy VII," I sat down for lunch with some friends who had also completed the game. We all enjoyed it, but felt it wasn't all it could have been. We thought we -- a group of jobless, inexperienced students with no resources -- could do better. I was the only one who had ever flipped through a book on C++, so I became lead developer. Tony, who'd never used a computer for anything except playing "The Oregon Trail," had a knack for drawing and became lead artist. Everyone else (Dan and Tim) was split up between writing (Dan) and marketing (Tim). How hard could it be?

Well, it turns out that all those people thanked in the end credits actually knew how to do stuff.


Do You Sure?

by in Error'd on

Do you sure? And just how sure do you? Thom P. sure does!


The Honor System

by in Feature Articles on

After a few years at a large, soulless corporate conglomerate, "Henry L." needed a change. Since his skills were in high demand, he had no trouble lining up interviews at several other large, soulless corporate conglomerates. He'd grown tired of working at such large companies, though, and started looking into some smaller businesses.

After scrolling through a few pages of job posts, he found one that sounded perfect. "Small firm in the financial industry seeks skilled, motivated developer." Henry took a deep breath and called the number.


1.5: The New Contractor

by in Mandatory Fun Day on


Fixing Compiler Warnings

by in CodeSOD on

"In C," writes Keith Lucas, "literal floating point number are interpreted as double precision floating point numbers. For example, if you have '0.0' in your code, the compiler will determine the type of '0.0' to be 'double'. In some compilers, such as the Visual C++ 6 compiler that we use, if a literal 'double' is used for a function with a 'float' parameter, a compiler warning is issued because the literal could be less accurate."

Keith continued, "My former coworker thought of an ingenious way to fix this problem. He defined a constant with a manual cast for double he intended to use..."


From the Streets of Japan

by in Souvenir Potpourri on

Ever since the first Free Sticker Week ended back in February '07, I've been sending out WTF Stickers to anyone that mailed me a SASE or a small Souvenir. Nothing specific, per the instructions page, "anything will do." Well, here goes anything, again! (first one here)


Guilken (Japan) sent "stuff he found on the ground on his way to work." I hate to tell you, Japan, but your 1 Yen coin is far too light and feels like play money. No wonder people throw them on the ground!


1.4: The Contractor Door

by in Mandatory Fun Day on

In today’s MFD, I’ve decided to unleash my unbridled hatred on doormen and local artists. Actually, that was sarcasm. You see, I really don’t think all Linux users are like Zach, nor do I think all cowboys program in COBOL, and no, not all recruiters are shysters. What I’m doing is using stereotypes and personal experience to try to create humor.


His Own Way to Newline

by in CodeSOD on

In the world of .NET, the Right Way to include newlines in a string is with the Environment.NewLine constant. Of course, given how easy "\n" is, few developers actually follow this rule.

// The Right Way
myString = "Line1" + Environment.NewLine + "Line2" + Environment.NewLine + "Line3";

// The Way Everyone Does It
myString = "Line1\nLine2\nLine3";

Manual JIRA

by in Feature Articles on

I was introduced to bug tracking software many years back at my second programming job. And by “introduced”, I mean forced – practically at gunpoint – to use it. And boy, did I hate it. Why do I have to put every stupid thing I do, I remember thinking, whether it’s a stupid bug or not, in some stupid system so some stupid project manager can look at my stupid tasks?

I quickly got over it. Within a month, I came to realize how valuable a bug tracking system was in every aspect of software development, from keeping track of the countless little changes to quickly being able to blame everyone else when things went wrong.


A Rather Interesting Specialization

by in Error'd on

Kendall's friend was awarded this Bachelor of Landscape Architecture with a rather interesting specialization from Polytech.


We Don't Need Requirements

by in Best of the Sidebar on

Originally posted by "snoofle" ...

I've mentioned a few times that I joined a team well into a two year development project. The system was designed, based on the sponsoring users claims, to handle 500-600 million records per day.


1.3: It Pays Money

by in Mandatory Fun Day on

Okay. So I read the comments you posted on the first strip, and I have to say, I cried for hours and hours. I get it. I suck: my PNG files are too big, I don’t know how to use apostrophe’s, and I can’t draw hands anatomically correct. In fact, I’m sure that any minute now, Alex is going to have a stern talk with me about how I’m not cut out for the web comic biz, and that I should come back after I grow some facial hair.


Complex Complex Validation

by in CodeSOD on

"When I went to dispute my credit information," Raj K wrote, "I noticed that the company's online form required a complex password. The developer in me was curious as to how the validation was implemented, so I viewed the page source. Shortly thereafter, my palm quickly met my forehead."

Following is a summary of the 700-line function used to validate the form's three different fields...


Interview with a Secretary

by in Feature Articles on

Business was booming. Smartypants Software was selling licenses for their fancy new web portal software about as fast as they could generate license keys. Developers were working later and later into the night, and the tech support staff could hardly catch their breath between calls.

Management knew they had a big problem on their hands, though they acknowledged that having too many customers is a good problem. There was one bad problem, though — they were turning dozens of customers down who wanted to purchase a Java version of the portal software. So amid all the chaos, they began working on the new version of the software.


Claymation with a Murky Past

by in Error'd on

"While I can see how the two ladies might have a murky past," Martin Cowen wrote "what can Shaun have been up to?"


(spotted on Amazon)


1.2: First Job

by in Mandatory Fun Day on


Not Too Particular and More

by in Tales from the Interview on

Not Too Particular from Ichabod
After reading through a stack of dull resumes, this one was a welcome change.

OBJECTIVE
A job in IT. After looking for searching for a job for several months I'm not too particular anymore.


1.1: A New, High-Falutin' Web-Comic

by in Mandatory Fun Day on

If there's one thing The Internet doesn't have enough of, it's Web Comics. Really, it's almost impossible to find a web-comic these days.

So, to help fill the void, I'm very excited to announce Mandatory Fun Day, a brand-new web comic about software, technology, and life as a corporate code monkey. Of course, since my artistic skills are below that of even stick figures, I've enlisted the help of fellow techie George E. McDougall. You may have seen his work before; he did the Codethulhu illustration.


SUCSESS?

by in CodeSOD on

"You'd think that the C++ Boolean would be a welcome addition to the language," writes Jake E. "Not so much for our outsourcing company. This is what's now in our constants.h file."

#define TRUE 1
#define FALSE 0
...snip...
#define SUCCESS 0
#define FAILURE 1
...snip...
#define SUCCESSFUL 0
#define FAILURE 1
...snip...
#define OPER_SUCCESSFUL "SUCSESS"

Developing in Access

by in Best of the Sidebar on

Originally posted by "marinus"...

There is this Access database. Part of it manages inventory. There is a large storage, in which crates of different stuff from different sources are stored, and in the Access database there is a form onto which this information is entered. There are 38 rows of 10 columns of crates and the height varies.


Calculatorating in Las Vegas

by in Error'd on

This certainly isn't the first time we've seen a larger-than-life error on the strip, but come-on Paris Las Vegas, windows calculator this time!?


(from John Gardner's camera-phone)


The Most Favoritest Icon

by in Feature Articles on

Every so often, Bob B. observed that his company's e-commerce site would crash-hard. No one had any clue as to why it happened, but everyone knew how to fix it. Restart both the IIS and SQL Server processes and, voilà, within a minute, the site was up and running again.

Like an old car with a few quirks, the company worried that tinkering with the application might make things worse. But after a few months and a handful of customer complaints, Bob was permitted to investigate the issue so long as he wasn't too intrusive.


XML Abuse

by in CodeSOD on

"Where I work we keep a lot of data stored in XML files," Ben writes. "They're not your average XML files, though — they're special." His colleague invented the following technique (recommended for senior level XML programmers only).

<rootNode>
   <numberOfAddresses>110</numberOfAddresses>
   <address_1>442 Fake St.</address_1>
   <address_2>61 Main St.</address_2>
   ...
   <address_110>3881 N 4th Ave. #5D</address_110>
</rootNode>

U R NT QFD & Giving Notice

by in Best of the Sidebar on

Two for the price of one today! U R NT QFD was originally posted by "Ben Fulton"...

I have a suspicion this ad for a programmer was text-messaged in to our local paper...


THIS is a Warning Message!

by in Error'd on

"Clearly," Alex wrote, "there is more potential for my printer here than just printing..."


I've Got The Monkey Now

by in Feature Articles on

1999 was a big year for Harvard Business School Publishing. In the past few years, they had seen their business model – selling books, journals, articles, case studies, and so forth – transform from being entirely catalogue-based to largely web-based, and it had finally come time for a major re-launch of their website.

HBSP’s new website was slick. On top of a fairly advanced search system, the re-designed site also featured community forums and a section called “Ideas @ Work”, which let users download audio broadcasts from influential business thinkers from around the world. And best of all, despite the rapid development schedule, scope creep, and all of the new bells and whistles, the new site actually worked. In the height of the dot-com era, not too many other sites could claim the same.


The Hard Way

by in CodeSOD on

For some tasks, you're presented an opportunity to do things the easy way or the hard way. When your friend is proudly showing off his work at replacing a light fixture, the switch, and all the wiring, you might wonder why not just replace the dead bulb?

"I was just fixing a bug in our software, and I came across this function," Johnny A. writes. "It works perfectly — does exactly what it says on the tin. I can't help thinking it could have been done with a few less lines of code, however. One, for example."


ikownjou

by in Best of the Sidebar on

Originally posted by "Publius"...

 I'm working on VB6 code written by a Dutch speaker and maintained by an Italian, with variables and comments in both languages. And no indentation whatsoever.


Getting Past Security

by in Error'd on

Say, Patrik M., what have we here?


Six Copies, Please

by in Best of the Sidebar on

Originally posted by "snoofle" ...

I've been working with computers since the mid 1970s, and thought I'd seen every possible stupid thing users could do. Coffee cups on the PC's cup holder. $20 bills jammed into the slot (floppy) to purchase stuff on the internet. Pretty much everything featured on TDWTF. Nothing could surprise me anymore. Until today.


Not Exactly AJAX

by in CodeSOD on

"At manufacturing companies," Brent Railey wrote, "all you ever hear about is SAFETY, SAFETY, SAFETY. In fact, that was exactly the type of application I was tasked with reviewing: an 'Activity Based Safety Program' application for the corporate offices. It was a Classic ASP application that was 'slightly customized' from another application."

"As I was testing out the application, I noticed a little AJAXy behavior. When I selected one category, it would populate another section with the list of items in that category. Not bad for ASP, I figured. That is, until I looked at the code."