Recycling



Working as a foreign software developer in Germany is something I didn’t appreciate until after the fact. While living there, I didn’t have much social life. I spent late nights writing eggs for the fun of it. Eggs, in software lingo are hidden ‘features’. Being still an idealistic applied mathematician, I thought that every program should use an algorithm. Otherwise, what was the point of the program? Under my hands, a manufacturing line production measurement program became a dynamic program that solved the longest-path problem. Other mathematical algorithms had no justification in the manufacturing software program on which I worked, thus lived out their existence as unknown eggs, or unknown features.

One such egg went by transaction code 'LDBB'. I called it that because I had permission to create transactions of the form 'LDnn', where nn was supposed to be a double-digit in 01..99. A transaction is logically a unit of work and technically a shorthand macro for invoking the launching function for that unit of work. By naming my egg LDBB, I could ensure a low chance my egg would be detected except by me, who delighted in running my hidden transaction.

Anyway, egg ‘LDBB’ launched a graphics tool in a separate window and proceeded to plot in that window in a xyz-coordinate system Edward Lorenz’ strange attractor. The strange attractor is a graph of the solution to the 3 ordinary differential equations x'=s(y-x), y'=rx-y-xz, z'=xy-bz. It looks like a set of butterfly wings. It has Hausdorf dimension 2.06. It looks like a line that loops over itself like indenting figure 8’s without end. That’s in theory. To view such a solution, one constructs a realization, i.e. a single occurrence of the solution discretized to play out on a particular computer. In the realization, there is an artificial end.

I think now, that I was unconsciously drawn to the strange attractor back then because I was looking for meaning. It is the “cycles” in the strange attractor that give it meaning. As for me, when I re-encounter something similar to what I’ve seen before that’s when I can start to make connections in my brain. At that time, everything was new to me, and I felt like I wasn’t getting to see anything over again.



If the mantra of American-run factories is 'customer is king', the mantra of German-run factories is 'process is king'. What determines a product's life cycle in the U.S. is its appeal to the end user - look, feel, efficiency in doing its intended task. For example, when designing American software, most software developers design according to the 'use case' philosophy. You survey your users, plot out the flow of their actions. If you find that 90% of your users want to do 01 right off the bat, then you set your software to launch transaction 'LD01' by default when it's opened. This means most efficiency for 90% of your users. The other 10% of users who not do 01 can either make an extra key-stroke to go to 02 or configure the software to open to 02 by default. That's the American way of product design - generalize from individual realizations.

In Germany, what determines a product's life cycle is whether its production can be generalized to a set of production processes. The German approach to software design is to look at the task in a scientific lab and try to distill it to its most general processes. Then, they would look at other tasks and see if they couldn't also be distilled to the same processes. If not, go back to the first task and try to re-generalize it. Repeat until you have a set of general process that satisfactorily apply across a large number of tasks. So, the Germans would look at 'use cases' not in terms of individual realizations of customers, but as individual realizations of tasks.

In the example above, they would set the software to launch transaction 'LD00' showing an empty window with generalized menus by default. Each user, whether they were in the 90% group or the 10% group, would have to go through the same key-strokes to do task 01 or 02 or they'd have to configure the default behavior. Configuring the default behavior to do 01 or 02 would also be done the same way - by the generalized configuration transaction.

The good in all this is that when you use German software, no matter what you're doing - specifying materials, designing a reference routing, planning a scheduled material delivery - the way you do them all is the same. The bad is that if some process or screen entry is awkward, you had better get used to it because you'll see it again. A flowchart of American software would show separable graphs, i.e. sub-networks of boxes for specialized processes. A flowchart of German software would show certain boxes with lots of connections spidering out to other boxes, i.e. generalized processes that apply to multiple tasks. In technical jargon, re-using pre-assembled bits of functionality is 'calling' that function and executing a prepared unit of work is 'invoking' that transaction. The Germans, it seems, were not so different from me. I had my tools in my mathematical handbag regardless whether there was any justifiable use for them. They had their bag of generalized processes to be used on all patients.



Weekends in Germany had a certain mundanity that seems peculiar to life there versus life in America. Because all the stores closed before 6 p.m. weekdays, before 2 p.m. Saturdays and didn’t even open at all on Sundays, I had to do the entire week’s grocery shopping Saturday mornings. In Germany, the most efficient way to buy drinks is in a getränkmarkt (drink market) where one buys kistens (crates holding 12 liter-size beverages) with glass bottles that are "recycled" simply by washing them out an unlimited number of times until the bottle breaks. There was a pfand (deposit) on each bottle amounting to almost half the cost of the drink (70 pfennigs on a DM 1.20 bottle) or on the kisten itself. (Americans get a measly 5 cents on a $1 aluminum, and only if one lives in a “recycling state”, California, Oregon, Washington, but not Texas for example.) With such deposits, almost everyone in Germany took part in a virtuous cycle of returning their empty bottles/kistens to the getränkmarkt, getting the deposit money, and while they’re there, picking up a new kisten or two.

As I relate this to a fellow American, we are eating bowls of beans. I contemplate out loud what an individual realization of such a recycling attractor might look like. When does it begin? When a person first moves into their own place? When does it end? When a person gets too old to do their own shopping? My American friend passes gas loudly. I wonder how the beans could have such immediate effect. He says the explanation is that he ate beans yesterday.



We Americans are barraged with advertising in comparison to Germans. We have too many choices for every little detail of our lives. We have lots of places to buy drinks. In Texas there is no deposit, so people just throw away their containers. There’s no ritual of returning to the same place one bought the drinks to recycle. There’s no “call” in the program of daily living in America. There’s no “invoke” transaction to return to where you were before. New and improved are good words; mundane is a bad word.

I think that's why writing was easier when I was there and why I look back now on my emigrant life sentimentally. Life was simpler over there. I had fewer clothes, fewer possessions, and fewer places to drive. I had less clutter in my life to distract from what I was really about. My daily/weekly/monthly/yearly routines were, yes, a little mundane.

When I first started working with my German colleagues, I was put off every time I heard that I "must" do this or the screen "must" show that. After I lived in Germany, I learned the conjugations of the verb mußen, and saw it was used to describe prior obligation. For example you might hear a German say, "I can't meet you Wednesday night for drinking. I must meet Uwe to play tennis. We could meet Thursday." When a German person made plans with you, you could be sure they had no other plans that evening. You were their plan for the evening, spending time together no matter what you both decided to do.

Can you imagine an American saying such a thing? Heavens no! People would think they were uptight. Not new and improved. Not cool. An American would more likely say, "I guess so. Dude, how about after 8 p.m.?" The American would proceed to meet their first friend for tennis, who would be late, and this would make them late to meet their other friend for drinks, and everyone would be preoccupied with their stress, the minutia of the details, and miss the point of getting together.

Why do we Americans think our lives have to look like a straight line, ever going forward and covering new ground? A straight line does not cover more space than a looping one. Consider the strange attractor. The line intersects itself an infinite number of times, each time in a new place. To a point on a strange attractor line, its trajectory makes no sense! But, looked at from a distance, the attractor can be recognized as a cycle, which gives the line meaning and shape. So what I’m trying to say is, what’s wrong with mundanity? What’s not cool about getting on a virtuous cycle? I think I'm going to look at that German egg LDBB again.



by Christy Bergman,
January 2002.