13 ms·
You just went to the Google homepage. What actually happened?
- davidkatz 14y agoBeautiful. One thing though, I believe the OP is mistaken when he implies that Steve Jobs didn't affect how computers work on the inside: "On the one hand, I can imagine where the computing world would be without the work that Jobs did and the people he inspired: probably a bit less shiny, a bit more beige, a bit more square. Deep inside, though, our devices would still work the same way and do the same things." Ultimately, computer architectures serve real world use cases. Innovation in use cases results in innovation in architectures. There are countless new technologies that exist because of the products that Apple invented.
- solarexplorer 14y agoExample?
- Retric 14y agoNot the OP but I assume he ment something like HTML was created using a NEXT machine http://inventors.about.com/gi/o.htm?zi=1/XJ&zTi=1&sdn=inventors&cdn=money&tm=8&f=10&su=p284.13.342.ip_&tt=2&bt=0&bts=0&zu=http%3A//www.w3.org/MarkUp/tims_editor http://inventors.about.com/gi/o.htm?zi=1/XJ&zTi=1&sd...
- guptaneil 14y agoThe entire ultrabook category can be credited the Macbook Air. The iPhone drove the creation of the modern smartphone market. Before 2007, only businessmen carried Blackberries. Now pre-teens have smartphones. There's a really powerful image NBC posted comparing the Papal Conclave in 2005 and 2013[1] that tells the whole story. Similarly, the iPad is driving the tablet market. And that's just 3 recent consumer-facing categories. The list goes on as you dig deeper or farther back. If you're using Chrome, guess who started Webkit? 1: https://twitter.com/neilgupta/status/312317589432971264 https://twitter.com/neilgupta/status/312317589432971264 Edit: I should have said, guess who popularized Webkit. We can debate semantics on whether forking KHTML to Webkit makes Apple the author of Webkit or not, but I think we can agree Apple popularized it.
- TheCoelacanth 14y ago> If you're using Chrome, guess who started Webkit? The developers of KDE. Webkit comes from a fork of KHTML, the engine used for Konqueror. Apple came to the picture 3 years later.
- ajross 14y agoThe macbook air is just a small laptop. In what way is making things smaller an Apple technology? Laptops have been getting steadily smaller for decades now. The iPhone may have created a market, but that was because of how it worked. The question was whether anything Jobs did influenced the technology of the device. The iPhone was an early (but not the first) user of capacitive touchscreens, but virtually everything else in the device was an off-the-shelf part. And FWIW: I know who started WebKit. It wasn't Apple. :)
- guptaneil 14y agoApple pressured Intel to design the smaller chipsets that made the Macbook Air, and subsequently other ultrabooks, possible. Without Apple's influence, we might not have ultrabooks. Similarly, Apple pressured Corning to make Gorilla Glass. I would also argue the iPhone's UI has heavily influenced modern smartphone OS's to be more user friendly. I'll cede the WebKit point, though I do think we can credit Apple for popularizing it.
- solarexplorer 14y agoSure, Intel had to offer something to Apple to make them switch from PowerPC to x86. But you could also argue that Intel's ultra efficient CPUs and chipsets are actually a result of the competition from companies like Transmeta. It's not at all obvious that without Apple there would be no utra efficent CPUs. (But without Apple we might well live in a world full of ugly netbooks.)
- guptaneil 14y ago> It's not at all obvious that without Apple there would be no utra efficent CPUs. That's a very slippery argument. It's pretty obvious that without Darwin, there still would have eventually been a theory of evolution (as seen be Alfred Wallace's work), but Darwin gets credit for being first. Similarly, it's not at all obvious that without Dennis Ritchie, there would be no C. I'm sure eventually somebody would have created a similar language, but Ritchie made it happen first, so he deserves credit. Sure, Intel may have eventually come up with ultra-efficient CPUs without Apple, but the point is that Apple helped make it happen. To be clear, I'm not comparing a CPU design to the works of Darwin or Ritchie. I'm simply saying that arguing that an invention would have occurred even without the inventor could be said for anything.
- mturmon 14y agoI'll take you way back and go with desktop publishing, which was pretty much kicked off with Apple's LaserWriter, which integrated PostScript and the laser printer (http://en.wikipedia.org/wiki/LaserWriter http://en.wikipedia.org/wiki/LaserWriter). You could dispute any given example, because there's always a precursor (even if only visible in hindsight, http://booksofnote.blogspot.com/2012/10/kafka-and-his-precursors.html http://booksofnote.blogspot.com/2012/10/kafka-and-his-precur...).
- ajross 14y agoStill missing the point I think. The argument was that Jobs didn't influence any of the funamental technology. PostScript was a rendering language from Adobe, and really not the first path-based rasterizer, but could broadly be called "technology" I guess. Laser printing was a technology. Integrating them by putting a computer running PostScript into a box containing a laser printer is not a technological development in any real sense. That's not saying it doesn't have value. But it's not the kind of thing JBQ was talking about.
- mturmon 14y agoDisagree, but not arguing, because as I said, there's always a precursor.
- Mithrandir 14y agoPrevious discussion: https://news.ycombinator.com/item?id=3115951 https://news.ycombinator.com/item?id=3115951
- joecurry 14y agoThank you - I'm constantly surprised how frequent the same information is churned on this site.
- guptaneil 14y agoWow, it's easy to forget how much complexity there is, even for a technologist. This post reminds me to step back and appreciate everything that's going on under the hood. For a similar effect on non-technologists, see Louis C.K's bit about how even the shittiest technologies are a miracle[1]. I disagree with the conclusion though. I think the reason Steve Jobs' death impacted people more than Dennis Ritchie's is that Jobs was taken in his prime. Who knows what the world lost by his premature death. 1: http://www.youtube.com/watch?v=KpUNA2nutbk http://www.youtube.com/watch?v=KpUNA2nutbk
- xradionut 14y ago"Wow, it's easy to forget how much complexity there is, even for a technologist." Complexity is there every day, we just abstract it away in order to focus on the task at hand. If you are widely read or have worked in multiple fields, and/or multiple levels of the "stack", both hardware and software, then it's a bit more apparent.
- joezydeco 14y agoEmbedded systems engineers work on all these levels, simultaneously, day in and day out. But apparently our craft is kind of a dying one. I've seen discussions on LinkedIn about how one gets into embedded systems engineering. Nobody seems to have a clear answer. I've seen people get all hyped up on using small eval/dev boards like Raspberry Pi, but don't get much farther than loading a desktop or XBMC on it. There's hope in the Arduino crowd, but blinking LEDs isn't even putting the training wheels on the bike.
- stephengillie 14y agoIt frustrates me too. We have the technology to automate SO MANY of our processes, but it's almost like people enjoy doing them by hand. I'm teaching myself to build a self-driving trash can, among other things.
- zaius 14y agoAgreed. If you're building something like an embedded nas server, you have to have a deep understanding of literally every piece of technology he talked about. I think arduino has done wonders for getting people started, but it would be great if there was a similar ecosystem for people who are further along than blinking LEDs and building something of significance.
- _red 14y agoFrom another perspective this is a modern view of the classic "I, Pencil" - which Friedman gave an great overview of: http://www.youtube.com/watch?v=OlTRau_XgGs http://www.youtube.com/watch?v=OlTRau_XgGs
- frozenport 14y agoExcept this one isn't well written, and smacks of postmodern impossibility instead of structuralist awe.
- mryan 14y agoThis question is one of my favourites when interviewing front/back-end developers and sysadmins. It gives candidates the chance to talk about the part of the stack they find interesting, so I can see what they are most knowledgeable/passionate about as well as judging their overall level of background knowledge.
- mfenniak 14y agoI've previously used this as an interview pre-screen question for job candidates. It's a great question to ask; there are so many levels of details involved. As a web company, you generally want potential employees to at least mention "HTTP" in the response. DNS is great. TCP/IP too. You'll definitely weed out some people who don't have a clue.
- joshaidan 14y agoWhen it comes to complexity, I think it's a miracle that spinning hard disk drives actually work.
- bstpierre 14y agoI have told people before, "every time you make a phone call on your cell phone, a miracle happens". The little bit I know about the complexity behind a mobile network is mind boggling -- even just at the physical layer, dealing with reflections, power levels, etc. Though I guess I can sort of understand how that works. What I can't understand is that I can understand anything... I simply can't fathom how the human brain works...
- nitrogen 14y agoI simply can't fathom how the human brain works... Look for some popularized science articles (e.g. from arstechnica.com/science) and books (e.g. from Ray Kurzweil) that mention neural networks, fMRI, connectome, cellular automata, etc. There are competing theories, but there's enough accessible information out there to dispel some of the mystery.
- javert 14y agoIn terms of epistemology (e.g., how can we form valid concepts and principles and be sure they're right), or in terms of neuro-biology/neuro-chemistry?
- bstpierre 14y agoMore the epistemology than the biology. The biology makes some sense on some level -- it's all "just chemistry" at the bottom.
- javert 14y agoI'm with you. "It's all just chemistry" is sufficient for me for most things, but I worry a lot more about epistemology, which is why I have spent some time studying it. Until recently, there were two basic camps on "how we know stuff." The Rationalists and the Empiricists. The Rationalists thought that knowledge was came from mental abstractions, not from reality. For example, Plato believed that we could all access the "ideal" world of "forms" by just introspecting. The medieval scholastic philosophers tended to be very rationalistic - they made arguments about abstractions not connected to real experience, like how many angels could fit on the head of a pin. Decartes was a rationalist - "I think, therefore I am" is rooted in the idea that we look inward to perceive reality. The Empiricists, which are somewhat more modern, were a reaction to Rationalism, and rejected all of that. They said that all we can really "know" or "trust" is sensory experience. We can't build up complex mental models, and we can't have principles - we just have to be pragmatic all the time and do what seems best, because we can't really "know." Kant tried to improve on both of these approaches by saying that we can't really know anything about "true" reality, because reality has to be filtered through the senses. There is only subjective "reality." Ayn Rand, of whom I am a big fan, went in the other direction from Kant, but also rejected Rationalism and Empiricism. She said that you can build complex models of reality, but they have to be based on actual observations of reality (i.e., sense data). To do this, she proposed a new theory of concept formation (i.e., how to form abstractions based on observation of reality). Her approach is very Aristotelian, which is interesting because Aristotle was the main guy who disagreed with Plato at the very beginning. I'd highly recommend "Introduction to Objectivist Epistemology" if you're interested in this approach (although you may be better served by starting at a less advanced level... still, the book is short and very accessible, albeit kind of a mind trip).
- stephengillie 14y agoYou just pressed a key on your keyboad. Simple, isn't it? What just actually happened? You engaged a cascade of motor neurons to coordinate the contraction of thousands of muscle cells, which pulls a lever attached to your calcium crystalline framework, grinds across a glucosamine joint. This forces your calcium crystalline frame-member to depress, compressing your saline-filled lipid-polymer foam skin against the keyboard. As you do this, you constantly measure the pressure against the lipid-polymer walls to ensure you are not deforming your muscle cells too much or too little. --- Reality has inordinate complexity. When humans build roads or build narratives or build websites, we are simplifying reality for ourselves and others, including other animals.
- xhrpost 14y agoI was expecting to see this kind of comment. Not that I entirely disagree but isn't there something to be said about all the layers the author mentions having been directly designed by humans and not pre-existing facts of nature (minus a few of the electrical properties he goes into).
- criley 14y agoAt least with technology, someone somewhere understood what is going on. With biology/biochem/physics all the way down... there is no expert who designed the system originally! Can you imagine computer science if we had no prior knowledge of computers and had to research the entire process starting at the end point? What a task.
- ultimoo 14y agoIt's a scary thought that if all the computers in the world were destroyed in an instant, how long would it take for us to build a Core i7 processor. Decades?
- dntrkv 14y agoI was just talking to another developer about this, except we took it one step fruther: If all man made objects disappeared in an instant, how long would it take us to build a modern computer? The best we could come up with was: a really long time. Anyone have any input or recommended reads that pertain to this?
- elwin 14y agoFrom observing reenactments of early American life, I think an 18th century agricultural technology is self-sustaining and directly bootstrappable, except for the problem of mining and working iron. So my guess is not much longer than 300 years.
- PeterisP 14y agoThere exists a viewpoint that in case of a cataclysm (which would involve man-made objects disappearing) we would never, ever progress past 18th century tech again. The argument is that getting from animal-powered devices to solar/nuclear/whatever powered devices while at the same time switching from 90%-agricultural workforce to anything more progressive can happen only if there is a cheap source of energy available - and we already have mined and spent all of easily available fossil fuels. Even if all kinds of fancy devices are available and constructed by rich enthusiasts, the lack of cheap steam power ensures lack of cheap steel/etc, and all the technologies don't get the mass adoption required for their improvements, there are almost no advantages for industrialization, so the world gets stuck in feudal-agriculture systems as the local optimum.
- jodrellblank 14y agoI wonder how far you'd get with, say, bamboo and bamboo-charcoal as an abundant and renewable fuel? http://opinionator.blogs.nytimes.com/2012/03/13/in-africas-vanishing-forests-the-benefits-of-bamboo/ http://opinionator.blogs.nytimes.com/2012/03/13/in-africas-v... It wouldn't have quite the pop of surface-minable coal and oil, but if you were pushing for high technology it would boil water, drive steam engines - but maybe it wouldn't happen in England. Where you'd get the metal from is another question.
- chris_mahan 14y agouh, "The proxy server is refusing connections" to plus.google.com (corporate desktop) so, I don't know.
- zobzu 14y agoWhat if I don't use docsis? :P also, we quite understand how chips are automatically organized by other chips. it's because we don't understand it that computers are "building" computers. its because they're way faster at those repetitive tasks (and yes i'm talking about automatic chip layouts, for example) Even thus it's not exactly TFA's point, since TFA goes pages and pages on complexity for pointing out that people care about what they see, not what it really does, I though that's worth mentioning.
- jbverschoor 14y agoJBQ BEOS! WOOOOOOOO! Sorry, couldn't resist
- kevinalexbrown 14y agoWhen I got to the last paragraph or two, I realized this was not just a "computers are complicated" post. He marks a specific social problem the complexity of the technology has created. This is the best way to frame the "tech laws problem" I've seen in a long time. I'm curious: what is the best way to approach the bikeshedding issue? On the one hand, the people who recognize the issue tend to be technical. On the other, the solution will inevitably be a social one, unless something comes along that makes patents and technological laws moot. Here are three social avenues I could see being helpful, but none of them seems to solve the problem. I'd love to know what people are doing in this area. a) Improve technical education for the general public so that they can call BS, or make reasonable decisions. b) Improve technical education of public servants that make crucial decisions regarding technology. I'm not competent to rule in a legal case about pollution, so why should we assume judges are competent to rule in a legal case about code? (How do you measure that? Certifications? - egh). c) Improve social outreach for technical people. Most technical people probably want to build cool things instead of sit in Congress, knock on doors, or otherwise get involved. I've talked with engineers who despise legal proceedings so much they started trolling the lawyers in depositions. Honestly I'd rather build something cool than think for five hours about how to get people to care about patent law. Maybe that should change. I'd love feedback on this, because the bikeshedding issue is the scariest social problem I can't think of a solution to. It doesn't just affect a specific patent, it affects the way we rule on them in general. If you are both a lawyer and technical, I would really love your feedback, here, or via email.
- ibudiallo 14y agoIf you had to have your patent reviewed by a team of engineers before it is approved, then we will have less patents.(we don't need a patent for a slick button) And to file for a law suit, you will also have to have a team of engineers to review it. This could be a very good thing.
- jacques_chester 14y agoPatents are generally reviewed by degree holders in the same field. Submit a machine, it'll be reviewed by someone trained as a mechanical engineer. Submit a new formula for flubber, a chemist will be assigned to look at it.
- jeremyarussell 14y agoSo I like how he ends with that bit on patents, when I did my presentation at the USPTO Silicon Valley roundtable event a month ago, a couple of the presenters made the case that absolutely nothing needs to change with software patents because computers should be treated the same as any other kind of machine, and so software should be considered the same as every other type of patent. The fact of the matter is this is simply not true, computer software cannot be equated to physical items, and barely equate to business flow and methods. With all the complexities, as well as the fact that to try out a new version of software happens in seconds where making a prototype of some machine or object takes days, weeks or months. It seemed they either didn't fully understand the difference, or they understand and do not want the system to change since it works greatly in their favor. Anyone who has an opinion on patents, especially software patents, should be keeping up with the roundtable events. And, I'm not saying that because I went either, stuff is being talked about at these events that will either be ignored or shape the patent system in one way or another. In either case, it's in our best interest to stay involved in the process. Edit: Spelling
- pbhjpbhj 14y ago>to try out a new version of software happens in seconds where making a prototype of some machine or object takes days, weeks or months // Aren't most prototypes "made" in software nowadays and only final products are really fully produced. In generally I think I agree with what you're saying. In Europe software patents, as such [!], are not allowed but patents to software have always been allowed that made a technical effect, ie performed a real physical change to a system. It's very hard to pin down the boundary but I think that this is something the board got right. That said I think personally that all manufacturing rates have increased greatly since patent terms were set and that the terms should be decreased to compensate for this change in the rate of development.
- jeremyarussell 14y agoThat's a valid observation I hadn't made yet, concerning manufacturing in general. You're right about the prototypes being made with software as well, I mostly meant that to physically produce the prototype is different then when you produce the prototype for software, given the click and compile nature of it. All in all though I agree that the terms really need to be reconsidered, but I don't see our legislative branch making an real changes to our governmental system in general, it works out for them pretty good right now.
- savrajsingh 14y agoMy favorite one-sentence version of this, said by a comedian (whose name I forget): If you're left in the woods with nothing, how long before you can send an email?
- eric970 14y agoHe didn't explain how DOCSIS works.
- hereonbusiness 14y agoI'm just glad I understand technology at least to some extent. I mean technology is often so complex I could never put together most of it myself or even understand it down to intricate detail, but at least I have a grasp of how it all fits together to make a pc, cpu, memory, television, radio, phone, remote control, ... I can't imagine going trough this life without having the faintest idea of how a lot of the stuff I use everyday actually works.
- dzhiurgis 14y agoBrilliant stuff that I have been looking for quite some time. I work in support and sometimes I really want to show this to our users, yet I would love to see something more human like: Jennie from Sales Support just used word merge to print a letter. Simple, isn't it? What just actually happened? The letter will go to post box, were postman will take it sorting center, where it will be distributed and sent to customer, who will read the letter, discuss it with the family and take number of steps to take a decision how to proceed further. Or a guy from sales just received a call, but what just happened? The client was recommended by a friend after a splendid experience with the product, the client spent bunch of time reading number of sites and reviews and he is just about to purchase a product when sales guy's computer has crashed and he lost a client. We always try to make people understand the IT more and the other guys will try to makes understand their processes more, yet it is going to be never ending dialogue, process, fight..
- pacaro 14y agoThe best bottom up approach to this that I have seen is Charles Petzold's "Code: The Hidden Language of Computer Hardware and Software" [1] which starts with using a flashlight to send messages and walks up the abstraction chain (switch, relay, alu, memory, cpu...) to most of the components of a modern computer. It's very accessible. [1] http://www.amazon.com/Code-Language-Computer-Hardware-Software/dp/0735611319 http://www.amazon.com/Code-Language-Computer-Hardware-Softwa...
- tiger10guy 14y agoWhat's even more cool? Before long computers will be able to conceptualize the whole complex mess. Consider how we acquire knowledge (perhaps like http://matt.might.net/articles/phd-school-in-pictures/ http://matt.might.net/articles/phd-school-in-pictures/). The more we've learned, the more we need to know about how to learn. At each level of knowledge we gain knowledge by accessing new knowledge and combining it with what we know. Eventually the supply of new knowledge dwindles and the only tool we can rely on is learning; the only tool we can rely on is that ability to combine knowledge. This is much harder than taking in new knowledge; especially for computers! However, computers are getting better and better at it. Whereas many of us are out of college, computers are still in middle school, but they're getting better and better at both large scale and high complexity learning, so they'll move on to high school and college soon. Moreover, they're moving at an exponential pace! (see Ray Kruzwell and his ideas on the exponential growth of technology) Eventually, no... soon, computers will be able to conceptualize and intuit the scale and complexity of something like google.com. No person can come close to this, so we have no idea what that ability will bring.
- ambrop7 14y agoHypothetical question: if all the knowledge in the world was available to you, how long would it take to build a modern electronic device from raw materials and without using any existing machine in the build process? I mean the actual time spent building something, excluding any mental work.
- sjwright 14y agoForget modern electronics, consider how long it would take to build a simple electric toaster from scratch: http://www.thetoasterproject.org/ http://www.thetoasterproject.org/
- Vlaix 14y agoI've long contemplated the depths of technological stacks (and knowledge as a whole, it pertains to epistemology as well), and my opinion is that knowing the intricacies of them isn't that important, as long as we manage to archive their fundamental principles somehow (may it be in our heads through studying and transmission, or in data).
- devindotcom 14y agoGreat post. I wrote something similar a while back - http://techcrunch.com/2012/06/16/the-way-things-work/ http://techcrunch.com/2012/06/16/the-way-things-work/ But he takes it to another level. There's a lot to be said on this, and education is super important, but ultimately one has to sort of ... surrender, at least to some degree.
- gonzo 14y agoJust another (linux) fanboi.
- fractalsea 14y agoThe problem is not only with communication between end-users/management, it's also a problem with communication between teams -- for the same reason. Because of the huge amount of complexity described, it becomes impossible for one developer -- or one group of developers working on the same project -- to understand at one time much more than their current specialization. This makes it hard to talk to peers working on other projects.
- lazyjones 14y agoTo add some cynical flavor: when you went to the Google homepage, you expended electricity, CPU cycles, network traffic, gave up some privacy and waited some time just to see something that could have been shown to you by a static HTML file(²) on your disk (or even something built in the browser), because some corporation sees some benefit in all this extra work. We're not exactly trying to do things efficiently these days, since it's no longer a priority. (²) not valid for search results of course, but even they could be sent to you in a more efficient, less privacy-destroying way if only some corporation's interests weren't more important than your own
- Rashmi123 14y agoI got that google plus is also there and the main thing i really like that google play is really interesting. if you want or get to know about the blind date here you can get: http://goo.gl/FWsbd http://goo.gl/FWsbd
- jacobmarble 14y agoTechnologist. What a stupid word.
- joezhou 14y agoThis will definitely be my interview question, and I expect the exact detailed answer!
- sidcool 14y agoI don't have access to Google Plus in office. Can someone post it here? I am very curious.
- superkarn 14y ago[https://plus.google.com/112218872649456413744/posts/dfydM2Cnepe https://plus.google.com/112218872649456413744/posts/dfydM2Cn...] Dizzying but invisible depth You just went to the Google home page. Simple, isn't it? What just actually happened? Well, when you know a bit of about how browsers work, it's not quite that simple. You've just put into play HTTP, HTML, CSS, ECMAscript, and more. Those are actually such incredibly complex technologies that they'll make any engineer dizzy if they think about them too much, and such that no single company can deal with that entire complexity. Let's simplify. You just connected your computer to www.google.com. Simple, isn't it? What just actually happened? Well, when you know a bit about how networks work, it's not quite that simple. You've just put into play DNS, TCP, UDP, IP, Wifi, Ethernet, DOCSIS, OC, SONET, and more. Those are actually such incredibly complex technologies that they'll make any engineer dizzy if they think about them too much, and such that no single company can deal with that entire complexity. Let's simplify. You just typed www.google.com in the location bar of your browser. Simple, isn't it? What just actually happened? Well, when you know a bit about how operating systems work, it's not quite that simple. You've just put into play a kernel, a USB host stack, an input dispatcher, an event handler, a font hinter, a sub-pixel rasterizer, a windowing system, a graphics driver, and more, all of those written in high-level languages that get processed by compilers, linkers, optimizers, interpreters, and more. Those are actually such incredibly complex technologies that they'll make any engineer dizzy if they think about them too much, and such that no single company can deal with that entire complexity. Let's simplify. You just pressed a key on your keyboard. Simple, isn't it? What just actually happened? Well, when you know about bit about how input peripherals work, it's not quite that simple. You've just put into play a power regulator, a debouncer, an input multiplexer, a USB device stack, a USB hub stack, all of that implemented in a single chip. That chip is built around thinly sliced wafers of highly purified single-crystal silicon ingot, doped with minute quantities of other atoms that are blasted into the crystal structure, interconnected with multiple layers of aluminum or copper, that are deposited according to patterns of high-energy ultraviolet light that are focused to a precision of a fraction of a micron, connected to the outside world via thin gold wires, all inside a packaging made of a dimensionally and thermally stable resin. The doping patterns and the interconnects implement transistors, which are grouped together to create logic gates. In some parts of the chip, logic gates are combined to create arithmetic and bitwise functions, which are combined to create an ALU. In another part of the chip, logic gates are combined into bistable loops, which are lined up into rows, which are combined with selectors to create a register bank. In another part of the chip, logic gates are combined into bus controllers and instruction decoders and microcode to create an execution scheduler. In another part of the chip, they're combined into address and data multiplexers and timing circuitry to create a memory controller. There's even more. Those are actually such incredibly complex technologies that they'll make any engineer dizzy if they think about them too much, and such that no single company can deal with that entire complexity. Can we simplify further? In fact, very scarily, no, we can't. We can barely comprehend the complexity of a single chip in a computer keyboard, and yet there's no simpler level. The next step takes us to the software that is used to design the chip's logic, and that software itself has a level of complexity that requires to go back to the top of the loop. Today's computers are so complex that they can only be designed and manufactured with slightly less complex computers. In turn the computers used for the design and manufacture are so complex that they themselves can only be designed and manufactured with slightly less complex computers. You'd have to go through many such loops to get back to a level that could possibly be re-built from scratch. Once you start to understand how our modern devices work and how they're created, it's impossible to not be dizzy about the depth of everything that's involved, and to not be in awe about the fact that they work at all, when Murphy's law says that they simply shouldn't possibly work. For non-technologists, this is all a black box. That is a great success of technology: all those layers of complexity are entirely hidden and people can use them without even knowing that they exist at all. That is the reason why many people can find computers so frustrating to use: there are so many things that can possibly go wrong that some of them inevitably will, but the complexity goes so deep that it's impossible for most users to be able to do anything about any error. That is also why it's so hard for technologists and non-technologists to communicate together: technologists know too much about too many layers and non-technologists know too little about too few layers to be able to establish effective direct communication. The gap is so large that it's not even possible any more to have a single person be an intermediate between those two groups, and that's why e.g. we end up with those convoluted technical support call centers and their multiple tiers. Without such deep support structures, you end up with the frustrating situation that we see when end users have access to a bug database that is directly used by engineers: neither the end users nor the engineers get the information that they need to accomplish their goals. That is why the mainstream press and the general population has talked so much about Steve Jobs' death and comparatively so little about Dennis Ritchie's: Steve's influence was at a layer that most people could see, while Dennis' was much deeper. On the one hand, I can imagine where the computing world would be without the work that Jobs did and the people he inspired: probably a bit less shiny, a bit more beige, a bit more square. Deep inside, though, our devices would still work the same way and do the same things. On the other hand, I literally can't imagine where the computing world would be without the work that Ritchie did and the people he inspired. By the mid 80s, Ritchie's influence had taken over, and even back then very little remained of the pre-Ritchie world. Finally, last but not least, that is why our patent system is broken: technology has done such an amazing job at hiding its complexity that the people regulating and running the patent system are barely even aware of the complexity of what they're regulating and running. That's the ultimate bikeshedding: just like the proverbial discussions in the town hall about a nuclear power plant end up being about the paint color for the plant's bike shed, the patent discussions about modern computing systems end up being about screen sizes and icon ordering, because in both cases those are the only aspect that the people involved in the discussion are capable of discussing, even though they are irrelevant to the actual function of the overall system being discussed. CC:BY 3.0
- zenbowman 14y agoAnother Abelson/Sussman gem comes to mind: "The secret to engineering is knowing what NOT to think about"