3 ms·
Isn't that the best? Hundreds-of-thousands of layers of abstraction, but if you dig deep enough, it all comes down to a switch being either on or off. That's it
by jackhack 10y ago
Isn't that the best? Hundreds-of-thousands of layers of abstraction, but if you dig deep enough, it all comes down to a switch being either on or off. That's it.
- digi_owl 10y agoUltimately leading to random acts of cosmic rays. https://blogs.oracle.com/ksplice/entry/attack_of_the_cosmic_rays1 https://blogs.oracle.com/ksplice/entry/attack_of_the_cosmic_...
- agumonkey 10y agoSeen the fridge story yet ? https://news.ycombinator.com/item?id=12633119 https://news.ycombinator.com/item?id=12633119 Have a laugh Last year I saw a talk [1] where the guy told the story of a bug on web application. It was a scheme->js (based on bigloo) framework. Many servers were involved only one had the bug, some exception, digging led an arithmetic issue (some NaN or oo), then to a floating point issue, many wrong theories about low level architectures. Turns out it was a locale problem, changing the libc parsing of float (, vs .). Who said text was easy ? [1] was lucky and proud to grab a seat at C. Queinnec (of L.I.S.P) jubilee.
- userbinator 10y agoMany servers were involved only one had the bug, This is where using multiple debuggers simultaneously is extremely helpful. Where the control flow diverges is where the problem is likely to be. The other skill that's valuable is binary search --- narrowing down the "window" between when everything is still OK and when something goes amiss, gets you exactly where the bug is.
- digi_owl 10y agoUgh, laptop power management is a mess and is getting worse by the day it seems. On that note, my laptop had developed this issue that it will no longer see the charger if i leave it plugged in across a sleep cycle. Only way i have found to temporarily remedy this is to unplug the charger at the wall, wait, and eventually it will momentarily think it has been plugged in before going back to an unplugged state.
- agumonkey 10y agoMainstream spoils everything.
- userbinator 10y agoI don't think we're near that many layers of abstraction (yet --- and hopefully never?), but certainly more than ten. Indeed it's all about switching binary signals eventually. There's a great book about that too: https://www.amazon.com/Code-Language-Computer-Hardware-Software/dp/0735611319 https://www.amazon.com/Code-Language-Computer-Hardware-Softw...
- jackhack 10y agoFunny, I was thinking of Petzold's book when I wrote that. +1 for mentioning it! I still say there are that many layers of abstraction, maybe more. Individual bits, ganged as words, with logic to treat as such, and ability to store and move along a bus. Then you add the ability to act on data: Control logic, arithmetic units, caches, and interpret data as instructions -- microcode running in the CPU, and processor instructions.Now move up to main memory, storage subsystems, networking, graphics (GPUs!!) etc. etc. etc. That gets you through the hardware. Now add software: BIOS, operating system, drivers, user space code, compilers, interpreters, it just goes on and on. And for every one of these giant groups of something, there are just so many logical groupings and abstractions. It's like individual cells in a body, forming organelles, forming organs, forming creatures. So many layers of organization. Amazing beauty. But always at the bottom of the pile, there is a switch.
- kens 10y agoWell, let's see how many layers of abstraction the Alto has. 1) Software (a BCPL program). 2) Library / OS code. 3) Machine code. 4) Microcode. 5) Logic signals (TTL chips). 6) Analog signals (e.g. rise time and voltage of the logic signals). 7) Transistors inside the chips. 8) Quantum mechanics. (The last two levels are hidden to us.) If you're using Smalltalk, you could add another layer for the interpreter.