For Brent, the offer of a free magazine subscription is a pretty good draw. Sadly, he wasn't too thrilled by the number of available choices.
A curious email arrived in Phil's Inbox. "Windows Support Engineer required. Must have experience of the following:" and then a long list of Microsoft products.
While wading through hundreds of disallowed implicit casts and such from turning option strict on for a large project, Tevildo came across this little gem.
Companies beyond a certain size all follow the same basic pattern. Where possible, everything gets centralized in the global office- email, web servers, Active Directory, etc. They dictate policy and then leave it to the extremeties to solve their own problems within the corporate boundaries. Al worked at a factory, supporting their production management and chemicals management software- things that couldn’t be centralized.
The Factory pattern is an excellent way to solve a variety of programming problems using an object-oriented language. It’s a simple pattern, but for some developers, not quite simple enough. Den found this interface
As if trying to navigate HR related websites isn't hard enough, Ned Wheeler was trying to log into his employer's HR website when he was greeted with this.
It's Thanksgiving here in the US, so we're taking the day off! So, here, enjoy a classic. Cursed and Re-Cursed was originally published on May 7, 2009.
When it comes to bad code, everybody thinks they’re a comedian. Heck, look at us! Stupid programmer jokes are a game everyone can play, though, so let’s enjoy an evening at the Improv with some code comedians.
During his interview, Michael was asked what his coding pet peeves were. Things that, as a developer, really got under his skin.
College radio stations are small, but highly technical organizations. The era of the scruffy stoner spinning disks and mumbling into a microphone have been replaced by software systems that manage the station’s programming around the clock, and play recorded segments of scruffy stoners mumbling into microphones.
Sandra wrote, "I love cats, but I don't want any part of this freaky demon cat captcha."
A few years ago, while on a SQL Server data warehousing project, my project manager sent me a request - create a table with all kinds of information based on a given date. You know – given a date, be able to figure out day of the year, day of the week, month, last business day of the week, and so on, making sure the table stores enough dates to keep it maintenance free. Oh, and one more thing, it’s going to be linked off of the already complex star schema that we were developing for. Why? For reporting purposes of course.
Every developer eventually breaks something in production. Whether by negligence, ignorance, or just plain bad luck, it happens even to the best of us. "Oops" moments like these are the ones we learn and grow from. The broken thing gets fixed, some data may or may not get cleaned up, and everybody moves on a bit for the wiser.
The user’s incident report did not contain the most useful description of the problem. “The calculator always outputs zero,” it said. Fortunately for Aram, he had a little bit of an idea of the context, and he knew that the issue was in the Customer/Regulation Administration Processor.
Barry’s first problem with the code was the use of magic numbers. If the application state variable held “127”, it then certain buttons would be enabled, but if it were “54”, then they should be disabled.
"Let's see... 580 GB free, 309MB used by Unbox, and -580 GB used by other files. Sounds about...right!?" writes Geoff.
Some years ago, Phil B. invited a promising looking candidate for a developer role to come in for an in-person interview. The candidate in question, Boris, had a very impressive resume showing plenty of C and embedded systems experience; however, upon his arrival, it was clear that his communication and interpersonal skills left a little to be desired.
Like snakes and mongooses , QA and developers are natural enemies. Through an unfortunate series of events, developer Bridget found herself working on a QA team. She was deep in enemy territory, and not full prepared for the rigors of QA, so she focused on her core developer skills. She helped the testers automate things.
The daisy wheel stabbing at green-lined sheets could have been Satan’s fanfare, but Andy was long accustomed to tuning out ambient printer noise. It was 1982, and he spent most of his time before his Commodore PET 4032, churning out useful things in 6502 Assembly. Most of the code was for printing invoices, much like customer invoice currently printing and making all of that racket.
A huge number of the bad code submitted to TDWTF is related to dates. This isn’t all that surprising- dates are very complex data structures with a vast number of possible representations and huge cultural variations.
I'll be in a few places in Europe these next two weeks, and would love to meet up with anyone who's available.
Øredev 2012 (Malmö, Sweden)
Bob P. received this validation error from a Merchant Account application for a company that returns pre-SCRIPT-ion medications for the pharmaceutical industry.
"Hey Ryan! Glad I got ahold of you, have a minute to lend a hand?" spoke a surprisingly jovial voice on the other end on the NOC’s emergency support "bat phone". It was the company's email admin, Jeff.