Reflecting on the Soul of a New Machine
dtrace.org
Reflecting on the Soul of a New Machine
1–10 of 50 posts
Re: Reflecting on the Soul of a New Machine
#2My perception of the team leader hero, Tom West, was also permanently altered by an essay written by his daughter Jessamyn (a quasi famous technologist in her own right), who described him as basically a depressed alcoholic.
Re: Reflecting on the Soul of a New Machine
#3I’m not particularly talented, far from it actually, but many times I’ve worked in teams with non-junior people who were tasked to do some portion of a project, and simply delivered garbage: a terribly over engineered solution in a component where over engineering was actually very dangerous (e.g. doing distributed systems using several small bespoke moving parts rather than a single solid leader election mechanism, or even better getting away with something leaderless and more elegantly stateless, to give a recent example).
In those occurrences, I inevitably “broke it down to pieces” by keeping pointing out all the exact scenarios where the code delivered would fail, until the other person really had to finally move to a solution much more similar to the one I had in mind (much much simpler). Sometimes this required an embarrassing feedback loop of 10+ round trips, where every time I’d just look at the newly delivered code say “this doesn’t work in a X scenario”. And I was not in a better position from a knowledge perspective, we were essentially peers.
I felt like a prick and definitely felt resentment from the other party (especially since code reviews are public), but at the same time, how could I have acted differently? The end result was really orders of magnitude better, more robust and smaller.
Re: Reflecting on the Soul of a New Machine
#4I saw this zipping by on Twitter. Heya I’m Tom West’s daughter and I always pop onto threads about SOANM to bang the drum of good work-life balance as well. My dad was an amazing man and we got along well, but he was a pretty distant dad and basically left the raising of my sister and me to my mom who might have wanted to do something professionally as well.
The things he did at work, and his and Kidder’s ability to talk about them, were quite interesting and have lessons that can be relevant in many different timelines and lifestyles. But you know, I wound up moving to Vermont and helping people use technology to solve problems in their lives. You need all the things–technology, an understanding of people, and a life–and my dad possibly only had two of those at any one time. Thanks for writing this.
Re: Reflecting on the Soul of a New Machine
#5Re: Reflecting on the Soul of a New Machine
#6I struggled with this a few times: “When a person signed up to do a job for him, he would in turn trust that person to accomplish it; he wouldn’t break it down into little pieces and make the task small, easy and dull.” I’m not particularly talented, far from it actually, but many times I’ve worked in teams with non-junior people who were tasked to do some portion of a project, and simply delivered garbage: a terribl…
There have been colleagues though who do exactly what you’ve described. That brutally painful loop of breaking pieces of an overly complicated solution over and over. My unfortunate confession is that I usually end up giving up and let them fail on their own. I’m always willing to help, but if someone doesn’t want help, I won’t spend much energy forcing it on them.
Re: Reflecting on the Soul of a New Machine
#7There's a fantastic comment on the article written by Jessamyn West (Tom's daughter): I saw this zipping by on Twitter. Heya I’m Tom West’s daughter and I always pop onto threads about SOANM to bang the drum of good work-life balance as well. My dad was an amazing man and we got along well, but he was a pretty distant dad and basically left the raising of my sister and me to my mom who might have wanted to do somethi…
Re: Reflecting on the Soul of a New Machine
#8In the late 1980s I got to learn a ton about an operating system that had threads (tasks), virtual memory, shared memory, rich filesystem ACLs, symbolic links, and a bizarre shell language that forced you to do all your looping via recursion.
I learned how to program in C on that machine, I wrote some of my first assembly on that machine, and I spent hours pouring over thick black three-ring binders filled with manuals on OS usage, system calls, and the hardware architecture.
Friends and I competed to learn arcane details on how the system worked. My main claim to fame was I figured out how to share memory between unrelated processes, and how to use the atomic-test-and-set instruction to safely synchronize access to it.
One time while we were studying the virtual memory system, a friend wrote a program to see what would happen if you allocated the entire 4G address space of virtual memory and then randomly touched different pages of it. Predictably, the storm of page faults ground the machine to a standstill, causing our lazy sysadmin to have to put down his his copy of Datamation and address the gathering throng outside his door.
I have this recurring dream that I'm back at college for some event, and I wander into the Computer Center and look around. In the very back, there is a dusty 'Dasher' D210 terminal next to some stacked up old furniture -- plugged in and emitting a dim green glow. It's hooked up to our MV/10000 Eclipse, which I imagine is still in the basement of the Library Building humming along after all these years. I try to log in, but I can't remember any of my old accounts and passwords.
Re: Reflecting on the Soul of a New Machine
#9I struggled with this a few times: “When a person signed up to do a job for him, he would in turn trust that person to accomplish it; he wouldn’t break it down into little pieces and make the task small, easy and dull.” I’m not particularly talented, far from it actually, but many times I’ve worked in teams with non-junior people who were tasked to do some portion of a project, and simply delivered garbage: a terribl…
Re: Reflecting on the Soul of a New Machine
#10I struggled with this a few times: “When a person signed up to do a job for him, he would in turn trust that person to accomplish it; he wouldn’t break it down into little pieces and make the task small, easy and dull.” I’m not particularly talented, far from it actually, but many times I’ve worked in teams with non-junior people who were tasked to do some portion of a project, and simply delivered garbage: a terribl…
I wish I knew the answer to this, but I don’t. The closest I’ve come to succeeding at this is to have a reputation as a “breaker”. This really started in undergrad algorithms; I wasn’t great at finding solutions, but I had a knack for finding edge cases to break solutions others had come up with. Sometimes it just needed a tweak to work, sometimes it was “throw it all away and start over”. For the few times I’ve done…