r/programminghorror • • 9h ago

Oh yeah my bad

Post image
336 Upvotes

r/programminghorror • • 1d ago

Rust hello world

28 Upvotes

Yes sorry for stealing your whole concept u/ferro31_ but it really interested me.


r/programminghorror • • 3d ago

Javascript Running an SVG like a Nixie Tube

Thumbnail
gallery
56 Upvotes

Thought you might like to see this abomination.

isVisible() is just a function that toggles the opacity of the svg elements.

I needed to animate the text on this SVG to (sort of) represent the electron transport chain, but was of no mind to follow all the best practices to make the text render correctly in all scenarios. So I just created an element for each text state, converted them to paths, and stacked them on top of each other, like in a nixie tube.

Edit: accidentally attached a screenshot of isVisible() instead of the code where it is called. I don't think I can edit the image collection, so I'll just paste it here:

 // Pr -> F
  async function stepPrtoF() {
setElementActive(cmplx4.protonstocIV, true);
await delay(500);
setElementActive(cmplx4.cIVprotons, false);
const protonPop = createPopText(cmplx4.cIVprotons, '-1', false, 'left');
await delay(800);
isVisible(cmplx4.copper_hydroxide, false);
isVisible(cmplx4.copper_water, true);
protonPop.remove();
setElementActive(cmplx4.cIVprotons, true);
setElementActive(cmplx4.protonstocIV, false);
await pumpComplex4Proton(cmplx4.cIVmat1, cmplx4.cIVims1);
  }

This is one of the state change animations. Whatever was visible in the previous state becomes invisible and gets replaced by whatever is needed in the present state.


r/programminghorror • • 5d ago

Lua i sure do love not using local variables!

Post image
259 Upvotes

getfenv getfenv getfenv getfenv!


r/programminghorror • • 6d ago

why can i do this

Post image
1.3k Upvotes

r/programminghorror • • 6d ago

Mandelbrot set on pure BSD Makefile

219 Upvotes
Source: https://gist.github.com/ilnarildarovuch2/a9386a253d7eb922b39e42789ae1d715

r/programminghorror • • 7d ago

Pi in 796 bytes of brainfuck

Thumbnail
25 Upvotes

r/programminghorror • • 10d ago

Whoever invented the SAP REST APIs, deserves to ...

1.1k Upvotes

We're currently in the process of switching from the old SOAP interfaces to the new REST ones for S4/HANA (for example this one: https://help.sap.com/docs/SAP_S4HANA_CLOUD/d35113ee62644d3abee1aaec148291d9/ec47e02b80f549c4acc3ac5e9fd4c2eb.html )

And what do you know, it has fields like ConfirmationEntryDate and ConfirmationEntryTime.

What data types are these you ask? Well, it's OData V2 which looks like this: /Date(1338282808000)/. What is that you ask? Well it is the milli-seconds since Jan 1st 1970 00:00 UTC time. More commonly known as Unix time or Epoch time.

Well wait a second, if there is a field that describes a point in time down to the millisecond, what do I need ConfirmationEntryTime for? Well you need it, because this is SAP, dammit!

ConfirmationEntryTime is of course written like this: PT10H45M00S.

But wait, there is more!

Doesn't SAP have this famous 24:00:00 time because Dec 31st 24:00:00 is different than Jan 1st 00:00:00 for a accounting system? Yes it does. Does it work with the new API? Of course not.

But wait, there is more!

Remember when I said that Epoch time is based off of Jan 1st 1970 00:00 UTC time?

So surely, whatever I put in must be properly transformed to UTC before sending it to the API, no matter if the physical plant is located in the Americas, Europe or China, right? Right?!? Of course not. Just like with the old SOAP interfaces you need to transform your UTC timestamp into the local timestamp of the plant. Only then to pretend that this is UTC and convert it to the Epoch time!

*slow clap* SAP, well done! German engineering at its finest.

Signed, a German.


r/programminghorror • • 10d ago

Raw use of parameterized class 'List'

138 Upvotes

This is not my code, but it is a good programming horror example, specially if you know Java.

List pages = pageManager.getPages(templateSpace);

for (Object object : pages) {
    if (object instanceof Page) {
        Page page = (Page) object;
        // do something with the page
    }
}

Instead, this should have been used:

List<Page> pages = pageManager.getPages(templateSpace);

for (Page page : pages) {
    // do something with the page
}

r/programminghorror • • 15d ago

Python Rate my python implementation of "hello world" part 2

96 Upvotes

```python import os, random

def greet(): with open(os.getcwd() + "/solution.py", "r", encoding="UTF-8") as f: lines = f.readlines() req = ['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd', '!'] temp = []

    chars = [char for line in lines for char in line]

    while temp != req:
        random_index = random.randint(0, len(chars) - 1)

        if req[len(temp)] == chars[random_index]:
            temp.append(chars[random_index])
            chars.pop(random_index)
    return "".join(temp)

```


r/programminghorror • • 15d ago

Python Rate my python "Hello, World!" implementation

40 Upvotes

```python

Write a function greet that returns "hello world!"

import os

def check_if_contains(l1, l2): contains_all = True for ind in range(len(l2)): if l1[ind] != l2[ind]: contains_all = False return contains_all

def get_length(l, substract): i = 0 for _ in range(len(l)): i += 1 if substract: return i - 1 if not substract: return i

def append_item(l, c): l.append(None)

length = get_length(l, True)
l[length] = c

def build_string(l): string_builder = "" for ind in range(len(l)): string_builder += l[ind] return string_builder

def greet(): with open(os.getcwd() + "/solution.py", "r", encoding="UTF-8") as f: lines = f.readlines() req = ['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd', '!'] temp = [] for line in lines: for char in line: append_item(temp, char) if check_if_contains(req, temp): if get_length(req, False) == get_length(temp, False): return build_string(temp) else: temp = []

```


r/programminghorror • • 16d ago

i am beginner how i can destroy readablity

Post image
99 Upvotes

r/programminghorror • • 16d ago

Java I love loops

792 Upvotes

Working in a legacy codebase. Dozens of people have contributed over the last decade. User spotted a bug & I traced the function calls and found

for(int i = 0; i < 2; i++) {

if(i == 0) // do A

if(i == 1) // do B

}

Wasn’t the source of the bug, and it technically works fine. I love loops


r/programminghorror • • 17d ago

c I’m such a good programmer, I did tetris in only 8 lines !

Post image
483 Upvotes

See ! That’s what efficient code looks like !


r/programminghorror • • 17d ago

Python brainfuck Interpreter Without Statement Terminators

Post image
39 Upvotes

Code

_=([globals().setdefault("p",input("Enter a BF program\n> ")),globals().setdefault("t",dict.fromkeys(range(30000),0)),globals().setdefault("r",0),globals().setdefault("s",0),globals().setdefault("j",[]),globals().setdefault("d",0),list(__import__("itertools").takewhile(lambda _:[(lambda c:(globals().update({"d":globals()["d"]-1})if c=="]"and globals()["d"]>0 else globals().update({"d":globals()["d"]+1})if c=="["and globals()["d"]>0 else 0 if globals()["d"]>0 else globals()["t"].update({globals()["r"]:(globals()["t"][globals()["r"]]+1)%256})if c=="+"else globals()["t"].update({globals()["r"]:(globals()["t"][globals()["r"]]-1)%256})if c=="-"else globals().update({"r":globals()["r"]+1})if c==">"else globals().update({"r":globals()["r"]-1})if c=="<"else print(end=chr(globals()["t"][globals()["r"]]))if c=="."else globals()["t"].update({globals()["r"]:ord(__import__("sys").stdin.read(1))})if c==","else (globals()["j"].append(globals()["s"])if globals()["t"][globals()["r"]]!=0 else globals().update({"d":globals()["d"]+1}))if c=="["else (globals().update({"s":globals()["j"].pop()-1})if globals()["t"][globals()["r"]]!=0 else globals()["j"].pop())if c=="]"else 0))(globals()["p"][globals()["s"]]),globals().update({"s":globals()["s"]+1}),globals()["s"]<len(globals()["p"])][-1],range(99999)))]if __name__=="__main__"else 0)

More compressed, but with terminators

g=globals();u=lambda j,i:j.update(i);s=g.setdefault;_=([s("p",input("Enter a BF program\n> ")),s("t",dict.fromkeys(range(30000),0)),s("r",0),s("s",0),s("j",[]),s("d",0),list(__import__("itertools").takewhile(lambda _:[(lambda c:(u(g,{"d":g["d"]-1})if c=="]"and g["d"]>0 else u(g, {"d":g["d"]+1})if c=="["and g["d"]>0 else 0 if g["d"]>0 else u(g["t"],{g["r"]:(g["t"][g["r"]]+1)%256})if c=="+"else u(g["t"],{g["r"]:(g["t"][g["r"]]-1)%256})if c=="-"else u(g,{"r":g["r"]+1})if c==">"else u(g,{"r":g["r"]-1})if c=="<"else print(end=chr(g["t"][g["r"]]))if c=="."else u(g["t"],{g["r"]:ord(__import__("sys").stdin.read(1))})if c==","else (g["j"].append(g["s"])if g["t"][g["r"]]!=0 else u(g,{"d":g["d"]+1}))if c=="["else (u(g,{"s":g["j"].pop()-1})if g["t"][g["r"]]!=0 else g["j"].pop())if c=="]"else 0))(g["p"][g["s"]]),u(g,{"s":g["s"]+1}),g["s"]<len(g["p"])][-1],range(99999)))]if __name__=="__main__"else 0)

r/programminghorror • • 18d ago

I love reviewing AI PRs

559 Upvotes

r/programminghorror • • 20d ago

Rock Paper Scissors

Thumbnail
gallery
98 Upvotes

Surely there's a more better and efficient way of coding this...


r/programminghorror • • 22d ago

Javascript Rock paper scissors

Post image
291 Upvotes

I'm way too proud of this solution haha


r/programminghorror • • 22d ago

Python 13 year old me really liked inefficient code

Post image
3.0k Upvotes

r/programminghorror • • 23d ago

PHP This happens every time I press Go to Definition

98 Upvotes

I have to carefully choose the real file, all the rest are old backups. And this is just for one file. And there are like 8 more backup folders, yeah we really need to clean these up...

If only we set up source control.


r/programminghorror • • 24d ago

Oh yeah thank you intellicode

Post image
1.1k Upvotes

r/programminghorror • • 24d ago

There's definitely should be an easier way for this

Post image
264 Upvotes

r/programminghorror • • 24d ago

Removing spaces to speed up execution

Post image
233 Upvotes

r/programminghorror • • 25d ago

PHP A website with millions of users was generating their "secret" password reset codes like this for two decades. The algorithm was open to the public due to a failed open-source effort the company launched in the early 2010s. Fixed a few days ago.

Post image
2.1k Upvotes

r/programminghorror • • 26d ago

c++ Will it give me more accurate filename?

Post image
1.2k Upvotes