r/programminghorror • u/Binary101000 • 2h ago
Rust hello world
Yes sorry for stealing your whole concept u/ferro31_ but it really interested me.

r/programminghorror • u/Binary101000 • 2h ago
Yes sorry for stealing your whole concept u/ferro31_ but it really interested me.

r/programminghorror • u/NOT_the_burner_acc • 1d ago
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 • u/DroneCyn • 4d ago
getfenv getfenv getfenv getfenv!
r/programminghorror • u/DJDoena • 8d ago
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 • u/Disastrous-Name-4913 • 9d ago
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 • u/ferro31_ • 14d ago
```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 • u/ferro31_ • 14d ago
```python
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 • u/LegendarySoda • 14d ago
r/programminghorror • u/Coolfoolsalot • 15d ago
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 • u/Planty_anim • 16d ago
See ! That’s what efficient code looks like !
r/programminghorror • u/RichRoof7927 • 15d ago
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 • u/GaMerBoi2465 • 19d ago
Surely there's a more better and efficient way of coding this...
r/programminghorror • u/No_Opening_5597 • 20d ago
I'm way too proud of this solution haha
r/programminghorror • u/MidKnightIsOnline • 21d ago
r/programminghorror • u/HuntingKingYT • 21d ago
r/programminghorror • u/sonesoul • 22d ago
r/programminghorror • u/SirBackrooms • 23d ago
r/programminghorror • u/D3V370P3R • 25d ago
We were a small team of ~8 trying to build software. The team was spread across multiple locations across Asia, Europe and North America. One big challenge we had was synchronizing our work with each other.
Every Friday before each of us logged out, we upload a copy of our working files to the client's SharePoint folder. That way when we share each other's copies every Monday via Teams, we don't have to reupload.
One minor setback. Instead of replacing the previous copy, we upload a fresh one - under a different name. That way, we would not lose any information.
We even came up with a clever idea (that magnified the issue) to name the folders by the calendar week. Soon, each of us would have multiple folders of repetitive code, sometimes with zero changes all uploaded to the shared drive.
We had successfully moved from trying to synchronizing one (latest) version of the codebase, to trying to synchronize one version every week. But we hadn't realized this at that time. We were excited about a more "sophisticated" solution - creating a script that automates this backup process.
We learnt to use Git during Christmas that year.
---
For Reference:
```Python import os, zipfile from datetime import datetime from pathlib import Path
work = Path("Work") if not work.exists(): print("Error: Work folder not found") exit(1)
week = datetime.now().isocalendar()[1] zip_file = f"W{week}.zip"
with zipfile.ZipFile(zip_file, 'w', zipfile.ZIP_DEFLATED) as z: for root, dirs, files in os.walk(work): for file in files: path = os.path.join(root, file) z.write(path, os.path.relpath(path, '.'))
print(f"Created {zip_file}") ```
Edit: Code Block Formatting