Wordyard

Hand-forged posts since 2002

Archives

About

Greatest hits

Interview: David Weinberger

May 22, 2007 by Scott Rosenberg

This seems to have been my “interview very smart people” month. A couple of weeks ago I was lucky enough to spend an hour talking with David Weinberger about his fascinating new book, Everything Is Miscellaneous. The full interview with Weinberger is now up at Salon.

I highly recommend the book: it’s a sophisticated, deep discussion of one of the issues that the Chandler developers in Dreaming in Code were grappling with, as they tried to break personal digital information out of application-based “silos” to create the sort of “miscellaneous soup” that Weinberger celebrates.

Everything is MiscellaneousIf I have any disagreement with Weinberger, it’s that I think he is so enthusiastic about the manifold opportunities digital organization presents — and so gifted at explaining them to us — that he is a little dismissive of the frictional drag created by practical implementation details. He makes a compelling theoretical case for “third order” systems that let us try out multiple organizational schemas. But in practice I think a lot of this stuff remains out of reach and will continue to do so for a long while. In my and I think many users’ experiences, the sheer difficulty of creating good software means that the digital realm remains far less responsive to our changing needs than is modeled in Everything is Miscellaneous. To paraphrase the great William Gibson line, the miscellaneous is here — it’s just not evenly distributed yet.

Following the break, a relevant chunk of the interview which didn’t make the cut for Salon (pretty high geek quotient).
[Read more…]

Filed Under: Blogging, Books, Business, Culture, Software, Technology

Code Reads #9: John Backus, “Can Programming Be Liberated…?”

May 21, 2007 by Scott Rosenberg

Code ReadsThis is the ninth edition of Code Reads, a series of discussions of some of the central essays, documents and texts in the history of software. You can go straight to the comments and post something if you like. Here’s the full Code Reads archive.

The annals of programming include a small but significant number of radical thinkers who propose total overhauls of our basic techniques for making computers perform useful tasks. One of them is the late John Backus. Backus was the central figure in the creation of FORTRAN — the archetypal first-generation “higher level” programming language — and the devising of the BNF (“Backus Naur Form” or “Backus Normal Form”), a formal method for specifying programming-language syntax.

In his 1977 Turing Award lecture, however, Backus stepped away from the world he’d helped shape and asked, “Can Programming Be Liberated from the Von Neumann Style?” It’s a question that gets at fundamentals, at breaking free of founding constraints. It’s like asking whether psychology could be liberated from Freud, or physics from Einstein.

Backus describes the prevalent Von Neumann paradigm of computing:

In its simplest form a von Neumann computer has three parts: a central processing unit (or CPU), a store, and a connecting tube that can tramsit a single word between the CPU and the store (and send an address to the store). I propose to call this tube the von Neumann bottleneck. The task of a program is to change the contents of the store in some major way; when one considers that this task must be accomplished entirely by pumping single words back and forth through the von Neumann bottleneck, the reason for its name becomes clear….

Surely there must be a less primitive way of making big changes in the store than by pushing vast numbers of words nback and forth through the von Neumann bottleneck. Not only is this tube a literal bottleneck for the data traffic of a problem, but, more importantly, it is an intellectual bottleneck that has kept us tied to word-at-a-time thinking instead of encouraging us to think in terms of the larger conceptual units of the task at hand.

(I will pause here to note the presence of that word “tube.” Perhaps Senator Ted Stevens, far from being a techno-rube, was actually a student of Backus.)
[Read more…]

Filed Under: Code Reads, Dreaming in Code, Software

Chevron’s big pile

May 9, 2007 by Scott Rosenberg

The current favored information-overload coping mechanism is exemplified by Gmail: Don’t bother sorting or deleting. Storage space is cheap. Life is too short to take out the info-trash. Just let everything accumulate in one big pile and use tags and search tools to get what you need.

The “one big pile” method has the overwhelming appeal of liberating us from the role of digital janitor. (The principle lies at the heart of David Weinberger’s new book Everything is Miscellaneous — more on that soon, since I’m interviewing Weinberger for Salon.) But our opportunities to employ it remain limited. Gmail lets us treat our email as one big pile. Delicious lets us treat our bookmarks that way; Flickr, our photos.

But the biggest piles of all can be found on our hard disks. And they remain nearly impossible to treat in “big pile” mode. Google Desktop gives us an inkling, but its uses are limited. WinFS was supposed to transform the Windows file system into a Web 2.0-compliant, metadata-rich delight, but it’s vaporware. ITunes relieves us of managing our music files, but that’s just one corner of the personal-data universe.

And if it’s this bad for each of us as individuals, it’s way worse for big companies. Yesterday the Wall Street Journal featured a story by Pui-Wing Tam, titled “Cutting Files Down to Size,” about Chevron’s data-overload problem. The company’s store of office data is growing 60 percent a year; it’s got 1,250 terabytes today.

The article paints an alarmingly rich picture of the company’s problem, but is not nearly so convincing about the solution. Chevron is trying to cut back on document overload by deploying Microsoft’s SharePoint, so that instead of multiplying email attachments, all the people who use a particular document can work off a single copy. That’s just fine, but it can’t begin to be enough. With stuff that’s tagged as lower-priority, Chevron will begin deleting after 90 days. Its new plan “will require a team of 250 staffers and nearly two years.”

The Chevron exec in the article concludes by noting that “Half the battle will be changing people’s behavior.” Good luck. Asking people to do the clerical work of organizing their computer files is a losing battle. Better to try to deploy tools that help them do their work more easily — and maybe get the files organized as a side benefit along the way.
[tags]chevron, information overload, information management, data management, wall street journal[/tags]

Filed Under: Business, Software, Technology

Ambiguity near and far

May 7, 2007 by Scott Rosenberg

In Dreaming in Code I wrote a lot about the difference between ambiguity in programming, where it is often a source of trouble, and in “natural” languages (i.e., English or French or Mandarin), where it is often a source of value.

Jason Kottke points to this fascinating essay by Perl creator Larry Wall, in which Wall distinguished between “local” and “distant” ambiguities:

People thrive on ambiguity, as long as it is quickly resolved. Generally, within a natural language, ambiguity is resolved rapidly using recently spoken words and topics. Pronouns like “it” refer to things that are close by, syntactically speaking. Perl is full of little ambiguities that people never even notice because they’re resolved so rapidly. For instance, many terms and operators in Perl begin with identical characters. Perl resolves them based on whether it’s expecting to see a term or an operator, just as a person would. If you say 1 & 2, it knows that the & is a bitwise AND, but if you say &foo, it knows that you’re calling subroutine “foo”.

In contrast, many strongly typed languages have “distant” ambiguity. C++ is one of the worst in this respect, because you can look at a + b and have no idea at all what the + is doing, let alone where it’s defined. We send people to graduate school to learn to resolve distant ambiguities.

[tags]larry wall, perl, ambiguity, language, natural language, dreaming in code[/tags]

Filed Under: Dreaming in Code, Software

Apple and Brooks’s Law

April 22, 2007 by Scott Rosenberg

Apple recently announced that it had to delay the release of the next version of Mac OS X, Leopard, by a few months — too many developers had to be tossed into the effort to get the new iPhone out the door by its June release. Commenting on the delay, Paul Kedrosky wrote, “Guess what? People apparently just rediscovered that writing software is hard.”

In researching Dreaming in Code, I spent years compiling examples of people making that rediscovery. I’m less obsessive about it these days, but stories like this one still cause a little alarm to ring in my brain. They tend to come in clumps: Recently, there was the Blackberry blackout, caused by a buggy software upgrade; or the Mars Global Surveyor, given up for lost in January, which, the LA Times recently reported, was doomed by a cascading failure started by a single bad command.

Kedrosky suggests the possibility of a Brooks’s Law-style problem on Apple’s hands, if the company has tried to speed up a late iPhone software schedule by redeploying legions of OS X developers onto the project. If that’s the case, then we’d likely see even further slippage from the iPhone project, which would then cause further delays for Leopard.

This is the sort of thing that always seemed to happen at Apple in the early and mid-’90s, and has rarely happened in Steve Jobs Era II. I write “rarely,” not “never,” because I recall this saga of “a Mythical Man Month disaster” on the Aperture team. If the tale is accurate, Apple threw 130 developers at a till-then-20-person team, with predictable painful results. We’ll maintain a Brooks’ Law Watch on Apple as the news continues to unfold.

UPDATE: Welcome, Daring Fireball and Reddit readers! And to respond to one consistent criticism: Sure, iPhone isn’t late yet, but Apple is explicitly saying it needed to add more developers to the project to meet its original deadline. If that all works out dandy, then the Brooks’s Law alarm will turn out to have been unwarranted. Most likely, given Apple’s discipline, the company will ship iPhone, with its software, when it says it will. What we won’t and can’t know is whether, and if so how much, the shipping product has been scaled back. And sure, of course this is all conjecture. Conjecture is what we have, given Apple’s locked-down secrecy.
[tags]apple, leopard, os x, software delays, brooks’s law[/tags]

Filed Under: Dreaming in Code, Software, Technology

Broken Bloglines

April 8, 2007 by Scott Rosenberg

I’ve been happily using Bloglines basically since the service began. It meets my needs in an RSS reader simply and effectively. And RSS reading is now the center of my online information consumption.

I’ve never had a complaint with Bloglines; sure, it goes down for maintenance for a few hours every now and then, but I don’t mind. It is, after all, a free service. And I’d gladly pay a few bucks for a premium service of some kind if they offered one.

About two weeks ago, Bloglines inexplicably “updated” all 100+ of my feeds: in other words, it lost track of my “unread” posts and told me I’d read everything. This was a minor disaster, since my reading of feeds is somewhat sporadic. I know it wasn’t something I did by accident. The mishap followed a “maintenance downtime.” I assume somehow Bloglines lost the data.

I don’t know how widespread the problem was, but I was miffed. I was even more miffed when I couldn’t find anything on Bloglines itself talking about the problem, other than a few lonesome complaints on some sparsely populated support bulletin boards — complaints that had yet to be answered by Bloglines staff.

Under its founding management, the company had done a good job of maintaining its own blog and staying in touch with its customers. Now? If anyone’s minding the shop, there’s no sign. (The “News” thread in the customer support forum has zero posts!)

I returned today from a weeklong vacation and discovered that Bloglines seemed *yet again* to have lost my “unread post” tallies — at least, I’m reasonably sure that Boing Boing has posted more than 12 times in the last week!

Bloglines is now owned by Ask.com which is owned by Barry Diller’s IAC. Maybe that means it’s now just a small cog in a big faceless corporation. But if there are still people working there who care about their customers, it would be nice to hear something about these ongoing problems. And if it’s just me, or me and a small handful of users, then it would be good to know that too! Otherwise, happy as I’ve been with Bloglines, it will be time to start scouting out alternatives.

If other Bloglines users are finding these problems, or if you’ve seen other posts about this (since I’ve been away and now my feed reader’s busted, maybe I missed them!), let me know. I see Jeremy Zawodny recently complained about the service, though not about this particular problem.
[tags]bloglines, rss, feeds, feed readers[/tags]

Filed Under: Personal, Software

John Backus, RIP, and up next in Code Reads

March 20, 2007 by Scott Rosenberg

I was all set to dive into “No Silver Bullet” for the next Code Reads, but given last night’s news of the passing away of John Backus, father of FORTRAN, I thought I would do a quick revision of the plan.

The next Code Reads will focus on Backus’s 1977 Turing lecture, “Can Programming Be Liberated from the von Neumann Style?” It’s full of equations and math notation that, superficially at least, look daunting to this reader — but I will give it a try, and perhaps the collective expertise of all of you will help bolster me in those areas where I falter!

Filed Under: Code Reads, Software, Technology

Leaking entities

March 8, 2007 by Scott Rosenberg

Today’s software is built up in layers, like sedimentary rock that has been accumulating over many generations. In Dreaming in Code I wrote about how sometimes the lower layers poke up through the surface, like angled strata of rock, disturbing the placid interface surface. (This was merely a metaphoric restatement of Joel Spolsky’s Law of Leaky Abstractions.)

Examples of this are all over the place. This morning, for instance, I went to have a look at the new beta of My Yahoo (here’s the TechCrunch report). And here’s what I saw at the top of the page:

Notice the center button. This is, of course, an HTML code or “entity” representing the “non-breaking space”, and it is rearing its ugly little head onto the shiny new AJAX-y fresh My Yahoo screen.

Presumably some designer or developer entered that data long ago, maybe long before anyone ever thought it would end up labeling a button in this environment. Or maybe it was coded consciously that way with the expectation that the HTML data, including the non-breaking space code, would be transformed by the My Yahoo application in such a way that each layer would understand that it was looking at an HTML entity and handle it properly. However it happened, the bug exposes a layer of the software you were never supposed to see.

It’s a tiny bug, to be sure, on the first day of a public beta. It will probably be gone soon. But such “entity” codes have made their way often enough over the years onto Salon’s home page — so I find it a little reassuring that these things happen even to the experienced and well-staffed team at Yahoo.

Filed Under: Dreaming in Code, Software, Technology

Code Reads #8: The Cathedral and the Bazaar

March 3, 2007 by Scott Rosenberg

Code ReadsThis is the eighth edition of Code Reads, a series of discussions of some of the central essays, documents and texts in the history of software. You can go straight to the comments and post something if you like. Here’s the full Code Reads archive.

The Cathedral and the Bazaar, Eric Raymond’s classic essay on open-source software development, is now 10 years old. I first read it soon after its publication. At that time the term “open source” was newly minted, and the movement was in the news chiefly because (a) it seemed to offer a threat to Microsoft, and (b) Netscape, at a late stage of its war with Microsoft, had decided to release its browser code under open-source license. I was editing Salon’s technology section in those days, and one of our central projects was Andrew Leonard’s thorough coverage of the open-source phenomenon. (He interviewed Raymond in early 1998.)

I think it’s fair to say that today CatB (as Raymond and others now call the essay) has proved its importance independent of its place in the long-concluded browser-war saga. I’ve reread it several times over the years since, and each time find something new and valuable.

[Read more…]

Filed Under: Code Reads, Dreaming in Code, Software

Software glitch leads to Dow conundrum

February 27, 2007 by Scott Rosenberg

I was sitting in a long news meeting this morning, laptop in front of me, checking every now and then to see how bad a drubbing the stock market was taking. One minute around noon, West Coast time, I saw that the Dow was down around 250; a few minutes later, somehow, it was down 500. I thought, “Whoa, was there another terrorist attack? Did Alan Greenspan say something? What happened?”

It turns out that what happened was some as yet undefined software problem. As this AP story describes it, the New York Stock Exchange’s systems were falling steadily farther behind all day — in other words, the actual drop in the market was already worse than it was being reported when we thought the Dow was down 250. When the market’s managers realized what was going on, they flipped a backup into place, and suddenly, the backlog cleared — leading to that huge plunge at 3 pm Eastern time.

What’s interesting to me if you look at that chart is, once the drop became known to the market — once the backup system was in place and accurately reporting the deeper plummet — the market actually bounced back to where it thought it had been, even though that wasn’t really where it was. I’m not enough of a stock geek to fully understand this, but it’s fascinating, on some level of paradoxical reasoning.

Whoever said markets were perfect information systems?

UPDATE: Based on Wednesday AM coverage it sounds like the problem was specifically with Dow Jones’ systems, not the general stock exchange systems.
[tags]stock market, dow, software, bugs[/tags]

Filed Under: Business, Software, Technology

« Previous Page
Next Page »