« November 2005 | Main | January 2006 »
December 27, 2005
The Infinte Water Trick
In a recent essay, Paul Graham outlined a bunch of different methods for coming up with new ideas. A particularly intriguing one is the misapplication of metaphors:
Perhaps letting your mind wander is like doodling with ideas. You have certain mental gestures you've learned in your work, and when you're not paying attention, you keep making these same gestures, but somewhat randomly. In effect, you call the same functions on random arguments. That's what a metaphor is: a function applied to an argument of the wrong type.At work one of my "mental gestures" is to constantly analyze each of the repetitive tasks that make up the serving experience for tiny little efficiencies I can find in them (as I've mentioned before). Tonight, during my shift, I became conscious of one of these activities in a very peculiar way. A highly abstracted description of it popped into my head, as if it was presenting itself for the kind of metaphorical application Graham describes only in reverse. It was saying: 'I'm a habit of thought. Use my to solve some unrelated problem!' Thing is: I can't think of an application for it, what it could serve as a metaphor for, what problem it could help solve. So, what I am going to do is to offer it up for you, here, to use as you will. Apply it, misapply it, come up with something new. It's yours! Happy Hanukah:
When setting up a table for a large party, a Pix server is presented with a problem. The two water pitchers we keep by the sink don't hold enough water to fill a lot of glasses, even when taken together. Here's what every other server does: Take one of the pitchers (usually whichever is fullest) and start filling the water glasses. When that first pitcher runs out, the server takes the second one and keeps filling. If there are still unfilled glasses when both pitchers are empty, the server starts to refill the pitchers until there's enough water in them to finish the job. Here's what I do: I take the two pitchers and immediately start to fill whichever of them contains less water. Using the other fuller pitcher, I start pouring glasses of water while keeping an eye on the pitcher in the sink. The moment that pitcher is full, no matter how much water remains in the pitcher in my hand, I switch the pitchers' positions and continue filling glasses. Conversely, if I run out of water in my pitcher, I immediately switch out for the pitcher in the sink no matter how little water has collected in it. By making a switch whenever either of these conditions are met, I am able to pour continuously without any long stops to refill either of my pitchers.
On first glance, this method might seem much less efficient than the one everyone else uses. I have to move a lot more; I'm constantly switching pitchers. But the thing is, the continuous pouring results in the glasses getting filled much faster -- there's no dead time involved (ironically, the advantage is probably greatest when I have to switch pitchers most often which happens when both pitchers are low at the start (since the one in the sink only gets to fill as long as there's water in the pitcher in my hand), in that case, my system can mean that I'm done with a pouring task before some other server would even have started it (since their first move in this situation would likely have been to fill one of the pitchers to full)).
Earlier, I said that I had in mind a highly abstracted version of this process which I think might be applicable as a metaphor to other unrelated problems. So, what is it? What's the structural difference between what I'm doing and what other people do? I'm optimizing the input instead of the output. Where most people focus on the fastest way to get water out of the pitchers (for example, everyone's got their own way of arranging glasses on the trays to make it easier to pour into them without having to move too much or too awkwardly), I focus on getting water into them. By organizing my whole system around its only input, I'm able to make it much more efficient by preventing big breaks in its continuity.
Now, as I said above, this abstracted articulation seems ripe for application. Also it seems valuably orthogonal to normal ways of trying to solve a problem or improve a process: it is intuitive to try to do a thing better by doing it differently, not by changing some wholly other, if related task. If you were forced to apply this logic to some task that you think about a lot what would be the result? What are the inputs to a process you're trying to improve? How full are your water pitchers before you start pouring?
Tagged: graham, pix, patisserie, server, waiter, restaurant, efficiency, metaphorPosted by Greg at 1:40 AM | Comments (0)
December 19, 2005
The World is Pointy: Thomas Friedman's Geometry
Recently, I started reading The World is Flat by acclaimed New York Times columnist Thomas Friedman. Friedman's thesis is that a new phase of globalization has begun, driven by advances in communication technology and the fall of Communism ("Globalization 3.0" he calls it) in which it is becoming logistically possible, and economically mandatory, for any company in any country in the world to compete with any other for each contract and every person with every other person for each job.
Friedman's view is based on first-hand knowledge derived from interviewing various Indian captains of industry, Chinese technology workers, American software experts, etc. It's a relatively convincing framework for understanding the economic changes underlying things as divergent as outsourcing, the formation of the European Union, and the rise of Islamic terrorism.
It's horrifying to find in the book's first chapter, therefore, the horribly sloppy metaphorical reasoning that led him to this conclusion. Friedman's epiphany came after Nandan Nilekani, CEO of Indian tech giant Infosys, told him that the new information infrastructure made it possible for Indian companies to compete against Americans in almost every field: "Tom, the playing field is being leveled," he said. Friedman spun madly off from there:
"What Nandan is saying, I thought, is that the playing field is being flattened. . .Flattened? Flattened? My God, he's telling me the world is flat!"This is just the worst kind of comparative reasoning, less metaphor than pure word association. Now, it's a nifty phrase and it does a lot of work for Friedman, encapsulating the differentiation of this new age of globalization from that begun by Columbus's discovery, as well as the reduction of traditional competitive hierarchies and spatial limitations brought about by the internet revolution. But, all these points strike discordancies with various aspects of the metaphor itself. Most importantly, the paradigm change involved with the round-world theory associated with Columbus had to do with it being easier to get from one place to another on a spherical than a flat world (the theoretical new route to India provided by such a geometry being particular apt in this argument). Also, the technological advances around the internet have been normally seen as eliminating physical space altogether (in favor of a new imagined "cyber" space which we create together) rather than merely "flattening" it.
It's the first of these two points I really want to go after here (I'll come back to the second one at the end). And I want to do it with a mode of argument as removed from (and arguably therefore as unfair to) Friedman's mushy metaphor as possible : the world of hard math.
To start, let's restate Friedman's claim in geometric terms. Here's what I take him to be saying: The average distance between two points on the surface of a sphere is greater than the average distance between two points in a plane. Well, let's look at a sphere and a plane, and get started:
We'll take the sphere first. The farthest apart two points can be on the surface of a sphere is half the circumference of a circular section of that sphere (once you've gone halfway, you start coming back, after all):
z - x = cs / 2where cs is the circumference of the circular section. So, since the distance between two points on the continuous shell of the sphere ranges evenly between zero and half the sphere's circumference, the average distance between any two would be:
cs / 4
Now, let's take the case of the "flat" world (just to simplify things, I'm going to treat the flat version as a two dimensional circle; I know we all tend to pictures planes (and maps) as rectangles, but this keeps the math much simpler. If you think this choice affects the outcome drop me a comment to let me know exactly how, the math there is way beyond me). To make things fair, we'll assume we've flattened the sphere down to a circle with the same radius. The farthest apart two points can be on this circle is its diameter:
z - x = dcAgain, the distance between any two points in the circle ranges evenly between zero and the diameter so the average distance between two points in a circle would be:
dc / 2So, now we can compare our two cases (taking Ms as the mean distance traveled within a sphere and Mc as that within a circle). First to restate, we know:
Mc = dc / 2From some basic laws of geometry we can say:
Ms = cs / 4
cs = 2πrWith this we've got enough to work out a comparison of our average distances:
dc = 2r
Mc = dc / 2and
Mc = r
Ms = cs / 4Since we assumed that both our circle and our sphere have the same radius, we've got our answer:
Ms = 2πr / 4
Ms = (π/2)r
(π/2)r > rimplies (for radii greater than zero):
Ms > McIn other words, the average distance between two points is greater on a sphere than a plane. Or, in terms of Friedman's metaphor, things actually are closer together in a "flat" world than a round one. He was right!
But, in addition to proving Friedman's metaphor accurate in the specifics of this case, this examination also shows just why Friedman, in his sloppiness, misses the bigger trend. It's not that the world has specifically gotten flatter, it's that space, no matter the shape, has become less important. The world has gotten to be less like a sphere, but also less like a flat plane, or even a one-dimensional line (which acts, in terms of the argument above about average distance, exactly like a plane). Instead, the world has gotten to be more like a single point, the "shape" without a shape that remains as the meaningful distance between each point in the world falls to zero. And this space without distance or geometry is exactly the virtual world of "cyberspace": the world where every point in physical space is equally connected and present to every other point regardless of external geometrical (or topographical) boundaries. Of course, this "cyberspace" is not neutral or un-shapely (so to speak), but has its own quirks, politics, and eccentricities.
Where Friedman's argument really starts to breakdown is where he leaves these eccentricities unexamined: his extremely brief gloss on the early and pre-history of the PC, his total lack of a detailed understanding of the meaning and effects of the world-wide dominance attained by Windows 95, and his complete avoidance of the issue of how old Communist-era rivalries have transfered themselves to the digital realm (just to name problems that show up on page 52 of my hard copy version).
Maybe all this means is that we'll get to see a future edition where Friedman admits his mistake. Maybe we'll read about a new epiphany found not at an Indian tech company, but in a virtual world: "What the giant butterfly creature with the computer monitor for a head is saying, I thought, is that it doesn't matter from where you log on, it's the online world that's the point. . .Doesn't matter? The Point? My God, he's telling me the world's not flat, it's pointy!"
Tagged: Friedman, The World Is Flat, globalization, outsourcing, geometry, math, proof, cyberspacePosted by Greg at 3:47 AM | Comments (6)
December 7, 2005
Get Your Spend On: the new T-Shirt-A-Day store
So, after some confusion and delay and indecision, I'm proud to announce the T-Shirt-A-Day CafePress store! After trying out Spreadshirt for awhile, I've switched back over for a couple of reasons. CafePress has better prices, better options for transparent images (which makes for nicer looking shirts), and it generates nicer preview images for the T-Shirt-A-Day blog. So, even though I greatly preferred the Spreadshirt interface (using CafePress often feels like swimming in thick smelly molasses) I just couldn't make the change sustainable.
Right as I type this, I've only got two shirts in the CafePress store, but I'll be transferring the rest over shortly. The two that are in there now are today's shirt and the original black At Dusk snail shirt that started it all (I know one or two of you out there will be excited about that one finally being available). If there are any of the previous designs that you're especially eager to get your hands on (or if you want one of the designs on a different style of shirt) be sure to let me know and I'll get it set right up.
You've got no more excuses now, so get over there now y'all and do some buying!
Note: Besides subscribing to the T-Shirt-A-Day blog you can also track new shirts here by looking at the latest images in my Flickr stream. I always post new shirts there as I design them so keep your eyes peeled.
Tagged: tshirtaday, cafepress, spreadshirt, tshirt, designPosted by Greg at 2:12 AM | Comments (1)
December 6, 2005
Feature Request: Where'd I Put That Darned Link!?!
A couple of days ago, I was doing some research on the web. It was totally run of the mill stuff: opening a bunch of windows each with countless tabs and then jumping back and forth between them in order to compare or capture certain aspects of a bunch of different similar things. In this case, I happened to be trying to find a Ruby class that would help me help with screen scraping (Rubyful Soup turns out to be the best solution, if you're curious), but I might as well have been looking for indie rock music venues in California near universities, the submission email addresses for mp3 blogs that might write about my band, or maps of apartments around town that my shiftless basement-dwelling sub-leaser could rent. We've all done this kind of thing. A lot of us do some task that involves this kind of workflow on a regular basis.
One problem that pops up in a task with this structure is: You're looking at a link. Is it already open in one of those other zillions of tabs marching across any of your quadrillion open windows? And if so, which cotton-pickin' one? Now, your browser will tell you whether or not you've visited the linked page before by changing the color of the link's text, but is that tab still open? And where is it? These are harder questions.
It seems pretty obvious that the browser should help you out here. What are the odds, really, that you want to have the same page open in more than one tab? The default behavior when clicking on a link to a page that's already open should be to bring that open tab to the front. You could probably write an Applescript (or use Greasemonkey if you swing that way) to hack your way to this behavior, but it would certainly be nice if these so-called modern browsers would step up and handle it. If we're going to have a browser war, at least we could get some tasty conveniences out of it!
Tagged: browser, tab, RubyfulSoup, Safari, FirefoxPosted by Greg at 6:30 PM | Comments (0)


