I am working my way through Mark Lutz’s Programming Python (4th ed., section “Step 1: Representing Records”). The example seeks to explain different types of records, by building a database of employees, both in form of lists and of dictionaries. And I think I found Uncle Tom, or at least a very curious Tom in the employee class.
In most examples, the two sample employees are named Bob and Sue, they work in technology, software and hardware, and Sue is paid better than Bob, always. Except, of a sudden, another “employee” appears. His name is ‘Tom’, and his data is used to illustrate the append and extend function for lists.
people.append(['Tom', 50, 0, None])
Compare to the original examples of people, Bob and Sue:
['Bob Smith', 42, 30000, 'software'] ['Sue Jones', 45, 50000.0, 'hardware']
What these records mean is that one person named Bob Smith, age 42, earns $30,000, and has software as his job title; Sue Jones, age 45, earns $50,000, and has hardware as her job title. They are both people. (Note: Please excuse the salary numbers as both integers and floats, the choice of lists to represent data when other forms like dictionaries could do so better. That is kind of the point, and all of these matters are addressed soon.)
When another person is appended to the people set, his name is ‘Tom” (he has no last name), his age is 50, his salary is $0, and his job has no formal description, None. In one sense he’s appended to the set of “people” too, but he does no really fit (probably because the “None” category will come back later to haunt us).
Lutz has a footnote to software developer Bob, which says “the world is stranger than it seems,” because Lutz met a software developer when teaching a Python course, whose age and job description were described perfectly by the fictitious Bob. He can add another addendum to his note, that his fictitious Tom happens to match strangely the most famous fictitious slave in American culture, the stereotypical slave Uncle Tom, who is always about 50 years old in the American cultural imaginary, who gets paid “0,” and has the job title very close to “None,” a non-person, a nihil, a nothing.
Tom (no last name) rejoins Bob Smith and Sue Jones in the people crew for the example of the dictionary version of the same set of data:
db['tom'] = dict(name='Tom', age=50, job=None, pay=0)
Still no last name. Still no pay. Still aged 50. Still “None” as his job. Whereas in other two cases (Sue Jones and Bob Smith), there is more effort to simulate reasonable data, there’s no effort with throw-away Tom. He has no reason for being here in sense of being paid: he just is. I think it’s supposed to be a joke.
There’s another joke, but it’s far more insistent. Sue Jones, who is older and works in hardware, is paid better than the younger male Bob Smith, who works in software. That is, this joke is really insistent, repeated over and over, so you can’t miss the intimation that a woman getting paid more than a man is… kind of funny perhaps? Tom, by contrast, just floats in and floats out, being a nothing, a throw-away example.
Technology ideology occludes gender, age, race, and cultural history (outside of technology) as meaningless, a nihil, a nothing. This is one example of how it technology ideology borrows from a long history, and treats that history as invisible and meaningless, when it does it.