OR 

CodeSOD: An Emailed Condition

For a change of pace, the code in this CodeSOD isn‘t the real WTF. Our Anonymous submitter works for a company that handles meeting scheduling for corporate customers. This entails shipping off loads of HTML-emails, and that means using a relatively terrible WYSIWYG editor that generates code like this: p class=MsoNormalstrong style=color: #003877;Meals/strong/p p class=MsoNoSpacing span style=font-size:9.0pt;font-family: verdana,sans-seri

favicon of http://thedailywtf.com

Nature In Its Volatility

About two years ago, we took a little trip to the Galapagos- a tiny, isolated island where processes and coding practices evolved a bit differently. Calvin, as an invasive species, brought in new ways of doing things- like source control, automated builds, and continuous integration- and changed the landscape of the island forever. Or so it seemed, until the first hiccup. Shortly after putting all of the code into source control and automating

favicon of http://thedailywtf.com

Disk Administrations

It was a mandatory change control meeting. Steven S.‘s department, a research branch of the Ministry of Social Affairs and Health in Belgium, assembled in a cramped meeting room without enough chairs for everyone. Camille, head of IT, was nonplussed. These orders come directly from Security, she began. Just last month, we monitored over a hundred attempts to break into the HCP. The Home Care Platform was a database of citizens‘ reque

favicon of http://thedailywtf.com

Cut Short

Marcus worked on a small networking team responsible for keeping a series of UK-based garages interconnected with the world-wide web. Seymour, the Team Leader (in title only), knew far less about networking than Marcus, but that didn‘t stop him from acting like the big shot. Seymour was working a cash register at the original garage several years ago when the owner asked him, "You‘re a young guy, right? That means you know how the int

favicon of http://thedailywtf.com

CodeSOD: Synchronized Threads

Tim was debugging one of those multithreading bugs, where there appeared to be a race condition of some kind. The developer who had initially written the code denied that such a thing could exist: It‘s impossible, I used locks to synchronize the threads! Well, he did use locks at the very least. /// summary /// Performs the synchronisation /// /summary /// param name=stateCurrent state/param private void Synchronize(object state) { //

favicon of http://thedailywtf.com

CodeSOD: Drop it Like it‘s a Deployment

Zenith‘s company went ahead on and outsourced 95% of their development to the lowest bidder. Said bidder promised a lot of XML and MVC and whatever TLAs sounded buzzwordy that day, and off they went. It‘s okay, though, the customer isn‘t just taking that code and deploying it- Zenith gets to do code reviews to ensure code quality. The general flow of the post-code-review conversation goes something like: Zenith: This code shou

favicon of http://thedailywtf.com

CodeSOD: Attack of the "i" Creatures

Mrs S works for a large software vendor. This vendor has a tendency to quickly increase staffing to hit arbitrary release targets, and thus relies heavily on contractors. Since they‘re usually doing this during a time crunch, these contractors may have a dubious skill set. They also don‘t care. There is no documentation, no tests, and no explanation. They are just paid tho write the code, not maintain it. They‘ll be on another

favicon of http://thedailywtf.com

Tales from the Interview: The 5% Candidate

There are many kinds of jackasses in this world, from the pretentious prick to the smug cynic. Each has their own flavor of awfulness, their own way of making you hate not only them but the entire world that gave birth to them. This story is about one kind of jackass in particular, perhaps the most classic flavor: the man so sure of his own greatness that he becomes enraged at the world whenever it fails to bow before his massive intellect. Yo

favicon of http://thedailywtf.com

Credential Helper

John S. worked with a customer who still owned several Windows 2008/R2 servers. Occassionally during automated management and deployments, these machines threw exceptions because they weren‘t configured for remote management.One day, John caught an exception on a SQL box and remoted in to address the problem. The RDP login process always felt like accessing a portal into the distant past. This time, just after the ancient Windows interfa

favicon of http://thedailywtf.com

Error‘d: Ride the URL Line

Michael R. wrote, "So, https://TfL.Gov.UK...does that bus go on the ‘Information Superhighway‘?" "BREAKING NEWS: The LA Times web edition demonstrates their solid understanding of single-column layout," writes Mitch T. Michael wrote, "Why buy 5 for 5 if you can have 5 for 6?" Adam K. writes, "So close! Only 734 petabytes short for copying this file which is already on my laptop disk..." "Needless to say, I declined to respond.

favicon of http://thedailywtf.com

Representative Line: Groovy Typing, Man

Groovy was one of those programming languages that spent about six months as the trendy language du jour, and I haven‘t heard much about it since. If I were to learn it, I‘d want to learn by example- going through real-world Groovy code and seeing how it works. An anonymous submitter has provided one sample for me to learn from: ListString items = new ArrayListString(Arrays.asList(data.split(,))) String itemOne = items[2].toString()

favicon of http://thedailywtf.com

Featurette: Hired!

As you know, Hired has been sponsoring the site for the past few months. I went behind the scenes to have a brief chat with Michael Mitchell, a full stack web engineer focused on their Candidate Experience features. To ease in, I started with the only truly important question about life at Hired: how‘s the coffee. It‘s amazing, Michael replied. We have an operations coordinator that worked at a few large coffee roasters, so she tak

favicon of http://thedailywtf.com

Sponsor Post: Featurette: Hired!

As you know, Hired has been sponsoring the site for the past few months. I went behind the scenes to have a brief chat with Michael Mitchell, a full stack web engineer focused on their Candidate Experience features. To ease in, I started with the only truly important question about life at Hired: how‘s the coffee. It‘s amazing, Michael replied. We have an operations coordinator that worked at a few large coffee roasters, so she tak

favicon of http://thedailywtf.com

Error‘d: D.O.A.

John A. writes, "Um, you know, I don‘t think this was a brilliant idead." "Well, actually, let me describe how I can help you," writes Bruce W. "I‘m fairly certain it‘s supposed to compress my data, and not the free space," Carter K. wrote. (and yes, that is DriveSpace 3. On Windows 98. On a non-standard format 720K 5.25" floppy disk.) "The problem with JIRA is that I have to use it. Yup. That‘s about right," wrote

favicon of http://thedailywtf.com

CodeSOD: Object Relational Mangling

Writing quality database code is a challenge. Most of your commands need to be expressed in SQL, which is a mildly complicated language made more complicated by minor variations across databases. Result sets often have a poor mapping to our business logic‘s abstractions, especially in object-oriented languages. Thus, we have Object-Relational-Mapping tools, like Microsoft‘s EntityFramework. With an ORM, you use an object-oriented a

favicon of http://thedailywtf.com

Error‘d: A Test-imonial

"You know, usually these statements are just marketing B.S., but I think this guy‘s got the right idea," wrote Philip K. "Windows 10 forgot it is 2017 when it decided my USB stick was in fact, a floppy drive," writes Joshua R. "Sydney Ferry Service‘s really uses Vista‘s ‘overlapping WTF‘ technology effectively," Matthias writes. Hans wrote, "So, let me see if I understand this - my password strength is weak thou

favicon of http://thedailywtf.com

CodeSOD: Protect Your Property

Given the common need to have getter/setter methods on properties, many languages have adopted conventions which try and make it easier to implement/invoke them. For example, if you name a method foo in Ruby, you can invoke it by doing: obj.foo = 5. In the .NET family of languages, there‘s a concept of a property, which bundles the getter and setter methods together through some syntactical sugar. So, something like this, in VB.Net. P

favicon of http://thedailywtf.com