Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K

    The Daily WTF

    thedailywtf.com · Publication · on HN since 2007

    The Daily WTF collects reader-submitted stories of bad code, failed projects, and absurd workplace decisions in software.

    Visit blogHN submissions
    ProgrammingTech IndustryCulture & Society
    What HN says

    Commenters call it one of the best blogs, programming or not, and genuine in its stories. HN links it as the home for developer horror stories.

    Stats for nerds
    778HN people shared it
    499linked in comments
    5.7Kstory points
    Jul 2026last shared
    2010people per year2026

    Top posts on HN

    1. 1
      The Therac-25 Incident (2021)
      4 people · 686 points · first shared 2021 · 292 comments on HN
    2. 2
      My Many Girlfriends
      2 people · 419 points · first shared 2022 · 416 comments on HN
    3. 3
      "I've isolated the bug to a database query"
      2 people · 394 points · first shared 2011 · 165 comments on HN
    4. 4
      Solving turnover (unusual dailywtf)
      9 people · 384 points · first shared 2008 · 96 comments on HN
    5. 5
      The Daily WTF goes white to "support" SOPA
      99 people · 334 points · first shared 2008 · 47 comments on HN
    6. 6
      The Inner Json Effect
      27 people · 296 points · first shared 2016 · 141 comments on HN
    7. 7
      The Single Sign On
      1 person · 195 points · first shared 2010 · 70 comments on HN
    8. 8
      On Systemic Debt
      3 people · 150 points · first shared 2020 · 63 comments on HN
    9. 9
      The Firing Offense
      2 people · 140 points · first shared 2013 · 83 comments on HN
    10. 10
      A Bit Overcomplicated
      1 person · 131 points · first shared 2021 · 249 comments on HN

    What HN people wrote when they linked it

    • OliverJonesNov 2016

      Gotta do a back-story post on this.

      Developmental psychology (specifically the work of Robert Kegan) offers a good way to understand the life transition Ms. Shellnutt described so eloquently.

      (http://www.worldcat.org/title/evolving-self-problem-and-process-in-human-development/oclc/7672087)

      Developmental psychology by stages isn't just for middle schoolers. It it continues until we close our eyes for the last time.

      Lemme do some broad strokes on this, even though it grossly oversimplifies things.

      When we're kiddos growing up, we go through a bunch of stages of socialization. Most of us emerge in our late teens and young adulthood into a stage Kegan calls "interpersonal." In that stage we define ourselves by our relationships. We learn to tell our own stories by telling the stories of how we relate to the people around us. "BFF" is a shorthand for that. In the world of social media, lots of followers / friends / links is a goal -- in itself -- of this stage. "I know this many people."

      After a decade or so, may of us make a switch to a new developmental stage. Kegan calls it the "institutional" stage. Again, to oversimplify, in this stage we become our business cards or our families. We tell our stories by the institutions we serve and our relationships to them. Silicon valley rituals like deciding whether to have job titles are part of the dance of this stage. So is the glory that comes from having a short domain name. "I am the VP of design for ZZZ Corp" is a…

    • fusiongyroJun 2012

      Bad programmers I've dealt with tend to share certain traits:

      - Their code is large, messy and bug-laden

      - They have very superficial knowledge of their problem domain and their tools

      - Their code has a lot of copy and paste, and they have very little interest in techniques that reduce it

      - They fail to account for edge cases while inefficiently dealing with the general case

      - They're always rushing around putting out fires, trying to look like heroes battling vast problems against impossible odds

      - They never have time to comment their code or break it into smaller pieces

      - Empirical evidence plays no role in their decisions

      It would be hard to self-test, but some clues would be: do you think you're the best programmer in the world? Do you find code with a lot of functions messier and harder to understand than code with only a few large functions? Do you routinely copy code from one place to another and make a few small changes to it? Do your programs tend to be a few huge files or lots of small files? When you're asked to make a change, do you usually have to touch most of the code or just a small chunk of it? If you say 'yes' to most of these, you're probably bad. If not, you're probably alright. :)

      Another clue is to go read the CodeSOD articles at The Daily WTF[1]. If you find them funny or horrifying, you're probably alright. If you don't understand what makes them terrible, you're probably bad.

      [1] http://thedailywtf.com/

    • nt8eo923nt45Apr 2018

      I find this disingenuous. It is a very common scenario that a new user knows of some way to solve some part of their question (or just thinks they do), and assumes the best/easiest/fastest/safest/whatever answer involves using that technique. This is exactly the scenario that Alex Papadimoulis referred to in his blog post[1] that I have to believe was the inspiration for his site The Daily WTF[2]:

      > "A client has asked me to build and install a custom shelving system. I'm at the point where I need to nail it, but I'm not sure what to use to pound the nails in. Should I use an old shoe or a glass bottle?"
      >...[potential answers]
      >b) There is something fundamentally wrong with the way you are building; you need to use real tools.

      The answerer is often telling the person, what you are trying to do sounds like a really bad/inefficient/ineffective/whatever solution. The common way to solve this is Y because of reasons A, B, and C. Are you doing something where those reasons are not a concern?

      [1] https://weblogs.asp.net/alex_papadimoulis/408925
      [2] http://thedailywtf.com

    • jacobyoderDec 2023

      > Whenever people say stuff like this I can't help but wonder what on earth kind of projects they work on. Even GPT4, while useful for things like reformatting or generating boilerplate code and stuff like that, it's still a far cry from any decent dev I've ever worked with, especially if you're not using a popular language like JS or Python.

      I mean this not overly sarcastically, but ... have you seen https://thedailywtf.com ? Between my own experiences, and that of some colleagues, I could probably put together at least a half-a-dozen WTF stories that would rival some of the best that site has to offer. There's enough really incompetent people in positions they shouldn't be in to the point that chatgpt - at this point - could realistically provide better output than more than a few of them.

    • brisanceAug 2010

      It depends a lot on the experience/background of the person, as well as the problem at hand. Most programming "problems", like any other engineering field, have already been solved, so there's no shame in turning to a search engine or even better, StackExchange, for solutions. The best coders are the ones that are learning all the time.

      On the other hand, there is usually an impedance mismatch between the description of the problem and the actual solution. Take a look at the horror stories on The Daily WTF. http://thedailywtf.com/

      Anyway, try to read as much code as possible, both good and bad, find a mentor(s), be able to take constructive criticism, and just persevere, and you should be fine.

    • dalkeMay 2015

      So how would you answer my question? Would you really dock someone who could give all three of those implementations, but struggled to give a truly horrible implementation? How bad does it need to be truly horrible?

      I ask because I struggled coming up with a horrible implementation of FizzBuzz. My best attempt was to have Python create a sqlite table then use SQL to do the test. Such implementations occur all too frequently at http://thedailywtf.com/ .

      But surely this would not be an example of great understanding of either Python or SQL. Therefore, I don't see how you can draw your conclusion.

      Could you explain more fully?

    Related

    Coding Horrorblog.codinghorror.com2.1k people

    Farewell Stack Exchange

    Coding Horror
    Personal · last shared 2026
    jwzjwz.org880 people

    Watch a VC use my name to sell a con

    jwz
    Personal · last shared 2026
    Better Programmingbetterprogramming.pub319 people

    Three programmers got fired, including me, due to a single app crash

    Better Programming
    Publication · last shared 2025
    CircleCI Blogcircleci.com220 people

    “It's The Future”

    CircleCI Blog
    Company · last shared 2026
    Rachel Krollrachelbythebay.com493 people

    fork() can fail

    Rachel Kroll
    Personal · last shared 2026
    Microsoft Tech Communitytechcommunity.microsoft.com738 people

    Postgres IDE in VS Code

    Microsoft Tech Community
    Company · last shared 2026
    cyber.wtfcyber.wtf25 people

    Negative Result: Reading Kernel Memory from User Mode

    cyber.wtf
    Personal · last shared 2025
    GNOME Blogsblogs.gnome.org490 people

    AirPods fast connect security vulnerability

    GNOME Blogs
    Company · last shared 2026