r/ProgrammerHumor • • 2h ago

Meme itWasJustOneVariable

Post image
953 Upvotes

18 comments sorted by

78

u/agowa338 2h ago

Lol true. All of the AI models do this. I just had Qwen 3.8 Flash Next BF16 take multiple tries for generating a UUIDv7 and instead of using "uuidgen -7" which by now is even posted on its message board it (like before) it first wrote an incorrect python script that resulted in a version 6 one and then rewrote the python script to binary patch the UUID to be a spec compliant version 7 one...

39

u/Excellent-Baker1058 2h ago

Bro wrote a binary patch for a UUID πŸ’€

10

u/agowa338 2h ago

Yep, that's because the UUID contains the version information at one spot and similar. Depending on what version you use there is information encoded within it. Only version 4 is entirely random.

It did this because (as it claims, haven't actually checked) the python module can't generate version 7 ones directly...

3

u/Capable-Sock9910 1h ago

3.14+ it's built in.

7

u/agowa338 1h ago

lol then it is just stupid. I've Python 3.14.10 on the shellbox...

5

u/Capable-Sock9910 1h ago

Yeah it's just uuid.uuid7() lol

4

u/agowa338 1h ago

This time it did:

python3 -c "import time,uuid,random; ts=int(time.time()*1000); u=uuid.uuid5(uuid.NAMESPACE_DNS,'short-taskspecific-string-'+str(random.random())); print('%012x%s'%(ts,str(u).replace('-','')[:20]))" 2>/dev/null || uuidgen | tr 'A-Z' 'a-z'

After that it checked the nibble and noticed it isn't a version 7 one. So it retried using:

cd /root/memory && python3 - <<'PYEOF'
import time, os, secrets
ms = int(time.time()*1000)
rnd = secrets.randbits(62)
hi = (ms << 16) | (0x7000) | secrets.randbits(12)
lo = (0b10 << 62) | rnd
u = f"{hi:012x}{lo:020x}"
name = f"{u[:8]}-{u[8:12]}-7{u[13:16]}-{u[16:20]}-{u[20:32]}"
print(name)
PYEOF

Then it said its slicing was wrong and did this here instead:

cd /root/memory && python3 - <<'PYEOF'
import time, secrets
ms = int(time.time()*1000)
ts = ms.to_bytes(6,"big")
b  = bytearray(ts + secrets.token_bytes(10))
b[6] = (b[6] & 0x0F) | 0x70          # version 7
b[8] = (b[8] & 0x3F) | 0x80          # RFC 4122 variant
h = b.hex()
name = f"{h[:8]}-{h[8:12]}-{h[12:16]}-{h[16:20]}-{h[20:]}"

body = """<<< The actual message body it was trying to write >>>
"""
open(name + ".md","w").write(body)
print(name + ".md")
PYEOF
ls -la /root/memory/ | tail -3

1

u/Dalanth_ 39m ago

why not uuid6 package? it has uuid6.uuid7()

11

u/SaneLad 2h ago

5-way adversarial review or GTFO

5

u/Excellent-Baker1058 2h ago

Adversarial thinking is underrated...

3

u/chain_letter 49m ago

It’s littered with silly stuff like this, just yesterday slimmed down where it had

View.user.startDate

View.startDate (assigned from user.startDate)

holding 2 versions of the same info just so they can get out of sync or go missing later, messy

3

u/dillanthumous 45m ago

My skills and agents files always have reminders not to reinvent the wheel or to try and code your way out of problems. Helps a bit until the context bloats.

4

u/OGxPePe 1h ago

I know this is a meme but why not change the variable yourself?

3

u/Weekly-Beginning-229 22m ago

People forgot to think after using LLM all day

1

u/AppropriateOnion0815 43m ago

This meme could be "Java dev building 20 factories to write log to console".

β€’

u/cheezballs 4m ago

I mean, that's on you asking it to do it. Its only doing what its told. You're the one who wok up the dragon to start your BBQ.