OR 

Error‘d: Do Not Read The Daily WTF

Neil S. wrote, MSN UKs reverse psychology marketing angle is pretty edgy. Batman Lorem was a surprise flop at the box office, writes Art O. Klaus asks, Do I want to know, why Feedly associates Coffee with restrooms? Those idiots, I clearly asked for null_-532419553! wrote Raymond D. Nigel writes, I just hope their drugs arent as genuine as their Windows licenses. At this point, I dont even remember how long Id been waiting to get to th

favicon of http://thedailywtf.com

CodeSOD: Swing and You‘re Out

George G was hired to do some UI work for a company which sold a suite of networking hardware. As networking hardware needs to be highly configurable, George was hired on to do ‘some minor tweaks‘ to the UI. ‘It‘s just some sizing issues, fonts, the like. I‘m sure you‘ll do something to the stylesheets or whatever,‘ said the boss. The boss didn‘t know what they were talking about. The UI for some o

favicon of http://thedailywtf.com

CodeSOD: Doubly Encrypted Logins

Providing authentication for your web-based APIs is both a challenging problem but also a largely solved problem. The hardest part is really just working your way through the various options, and from there it‘s usually some variation on a drop-in component. Done properly, it‘s also client-agnostic. I can access the service from my browser, I can access it from a thick client, I can access it from cURL. Done incorrectly, well, you ge

favicon of http://thedailywtf.com

Error‘d: No Matter Where You Go...an Error is There

Michael P. wrote, Only two minutes and a couple of blocks from my destination, Waze decided I should take a 2-hour, 80-mile detour. Thanks, Frys, but I dont think Ill be needing a raincheck if you run out of those specials, Todd C. writes. I was digging around in the settings for the Outlook Web app and, well, its good to see that even Microsoft has trouble with dates sometimes, John W. writes. Dan writes, In a situation like this, one woul

favicon of http://thedailywtf.com

CodeSOD: Ancient Grudges

Ignoring current events, England and the rest of Europe have had a number of historical conflicts which have left a number of grudges littered across the landscape. Andro V lives in Norway, but is remotely collaborating with an English developer. That English developer wants their peers to know that Sweyn I and Thorkell the Tall‘s invasions of southern England will never be forgotten. /// summary /// A counter that is to be read in reverse

favicon of http://thedailywtf.com

CodeSOD: Remove This

Denae inherited some 90s-era GUI code. The original developers have long since gone away, and the source control history has vanished into oblivion. In the 90s, the Standard Template Library for C++ was still very new, so when Denae needs to debug things in this application, it means doing some code archaeology and picking through home-brewed implementations of common data structures. Denae‘s most recent bug involved understanding why some

favicon of http://thedailywtf.com

It‘s The End Of The Month As We Know It

If you ask an engineer whether its safe to cross a bridge, hell happily walk you through how safe bridges are, how the mathematics work out, how far weve come in structural safety. Youll come away from the conversation feeling confident that no bridge will ever collapse anywhere on the face of the Earth. If you ask a software engineer about banks, however, youll likely come away terrified, with a 50/50 chance youre now convinced to put all your

favicon of http://thedailywtf.com

CodeSOD: Offensively Defensive Offense

Sometimes, the best defense is a good offense. Other times, the best offense is a good defense. And if you‘re not sure which is which, you‘ll never be a true strategic mastermind. Tina‘s co-worker understands that this is true for defensive programming. Always, always, always catch exceptions. That‘s a good defense. Project getProject() { Project projectToReturn = null; try { projectToReturn = new Project();

favicon of http://thedailywtf.com

How It‘s Made

People like hot dogs until they see how its made. Most people dont ask, because they dont want to know and keep eating hot dogs. In software, sometimes we have to ask. Its not just about solving problems, but because what scares some programmers is the knowledge that their cars software might be little more than the equivalent of driving duct-taped toothpicks down the highway at 70MPH. Our entire field is bad at what we do. Brett worked as a syst

favicon of http://thedailywtf.com

Exceptionally Serial

You may remember Kara, who recently found some interesting serialization code. Now, this code happens to be responsible for sending commands to pieces of machine equipment. Low-level machine interfaces remain one of the domains where serial protocols rule. Serial communications use simple hardware and have minimal overhead, and something like RS232 has been in real-world use since the 60s. Sure, its slow, sure its not great with coping with noise

favicon of http://thedailywtf.com

CodeSOD: Switching to Offshore

A lot of ink has been spilled talking about the perils and pitfalls of offshore development. Businesses love paying the wage arbitrage game, and shipping software development tasks to an outside vendor and paying half the wage they would for a dedicated employee. Of course, the key difference is the word ‘dedicated‘. You could have the most highly skilled offshore developer imaginable, but at the end of the day: they don‘t care

favicon of http://thedailywtf.com

Sponsor Post: Free TDWTF Mug Day 2019

Long time, no mug! Its been an insanely long time since weve held a Free TDWTF Mug Day. So long that Im sure most of you have forgotten the joy that is free mug day. Heres how it works: Ive been pretty excited about BuildMaster 6.1, in part because it returns the product to my original vision of helping developers focus on writing great software instead of worrying about how to build, test, and deploy it from source code to production. Or, CI/CD

favicon of http://thedailywtf.com

CodeSOD: The Value of Your Code

‘We know that governmental data-systems aren‘t generally considered ‘cutting edge‘ or ‘well architected‘, but we‘ve brought together some top flight talent, and we‘re building a RESTful architecture that guarantees your code gets nice, easy-to-consume JSON objects.‘ That‘s what Oralee B. was told when she was hired to work on it. The system owned pretty much the entirety of the municipa

favicon of http://thedailywtf.com

Portage and Portability

Many moons ago, when PCs came housed within heavy cases of metal and plastic, Matt Q. and his colleague were assigned to evaluate a software package for an upcoming sales venture. Unfortunately, he and the colleague worked in different offices within the same metro area. As this was an age bereft of effective online collaboration tools, Matt had to travel regularly to the other office, carrying his PC with him. Each time, that meant unscrewing

favicon of http://thedailywtf.com

CodeSOD: Virtually Careful

Inheritance is one of those object-oriented features whose importance is perhaps overstated. When I was first being introduced to OO, it was a lot of ‘code reuse!‘ and ‘polymorphism!‘ and ‘code reuse!‘ In practice, inheritance is usually a way to tightly couple two different classes and create more headaches and rework in the future. That‘s why many OO languages favor interfaces, and why the classic Gang

favicon of http://thedailywtf.com

CodeSOD: The God Page

Mike inherited a data-driven application. Once upon a time, it started out pretty well architected. Yes, it was in PHP, but with good architecture, solid coding practices, and experienced developers, it was simple and easy to maintain. Time passed. The architects behind it left, new developers were hired, management changed over, and it gradually drifted into what you imagine when you hear PHP app in 2019. Mikes task was to start trying to clean

favicon of http://thedailywtf.com

Error‘d: Killer Errors

Adam wrote, I hear that NewFeature1 is a real, ahem, killer feature of these Wi-Fi drivers. Gigabyte Easy Tune6 installer must release to the failure! There is no other option! writes Jeff B. DPD is having a really hard time guessing which month my Ebay delivery will take place, Rupert W. writes. So this USB expander can power all my peripherals, an old timey typewriter, AND a fan? Sold. My wife is flying from Chicago to Atlanta and had t

favicon of http://thedailywtf.com

CodeSOD: For Each Parallel

Parallel programming is hard. For all the advancements and tweaks weve made to our abstractions, for all the extra cores weve shoved into every CPU, deep down, software still carries the bias of the old uni-tasking model. Aleksei P works on a software package that is heavily parallel. As such, when interviewing, he talks to candidates about their experience with .NETs Task objects and the async/await keywords. One candidate practically exploded w

favicon of http://thedailywtf.com