Recent Articles

Sep 2012

The Time Travelling Bus

by in Error'd on

"I decided to take a try a new bus route. It usually takes me 35 minutes to get home," writes Chris, "I guess I should have been taking this route all along."


Have you Tried Arrays?

by in CodeSOD on

Diego inherited a system from a "senior" developer. The largest challenge in the system was that it had to handle DataSets that could contain up to 700 columns, but could contain less.

Judging by the code, it's easy to see why a task of this complexity could have only been implemented by a senior developer.


Confessions: Every Five Minutes

by in Feature Articles on

Credit: Psion Workabout Pro"I'm still a student," writes Rob J., "but recently I completed an internship for my Computer Science courses with a manufacturing company nearby. The company's process machines were totally computerized and their IT department consisted of the Network Administrator and the Software Developer (fortunately 2 different people), supporting the entire IT needs of the company of nearly 200 workers."

"As a developer / admin intern, I caused my share of disasters; yes, I managed 'sudo rm -rf /*' on the Linux server that wasn't backed up and I broke another two Windows boxes using SysPrep, all on relatively small servers that weren’t that difficult to rebuild, thank goodness. Overall, despite these disasters, I felt that it was a good experience and I learned more after cleaning up after the systems that I broke."


A Byte of Booleans

by in CodeSOD on

Carl’s investigation started when he found out that his predecessor had set up a cronjob to restart Tomcat every three hours. Carl never tracked down one specific reason why the application server needed to be restarted every three hours, but paging through code like this, he knows the problem’s in there somewhere.


            

Finish the Finnish Audit

by in Feature Articles on

Many European nations require their citizens to serve in the military. For those not ready for that Starship Troopers-esque future, most of those nations offer a civilian alternative. In Finland, this is called “siviilipalvelus”.

Siviilipalvelus is what brought Sampo to a small sub-department of the Finnish Treasury. He had programming skills, and they had a programming problem. They had an application which was older than Sampo, and at this point no one knew what the original requirements were, nor whether it met those requirements. There were half a million lines of code that were ported across many environments, and not nearly enough eyes to review them.


Garlic Not Found

by in Error'd on

"Saw this while I was building my pizza on Domino's website. I wanted to add garlic to the pizza," Cole Johnson wrote, "but I guess that they don't have any."


Connected to the Connector to the Connection to the System

by in Feature Articles on

“The users want some changes on the ticket form,” Bucky, the smiling intern said. “I was told I should talk to you.”

Jesse laughed. “Oh, I know that form well.”


Bank of Scotland's Keyboard Trap

by in CodeSOD on

When you're designated as your family's official internet support technician, you find that what someone perceives as the biggest web-based WTF often turns out to be something that's relatively easy to dismiss being attributable to poorly designed or misleading UI.

However, once in a while, something truly special crosses your path, much like when Wladimir Palant's father asked him to look into some weirdness on his online banking login page. As it turned out, the Bank of Scotland invented some very creative keyboard input validation:


Trouble With Founders, the Lost Candidate, and More

by in Tales from the Interview on

Trouble with Founders (from Ben C.)
A few of my friends (all CS people) were attending a startup mixer hosted at a little airport near our university. At one point, we all got kind of bored of talking with everyone, so we stepped outside to look at the planes. Soon enough, some business people in suits noticed the nerds talking outside so slowly started approaching.

They started talking with us, trying not to be too obvious about their intents. They asked where we were from and we told them our college. We asked what brought them here, and they said they were starting a company. We asked what it was for and they responded "Data Analytics". At this point, we were a little curious, so we tried to get some more information, and then they gave us their wonderful pitch.


The Lone Rangers

by in CodeSOD on

It started when David tried to access a Singleton and got a null-pointer exception. Then he noticed some bugs where the Singleton had inconsistent state. And then he looked at the code…


            

Page Not Found

by in Error'd on

"I've always wondered if people pay attention to the errors their computers produce," pondered William Walsh, "Empirical evidence would suggest not, though apparently the opposite is true over at The Weather Channel's web site!"


Ask WTF: Learning The Business

by in Alex's Soapbox on

Most of the emails that arrive in The Daily WTF inbox are some kind of a submission. Or a hate mail. But every now and then, some one will request something a bit out of the ordinary: advice.

Hi Alex,

I recently started my first "grown-up" job as a software developer. 
As exciting as it is to get paid for doing what I love, I can't help but wonder 
if I'm expecting waaaay too from a company.

My main issue is that I know virtually nothing about the (very large) application 
I'm maintaining, or even the business domain. There is a business requirements wiki 
(and a whole team who can apparently answer questions about it), but it's filled 
with words and terms that are so domain-specific that it's basically impossible 
to get a proper understanding of things. It feels like I'm learning to fly using 
only blueprints to a Boeing 747.

I was really expecting that someone would sit down with me and give me a nice demo 
of the ins and outs of the application and the business, but no one seems to be 
willing or able to do that. Messing around with a test version of the application 
doesn't help either since there's no product documentation accessible and the little 
help that's available is littered with domain intensive keywords.

I feel that "it's complicated" and "this is a fast-paced environment" 
is no excuse to skip proper training and to not give due importance to knowledge 
transfer to new hires. I feel that if I were running the department, I'd accept 
the overhead and just make sure developers could understand the applications and 
business they're maintaining. Is this so much to ask?

How exactly am I supposed to understand the application if no one else seems to know 
(or be willing to share) what it does?

Sincerely,
S.N.

How to Extract Text from HTML (Experts Only)

by in CodeSOD on

If you ever hit upon a scenario where you need to mine meaningful text data out of any set of HTML files, you will likely find yourself facing a potentially hairy situation.

With the ads, silly social media add-ons, sidebars, toolbars, and likely WTF-level web page coding practices, unless you’re looking at a set of pure vanilla, consistently designed pages, it can be a big mess.


The Slowdown

by in Feature Articles on

The marketing firm managed the web presence of several large banks and needed a Unix admin. Nick had spent the past decade running heavy HP-UX servers in the banking industry. It seemed like a very natural fit, and Nick thought he was going to enjoy the faster pace in a smaller firm.

The firm, as he learned, was broken into two major branches: consulting and everything else. Everything else existed to keep consulting happy, since consulting pulled down the big bucks. On Nick’s first day, his boss Ted introduced him to Larry, one of those consultants. Larry had some very important things to tell everyone who worked with the server team.

“There are two Windows boxes in the data-center,” Larry explained. “Those are mine. Do not touch them. Ever. Nod if you understand.”


Big-Data JSON

by in CodeSOD on

When Matthew saw this attempt at a JSON serializer, he had one question: why didn’t you use one of the many libraries we already use in this application?

The answer was, “Because on ‘big data’ procession you should to avoid creation of many objects in the Java!”


Sponsor Appreciation, 16777216 Bits of Color, and More Error'd

by in Error'd on

TDWTF Sponsors

New Relic   New Relic - As a long time sponsor of The Daily WTF, we are honored to have New Relic sponsor our first line of TDWTF t-shirts in years! Deploy their awesome web-application performance monitoring software and receive one of our limited edition tshirts FREE!
JRebel Logo   JRebel is a JVM-plugin that makes it possible for Java developers to instantly see any code change made to an app without redeploying. JRebel lets you see code changes instantly, reloading classes and resources individually and updating one at a time instead of as a lump application redeploy. Download your FREE Trial Today!
Inedo   Inedo - the makers of BuildMaster, the free, and easy-to-use, web-based deployment and release management tool. Going far beyond Continuous Integration and into Continuous Delivery, BuildMaster delivers a series of robust features unparalleled by other build-promote-deploy-distribute tools.
Conduit   Conduit - increase revenue by creating a custom Community Toolbar. With a toolbar unique to your business, you'll connect and engage with your users, extend your reach, boost traffic to your site, and build brand awareness.

And now back to our regularly scheduled program...

 


New England SQL & Providence SQL Saturday

by in Announcements on

I'll be hanging out in New England next week doing all sorts of BuildMaster client things, but I'll also be giving a couple database-related talks at some local SQL Server events. If you're in the area, feel free to stop on by -- both events are free.

Database Horror Stories, Bad Code, and How Not to be a Statistic

36,321 tables, one row each, one database. A stored procedure with 1,752 parameters. A DBA convinced that storing everything in the entire database typed as VARBINARY will definitely improve performance. All of these are true stories, and the sad fact is that many SQL Server professionals can relate to them -- even if they won't admit it in public.


Pick-a-State

by in CodeSOD on

If you're a regular reader, you'll recall Rachel's code submission from last week where we saw super fun things like first and last names represented by double variables. Well, if you enjoyed that, you'll probably love today's CodeSOD.

Rachel wrote, "This method was part of the State class. Apparently if you want to know what index NY is, you need to create a copy of the State class and call it's .get_state_index() method."


The Reporting System

by in Feature Articles on

“Hey, is that a COBOL book on your shelf?”

Matt looked up and saw his boss, Jack, poking around the corner of his cube wall like an oncoming iceberg. “Huh? Oh, that. Yeah. My dad gave that to me as a joke…”


The Daily WTF Wants Writers!

by in Announcements on

Can you string words together and form a sentence? Can you string statements together and form a class definition? Can you sometimes be funny? Can you do all three at the same time?

We're looking for people with good writing skills and an IT background who are ready and willing to polish reader submissions into funny, entertaining, and memorable stories. We need you to be able to take true-to-life stories from the IT trenches, spot the most absurd bits of them, and explain the entire thing in a way that makes our readers laugh, or at least kinda grin, a little. You'll be expected to meet deadlines and communicate your availability to us. We're flexible, and we're looking for people who can commit to between 1-4 articles a month.


Hexed Id

by in CodeSOD on

The web application David inherited has one main job: fetch articles based on the integer ID passed on the URL. The only trick to the whole thing is that the ID might be encrypted and represented as a hexadecimal number.

David didn’t really look into the process until someone complained that the system was serving up the wrong articles. When he read through the code, he saw this:


Classic WTF: Making a Difference

by in Feature Articles on

It's Labor Day here in the US, so we're taking the day off. So, here, enjoy a classic! Making a Difference was originally published on March 20, 2008.


When Chris walked off the platform with a computer science degree in hand, he knew one thing for sure: He'd have to start all over again in the business world. And with a dizzying smorgasbord of technologies and a whole world of concepts never broached in school, Chris knew he'd need guidance from a mentor.