Feed the-daily-wtf The Daily WTF

Favorite IconThe Daily WTF

Link http://thedailywtf.com/
Feed http://syndication.thedailywtf.com/TheDailyWtf
Updated 2026-01-25 15:16
Error'd: Some Southern Exposure
Never let it be said that we at TDWTF dish it out and can't take it.Morgan immediately dished"I'm not sure what date my delivery will arrive but I will {PlanToBeAtHomeWhenItDoes}."
CodeSOD: Validation Trimmed Away
Grace sends us, in her words, "the function that validates the data from the signup form for a cursed application."It's more than one function, but there are certainly some clearly cursed aspects of the whole thing.
CodeSOD: NUrll
Grace was tracking down some production failures, which put her on the path to inspecting a lot of URLs in requests. And that put her onto this blob of code:
CodeSOD: Well Timed Double Checking
Last week's out of order logging reminded Adam R of a similar bug he encountered once.The log files looked like this:
Marking Territory
There's something about hierarchical arrangements that makes top-down interference utterly irresistible to many managers and executives. Writers may also experience similar strife with their editors, a phenomenon Robert Heinlein described with the perfect metaphor: "After he pees in it himself, he likes the flavor much better."Sometimes, a leader leverages their hard-won wisdom and experience to steer a project onto a better path. But, all too often, someone's imagined wisdom and starving ego force a perfectly good train off the rails.Today, our friend and long-time submitter Argle shares an example of the latter:
Error'd: Chicken Feed
"Zero balance due now!" shouteddavethepirate"To be fair, I had disputed a charge on a bill and they finally relented which should have actually resulted in them owing me $1.01, but I'm happy with the win." I'm sure yarr.
CodeSOD: A Sudden Tern
Matthias sends us what he calls the "tern of the century". Which, before I share it with you: bad news, it's just a regular bad ternary. But it remains bad in interesting ways, so it's definitely worth talking about. But let's not oversell it.
CodeSOD: Going Through Time
Philipp H was going through some log files generated by their CI job to try and measure how long certain steps in the process took. He took the obvious path of writing code to read the logfiles, parse out the timestamps, and then take the difference between them.Everything worked fine, until for certain steps, a negative timestamp was reported:
CodeSOD: A Pirate's Confession
Today we have a true confession from Carl W. It has the benefit of being in R, which means that at a glance, I just assume "eh, looks fine to me." I guess I'm turning into Jimbo.But let's dig into it. Carl's first snippet is this:
The Modern Job Hunt: A Side Quest
Over the past few months, Ellis has been sharing the challenges of the modern job hunt. As I'm one week into my new gig, after a weird and protracted search, I thought I'd add my two cents, because kids: it's nasty out there, for sure.So, for starters, I wrapped up my time working on space robots, and have shifted over to farm robots. That's right, I'm a farmer now. While it may be less glamorous, the business prospects, and thus the prospects of continued employment, are better. That said, I'm working with a startup so I wouldn't say it's all that safe. Still, good change for now, and maybe I'll talk a bit more about what that's like at some point. But that's not where I want to focus today.While my job search was shorter than many folks- about two and a half months- it was still a difficult trek. The biggest thing to my advantage is that embedded software engineers are in low supply relative to their demand. Also, the training data for embedded software remains a very small proportion of AI training sets, so LLMs remain pretty bad at it. It's a good subfield to be in, right now.And yet, the market still sucks.Now, I'm an old person, which means I distribute resumes more as a k-selector than an r-selector. I wasn't sending out hundreds of resumes, but I did send out dozens, which honestly is much more than I usually do by an order of magnitude. Of the dozens I sent out, I scored four interviews, one of which was a cold call from a recruiter, which we'll talk about.Getting RailedOne interview was with a company in the railway industry. I spoke with their internal recruiter, and we discussed what kind of work I was doing, and what I'd like to be doing. It went well, and led to a call with the team. And that's where I found out they were hiring for a management position, not an engineering position. I was wildly unprepared for that conversation, and both sides of the conversation felt weird and awkward about it. Our expectations were misaligned, and by the end of it, neither I nor they wanted to continue the conversation. The commute would have been terrible, so no real loss from my perspective, but boy, am I annoyed with that recruiter.Nuke ItA second conversation, which I'm not counting as an interview, since I only spoke with the recruiter, was with a local contracting company. They handle a lot of government contracts (up to and including work on nuclear weapons), and were looking to staff up. The conversation with the recruiter went well, she had a number of positions (not involving nuclear weapons) that she wanted to recommend me for. She warned me that, as it was the end of the year, things might not move until early this year. I was fine with that. Things did move, though, right in the middle of the holidays I got an email saying the organization wasn't going to move forward with my candidacy. No further insight was provided, but given how enthused the recruiter was, I was mildly surprised. But I have a suspicion about what happened, based on two other positions.Fancy RobotsOne position was for another local robotics company. They had a brand spanking new office, had just matured their main product into something really polished and sell-able, had an on-site cafeteria and were eager to hire. Their interview process was a bit involved with a number of phone screens in addition to the whole day on-site, but everyone was great to work with. They had big scaling plans, and there were going to be plenty of positions behind me to bring on."We're going to get you your offer letter Monday or Tuesday of next week," their internal recruiter told me. "It's just our leadership team is at a summit, and we need them back before we send out offers."That was a weird thing to hear. It seems to me that you should be able to hire an engineer without clearing it with leadership, but what do I know? Monday came and went. Tuesday came. The recruiter called me back: "So, we're not hiring anyone for any position at this time." She was extremely apologetic, related how much the team was disappointed that they couldn't bring me on, and that if positions re-opened I was at the top of the list for hiring. I found out later that the company did a round of layoffs, and the recruiter (who was great through the whole process) was a victim of them.Left ColdA different position came from a cold call from a third-party recruiter. Now, I don't normally give third-party recruiters the time of day. I think, as an industry, they are parasites and scum, and generally more interested in their commission than making either employees or employers happy. But this position was doing embedded work for high-end audio-visual equipment for broadcasters, and was a massive raise. Oh, and it was 100% remote.I verified that this company was real, actually shipped products, and had a decent reputation in the industry. So with that, I decided to hear the recruiter out."They're really eager to hire," he said. "So the plan is this: we're going to set up one single panel interview for an hour. Everyone who needs to be involved in the decision will be there. After that, they'll review, and give you a thumbs up thumbs down ASAP."That was a terrifyingly short interview, for both sides, but I've gotten some great jobs that way, so I was down for it. It went great, everyone was happy. Everyone on the call wanted to move forward with hiring. There was just one problem: not everyone who was supposed to be making the decision was there. A member of their leadership team missed the interview. And they couldn't move forward without this gentleman's thumbs up.This lead to weeks of back and forth with the recruiter. They went from "eager to hire" to the recruiter saying "I don't know, I can't get anyone on the phone."Once again, the end of the story is that they opted to not hire for any roles, and yes, a round of layoffs ensued.On ReadWhile we're talking about recruiter cold calls, I got a cold text from a recruiter. I didn't particularly like that on its own, but hey, it's the modern era, everyone communicates via text. Worse, it was a significant down-level and salary decrease. So I replied back that I wasn't interested.
Error'd: Twofers
This week's episode is brought to you by the number two."Two Error'ds in two months from these guys!" exclaim'dThad H.Frist was this, about which Thad snarked "Canada got rid of the penny years ago. I guess the 407ETR took that literally."
CodeSOD: The Review
Frequent contributor Argle Bargle (recently, or even in last week's Errord) works with a programmer called "Jimbo". Jimbo is a solid co-worker and a good programmer. He has more tenure at the company than Argle, which means Jimbo is who Argle goes to when he has questions.Recently, Argle worked his way through a rather complicated bit of code. It involved passing data between two different languages inside of a real-time system. Much of its functionality was opaque and complicated, so Argle wrote literal paragraphs of documentation explaining what the code did, how to invoke it, what the gotchas might be, and how to avoid them.Argle expected the pull request to take some time to complete, but Jimbo was on the spot and approved it quickly. Another reviewer chimed in, and in went the code.The next day, Argle and Jimbo were working together through some fresh code which depended on that request."Wait a second," Jimbo asked, "how does this data make it from one thread to another? It's mallocd. I don't see how it gets past that boundary.""You realize," Argle replied, "I documented this, in detail, in the code you reviewed yesterday afternoon.""Oh, that? I didn't read it.""That defeats the purpose of code reviews."Jimbo shrugged. "I'm sure it's fine."Argle writes:
Un-break-able
Ever feel like it'd all fall to pieces if you so much as turned your head? In the comments section of our article seeking your seasonal horror stories, Wayne shared a holiday WTF of a different sort that's too good not to share:
CodeSOD: No Yes
It's common to see code in the form of if (false == true). We get a fair bit of it in our inbox, and we generally don't post it often, because, well, it's usually just a sign that someone generated the code. There's a WTF in that, somewhere, but there's not much to say about the code, beyond, "Don't generate code, pass data from backend to frontend instead."But Nicholas sends us one that shows a little more of interest in it.
Announcements: New Year, New You?
During the holiday season, we got some of your holiday WTFs. For the next few weeks, we'd love to see your New Year's Resolutions. Maybe ones for you- what WTF do you do that you want to stop doing? But mostly, we're looking for the resolutions you want to give other people- the teammate who microwaves salmon for lunch everyday (it's healthy protein bro), the pointy-haired-boss who thinks they can code because ChatGPT generates code, the company that thinks CI is too much of an expense. What in your day or workplace needs to take on a resolution for this year?Click submit and let us know! [Advertisement] Utilize BuildMaster to release your software with confidence, at the pace your business demands. Download today!
CodeSOD: The Utils
We know 2026 is not a leap year. But how do we know that? We need to call some function to find out.Steve sends us a bit of representative code; on it's own, it's not so bad, but with the broader context, it's horrifying:
Error'd: Two-faced
For the first Error'd of the future-facing year, we return to our most-hated pattern of every prior year. Namely, broken password mechanisms. Meanwhile, on a personal note, I'm sitting at a boarding gate behind a planeload of people who were scheduled on a flight 12 hours ago! Sure, first-world problems but hoo boy."I'll get on that right away" snapped longtime contributor Argle Bargle."I needed to make a helpdesk request. For some reason theythink I need to update my password. Sure, I can appreciatethat it's been a while since I've made any password change.The only catch is, I've only been with the company six months."
Best of…: Best of 2025: The Modern Job Hunt
Best of…: Best of 2025: The C-Level Ticket
Best of…: Best of 2025: The Sales Target
Best of…: Best of 2025: Too Many Red Flags
Error'd: Boxing Day Math
To be honest, math works the same way all year 'round. At least, it's supposed to."My Stack Exchange Inbox is Less Than Empty" declared Mike V."I guess this happens when you read a notification twice!"
Christmas in the Server Room III: The Search for Santa
How many times does it take to make something a tradition? Well, this is our third installment of Christmas in the Server Room, which seems pretty traditional at this point. Someday we'll run out of Christmas movies that I've watched, and then I'll need to start watching them intentionally. I'm dreading having to sit through some adaptation of the Christmas Shoes or whatever.In any case, we're going to rate Christmas movies on their accuracy of representing the experience of IT workers. One grants it the realism of that movie where Adam Sandler fights Pac-Man, while tells us that it's as realistic as an instructional video about the Turbo-Encabulator.Home AloneA Rube-Goldberg-quality series of misunderstandings and coincidences lead to bratty child Kevin being left... home alone through the holidays, defending his home from burglars, using a series of improvised, Rube-Golberg-quality booby traps, that escalate to cartoonish violence. The important lesson, however, is that the true meaning of Christmas is family.Like most cybersecurity teams, Kevin is under-resourced, defending an incredibly vulnerable system from attackers. His MacGyvered together collection of countermeasures all work, in the film, but none of them actually address the true vulnerabilities and could all be easily bypassed by a competent attacker.Kevin's traps are very much temporary solutions. But when temporary solutions become permanent, awful things can happen.Rating:Santa ClausThis one will be familiar to any MST3k fans. Santa Claus runs a North Pole factory on child labor and whimsical inventions. Oh, also, his North Pole factory is in space. On Christmas Eve, as he tours the world to reward good boys and girls, Satan sends a demon to tempt children into mild naughtiness. Once again, the true meaning of Christmas is being with those you love, unless you're one of the children in Santa's workshop. Those kids are working on Christmas.When things get truly dire for Santa, the children junior engineers staffing his workshop recognize that they can't manage the problem, so they fetch Merlin, the original greybeard. Yes, Merlin works for Santa, which implies that Santa and King Arthur may have met, and honestly, I'd rather watch that team-up movie. In any case, "terrified juniors clinging to a senior" is actually not very realistic. These days, the kids would just ask ChatGPT what to do, and end up putting glue on pizza.Rating:Violent NightWhat happens when we combine Santa Claus with Home Alone? We get the ultimate Santa-does-a-Die-Hard movie, Violent Night. Beverly D'Angelo plays Dick Cheney, an evil matriarch who runs a private military contractor and has stolen millions from US military operations abroad. Even more evil criminals take her family hostage to steal those millions. How are the criminals more evil than Dick Cheney? They're not only thieves, they also hate Christmas!The family is all horrible people, except for Trudy, the young girl who has been good all year and still believes in Santa Claus. And that means Santa is coming to town. With grenades and sledge hammers and machine guns. The movie also features one of the "best" uses of "Santa uses Christmas magic to go up the chimney" at the end.The entire villain plan is built around breaking into a super-protected electronic safe, and without spoiling too much, there's a twist in the film where someone has already broken into the safe, which makes one wonder how stupid the villains are (pretty stupid, actually). Also, while I understand the need for narrative convenience (and the Die Hard reference), the idea that the encrypted radios used by the evil villains, and the walkie talkie toy Trudy has to talk to Santa can actually operate on the same bands is... a bit of a stretch. RF bands and allocations and where and when you can use encryption is a whole thing.Rating:Christmas Card from a Hooker in Minneapolis - Tom WaitsA sex worker in Minneapolis sends a Christmas card to Charlie, presumably a former client or supervisor of hers, updating him on her life. With each verse her life seems to be getting better- until the final verse, which reveals it's all been a charade and she needs help. Like most Tom Waits songs, it's the story of the kind of person who is pushed to the fringes of society, tragic but hopeful, and loaded with empathy.I've recently been doing a job search of my own, and part of that has been "what dates did you work at $place?" and "give us some references?" and I realized that I'm terrible about keeping tabs on these kinds of things. The idea that I could send a Christmas card to a former client from years ago is absurd. Then again, how do we even know these cards get to Charlie? We just know that she wrote them, not that Charlie got them.Rating:I Am the Antichrist - The Dream EatersTwo songs this year? Are there even any rules anymore? The lord of the damned has a poppy intro track. I suppose this shouldn't go on a Christmas list, because it likely belongs at the antipodal part of the year. Y'know. Being the Antichrist and all.Rating:Star Trek II: The Wrath of KhanAn aging Captain Kirk is haunted by a mistake of his past: Khan Noonien Singh is back for revenge. This "Horatio Hornblower in Space" riff on Trek is packed with themes: revenge, sacrifice, the frightening power of technology, and an object lesson on why you shouldn't put things in your ears. It also proves that the best, most exciting space battles aren't swooping, wooshing, pew pew pews, but tense games of cat-and-mouse.As for its Christmas connections? What greater gift can Spock give to his crew but himself? His ultimate sacrifice is what ties the movie together, and of course, it means we got this incredible Christmas ornament out of it. Of all the Christmas spirits I have ever known, his was the most human.The whole prefix-code thing is a pretty incredible security blunder. A remote back door into any Starfleet vessel, guarded only by a 5 digit code? A 5 digit code that's stored in a database on every other starship? So if an enemy captures one vessel, they can thwart the entire fleet unless everyone updates their prefix code? That's a terribly security posture! And incredibly realistic! That is likely what the future will look like. So I guess that's a credible security blunder, if we're being pedantic.I bet they store the passwords in plain text too!Rating: [Advertisement] Keep the plebs out of prod. Restrict NuGet feed privileges with ProGet. Learn more.
Holiday Party
The holiday season is an opportunity for employers to show their appreciation for their staff. Lavish parties, extra time off, whatever. Even some of the worst employers I've had could put together a decent Christmas party.But that doesn't mean they all go right.For example, Mike S worked for one of those early music streaming startups. One year, the company booked a Russian restaurant in the neighborhood for the party. The restaurant was a gigantic space, with a ground level and a balcony level, but the company was only 70 people, so the company perhaps overbought for the party. Everyone stuffed themselves on appetizers and when the main course came out, it ended up as extremely fishy smelling leftovers in the office kitchen.Two years later, they booked a party at the same place. But lessons were learned: they only booked the balcony. This meant the ground floor was free for someone else to book, and someone else did. Another party booked the ground floor, and they booked an extremely loud Russian pop band to play it.The band was deafening and took absolutely no breaks. And while the previous time, everyone stuffed themselves on appetizers, this time there were barely any. But there also wasn't much main course coming out either. By 10PM, Mike was starving and deaf, so he left. At about 10:15, the food came out. But by then, most of the staff had left, which meant once again, the office kitchen got stuffed with very fishy smelling leftovers.There was not a third Russian party.Rachel went to her partner's holiday party. This large tech company was notorious for spending loads of money on the party, and they certainly booked a fairly amazing venue for it. But there was confusion with the catering order; while the company shelled out for a full buffet, the caterer decided to only provide finger foods, circulated through the party by waiters carrying plates. By 9PM, the employees had figured out where the kitchen was and were lying in ambush for the waiters. The small plates of chicken tenders and crab rangoons and spring rolls never made it more than two or three steps out of the kitchen before they were picked clean.At least the company learned that lesson and stopped using that caterer. Though I think some of the wait staff may have been permanently traumatized by the corporate party version of The Most Dangerous Game.But you know, not everything is about holiday parties, or days off. Companies have plenty of other ways to make their staff happy. Little benefits and perks can go a long way. Just take a page from Doug B's company, which put this sign on the badge reader:
CodeSOD: A Case of Old Code
We've talked about the For-Case anti-pattern many, many times. And while we've seen some wild variations, and some pretty hideous versions, I think we have yet to see the exact example Ashley H sends us:
The Ghost of Christmas Future
Many of us who fly for business and/or pleasure are all too aware of the myriad issues plaguing the 21st-century airline industry: everything from cybercrime targeting ailing IT systems and Boeing's ongoing nightmare to US commercial airline pilots being forced to retire at age 65, contributing to a diminishing workforce that has less of the sort of wisdom that can't be picked up in a flight simulator. The exact sort of experience you want your flight crew to have if, say, your aircraft loses an engine during takeoff.This is only the tip of the iceberg. And our submitter Greta, reporting from the inside, shows us that even a win could be a dangerous loss waiting to happen:
Error'd: Michael's Holiday Snaps
Michael R. recently was Ghana but now he's back. In grand vacation tradition, he is now sharing the best of it with us. And a few more besides. Remember, it's not the journey itself that matters, it's the wtfs we make along the way. Watch me make a bunch as I attempt to weave a narrative around the shots.First up, the likely inspiration for Michael's entire trip. I guess you don't need the actual website URL, you can find it easily.
CodeSOD: Linguistic Perls
A long time ago, Joey made some extra bucks doing technical support for the neighbors. It was usually easy work, and honestly was more about being a member of the community than anything else.This meant Joey got to spend time with Ernest. Ernest was a retiree with a professorial manner, complete with horn-rimmed glasses and a sweater vest. Ernest volunteered at the local church, was known for his daily walks around the neighborhood, and was a generally beloved older neighbor.Ernest had been working on transfering his music collection- a mix of CDs and records- onto his computer. He had run into a problem, and reached out to Joey for help."Usually," Ernest explained, "I can get one of the kids from the local university to help me out. But with the holiday break and all..."No problem for Joey. He went over to Ernest's, sat down at the computer, and powered it up. The desktop appeared, and in the typical older user fashion, it was covered with icons. What was unusual was the names of the files and folders. Things like titwank. Or cockrot.pl and penis.pl. A few were named as racial slurs.Clearly, the college students Ernest usually hired were having a laugh at the man's expense. That must be it. Joey glanced around the room, trying to think about how to explain this, when he noticed the bookshelf.The first few books were guides on how to program in Perl. Sandwiched between them was Rogers Profanisaurous, a dictionary of profanity. Then a collection of comedy CDs by Kevin Bloody Wilson, the performer of such comedy songs as "I Gave Up Wanking," "The Pubic Hair Song," and "Dick on Her Mind"."Ah, yes," Ernest said, "you'll need to pardon my desktop. Before I retired, I was a linguist, and I think you can guess what my speciality was.""Profanity?""Profanity indeed. Now, I was hoping I could get someone to take a look at swallow.pl for me..."Joey writes:
The Spare Drive
As the single-digit Fahrenheit temperatures creep across the northeast United States, one's mind drifts off to holidays- specifically summer holidays where it isn't so cold that it hurts to breathe.Luciano M works in Italy, where August 15th is a national holiday, but also August is the traditional time of year for everyone to take off, leaving the country mostly shut down for the month.A long time ago, Luciano worked for a small company, along with some friends. This was long enough that you didn't rent compute from a cloud provider, but instead ran most of your intranet services off of a private server in your network closet somewhere.This particular server ran mostly everything: private git hosting, VPN, email, and an internal Jabber server for chat. Given that it ran most services in the company, one might think that they were backing it up regularly- and you'd be right. One might also think that they had some sort of failover setup, and that's where you'd be wrong.Late August 12th, the hard drive on their server decided it was time to start its own holiday. The main reason everyone noticed when it happened wasn't due to some alert that got triggered, but as mentioned, Luciano was friends with the team, which meant they used the Jabber server to chat with each other about non-work stuff.Because half the country was already closed for August, getting replacements delivered was a dubious proposition, at best. Especially with the 15th looming, which not only made shipping delays worse, but this particular year was on a Friday, marking a 3-day weekend. Unless they wanted to spend the better part of a week out of commission, they needed to find an alternative.The only silver lining was that "shipping is delayed" is the kind of problem which can be solved by spending money. By the time it was all said and done, they paid more for shipping than they paid for the drive itself, but the drive arrived by the 14th, and by the end of the day, they had the server back up and running, restored from backup.And everything was happy, until August 12th, the following year, when the new hard drive decided to die the exact same way as the previous one, and the entire cycle repeated itself.And on the third year, a hard drive also failed on August 12th. At least, by that point, they were so used to the problem that they kept spare drives in inventory. Eventually, someone upgraded them to a RAID, which at least kept the downtime at a minimum.Luciano has long since moved on to a new job, but the date of August 12th is his own personal holiday: an unpleasant one.[Advertisement] Picking up NuGet is easy. Getting good at it takes time. Download our guide to learn the best practice of NuGet for the Enterprise.
Underwhelmed
Our anonymous submitter was looking for a Microsoft partner to manage his firm's MSDN subscriptions; the pile of licenses and seats and allowed uses was complex enough to want specialists. In hopes of quickly zeroing in on a known and reputable firm, he tracked down the website of a tech consultancy that'd been used by one of his previous employers.When he browsed to their Contact Us page, filled out the contact form, and clicked Submit, the webpage simply refreshed with no signs of actually doing anything. After staring at the screen for a moment, wondering what had gone wrong, Subby noticed the single quotes used within his message were now escaped. Clicking Submit a few more times kept adding escape characters, with no submission ever occurring. So he amended his message to remove every it's, we're, and other such contraction.Without single quotes, the next submission was successful. It's impossible to say what was going on behind the scenes, but this seemed to suggest a SQL injection vulnerability in their form submission code. They were escaping "'" characters because they were building their query through string concatenation. But in addition to escaping the single quotes, it seemed to be rejecting any string which contained them.A stellar first impression, to be sure. In fairness, this firm hadn't designed their own website. The name of the designer they'd contracted with, displayed in the webpage footer, looked more embarrassing than proud in light of his trouble.An email address was listed beside the contact form. Subby sent a separate email alerting them of the bug he'd found. Hopefully, someone would acknowledge and channel it to the proper support contact.A week passed. Subby never received a response or any confirmation that any of his messages had been received. Had that mailbox been abandoned after most, if not all, attempted contacts had mysteriously failed?"I guess no SQL injection if it's never submitted!" Subby joked to himself.He moved on to other prospects.[Advertisement] Plan Your .NET 9 Migration with Confidence
CodeSOD: Duplicate Reports
Today's anonymous submitter sends us a short snippet. They found this because they were going through code committed by an expensive third-party contractor, trying to track down a bug: every report in the database kept getting duplicated for some reason.This code has been in production for over a decade, bugs and all:
Error'd: Anonymice
Three blind anonymice are unbothered by the gathering dark as we approach thewinter solstice. Those of you fortunate enough to be approachingthe summer solstice are no doubt gloating. Feel free, we don'tbegrudge it. You'll get yours soon enough. Here we have some suggestionsfrom a motley crew of three or four or maybe more or fewer.Mouse Number Oneis suffering an identity crisis, whimpering "I don't really know who I am anymore and Ireally hoped to have this information after modifying my profile."
CodeSOD: Tis the Season(al Release)
We recently asked for some of your holiday horror stories. We'll definitely take more, if you've got them, but we're going to start off with Jessica, who brings us not so much a horror as an omen.Jessica writes:
The Modern Job Hunt: Part 2
(Read Part 1 here)By the 10-month mark of her job search, Ellis still lacked full-time employment. But she had accumulated a pile of knowledge and advice that she wished she'd started with. She felt it was important to share, in hopes that even one person might save some time and sanity:
CodeSOD: The Article
When writing software, we like our code to be clean, simple, and concise. But that loses something, you end up writing just some code, and not The Code. Mads's co-worker wanted to make his code more definite by using this variable naming convention:
CodeSOD: The Magic Array
Betsy writes:
Error'd: A Horse With No Name
Scared Stanley stammered"I'm afraid of how to explain to the tax authority that I received $NaN."
CodeSOD: Pawn Pawn in in Game Game of of Life Life
It feels like ages ago, when document databases like Mongo were all the rage. That isn't to say that they haven't stuck around and don't deliver value, but gone is the faddish "RDBMSes are dead, bro." The "advantage" they offer is that they turn data management problems into serialization problems.And that's where today's anonymous submission takes us. Our submitter has a long list of bugs around managing lists of usernames. These bugs largely exist because the contract developer who wrote the code didn't write anything, and instead "vibe coded too close to the sun", according to our submitter.Here's the offending C# code:
The Thanksgiving Shakedown
On Thanksgiving Day, Ellis had cuddled up with her sleeping cat on the couch to send holiday greetings to friends. There in her inbox, lurking between several well wishes, was an email from an unrecognized sender with the subject line, Final Account Statement. Upon opening it, she read the following:
CodeSOD: The Destination Dir
Darren is supporting a Delphi application in the current decade. Which is certainly a situation to be in. He writes:
CodeSOD: Formula Length
Remy's Law of Requirements Gathering states "No matter what the requirements document says, what your users really wanted was Excel." This has a corrolary: "Any sufficiently advanced Excel file is indistingushable from software."Given enough time, any Excel file whipped up by any user can transition from "useful" to "mission critical software" before anyone notices. That's why Nemecsek was tasked with taking a pile of Excel spreadsheets and converting them into "real" software, which could be maintained and supported by software engineers.Nemecsek writes:
Error'd: On the Dark Side
...matter of fact, it's all dark.Gitter Hubber checks in on the holidays:"This is the spirit of the Black Friday on GitHub. That's because I'musing dark mode. Otherwise, it would have a different name...You know what? Let's just call it Error Friday!"
Classic WTF: Teleported Release
Announcements: We Want Your Holiday Horrors
As we enter into the latter portion of the year, folks are traveling to visit family, logging off of work in hopes that everything can look after itself for a month, and somewhere, someone, is going to make the choice "yes, I can push to prod on Christmas Eve, and it'll totally work out for me!"Over the next few weeks, I'm hoping to get a chance to get some holiday support horrors up on the site, in keeping with the season. Whether it's the absurd challenges of providing family tech support, the last minute pushes to production, the five alarm fires caused by a pointy-haired-bosses's incompetence, we want your tales of holiday IT woe.So hit that submit button on the side bar, and tell us who's on Santa's naughty list this year. [Advertisement] ProGet's got you covered with security and access controls on your NuGet feeds. Learn more.
Tales from the Interview: Interview Smack-Talk
In today's Tales from the Interview, our Anonymous submitter relates their experience with an anonymous company:
CodeSOD: The Map to Your Confession
Today, Reginald approaches us for a confession.He writes:
CodeSOD: Copied Homework
Part of the "fun" of JavaScript is dealing with code which comes from before sensible features existed. For example, if you wanted to clone an object in JavaScript, circa 2013, that was a wheel you needed to invent for yourself, as this StackOverflow thread highlights.There are now better options, and you'd think that people would use them. However, the only thing more "fun" than dealing with code that hasn't caught up with the times is dealing with developers who haven't, and still insist on writing their own versions of standard methods.
Error'd: Untimely
Sometimes, it's hard to know just when you are. This morning, I woke up to a Macbook that thinks it's in Paris, four hours ago. Pining for pain chocolate. A bevy of anonyms have had similar difficulties.First up, an unarabian anonym observes"They say that visiting Oman feels like traveling back in time to before the rapid modernization of the Arab states. I just think their eVisa application system is taking this "time travel" thing a bit too far..."
CodeSOD: Invalid Route and Invalid Route
Someone wanted to make sure that invalid routes logged an error in their Go web application. Artem found this when looking at production code.
CodeSOD: Are You Mocking Me?
Today's representative line comes from Capybara James (most recently previously). It's representative, not just of the code base, but of Goodhart's Law: when a measure becomes a target, it ceases to be a good measure. Or, "you get what you measure".If, for example, you decide that code coverage metrics are how you're going to judge developers, then your developers are going to ensure that the code coverage looks great. If you measure code coverage, then you will get code coverage- and nothing else.That's how you get tests like this:
12345678910...