OR 

Classif WTF: The Virtudyne Saga

As we usually do around this time of year, its summer break season for TDWTF. This week, were going to rerun some old classics, starting with this legend from 2006, compiled into a single article. --Remy The Virtudyne saga (published 2006-Oct-10 through 2006-Oct-13) is my all time favorite. It tells the story of the rise and fall of Virtudyne, one of the largest privately-financed (200M) disasters in our industry. Like most articles published he

favicon of http://thedailywtf.com

CodeSOD: Foggy about Security

Maverick StClare‘s company recently adopted a new, SaaS solution for resource planning. Like most such solutions, it was pushed from above without regard to how people actually worked, and thus required the users to enter highly structured data into free-form, validation-free, text fields. That was dumb, so someone asked Maverick: ‘Hey, could you maybe write a program to enter the data for us?‘ Well, you‘ll be shocked to

favicon of http://thedailywtf.com

Classic WTF: Common Sense Not Found

Its the Forth of July in the US, where we all take a day off and launch fireworks to celebrate the power of stack based languages. While we participate in American traditions, like eating hot dogs without buns, enjoy this classic WTF about a real 455hole. --Remy Mike was a server admin at your typical everyday Initech. One day, project manager Bill stopped by his cube with questions from Jay, the developer of an internal Java application. &lsq

favicon of http://thedailywtf.com

CodeSOD: Is the Table Empty?

Sean has a lucrative career as a consultant/contractor. As such, he spends a great deal of time in other people‘s code bases, and finds things like a method with this signature: public boolean isTableEmpty() Already, you‘re in trouble. Methods which operate directly on ‘tables‘ are a code-smell, yes, even in a data-driven application. You want to operate on business objects, and unless you‘re a furniture store, tab

favicon of http://thedailywtf.com

Representative Line: Got Your Number

You have a string. It contains numbers. You want to turn those numbers into all ‘0‘s, presumably to anonymize them. You‘re also an utter incompetent. What do you do? You already know what they do. Jane‘s co-worker encountered this solution, and she tells us that the language was ‘Visual BASIC, Profanity‘. Private Function ReplaceNumbersWithZeros(ByVal strText As String) As String ReplaceNumbersWithZeros =

favicon of http://thedailywtf.com

Flobble

The Inner Platform Effect, third only after booleans and dates, is one of the most complicated blunders that so-called developers (who think that they know what theyre doing) do to Make Things Better. Combine that with multiple inheritance run-amok and a smartass junior developer who thinks documentation and method naming are good places to be cute, and you get todays submission. Chops,an experienced C++ developer somewhere in Europe, was w

favicon of http://thedailywtf.com

Walking on the Sun

In 1992, I worked at a shop that was all SunOS. Most people had a Sparc-1. Production boxes were the mighty Sparc-2, and secretaries had the lowly Sun 360. Somewhat typical hardware for the day. Sun was giving birth to their brand spanking new Solaris, and was pushing everyone to convert from SunOS. As with any OS change in a large shop, it doesnt just happen; migration planning needs to occur. All of our in-house software needed to be ported

favicon of http://thedailywtf.com

CodeSOD: External SQL

Externalize your strings is generally good advice. Maybe you pull them up into constants, maybe you move them into a resource file, but putting a barrier between your code and the strings you output makes everything more flexible. But what about strings that arent output? Things like, oh database queries? We want to be cautious about embedding SQL directly into our application code, but our SQL code often is our business logic, so it makes sense

favicon of http://thedailywtf.com

CodeSOD: An Eventful Career Continues

You may remember Sandra from her rather inglorious start at Initrovent. She didnt intend to continue working for Karl for very long, but she also didnt run out the door screaming. Perhaps she should have, but if she had- we wouldnt have this code. Initrovent was an event-planning company, and thus needed to manage events, shows, and spaces. They wrote their own exotic suite of software to manage that task. This code predates their current source

favicon of http://thedailywtf.com

Error‘d: All the Way from Sweden

And to think, this price doesnt include assembly, wrote Adam G. Martin B. writes, Dont worry...Im sure youll find your group eventually. As always I appreciate Googles relevant search results for dealing with specific issues in the office, Michael T. wrote. Bruce W. writes, How exactly were podcasts distributed in 1938? 45 RPM Record-of-the-Month club? Also, anyone have have some of those 2038 podcasts? I realize the page says its free, b

favicon of http://thedailywtf.com

A Hard SQL Error

Padma was the new guy on the team, and that sucked. When youre the new guy, but youre not new to the field, theres this maddening combination of factors that can make onboarding rough: a combination of not knowing the product well enough to be efficient, but knowing your craft well enough to expect efficiency. After all, if youre a new intern, you can throw back general-purpose tutorials and feel like youre learning new things at least. When yo

favicon of http://thedailywtf.com

Sponsor Post: Error Logging vs. Crash Reporting

A lot of developers confuse error and crash reporting tools with traditional logging. And it‘s easy to make the relation without understanding the two in more detail. Dedicated logging tools give you a running history of events that have happened in your application. Dedicated error and crash reporting tools focus on the issues users face that occur when your app is in production, and record the diagnostic details surrounding the problem

favicon of http://thedailywtf.com

CodeSOD: A Symbol of Bad Code

As developers, when we send data over the network, we can usually safely ignore the physical implementation of that network. At some level, though, the bits you‘re sending become physical effects in your transmission medium, whether it‘s radio waves or electrical signals. You can‘t just send raw bits over the wire. Those bits have to be converted into a symbol suitable for the transmission medium. Symbols could be the dots-and-

favicon of http://thedailywtf.com

Error‘d: Is Null News Good News?

The Eugene (Oregon) Register-Guard knows when its a slow news day, null happens, Bill T. writes. 12 months for free or a year for not free...so hard to choose! writes Paige S. Rodrigo M. wrote, GlobalProtect thinks the current version I have installed is not very good, so why not upgrade by downgrading? After flying with Norwegian airways I got a mail asking to take the survey, Nathan K. wrote, Now I apparently need to find out how to file

favicon of http://thedailywtf.com

Reproducible Heisenbug

Matt had just wrapped up work on a demo program for an IDE his company had been selling for the past few years. It was something many customers had requested, believing the documentation wasnt illustrative enough. Matts program would exhibit the IDEs capabilities and also provide sample code to help others get started on their own creations. It was now time for the testers to do their thing with the demo app. Following the QA teams instruction

favicon of http://thedailywtf.com

Error‘d: Testing English in Production

Philip G. writes, I found this gem when I was on the Windows USB/DVD Download Tool page (yes, I know Rufus is better) and I decided to increment the number in the URL. Using a snowman emoji as a delimiter...yeah, I guess you could do that, writes George. Seb wrote, These signup incentives are just a little too variable for my tastes... Wow. Vodafone UK really isnt selling the battery life of the Samsung Galaxy J3...or maybe theyre just bein

favicon of http://thedailywtf.com

CodeSOD: To Read or Parse

When JSON started to displace XML as the default data format for the web, my initial reaction was, Oh, thank goodness. Time passed, and people reinvented schemas for JSON and RPC APIs in JSON and wrote tools which turn JSON schemas into UIs and built databases which store BSON, which is JSON with extra steps, and it makes you wonder what it was all for. Then people like Mark send in some code with a subject, WHY??!??!. Its code which handles some

favicon of http://thedailywtf.com