Recent Articles

Feb 2015

An Odd Form Factor

by in Error'd on

"I was searching on Texas Instruments' web site when I found a block diagram for an oddly-shaped tablet," writes Renan B., "I mean, Gigabit Ethernet? PCI Express? I had no idea that they could squeeze in all these features!"


Consultant Designed Success

by in Feature Articles on

Circa 2005, using XML and XSLT to generate HTML was all the rage. It was cool. It was the future. Anyone who was anyone was using it to accomplish all-things-web. If you were using it, you were among the elite. You were automatically worth hiring for any programming-related task.

Overly complex UML diagram

Back then, Richard was working at a small web development company. In this case, "small" means the boss, whoe was a bright guy, but who had absolutely no knowledge of anything -web, -computer or -technology related would make all decisions relating to hiring, purchasing technology and creating technology procedures.


The Address Shuffle

by in CodeSOD on

The best thing about being a consultant, in Ashleigh's opinion, was that you got to leave at the end of a job- meaning you never had to live with the mistakes your pointy-haired supervisor forced on you.

August 1970 DETAIL ORNAMENTED MAILBOX - Morris-Butler House, 1204 North Park Avenue, Indianapolis, Marion County, IN HABS IND,49-IND,9-13


Free (New) TDWTF Mug Day!

by in Announcements on

Last year around this time, we did a Free T-Shirt Day. You all gave some great feedback, so I thought we'd try it again with a Free Mug Day!

My company, Inedo, will be once again sponsoring this round of The Daily WTF mugs. Although we haven't yet released our v5 of BuildMaster yet, we've made a lot of big improvements since last year, and thought this would be a good opportunity to show them off. The mugs will be the same, serious grade as always -- but this time, they'll feature the brand-new logo (unlike the one below).


Limit as Sense Approaches Zeno

by in Tales from the Interview on

It’s an uncomfortable truth in our enlightened, 21st-century utopia, but we often don’t know how to deal with people that deviate slightly from the norm. Jim knows a thing or two (or three) about this, because he has a Bachelors of Science with three majors: Computer Science, English, and Mathematics. Let’s not dwell on how such a thing could be possible; consider instead the strangest reaction Jim ever encountered to his unusual credentials.

Cauchy Sequence


A Small Closing

by in CodeSOD on

Dario got a call that simply said, “Things are broken.” When he tried to get more details, it was difficult for the users to pin it down more clearly. Things would work, then they wouldn’t. The application would run, then it would hang, then it would suddenly start working again.

Wells Street Station closed.jpg


Practice What You Preach

by in Error'd on

"I think Oracle might want to read one of their own books on how to use MySQL," writes Mike.


The ShaoLinux Monk

by in Feature Articles on

Looking at the resumé, Paul felt like they’d found the perfect person for their data warehouse project. The resumé had all the relevant qualifications and experience needed to make a remarkable ETL tool. Paul talked to the candidate, Brad, briefly during the interview process. “It says here that you’re proficient with Linux and have extensive database knowledge.”

Jonny Blu Martial Arts Demo - Still Photo 1.png
by Daofengmusic - Own work


Efficient WTFery

by in Coded Smorgasbord on

Some horrible code is acres of awful, thousands of tortured lines of mess and horror. Some developers can compress their WTFs down into a handful of lines.

For example, Zlatko was working with a Node.js developer who was big on unit tests. Unfortunately, that developer didn’t understand that you couldn’t write a synchronous test for an asynchronous method- the test will always pass.


Barely Broken In

by in Feature Articles on

One day in winter, during that blissful dead stretch between Christmas and New Year’s, Chris was startled out of a deep sleep. He reached for his blaring cell phone, squinting at the painfully bright screen.

Gfp-arkansas-mount-magazine-state-park-sign-at-the-top-of-signal-hill.jpg
by Yinan Chen


Variables Everywhere, But Not a Stop to Think

by in CodeSOD on

SharePoint. What can you say about it? Among other things, it's designed to help you manage and present content. It's supposed to make things easy for you. If you want some customization, just write some code to do whatever and configure it to run at the appropriate time for the appropriate page(s).

Of course, this leaves open the possibility that folks who may be something less than experts might author said customizations.


An Interesting, Cryptic, and Artistic Error

by in Error'd on

"Proof that there's a poet living deep within each of us...even developers," Ed writes.


Accurate Comments

by in CodeSOD on

Kevin L saw the program crash with a null pointer exception. This lead to digging through stack traces, logs, and eventually the commit history to figure out who was responsible.

Gauze Pad

The code itself is a simple “string padding” function, the sort of thing that when people screw it up, you just have to wonder why. This variation on that theme, however, gives us that rare treat: an accurate comment that describes the function.


Getting Wired

by in Feature Articles on

It had been a very long weekend.

On Friday, the CIO of Brendan’s company announced that something big was in order and details would be revealed Monday morning. Questions quietly circled around the office for the rest of that day. Were people getting laid off? Was a customer unhappy and withholding payment? Was the software division being sold to East Kerblekistan?


Abuse of Properties

by in CodeSOD on

Every .NET programmer is familiar with the concept of properties. They’re a nice language feature, allowing the programmer to inject little bits of logic into the process of retrieving or setting the value of a field. A getter can, for example, lazily initialize a field when it’s first used, and a setter can validate the value before it’s set. Even a simple property with no logic beyond providing access to a backing field can be made useful by appearing in an interface or being overridden by a derived class.

An important aspect of properties is that to the outside user, they appear almost no different from a regular field. As such, they’re supposed to behave like regular fields. Any visible side effects beyond what’s necessary are heavily frowned upon, and the developer who uses the property can reasonably expect it to provide transparent access to data from his point of view.


London and Amsterdam TDWTF Meet-ups

by in Announcements on

I'll be in London this week (Thus Feb 12) and Amsterdam next (Tues Feb 17), and thought it'd be a perfect opportunity for another The Daily WTF meet-up. Here's a pic from a previous year's London meet-up:


Role Reversal

by in Tales from the Interview on

Ki and Morgan had an on-again, off-again relationship, but not because they couldn’t commit; Morgan was Ki’s dedicated recruitment agent at Impracticable Resources. Ki had to admit he left every other recruiter she’d dealt with in the dust. That’s why she was excited when he described the position at Initech: Ki had started as a web designer and migrated into Java development, and Initech was looking for exactly that to be the glue between their Java and UX teams. Eight short weeks ago, the initial phone screen had gone well.

Mirror

Gerard was Ki’s would-be boss’s name, and warned her straight away that Initech was procedure-friendly; every box on their list had to be ticked and accompanied by its own list of ticked box-ticking-assurance boxes, supplemented by a list of ticked box-ticking-assurance-box-ticking-assurance boxes before they could bring her on board.


Vacuums and Prints 20 Pages Per Minute!

by in Error'd on

"At first, I was a little skeptical about buying a 3rd party battery, but after looking at the extra features, I'm sold!" writes Emily S..


How to Validate a URL

by in Representative Line on

INTERNET!There's an old joke among programmers, particularly those who have had to use regexes more often than they're comfortable with:

Some people, when confronted with a problem, think "I know, I'll use regular expressions." Now they have two problems.
It's a seductive trap: Regexes are good at processing strings, and are more complex than your usual string-processing utilities, so it seems logical to use regexes to do advanced string-parsing. But regular expressions are not meant to do arbitrary string parsing. Regular expressions are meant to parse regular languages. Furthermore, regular expressions are notoriously hard to read, resulting in, what appears to be, a string of random characters sneezed out all over your screen. For example, consider the following that's used for parsing a valid URL:


Regex regex =new Regex(
  @"^((((H|h)(T|t)|(F|f))(T|t)(P|p)((S|s)?))\://)?(www.|[a-zA-Z0-9].)[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,6}(\:[0-9]{1,5})*(/($|[a-zA-Z0-9\.\,\;\?\'\\\+&%\$#\=~_\-]+))*$"
);


To Spite Your Face…

by in Feature Articles on

“I’ve got a gig for you,” said the recruiter.

Clive, like many freelancers, weighed the contents of his bank account versus the daily rate he was promised, and decided that any gig was for him under those conditions. This one sounded mostly okay; an insurance company needed a new software package that would help them leap through some regulatory hoops. As a bonus, they wanted someone who could teach their devs the latest tools and techniques… like source control.


Head in the Tag Cloud

by in CodeSOD on

When most folks create something, be it carved, welded or coded, they take pride in what they're creating. It's a reflection of their soul. It's personal. They care.

However, once you tell someone that their stuff will be in or on something that is someone else's responsibility (aka.: problem), they often take less care in what they're putting there.


Wrongness

by in Feature Articles on

Wrong Way Sign"You BASTARDS! You stupid little brats! Don't you even dare to try that again, ya hear me?! YA HEAR ME, PUNKS?!"

It was a quiet day at the IT department. For the last few weeks, the team has hit a dry spell – there were hardly any calls, and they spent most of the days desperately trying not to die of boredom. Ron managed to dig up an old copy of Counter-Strike and was currently getting his ass handed to him.