software for the mature discerning adult
1. SQLIte came out in august of 2000, which makes it 19 years old. it has the distinguished honour of being the only program in existence that uses filesystem APIs correctly.
2. RSYNC came out in June 1996, it is 23 years old. it is the only program that I trust for copying large files and large amounts of files between any two points. it natively supports ssh and, in some configurations, uses an extremely clever rolling checksum algorithm that makes me seriously question the sanity of games consoles and operating systems vendors who do not use RSYNC for system and software updates.
rsync does have this one extremely irritating quirk though: different behavior on the presence of, or ansence of trailing slash on paths, that is basically impossible to memorise.
so that this list isn’t unixy stuff only
3. Excel, initial release, 1987, 32 years ago.
love it or hate it, excel gets shit done, it still gets shit done, and it’s been getting shit done for a very long time.
its fomula language and macros system fulfills the promise of users sooving their own problems in a way every other system has utterly failed, possibly because it’s cloaked from the ruinous grasp of “professional programmers” attempting to turn it into a “real” application platform.
fun fact: excel formalae are the world’s most popular pure functionsl programming language. move the fuck over, haskell .
4. NES roms.
if you want hyper sentient dog scientists in the year 40,000 to be able to run your software, write it as an NES rom. trust me on this.
5. Hypercard. 1987, 32 years old.
does this belong on the list, given that it’s no longer maintained?
well, there are still people who still use hypercard, either in a physical old mac or via mac emulators. they use hypercard to get useful work done. including bill atkinson. there are many imitators and clones, but somehow none come close to the approachability and and functionality tradoffs of the original. there are practical benefits to software that never changes.
6. TeX, 1978 (41 years old)
well, I can’t say much about this since i haven’t heavily used it. but despite many other formats coming and going, the LaTeX math expressions are still the undisputed defacto standard for encoding mathematical expressions.
and its line breaking algorithm is still more sophisticated than the algorithms used in most desktop word processing and publishing software.
7. Graphviz and the DOT language, before 1991 (28 years ago)
go away microsoft visio. don’t worry about clicking and dragging around little boxes forever. just type in a more or less simple text based language, and graphviz spits out a flowchart. and you’re done.
dot -> graphviz;
graphviz -> svg;
graphviz -> png;
graphviz -> ps;
8. Milkytracker’s first release was in 2005 (15 years ago) but its core is much older. Milkytracker is built to spiritually continue and be compatible with older dos based and amiga based tracker. What is a tracker? It’s music making software whose UI is patterned after the style of music making software that was originally popular on the C64 which were called “trackers”. I’m not a musician, i can’t make it work. but this thing can still run on ancient pocket computers.
9. Cron (1975, 45 years old)
need to automate something according to a schedule? what are you doing fucking around with things like jenkins or bamboo? you don’t need fucking java to run a script twice a day.
cron uses the crontab format, which fhough it is somewhat cryptic and error prone, is one of the most robust and enduring file formats ever; tab seperated values, one record per line, commented lines start with #. boom. done. no need for libxml, parse it with 6 lines of C.
@zensaiyuki I have no words...
> fun fact: excel formalae are the world’s most popular pure functionsl programming language. move the fuck over, haskell.
Not *entirely* related, but I love this story about the project to add the first "real" version of excel macros in 1991: https://www.joelonsoftware.com/2006/06/16/my-first-billg-review/
@zensaiyuki You have an interesting combination of proprietary and free software on your list. The challenge with proprietary software is that while it's under development it is constantly getting new features (and bugs) added. And when it stops being developed it's dead. Free software doesn't have the same incentive for the maintainers to keep adding features forever, so it's able to stabilize. I guess the wine analogy would be "mellow"?
@zensaiyuki Rsync, TeX, and SQLite all qualify under the "stable" criterion I was interested in a while back. Probably also most of GNU, and maybe Linux LTS kernels after they've been baking long enough.
@zensaiyuki Shelx is older then anything else in your list, and still maintained. It first came out in the 1960s! Has major updates in 1976, 1997 and 2013!
@zensaiyuki discovered this in my exploration of ls -1 /usr/bin | grep -x ... | xargs man
it really shocks me how many problems have already been solved. for decades.
@bobbybobson4888 that’s what GOML is all about
@zensaiyuki thank u for the lawn space but i really must stay indoors,,,, will definitely take your graphviz tho
> i basically used that quote because it was shorter than Explaining #tiddlywiki
for those that haven't heard of it, tw has: programmable macros, widgets, templating systems...
- build whole small apps inside
- on nodejs, call external programs in macros
- as i did, build a game data editor that reads arbitrary hjson files, makes data tiddlers, & exports to arbitrary formats
- program a way to display (or even edit) spreadsheets or such
though it starts as a system of cards
Yeah, I get that a big trait of hypercard isn't just its "self-editing function"/"f(g(x)) style templating" nature but that it was simple & before basically Every (!) modern thing with similar features
My thought while trying to list what #tiddlywiki does:
"...it may have scriptable components + customisable Everything templates but the non-js macro coding syntax is /hell/.
as verbose as hypertalk is, something more flexible in the way of it or lisp would have been Better"
@Valenoern i really had no idea tiddly wiki could do those things you listed and it has me intrigued. what I mean by hypercard’s simplicity can be summed up as “easy things are easy, hard things are possible”. concretely, flash authoring tool started out as an obvious hypercard clone. as the versions progressed though, you want from “select button, pick goto, pick frame” to “create mybutton.as file and write a class that extends as.core.widgets.button. override the click method with…”
@Valenoern in the pursuit of OOP, i think, a lot of people got obsessed with the mechanics, and missed that the point of OOP was originally to enable these codeless methods of building interactive apps.
@amatecha saw it and followed the creators, not realising they were the creators until later.
@zensaiyuki For some reason, I assumed you were implying that the Doctor's K-9 ran on NES ROMs.
Does this apply to gameboy ROMs as well? Or is there something more elegant about the NES ROM architecture? I'm someone who knows little to nothing about either.
(Great concept + list, by the way)
Server run by the main developers of the project It is not focused on any particular niche interest - everyone is welcome as long as you follow our code of conduct!