the stack

A couple of weeks ago, Bunnie Huang wrote this in response to a piece on NPR:

Here’s [the part of the NPR story that] I found particularly poignant:

Two centuries ago, our forebears would have known the precise history and source of almost every one of the limited number of things they ate and owned. They would have been familiar with the pig, the carpenter, the weaver, the loom and the dairymaid. The range of items available for purchase may have grown exponentially since then, but our understanding of their genesis has grown ever more obscure. We are now as imaginatively disconnected from the production and distribution of our goods as we are practically in reach of them, a process of alienation which has stripped us of opportunities for wonder, gratitude and guilt.

That last sentence, I think, resonates strongly with my personal motivation as a Maker. I dive deeply into the supply chain, learning the processes and understanding the people behind our Things, because it enables me to once again feel the wonder, gratitude, and guilt for the Things we otherwise take for granted. Wonder at the skill of craftsmen and the cleverness of designers; gratitude for the passion and hard work of my peers; and guilt for the sacrifice, waste, and unsustainable practices motivated by an obscure system of perverse economic incentives.

When I was a kid, I fell in love with computers.  The world was incomprehensibly vast and terrifying, but here was a sort of bounded system, created by and therefore obviously understandable by humans, yet still mysterious enough to fascinate.  It was the closest thing to magic that I knew of that I also knew I could master.

So, without even realizing what I was doing, I started to try to learn about computers.  I messed around with AppleSoft BASIC; I set up BBS software; I figured out how to get a dual-modem setup working for 3-person games of Doom; I snipped the keyboard lock wire on my parents’ 386 so that they couldn’t keep me off of the thing during summer break while they were away at work.

Along the way I began to understand bits and pieces of these systems.  More importantly, I began to understand the larger aesthetic that unified them.  It’s a cliche that kids are better at technology than adults — the joke’s now about programming Tivo instead of programming the VCR, but it persists because it’s true.  I think that’s mostly because kids come to new interfaces with fewer preconceptions about how they ought to work, and with more patience because their time is worth less (I’ve certainly found myself getting worse at learning new interfaces as I’ve gotten older and (even) less patient).

But I was really good with technology, not just kid-good, and I think it’s because I had immersed myself in so much of it.  The thing you have to understand about bad interface design is that it’s not a product of stupidity: it’s a product of engineering.  There’s a reason that your childhood TV’s power button made a bigger click than its channel button did.  There’s a reason that the channel button only became a button after it was a dial!  At that age, I couldn’t explain those reasons.  But I could sense their existence, and became able to make inferences based upon them.

This isn’t a project that I’ve completed, and certainly not one that I’ve abandoned.  People sometimes refer to “stacks” of technologies that work in complementary ways — the PHP scripting language runs on the Apache webserver, which runs on a machine using the Linux operating system that also has a MySQL database installed, and together they form the so-called LAMP stack that serves a lot of the web’s content.

What the above quote is talking about is what I think of as the stack: the system of abstractions and physical mechanisms that makes digital computing possible.  There is so much of it.  It’s a good thing, too, because as you chase down an explanation for one mysterious part, the fascination associated with it recedes.  There was a time when I didn’t know how web pages worked, and was thrilled to learn HTML.  Now, frankly, I don’t give a shit.  But I am interested in how HTML is interpreted by Mozilla’s layout engine. And how operating systems work. And how those operating systems abstract away the varyingly serial and parallel nature of processors.  And how silicon doping and photolithography produce those processors (and why ever-higher wavelengths frequencies of light are needed for that — and what limits there are on this technique). Or how sound is stored on a hard drive. And what makes a keyboard’s keys rebound, and how USB keyboards are different from PS/2 keyboards. And how copper is mined, and how we create a voltage across huge stretches of it.  And what a voltage is! And why my LCD monitor needs to create such a large voltage to produce light, and how that light is encoded by my retina.  And the way that an HTTP request becomes TCP packets which become ethernet frames, and then how that’s all reversed on the other side.

I can give pretty good answers to a few of these questions, perform tolerable hand-waving for others, and am totally at sea for some.  As you might’ve noticed from my list, I’ve become less and less interested in what’s happening within software’s incredibly vast tangle of abstractions as I’ve gotten older — the abstraction itself eventually becomes a predictable pattern, and therefore a bit boring.  These days it takes a relatively extreme case of novelty to get me excited about software (typically something that will be completely inscrutable to non-geeks who don’t share my now-quite-perverse taste).

And of course there’s always more. Really, the computer was a conceptual frame and gateway through which I could start considering every piece of technology, bit by bit.  It’s a little more than a hobby and considerably less than a religion, but pondering the stack is important to me.

It’s not for everybody, though.  Here’s an example!

Some of the biggest complaints [about the iPad] come from programmers that say the closed system means people won’t be able to satisfy their computer curiosities. To which I again say: Good! Then they’ll have to satisfy their curiosities about emotional maturity and social interaction and possibly even thinking about making the world a better place.

It is not productive to spend an hour learning how to change the font on your computer’s clock. Even if while you’re doing that you’re learning about how computers work, you’re wasting your time and getting somewhere trivial very slowly. It reminds me of those copies of Shakespeare schools give children with all the annotations defining words and metaphors and techniques, so that kids can appreciate Shakespeare. It doesn’t work. It just makes Shakespeare look like a cryptogram that you can’t read like you do a normal play. Opening up a system that wasn’t meant to be opened just makes little kids cry.

The standard response, when I sink so low as to let programmers communicate with me, is: “But Rory, programming is my passion. I was willing to spend that long learning how to code.” No, I think back at them — programmers are not given the satisfaction of hearing my voice. No, you were willing to spend that long because you had obsessive-compulsive problems mixed with an antisocial attitude.

[...]

This system is closed! No tinkering! You can browse the Internet, or check your mail, or take notes, or listen to music, but when you’re out of little buttons to press then you’re out of things to do. Discover something else. You are not allowed to delve into the things that nobody ought to care about. You’re forced to get another button, or to put down your pad and make out with the other people wandering, dazed, unsure of what to do.

But however will children learn how to program? Simple: We will make them applications that teach them how to program. Every kid wants to make video games and Google, so it’s not like having a closed system will make them forget that such things are possible. When they go to learn, however, they will not learn by wasting their time doing things that will never make them happy in life. Instead, they will go to the carefully-screened App Store, and they will search for “How do I make video games”, and they will find a little button that teaches them and gives them a run-time environment in which to tinker. And because the iPad is so elegant and makes elegance so relatively easy, these apps will be elegant. We won’t get a row of advanced text editors too complex for people to understand. We will have a lot of simple, easy things that show us how joyful it is to tinker around, and that reveal their complexity and power as we learn enough to work at that level. I might even try my hand at something like that myself.

There is something to this!  And yet, it’s just wrong about how to teach programming.  Programs that teach programming are stupid — they’re for tourists.  The motivating impulse is noble, and I’d use one to give a class of students an idea of how computers work, but the talented engineers that emerge from that class will abandon such toys as soon as they can.

This is how people like Alex and myself learned to do the things we can do.  Like anyone else, we like some things about ourselves, and we don’t like things that we perceive as threats to the cultural dynamics that made us the way we are.

And I think this is why we don’t like the idea of the iPad.  More abstraction is good for users and bad for budding engineers.  A kid today will learn much less about engineering from an HDTV’s on screen menu than he would from my grandparents’ chunky black & white set.  There’s just more complexity to sort through, and replacing those raw objects d’engineering with stupid toys that represent what some engineer thinks is important about engineering — well, I’m not sure there’s a better alternative, but really it’s just adding another layer of abstraction, one that will inevitably have to be peeled back.  The entry point to the stack is getting further and further away from its bottom; the task ahead of those kids is getting harder and harder.

Fortunately, we’re not all going to be issued iPads.  The personal computer will continue to exist.  It’s still quite modular, projects like Linux are still going strong, and the geeks of tomorrow will still be able to get a foothold as they begin to figure out how the world works.  But hopefully this explains why things like the iPad are galling to people like me.  My objections aren’t really technical; they’re cultural.

UPDATE: Tim feels similarly. Imagine that!

it’s got it all

One thing you have to say for the iPad: it sits right in the middle of three classic consumer hardware debates: fat/thin client; walled garden/libre; and information appliance/general purpose device.  I have no idea whether this position makes it a better device, but it sure does generate a lot of passionate (though fundamentally boring-and-cliched-as-hell) blog posts.

The libre/walled garden is the only one I find even remotely interesting, and that only because of the cultural considerations it embodies — see this post from Alex Payne for more on that.  Those making the assumption that the iPad represents some unitary future for computing* are being quite silly, I think — that’s not going to happen.  But it’s worth reading Alex’s post to understand why that admittedly-unlikely event would be a terrible thing for people like him and me.

* Incidentally: any time you read something that approvingly quotes an expert whose listed credential is “futurist”, you should immediately dismiss it outright, and possibly also phone in a bomb threat to the publishing organization.  Also: SixthSense is a neat tech demo, but assuming it works as well as the video is an astounding act of credulousness.  Besides, no one wants to look that dumb in public.

technology!

I didn’t watch the iPad announcement. Having read this and this — which I think you should read, too! — it sounds like it was incredibly disappointing.  Between my laptop, netbook and iPhone, the thing that I wish I could do but can’t is read digital content while I’m sitting outside in the sun.  To me the only thing that’s interesting about this device is the psychotic level of interest in its announcement that was on display, even by people from whom I wouldn’t normally expect it.  I’m increasingly convinced that the enthusiasms that make up geek culture (to the extent that such a thing exists) are part of a larger, communicable pathology that an ever-growing segment of the population is becoming susceptible to — and not just because it’s fashionable.

Anyway! Of today’s tech news, I thought that the PS3′s hypervisor getting cracked was much more interesting than the iPad.  Not really in an applied way — you can already boot Linux on the thing (props to Sony for that), so you’ve gotta suspect that piracy is the primary aim of these efforts, which is a bit boring (especially since I don’t plan to buy a PS3). But the technical details are just neat.  The linked account gives a good rundown, but maybe I can explain why they’re neat.

In the case of the PS1, Xbox and Xbox360, circumventi0n* techniques were clever but essentially reflective of failures of security design. By contrast, the engineering of the PS3′s protection still looks logically bulletproof.  The approach used by geohotz — who also has done good work opening the iPhone, incidentally — was to introduce a bunch of very tiny brown-outs into the system, screwing up the progress of the security-related things that it finds itself doing from time to time.  There’s more to it than that, of course: he needed to use what access to the system he was allowed to establish conditions such that when something went wrong, it was likely to go wrong in a way that was advantageous to him.  As you might imagine, this is a considerably trickier thing than just pulling the plug until the power LED is half-faded (though using an FPGA sounds like overkill to me).

But still!  More than the specific technical prowess involved, this speaks to the incredible difficulty of securing a system over which you can’t assert physical control (especially if that system runs too hot to just encase its vulnerable parts in a blob of epoxy).  In that respect it’s kind of like freezing RAM to make it preserve its contents long enough to extract them (something done at the program Tim‘s attending, I should note).

* This is a completely providential typo. I have no idea how it happened, but I’m sure as hell not fixing it.

my ignorance revealed: spending freeze edition

I asked this on Twitter last night, then quickly backed off, deferring to smarter friends to explain their outrage over the spending freeze that the President is proposing. I mean, in general I get it: we’re liberals, we believe the government needs to expand in various ways, and we’d like to have some freedom to spend on our policy priorities while we’re in power. It seems stupid for the president to tie his hands behind his back without even extracting concessions for doing so.

But then I think about the actual agenda: I’d put HCR, addressing climate change and dismantling the terrorball apparatus at the top of my list, as, I think, would most progressives. A spending freeze doesn’t really preclude any of them*. In fact, all of them are potential deficit reducers!

Plus this, via Kevin Drum, just seems entirely wrong:

conservative Rich Lowry shows via Twitter that he understands why, even if the White House doesn’t: “spending freeze, no matter how notional, is a huge ceding of rhetorical grnd by WH. will give GOP more leverage in makng anti-hcr, stim case.”

You say “ceding”, I say “co-opting”. Reading Dave’s piece from yesterday, I was left with the impression that the alliance between establishment conservatives and the tea partiers — the only actually vibrant part of the right at the moment — is tenuous at best (“…and starring Newt Gingrich as Ahmed Chalabi!”). Maybe I’m being naive, but it seems to me like signaling a commitment to the teabaggers’ (admittedly incoherent) concerns about fiscal responsibility could do a lot to confuse that burgeoning relationship. If it can be done without seriously endangering social welfare entitlements; without affecting the party’s main policy initiatives; and hey, maybe even with it as cover for going after a few things like farm subsidies, then that all sounds okay to me.

Anyway, consider this another plea for explaining the obvious thing(s) I’m missing. At the moment I find myself convinced that this strategy could blow up quite easily. Certainly the last few weeks haven’t instilled a ton of confidence in the Democrats’ political skill. In fact, odds of this play working seem low!  The idea that defusing this one last minority critique will yield dividends is a mistake that’s been made many times in the past few months.  Still, this specific proposal doesn’t seem obviously crazy to me, or even that destructive.  And though I’m in no position to say, it seems likely that somebody in the administration thinks it’ll help in the fall.

* Obviously another stimulus becomes untenable under this proposal. Was that really all that likely, though?

UPDATE: Yikes. Okay.

BUT ALSO: This. Which seems dumb, but okay.  “It’s almost certain that Congress will pass, and the president will sign, a jobs bill”, though? Well, okay, maybe!  I don’t know how to read all these sorts of tea leaves, and I’m not on any secret listservs or conference calls or anything like that. But it kind of seems to me like the Republicans have been complaining about ARRA’s (alleged — but absolute!) ineffectiveness for a while now, laying the groundwork for obstruction of any last-ditch effort to fix the economy before the election (which should be done! But c’mon, at this point it obviously won’t save anybody.).  I mean, yes, clearly everyone is about to start talking about jobs.  I’m unclear on why folks think that’ll turn into something, though.

this is not going to work

It’s official: the New York Times is erecting a partial paywall.

The first thing to say about this is that it’s not going to work.  Not in a technical sense. You can’t give away your content for free some of the time, then stop — not when the cost of reproducing that content is zero.  It seems likely that users will be asked for an email address in order to use the site at all.  But of course it would be easy to generate a ton of accounts and then build a firefox plugin to cycle between them (with some scripting, your monthly free-article-views can be multiplied by the number of captchas you’re willing to fill out).  Or  you could create a site that caches NYT content, reducing the need for “spending” your free credits.  Or you could make a browser plugin that uses P2P to serve viewed content to others who’ve asked for it after their credits are spent.

None of that’s likely to be necessary, though — the NYT has created loopholes for bloggers and search engines before, and I imagine they’ll do so again: it’s just too tempting, and their future is too uncertain to close off any avenues of imagined salvation.  But it will probably be fairly simple to take advantage of those loopholes for general reading.  The web simply wasn’t designed with the sorts of systems necessary to prevent that from happening.

Of course, even though the proposed scheme, like all other half-hearted (aka commercially viable) DRM systems, is technically hopeless, the system might work in a practical sense.   Most people won’t bother with the circumvention techniques that will emerge.  People still make money selling DVDs even though CSS is cracked, for instance.  But, as others have noted, the papers that have had the most success with paywalls are the ones that have asked readers to spend someone else’s money on a subscription — their employer’s money, typically.  I doubt the NYT can pull that trick off.

I don’t have a solution, really.  If I were in their shoes, would I try to put up a paywall? Maybe. If you’re ever going to try, you should do so while your cultural import is at its height, which means as soon as possible — the old media oligarchy is clearly set for steady decline.  But if I were going to build a wall, I certainly wouldn’t build cracks into it.  A subscription-only model would radically diminish the paper’s influence and consequently transform its components. But the choice may be between that and oblivion, and if it is, the time to choose is now.

They won’t, though.

donating by SMS is like ordering room service

I was wrong about SMS donations to Haiti lining the pockets of mobile carriers: I’m told that the carriers are waiving their fees (which normally consume about half of the funds donated through SMS). I’m happy to be proven wrong! If you want to give to relief efforts by texting, you can do so without worrying that your money will be wasted. I still wish you wouldn’t, though.

By waiving their fees the P-SMS vendors have escaped the following critique, but it still holds for the general case: premium SMS is an expensive way to donate. And it’s going to remain so. Your mobile carrier has a monopoly on adding things to your phone bill. Like room service, buyers of P-SMS are part of a captive audience, and will always pay more than he or she would for the same good in more competitive arenas.

Just how bad is the carriers’ cut?  It’s a little tough to say, though the most often-cited number is 50%.  If you look at this page, from mGive, the prices actually look pretty good!  They’re competitive, at least, with what you might get charged by a bulk email vendor for handling your nonprofit’s fundraising.  But then you see something like this, from a vendor in Europe — a more developed P-SMS market — and realize that mGive’s slice of the pie doesn’t include the fees charged by carriers, which dwarf the processor’s cut.

I’m glad that the carriers aren’t taking a percentage this time. But I suspect it’s a relatively cynical — and canny — decision on their part. If you use P-SMS to provide aid to Haitians, you’re helping to legitimize and standardize P-SMS. More organizations will consider adopting it — will feel they need to adopt it — and, to whatever extent it’s used as a substitute for giving through mechanisms with lower costs, it will hurt the cause of charitable giving.

Perhaps the situation will eventually improve. Certainly the enormous cut that carriers routinely take is impossible to justify. But when you consider that the cost of normal SMS has been increasing as the service becomes more popular — despite expanding network capacity and very low costs to carriers — I think there’s reason for pessimism (in terms of pure bandwidth, SMS is by far the most expensive type of data that is bought by normal consumers (by which I mean people who are not in the middle of the Pacific Ocean, nor on their way to the moon)).

I’m sorry to have provided incorrect information this morning about the specific case of using P-SMS to give to Haitian relief efforts, but I have no regrets at all about pushing people away from P-SMS giving in general. It’s a bad deal, and I think it’s likely to remain so. You shouldn’t give it your business, and you shouldn’t imply to others that doing so is a good idea.

UPDATE: Via comments, I see that the situation is yet more complicated.  There’s something called the Mobile Giving Foundation, which seems to be a coalition of wireless operators who vet nonprofits and waive their normal predatory fees for those who qualify.  I think that’s how it works, anyway — the site isn’t very clear about it, and certainly makes no mention of what normal fees for P-SMS are.

It still appears to me to be an effort to promote P-SMS and deflect criticism, and I see no assurances that the fee waiver is a permanent policy.  Judge for yourself, but I’m still pretty skeptical, and will not be donating via text message any time soon.

in which my ignorance of finance is revealed

Not to me, anyway.  But I think that perhaps I could just use some further explanation from people smarter than myself about how the financial system works.  So consider this a plea for help — one that I would’ve issued over Twitter, if Twitter’s character limit was 2300% larger.

Anyway, the problem: this article makes the case that the Federal Reserve has been having a very profitable year:

The Fed will return about $45 billion to the U.S. Treasury for 2009, according to calculations by The Washington Post based on public documents. That reflects the highest earnings in the 96-year history of the central bank. The Fed, unlike most government agencies, funds itself from its own operations and returns its profits to the Treasury.

The numbers are good news for the federal budget and a sign that the Fed has been successful, at least so far, in protecting taxpayers as it intervenes in the economy — though there remains a risk of significant losses in the future if the Fed sells some of its investments or loses money on its stakes in bailed-out firms.

[...]

Much of the higher earnings came about because of the Fed’s aggressive program of buying bonds, aiming to push interest rates down across the economy and thus stimulate growth. By the end of 2009, the Fed owned $1.8 trillion in U.S. government debt and mortgage-related securities, up from $497 billion a year earlier. The interest income on those investments was a major source of Fed profits — though that income comes with risks, as the central bank could lose money if it later sells those securities to reduce the money supply.

The Fed also made money on its emergency loans to banks and other firms and on special programs to prop up lending, such as one that supports credit cards, auto loans, and other consumer and business lending. Those programs impose interest and fees on participants, with the aim of ensuring that the Fed does not lose money.

So, okay, some of this makes sense: the emergency loan programs involve third parties and can, in fact, produce profit via interest on the loans.

But two questions.  First: as the article states, these earnings will go back to the Treasury, which will be “good news for the federal budget” — except that much of the earnings are attributed to gains from purchased federal debt — bonds paid out by the Treasury.  So, uh, how is this “profit” not completely circular?  I suppose that perhaps it represents money that we thought we had spent but hadn’t.  Still, the Post’s presentation of the issue seems very strange.

Second: what is the article talking about, anyway? Not to toot my own project’s horn too much, but we’ve got this nifty visualization of fed holdings based on their weekly H.4.1 reports, and it’s just not the case that the fed has increased the amount of Treasury securities it holds.  There was a dip, but we’re basically back at 2007 levels.  The fed’s portfolio has gotten much larger thanks to the bailout, but the real story looks to be its still-expanding investment in mortgage-backed securities.

I’m just the tech guy, so I hesitate to go much further out on this limb.  But I think Neil Irwin could’ve done a lot more to distinguish between Treasuries and MBSes, and what they mean for the Fed’s holdings.  Help me Ryan Avent, you’re my only hope!

MORE: The first comment on Felix Salmon’s coverage of this article is helpful: basically, this is good news because it’s not bad news.  Perhaps it’s a bit silly to think of profit from Treasury securities as a windfall for the government, but at least the Fed managed to keep prices from collapsing, which could’ve easily happened.  I’m still confused by how the article presents its thesis, though.

The Daily Caller

I gave Spencer short shrift when I tweeted earlier; he’s doing the lord’s work, and deserves recognition for it.

But, with credit established: let’s assess.  The Politico-with-more-irritating-headlines part seems fairly well done, I guess, I couldn’t really say. But this is offensive and inexplicable; this reads like the first entry from an about-to-be-abandoned blogspot site; and this — well, I guess we’ve all run into that one guy who gets drunk and ruddy and decides to boom forth some comedy, because his unapologetic, un-PC take on current events never fails to elicit big laffs from people who know how important his dad is.  But most of us have the good sense to smile, say “that’s okay” when he spills his drink on us, and make our excuses.  We certainly don’t publish the guy’s nonsense.

Anyway, almost all of these examples are stolen from James Wolcott, who also manages much better one-liners than I can (I stole the other one from Alex G).  But really: the opinion section needs, um, tweaking.  You can’t just take the celebrity-fueled idiocy of HuffPo opinion pieces, subtract the celebrity and expect things to work out.

I suspect there are a bunch of competent, harried young reporters hammering away at the substantive side of this operation.  I might not like the audience they’re courting or the way they’re courting it, but I know people like them, I know that they’re in a tough line of work, and I wish them well.  But for their sake, here’s hoping something gets done about that Superfund site of an opinion section.

UPDATE: Alright, this is true: last week, when DCist posted about the story, I came across this post and briefly took it at face value.  Then I read back in the archives a bit and became convinced that the site must be a parody blog set up by someone from TWI (the connection to the recovered-camera story is what fueled my suspicions).  I concluded that if I knew who Jim Treacher was it’d probably be hilarious, but I don’t, so I mostly just felt mildly irritated to have been taken in by that last entry.  Earlier ones betrayed a less refined comic voice — one that was a little too upfront with the “diary of my class trip to DC” tone that I took to be meant to belittle the real Treacher.

Anyway, nope, it’s the real thing, and I’m very confused.

Linda McMahon

A thousand times yes.  Linda McMahon needs to be the Republican nominee in Connecticut. So. Badly.  Can you imagine how Ambinder would cover this?

Admittedly, there are real concerns about giving Vince and the rest of the McMahons access to the levers of power — Linda’s tenure as WWE CEO showed many of her immediate family were all too willing to manipulate the matriarch’s position for personal gain.  And there are other potential problems: by this point in its long existence I think it’s fair to characterize D-generation X as an insurgent paramilitary outfit; Stephanie McMahon’s ties to the organization will surely become a campaign issue.

But this is all premature.  The voters of Connecticut deserve to decide for themselves.  If Linda does gain the nomination, she can count on my support, likely via the pay-per-view wing of her fundraising operation.