Archives for Technology

The onset of technology as the driving force of history (according to Henry Adams)

12 July 2008
"Education ran riot at Chicago, at least for retarded minds which had never faced in concrete form so many matters of which they were ignorant. Men who knew nothing whatever – who had never run a steam engine, the simplest of forces – who had never put their hands on a lever – had never touched an electric battery – never talked through a telephone, and had not the shadow of a notion what amount of force was meant by a watt or an ampère or an erg, or any other term of measurement introduced within a hundred years – had no choice but to sit down on the steps and brood as they had never brooded on the benches of Harvard College, either as student or professor, aghast at what they had said and done in all these years, and still more ashamed of the childlike ignorance and babbling futility of the society that let them say and do it. The historical mind can think only in historical processes, and probably this was the first time since historians existed, that any of them had sat down helpless before a mechanical sequence. Before a metaphysical or a theological or a political sequence, most historians had felt helpless, but the single clue to which they had hitherto trusted was the unity of natural force." —The Education of Henry Adams.

The Impact of Culture on Technology: A Case Study from Lewis Mumford

10 February 2008

In a refreshing inversion of more recent writings of the effects of technology on the culture of cities (e.g. this piece in which Adam Greenfield contemplates the deleterious effects of laptops on the conviviality of coffeehouses), Lewis Mumford offers the following illustration of the effect of urban form (here, suburbia) on the nature of technology:

With direct contact and face-to-face association inhibited as far as possible, all knowledge and direction can be monopolized by central agents and conveyed through guarded channels, too costly to be utilized by small groups or private individuals. To exercise free speech in such a scattered, dissociated community, one must 'buy time' on the air or 'buy space' in the newspaper. Each member of Suburbia becomes imprisoned by the very separation that he has prized; he is fed through a narrow opening: a telephone line, a radio band, a television circuit. (The City in History, 1961, pp. 512-13)

Here, perhaps, we get a glimpse of the preconditions for the industrial information economy that is given such a drubbing in Yochai Benkler's The Wealth of Networks. Had we maintained - in lieu of suburbia - a pattern of urban form that provided the individual with the opportunity for first-hand participation in the substance of society, would we have been needed the palliative of a corporate mass media? Mumford's example reminds us that in the course of our meditations on the impact of technology, we need always recall the social and environmental contexts that gave rise to those technologies, and to consider the related significance of both for the nature of our lives.

The Impact of Technology on Culture: A Case Study from Eric Gill

25 December 2007

“Up to the industrial revolution, as in Greece and Rome, however servile the condition of the labourer, he was at any rate a human being.

“And in the absence of miles of cheap drawing paper, architects, much against their wills no doubt, had to rely on the workmen as being possessed of a considerable deal of knowledge, initiative, sensibility, and responsibility.

“You had to leave a certain amount of responsibility to the workman simply because you couldn't draw everything out on paper.

“You couldn't draw everything simply because there wasn't paper enough.

“Rolls of ‘detail paper’ didn't exist!”

From: “Sculpture on Machine-Made Buildings”, 1936 (in It All Goes Together: Selected Essays by Eric Gill, 1944).

Crazy Cable

27 May 2005

How'd you like one of these plugged into your Wiring board?


From the oqo “ultra personal” Windows XP machine.

Recovering the Windows Registry

23 December 2004

Some advice in case you find yourself with the great good fortune of a corrupted Windows registry, indicated by the following message on startup:

Windows XP could not start because the following file is missing or corrupt: \WINDOWS\SYSTEM32\CONFIG\SYSTEM

There is an official Microsoft solution, but, as usual, it's incomplete. In particular, note that the warning not to use this procedure if “your computer has an OEM-installed operating system” has no alternate suggestion. Don't worry, the advice below should work whether or not your operating system was installed by the “original equipment manufacturer”, also known as the company that made your computer (e.g., Dell, Compaq).

First, some terminology. The Windows registry stores configuration information for Windows and the rest of the software on your computer, along with user accounts and other important data. It is kept in these so-called “registry hives”:

  • c:\windows\system32\config\system
  • c:\windows\system32\config\software
  • c:\windows\system32\config\sam
  • c:\windows\system32\config\security
  • c:\windows\system32\config\default

An initial backup copy of these files is found in c:\windows\repair, and regular snapshots are saved to C:\System Volume Information. To repair your computer, you must replace the current, corrupt registry “hives” with the initial backups, which restores enough functionality to enable recovery from a more recent snapshot.

But there's a catch or two. Following the previously mentioned official instructions unaltered will likely leave you worse off than you started. After booting from the Windows CD and launching the recovery console, restoring the registry from c:\windows\repair will overwrite all the user names and passwords on your computer. So that upon rebooting as directed in step two, you'll find yourself unable to login to your computer.

Here are two alternatives that may prevent this and allow you to successively repair your computer. The first is simpler, but I haven't tried it. Instead of all five of the files listed in step one of the Microsoft instructions, try copying only SYSTEM, or all the files except for SAM. This should leave your user names and passwords unchanged, allowing you to reboot, login to your computer, and follow the rest of the directions.

What I did instead was to copy all five registry files from c:\windows\repair and then use this utility for resetting Windows password. Burn it to CD and boot from that CD to reset the Administrator password between steps one and two of the Microsoft instructions. You'll then be able to log back into your system and access a more recent snapshot of your registry.

If, as in my case, the only working computer you can access is a Mac, you need to burn the password utility ISO CD image using the Disk Utility, not the finder. Otherwise, the other computer won't boot from the resultant CD. Disk Utility is in Applications:Utilities and you'll have to open the ISO image from the Open item in the Images menu.

This complicated process leaves me wondering why Microsoft doesn't allow access to your recent registry snapshots from the recovery console. Imagine how (relatively) easy it would be if the Windows CD offered a graphical utility to allow you to pick a registry snapshot by date, copy over the current one, and reboot. My mom might be able to do it. Is there some obtuse reason for believing that access to old copies of the registry is more of a security risk than access to the current registry? Or is this just an oversight? In any case, I hope that you and I won't have to restore another Windows registry anytime soon.

Open Cygwin (Bash) Shell Here

24 June 2004

Installing this registry file allows you to right-click on a folder or drive and open a bash shell there. Works with UNC network paths (\\machinename\share), which I've seen similar registry hacks choke on.

Windows Registry Editor Version 5.00

@="Open Bash Shell Here"

@="c:\\cygwin\\bin\\bash.exe --login -i -c 'cd \"`cygpath \"$*\"`\";bash' bash %L"

@="Open Bash Shell Here"

@="c:\\cygwin\\bin\\bash.exe --login -i -c 'cd \"`cygpath \"$*\"`\";bash' bash %L" :: location-based social software for mobile devices

Generate RSS feeds from a Google news search.

Feedster: a search engine for RSS feeds.

XHTML Friends Network: a standard for encoding personal relationships in hyperlinks. (cf. FOAF)

Hierarchy of Information

15 May 2004

All information can be divided, from an individual's perspective, into four levels (in order of decreasing access and increasing size): cache, bookcase, archive, and universe. Every sort of information – names and addresses, books, documents (physical and electronic), web bookmarks, etc. – fits this scheme with minimal shoehorning. Unfortunately, software often neglects support for one of these categories, making it difficult for us to find or use information in the ways we are used to. Let's examine each of these levels in turn.

The cache is a collection of our most frequently accessed items of information, usually between five and a dozen items. These are the things we're using at any given time, and include such examples as the reports on our desk, the documents in our Windows toolbar, the programs on our desktop (or our quick launch shortcuts), the phone numbers in our speed dial, the books on our bedside table. We do not usually select these items consciously, but guide their accumulation in the course of our activity. Their usefulness is dimished when they must be chosen deliberately, thus preventing them from changing often enough to be relevant, or when they are selected automatically, and therefore only a listing of the last things we have touched, and not the ones we still need. The Windows 95 version of the start menu suffered from the first flaw, the my recent documents collection from the second. Whereas the surface of our desk accumulates the papers we're working with, but without retaining the newspaper we have read in the morning or bill we've paid and disposed of. Still, increasing amounts of software are designed with support for this level of information, and we seem to have acknowledged its importance.

The bookshelf holds things you might not need today, but want to be able to see at a glance and as a whole. Though organized, it is not hierarchally arranged and doesn't require explicit categorization. This is the level of information that computers support least. If something's not in your cache, you're forced to hunt through nested folders to find, a long and frustrating process. One place this level does appear is in the inboxes of many people's email programs. Every email appears in a single list, already organized by date and sender, without any effort by the user. Another example is the desktop of many computer users, littered with the programs and documents they use often or have just downloaded. Rather than viewing this as an abuse of the desktop, we need to recognize the need for this type of information view, and support it. Why, for example, such every Microsoft Word document bear the same icon, regardless of its size, content, or use? How can we add more visual coherence and information to the desktop? A third example of a bookshelf, better designed than the desktop, is Google news, with all the day's top stories arranged on one page, arranged in categories but viewable as a whole.

The archive is any collection of information controlled by a single entity. At this level of complexity, the information requires explicit organization and devoted activity. Formal search tools become useful. Examples include all the files (or just the documents) on your computer, the Library of Congress, or the entire website of the New York Times. Archives are the traditional computer model of information and the best supported. Computers don't, however, aid in the transition from a bookshelf to an archive, and anyone who's attempted the task knows that it involves hours of renaming files, creating folders, and entering metadata. If the computer understood bookshelves, it could formalize the implicit categorizations that underlie them and automatically generate an archive. This need not happen all at once. Items on a bookshelf that were often used together could be grouped, and the user could then name the group or add other items to it. Until the information became an archive, however, the groups would be displayed in a single page and not require the same hierachal navigation as an archive or a file system.

The universe is all information in an area, controlled by a variety of authorities, and accessed in diverse ways. This is what Google is so good at helping you search. But there's still a lot of information that goes unindexed. Search for the deep web or see this Salon article for more information. Also, note that today's software does little to integrate the information universe.

That was much more than I had intended to write. This post started as a single thought that required a few hours to record. Does it make sense? Are there any good examples that I missed? Any counterexamples? Anyone who's done real research or writing on this topic?

Alan Cooper, The Inmates are Running the Asylum

21 March 2004

It is ironic that a book so concerned with the quality of a person's experience should be so callous with that of its reader's. This is one of the ugliest books I've read. A team of thirteen (including an “interior designer” and two “layout technicians”) couldn't keep endorsements from covering both sides of the fly-leaf and the illustrations from looking like clip-art. Cooper claims his illustrator “did a remarkable job”, but his art directors would have done well to omit those images entirely.

No book in recent memory has inspired so many growls and groans. Cooper presents some useful information, but that doesn't redeem his work any more than a hodgepodge of features can save the computer programs Cooper excoriates. Why must using a computer make us feel stupid?, Cooper demands. Well, why should reading a book make us so angry?

Aesthetics aside, The Inmates are Running the Asylum was an insightful read. Cooper believes that software development has been run by programmers, on behalf of computers, for too long. It is time for designers to take over, on behalf of humanity. He's right, of course. As a programmer, I know how easy it is to start writing code before considering what the program has to do, much less what the user hopes to accomplish.

To save you the annoyance of reading this book, here are the main points of the book (Cooper repeats himself often, so there aren't many of them). First, computers should let people get some work done in a pleasant way. Second, programs need to be designed before they're written, by someone who does nothing else. Third, those designers should create personas representing typical users, their backgrounds, and their goals. Fourth, this process should suggest the crucial features of a program, which should be focused on to the exclusion of boundary cases. Fifth, there are numbers between one and infinity: that is, an interface to select from 30 options can simply list them, instead of imposing the hiererarchical format that might be necessary for hundreds or thousands of options.

Altogether, a few useful steps that could dramatically improve the usability and pleasantness of most software. Cooper's descriptions of products his firm designed excellenty illustrate his points. It's a shame there aren't more of them. Maybe if he'd been more attentive to his reader's personal goals, a few of the worthless images of bland-looking people would have been replaced with screenshots from well-designed programs. And maybe then I could recommend this book to others.

Leap Month

06 March 2004

Amazingly, one of the best descriptions I've found of the Hebrew calendar comes from Microsoft's .NET Framework documentation. The month names are even given in Hebrew characters (and real characters, too, not images). If only anything else in that massive reference were anywhere near as useful.

You did know that the Hebrew calendar has a leap month 7 out of every 19 years, didn't you? Apparently, the length of the year was calculated with great precision using lunar eclipses, and the unusual calendar thus derived is extremely accurate. Or so says my uncle, though he also claims that I was born on February 29th. But better that than the first of אדר ב.

Human Computers

22 February 2004

In The Inmates are Running the Asylum, Alan Cooper talks about the need to make computers more like people. This is, in general, a difficult and complex problem. I believe, however, that if a computer could gauge your openness to interruption, it could make specific changes to its behavior in ways that would mirror the response of a person.

For example, notification of available upgrades should be postponed until the user is open to distraction, as should requests for configuration, and even the assigning of file names. Programs are getting better about not interrupting us, but sometimes this means that important tasks are postponed indefinitely. If the computer were more human, it might ask us to deal with administrative details at scheduled times, or when we seem to have a few minutes free, the same way a co-worker or secretary might.

Probably the biggest interruption on the computer is instant messaging. A lot of people have talked about the need for a central console for all computer-based communication, so I'll just add a quick point. IM programs should show you who's messaging and (approximately) what they want without popping up a dialog box or flashing anything. This would allow you to finish your current thought in the same way as when a person walks up and waits for you to give him your attention.

The tought part is figuring out your current tolerance for interruption. Failing a good algorithm, a postonement ability should be added to more interactions. Right now, we're forced to deal with interruptions on the computer because we can't put them off. A person can always come back later, but we don't have the option to wait to name files, or to be reminded later about an email we need to answer. How about a word processor that always saves our documents and lets us name them when we want (or when we create them)? Or an email program that lets us ask it to resend us an email in an hour, or at the end of the day? Natural language understanding may be a long way off, but there are little things than could make computers more human now.

A4 vs. Letter

04 December 2003

Ever had a LaTeX document print off-center or with missing the top inch or so? I've had this problem every time I run LaTeX on a Linux box, and I only just figured out why.

By default, LaTeX formats documents for a standard U.S. letter page (8.5 by 11 inches). Unfortunately, some or all Linux installations of dvips default to A4 paper (210 by 297 millimeters or 8.27 by 11.69 inches). Thus, your text block is sized to fit one type of page, but placed (electronically at least) on another. This gives a bigger bottom margin and smaller right margin. When you print your postscript file, the bottom of your document is aligned with the bottom of the paper, cutting off the top. The left sides are also aligned, giving the correct margin on the right even though the postscript was wrong. The documents generated with pdflatex also default to A4, giving a PDF of the wrong size. Adobe Acrobat, however, usually centers your document on the page and shrinks it to fit your paper, so the printout looks reasonable.

To fix dvips, edit /usr/share/texmf/dvips/config/ and comment out the following lines:

@ A4size 210mm 297mm
@+ %%PaperSize: A4

That is, add a % to the start of each line, so that they read:

% @ A4size 210mm 297mm
% @+ %%PaperSize: A4

Alternatively you can run dvips -t letter.

For pdflatex, edit /usr/share/texmf/pdftex/config/pdftex.cfg and change:

page_width 210truemm
page_height 297truemm


page_width 8.5truein
page_height 11truein

Alternatively, you can add these lines to your document:


but this only works when running pdflatex, as latex will complain that pdfpagewidht and pdfpagelength are undefined.

Also, you might wonder why the standard U.S. paper size is 8.5 by 11 inches. Or why A4 paper has the ratio it does (1 to the square root of 2).