It’s a ritual across the globe: somewhere between sticking the kettle on and complaining about last night’s match, you’ll probably hit the button on your aging company PC and wait while it slowly thinks about turning on. Rather than take it for granted, though, it’s worth taking a couple minutes to realize a few of the things that your poor robot slave does without you ever knowing.
Contents
1. Bits, Bytes, and Size
Next time you complain about the pitiful memory capacity of your old 8GB iPod Touch, it’s worth remembering what makes up eight whole gigabytes. Computer science grads will know that in every gigabyte, there’re 1024 megabytes; 1024 kilobytes in a megabyte, and 1024 bytes in a kilobyte. Breaking it down to the lowest level, you’ve got 8 bits in a byte.
Why does that matter? Because on a flash drive, each bit of data is made up of eight separate floating gates, each comprising two physical transistors, which can basically record themselves as either a ‘1’ or a ‘0’. (Want to be impressed ever further? Each floating gate actually relies on quantum mechanics to work.) That means that an 8GB iPod Touch – the one you were laughing at a minute ago for being puny – has, according to my back-of-the-napkin maths, 549,755,813,888 individual gates arrayed inside that svelte aluminum body. Mighty clever engineering indeed.
2. Everything you see or hear on the internet is actually on your computer
All your computer-whizz friends probably delight in telling you how having a ‘library’ of videos is so 2008, that no-one torrents anymore, it’s all Netflix and iPlayer and ‘The Cloud’, whatever that means. But, you might want to remind them: every time you stream a video or the week’s latest Top 40 off the web, it’s actually, technically playing off your computer.See, every internet media file has to make a local copy of itself on your machine, first. Ever wondered what that white buffering bar means on YouTube or Netflix? It’s the amount of video that’s been copied to the local cache, a.k.a. the amount you can still watch if your internet decides to up and die.
3. The distance data travels
A quick experiment for you: click this link, which should take you to Wikipedia. With one click, you’ve just fetched a bunch of data from servers in Ashburn, Virginia, about 6000km away. Your request has travelled from your computer, through a local Wi-Fi router or a modem, up to a local data centre, from there onwards (under the Atlantic Ocean, if you’re in the UK), all the way to Virginia, and back again – in around 0.1 of a second, depending on how good your internet connection is.
By comparison, your body takes around 0.15 of a second for a signal to pass from your fingers, up your spinal cord to the brain, and back down again.
4. Counting Starts at Zero
At a base level, every computer’s just a really big, complicated calculator. But thanks to the way its intrinsic circuitry works – with lots of little logic gates that are either ‘on’ or ‘off’ – every action that takes place at a base level is happening in binary, where things are either a 1 or a 0, with no shades of gray in between.
This actually translates up to a neat bit of programming trivia – in the computer science world, all counting (with the rather notable exceptions of Fortran and Visual Basic) starts at zero, not one.
It actually makes a lot more sense – ever thought about why the 20th century refers to the 1900s? It’s because when historians decided on the dating system, they weren’t clever enough to call the very first century (0-99AD) the 0th century. If they had, we’d probably have far fewer confused school children the world over.
5. The work that goes into a Ctrl+C, Ctrl+V
One rather under-appreciated fact about solid state drives (SSDs), regarded as the gold standard for fast, reliable storage, is the amount of copying they have to do. When you want to copy some data from one bit to another, it’s not just a matter of shuffling the data from one part of the drive to another.
Because of the complicated way an SSD works, over-writing a block of old data with some shiny new data isn’t as simple as just writing the new stuff in with a bigger, thicker Sharpie. Rather, the storage drive has to do some complicated shuffling around.
In practice, this can mean that writing a tiny 4KB file can require the drive to read 2MB (that’s thousands of times more data that the 4KB file you’re trying to write), store that temporarily, erase a whole ton of blocks, then re-write all the data. It’s rather labour-intensive, so think before you juggle your files around next time.
6. Code isn’t as clean as you think
The majority of us put faith in bits of technology you don’t quite understand – be it committing your life to a 747, or your dirty pics to Snapchat’s auto-delete. When you do you generally tend to assume that the code’s been scrupulously examined by teams of caffeine-fuelled programmers, with most of the niggling little bugs found and fixed.
The truth seems to be quite the opposite. One Quora user pointed out that buried within the source code for Java, one of the internet’s fundamental bits of code is this gem:
/**
* This method returns the Nth bit that is set in the bit array. The
* current position is cached in the following 4 variables and will
* help speed up a sequence of next() call in an index iterator. This
* method is a mess, but it is fast and it works, so don’t f*ck with it.
*/
private int _pos = Integer.MAX_VALUE;
It just goes to show that even programmers rush things to get home for the next installment of Game of Thrones sometimes.
26 Comments
“In practice, this can mean that writing a tiny 4KB file can require the drive to read 2MB (that’s thousands of times more data that the 4KB file you’re trying to write), store that temporarily, erase a whole tonne of blocks, then re-write all the data. It’s rather labour-intensive, so think before you juggle your files around next time.”
It’s not… 2048/4 = 512 times more data.
On the point of the centuries, we do start counting the years at 0 CE. There is a difference between the quantitative value of 1 and the qualitative value of 1st. The first hundred years are the first century. From the chronological purspective, there can be no 0th century because it equates to a null value–making its qualitative value redundant.
There is no year zero. Anytime we calculate from BC to AD we have to add 1 to account for the missing year. https://en.wikipedia.org/wiki/Year_zero
what about this?
https://en.wikipedia.org/wiki/Binary_prefix
“Counting Starts at Zero”. No, not always, it depends on the programming language you’re using.
right…but there is one language which starts from 89
name is HTRAP
We all know that Galithiel, and they even note that not all start at zero if you kept reading đŸ™‚
Why all the metric? Don’t forget some readers use imperial units.
Why all the metric?
Due to the fact that we have discovered fire!
Any computer nerd should be able to know metric and imperial đŸ™‚
And what on earth would common nerd do with imperial?
About the first thing – 1. Bits, Bytes, and Size: …1024 megabytes; 1024 kilobytes in a megabyte, and 1024 bytes in a kilobyte… – I can’t agree about this or at least about the naming of the units. The real naming of the units are as follows: kibibyte, mebibyte, gibibyte and so on. Kilo actually means 1000 and thats why a kilobyte equals 1000 bytes. And 1 kibibyte equals 1024 bytes. That’s why when you buy 4 gigabytes of Flash USB memory or 1 terabyte hard disk it looks that it’s lees when you attach it to your computer. Because computers work with gibibytes and tebibytes. For example 4 gigabytes = 4000 megabytes which is sround 1.7 gibibytes. And 1 terabyte is 1000 gigabytes which is roughly 931 gibibytes. Where 1 tebibyte is 1024 gibibytes. The difference is 93 gibibytes which is not small quantity! This is a marketing trick. When you buy 1TB hard disk what they actually sell you is 1 terabyte and not 1 tebibyte.
Just a correction (I did a typo): 4 gigabytes = 4000 megabytes which is sround 3.7 gibibytes
and aslo not *lees but *less
Also sorry for my bad English it’s not my native language.
“…buried within the source code for Java, one of the internet’s fundamental bits of code…”
The internet doesn’t depend on Java, sorry, try again.
“Each floating gate actually relies on quantum mechanics to work.”
So does everything else in the universe, theoretically.
bro.. it is not readable font color..
i don’t know what is written..
each byte of data is made up of eight separate floating gates – not bit
is anything in this article true?
0
I have a whatsapp number
I found the article heading interesting but after reading the article didn’t found anything expected.
Moreover, there is some problem with the font.
hope that font problem is solved
I found nothing wrong with the article until I slid down here to the Comments section. Now after reading some of the dribble that’s slithered out of some of your mouths condemning someone to Hell for merrily attempting to give less computer literate individuals a birds eye view, I wish I would’ve moved along to another topic as I initially intended to do. Have a great day commentators. “Those that can, do. And those that can’t, commentate”
your post are interesting but the language you write is not that much understandble so write in the easy way so that people can easily understand.!!
This is not completely right. Kilobyte (KB) contains 1000 bytes, 1024 bytes calls kibibyte (KiB). Similar situation occurs with bigger amounts of data: mibi instead mega, gibi instead giga, etc.
About Visual Basic, is is not true, lower index can be any number from zero or below, but default uses zero. Default one last time used in Quick BASIC. BTW, Visual Basic is extremely outdated, replaced with Visual Basic .NET in 2001 as I remember.
I think everything in this post is not right1
every one mentioned for what he/she knows
but if u wanna to know more about it
contact this email
[email protected]