676: Abstraction

Explain xkcd: It's 'cause you're dumb.
Jump to: navigation, search
Abstraction
If I'm such a god, why isn't Maru *my* cat?
Title text: If I'm such a god, why isn't Maru *my* cat?

Explanation[edit]

The comics points out the large number of levels of abstraction working together at any given time in today's computers.

Programs on current computers do not run "directly on hardware". Instead, the hardware (in this case, a processor of the x86-64 architecture) is controlled by the operating system kernel (in this specific case, XNU is the kernel used in Apple-branded devices). Many operating systems offer a standardized interface called POSIX, which wraps the services offered by the different operating systems so that applications do not need to cope with the differences between the operating systems. Darwin is the name of the core set of components on which the Apple's OS X operating system runs. And using this operating system, the user runs the Firefox web browser. However, the browser itself contains further abstraction layers: Gecko is the engine handling the display of web pages on the screen, but in this case, it only allows a separate software, Adobe Flash Player, to render a video requested by the user.

And all of this work is, in this case, done only because the user wanted to watch a funny cat Flash video on the Internet; which makes the user feel like he is a god.

The title text refers to Maru the cat, a cat who became very popular on YouTube for, among other things, jumping into a box. Cueball questions his god-like capabilities by wondering why can't he own Maru.

Flash was an early way to make fluid media (such as games and animations) online that didn't require transmitting much data in a time where internet speeds averaged about 300KB/s. One of its uses was for video playing in a time where many browsers did not natively support playing media. It is now superseded by HTML5 technologies and discontinued at the very beginning of 2021.

Transcript[edit]

[Cueball is sitting at a computer.]
An x64 processor is screaming along at billions of cycles per second to run the XNU kernel, which is frantically working through all the POSIX-specified abstraction to create the Darwin system underlying OS X, which in turn is straining itself to run Firefox and its Gecko renderer, which creates a Flash object which renders dozens of video frames every second
because I wanted to see a cat jump into a box and fall over.
I am a god.


comment.png add a comment! ⋅ comment.png add a topic (use sparingly)! ⋅ Icons-mini-action refresh blue.gif refresh comments!

Discussion

Seriously what is the minimum Linux OS that I need for an oldish box (that has applications.) Most of the miniature OSs I have tried are ludicrously skank. I need it for a modernish office that can convert stuff to Word, for a publisher who has never heard of Linux.

I used Google News BEFORE it was clickbait (talk) 21:32, 27 January 2015 (UTC)

It's not the most minimal, but have you tried xubuntu? It's working for me so far. 108.162.245.118 19:23, 15 April 2016 (UTC)

When even Adobe stops supporting Flash in the next 3 years, this will need an incomplete tag put back to explain what Flash is. Hell some now may not know as is it not as heavily used as it was just a few years ago. 108.162.216.166 11:52, 2 August 2017 (UTC)