For example, one guy specialize and dedicate his life to metalworking. If I try to know everything in the world, I could barely scratch the surface of what that guy learned.
People can even specialize in multidisciplines. They don't know as deeply as a specialist in a subject area but they know two area well and combine them into useful combination.
It would seems that today's problem is more about the limit of human beings' ability to store and synthesize information across vast disparate field. In other words, we generated so much knowledge, but so much is just kept there not being used.
Spaced repetition is a good example. It's a very powerful memorization technique, but it is not being used in colleges and schools, except those who discover it on accident.
It's also a timesaving tool in the programming profession. Instead of googling and wasting 5 minutes for answers to our programming problem, we can save 5 minutes for many common tasks we memorize. It won't save us from debugging woes but at least we get to the important programming problems faster.
There's also a storehouse of reliable information on self improvement written by psychologists who done experiment and research things like willpower and discipline, why it fails, and so on. Instead, we got distracted by techniques that seems to work but have no scientific basis, or we get distracted by self improvement gurus that have no idea what we're talking about.
We are specialists but we miss a ton of useful stuff that would be useful to our specialization. It's like missing a thousand useful book every year because you can never read them fast enough.
"A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects."
-Robert A. Heinlein
http://elise.com/quotes/a/heinlein_-_specialization_is_for_i...This quote, along with a few others, seem to be always dropped into internet discussions with no context or explanation, and I never see them add to the discussion.
For every human to be able to plan D-Day, conn a sub around the world, design the Burj Khalifa, program like Peter Norvig -- that's going to be both unlikely and a waste of resources since it excludes building engines, harvesting, sculpture, and so many more aspects of what humans can do.
http://www.bc3.edu/heritage-school/about-heritage-school.asp
Blacksmithing, etc.
That's a subject where I know that I can't tell the difference by myself - could you recommend some authors? I'd be happy to put in the effort into reading technical papers which haven't been re-written for a popular audience yet if the quality is higher, but I don't know where to look.
A good book on brain hacks like the aforementioned spaced repetition is "Mind Performance Hacks": http://www.amazon.com/Mind-Performance-Hacks-Tools-Overclock...
And another good read is "Pragmatic Thinking and Learning": http://pragprog.com/book/ahptl/pragmatic-thinking-and-learni...
You can also try this site: http://lesswrong.com This is a good section to start from: http://wiki.lesswrong.com/wiki/The_Science_of_Winning_at_Lif... Be warned, though. The writing on this site is heavily influenced by AI research so it tends to be somewhat... Vulcan, which can can be good or bad depending on your preferences.
It have citations and is written by a psychologist. However, I did not have a lot of time to compare notes between books written by other psychologists in the field.
The thing is, being a specialist means you don't spend much time scrutinizing what is wrong and not wrong in their studies or books in other fields. You sometime have to trust scientists for being scientific.
Of course, a good life means humans must learn certain life maintenance skill and social interactions so that we can function and hopefully be happier overall.
Also, the rant becomes too broad to have a point.
Just making glass is going to take you a while.
Making semiconductors at a scale that you can start thinking of building a working computer will take you quite a bit longer.
It's simple in principle. It would be far easier to stuff a bunch of people in rooms with paper (assuming you could make that) and pencils (ditto) and have them execute your program.
You're going to spend years just bootstrapping your metal refinery to the point where you can bootstrap your machine shop to the point where you can bootstrap your chemical industry to the point where you can produce undoped silicon of sufficient purity to make a decent integrated circuit. Sure, maybe you can slap together a handful of cheesy transistors to rival the first-ever transistor (Google up the picture of the first transistor; it's hilarious; you can practically smell the hot glue wafting from that picture) but it takes a bunch of transistors to make a computer, and you'd probably like your computer to get through three whole clock cycles before melting.
You might actually be better off just recapitulating history by starting with vacuum tubes. You'll need to master glassblowing and vacuum pumps to build semiconductors anyway, and tubes have lots of handy uses. (You could build an oscilloscope, which you will also need.) But you'll need to bootstrap your metal wire industry (generators aren't that hard to make if you can get hundreds of continuous feet of insulated wire...) and note that you'd better be very careful until you've had time to bootstrap your plastics industry; there are scary stories from the early days of TV when they had high-voltage circuits but nothing to insulate the wires with but varnish and paper...
Computer Science is beautifully simple.
Computer Engineering is a gory mess.
One of the interesting points raised in the article is that even if we had the tech to shine UV light onto plates of silicon, we'd need to reinvent a previous generation of computers so that we could design modern chips to fabricate.
Computers were possible long before electronics, see Babbage.
Computers were built long before integrated circuits and silicon wafers, see Vacuum tubes.
User/data segments, 16bit data operations, user/supervisor modes, address translation, mmio and DMA. 8meg address space, 128K per process. Runs Minix (Precursor to Linux).
200TTL logic chips. How quickly do you think you could build that? My bet, is if you had a dedicated group of people within 2 years you'd have a mhz computer again.
It's easier the second time around.
EDIT: http://www.holmea.demon.co.uk/Mk1/Architecture.htm Homemade apollo guidance computer http://klabs.org/history/build_agc/
Amongst these:
- same example with Google Instant: the fact that what I type goes to Google and back that fast and that I never get somebody else's page is pretty amazing;
- CRT monitors: a flow of electrons is bent with electric current to hit a specific point on the screen, for millions of dots at least 30 times a second and it never misses its targets; (leaving aside that we were able to get a constant flow of electrons in the first place…)
- car engine: fuel is injected, compressed, lit up in cylinders at 3000rpm to make a 4,000 vehicle move at 65mph and the engine barely ever have hiccups.
- cell phones: I'm driving in California and can talk to my Dad who is in a high-speed train in France. It works and you can't even notice a significant delay.
And there are obviously so many more things like these…
It's like this Louis C.K. bit about people who complain about being stranded 40 minutes on the ground before taking part of "the miracle of flight". We should spend more time amazed at when it works than pissed at when it doesn't.
I mean, isn't that just the marvel of abstraction? I can show you how it works, on a basic level: See, it goes around like this. This connects here. That switch opens. This moves back, and that's the behavior that we're looking for. Easy.
Why is it that when that same thing happens a hundred times a second, the emergent behavior suddenly becomes mind-boggling? It's just the same thing, faster. You already understand it. Your brain cant work fast enough to see what's going on, but thats exactly why we built the machines: to translate very fast things into things slow enough to understand. The complexity of the speed is illusory.
It strikes me as like a small child, watching the cars go by-- Zoom! Zoom! Surely that is the most amazing thing that exists. But when she grows up, she learns that everything has a velocity, which has to be some number, so it might as well be high. The interesting things are still interesting, moreso even, when it's going very slow. Just going fast is kind of boring.
What's cool are the things that emerge when you abstract. You have a car, and you know why that works. The connection between gasoline and forward motion is straightforward enough. But as soon as you have three cars on a road, you have traffic, and that's something fundamentally new. And you can analyze the traffic, figure out how it works-- but can you see how traffic is fundamentally dependent on the behavior of gasoline? And gasoline on the behavior of a refinery?
And what happens when the refinery is run by people who drive to work? Now you have a recursive system. Can you still understand it? Maybe today. By tomorrow it will have changed itself. Can you understand the change?
What happens when you think you understand the change, so you make a prediction, but your prediction affects what happens, making you wrong? But you take this into account when you make your prediction, becoming right again, except now you're a part of the recursive system, and there will never be a right answer. Understanding has become impossible.
Now that's baffling.
(And not to get all political, but this is also why a properly functioning government is not merely a hard, but an intractable problem. No matter how much you know what you're doing, you can't control something that controls you... But that doesn't stop us from trying.)
>I mean, isn't that just the marvel of abstraction? I can show you how it works, on a basic level: See, it goes around like this. This connects here. That switch opens. This moves back, and that's the behavior that we're looking for. Easy.
>Why is it that when that same thing happens a hundred times a second, the emergent behavior suddenly becomes mind-boggling? It's just the same thing, faster.
I don't think it's a red herring at all. Going faster is more complex, more interesting. A spark plug ignites an air/fuel mixtures, it pushes a piston, which pushes a connecting rod, which turns a crank. That's easy -- once. At 3000 RPM that's 50 times a second, that's not easy, that's complex. It requires timing.
I've hand packed fuel into a canister, ignited it, it goes boom, it moves metal. That's easy. But at 50 times a second it take precision. The spark timing from the distributor has to be right, the crank is connected via timing belt to the camshafts that control the opening and closing of the intake and exhaust valves. That timing has to be right. There's a computer constantly monitors the O2 content of the exhaust gases, so it can better control the air/fuel mixture. There's another sensor to listen for knocking caused by too little air, so it can retard the spark timing to compensate.
All this happens 50 times a second. It's far more amazing than me lighting a fuse and watching something go boom.
So yeah, I'm not sure how this is a red herring. The point is that we take a lot of things for granted and even if each layer of how it gets to work the way it does makes sense, there's always a leap of faith to accept it will work at high speed/volume/scale.
It might sound extremely naive but another way I look at it is that it's… intriguing to see that all of this has been built by human beings. The same kind of beings that make silly mistakes, forget to buy milk, enjoy Jersey Shore… Sure it's built upon centuries of previous results and research, but it still ends up coming from one guy's brain at some point. There's such a gap between the mundane things we do (i.e. mainly the things for our survival) and all the technology and science…
For the electronic-related examples, that means we've been able to ride the speed of light extremely well, while also building components on a microscopic scale. And I find that remarkable for a bunch of (smart) animals.
It's annoying how you say 'she' because it distracts me from your content into thinking about feminism.
It also gives me perspective of the enormous debt I owe to (hundreds of) thousands of people "just doing their job" for me to be able to sit where I am and do my part of it. Just from the vantage point of my office chair, the things that surround me have been touched my so incredibly many people during their production and delivery to here.
The problem with the patent system is our failure to understand history, our tendency to focus on the present, and our tendency to repeat the same thing in the hope that it will works.
And yet at every point in history, most believed that change would be bad-- in fact, maybe we need to move backwards a little.
Answer: It can't, and it doesn't. Not without the mother.
(I have no idea if this is indeed true, but I like the loopyness of the idea).
But I think in the OP, the amazing part is that it was build by human beings. It's something that humanity as a whole made and understands. But still, it's hard to comprehend all the layers involved…
Nobody on earth knows how to build a computer mouse (all by himself).
Now, _that's_ dizzying.
So even assembly isn't the lowest language.
http://alexbarnett.net/blog/archive/2006/11/18/Nobody-knows-...
It's the same thing at every human technology. And this in turn reminds me of Mostly Harmless, by Douglas Adams, where the protagonist finds himself in a simple rustic village. He is unable to reproduce any of the technology from his civilization and settles as a sandwich maker.
Perhaps by making technology a Black box, we unintentionally shielded those who deserve the credit (social and monetary) from receiving it. Maybe even allowed some grey-area experts from controlling an industry with ones and zeros at its core.
Most people have a general idea of how an internal combustion engine works, how their fridge works, how a tv works, hell, even about how a nuclear power plant works. Most people wouldn't know how to make any of these things, but it's not exactly a "dizzying invisible depth" either, and most people are capable of making informed decisions without being engineers.
When it comes to software however, most peoples understanding remains completely at the surface. I don't believe this is something we should accept as "normal", because this is exactly what leads to many of the issues our society is currently struggling with. Not just software patents, but many of the current security and privacy issues or the huge unemployment.
The general understanding of software was not, and still isn't part of peoples culture and education in the same way a basic understanding or hardware has always been. This significantly undermines the decision making on all levels of society, from government policy to personal choices. The patent mess is just a symptom.
Driving a car is essentially a controlled explosion taking place every second about three feet in front of your face—and yet this very dangerous and messy process "just works" for millions of drivers every day. We are more afraid of other cars than we are of the fireworks right in front of our face. That's pretty amazing.
One of those 'life choices' I faced when I entered college was whether or not I wanted to 'program' computers or to 'build' them. These would guide the choice of EE or CS degree. My father asked if people with EE degrees were allowed to program computers, I said of course they were. Then he asked if people with CS degrees were allowed to build them, and the answer was no they were not generally. So if I didn't know what I wanted to do, I should get an EE degree since then I could do either.
Turned out to be pretty sage advice and knowing how the computer does what it does really helps program it. Especially if you are trying to wring every erg of performance out of it. When I graduated with my EE degree (and a minor in CS) I was proud of the fact that I could write a database in a languge for which I wrote the compiler on a computer architecture that I designed using circuits that I understood down to the physics of the PN junctions that governed the behavior of semiconductors. (It really is math all the way down sadly)
That being said, I firmly believe the human brain has a limit (which may be case by case) of how much stuff it can hold at one time. And the notion of abstraction, especially modularization and testable components, makes complex systems possible.
This comes up in a variety of contexts. Sometimes I interview folks who can draw a nice architecture on the white board with boxes and arrows and such. So I ask them do go into one of the boxes, and lets draw that out in detail. And then those sub boxes I want to go into their detail as well. My goal is to understand that the candidate understands that 'boxes' are only a good way of thinking about something if you understand what the box is really modelling.
A good example of this is that naive people treat a hard disk drive like a box. It has a port you tell it to read logical block A or write logical block B and it does some magic and makes it happen. But really it screws up now and then, and it has very variable performance. So if you can't explain how you have accounted for these properties of your box then you're not thinking deeply enough about it.
Sometimes an 'architect' type (you know the type, Joel called them Architecture Astronauts as I recall) they dismiss your whole area of expertise as a box in their model. This can lead to some pretty dismissive thinking by the 'doers' in the crowd, but it is important to know that without abstracting that thing you're working on, the architect person wouldn't have enough brain capacity left over to see the 'bigger' picture. As long as their picture of your box is accurate, you should cut them some slack.
The bottom line for me is that it can be 'amazing' at how the complex system runs but words like 'mystifying' and 'dizzying' make me nervous. If you're a software developer and its 'mystifying' how your program can do what it does that is a problem you should address. There was an excellent pointer to 'what every programmer should know about memory' and there should be equivalents to 'networks', 'processor architecture', and 'disks'.
(Apparently multiple sign-on URI leaked on my earlier submission)
You put a bunch of leptons and quarks in a specific ordering and they start arranging other atoms in ways to help them understand their own specific arrangement.
That they can is why I think it is simple. in the sense of elegant.