Profile

Cover photo
Elliott Cable
Lives in Chicago, Illinois
212 followers|13,642 views
AboutPostsPhotos+1'sReviews

Stream

Elliott Cable

Shared publicly  - 
1
Add a comment...

Elliott Cable changed his profile photo.

Shared publicly  - 
2
Able Lawrence's profile photo
 
+Elliott Cable Looks very different from my memories of you from the Wave days. 
Add a comment...

Elliott Cable

Shared publicly  - 
 
 
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
110 comments on original post
2
1
Pradeep Dantuluri's profile photo
Add a comment...

Elliott Cable

Shared publicly  - 
 
Each and every year millions of Irish, Irish-ish and amateur alcoholics are needlessly distracted from their Holy Tradition of drinking themselves into a stupor in the name of Saint Patrick, a Roman B...
1
1
Funeral Nick's profile photo
Add a comment...

Elliott Cable

Shared publicly  - 
 
So, for +Michelle Steigerwalt's sake, we're moving.

#elliottcable is now ##Paws. http://ell.io/IRC
1
Micah Johnston's profile photoElliott Cable's profile photo
2 comments
 
Yes, I meant ##Hat. Oh, well, not like anybody on here cares. :D
Add a comment...

Elliott Cable

Shared publicly  - 
 
This is the problem with waking up at ~4AM EST every day. There’s nobody to talk to in the early mornings. )’=

http://ell.io/PYKU
1
Elliott Cable's profile photo
 
That’s a pretty awesome alarm. I’m going to go build a real one of those and market it.
Add a comment...
Have him in circles
212 people
Eric Hanchrow's profile photo
Harper Dimmerman's profile photo
Anup Kalbalia's profile photo
Cakra Donya's profile photo
Enrico Silterra's profile photo
Tobias Kopelke's profile photo
Bryan Culver's profile photo
Tj Holowaychuk's profile photo
Jean-Nicolas Jolivet's profile photo

Elliott Cable

Shared publicly  - 
3
Angélica G's profile photoElliott Cable's profile photo
2 comments
 
Hm?
Add a comment...

Elliott Cable

Shared publicly  - 
 
 
Problem: How do you authenticate a mobile phone when it is sending a payment over the Web?
Solution: You make it digitally sign the payment request.

The HTTP Signatures spec is a digital signature mechanism for the HTTP protocol. It adds origin authentication, message integrity, and replay resistance to HTTP requests. This is useful for any application that currently depends on Basic, Digest, OAuth, or OAuth2 authentication when performing RESTful HTTP calls.

This spec will be used by the Web Payments / PaySwarm / Web Keys work to verify the sender and receiver of funds during a payment. The first draft of this spec was just published via the Internet Engineering Task Force (IETF):

http://tools.ietf.org/html/draft-cavage-http-signatures-00

https://payswarm.com/specs/ED/http-signatures/2013-05-04/

#http #crypto #ietf #rest
View original post
2
Add a comment...

Elliott Cable

Shared publicly  - 
 
 
101 things you didn't know Ruby could do.... (not 10)... lots of awesome tips!
View original post
1
Add a comment...

Elliott Cable

Shared publicly  - 
 
Ilmari Heikkinen originally shared:
 
Wow, this looks really useful. Nicer UI to the MDN docs. Search for CSS properties, HTML elements, JavaScript objects and the DOM API.

http://dochub.io/
2
1
Malte Ubl's profile photo
Add a comment...

Elliott Cable

Shared publicly  - 
 
I present, without further comment, the funniest thing I’ve read all day:


Elliott C.: BAHAHAHA
Elliott C.: HE BLOCKED ME
Elliott C.: “I've delt with enough of your type of bullshit it doesn't really effect me anymore”
Elliott C.: “hasn't since highschool”
Elliott C.: and I was like, well, that’s good, because it’s not stopping ^_^
Elliott C.: and he’s all “yes. yes it is.” KA-BLOCK
Elliott C.: mission accomplished
Michelle S.: I love how bad his spelling is.
Michelle S.: Like, he must just see the wiggly red lines everywhere, and assume they're denoting awesome.
2
Quildreen Motta's profile photoNatasha Lee's profile photoElliott Cable's profile photo
3 comments
 
+Natasha Lee … really? really?
Add a comment...

Elliott Cable

Shared publicly  - 
 
I am currently writing HTML using Notepad.exe in a Windows XP / IE6 virtual machine on a Bootcamp / Windows 7 partition. Half an hour ago, I was trying to wrap my head around Godel's Proof.

This is more annoying. <insert disapproval face that I can't be arsed to Google up and copy/paste in, here>

Postscript: I can't even get Firebug Lite, which nominally works in "IE6+", to load! What the fuck, IE6 is trying to make me cry. ;_;
1
Add a comment...
People
Have him in circles
212 people
Eric Hanchrow's profile photo
Harper Dimmerman's profile photo
Anup Kalbalia's profile photo
Cakra Donya's profile photo
Enrico Silterra's profile photo
Tobias Kopelke's profile photo
Bryan Culver's profile photo
Tj Holowaychuk's profile photo
Jean-Nicolas Jolivet's profile photo
Work
Occupation
Designer, O.C.D. N.I.H. software developer
Basic Information
Gender
Male
Looking for
Friends, Dating, A relationship, Networking
Relationship
Single
Other names
Fucking awesome.
Story
Tagline
I invented Paws. Please don’t hurt me, it was an accident.
Introduction
(shortURL for this profile: http://ell.io/tt+)

I’m a designer-temporarily-turned-software-developer, currently (~2 years) designing a ridiculously complex programming language.

Raised Alaskan, currently North Carolinian, but most importantly Internet’ian.

I’m available on IRC basically 24/7; join up and say hello right now: http://ell.io/IRC
Places
Map of the places this user has livedMap of the places this user has livedMap of the places this user has lived
Currently
Chicago, Illinois
Previously
Anchorage, Alaska - Bozeman, Montana - Wilmington, North Carolina
Contact Information
Home
Mobile
+1 (919) 636-4204
Email
Google Talk
me@ell.io
Elliott Cable's +1's are the things they like, agree with, or want to recommend.
Root Checker
market.android.com

This application, Root Checker (Basic), will allow the user to confirm they have proper root ( superuser ) access configured and operational

Welcome To codedread
codedread.com

Software, Code, Applications, Games, Reviews and Personal Blog of Jeff Schiller

Paddy, Not Patty
paddynotpatty.com

Each and every year millions of Irish, Irish-ish and amateur alcoholics are needlessly distracted from their Holy Tradition of drinking them

This Hilarious Australian Video Pokes Fun At Clueless DSLR Users
www.gizmodo.com.au

Everyone has a friend who packs all the gear, but has no idea. When it comes to photography, that means mates who run around with their shin

Public - 6 months ago
reviewed 6 months ago
1 review
Map
Map
Map