markdown guide
 

From the top of my head:

  • C, as in the language, stands for Christopher.
  • D in MS-DOS originally stood for Dirty.
  • We call anonymous functions 'lambdas' either because the Greek letter was easier to print than a hat, or because someone played eenie-meenie-minie-mo.
  • Ken Iverson was able to get IBM to build a whole new printer, with new characters on it, to write his APL programming language.
  • The first programming language used on a Unix machine was dc, a stack based Reverse Polish calculator still present on Linux/Mac today.
  • Type M-x doctor in Emacs to get access to a Rogerian psychotherapist.
  • The QWERTY keyboard layout was designed to slow down your typing
  • The reason keyboard rows are offset is to allow the hammers on a typewriter to fit inbetween them.
  • The Caps Lock key only moved to its current location in 1984 to satisfy the increasing number of secretaries using computer keyboards. It used to be Control.

... I'll have a think and come back ...

 

The QWERTY keyboard layout was designed to slow down your typing

This one seems to be an urban legend, probably not actually true
smithsonianmag.com/arts-culture/fa...

 

That's fun! Although I'm not sure if it's any better to know that QWERTY is an efficiency hack for transcribing telegrams from Morse.

 

We call anonymous functions 'lambdas' either because the Greek letter was easier to print than a hat, or because someone played eenie-meenie-minie-mo

Can you elaborate on this one? "Lambdas" are named after the lambda calculus, which originated in the 1930s... Is the stuff about hats and eenie-meenie related to the name of the lambda calculus?

 

Willingly. You'll find most of it on the Wikipedia page under History, but in brief:

  • either Alonzo Church picked a random Greek letter, in his own words by eenie-meenie.

  • or he started with a 'hat' over a variable - like ê - which got shifted to the left to become an upside down V. Which looks like a capital lambda, and so it was lowercased.

 

I was informed that C was named so because it came after the B language (made by Bell Labs) - where did this Christopher thing come from?

 

So B came from BCPL, the Basic Combined Programming Language at Cambridge. Which came from the (unimplemented) CPL - Combined Programming Language.

The C also stood for Cambridge. But it was also known as Christopher's Programming Language after one of its inventors, Christopher Strachey.

source: The Art of Unix Programming

 

The Caps Lock key only moved to its current location in 1984 to satisfy the increasing number of secretaries using computer keyboards. It used to be Control.

I always remap caplock as a Ctrl in my keyboards. Very comfortable.

 

I always remap caplock as a Ctrl in my keyboards.

If you don't YOU'RE A MONSTER!

Actually, on my ezbook (with US keyboard) I remapped the Caps Lock to the "Compose" key in order to type accented letters (for everything else there is Shift-Ctrl-u + unicode) :-)

 

I'm a monster, cause I only use Shift (with little finger)

 

This one blew me away when I first read it years ago.

Behold: The case of the 500-mile email

ibiblio.org/harris/500milemail.html

 
 

That is good, but you MUST read the FAQ to this story. There is a link in the header.

 

Microsoft Excel originally (and perhaps still?) treated the year 1900 as a leap year in its date computations even though it is not a leap year. It was an intentional choice. The existing spreadsheet software with the greatest market share at the time of Excel’s release was Lotus 1-2-3. Lotus 1-2-3 had the same behavior via a legitimate bug. By replicating the behavior, Excel could import Lotus 1-2-3’s file format with no unexpected outcomes for the user. This made the switch to Excel seamless and it quickly dominated the market.

 
 

Nice note. In the 80s, I worked on a 3D spreadsheet program named BitsCalc (later BoeingCalc). We inserted the same behavior, for the same reason.

 
 

Do you know lisp uses () instead of [] solely because the keyboard that was used to develop its first versions had a problem with [ key?

 

When Apple acquired NEXT in 1996, they mostly did it so Jobs could return to his previous role. But Apple/Jobs also saw the NEXT OS as a serious improvement over the existing Mac OS.

Because of this, Apple chose to build the next OS on top of NEXT. In fact, up until recently (might even still be the case) if you peeked into the source code of OSX you would still find original unmodified NEXT files. So in some ways if you’re running OSX you are still running part of NEXT.

 

That's why tons of classes have NS in the beginning, Next Step.

 

Heres a few of mine:

  • JavaScript has both +0 and -0
  • The original version of the .NET framework was written in Java
  • C# is actually an implementation of an ECMA spec
  • PowerPoint is Turing-complete (along with a surprising list of other things)
 
 

In 2009, a carrier pigeon was faster and more reliable at data transfers than the Internet in South Africa.

Source: wired.com/2009/09/in-africa-a-pige...

 

In an episode Ghost in the Shell Stand Alone Complex Episode 16, there is a scene where a character is serving coffee to a house guest, and in the background is a Hario Syphon Coffee Maker, which implies that the show creators felt it was a futuristic way to make coffee or the characters thought that it was retro - both of which are interesting perspectives for a brewing method relatively few people use.

As Major Motoko Kusanagi is one of if not the best hackers in the world and coffee is the fuel of many programmers worldwide, I claim it counts as programmer trivia of the useless variety.

 
  • Binary isn't the only system. A bi-quinary system was also proposed that would have, due to the wavelength nature of electricity, given us the ability to have a decimal system in our computers. Five levels of voltage above ground, five levels of voltage below. However, such a system was complex, power-hungry, and unreliable due to quantum mechanics (if the wavelengths were too small, it got difficult to precisely measure which level its at, and if the wavelengths are too big, it was too energy inefficient.)

youtube.com/watch?v=thrx3SBEpL8

 
  • Array indexing didn’t always start at 0 (it still doesn’t in some languages): cs.utexas.edu/users/EWD/transcript...

  • Port 666 is reserved for Doom. Grep your /etc/services on Linux or Mac.

  • The oldest commercially released RPG was “Below Apple Manor”, which got its name from being written on an Apple II.

  • Emacs added the command M-x butterfly after an XKCD cartoon joked about it.

 
 

Wi-Fi doesn't officially stand for anything and is just a pun on the abbreviation "hi-fi"

 
 

The hashtag/pound sign, #, is originally known as the octothorpe.

 

Actually, in my youth, we called it "trace" (and I still use it sometimes) because the TRACE command in Apple II BASIC, outputs the line numbers prefixed with #.

I learned much later that in some places # is used instead of № character.

 

WellActually that's the proper name for it, from a typesetting point of view.

 

Americans pronounce "cache" as "kaysh", but Australians are more likely to pronounce it like "cash".

Oh, and UK/Eire-denizens pronounce "router" like "rooter" - but that's got certain connotations here in AU/NZ ;)

 

In some programming languages, 0.1 + 0.2 doesn't always equal to 0.3. It would give you 0.30000000000000004 or something along the lines. In fact, you can try it out in your browser for Javascript at least.

For more info: 0.30000000000000004.com/ and also there's a list of the programming languages where this phenomenon occurs.

 
document.all instanceof HTMLAllCollection;
// => true
typeof document.all === 'undefined';
// => true
 

Do you know this exists? Is a cool flowchart visual program developed by USAF. raptor.martincarlisle.com

And this is useless but funny, have you ever read any discord changelog?

I'm sure you know the arrow in the fuel gauge pointing towards the fuel tank.

 
 

Lmao, is stuck in the last century. Don't get fooled by that, Raptor is an awesome program.

 

In 2009-2010 Google tried to merge a separate version of Python inside the official one but didn't ultimately succeed.

The story around it was interesting for a few reasons:

  • Google at the time was really deep into Python, they were using it for all sorts of things and they employed a few core teams devs, Guido Van Rossum (the creator) included
  • "Unladen swallow" (the code name of this branch), was used internally and promised some performance improvements
  • Among those improvements there was a JIT compiler (Ruby 2.6 for example has merged an experimental JIT compiler, ten years later)

The reason it failed:

  • they thought they could reach 5x speed in single threaded cases but actually they were around 1.x kind of increase
  • The community already had a JIT enabled project, PyPy, which was a separate effort
  • Developers were not excited about it and also assumed that Google would maintain the code for ever and ever (honestly, nobody wants to merge an insanely huge patch that requires a lot of work to adjust in an already successful project)

So, it was a good idea, but it technically didn't work the way they tried it and there was not enough support around it to keep at it for a long time and hopefully improve the performance gains.

I think this story mostly speaks of what it means to mantain a hugely successful open source project and the relationship with contributors, even if they are a big company ;-)

If anyone is interested, the details and the story are here: python.org/dev/peps/pep-3146/

 

Wat is a talk on all the weird things in programming, the things that make you say
"Wat"
destroyallsoftware.com/talks/wat
I highly reccomend this :)

 

If you allow me to blunty borrow a quote:

„Below are the average carbon footprints of different emails:

An average spam email: 0.3 g CO2e (carbon dioxide equivalent)

A standard email: 4 g CO2e

An email with “long and tiresome attachments”: 50 g CO2e“

Not sure if the numbers are correct, but I recently heard about that on the local radio too.

Source: carbonliteracy.com/the-carbon-cost...

 

Alan Turning helps to lay the foundation of the software industry & AI during world war 2 as a codebreaker of the enigma machine.

 

All MS-DOS .EXE programs start with a magic prefix 'MZ' or 'ZM' (very rare!), because they are the initials of the developer, Mark Zbikowski

en.wikipedia.org/wiki/DOS_MZ_execu...

Win/386 (and Win95 and OS/2) .VXD files use the Linear Executable (LE) format, which contains 3 different executable text sections: one for 32-bit protected mode, one for 16-bit protected mode and one for 16-bit real virtual mode, you get to manage the shared state yourself... Don't write one!

SMARTDRV.EXE (nobody remembers this right?) is/was a polyglot executable that could be loaded as an MS-DOS device (usually .SYS), or a Win/386 driver (usually .VXD) OR executed on the command line to manage itself. It thus contains 5 different executable text sections.

For the ultimate in insane polyglot'ness, check out POC||GTFO publications (sultanik.com/pocorgtfo/) where Ange Albertini (github.com/angea) officially does voodoo.

 
 

Microprocessor MicroVAX 3000 и 6200 were containing a message for USSR engineers on Russian. That message on English - "when you care enough to steal the very best".

 
 
 

Tesla (the band, a great band, BTW, still touring and still great live) released an album called "The Great Radio Controversy".

 

They did! I owned that album when it came out. Great songs. Great album. Great band!

 

back in the day, you have a few models of ibm printers distinguished mostly by duty cycle. you customize via print chains that the operators can change based on what kind of material is being printed. it is possible that an APL chain was manufactured (I've never seen one in the wild, while working with ibm mainframes from 60's to 90's). what IS common is the APL typeball for the Selectric family of typewriters and teletypewriters. I even had one for a few years even though I was only an occasional user of APL, then it got lost in an office move.
so it is more akin to GM creating a special tire rim than a special truck model.

 
 

TIL toLocaleTimeString in Edge returns a string with directionality characters and so can't be used to set the value of an input element of type time.

 

Punch cards, the foundation of all computer programming, were inspired by automated looms. See en.wikipedia.org/wiki/Jacquard_loom.

 
 

useless? here ya go! Peter DeChamp Richardson has been coding for 25 years (that guy is me :P)

 

The term 'SPOOL' originates from an acronym meaning Simultaneous Peripheral Operation On Line

Classic DEV Post from Jun 14

Stopping Bad Habits Before They Stop You

Stop habits before they derail your life.

Ben Halpern profile image
A Canadian software developer who thinks he’s funny.

dev.to is where software developers stay in the loop and avoid career stagnation.

Sign up (for free)