- Windows' NTFS Alternate Data Streams (ADS) allows hiding an unlimited number of files in already existing files - macOS data forks, xattrs, and Spotlight (md) indexing every single removable volume by default adds tons of hidden files and junk to files on said removable volumes. Solution: mdutil -X /Volumes/path/to/vol - Everything with opt-out telemetry: go, yarn, meilisearch, homebrew, vcpkg, dotnet, Windows, VS…
Cursed Knowledge
81–90 of 165 posts
Re: Cursed Knowledge
#82The '50 extra packages' one is wild. The author of those packages has racked up a fuckload of downloads. What a waste of total bandwidth and disk space everywhere. I wonder if it's for clout.
The maintainer who this piece of “cursed knowledge” is referencing is a member of TC39, and has fought and died on many hills in many popular JavaScript projects, consistently providing some of the worst takes on JavaScript and software development imaginable. For this specific polyfill controversy, some people alleged a pecuniary motivation, I think maybe related to GitHub sponsors or Tidelift, but I never verified…
Re: Cursed Knowledge
#83Also a crypto library that limits passwords to 72 bytes? That’s wild
Re: Cursed Knowledge
#84Earlier 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
Re: Cursed Knowledge
#85- Windows' NTFS Alternate Data Streams (ADS) allows hiding an unlimited number of files in already existing files - macOS data forks, xattrs, and Spotlight (md) indexing every single removable volume by default adds tons of hidden files and junk to files on said removable volumes. Solution: mdutil -X /Volumes/path/to/vol - Everything with opt-out telemetry: go, yarn, meilisearch, homebrew, vcpkg, dotnet, Windows, VS…
>opt-out telemetry: go By default, telemetry data is kept only on the local computer, but users may opt in to uploading an approved subset of telemetry data to https://telemetry.go.dev . To opt in to uploading telemetry data to the Go team, run: go telemetry on To completely disable telemetry, including local collection, run: go telemetry off https://go.dev/doc/telemetry
# mac, bsd, linux, and wsl only
(d="${XDG_CONFIG_HOME:-$HOME/.config}/go/telemetry";rm -rf "$d";mkdir -p "$d"&&echo off>"$d/mode")Re: Cursed Knowledge
#86- Windows' NTFS Alternate Data Streams (ADS) allows hiding an unlimited number of files in already existing files - macOS data forks, xattrs, and Spotlight (md) indexing every single removable volume by default adds tons of hidden files and junk to files on said removable volumes. Solution: mdutil -X /Volumes/path/to/vol - Everything with opt-out telemetry: go, yarn, meilisearch, homebrew, vcpkg, dotnet, Windows, VS…
Opt-out telemetry is the only useful kind of telemetry
Re: Cursed Knowledge
#87Re: Cursed Knowledge
#88This 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
Re: Cursed Knowledge
#89One 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…
I've actually encountered this one, it involved an ORM upserting lots of records, and how some tables had SQL array-of-T types, where each item being inserted consumes one bind placeholder.
That made it an intermittent/unreliable error, since even though two runs might try to touch the same number of rows and columns, you the number of bind-variables needed for the array stuff fluctuated.
Re: Cursed Knowledge
#90I loved this the moment I saw it. After looking at an example commit[1], I love it even more. The cursed knowledge entry is committed alongside the fix needed to address it. My first instinct is that every project should have a similar facility. The log is not just cathartic, but turns each frustrating speedbump into a positive learning experience. By making it public, it becomes both a tool for both commiseration an…