While working today, I thought of riding my bike. On my bike this afternoon, I was at work. Consider this project.
A construction crew is creating a building. It is an object composed of other objects, with names like board, nail, and pipe. They have attributes like soft, square, or pink. Some buildings suck when they are created without a plan. Other buildings rock because they have been cleverly designed.
Computer code creates objects composed of other objects with names like integer, array and function. They have attributes like bold, visible, and pink. Some code sucks and other code … well actually all code is crappy in the eye of another beholder.
To deconstruct a crappy building requires a permit, dump truck, a crew and a crowbar. Fixing crappy code requires a pinky finger and a backspace key.
Easy ride on the island this afternoon found me stopping frequently to take pictures. An open house sign invited me to investigate and dream of living on the water over looking Madison Bay. Later, a long line of parked cars led to the Autumn Harvest Festival, where a band played folk music while turkeys gobbled, children oodled, and booths served noodles.
I arrived for my first day at Microsoft during the afternoon of December 30, 1980. The company had just moved into their new location, occupying a third of the building at the corner of Northrup Way and 108th Avenue. Most of the offices were empty, and I had to work my way around boxes cluttering the hallways to find the way to my new boss, Charles Simonyi. He seemed a bit surprised, then ruffled through a stack of papers, handed me a stapled pair of pages to read, then walked me down the hall to select an office.
My office didn’t have a computer yet. I sat down and read the paper, which Charles had authored, describing the Hungarian naming convention for writing self-documenting code. Incidentally, Charles was from Hungary.
About an hour later, Steve Ballmer dropped by to say hi. He had hired me as part of the first 100 people at Microsoft who would be writing applications targeted for the new MSDOS operating system and the IBM PC. Steve chatted with me for a few minutes, ending the conversation with “I’ll let you get back to work.” That meant re-reading Charles’s paper, which really didn’t make much sense. (Several months later, after a chat with Charles, I would become a hard-core adopter of Hungarian.)
The following day, the last day of 1980, Charles gave me a copy of Kernighan and Ritchey, so I could learn C, and a description of the Zilog Z8000 architecture and instruction set. My first assignment would be to write a p-code interpreter that would run on the z8k. Of course we didn’t have an assembler yet, but that didn’t matter because I didn’t have a computer yet either.
Evening of that day, Martha and I went to the grocery store, trying to figure out how to stretch the $30 that remained in our bank account to last until my first paycheck. The next day was the New Year.
First day at work in 1981, someone installed a computer terminal in my office. It was tied to a DEC PDP-11 time-sharing system. Charles gave me another manual so I could learn to use Unix. A little later, I received a document describing the architecture of the virtual machine and p-code interpreter I was to implement on the Z-8000.
I was part of the new end user group Charles had formed at Microsoft. Our mission was to create new applications that would run on personal computers: spreadsheet, word processing, charting and database. These applications would be written in C, compiled by their new CS compiler into p-code, which would run on virtual machines we also developed for the many different personal computer architectures at the time: the Radio Shack TRS-80, IBM PC, Osborne, Commodore, Apple II, and Olivetti’s new z8k box. Charles’s strategy aimed at creating a revenue bomb because each new application would be written only one time, rather than separately for each pc architecture. Also, it was easier to write interpreters for new hardware than it was to create a new C Compiler.
I believe it was April by the time my p-code interpreter was running on the z8k. Proof came in the form loading and running compiled p-code from Microsoft’s new spreadsheet on the Olivetti computer. That was Multiplan.
After a morning of writing code, this afternoon found me exhausted – the kind where I’m too tired to sleep. No way I wanted to go near my bike. I tried taking a nap on the couch. Bartlett curled up and took a cat nap between my legs. I stayed awake.
Sometimes it really helps to make a promise to yourself. Tired as I was feeling, I pulled on my bike clothes, stumbled out the door, slowly tightened the straps on my cleated shoes; hopped on the Davidson and coasted down the short driveway.
Transformed! Five minutes I was climbing a gentle grade in the cool autumn air, no longer tired. Big leaf maple glowed in the afternoon light, puffy cumulus clouds moved across the blue sky and I rejoined the living world.
Five days ago I last rode my bike. Instead, I have worked sixty hours at my day job – writing code. More than passion, it’s an obsession. Maybe I write good code. Maybe my old buds at Microsoft would say it sucks. Anyway, my bike misses me.
Mornings I wake up tired. Several cups of Italian roasted French press coffee turns tired to buzzed. Martha asks a simple question about what’s for supper and I respond with the look. Twelve hours after that first cup of coffee she finds me emerging from my cave. A glaze that feels like stale applesauce covers me from head to toe. Drink beer, eat supper, go to bed. Wake up at 3am, new day begins.
September 12, 2015, twenty years after shipping Windows 95, the team reunited at Benaroya Hall in Seattle. David and Charu did most of the work making this event happen. Brad had to twist my arm several times to convince me to come. It turned out to be an incredible once in a lifetime experience.
I met Brad twenty five years ago, right after he first came to Microsoft from Borland. Fittingly, it was on a bike ride. Several days later he was in my office, refusing to leave until I agreed to join the Win 3.1 team.
Our development team was tightly knit. As dev manager, I suppose I did a lot to make us that way. For many long hours together, we worked to create a product that would change the world. Twenty years ago, I moved on to a new life. Saturday evening we all stepped back in Time.
Geezer Sunday promised the usual slow social ride with friendly banter. At the second re-grouping stop, I made the mistake of asking one geezer what he thought of Carly Fiorona. Vigorous discussion ensued. Another geezer shouted “No politics!”, and quickly rode off in a huff.
Geezers were not really disagreeing because, like most islanders, they’re all liberals. After about ten minutes, riders began heading up the road in pairs. Finally I departed, leaving three debating who was the farthest left winger.
Several miles up the road, I caught the rest of the group that had stopped at the next regrouping point. When asked about the other three riders, I replied that I had left them there talking about Carly and for all I knew they were still there talking. Another lively interchange about politics ensued -the election of a Republican portends a very dark future. I quickly made my escape, dashed up the road to find the first geezer who had fled this second discourse, and initiated a friendly talk about apple pie.
How would this end when we arrived for coffee at the Treehouse Cafe? Maybe people were mad at each other. More likely everyone was mad at me for stirring the pot. Saved by a windstorm, we arrived at the Lynnwood Center to find the power was out. The cafe was dark inside. No coffee, no bacon, no more debate.
I rode home alone, took a quick shower, used my iPhone app to learn the outage would be repaired before 11am. The lights came on at 10:30.
Lessons learned: sometimes I say dumb stuff. I already knew that. It’s safer not to say anything, rather than risk saying something dumb. I already knew that too. Maybe I didn’t learn anything.
Currently I work for a company that is developing online test-prep courses to prepare elementary and high school students for high stakes testing. This year, states are preparing to use tests developed by one of two consortiums: SBAC or PARCC. Politicians have been pandering to a plethora of controversy regarding these tests. Here are a few thoughts.
PARCC and SBAC developed the tests to determine whether the students are attaining a specified standard of learning. Students expect to fail these tests. Therefore they opt out, or take test-prep courses to prepare for the test.
Educators and politicians developed a standard of learning common for all states named Common Core State Standards, or CCSS, to establish a high standard of achievement for all fifty states. They expect higher standards will result in teachers teaching more stuff and students learning more stuff.
Reformers have been improving education ever since teachers have been teaching and students have been learning. Recent reform began in 1957, in response to the Soviet Union launching Sputnik. Because we feared the smart Soviets would bury the dumb Americans, politicians passed the Elementary and Secondary Education Act (ESEA) which, among other things, required schools to set standards and means for assessment in order to receive federal funding.
States developed different standards, then later adopted Common Core to standardize the standards and maintain federal funding. Politicians railed against CCSS as an infringement on states’ rights, without a clue of what’s inside them. Publishers create resources aligned to CCSS without a clue whether students will actually read them. They market to school districts, not students.
Teachers teach the fundamental theorem of algebra because it’s one of the standards. Good students come to class and do their homework to learn fundamental theorem of algebra because it will be on the test. Bad students, if they come to school, come to make connections with their peers.
A Parable
A farmer had three sons. The good son worked hard every day in the fields. The slacker son hung out in the barn and smoked weed. The evil son also smoked weed and tried to entice the good son to plant more weed among the corn stalks.
The farmer wanted all his sons to be good sons, so he said, “I need to establish a standard: All sons must work eight hours in the field each day.” He also declared that sons who did not meet the standard would not receive their pay.
The good son continued to work hard in the fields. The slacker son got depressed and smoked more weed. In addition to smoking more weed, the evil son joined a union to rectify the harsh treatment by the farmer.
Dennis and I met in September, 1958. We were in the same class in fifth grade. I recall going to his house to play in his basement, and hiking with him through a field near our house. A few years later we were in the same Boy Scout troop and went to summer camp together. We were friends, but not close friends in high school. He was much smarter and more studious than me.
We bonded as best friends during our first year together at Drexel. The year was 1966. He was majoring in chemistry, I was majoring in electrical engineering. We spent much of our free time together, laughing, playing, drinking, often in deep discussion regarding matters of great importance. I used to tease him because my mom called him the perfect kid. He knew he wasn’t. Not until many years later did I learn how much that bothered him.
Although we were both good students, he was more disciplined. I was the wild one, often initiating crazy games or adventures. One Friday night I convinced him to come with me and hop a freight train to South Carolina. We spent all night walking the tracks, waiting for a train to pass. Saturday morning found us somewhere in South Philadelphia. We had breakfast at a small restaurant, then took the subway home.
We remained close throughout our first two years at college, until we encountered a bit of a problem over a girl named Alice. One of my favorite tear jerker movies is Pearl Harbor. Every time I watch it I can feel what those two guys were going through because I had lived that experience.
A couple years later, Dennis and I had patched things together, I attended his wedding and he was the best man when Martha and I were married. Dennis and Alice, and Martha and I were all close friends. After leaving Philadelphia, we never lived in the same town, and we made the effort to get together often. I recall several camping trips, a canoe trip, and many times they would come to our house to visit. I always looked forward to seeing my best friend.