The two hardest problems in computer science are cache invalidation, naming things, and off by one errors.
Also, almost all of that is written in C, which is a successor to B, which is a simplified version of the Basic Combined Programming Language. There was never an A.
Assembly.
Though there was a programming language called A Programming Language. Not the A programming language. A Programming Language.
@mindbleach @waigl APL?
Yes, A Programming Language.
Which requires a space-cadet keyboard.
Is there a D?
Yes, but I’m not sure if we want to open the “programming language can of worms”.
There’s B, C, C++, C#, Objective-C, D, E, F, F#, F* and so many more. Also, they may or may not have anything to do with each other
But of course Java and Javascript are related /s
I once had a C# dev tell me they couldn’t run JavaScript because they didn’t have Java installed.
Also I’ve read that C# is C++++ (like put those + on 2x2 table, which in turns ressemble a #)
Hahaha I’ve never heard that before. Seems legit.
C# was originally “Java: The Good Parts” but but these days it’s a much more advanced language and runtime compared to Java.
As a dev who works on both Java and C# code, modern Java (17+) and C# feel almost exactly the same (not sure if Java has extension methods though).
Bonus points for using Kotlin instead tho. I dislike both Java and C# just because they both allow any object to be null and that’s usually a headache whenever a null exception shows up.
The only thing I like better about C# is the Fixture library for testing. I haven’t found any mature libraries like it for Java yet.
they both allow any object to be null and that’s usually a headache whenever a null exception shows up.
C# has nullable reference types now: https://learn.microsoft.com/en-us/dotnet/csharp/nullable-references. If you enable it, you have to explicitly make reference types nullable (like
?string
) and you’ll get build warnings if you try to use a variable that’s potentially null.
And before Pidgin was named Pidgin, it was named GAIM, which was short for GTK AIM, which was short for GIMP toolkit AOL IM, which was short for GNU Image Manipulation Program toolkit America Online Instant Messenger, which was short for GNU’s Not Unix Image Manipulation Program toolkit America Online Instant Messenger and it never ends.
Which bible passage is that again?
Stallman 2:7-11
May his toes never jam
Does anyone still use pidgin in 2024 even?
With the new EU’s interconnection laws I hope I can WhatsApp from Pidgin, or even from irssi!
But no, I don’t use pidgin anymore. irssi, yes.
TIL Wayland is named after a town
so is dracut and weston.
i think that naming software after towns in Massachusetts is somekind of red hat in-joke.
It’s even neater. The name of towns/cites cannot be trademarked. The safest thing you can do when naming a project is naming it after a town so you don’t run into legal troubles in the future.
You can eventually trademark once you get big enough. As with all things law it’s a bit tricky. However, the default is that geographic locations aren’t trademarkable.
For further reading on when you can trademark.
https://www.yospinlaw.com/2016/06/15/trademark-on-a-geographical-location
I always thought this was the origin https://en.m.wikipedia.org/wiki/Wayland_the_Smith
I always thought it was the corp from the Alien series. 🤓
That’s Weyland-Yutani
“GNU is Not Unix Image Manipulation Program Tool Kit” is still a better name for GTK than “GIMP ToolKit”.
It’s a name that will definitely raise some eyebrows in the less technically inclined circles. (and maybe a few “Pulp Fiction” references about “bring out the gimp”)
Wait why didn’t they keep unpacking the recursive acronym further? GNU’s Not Unix’s Not Unix’s Not Unix’s Not Unix I’d say that’s a pretty good amount although if there’s a mathematical way of formulating the unpacking of acronyms in a text I’d like to see the that repeated until infinity.
Just put it in a formal grammar:
GNU -> GNU's Not Unix's GNU -> gnu GIMP -> GNU image manipulation program
i tried that and the stack overflowed
Fair enough.
All these years I thought GTK stands for Gnome Tool Kit…
It’s pretty common for people to think that, since the GNOME Foundation adopted it. It was originally created for GIMP though - the developer didn’t like Motif so they built their own replacement for it.
Never let programmers name things 😁
Web browsers: elinks, based on links, which I’m pretty sure was a play on words on lynx, which is a play on words on “links” on a web page.
Then there’s email. There’s mahogany and balsa and mulberry, which are in-jokes referring to pine, which was a joke referring to elm, which stood for ELectronic Mail. Pine has been forked to alpine, in an entirely different play on words.
Open Watcom supports a debugging format called DWARF, which I assumed was a ridiculous acronym, until I learned it only works on ELF binaries.
The big one is how there was a programming language called A Programming Language. There is a B programming language, but it’s unrelated, being developed for Multics… Multics being the inspiration for Unix, a joke about castration. The developers of B went on to develop C. C was followed up by the command to increment a variable: C++. Except some interdisciplinary dorks thought it was a musical note and created C#. D is somehow a sequel to both of those.
There’s a reason why-- look. Nicholas Metropolis, namesake of the raytracing method, was sick of mainframe computers with ridiculous acronyms like ENIAC, AVIDAC, and ILLIAC, so he named his university’s new machine MANIAC. Absolutely no-one got the joke. All computer scientists are broken in the same peculiar way, and it is impossible to satirize how stupid we get when asked to name a thing.
Pine has been forked to Alpine
Wonder if it runs on Alpine the Linux distro.
In other news, I never knew pine’s genetic code still lives on; but I miss elm more. Can we do uw-imap too? Dovecot annoys me.
I’ve run alpine on alpine, it works just fine
Yea no kidding. Gnome is pronounced Guhnome, Mate DE is pronounced Matay, Open Suse is susuh not soos, and Qt is to be pronounced as “cute” instead of just… Q-T. Many such cases.
Wait for real? I don’t think I’ve heard many say those terms out loud, i pronounce them in my head Nome, Mate, Soos, and q-t
Naming things is hard, and everyone remembers these names, so they must have done something right.
Yes, naming things one of the three hard computing problems left along with cache invalidation.
I feel bad that you’ve been left hanging there.
What’s the third one? :)
Probably off-by-one errors
(before it was Kool, KDE was a reference to CDE, the Common Desktop Environment)
The logo looks like an ASCII butt.
Common is a pretty basic name, Kool is way cooler.
*Kooler
*kooler
Let’s not forget about Ian and his wife, Debbie.
Edit: Now ex-wife, apparently.
Linux claimed another victim ✊😔
Holy shit! Is this real?
Ex wife and ex Ian
Bruh
With just little bit of formatting, it would communicate the information infinitely better. Why don’t people make the minimal effort, once, when not doing leads to each and everyone having to figure out what the fuck it’s actually trying to say.
Apologies. I’m grumpy after a three hour meeting.
the real problem is this sentence contains no formatting no punctuation and no capitalization it must be a failure of our public education system in america that kid dont get the proper education they need in this day and age to use proper gramer and formatting where needed i bet most of you cant tell me the proper time to use a semicolon vs using a colon and thats ok because i dont either i do try my best to put it in the right place sometimes looking it up and failing to understand comas are also frequently used to much by people im sure your not alone in this assumption it could also be that english is hard and schools spend more time teaching us to consume and parse english rather than a balance of both reading comprehension and writing skills
GNU is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX[Maximum call stack size exceeded]
That’s great, it even goes deeper
http://ubuntu.ubuntu.ubuntu.ubuntu.ubuntu.ubuntu.ubuntu.ubuntu.ubuntu.ubuntu.ubuntu.ubuntu.ubuntu.ubuntu.ubuntu.ubuntu.ubuntu.ubuntu.ubuntu.ubuntu.ubuntu.ubuntu.ubuntu.ubuntu.ubuntu.ubuntu.ubuntu.ubuntu.ubuntu.ubuntu.ubuntu.ubuntu.ubuntu.archive.ubuntu.com/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/ubuntu/dists/mantic-backports/universe/debian-installer/binary-i386/by-hash/SHA256/e7ab72b8f37c7c9c9f6386fb8e3dfa40bf6fe4b67876703c5927e47cb8664ce4
How is this a thing??
Yeah some kind of fucky configuration.
The root is:
Which, if the
ubuntu
link is clicked, then drops you into the the real archive root… but the link is “appended” to the new path, but the same link is reproduced in the “new” folder. Click it again, and another segment added to your current path even though you’re in the same root archive, ad nauseam.I couldn’t find this misconfiguration on stackoverflow, which leads me to believe someone at ubuntu is doing something especially special here.
I’d bet that they symlinked
/ubuntu
to the server’s home root - probably for continuity with some previous file structure. It sure looks silly, but I’m sure the reasons for doing it were pretty reasonable.
A tail-recursive version written in OCaml that should not reach stack limits easily. (Not an expert in OCaml, so this might be stupid. But I tried it with 10000 iterations, and it worked without any issues.)
let gnu = let rec aux s = function | 0 -> s | n -> aux (s^" is Not Unix") (n-1) in aux "GNU";;
GNU is not UNiplexed Information Computing System is not UNiplexed Information Computing System is not UNiplexed Information Computing System is not UNiplexed Information Computing System is not UNiplexed Information Computing System is not UNiplexed Information Computing System is not UNiplexed Information Computing System is not UNiplexed Information Computing System is not UNiplexed Information Computing System is not UNiplexed Information Computing System is not UNiplexed Information Computing System is not UNiplexed Information Computing System is not UNiplexed Information Computing System is not UNiplexed Information Computing System is not UNiplexed Information Computing System is not UNiplexed Information Computing System
I can’t wait to hear about the GNU Is Not UNIX Hurd of Hird of Hurd of Hird of Hurd of Hird of Hurd of Hird of Hurd of Hird of Hurd of Hird of Hurd of Hird of Hurd of Hird of Hurd of Hird of Hurd of Hird of Hurd of Hird of Hurd of Hird of Hurd of Hird of Hurd of Hird of Hurd of Hird of Hurd of Hird of Hurd of Hird of Hurd of Hird of Hurd of Hird of Hurd of Hird of Hurd of Hird of Hurd of Hird of Hurd of Hird of Hurd of Hird of Hurd of Hird of Hurd of Hird of Hurd of Hird of Hurd of Hird of
Don’t worry, at the rate it’s going it probably will never see the light of day in any usable sense for the average person.
What a coincidence, I’m currently learning GTK4/Libadwaita :>
Linux lore is my favourite