Monthly Archives: May 2009

On Race and Invisibility

In my recent post about a puzzle, I wrote:

The odds are high that you will soon see a domestic servant, who will almost certainly be black, looking for a ride to their home in Harlem.

I should have written:

The odds are high that you will soon see a domestic servant, standing not in the street but on the sidewalk, who will almost certainly be black, looking for a ride to their home in Harlem.

Why on the sidewalk and not in the street?

That’s because black people correctly believe they are invisible to white people, so a black person standing in the street trying to hail a cab risks being killed or maimed when the driver, who may be white, drives right through the place they are standing because he can’t see them.

Let me explain.

Philippe Charles and I worked full-time on Jikes for almost four years. We had time to discuss other issues, especially while waiting as our chief competition, Sun’s javac compiler, slowly made its way through Sun’s large test suite.

I am white and Philippe is black. He was born in Haiti and raised in Brooklyn. He is one of the handful of black Ph.D.’s in computer science in this country. I consider him to be the world expert in parser-generator technology.

As a black man, Philippe is a strong fan of both programming and the internet. No one can tell the color of a programmer by the quality of their code, nor can a reader of a web page determine the color of its author by its content. Programming, especially open-source programming, and the internet are both meritocracies.

The best education I received from Philippe was not about programming, though he is one of the best programmers I have ever worked with, but about what it means to be a black person in America.

My intensive one-to-one education about race in America can be summed up in a single sentence:

Black people KNOW that they are invisible to white people.

For example, Philippe was once stopped by a policeman for the crime of DWB – Driving While Black.

This should come as no surprise. Suppose you were a policeman and observed a car drive by, but you could not see a driver behind the wheel. Wouldn’t you head off in pursuit to stop the car? I know I would.

Philippe was, and is, a very modest person, so from time to time I would urge him to follow my example and be more aggressive in self-promotion. [1]

Later on he told me he saw no point in self-promotion, as it was difficult if not impossible for an invisible person to do so successfully, especially when *all* his managers were white.

He also attended few talks. What was the point? Wouldn’t you find it disruptive to hear the speaker asked a question by someone you could not see?

I recently mentioned to Philippe that, as part of my volunteer work to assist educators and librarians in their vital mission, I hoped to visit a number of large, poor school districts with mainly black students and educators. I suggested he might want to accompany me, to led more credibility to my work. He said he saw no point to this either, for I would still be the most visible spokesperson, as he would be invisible to the other blacks when in the presence of a white person.

Philippe also told me he took particular offence in white people’s acceptance of the views of a well-known black person as being representative of the views of black people as a whole,.

I see his point. Consider Al Sharpton. Knowing that he is invisible yet wanting to achieve public recognition, he has struggled his entire life to achieve visibility.

Mr. Sharpton has not let the truth stand in his way, as demonstrated by his unseemly role in the Tawana Brawley case, in which Mr. Sharpton and two attorneys, Alton H. Maddox and C. Vernon Mason, made false charges against Steven Pagones, then an Assistant District Attorney in nearby Dutchess County, New York. (Maddox was later suspended from the practice of law as a result of his actions.)

The same axiom applies to other minority groups, though in different ways.

For example, Hispanic immigrants are most visible when seen against the green background of a suburban lawn. They are also quite visible to me every morning when I drive to my gym in Mount Kisco, where I see many waiting to be picked up by landscape gardeners. (I said “Buenos Dias” to two of them earlier today.) A fortunate few were picked up by landscape gardeners, who I know will pay them well below minimum wage to tend to lush suburban lawns, lawns whose owners take pride in the hard bargain they can drive when it comes to paying for lawn care.

Asian students, inspired by their parents, know that academic excellence is their best route to achieve visibility, and so are most visible at a graduation ceremony.

Women know they are most visible to men not in the boardroom, but in the bedroom or the kitchen.


1. Boy, am I agressive. My wife Karin can provide more than ample evidence to back up this claim.

On Programming: The Answer To The Dave Shields Hacker’s Challenge

In a recent post, On Programming: The Dave Shields Hacker’s Challenge, I posed the following puzzle:

You are driving a cab on a weekday evening in Manhattan. A few minutes past ten you drop off a fare at the southeast corner of Madison and 74th.

Where do you go next?


I know the puzzle is hard.

Usually when I present it, I start by saying that you are approaching Park Avenue and have to decide whether to go uptown or downtown. Most people guess south, saying you want to head downtown to pick up a fare in the midtown area, but the last place you want to be in Manhattan at 10:30 in the evening is near the theater district in Midtown.

A few have guessed north, figuring the obvious answer is south, but none has made it past that point.

I have received no proposed solution in the several days since I posed the puzzle, so here is the solution:

You turn right onto 74th Street, go east for one block. You then make a left turn to head uptown on Park Avenue

The odds are high that you will soon see a domestic servant, who will almost certainly be black, looking for a ride to their home in Harlem.

If you pick them up, the odds are also high that they will appreciate your offering to drive them home, especially since you are white and they are black.

Since they work hard for every penny they make and know that driving a cab is a tough job, the odds are also high that you will get a good tip.

I also posed a followup puzzle:

If your logic is correct and you get the fare you expect, where do you go after you drop them off?


Hint: The cab you are driving is garaged near 57th and 12th.

Here is the solution:

Since your shift ends at midnight, you want to head south towards Midtown, hoping to pick up a short trip on the way.

You know the lights are synchronized on Second Avenue, so you drive down Second Avenue. [1]

However, if the hour is late, and depending on how tired you feel, you may also turn on the Off Duty sign and take your time. If you are hungry you may also stop at the Belmont diner on 28th before heading to the garage on West 57th. [2]

Few jobs provide a better way to meet a true cross section of society than driving a cab. You never know what you will learn when you pick up a fare. Every ride is an adventure.

For example, I once picked up a fare near 54th and 6th. The fare was woman who was carrying a suitcase. She soon started crying. She told me that she had come home to find her husband in bed with another woman. She had thrown some clothes into a suitcase and was taking the cab to her mother’s apartment in Astoria.

I once picked up a fare going from the West Side to Midtown. We went through Central Park, where the traffic was very light. On learning that I was a Caltech graduate, my fare asked me to stop the cab so he could join me in the front seat, where we discussed physics and mathematics for the rest of the trip.

My favorite story from driving in Manhattan was my very first trip. I had left the garage on 57th Street about 4:30 PM on a warm Friday afternoon. I didn’t have the guts to turn off the “Off Duty” sign until I was near Macy’s on 34th Street. As soon as I turned the light off, the door opened and a black woman literally jumped into the cab. She was carrying several large shopping bags and she asked me to drive her to an address in Bed-Stuy. All I then knew about Bed-Stuy was that it was in the far reaches of Brooklyn and that it had one of the highest crime rates in New York City. But a deal is a deal, so I took out my map and eventually delivered her and her packages to her destination.

I expect that trip led to a family legend, for I’m sure that for years afterwards she told the story of how, while waiting for a cab at rush hour in Midtown, she had the good fortune to successfully hail a cab driven by one of the most naive, dumbest, white people she had ever met, and that she was lucky to have reached home without being involved in a traffic accident.

On weekends, when money was not an urgency, I would from time to time leave Manhattan to cruise the outer boroughs, though I did stay away from Bed-Stuy.

My favorite Brooklyn story is that of an elderly black man who asked me to drive him to “Noshenin Avenue.” I dropped the flag and picked up my map. Unable to locate “Nosnenin” I followed his directions. Once we arrived near our destination, I wandered about aimlessly for a few minutes, until I figured out that “Noshenin” was his way of saying “Nostrand.”

Once while driving down Queens Blvd. with two young women in the back seat, I heard one of them say to the other, “So-and-so is such a name dropper. Really. It is too much. After all, I know Francine LeFrak, and I don’t go around all the time bragging about it.” Samuel LeFrak was then a well-known developer. His wealth was exceeded only by his ego, as evidence by the large complex on Queens Blvd. he named LeFrak City.

My most memorable trip as a passenger in the back seat was a run up CPW. The lights on CPW were not synchronized, so the cab came to a screeching halt every few blocks. As soon as the light turned green, the driver floored the pedal to the metal, and we were soon going about sixty miles per hour, passing some cars within inches.

In spite of this, I felt completely safe. When I complimented the driver on his skills, he said he only drove a cab part time. His real job was as a stock car racer, and he had a NASCAR license to prove it.

The education you get from driving a cab is not without cost. To have a job where tipping is an important part makes you appreciate the importance of tips.

Micawber’s Principle applies to driving a cab.[3] To get a dollar when you expect a quarter will make your shift. To get a dollar after driving a fare from JFK to Midtown will ruin your day.

I made less money during my cabdriver days than the increased amount of tips I have since paid out, but I have never regretted tipping handsomely.

The main lesson I took away from my cabdriving days was as simple as it is profound. I found the average New Yorker to be a much better person than most folks would expect. This is true in general, for people are all much the same: richer or poorer, in health or in sickness, happy or sad.

Except for “richer or poorer,” for I found the richer the fare, the scanter the tip, and vice versa.


1. I drove into Manhattan two weeks ago to attend a meeting of the Python User Group that meets in Greenwich Village. Coming from the north, I took the Deegan to the 3rd Ave Bridge and headed down Second. Second Ave. is a good barometer of New York traffic. If things are bad on Second, they are bad everywhere else, so it is as good a route as any. Traffic was bad, but once I got past the 59th Street Bridge the speed picked up, and I also got to enjoy a minitour of the East Village before turning right on Houston.

It was fun to see that Gem Spa, a landmark of the East Village, is still in business forty years after I last partook of one of their great Egg Creams. Sadly, though I knew Ratner’s closed many years ago, I saw no kosher dairy restaurant. East Seventh still houses many Indian restaurants.

I took some pictures and video on my drive down Second, and will post them when time permits.

2. Many people think that parking lots full of taxis or trucks are a good barometer of the quality of a diner’s food. Though the Belmont had good food, cab drivers and truckers are more concerned with finding a parking place than the quality of the food. For example, my daughter Alison, who drove long-haul cross country for several years, met her husband Bruce at a truck stop in the Atlanta area. They live not far from Atlanta today.

3. See Wilkins Micawber:

“Annual income twenty pounds, annual expenditure nineteen pounds nineteen and six, result happiness. Annual income twenty pounds, annual expenditure twenty pounds ought and six, result misery.”

.The principle is even more memorable if first heard — as I did as a child — spoken by W. C. Fields, in the classic movie The Personal History, Adventures, Experience, & Observation of David Copperfield the Younger

On Libraries: Every Open Source Developer Is Both An Author And A Librarian

I am running for election to the Board of Directors of the Library in Chappaqua, New York, where I have lived for almost twenty-two years.

I will carry out my campaign mainly via this blog. I have written many posts in the past about libraries and librarians, and will try to focus on this topic for at least the next few days.

I am also busy trying to get a project called “spitbol” off the ground. You can find its web site at Google Code, Spitbol Project. Spitbol is a software program. It is “open source” in that the source code is available to anyone for the taking, at no cost.

Working on both these projects at the same time has been given me new insight into both libraries and open source.

For example, as an author of this kind of software I am known as an “open source developer.” We developers collect each set of related files into collections called “packages.” Individuals, groups, or, in some cases, companies, aggregate these packages into what are called “distributions,” or more colloquially, “distros.” Red Hat is an example of a distribution, as is SuSe. Debian is a distro created by open source developers that is also used as the base for Ubuntu, a widely-used distribution that has developed an extraordinary community of supporters, advocates, and experts.

That is the accepted view. Here is my view as an amateur librarian.

Every developer is an author producing copyrighted work that is available at no charge.

Every package is a “book” in what I have previously termed the “open source artifact.”

Most developers base their packages on prior art, and they often include parts of other packages in their new packages. This is not allowed in conventional publications, but is a matter of course when preparing a software package, due to the way in which these packages are licensed.

Developers are thus, for the most part, both authors and librarians.

Every distribution is a library of science, specializing in The Art of Programming. Those who create these libraries become librarians when they do so.

I have previously noted that the Internet is the largest library mankind has yet assembled, and that Google is its librarian.

From a developer’s point of view, the Internet is primarily a programming tool, the most powerful tool to assist in creating software yet created. The Internet is the ultimate “development environment,” for it has enabled global distribution, sharing, and collaboration in the writing of software in a way that no one thought possible less than forty years ago.

As a resi;t. the deepest body of knowledge that has been assembled on the Internet is about open source. Moreover, because of the unique role of software, that knowledge, and the library of which it is a part, is worth hundreds of billions of dollars.

This is not just about programmers.

For example, I use the services of a company called to write this blog. So do hundreds of thousands of others. WordPress does not charge for the use of its services, and all the content is freely available. In just a few years WordPress has assembled the largest collection of personal memoirs mankind has yet created.

Facebook is the “family album” of the global community. Almost two hundred thousand people join Facebook each and every day. The community now has well over a hundred million members.

That “family album” is thus the largest yet assembled.

The same argument applies to Twitter. It has assembled the largest collection of short informal conversations yet produced. Their library grows by millions of short notes each and every day.

We are only now coming to appreciate that the Internet and its associated technologies have created new kinds of authors, of forms of writing, and of the cataloging of writing that is the work of our librarians.

How to deal with these problems is an issue I find as daunting as it is engrossing

This is the main reason I am running for the Library Board, so I can work on these problems with not just developers and educators, but with librarians themselves.

On Programming: The Best Epigram on the Slowness of Software I Have Yet Heard

Some software programs are slow, dreadfully so.

Booting up Vista is a case in point. I recall that booting up a Xerox “star” workstation could take over twenty minutes. Early versions of IBM’s risc system running AIX were also as slow as molasses. [1]

Steve Johnson is the author of the following comment about an IBM operating system:

“Using TSO is like kicking a dead whale down the beach.”

My own candidate is due to Jay Earley. During one day in the early 70’s he spoke on his work as part of a small team that had created a timesharing system that was developed at Berkeley. He said the system response time had been very slow, and that much work had gone into improving it. The response time is the interval between entering a command and getting some kind of response from the system.

“Jay Earley: We halved the response time every week for six months, and the system was STILL too slow to be usable.”

Jay is best known as the creator of the “nodal spans” parsing algorithm.

During my years with Jack Schwartz he gave high praise to only a few algorithms. Whenever we discussed parsing, he would always mention nodal spans, though I can’t recall his exact words.

Jay left computing a few years later to pursue a career in another field.


1. I once read every issue of Reader’s Digest published from 1917 to about 1958. My favorite article was about the bursting of a giant tank filled with molasses that flooded several blocks of downtown Boston.

On Ubuntu: Some Examples of the Use of The Web to Answer Questions About Ubuntu and Linux

Here is a list of some of the search phrases that have brought views of this blog today. Each list entry gives the search string and the number of views:

  1. building a computer to run ubuntu 6
  2. build your own linux computer 4
  3. best browser for ubuntu 3
  4. remove all java from ubuntu 2
  5. best browsers for ubuntu 2
  6. best ubuntu browser 2
  7. leigh anne tuohy 2
  8. geforce 6100sm manual 2
  9. ubuntu kodak camera
  10. uniicomp keyboard 1
  11. juploadr ubuntu 1
  12. ubuntu compatible motherboards
  13. intel 845gl ubuntu driver 1
  14. intel 845g ubuntu
  15. how do i build my own ubuntu computer 1
  16. juploadr ubuntu 1
  17. My favorite is, of course, #4.

Note that most of the searches were to learn about Ubuntu, or as part of a search to answer a question about Ubuntu. For example, the Intel 845 chip and a GEFORCE motherboard are among the components I have used in the two desktop computers I have built to run Ubuntu Linux. Each cost no more than $250.

Needless to say, there was no charge for the software that I installed on them — not one penny. WIndows XP runs about $100 a copy these days, which would have increased the cost of either machine by forty per cent.

The above list is just for today. Here are the results for all searches to date that resulted in more than one hundred views:

  1. leigh anne tuohy 4,859
  2. leigh ann tuohy 1,040
  3. twiters 773
  4. ubuntu computer 692
  5. lotus symphony ubuntu 459
  6. kyu chay 453
  7. brief history of operating system 451
  8. juploadr ubuntu 345
  9. kenken solver 326
  10. norman salsitz 323
  11. fadwa hamdan 311
  12. ubuntu java version 273
  13. symphony ubuntu 262
  14. build your own linux computer 229
  15. “leigh anne tuohy” 228
  16. ubuntu compatible motherboards 218
  17. me tube 216
  18. ubuntu mount flash drive 204
  19. ubuntu t60 183
  20. ooxml specification 169
  21. ubuntu lotus symphony 164
  22. ubuntu intel 845 161
  23. 100 dollar computer 155
  24. xo ubuntu 154
  25. leigh anne tuohy picture 153
  26. build ubuntu computer 147
  27. ubuntu motherboards 146
  28. annus terribilis 146
  29. intel 845 ubuntu 144
  30. build linux computer 141
  31. intel 845g ubuntu 138
  32. laptop xo 132
  33. mount flash drive ubuntu 126
  34. david shields 123
  35. ubuntu motherboard 123
  36. ubuntu compatible motherboard 121
  37. a brief history of operating system 119
  38. ubuntu on xo 119
  39. ubuntu motherboard compatibility 118
  40. building a linux computer 118
  41. ubuntu access usb drive 117
  42. ubuntu mount usb flash 116
  43. why do we need to communicate 107
  44. build a linux computer 105
  45. best browser for ubuntu 104
  46. ooxml spec 103
  47. ubuntu kvm switch 102
  48. leigh anne touhy 101
  49. history of operating systems 101

These lists are yet another demonstration that the most important words in a blog post are the ones in the title. Those words determine if people will be drawn to the post, and hopefully then read it.

The one that means the most to me is, of course, #6, “kyu hyuk chay,” though this is moderated by my knowledge that, while I have written several posts about him, only a handful of posts by others make mention of his name.

Note again the predominance of “ubuntu,” This is by design, for I attach high priority to promoting Ubuntu. Every title that contains “ubuntu” also contains “linux,” and vice versa.

#3 is evidence that, while twitter may claim ownership of “twitter,” I’ve got “twiter” in my pocket.

#1 and #2 are about Leigh Ann Tuohy, one of my favorite people in the world. Ms. Tuohy made the most perceptive remark about money I have heard in the last decade:

God gives people money to see how you’re going to handle it.

Her observation is the source of this blog’s motto:

WordPress gave me a blog to see how I was going to handle it

Ms. Tuohy is the adoptive mother of Michael Oher, my favorite football player. He is the reason I am now a die-hard fan of the Baltimore Ravens.

On Programming: SPITBOL Project Plan

The goals of the spitbol project are to produce the following, in the order listed:

1. A port of SPITBOL to amd 64-bit, using 16 bit characters to allow the support for Unicode.

2. A Python module that will provide run-time access to SPITBOL. For example, to allow the invocation in procedural form to allow the compilation and/or execution of a SPITBOL program, including the use of SPITBOL’s “save” feature.

3. A port to LLVM. This will essentially solve the SPITBOL porting problem, as it should then be even easier to port SPITBOL to an architecture supported by LLVM, and there are already lots of them.

4. A port, tentatively named “teebol,” to allow the use of SPITBOL in cell phones such as the iPhone and Android. By providing access to SPITBOL’s power, this will enable the creation of a whole new class of applications for these devices, as well as other embedded devices.

These projects will not be difficult, and we invite any interested party to join us in this work.

All work will be carried out at Google Code as part of the spitbol project.

No language provides more fun and amusement when programming in it than SPITBOL, and we will attempt to provide lots of fun to those who help us as we work together.

On Programming and Programmers: The New People Of The Book

I learned recently that Muslims refer to both Christians and Jews as the “people of the book.” The book is the BIble.

Most programmers are now also people of the book, but of a different kind of book.

I’m preparing a talk on the lost art of programming in assembly language. As part of my talk I’m writing a Python program to serve as a simple test of Python performance.

In order to test numerical performance I decided to code two random number generators: one using floating point, the other integers.

I knew the algorithms involved, but didn’t recall some of the constants that are needed, as the poor choice of a constant can yield a bad result.

So I asked our friends as Google to look up “floating point random number generator in python” and “integer random number generator in python.”

Guess what I got? Reference after reference not to the algorithms, but to the calling sequence for various random number generators in Python’s vast library. Some folks were so proud they could find the Python reference manual on the web that they wrote blogs posts about it, when a simple search at would suffice.


Do most programmers no longer think?

Is an algorithm just a calling sequence?

Do most programmers have any idea how the most basic algorithms work?

Do they know the use of Taylor series? Newton’s method?

I doubt it.

I once did, and still remember much of what I learned several decades ago.

Believe me, I fully appreciate the value of libraries. I wrote most of the runtime libraries for LITTLE, the implementation language for SETL. I also wrote much of the runtime library code for several implementations of SETL. I also wrote the runtime for SPITBOL 6000, the port of Robert Dewar’s MINIMAL implementation of MACRO SPITBOL.

How many of today’s programmers have written the runtimes for a compiler, or other large piece of software?

The part I find most scary is what must be the near total ignorance of how floating point arithmetic works, and the limitations. For example, computations involving very small values occur in a strange universe where the change of a single bit in a 64-bit word can have dramatic consequences.

Even the people who build chips to do floating point arithmetic can make errors. See for example Pentium FDIV bug. [1]

Flawed computations used to make real-world decisions can have a profound impact. See for example The Urban Legend of the Upside-Down F16, with mention of an error in an early version of Microsoft’s Flight Simulator. See also Ariene 5 Failure, about how a software error caused a rocket to blow up.

I couldn’t find a floating-point generator easily so I decided to computer some Mandelbrot numbers instead.

I’ll publish the benchmark when it’s done, hopefully before I give the talk this coming Wednesday.

On Programming: The Dave Shields Hacker’s Challenge

In response to my recent post, On Programming and David Corbin’s Challenge: “I defy anyone to pick a hardware platform, and programming language; then provide a small (one page) sample of code, and be able to COMPLETELY describe what happens when the code executes.”, David Corbin, the creator of the Corbin Challenge, just sent me the following note via LinkedIN:

I have posted both on linked in, and in more depth on your first blog entry.

The entire point of the challenge (both when given to me over thrity years ago and when I issue it to others) is to start one thinking about the difference between relevant and insignificant material. Especially in the context where different situations may completely change what is relevant and/or significant; even if the “thing” (in this case code) does not change at all…..

This has prompted me to publish my own challenge. I thought of it several years ago, and last gave it to someone two days ago. No one has yet answered it correctly. It is based on the several months I spent during 1969-1970 driving a cab part time in New York City.

I paid my way through graduate school by working as a consulting programmer. I needed to prepare for the preliminary oral exams for the Ph.D. degree in May 1970, and was at least smart enough to know that I could not both program and study mathematics so intensely at the same time. Programming was too engrossing.

The most memorable night was the day the Mets won the World Series. The streets instantly filled with happy fans.

Here then the challenge, based on my own experience:

You are driving a cab on a weekday evening in Manhattan. A few minutes past ten you drop off a fare at the southeast corner of Madison and 74th.

Where do you go next?


Reply by comment. I will respond to the first person who posts the correct answer.

Here is a followup question:

If your logic is correct and you get the fare you expect, where do you go after you drop them off?


Hint: The cab you are driving is garaged near 57th and 12th. [1]


1. Redmonk’s Steve O’Grady once lived in this neighborhood.

A few years ago, while driving west on 57th near 11th Avenue, we noticed someone in distress on the sidewalk. We stopped the car, and soon learned that someone had had a heart attack, My daughter Jen adminstered mouth-to-mouth resuscitation until an ambulance arrived.

While driving west on 57th I once saw an elderly woman emerge from an apartment building wearing a jogging set. She turned west, and sped off toward the corner. As soon as she crossed the nearest avenue, she turned right and then ran into the nearest bar. This was long before Steve lived in the area, but if the time had been right he might have been in that pub.

  • Pages

  • May 2009
    M T W T F S S
  • RSS The Wayward Word Press

  • Recent Comments

    daveshields on SPITBOL for OSX is now av…
    Russ Urquhart on SPITBOL for OSX is now av…
    Sahana’s Respo… on A brief history of Sahana by S…
    Sahana’s Respo… on A brief history of Sahana by S…
    James Murray on On being the maintainer, sole…
  • Archives

  • Blog Stats

  • Top Posts

  • Top Rated

  • Recent Posts

  • Archives

  • Top Rated