Live data from Hacker News

A Complete Understanding is No Longer Possible

prog21.dadgum.com

61–70 of 80 posts

Re: A Complete Understanding is No Longer Possible

#62
post #57

Earlier quoted context omitted.

Then blacksmiths in the Middle Ages did not 'understand' the forging of swords. Only modern materials science allowed us to 'understand' why forging creates harder metal. This is a semantic discussion about the meaning of 'understanding': does it mean you can globally explain how the system works and could come to understand the smallest detail of every part? Or does it mean you understand the smallest detail of ever…

Semantically speaking, understanding is simply knowing enough to recreate something, preferably with your own aquired skills and knowledge. We're all just fancy parrots wrapped up in monkey bodies. To be honest, the bedrock abstraction should stop at "what humans can realistically create with their own hands from nothing". You can make your own transistor quite easily and Ebers-Moll provides a nice set of rules to wo…

> what humans can realistically create with their own hands from nothing

could medieval blacksmiths really create a sword from nothing but their own hands? how would they get the iron? would they have the knowledge locate veins of iron and then mine that iron? could they build the kiln and forge the equipment necessary for forging

arguably, by this standard, even farmers could not farm. farmers may know how to plant their crops, but without current crops to gather seeds from, would they know how to find the strains of plants that suit farming and then gather the seeds from those plants?

Re: A Complete Understanding is No Longer Possible

#63
post #44

Earlier quoted context omitted.

Returning to your original post, We really are building things with too deep abstraction hierarchies causing knowledge to be divided Abstraction is necessary, true, but it's not clear to me what the abstraction-level we have now really gets us. In other words, say we had a BBC micro with a 2Ghz 6502 in it. What productive computing tasks that we do now could it not do? Or let's imagine an Atari ST with a 2Ghz 68000,…

The main thing is that you'd need a new set of abstractions for security, and then you'd need to implement HTML5 on it anyways to do all the things we can do on a computer now.

to do all the things we can do on a computer now

Such as what? 99% of websites are a) screens where you enter something into predefined fields, to be stored in a database and/or b) screens that format nicely for display things that you or other people have previously entered. They were doing that in the 1970s. Only the buzzwords change.

Re: A Complete Understanding is No Longer Possible

#65

A complete understanding is no longer necessary. It never was. Think about any time in history where a complete understand WAS necessary. - Now we come to the question of when a complete understanding was Possible. As soon as the age of computing dawned with ICs (Integrated circuits) rather than vacuum tubes, the age of complete understanding was dead. Fewer and fewer people knew the internals of the most complex inv…

> As soon as the age of computing dawned with ICs (Integrated circuits) rather than vacuum tubes, the age of complete understanding was dead.

That's complete nonsense.

Until the second half of the 16 bit era (before the 68K series) it was possible to completely grok the schematic of a computer and all of the associated parts, including disk drives and the guts of each of the chips, and to know each and every byte of software that ran on it. It was a lot of work but it could be done.

Be it at the block level or for the die-hard fanatics all the way down to gates (and the transistors that made up those gates).

From there forward it got harder and harder to keep the whole stack from software to the lowest hardware layers in mind when writing code. And it wasn't necessary anyway! After all, code is already a very high level of abstraction. But even today it helps to know the guts of compilers, caching, branch prediction, register optimization, the difference between various buses and their typical latencies when writing high performance software.

So even if it is no longer possible to know each and every detail there still is a degree of necessity.

And there always will be. But now we will have to be satisfied with an understanding limited by the resources that are at our disposal. The result is that we specialize. Which happens in every branch of science that is sufficiently advanced.

A single second of cycles on a modern computer is more than you could conceivably analyze in a lifetime because of the volume. But in principle, given enough patience it could be done. In principle, given enough time and resources you could understand your computer at the same level as before. But our lives are too short and our brains too small to hold these quantities of information so we deal with abstractions instead.

Just like you can't have a complete understanding of every atom in the banana that you eat there is a degree of useful knowledge to which you can abstract it: ripeness, flavor, color, general quality and so on.

Plenty of people have opened up VLSI chips and put them under a microscope just as plenty of people have looked at a thin slice of banana. And in both cases they came away with an increased understanding. It's all about the investment in resources, not about the possibility.

The moment we can no longer completely understand our machines is when they'll stop to be deterministic. And by that time chances are that we'll call them biology.

Re: A Complete Understanding is No Longer Possible

#66
post #31
post #30

Earlier quoted context omitted.

Any idea where someone (such as me) born too late to have an original Micro might be able to get hold of one?

If you're in the UK, there's a liquid market in BBCs, C64s and similar on eBay. There are a few sellers who refurb them (e.g. new power supplies, cleaned up cases etc). You can easily adapt a BBC to use SCART too (the lead will cost about a fiver) and use it on a modern TV, if you don't fancy using a big old CUB monitor.

I hope that the RasberryPi will be a re-run of the BBC Micro, they could do a lot worse than bundle it with a modern version of BBC basic, which was very advanced for its time.

Re: A Complete Understanding is No Longer Possible

#67

Earlier quoted context omitted.

I doubt you have complete understanding though. Do you understand how SSL works? Do you know your way around PHP's internals? Do you know exactly how TCP, IP, Ethernet, etc work? Could you write a Photoshop plugin? Do you understand how parsers and compilers work? I doubt you (or anyone else for that matter) could answer yes to all those questions. That's the point I think this blog post is getting at. It's no longer…

> was it ever possible, given how deep the rabbit hole goes? You probably couldn't handle the breadth of it, but the depth of computing in the 60s was pretty shallow. You had maybe a dozen levels of (pretty shallow) abstractions, even "higher-level" languages (like Fortran) were pretty uncommon, so you mostly had assembly, an assembler, machine code and the hardware you were running on. You probably couldn't hold the…

I was programming GameBoy about 10 years ago, and it was an amazing machine. You literally could hold the entire machine in your head when writing assembler code. It really let you push the machine to its limits, right down to the clock cycle.

Re: A Complete Understanding is No Longer Possible

#68
post #62
post #57

Earlier quoted context omitted.

Semantically speaking, understanding is simply knowing enough to recreate something, preferably with your own aquired skills and knowledge. We're all just fancy parrots wrapped up in monkey bodies. To be honest, the bedrock abstraction should stop at "what humans can realistically create with their own hands from nothing". You can make your own transistor quite easily and Ebers-Moll provides a nice set of rules to wo…

> what humans can realistically create with their own hands from nothing could medieval blacksmiths really create a sword from nothing but their own hands? how would they get the iron? would they have the knowledge locate veins of iron and then mine that iron? could they build the kiln and forge the equipment necessary for forging arguably, by this standard, even farmers could not farm. farmers may know how to plant…

Well actually, I reckon yes. Much to my parents' latent terror (I didn't tell them until they came back from holiday), at the age of 15 a friend and myself built a small blast furnace using some ceramic pots, bits of stone lying around and a hoover. I managed to get 50g of what looked like pig iron out of that bugger before it basically fell to bits and set fire to the lawn. That was from about 2kg of ore I found at the bottom of a cliff face next to a beach at Skegness. Was great fun! (flux was limestone from the shed, coke was 3 large bags of barbeque charcoal)

I'm sure that and the rest of the process wasn't beyond people with a higher budget and requirements...

As for plants - it's all knowledge and experience. There is no abstraction. Eat this, don't eat that. I grow quite a few edible plants myself and there is little abstraction.

Re: A Complete Understanding is No Longer Possible

#69
post #67

Earlier quoted context omitted.

> was it ever possible, given how deep the rabbit hole goes? You probably couldn't handle the breadth of it, but the depth of computing in the 60s was pretty shallow. You had maybe a dozen levels of (pretty shallow) abstractions, even "higher-level" languages (like Fortran) were pretty uncommon, so you mostly had assembly, an assembler, machine code and the hardware you were running on. You probably couldn't hold the…

I was programming GameBoy about 10 years ago, and it was an amazing machine. You literally could hold the entire machine in your head when writing assembler code. It really let you push the machine to its limits, right down to the clock cycle.

> It really let you push the machine to its limits, right down to the clock cycle.

This is still commonly done for video game consoles (although it's significantly harder), especially late in the cycle when the console's hardware is well understood and its behavior is mapped, in order to wring every bit of performance out of the machine.

Probably not to the point it was in the 16bit era and earlier, but it's one of the "edges" consoles have over the PC's raw power.

Re: A Complete Understanding is No Longer Possible

#70
post #44

Earlier quoted context omitted.

Returning to your original post, We really are building things with too deep abstraction hierarchies causing knowledge to be divided Abstraction is necessary, true, but it's not clear to me what the abstraction-level we have now really gets us. In other words, say we had a BBC micro with a 2Ghz 6502 in it. What productive computing tasks that we do now could it not do? Or let's imagine an Atari ST with a 2Ghz 68000,…

The main thing is that you'd need a new set of abstractions for security, and then you'd need to implement HTML5 on it anyways to do all the things we can do on a computer now.

HTML5 is a piss poor evolutionary abstraction of what was effectively SGML and scripting carnage.

If you could start again, would you really end up with HTML5?

Post reply on HN