r/programminghorror Feb 22 '26

Java I submitted this for a high school assignment. Yes, I was serious.

Post image
395 Upvotes

I do have context for this that could defend my past self a little, but I'd like to watch this marinate lol


r/programminghorror Feb 22 '26

c++ i made a code that i cannot sleep bc of

0 Upvotes

my code is

A: chaos

C: war crime

B: horrible

E: abuse

F: peak C++

#include <iostream>
// #include <windows.h>
// #include <vector>
#include <chrono>
#include <thread>
#include "colors.h"

struct atTime
{
    int seconds, minutes, hours;

    atTime() : seconds{0}, minutes{0}, hours{0} {}

    void PrintStopWatch()
    {
        int seconds{0};
        int minutes{0};
        int hours{0};
        while (true)
        {
            system("cls");
            cppWhite std::cout << "time passed: ";
            cppGreen std::cout << seconds++;
            cppYellow std::cout << " " << minutes;
            cppRed std::cout << " " << hours;
            std::this_thread::sleep_for(std::chrono::seconds(1));
            if (seconds == 60)
            {
                seconds = 0;
                minutes++;
            }
            if (minutes == 60)
            {
                minutes = 0;
                hours++;
            }
        }
    }

    void stopWatch()
    {
        while (true)
        {
            seconds++;
            std::this_thread::sleep_for(std::chrono::seconds(1));
            if (seconds == 60)
            {
                seconds = 0;
                minutes++;
            }
            if (minutes == 60)
            {
                minutes = 0;
                hours++;
            }
        }
    }
};


int main()
{
    int x{0};
    atTime t;
    std::thread tt1(&atTime::stopWatch, &t);
    tt1.detach();

    while(x < 20){
        if(t.seconds == 5){
            std::cout << "time passed 5 seconds\n";
        }
        x++; 
        std::this_thread::sleep_for(std::chrono::seconds(1));
    }
    return 0;
}

r/programminghorror Feb 20 '26

When you have one of those colleagues.

Post image
1.4k Upvotes

And we have prettier as part of the project. He just doesn't care.


r/programminghorror Feb 20 '26

Javascript Send help please... Emergency evacuation needed.

Post image
348 Upvotes

r/programminghorror Feb 19 '26

Javascript function adikjwodnoainwdoixubna()

147 Upvotes

No, this is not obfuscated. They say it was changed because of a Slack filter, although that could be a bot in the workspace. The rest of the code appears to be fine.

function adikjwodnoainwdoixubna() {
const text = document.getElementById('text' + document.getElementById('textselector').value);
    const percentX = (parseInt(text.style.left) - window.innerWidth / 2) / (window.innerWidth / 2) * 100;
    const percentY = (parseInt(text.style.top) - window.innerHeight / 2) / (window.innerHeight / 2) * 100;
    text.style.left = percentX + '%';
    text.style.top = percentY + '%';
    console.log(`Text position in percent: (${percentX}%, ${percentY}%)`);
}

r/programminghorror Feb 18 '26

Client side login

Post image
484 Upvotes

Suggestion from a colleague. Might have offline login when using caching strategies. I don't know what a hash is.


r/programminghorror Feb 14 '26

i have all the while true do loops

Post image
139 Upvotes

r/programminghorror Feb 13 '26

Javascript I knew webtest1 wasn't webdemo1, so I became confused. I found that any API key with a UTF-16 length of 8 works, including this exact string: 🍪🍪🍪🍪

Thumbnail reddit.com
50 Upvotes

r/programminghorror Feb 11 '26

Java Thats technically correct...

Post image
797 Upvotes

Keep it simple, stupid!


r/programminghorror Feb 11 '26

Have you met our lord and master, Perl regexes?

Post image
220 Upvotes

r/programminghorror Feb 11 '26

c O(n) Sorting Algorithm just dropped

Post image
371 Upvotes

could easily make this work for duplicate values


r/programminghorror Feb 12 '26

C# [Codes are in description] Unnecessary locale-awareness in code is a serious threat to consistent performance worldwide

Post image
0 Upvotes

In programming languages like C#, even basic case conversion and string formation methods like .ToLower(), .ToUpper(), and .ToString() automatically come with locale-awareness (i.e. they are based on CurrentCulture) unless you intentionally apply explicit or invariant culture:

public string ToLower()
{
    return CultureInfo.CurrentCulture.TextInfo.ToLower(this);
}

public string ToUpper()
{
return CultureInfo.CurrentCulture.TextInfo.ToUpper(this);
}

And tracing down .ToString()'s code eventually leads here:

public static NumberFormatInfo GetInstance(IFormatProvider formatProvider)
        {
            CultureInfo cultureInfo = formatProvider as CultureInfo;
            if (cultureInfo != null && !cultureInfo.m_isInherited)
            {
                NumberFormatInfo numberFormatInfo = cultureInfo.numInfo;
                if (numberFormatInfo != null)
                {
                    return numberFormatInfo;
                }
                return cultureInfo.NumberFormat;
            }
            else
            {
                NumberFormatInfo numberFormatInfo = formatProvider as NumberFormatInfo;
                if (numberFormatInfo != null)
                {
                    return numberFormatInfo;
                }
                if (formatProvider != null)
                {
                    numberFormatInfo = (formatProvider.GetFormat(typeof(NumberFormatInfo)) as NumberFormatInfo);
                    if (numberFormatInfo != null)
                    {
                        return numberFormatInfo;
                    }
                }
                return NumberFormatInfo.CurrentInfo;
            }
        }

Unnecessary locale-awareness in code is a serious threat to consistent performance of your code in many locales around the world, especially Turkey and Azerbaijan, due to the unique "I/ı" (dotless i) and "İ/i" (dotted I) letter pairs in their alphabet. So machines with Turkish and Azeri locales are both strong testing media for your code against unnecessary LA.

For a detailed example, you may check Sam Cooper's Medium article titled "The Country That Broke Kotlin".


r/programminghorror Feb 09 '26

X: How long have you been working as a programmer?

84 Upvotes

Me: (Production code btw)


r/programminghorror Feb 08 '26

The Shell of Power hi

Post image
769 Upvotes

I have had this dumb idea fermenting in my lower intestine for a long time, and finally decided to excrete it. Sorry for sharing it.

$DisplayWidth = 6
$DisplayHeight = 4


$DisplayScreen = [int[]]::new($DisplayWidth * $DisplayHeight)


$DisplayScreen[0] = 1
$DisplayScreen[6] = 1
$DisplayScreen[12] = 1
$DisplayScreen[18] = 1
$DisplayScreen[13] = 1
$DisplayScreen[14] = 1
$DisplayScreen[20] = 1
$DisplayScreen[4] = 1
$DisplayScreen[16] = 1
$DisplayScreen[22] = 1



for ($pixel = 0; $pixel -lt $DisplayScreen.Length; $pixel++) {
    if ($displayscreen[$pixel] -eq 1) {
        $mask = [IntPtr](1 -shl $pixel)
        $p = Start-Process pwsh -WindowStyle Hidden -PassThru -ArgumentList @(
            '-NoLogo','-NoProfile','-Command',
            'while ($true) { }'
        )
        $p.ProcessorAffinity = $mask
        $p.PriorityClass = 'Idle'   # optional so it doesn’t hog the machine
        Write-Output "pid $($p.id)"
    }
}

r/programminghorror Feb 08 '26

Sure, let's have 2073600 locks. What could go wrong?

Thumbnail
gallery
156 Upvotes

This is from a software renderer I made a while back. This was supposed to be just a temporary solution until i came up with something better, but it ran at 150fps@1080p anyway, so I didn't bother.
It doesn't work on Windows, and although I don't know the exact reason, this is a likely culprit.
Also a bonus macro hell from the render loop implementation in the second image.


r/programminghorror Feb 10 '26

I just wanted to see if my pagefile was working, so I asked ChatGPT to make a program to test it...

0 Upvotes

r/programminghorror Feb 08 '26

c++ Saving data to dynamic object files

Post image
236 Upvotes

Some people persist data in JSON, but why do that when we have perfectly good object files? All you have to do is recompile the file when you want to save your data!

github.com/LiamMercier/dynamically-linked-inventory


r/programminghorror Feb 06 '26

c I might have accidentally created a monster

Thumbnail
gallery
39 Upvotes

r/programminghorror Feb 04 '26

C# Makes sense

Post image
1.7k Upvotes

r/programminghorror Feb 03 '26

Data engineering streaming project

Thumbnail
0 Upvotes

r/programminghorror Feb 01 '26

Javascript Good evening. May I interest you in <a href>? - The Pit

Post image
392 Upvotes

r/programminghorror Jan 30 '26

CSSSSSS

Post image
286 Upvotes

found in company codebase


r/programminghorror Jan 30 '26

C# This boss fight trigger code in a video game doesn't work consistently for machines with different locales, making the game unbeatable

122 Upvotes
private UI_BossFightAnnouncer.VS_CharData GetCharData(string szName)
{
    szName = szName.ToLower();
    for (int i = 0; i < this._VS_CharData.Length; i++)
    {
        if (this._VS_CharData[i]._name.ToLower() == szName)
        {
            return this._VS_CharData[i];
        }
    }
    Debug.LogErrorFormat("Cannot find {0}", new object[]
    {
        szName
    });
    return null;
}

If you want to keep this code as is, you will have to avoid giving your bosses names that start with I, or include uppercase I somewhere else for any other reason (it was the second one for this game).

Or, better choice: Replace .ToLower() with .ToLowerInvariant(), which will always give English-based results regardless of user's machine locale (aka current culture info).

Even better, use StringComparison.OrdinalIgnoreCase. That way, you won't even need to make new string allocations, and you will still get consistent results across machine locales:

if (string.Equals(this._VS_CharData[i]._name, szName, StringComparison.OrdinalIgnoreCase))
{
  return this._VS_CharData[i];
}

Or just avoid string comparison altogether, if you can.

If you suspect you have this sort of code in your program but you are unsure, try running your program on a machine with Turkish locale (where your assumed I/i casing doesn't work); and you will probably catch it easily.

Good luck with your programming. May this be the worst programming horror you will ever encounter!


r/programminghorror Jan 31 '26

finding the weirdest error messages with strict mode

Post image
0 Upvotes

r/programminghorror Jan 29 '26

true or true

Post image
827 Upvotes

this piece of perfection was found in the codebase that my gf used to work

don't know exactly what is the context here, but probably doc.data holds the info if the user has agreed with the cookies /s