thedailywtf.com Open in urlscan Pro
104.21.44.199  Public Scan

Submitted URL: http://thedailywtf.com/
Effective URL: https://thedailywtf.com/
Submission Tags: tranco_l324
Submission: On November 02 via api from DE — Scanned from DE

Form analysis 0 forms found in the DOM

Text Content

 * Feature Articles
   * Most Recent Articles
   * Committed Database
   * Performance Tuning for Exabyte Queries
   * Totally Up To Date
   * The Boulder Factory
   * And FORTRAN, FORTRAN So Far Away
   * Some Version of a Process
   * Classic WTF: Crazy Like a Fox(Pro)
   * Ten Days
 * CodeSOD
   * Most Recent Articles
   * A Repetition of Repetition to Repeat
   * Users That Bug You
   * Patching Over Your Problem
   * Read the Comments
   * A Ritual Approach
   * Low (Quality) Code
   * An Hourly Rate
   * Joining the Rest of Us
 * Error'd
   * Most Recent Articles
   * Is This The Real Life
   * Outages, Prices, and Catastrophe
   * Counting to One
   * Money for Nothin'
   * Persnickety Sticklers Redux
   * ;pam ;pam ;pam ;pam
   * In Other Words
   * Swordfish
 * Forums
 * Other Articles
   * Random Article
   * Other Series
   * Alex's Soapbox
   * Announcements
   * Best of…
   * Best of Email
   * Best of the Sidebar
   * Bring Your Own Code
   * Coded Smorgasbord
   * Mandatory Fun Day
   * Off Topic
   * Representative Line
   * News Roundup
   * Editor's Soapbox
   * Software on the Rocks
   * Souvenir Potpourri
   * Sponsor Post
   * Tales from the Interview
   * The Daily WTF: Live
   * Virtudyne

 * feature articles
 * codesod
 * error'd
 * forums
 * other articles
 * random article


WTF is the Daily WTF

Founded in 2004 by Alex Papadimoulis, The Daily WTF is your how-not-to guide for
developing software. We recount tales of disastrous development, from project
management gone spectacularly bad to inexplicable coding choices.

Remy Porter is the editor-in-chief and needs to read your story or see your bad
code.

Submit Your WTF

Contents

Random Article

--------------------------------------------------------------------------------

Classic Articles

 * The Brillant Paula Bean
 * What Is Truth?
 * Web 0.1
 * get_words_from_a_number_which_is_passed_as_a_perimeter_into_this_function
 * Special Delivery
 * Radio WTF: Make It Work
 * ITAPPMONROBOT
 * The Call of Codethulhu
 * The Big Red Button
 * Happy Merge Day!
 * The Indexer
 * The Speed-up Loop
 * No, We Need a Neural Network
 * Poke a Dot
 * We Use BobX
 * Add your favorite...

--------------------------------------------------------------------------------

Article Archives


Sidebar WTF
 * Do not upgrade
 * macOS 12 Localized Keyboard Shortcuts piss me off
 * The absolute state of faxing in 2020
 * I hate printers, with a passion
 * Delphi - the moral AI

Sponsors

These fine folks make it possible to run The Daily WTF.




A REPETITION OF REPETITION TO REPEAT

by Remy Porter in CodeSOD on 2021-11-01

Inheritance is often described as a tool for code reuse, and those discussions
inevitably wander down an alley parsing out the nature of has a and is a
relationships, when to favor composition, and how inheritance trees get fragile.

When Megan D inherited a Java application which had been largely untouched since
2006, she expected it to be full of all kinds of ugly problems. But they
couldn't be that ugly- the software was used and well liked by the end users. Of
course, it was hard to tell if they actually liked it, or had just been with it
so long they'd adjusted to its flaws, because the whole workflow was extremely
fragile and frequently failed.

--------------------------------------------------------------------------------

13 comments - Last comment @ 03:06


IS THIS THE REAL LIFE

by Lyle Seaman in Error'd on 2021-10-29

To atone for last week's errant Error'd, this week we're giving you 20% extra at
no additional charge. For reals.

An anonymous submission starts us off. Ordinarily we wouldn't repost from social
media but this is just too delicious.

> 

--------------------------------------------------------------------------------

13 comments - Last comment @ 2021-11-01


USERS THAT BUG YOU

by Remy Porter in CodeSOD on 2021-10-28

I frequently write bad code. I mean, we all do, but I frequently write bad code
with full knowledge that it's bad, because I first want to test out an idea. Or,
I want to inject some additional behavior just for one run, because I'm trying
to debug something. If that idea or debugging hook turns out to be valuable,
I'll frequently refactor it into something useful and enable it via a flag or
something.

Which brings us to the crash Doug was investigating in a VB.Net application. For
some reason, the username field was an empty string after logging in, and a
bunch of methods which expected the username to have a value misbehaved after
that.

--------------------------------------------------------------------------------

15 comments - Last comment @ 2021-11-01


COMMITTED DATABASE

by Remy Porter in Feature Articles on 2021-10-27

Database administrators tend to be pretty conservative about how databases are
altered. This is for good reason- that data is mission critical, it's
availability is vital, and any change you make threatens that stability and
reliability. This conservatism ranges from "we have well defined processes for
making changes" all the way to "developers are dangerous toddlers playing with
guns and we can't allow them to do anything lest it break our precious
database."

"Grumpy" Gus worked with some DBAs that fell much more on the "developers can't
be trusted" end of the spectrum. This meant they had big piles of rigorous
processes to make sure only the most important, definitely required changes to
the database ever got made. The process involved filing several documents,
marking an entry on a spreadsheet, emailing a dba@initech.com inbox, and then
waiting. Your request would snake its way through a Database Management
Subcommittee, then get kicked over to a Business Need Evaluation Working Group.
If the working group agreed that this change met a level of business need, it
went back to the subcommittee, which reviewed the findings and if they agreed
escalated it to the monthly Database Administration Steering Committee and
Database Users Group meeting. Once again, it would get reviewed. If accepted,
the DBAs could write a change script, and apply it in the next database
maintenance window.

--------------------------------------------------------------------------------

46 comments - Last comment @ 2021-10-28


PATCHING OVER YOUR PROBLEM

by Remy Porter in CodeSOD on 2021-10-26

Deanna inherited some code which had gone through many, many previous hands.
Like a lot of JavaScript/TypeScript code, it needed to be able to compare
objects for deep equality. This is fraught and complicated, and there are many
many many solutions available in NPM.

NPM, of course, is its own fraught thing. Widely used libraries frequently have
vulnerabilities, and even if you don't use them directly, the nature of
dependency management via NPM means that libraries your libraries depend on
might.

--------------------------------------------------------------------------------

9 comments - Last comment @ 2021-10-26


READ THE COMMENTS

by Remy Porter in CodeSOD on 2021-10-25

Many many years ago, when I took my first programming course in high school, our
instructor had… opinions. One of those opinions was that you should manually
syntax check your code and not rely on compiler errors, because back in her day,
you had to punch your program into cards, drop it off in the computer lab, wait
for the technician to run your batch, and then pick up the results on the
printer. It needed to work the first try or you might be waiting a whole day
before you could try again.

One of her other opinions was that your code should contain as many comments as
it contained lines of code. Everything needed comments. Everything. Which brings
us to this code from Doug.

--------------------------------------------------------------------------------

25 comments - Last comment @ 2021-10-26


OUTAGES, PRICES, AND CATASTROPHE

by Remy Porter in Error'd on 2021-10-22

Shaun F noticed an outage.

"Maybe," Shaun writes, "they should use the Cloudflare Always Online service."

--------------------------------------------------------------------------------

26 comments - Last comment @ 2021-10-29


PERFORMANCE TUNING FOR EXABYTE QUERIES

by Remy Porter in Feature Articles on 2021-10-21

While NoSQL databases have definitely made their mark and have an important role
in applications, there's also still a place for RDBMSes. The key advantage of an
RDBMS is that, with a well normalized schema, any arbitrary query is possible,
and instead of optimizing the query, you optimize the database itself to ensure
you hit your performance goals- indexes, statistics, materialized views, etc..

The reality, of course, is wildly different. While the execution plan used by
the database shouldn't be dependent upon how we write the query, it frequently
is, managing statistics and indexes is surprisingly hard, and when performance
problems crop up, without the right monitoring, it can be difficult to track
down exactly which query is causing the problem.

--------------------------------------------------------------------------------

26 comments - Last comment @ 2021-10-28

Archives

Contact Privacy Policy RSS

--------------------------------------------------------------------------------

Copyright © 2021 Inedo Publishing - v2021.9

Monitored by Panopta • Deployed with BuildMaster