Live data from Hacker News

Cursed Knowledge

immich.app

71–80 of 165 posts

Re: Cursed Knowledge

#71
post #58

Earlier quoted context omitted.

I believe YYYY-MM-DD is even less ambiguous than YYYY/MM/DD.

Correct. Slashes mean it's a yank date and going to be backwards. Dashes hint that it's going to be (close to) ISO standard.

And it doesn't use a path-separator character for the date.

Re: Cursed Knowledge

#72

Earlier quoted context omitted.

to save everyone else a search, it's probably ljharb. (I am not a member of JS community, so, come and attack me.)

Wow that's some deep rabbit hole. This guy gets paid per XY npm downloads and games the system through this. Awful.

There is apparently a tool, that you can upload your package.json and it will show you how much dependencies are controlled by ljharb

https://voldephobia.rschristian.dev/

Re: Cursed Knowledge

#73
post #24

> npm scripts make a http call to the npm registry each time they run, which means they are a terrible way to execute a health check. Is this true? I couldn’t find another source discussing it. That would be insane behavior for a package manager.

probably an update check? It definitely sometimes shows an update banner

Re: Cursed Knowledge

#74

Earlier quoted context omitted.

It's probably a clout thing, or just a weird guy (Hanlon's Razor), but a particularly paranoid interpretation is that this person is setting up for a massive, multi-pronged software supplychain attack.

> (...) but a particularly paranoid interpretation is that this person is setting up for a massive, multi-pronged software supplychain attack. That person might not be doing it knowingly or on purpose, but regardless of motivations that is definitely what is being done.

A package "for-each"[0] that depends on a package "is-callable"[1], just to make forEach work on objects? Nope, not buying the goodwill here.

[0]: https://www.npmjs.com/package/for-each

[1]: https://www.npmjs.com/package/is-callable

Re: Cursed Knowledge

#75
Love to see this concept condensed! This kind of knowledge will only emerge only after you dive in your project and surprisingly find things do not work as thought (inevitable if the project is niche enough). Will keep a list like that for every future project.

Re: Cursed Knowledge

#76

Earlier quoted context omitted.

> (...) but a particularly paranoid interpretation is that this person is setting up for a massive, multi-pronged software supplychain attack. That person might not be doing it knowingly or on purpose, but regardless of motivations that is definitely what is being done.

A package "for-each"[0] that depends on a package "is-callable"[1], just to make forEach work on objects? Nope, not buying the goodwill here. [0]: https://www.npmjs.com/package/for-each [1]: https://www.npmjs.com/package/is-callable

To be fair, he himself removed his unnecessary dependency that caused the explosion of dependencies: https://github.com/A11yance/aria-query/commit/ee003d2af54b6b...

EDIT: Oops, he just did the changelog entry. The actual fix was done by someone else: https://github.com/A11yance/aria-query/commit/f5b8f4c9001ba7...

Re: Cursed Knowledge

#77

This is awesome! Does anyone else wanna share some of the cursed knowledge they've picked up? For me, MacOS file names are cursed: 1. Filenames in MacOS are case-INsensitive, meaning file.txt and FILE.txt are equivalent 2. Filenames in MacOS, when saved in NFC, may be converted to NFD

I created one of the first CDDBs in 1995 when Windows 95 was in beta. It came with a file, IIRC, cdplayer.ini, that contained all the track names you'd typed in from your CDs.

I put out requests across the Net, mostly Usenet at the time, and people sent me their track listings and I would put out a new file every day with the new additions.

Until I hit 64KB which is the max size of an .ini file under Windows, I guess. And that was the end of that project.

Re: Cursed Knowledge

#78
post #50
post #35

One of their line items complains about being unable to bind 65k PostgreSQL placeholders (the linked post calls them "parameters") in a single query. This is a cursed idea to begin with, so I can't fully blame PostgreSQL. From the linked GitHub issue comments, it looks like they adopted the sensible approach of refactoring their ORM so that it splits the big query into several smaller queries. Anecdotally, I've found…

that also popped out at me: binding that many parameters is cursed. You really gotta use COPY (in most cases). I'll give you a real cursed Postgres one: prepared statement names are silently truncated to NAMEDATALEN-1. NAMEDATALEN is 64. This goes back to 2001...or rather, that's when NAMEDATALEN was increased in size from 32. The truncation behavior itself is older still. It's something ORMs need to know about it --…

> few humans are preparing statement names of sixty-plus characters.

Java developers: hold my beer

Re: Cursed Knowledge

#80
Why is the YAML part cursed? They serialize to same string, no? Both [1] and [2] serialize to identical strings. This seems like the ancient YAML 1.1 parser curse strikes again.

[1] https://play.yaml.io/main/parser?input=ICAgICAgdGVzdDogPi0KI...

[2]https://play.yaml.io/main/parser?input=ICAgICAgdGVzdDogPi0KI...

Post reply on HN