DEV Community

Ben Halpern
Ben Halpern

Posted on

Tell me some useless (or useful) software trivia

Tell me a factoid I might not know about. It could be some weird edge case, a moment in history, or little known reasons for why some software behaves the way it does.

Latest comments (56)

Collapse
 
excelite profile image
Benjamin Ewert

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...

Collapse
 
mellen profile image
Matt Ellen

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.

Collapse
 
phlash profile image
Phil Ashby • Edited

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.

Collapse
 
bbutlerfrog profile image
Ben Butler • Edited

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

Collapse
 
jmcp profile image
James McPherson

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 ;)

Collapse
 
jlozovei profile image
Julio Lozovei

Have you ever asked Siri about "Beatbox"?

Collapse
 
dechamp profile image
DeChamp

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

Collapse
 
tkbioclinica profile image
tony kwong

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.

Collapse
 
brandonskerritt profile image
Autumn

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 :)

Collapse
 
chiangs profile image
Stephen Chiang

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

Collapse
 
jmcp profile image
James McPherson

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

Collapse
 
johnfound profile image
johnfound

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.

Collapse
 
rhymes profile image
rhymes

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/

Collapse
 
karlredman profile image
Karl N. Redman

Tesla invented the radio.

Collapse
 
bbutlerfrog profile image
Ben Butler

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

Collapse
 
karlredman profile image
Karl N. Redman • Edited

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

Collapse
 
jlozovei profile image
Julio Lozovei

A stolen Tesla would be called a "Edison"?

Collapse
 
karlredman profile image
Karl N. Redman

Ha! That's probably about right :)

Collapse
 
briwa profile image
briwa

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.

Collapse
 
steelwolf180 profile image
Max Ong Zong Bao

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

Collapse
 
cjbrooks12 profile image
Casey Brooks

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...