Hacker News new | ask | show | jobs
by jameshart 6 days ago
A ‘Byte’ is not a concrete thing and the fact you think it is speaks to the degree to which you have immersed yourself in a mental model which thinks of ‘information’ as if it is a real concrete thing, to the extent that you don’t even realize the levels of conceptual abstraction you needed to build in order to internalize what a ‘byte’ is.
1 comments

A byte is quite real. On old machines you could open them up and literally point to where bytes were physically stored in memory.

Now days of course the chips are small so you have to point to where the multiple gigabyte chips are at.

But they are still quite physically.

Heck a C pointer points to an actual physical location on your machine, if you ignore the MMU.

Wow and TCP sends a stream of those microscopic memory cells?
Over a wire it sends pulses of electricity which you can see with an oscilloscope.

Heck there is a standard for tcp/ip over short wave if you want to hear the bytes being transmitted. More widespread, those of us familiar with dial up modems are also aware that network traffic can be carried as actual sound.

Or fiber optics where network traffic is flashes of light.

Or IR transmissions, use your phone camera and you can see data being sent over the air. Not tcp/up but physical blinking lights sending digital data.

All of these are, actually, a long way removed from the ‘stream of octets’ which TCP delivers between applications.

All the Wikipedia actually means by ‘stream of octets’ is ‘sequence of numbers between 0 and 255’. TCP is a protocol concerned with sending a message encoded as a sequence of such numbers from one computer to another, over a packet-based network (i.e. one where it can only send limited bursts of information at a time); and it helps make sure that the original number sequence is able to be reassembled, in the right order, and makes sure that all the pieces have arrived.

The fact that people have tried to explain ‘octet’ concretely by pointing to RAM chips or flashes of light in a fiber really points to the fact that a lot of computer people just mentally gloss over a lot of the things that are virtualized at lower levels in the stack.

Yes, those are physical manifestations of ‘bits’. But not necessarily the ones TCP is concerned with.

It sends electricity or radio waves, yeah? The bits aren't the cells, they are the electricity within the cells.
Now we’re talking about bits, I thought we were talking about bytes (or was it octets?)

I’m not sure this gets us any closer to a jargon-free explanation of what TCP does.