Check Your Email
https://thedailywtf.com/articles/check-your-email [thedailywtf.com]
2024-03-13 16:50
tags:
development
Every night, their application was supposed to generate a set of nightly reports and emailed them out. These reports went to a number of people in the company, up to and including the CEO. Come Monday morning, the CEO checked his inbox and horror of horror- there was no report!
Given that it involved sending emails, Branon was ready to spend a long time trying to debug whatever was going wrong in the chain. Instead, finding the problem only took about two minutes, and most of that was spent getting coffee.
The Watchdog Hydra
https://thedailywtf.com/articles/the-watchdog-hydra [thedailywtf.com]
2020-09-29 01:23
tags:
auth
bugfix
concurrency
Ammar checked, and sure enough, his code was sending hundreds of thousands of requests per second. It didn’t take him long to figure out why: requests from the watchdog were failing with a 500 error, so it called the login method. The login method had been succeeding, so another watchdog got scheduled. Thirty seconds later, that failed, as did all the previously scheduled watchdogs, which all called login again. Which, on success, scheduled a fresh round of watchdogs. Every thirty seconds, the number of scheduled calls doubled. Before long, Ammar’s code was DoSing the API.
Fun times.
A Massive Leak
https://thedailywtf.com/articles/a-massive-leak [thedailywtf.com]
2020-08-05 01:04
tags:
bugfix
corner
csharp
garbage-collection
networking
“Memory leaks are impossible in a garbage collected language!” is one of my favorite lies. It feels true, but it isn’t. Sure, it’s much harder to make them, and they’re usually much easier to track down, but you can still create a memory leak. Most times, it’s when you create objects, dump them into a data structure, and never empty that data structure. Usually, it’s just a matter of finding out what object references are still being held. Usually.
A few months ago, I discovered a new variation on that theme. I was working on a C# application that was leaking memory faster than bad waterway engineering in the Imperial Valley.
And it was Uphill Both Ways
https://thedailywtf.com/articles/and-it-was-uphill-both-ways [thedailywtf.com]
2019-09-25 21:23
tags:
html
javascript
retro
web
In fact, shortly after I made my own personal home page, full of <marquee> tags, creative abuse of the <font> tag, and a color scheme which was hot pink and neon green, I showed it to a friend, who condescendingly said, “What, you didn’t even use frames?” He made me mad enough that I almost deleted my Geocities account.
Nice look back at how we used to do things.
In this era, we’d call stuff like this “DHTML” (the D is for “dynamic”), and we traversed the DOM as a chain of properties, doing things like document.forms[0].inputs[0] to access fields on the form.
Representative Line: Log Every Error
https://thedailywtf.com/articles/log-every-error [thedailywtf.com]
2019-04-25 18:01
tags:
go
intro-programming
This code knows that accessing the logger object is code that can throw an error, so if it gets an error fetching the logger object it… logs the error. With the logger object that returned some kind of error.
Recursive failure is best failure.
Set the Flux Capacitor for 12/30/1899
https://thedailywtf.com/articles/set-the-flux-capacitor-for-12-30-1899 [thedailywtf.com]
2019-02-05 20:38
tags:
development
retro
windows
Best of…: 2018: JavaScript Centipede
https://thedailywtf.com/articles/2018-javascript-centipede [thedailywtf.com]
2018-12-26 18:14
tags:
javascript
turtles
I’m not going to explain what this code does, I’m not certain I could. Like a Human Centipede film, you’re best off just being disgusted at the concept on display. If you’re not sure why it’s bad, just note the eval calls. Don’t think too much about the details.
Caught Up in the Captcha
https://thedailywtf.com/articles/caught-up-in-the-captcha [thedailywtf.com]
2018-09-06 19:22
tags:
auth
javascript
random
web
The code which popped up was “S i u x q F b j NaN 4”. He hit the “new code” button, and got “T o A 0 J V s L NaN a”. In fact, “NaN” showed up in the penultimate position in every code.
Fact of the day:
Calling ++ on a string assigns NaN to the variable.
An Incomparable Event
https://thedailywtf.com/articles/an-incomparable-event [thedailywtf.com]
2018-08-01 16:27
tags:
intro-programming
javascript
php
type-system
For example, do you hate comparisons? Does writing if ($x == $y)… make your skin crawl? Don’t you just wish you could write something like, compareValues($x, $y, ’==’) instead?
The JavaScript version is attempting to create good from eval, which never works, and it breaks the D&D alignment chart.
You'd Need an Oracle to Understand These Docs
https://thedailywtf.com/articles/you-d-need-an-oracle-to-understand-these-docs [thedailywtf.com]
2018-07-25 17:55
tags:
database
development
docs
This time, I trace through a few references, discover another footnote which is itself reference to a white paper, which itself contains a footnote. “If cogs_behavior is set,RM_CONS_BY_UT,RM_CONS_IN_FRMLU_FPT,RM_CALC_FRMLUandCOGS_RM_CALC_USAGE may alter data in an unrecoverable fashion.”
A Problematic Place
https://thedailywtf.com/articles/a-problematic-place [thedailywtf.com]
2018-05-10 16:24
tags:
fs
programming
random
This code does some processing on a list of directories. Apparently while coding this, the author found themself in a “problematic place”. We all have our ways of avoiding problematic places, but this programmer decided the best way was to introduce some randomness into the equation. By randomizing the order of the list, they seem to have completely mitigated… well, it’s not entirely clear what they’ve mitigated.
This actually seems like it may be a reasonable fix to a poorly identified problem. Too many processes opening files in the same order? Lock contention?
Authentication Failure
https://thedailywtf.com/articles/authentication-failure [thedailywtf.com]
2018-04-06 03:18
tags:
auth
development
web
strangely… it never worked on the first attempt. Artyom always had to enter the password twice.
This is so dumb it almost underflows into clever territory.
We Sell Bonds!
https://thedailywtf.com/articles/we-sell-bonds [thedailywtf.com]
2018-02-04 20:41
tags:
auth
development
essay
sql
“Users don’t change passwords,” Benny replied. “That would break single sign-on. If a user changes their password in their home system, their company will submit a change request to us to modify the password on ‘We Sell Bonds!’.”
With the Router, In the Conference Room
https://thedailywtf.com/articles/2017-with-the-router-in-the-conference-room [thedailywtf.com]
2017-12-29 22:30
tags:
admin
essay
hoipolloi
testing
The killer was Cathy, in the issue tracking system, with the snarky bug report.
The Security Audit
https://thedailywtf.com/articles/the-security-audit [thedailywtf.com]
2017-08-24 13:28
tags:
admin
auth
opsec
The more you conceal, the more you reveal.
Still Empty
http://thedailywtf.com/articles/still-empty [thedailywtf.com]
2017-03-14 19:30
tags:
ideas
java
life
What does that mean? What could it mean? Why is it there? This sounds like something that should be featured on Screenshots of Despair. Still empty - can be used. It’s like a mantra.
I’m still empty. I can be used.
The Helpful Manager
http://thedailywtf.com/articles/the-helpful-manager [thedailywtf.com]
2017-01-03 21:06
tags:
development
git
Today’s 15 minutes of git hate, which isn’t really about git, but I choose to blame it anyway.