Friend who is not a software person sent me this tweet, which amused me as it did them. They asked if “runk” was real, which I assume not.
But what are some good examples of real ones like this? xz became famous for the hack of course, so i then read a bit about how important this compression algorithm is/was.
There is a guy named Arthur David Olson who maintains a small database of all the time zones in the world, including things like leap seconds and such. It’s used by everybody and it is updated several times a year. See here:
I bet he’s paid nothing to do it. Then one day, when a timing attack happens that can be traced to the DB, some knobhead CTOs and tech influencers will start talking about “securing the supply chain”. They’ll want other such bullshit and responsibilities to be shoved unto volunteers.
Two quotes come to mind “Fuck you, pay me” and “Open source maintainers owe you nothing”.
If we could all just stop making changes to time zones, that would make my job very slightly easier.
Perhaps we’ll move to UTC+10¼, and then move forward 45 minutes in the summer.
If the day number is a prime, then we’ll go back π hours.
Hope that will help!
Paul Eggart is the primary maintainer for tzdb, and has been for the past 20 years.
Tzdb is the database that maintains all of the information about timezones, timezone changes, leap whatever’s and everything else. It’s present on just about every computer on the planet and plays an important role in making sure all of the things do time correctly.If he gets hit by a bus, ICANN is responsible for finding someone else to maintain the list.
Sqlite is the most widely used database engine, and is primarily developed by a small handful of people.
ImageMagick is probably the most iconic example. Primarily developed by John Cristy since 1987, it’s used in a hilarious number of places for basic image operations. When a security bug was found in it a bit ago, basically every server needed to be patched because they all do something with images.
Furthermore, “RUNK” was originally made in the 1980s to take over from a program written on punch cards in the 1960s. Finally, it’s missing some important functions that the original 60s program had because "RUNK"s developer doesn’t see the purpose of those functions and refuses to add them; and no one has publically released a fork of “RUNK” that adds those functions back in, so you have to do it yourself. Thank God it’s open source.
Edit: oh yeah, and back in 2005 there was an effort to make a GUI for it, but “RUNK’s” sole developer got mad because “back in the 80s we didn’t need GUIs; command line is infinitely faster” and kept intentionally breaking support for the GUI with each bug fix, leading to the project eventually being abandoned.
left-pad was the first thing that came to mind for me
Yeah that debacle still pisses me off. Especially the fact that someone could possibly trademark and enforce a trademark a name that’s already in use. It’s made even worse that the package that now uses the stolen name is defunct.
I hope all of the bad actors burn in Hell.
What pisses me off is that NPM thought it would be okay to remove something from their repository.
What did NPM remove? My understanding is that NPM restored the deleted package. If you’re referring to giving the author the ability to delete their packages, I’m on the fence about that. On the one hand, if it’s open source, it’s a part of the community. On the other hand, it’s also still the author’s code, and if they are the only author, then it’s their sole decision if they want to host their code under their account.
But at the same time if the code is properly licensed under an open source license (I would assume/hope NPM didn’t allow non FOSS code) then NPM can refuse to take it down. Yes, they put it back up, but I think it’s important for public repositories (as in packaged code repositories, not got repositories) to never remove things (barring legal requirements, sure).
For what it’s worth, the policy they adopted after the fact seemed pretty sensible. I think it was something like you can’t take things down once they have ~100 downloads or x number of dependents.
I mean, it was either Richard Stallman or Dennis Ritchie that created grep in an evening so that a buddy of his could do research on volumes of text that wouldn’t fit in the RAM of a PDP-11 (or similar machine. I’m telling this story from memory). It’s designed to do what you would do with the ancient text editor ed using the commands Global, Regular Expression, and Print. g re p. grep. Probably the most important piece of software ever written in a couple hours.
Relevant, for those interested in the history of grep. Computerphile
Wikipedia credits it to Ken Thompson, PDP-11 to me implies early Unix.
It’s also, in my opinion, the most verb-able of all *NIX commands.
Yeah I’ve told someone to grep something despite knowing they had a windows server
I don’t know, rm being short for “remove” is very verbaceous.
Verbaceous is a great word. I’m adding it onto my “favourite words” list ,(even if it isn’t technically a word "
Ah, pshaw, I don’t subscribe to the notion that there’s such a thing as “not a word.” Why bother having a system of root words, prefixes and suffixes if we’re not allowed to use that system to build the words we need? Especially for the fun of it. Verbaceous is adjectivacular.
Original grep was pretty much a wrapper around sed (or actually maybe ed, I don’t remember). That’s why it’s called g/re/p, which is the sed command to do the same thing.
TIL
I’m telling this story from memory
pun intended? ;D
I’m surprised that no one seems to have brought up curl, which is maintained by Daniel Stenberg who is Just Some Guy™
I think this probably applies…
So Thief: The Dark Project (1999) and Thief 2: The Metal Age (2000), are a couple of classic stealth FPS games, proto-immersive-sims, and still some of my all time favorite games. They both use the Dark Engine, an in-house engine from the now defunt Looking Glass Studios, which also powered System Shock 2.
In 2010, the source code to a System Shock 2 port (for the dreamcast or ps2 iirc…) leaked online, and on 2012 someone used that code to create NewDark and TFix, patches to make these old games work on modern computers (and some bugfixes, support for HD, etc).
There are still updates regularly released for it too!
I must emphasize that these games are still sold on Steam, GOG, etc and this patch is essentially required for them to work. And these are hardly the only games like this, just the ones most personal to me. Retrogaming is built on the backs of unsung individual heroes who backwards-engineer, hack, patch, and mod their favorite games to keep them running for everyone long after the publishers have died or abandoned their work.
Vampire The Masquerade: Bloodlines had a patch for it that made it way more stable (and also added back in a bunch of cut content).
Way back, my partner played Watchdogs at launch and the stuttering was awful, and it was basically unplayable. Some random person made a patch that fixed most of the problems and made the game look closer to what it did at E3.
Random nerds on the internet are my favourite people
Also the guy who fixed GTA Online’s ridiculous loading times.
Based on my cheatsheet, GNU Coreutils, sed, awk, ImageMagick, exiftool, jdupes, rsync, jq, par2, parallel, tar and xz utils are examples of commands that I frequently use but whose developers I don’t believe receive any significant cashflow despite the huge benefit they provide to software developers. The last one was basically taken over in by a nation-state hacking team until the subtle backdoor for OpenSSH was found in 2024-03 by some Microsoft guy not doing his assigned job.
Sqlite isn’t quite one person, but it is a very small team and is extremely widely used. https://www.sqlite.org/mostdeployed.html
Damn, I wanted to mention sqlite.
It’s not too late. Mention it!
The guy that runs Rufus.
The
core-js
story always makes me sad. Sure, he’s developing an open source project and no one HAS to pay him. But the meager amount of donations and the tons of hate he receives isn’t justifiable.It’s especially sadder when a substantial amount of the donations vanished when Open Collective and others stopped operating to Russians.
Imagemagick.
Every website that supports avatar images and has multiple sizes of the avatars uses imagemagick.
Another one is OpenSSL.
Until very recently the whole Resident Evil modding community relied solely on a Maya 3DS script that a Chinese dude named Maliwei777 created in 2012. The community cherished that script but it got harder and harder to get the correct 3DS version to run it.
Steve Jobs and Steve Wozniak are the classic example. Jobs has some technical skill, but not a lot. He’s the “ideas guy” that all other “ideas guy” try to be. I don’t have a lot of respect for the “idea guy”; Jobs was a manipulative narcissist, and he should not be emulated.
Woz, OTOH, is an absolute genius, and one of the most genuinely nice people you’ll ever meet. Apple made him enough money that he can do whatever he wanted with his life, and what he wanted was to do cool things with computers and pull harmless pranks.
Bill Gates had Steve Ballmer and Paul Allen. That was more of a collaboration. They all had some level of technical and business skill mixed together. It wasn’t quite the complementary skillset we see with Jobs and Woz. A lot of Microsoft’s success was being in the right place at the right time to make the right deal.
A lot of Microsoft’s success was being in the right place at the right time to make the right deal.
It was also having friends on the IBM board that signed a contract that didn’t make any commercial sense…
Friends?, bill gates mother worked there
And Woz wasn’t the only genius who worked at Apple at the time. Pretty much everyone who worked on the original Macintosh was brilliant.
Pretty much every basic terminal command for linux. Grep is the one that comes to mind.
The modern man uses
ripgrep
👍But it’s three more letters. No deal.
Its going installed binary is
rg
.I shall begrudgingly consider it then, with much begrudgement.
What does that offer offer grep/egrep
-
much faster
-
proper unicode (and other encodings) support
-
automatic recursion (no extra flags needed)
-
can search inside compressed files/archives like gz/xz/zip (also see ripgrep-all) for even more archive support)
-
honors
.gitignore
and ignores binary/hidden files
probably a lot more things too
-