Monthly Archives: February 2024

Feb 2024 Media Diet

Books

How Big Things Get Done – Very much enjoyed this. Useful changes in my thinking about projects are already happening.

Movies

Self-Reliance

A sad guy allows himself to be hunted for a reality show – if he lasts 30 days he gets a million bucks. He thinks he’s found a loophole. He can’t be attacked unless he’s over 6 feet from another person. So he’s doing his best to always be near someone. Turns out he needs to do some work on himself and its really fun. There’s some weak parts sure, but this at least is different and pretty good at what it does try for.

Joe Kidd

Weirdly, there’s a Clint Eastwood western I hadn’t seen. This one is different because the man has a name.

Black Holes: Edge of all We Know

I was sick and I fell asleep a lot. But it was really good for the bits I woke up in. I loved seeing the drama of scientific cooperation and discovery.

The Speed Cubers

Its adorable. This short doc follows two Speed Cubing champions and their evolving relationship as they come to the world championship.

Feliks is a smart young Australian who set tons of world records. Max Park is a younger American on the autism spectrum who idolizes Feliks and is eating up all of Feliks’s records, starting to beat him in contests. Feliks and Max are developing a healthy relationship and Max is growing his social emotional strengths – learning to deal with defeat or failure as well as triumph. The stakes are both high and low. Its a world championship! … of solving toy puzzles. It’s an epic rivalry for the top! … with two competitors that like each other and wish each other well. It has the same sort of Becky Chambers-esque focus on characters growing and going through natural change that I’m finding so fascinating in contrast to Ready Player One or a Marvel Movie.

My Max is into cubing now. He’s not got all the algorithms but shows flashes where he can intuitively solve things I would have to slog through. Since Max has some cubes, ZZ now has cubes – she has figured out how to do a 3×3 checkerboard and “solve” it. Not bad for such a tyke!

TV

Reacher S2

It’s not as good as S1. There’s more buddies! Reacher has no flaws other than extreme loyalty. Still fun to watch but just a bit lazy feeling.

Jury Duty

It’s a reality show / extended prank. One guy is on jury duty. Everyone on the show but him is an actor including the other jurors, the judge, everything. The acting is pretty good. Multiple plots move forward at once. Max and I are howling laughing at it.

But good lord, it’s on a service with ads. It’s awful to watch Amazon advertise Amazon to me on Amazon. I already paid you for Prime. What are you doing? I hate this.

A crumbling railroad bridge over snow, the uprights are worn and look ready to give way.

Zero to One to Crumbling

It’s a golden age of convenience and ease! The speed that we can get something usable up, working and deployed these days is incredible. The sheer amount of good engineering infrastructure we can take for granted is astounding – and that’s good.

In Deb Chachra‘s How Infrastructure Works she has a tricky definition of infrastructure that really works. Roughly it’s that “infrastructure what you can take for granted”. It’s the stuff you don’t have to think about. In my neighborhood, that’s a lot! I don’t think about water, light, heat, electricity, or food supply. At work, I don’t really think much about compute availability or disk availability – though I do have to design systems that use these mindfully at scale.

In software, there’s other kinds of infrastructure. Do you have to manually allocate memory? Do you have to destroy objects and free up allocated memory when you are done with it or does a garbage collector handle that for you? Do you have to optimize your control flow and loops or does an optimizer do an incredibly smart job of that for you? The more that there is good software infrastructure, the more you can spend time on the biggest difference maker for you – handling the business domain problems that you want to solve.

Old Man Story Time:

For my first job in NYC, I was given a C# code test. This was difficult for me, as I had no copy of VisualStudio.net available to me. Also, I didn’t know C# and figured it can’t be harder than C. I had to look up online manuals of C#, write the code in Notepad, and use csc.exe to test if it worked. A lot of what the test demonstrated was that I could write a for loop and that I was bull headed enough to push through obstacles and find out how to get something done. Now I write fewer for loops.

The last repository push I made I didn’t bother locally cloning – I was able to use the web based editor in GitLab to branch, make a change with auto-suggests, then commit, push and create a merge request. Unbelievably easy and cool.

But Jim Nielsen‘s Zero to Unmaintainable raises a good point:

There is such a focus on how quickly you can get going, but so little focus on how you maintain what you just created.

The developers I work with are so bright and smart and full of ideas. And they can get smarter, more reactive, better designed systems than I can think of up and running so quickly it’s astounding. But I see them frustrated, because they are held up by different things than I was. I used to get frustrated by the failures of the technology or the ability to even get simple things connected. They have best practices built into the new tools. But they are now frustrated by the organizational demands associated with new tooling.

Who will support this new application? How will we keep it updated? How will we secure it? When the APIs we interact with change, is this application well enough documented that someone else can fix the problem or do we need to take you off a project to fix it?

Part of my job is to help identify these issues early and turn them into infrastructure so that they can concentrate on the business problem and solutions to them – rather than these concerns. Instead of frustrated developers working out non-functional requirements, it’s better when we turn them into things they can take for granted.

This means working out commonalities across solutions we build for clients. Deployment’s a big one to get right once and then not talk about much. Same for version control. Same for dependency management and security scanning. Same for support after go-live. Same for maintenance. Same for self-service for clients.

The response to people being super fast to solve problem and come up with ideas isn’t to slow them down – it’s to solve the next bottlenecks.

These opinions are, of course, my own and published by me, not my employer.

As I wrote about My 2023 in Books, I realized I want to write more about what I read.

I just wrote up “Why Big Things Don’t Get Done”, a review of Brent Flyvbjerg’s “How Big Things Get Done”.

If the title is a question, Brent has collected data across thousands of large projects and found an answer that he reveals early. Big things get done over budget, late, and deliver less value than people expected. Or they don’t get done. For the most part. Not by a little bit, either – big things fail by a lot. In a database of “16,000 projecgts from 20-plus different fields in 136 countries” he finds that “99.5 precent of projects go over budget, over schedule, under benefits, or some combination of these.”

And it shouldn’t be this way for big things. These are HUGE EXPENDITURES. Stuff like dams, nuclear power plants, healthcare.gov, and similar massive projects that people depend on succeeding. There should be lots of incentives to get it right.

Brent explores why this happens over and over again. He doesn’t duck the question, he has real answers, like:

  • Many projects start without defining why they need to happen. Without a defined why, decisions aren’t always steering to the north star and not everyone will have the same vision.
  • People act too early and don’t plan well before they get started. He goes into how to do that better – pointing out how Pixar did it really well with low stakes small versions.
  • When people get started early, they get delayed on every new emergency, so it takes longer than expected – and every day late is a chance for a new unexpected incident or emergency. Fast is good once you have a tight plan.
  • People estimate poorly because they think their project is special instead of finding a good match of things that have been done before.
  • People lie about the costs so they can use sunk costs to demand more funding when they exceed the budget. (Robert Caro describes how Robert Moses did this repeatedly in The Power Broker). Some “estimates aren’t intended to be accurate; they are intended to sell the project.”
  • The team doesn’t have enough experience so they can’t anticipate that similar problems will show up as happened on previous similar projects. If you’ve never built an underground train before, you won’t know to keep replacement parts for the digging machine ordered in advance.

The stories are numerous and detailed in here. I was also pleased by how many echoes I found with my other reading. I’d read about the building of the Pentagon and the chaos of the the early building of it. So much was done so fast, but so much had to be redone. I’d listened to the 99pi/Cautionary Tales episode about the building of the Sydney Opera house and how it ruined the architect, who fled the country and never saw it completed. I’m reading Robert Caro’s “The Power Broker” and it’s a great peek behind the scenes to see how and why the author thought his 8 years of research/writing would only take a year.

This book was a big eye-opener for me, articulating things my experience had turned into instincts. I was able to use it before I even finished, referring engineers I work with to find “reference projects” to figure out timelines instead of doing the same things that didn’t work for us and don’t work for anyone else.

If you do things that take longer than a month, this is a pretty valuable book to read. If you do things that are new or haven’t been done before, it’s VERY interesting. I’m going to go on about this a lot to other folks about it.

Everything’s a trade-off

My hands, damaged from pull-up and hanging practice with callouses I have to file down or risk tearing off.

My fitness goal for 2024 is to be able to do a single one armed pull-up on each arm. I still want to maintain my previous progress of being able to do a pistol squat (and improve it to be less ugly).

This means I now have to do hand maintenance, which is new to me. I have to take a FILE to my hand to sand down callouses or they build up and TEAR OFF.