

The Era of Black Boxes - mojuba
http://melikyan.blogspot.com/2010/01/era-of-black-boxes.html

======
grellas
_Thus a modern Windows computer or a Mac is a legally locked black box that
you pay for and somehow agree to own without owning it in full._

Even back in the analog day, it was a top priority among manufacturers to
patent their technology if at all possible and, in this sense, even the
hobbyist was legally restricted by such patents. Patents, though, do not hide
the technology but only restrict what you can do with it. You could learn away
to your heart's content as you took it apart and tinkered with it. That is the
nature of an analog world: you can put your hands on and physically inspect
and manipulate real-world objects that in themselves constitute the heart of
the technical innovation.

Reverse engineering prohibitions really came about as leading forms of
technology began to consist more and more of proprietary software consisting
ultimately of source code with binary implementations. The law accorded
copyright protection to such code as soon as it took a fixed form of
expression and prevented others from either literally copying it or
paraphrasing it in ways that copied its substance while making minor
variations. Those who had invested major effort to develop the code went one
step further to protect it, however, because the binary implementations would
be released to the public generally, leaving them open to inspection by any
technically savvy person who might reverse engineer the product. Thus were
born the modern forms of license agreement by which such software was licensed
only (not sold) and by which licensees became bound by contract not to reverse
engineer the software. Legally, then, one could no longer "tinker" with a
product insofar as it contained such software, though nothing would stop
anyone in practice from doing so (he just couldn't legally use what he
discovered through reverse engineering). This reverse-engineering prohibition,
by the way, has nothing to do with copyright restrictions; rather, it is
designed to plug a loophole in trade secret law by which courts had ruled that
software that is otherwise protected by trade-secret becomes publicly
available (and hence is no longer treated as a trade secret) if it can be
legitimately reverse engineered - because of such rulings, software vendors in
essence said to the world, "if you license our products, you agree that you
can't peek into our world of trade secrets by reverse engineering our code."

These legal changes came about to protect what early software vendors
perceived to be their vital interests in guarding their proprietary advantage
gained through investing their development dollars and are a default part of
the landscape today.

In my view, though, it is not so much the legal barriers as it is practical
factors that have turned the products of today more and more into black boxes.
Leading technology today is much less analog and much more digital and the
tiniest of contraptions today can contain mountains of sophisticated
technological development in the most miniaturized of forms. Who, sitting in a
garage, has any hope of figuring it all out in the sense of opening up the box
and analyzing it without the aid of sophisticated tools that no average person
can even begin to afford, much less without the aid of technical know-how that
is far beyond the reach of even the average technically-savvy person?

Even when it comes to earlier forms of software, again, back in the day, many
of the engineers I represented came out of the old mainframe environment and
were quite technically savvy in working with miniscule resource levels by
coding in assembly languages, etc. They worked much more closely with the
physical machine resources than is either needed or desired today. As
technology has developed over the years, however, the working level of
knowledge has become more and more "abstracted" to the point where
interactions with the machine-level functions are now a specialized niche with
which fewer and fewer people are even concerned, much less proficient in
dealing with.

So the black box is there owing to primarily practical factors relating to
technological development. The Steve Jobs's of the world (or their
contemporaries) might have learned from their Heathkits, but that day is gone
forever. It is all too complex now at the leading edge of technological
change.

------
jacquesm
What a super piece of writing. The 'phones on the hook can be used to
eavesdrop' is fairly well known, but the main point of the article I think is
that you no longer stand a chance to figure out what is going on in consumer
electronics.

When I was a kid I'd make a bit of money repairing TVs by cannibalizing a few
other 'corpses', such an endeavor would be nearly impossible today.

I fixed a computer a few weeks ago, the motherboard was put together with el-
cheapo capacitors that had all blown their tops until there wasn't enough of
them left to stabilize the circuitry they were in.

Easy enough you'd think. What would have taken 5 minutes in the pre-smd time
took me a couple of hours and it was still sub-standard work.

Now I've been 'out' of electronics for a long time, almost 30 years now, but
in a way I'm really happy. I'd hate to be an electronics hobbyist today, the
state of the art has advanced so far that you're probably best off buying an
FPGA kit and using that instead of rolling your own circuitry.

Arduino seems to capitalize on that feeling, to allow people to take a small
step back from those black boxes and to open them up again.

~~~
aristus
One thing that disturbs me is how incurious people seem to be about their
hardware. I was talking with two people who make their entire living from
iPhone apps, and they didn't know it is an ARM device.

Part of it is surface-mount components, part of it is that the hardware is
being pushed down the commodity stack. But I wonder what kitchen innovations
we are missing because few people tinker with the bare metal anymore.

For 30-odd years hackers built their own lightsabers. Now they've pretty much
stopped. I can't decide if that's inevitable or not.

~~~
pyre
To some extent things are technology-limited now. Not many people are going to
build a 45nm process in their garage.

~~~
aristus
People didn't build IC fabs in their garages either. But we knew the ins and
outs of the hardware. Some things are beyond human ability, but there seems to
be much less interest in homebrewing our primary computing devices than I
think that should account for.

~~~
pyre
I think it bears mentioning that at one point in time the hardware _was_ the
software for the most part. Now the hardware has grown powerful and general-
purpose enough that it can largely be abstracted out of the picture for most
applications (or at least abstracted to down to general high-level parts --
e.g. X Mb/Gb of RAM vs what type of controller chip is being used).

I think that most people that are interested in 'tinkering' with things are
doing it in software instead of hardware.

------
jimbokun
Thinking about the laws and regulations making it illegal for anyone to fix
something on their own, makes me think of the Harry Tuttle character from
Brazil.

<http://en.wikipedia.org/wiki/Brazil_(film)>

"...the real Harry Tuttle (Robert De Niro), a renegade air conditioning
specialist who once worked for the government but left due to the amount of
paperwork."

I remember him sneaking into homes like a cat burglar in order to fix things
without going through the arduous bureaucracy put in place to keep
unauthorized repairs from happening. That is close to becoming a reality for
anyone who wants to fix their own or their friends' stuff, with the DMCA,
etc., standing in their way.

~~~
jacquesm
Brazil is easily one of the best movies ever.

------
yardie
Great post. I also had a similar interest in tinkering. Fixing broken things
and breaking working things. I remember opening old VCRs and reading the
schematics glued to the inside cover. Although I didn't understand,
completely, how electronics worked at the time (just basic I=V/R). I knew what
a blown fuse, capacitor, or resistor looked like and could spot a cold solder
joint. But eventually the devices got too complex and programming became
easier.

I'd like to make a few additions: While schematics aren't included anymore for
most devices you can still get the repair manual by calling the manufacturer.
A pasted schematic can't hold all the information that goes into most
electronics these days.

Apple didn't need to "borrow" opensource tech. The XNU kernel is designed and
developed by Apple. They gave it away. The FreeBSD userland stuff is also free
to give away. Borrowing, in quotes, implies that Apple has done something
underhanded which is not the case. This is the big difference between the GPL
and BSD licenses. Only one is truly free. Also, the whole modern OS thing is
old now. They've owned NEXT technology for 12 years. If they didn't buy them
work on their next OS would have carried on anyway. But I doubt they would
need 12 years to complete it.

With the development or Arduino, Beagleboard, and Bugboard getting into
technical development has never been easier. This is vastly different than 20
years ago when the most you could hope for was a box with some blinky lights
from a 444 chip. Now, even novices, are creating some pretty cool stuff.

~~~
jacquesm
I think you meant the 555 timer, the 444 was an op-amp.

~~~
jgrahamc
He might have meant a 444. You can turn an op amp into a oscillator pretty
easily: just drive it with some RC circuit.

See p284 of Horowitz and Hill :-)

~~~
jacquesm
Except it wasn't :)

I agree, you can do that, but the description was fairly clearly a 555.
Besides that an lm444 is a 14 pin dip and a 555 is 8 pins (see comment by
yardie).

------
ahlatimer
I would largely disagree that there are no longer things that the curious
individual can tinker with. Granted, a lot of consumer electronics are too
complex for the average person to fix or figure out, but that doesn't mean
there aren't things out there for the curious.

Arduino, and products like it, as others have mentioned, offers a great way
for someone to get into embedded systems. You can get a decent setup for
around $100US that offers way more potential than opening up an old phone or
TV.

I've grown up in the era of the black box, and I was still able to find things
to pull apart and figure out when I was a kid. Even better, technology had
gotten to the point where things like LEGO Mindstorm allowed me to tinker with
something without upsetting my parents by breaking something they used. Later,
when I got into music and started playing guitar, I made some money by
figuring out how to repair tube amplifiers, a decidedly old technology, but
one that continues to thrive in the guitar world. I purchased several tube
amps on eBay for ~$20 each. I reverse engineered them and turned them into
guitar amps. I built a tube amp from the ground up, even putting together the
turret board and drilling the chasis.

I do agree that there is value in keeping things open, but the argument that
there isn't anything out there for the next generation to open up sounds a lot
like another "Well, back in my day" story.

~~~
dbz
You are correct. There are still a plethora of ``things``, which can be
reverse engineered. However, most of them, (in my opinion?), are not things
which I, or any other normal person, uses daily (cell phone,digital camera,
computer, a car key which only needs to be near the car to allow someone to
start the car and unlocks the car when the person, or a person touching the
person, touches the car, and ect.). I'm not trying to say that people don't
use guitar amps daily- I'm trying to say that pretty much anything containing
that green circuit board with little black chips and bumpy things all over it-
will be next to impossible for a 13 year old kid to figure out. I mean. Of
course there is google and the wikipedia, but I mean figure out on his or her
own time like you did.

~~~
ahlatimer
I do agree that the number of everyday things that can be reverse engineered
has dropped, but likely if one was so inclined to reverse engineer something,
he or she would find something to reverse engineer. I would go so far as to
say that the number of things that can get a 13 year old into tinkering has
grown, not shrunk. The internet has opened up communities that would otherwise
be unreachable to our hypothetical teen.

For my own case, had it not been for the internet, I would've never gotten
into tube circuits. I never would have been able to make heads or tails of
even the most basic tube amp design, even given the schematics. On top of
that, I probably would've either killed myself or caused serious harm to
myself if I did try to poke around those circuits without having researched
it. Tube circuits can have deadly amounts of electricity in them even when
they're unplugged and turned off. The same is true for old (and new?) TVs, I
believe.

I'm 20. PCBs were pretty much ubiquitous by the time I was old enough to
really start digging into things. That never stopped me, and I don't believe
it would stop someone that's 13 now and has the inclination to take things
apart and figure out how they work.

~~~
bmalicoat
I think part of the problem is people don't know they are inclined to
tinkering. If you grew up around VCRs and they broke and you wanted to try to
save some money, you open it and see if you can do anything. This seems to be
a common way to first start off. Nowadays you open it and immediately close it
because there is no reasonable way to approach an IC or PCB without prior
knowledge.

Of course there are the more industrious (and more annoying to their parents)
who go on opening things that weren't broken and mess around in them. Those
people are the ones who will actively go out and by arduinos. But it seems the
first group is a dying breed.

------
trigger
A lot of old-school programmers seem to feel the same about software. I've
been reading the book "Coders at Work" recently and many of the older
generation programmers reminisce about the days where they understood (and
many times owned) every single line of code from the hardware up to their
applications. Some say that they wouldn't like to be a programmer today
because they'd have to accept too much as black-box (OS, frameworks, etc).

I can certainly sympathise with the OP and the older generation of programmers
but I can't help feel that it's more a case of standing on the shoulders of
giants. If we're to forever tinker (even if it is fun) with basic electronics
or low level programming we'd have a hard time making any progress. As painful
as it is I find it best to accept that something is black-box and just work
with it, warts and all. Having said that, it's really useful to have the
source code for the frameworks/libraries you're working with. Delving into it
is similar in ways to the tinking the OP speaks about.

~~~
jacquesm
I think it is in some ways comparable to working in assembly versus a high
level language.

In assembler you place every instruction, every part.

A high level language that gets compiled (or even compiled twice by a jit)
outputs _millions_ of instructions, many more than the largest hand coded
assembler program.

Nobody in their right mind (or of a (in)sufficiently long lifespan) would even
attempt to do such a thing manually.

Just like modern cpu designs could not be duplicated without a functioning
computer make the masks.

So, 'old' programmers feel the same sense of being removed from the machine
instructions and the complete knowledge as electronics people do from being
removed from their components and visible, traceable wiring.

Not that long ago there was a posting here by a man who built his own
computer, out of ttl logic circuitry from the ground up.

It's an excellent exercise in gaining control of the machine.

But as soon as you want to do something that is competitive in the marketplace
then 99 out of 100 times you end up using that high level instruction grinder
anyway.

Only guys like dark_shikari and people that are busy with smaller embedded
systems get to enjoy that feeling on a daily basis. For everybody else that is
just as alien as an electronics person that insists to build a complicated
piece of equipment out of individual resistors, diodes and transistors.

When the first thin film circuitry appeared in the mid 70's (or at least, when
I saw it for the first time, I must have been 10 or 11) the only thing other
electronics hobbyists were wondering about was how they were going to repair
them.

That's just as inconceivable to me today as it would be to perform surgery on
in integrated circuit.

~~~
cylinder714
For those of you (like me) who suspect that one's programming education is
incomplete without some taste of assembly language, the third edition of Jeff
Duntemann's _Assembly Language Step-by-Step_ is out now, focusing on Linux and
NASM:

<http://www.duntemann.com/assembly.html>

------
andreyf
Regarding tinkering with electronics, I imagine microcontrollers are both
cheaper, information about hacking them more readily available, and the choice
of architectures more numerous than they were in your childhood [1]. So now
you can tinker with things which have a network stack and an IP. Pretty nifty,
if you ask me.

Regarding the IP issues: there is a lot more investment involved developing
the software and chipsets which runs a modern cell phone compared to the
rotary phone you took apart. Without the patents and copyrights protecting
Apple's rights to the MacBook in front of you (and me), it would never have
come to exist, because there would be no economic incentive for Apple to
invest the billions that created it into R&D in the first place.

1\. <http://en.wikipedia.org/wiki/List_of_common_microcontrollers>

~~~
lutorm
Patents don't prevent you from reverse engineering something you buy -- in
fact it should already be made public in the patent application. Neither does
copyright. It prevents you from using that knowledge in a new or cloned
product.

Its more the DMCA and maybe-enforceable licenses you "agree" to when buying
something that try to prevent you from figuring out how things work. And that
comes perilously close to "thought police" IMHO.

I also remember taking apart rotary phones and realizing that you could dial
them by hitting the hangup lever at the right frequency and number of times.
If that had been "forbidden", I think it's very reasonable that my natural
curiosity had just been rejected at an early age. This story reminds me of the
TED talk about how you can't buy a chemistry set anymore.

~~~
andreyf
Except 13 year olds pay attention to maybe-enforceable license and the DMCA a
lot less than the author cared about the KGB - at least he was aware of them.
I doubt any 13 year old knows what EULA or DMCA stands for.

Chemistry sets are readily available, just as they always have been [1]. The
big difference is that now, video games are a hell of a lot more fun than any
chemistry set.

1\. <http://www.amazon.com/dp/B00007B8M6/>

------
wglb
This reminds me of Cliff Stoll ( _The Cuckoo's Egg_ ) giving a talk at the
Dayton Ham radio Convention a few years ago about curiosity and how it seems
to be dying these days. He went out to the flea market and bought bags of
parts and dumped them on the overhead projector and said, with some drama,
"you can build a radio out of these".

He gave an illustration of an application of such technology for his
neighborhood. The street near a school had a speed limit that was often
exceeded. He wanted to find a way to bring the attention of this to the city.
Purchasing some parts from Ramsey Electronics, he built a radar gun (using
licensed ham radio frequencies), attached it to a post near the street,
connected the output to a macintosh, and delivered plots of the speed of cars
over a period of time. The city then put speed bumps there, making it a safer
street.

------
rdtsc
I remember my father opening up our black and white vacuum tube TV to clean it
from dust. He would tell me what each component did, how electrons flowed ...
for me it was the best time in the world listening to him. And I really liked
taking things apart to see what they are made of.

Nowadays I mostly work with software, the interesting components are
algorithms and data structures. They are abstract and intangible but just as
fascinating.

------
mike463
As a software guy, I recommend the book "Bebop to the Boolean Boogie":

<http://www.amazon.com/dp/1856175073>

...to people who want to demystify current generation electronics.

What we have now is not as simple as an early telephone, but it still might be
in the realm of understanding.

------
ericb
I had a Comcast cable box last year that produced a couple minutes of what
sounded like a CB or phone conversation while not "on" several times. Any
theories what could cause that or is it time to get a tinfoil hat? I'm not
exactly a likely target for eavesdropping.

~~~
nzmsv
Lots of cheapo electronics aren't properly RF shielded, and will pick up radio
transmissions. I once had a pair of speakers that came with a PC as a "free
bonus". Those things could be used as a radio (except for only one station).

------
sunkencity
That is one awesome article.

