My Computers Are All Broken

Software’s focus on world-dominance has crossed with my incessant tinkering to result in a computing environment that is failing me utterly.

I’ve tried everything, and it still doesn’t work.

My first computer was from basically the worst era Apple has ever produced, starting with MacOs 7.6.1 and finally quitting around MacOs 9, switching to BeOS. While I was using these for fun, I was learning Solaris (and AIX, and HP-UX, and FreeBSD, and Debian) for work. I know some are frustrated that the Mac has lost its spacial finder, but I’m frustrated when I have to touch my mouse, because I spent years in a fine-tuned X-Windows interface that allowed me to do essentially everything from the keyboard. It was only marginally graphical; all of the windows except the browser were different kinds of text interfaces, from the terminal to vim to irc. I controlled everything with a Sun Type V keyboard, which relegated the caps lock and backslash keys to some far away corner like God intended, and gave prominence to control, escape, and delete, which matter quite a bit more. I honestly have no idea what mouse I used for the first ten or fifteen years; I don’t normally care about them, so I don’t normally notice them.

As I gradually switched from a sysadmin-turned-developer to a CEO, my computing needs changed dramatically. I spent all my life in email, calendar, and chat rooms, instead of text windows (notice they’re all still text, though). I did not even have a desktop computer for years, because a laptop was a better compromise.

As the iPad got more powerful, though, and Apple’s iMac computers turned from lickable toys into their most powerful computers, I moved most of my computing from laptops up to desktops or down to tablets. For a little while, all was fine, because I still wasn’t spending much time on the computer — as a CEO, most of my time was spent directly communicating with people, either in meetings or via email and chat. Being present means not being on your stupid devices. That was my computing experience.

Once I left my CEO role, I shrugged. I changed a few things (started writing in Ulysses, for example) but basically kept the tools and practices I had.

It’s become clear now that I have a solid decade of debt that’s built up in how I use my computers.

I really hate it.

Some of it is obviously just bugs. Or something. The keyboard (a KÜL tenkeyless with some kind of Cherry MX switches) and mouse (some large Logitech thing) just don’t work most of the time. The keyboard has to be unplugged and plugged back in 90% of the time the computer goes to sleep, and the mouse icon just does not seem to care about my needs, even after swapping mice, mousing platforms, hair shirts, and everything else I can think of (turns out that moving the mouse’s wireless adapter from a USB hub to the desktop might have fixed the mouse).

Beyond that, the software is out to get me.

Am I seriously the only person in the world who cares about keyboard focus?

I just deleted an email in Apple’s Mail.app on my desktop (running the latest os and patches, but this problem has persisted for as long as I’ve used the app), and I literally have no idea where the focus went. I hit delete, the email goes away; I hit delete again, and literally nothing happens. An email is highlighted, but, oh, I see, it’s a gray highlight instead of a blue one. I click on it, now it’s blue, and suddenly delete works.

I have essentially the same problem on my iPad (which I work on at least as much as my desktop). My only feature request for the iPad is to make keyboard focus predictable and functional. You can be scrolling through emails with the arrow key, and suddenly it will just stop working. Delete an email, no idea where focus is. I don’t even know how to tell where the focus is.

I’m in this insane world where I can feel utterly defeated by the need to click on an email to delete it, but if I zoom out, just about every other part of my computing experience causes similar frustration. I’m apparently the only person in the world who has quality studio monitors on my desk, based on how much everyone is freaking out over the HomePod price. I have separate audio installations in 7 parts of my house, and the HomePod in my bathroom is the cheapest one, beating the thirty year old (purchased used, recently) NAD and M&K kit in my bedroom by about $100. Nothing can cause you to lose hope that your needs will be met like the entire internet agreeing your needs don’t exist.

I don’t consider myself an audiophile, but I know enough to know that decent speakers start arriving at around $300 (each, not a pair), rather than topping out there. I never bought into Sonos because that required my believing they could deliver a good speaker, amplifier, and software experience for the price of a single decent speaker. Oh, and I had to join their walled garden; I’m willing to consider that, but it’s got to be worth it, and it never was for them.

So now most rooms in my house have audio streamed to them from an unsupported device that is going to become obsolete any day now.

Getting back to computers, it just could not be more clear to me that I’m in the shitty middle ground of the computer world.

I’m not a specialist any more. When I was a sysadmin, I was a specialist and I could build my computing environment to match that. (Although good luck finding specialized sysadmin hardware these days.) When I was a developer, I was a specialist, and my computing showed it.

Now I do what everyone else does: I email, browse, handle my calendar, chat a bit. My writing is a touch specialist, but not really; I’m using a specialist tool that’s great for writing books, but I’m just producing blog posts instead.

Even though I’m not a specialist, I’m still weird. I know that I’m using all of my tools differently than most of you are. I know we all think we’re special, but I’ve been around enough to know I am. Not in a good way, just in a “why are you doing that?” way.

Take my calendar. I’ve now twice written tools to tell me whether I’m meeting my goals in terms of how I spend my time. Sure, you have some sort of tomato timer to remind you to stand up or something. Amateur. My calendar should be a statement of my priorities, of how I will and do spend my time, and I want to hold myself accountable to my goals. I appear to be the only person who wants this, based on the searching I’ve done. Thankfully Google Calendar has APIs available, but why should I have to write this?

I have tried every email client I can find, but they’re all written for someone else. They all seem to offer, “How can I help you do email without email?” I don’t want that. I want the vim of email clients. I want the Photoshop of email clients. Can you imagine telling a graphic designer that you want to help them make graphics without making graphics? It’s stupid. They’re designers. They design graphics. I’m a communicator. I communicate. I read and write. A lot. Make a client that’s better for that. But nope. Instead you have the modern equivalent of a lickable interface that still can’t do inline reply and only has 5 keyboard shortcuts. BZZZTDELETED!

Some of it is just stupid. I have LED strips mounted to the back of my monitor, so I can get ambient lighting while I work. It’s actually an awesome feature, and I totally recommend it, but it’s a bit of a mess of wires with a ridiculous interface (a switch that keeps falling off my desk). I get not everyone has their monitor against a wall, but this seems so great it should ship by default. Can I just get all the LEDs you want in my keyboard moved back there? And, of course, I want it all connected to the computer so I can control it via software. Instead I’m wiring it all together myself and hoping 12V can’t catch my desk on fire. Yay.

I wish it was just that I’m a curmudgeon, that I can’t give up the old ways, but the truth is I like my iPad more than any other computing device I’ve ever owned, and honestly, I always hated the old ways. I’ve been hating software for as long as I’ve used it, and I’m proud I’ve been able to keep my edge as my career and the world it’s in has changed. I hated X-Windows. I really, really hated MacOS. I loved BeOS, but honestly, I held it to a very low standard. I loved every part of Solaris except the parts that actually existed or that I ever used, and I quit using it just when it stopped sucking quite so much (god, remember having to use Veritas to get decent clustering? Even worse, remember Disksuite?).

So it’s not that I miss the old days. I want to live in a different universe. I want a different physics model for our software world.

I know I can’t have it. I know I won’t get there.

But I’m an optimist. I’ll keep fighting.

Software At the Coal Face

Software should be for the people who do the work

I’m not a technologist. I’m a software person, but not in the way people mean when they say that. I believe in the power of software to improve lives in big and small ways, and I have a hard time imagining doing much except through software.

I’m less fond of the software industry itself. I think it is too slow at solving problems that matter to people, too myopic to see how much it could really do.

I ran a software automation company for twelve years, and when I explained it to executives or salespeople, they would respond, “Oh, so you can fire sysadmins!” (Draw your own conclusions as to why these are the ones who consistently said this.)

In fact, our strategy was the exact opposite: I set out to turn sysadmins from tactical tools into strategic assets, to make the individuals more capable, and thus more valuable and harder to fire.

It was always easy to show my strategy was the right one: Let’s say I can produce software that can either reduce cost (fire some part of your team) or improve service quality (help that team do better work), which do you pick?

Nearly every time, people pick a higher service quality. “Wait, that’s an option?”, they would say. (The rare exceptions to this response usually came from organizations I did not want as customers.)

Software sucks. It really, really sucks. It’s so bad that when people look at their software investments, and especially the infrastructure layer my previous company lives at, they really only know how to talk about cost. Sure, they know the software is critical, they can say how many nines they have in uptime, or what their NPS score is, but they can’t measure quality in the way, say, a car maker or theme park would. Turns out, though, it’s easy as all get out to talk about cost. So, people naturally gravitate from the stuff that matters into the stuff they can measure. It always reminds me of an old joke:

A policeman sees a drunk man searching for something under a streetlight and asks what the drunk has lost. He says he lost his keys and they both look under the streetlight together. After a few minutes the policeman asks if he is sure he lost them here, and the drunk replies, no, and that he lost them in the park. The policeman asks why he is searching here, and the drunk replies, “this is where the light is”.

It might not matter, but it sure is easy.

You could argue that what Puppet did was weird, was special; that I found a seam of critical work that was undervalued, incorrectly measured, and ripe for both automation and an increase in human capital.

I don’t think sysadmins are that special.

There’s been this wicked, stupid, and brutal trend over the last few decades to devalue people. I don’t just mean, to replace people with automation; I mean the practice of reducing the value of individuals in service to financial strategy. It might be my age, but I assume this all started in the 1980s when corporations were compensated for having fewer costs on the books (which also led to idiocy like building an office tower, selling it, then leasing it back; some realtor makes bank, and your stock goes up because your balance sheet looks better according to the skewed spreadsheets of some hedge fund manager). The claim of many companies that their people are their greatest asset is contradicted by their behavior.

This becomes more true as companies get bigger. Most large corporations have spent decades finding ways to rely less on their people, and then use the results to demonstrate the people deserved it. Under-train them, then over-supervise them because they don’t have the skills. Don’t give them any power, then consider them easily replaceable because they can only do small things on their own. Refuse to invest in better tooling, then complain about their productivity.

I have a different perspective. You might might think I’m antiquated, or silly, or just naive. Meh.

My perspective is that people have always mattered, and that they always will.

My perspective is that there will always, forever, to be money made by making people more valuable.

Further, just as a nice bonus, I believe that the things that make people more valuable are generally congruent with the things that make them happier, which means that success for me helps the company and the individuals both financially and personally.

Don’t worry about people stealing an idea. If it’s original, you will have to ram it down their throats. — Howard H. Aiken

Considering that it’s this perspective that’s led to me to what success I’ve seen in life, and I’ve done enough work now to realize it’s also the only thing that I care about enough to put another decade into, it’s worth considering hiding this little gem, this little kernel of wisdom that others can’t seem to spot. I’m not worried. At the least, it goes against decades of corporate training: “People don’t matter, you should replace them, expect them to fail, they’re just cogs”. That kind of mental conditioning is hard to resist, especially when it’s imprinted on our financial system itself.

Beyond that, it just sounds too nice for others to see its value. Modern finance inherently distrusts anything that’s good for people, because they figure if you can do this thing and help people, you’ve got to be able to make more money by doing that thing and not helping people, right? Right?

No. In many cases, the thing that makes it valuable is exactly that it helps people. If anything, you could argue the entire software industry is about helping people spend more time on what makes them special, rather than helping people do something they could not do before.

Photoshop didn’t enable people to make drawings they could not have before; if anything, in many cases it’s less functional than using pens and pencils. It just enabled people to be far more efficient with the time they spent.

The difference between a great editor for coding and a bad one is not that you write better code with a great one, it’s that you can write good code that much faster and thus get a lot more high quality work done.

Often, the difference in speed is so great that the quality of work is actually dramatically better, but it’s a result of the user having far more time to spend on the problem, rather than the software itself directly improving the work.

It’s not a coincidence that boring, low-value work is easy to automate, or that people enjoy their jobs more when that work goes away. (Of course, this is assuming the job sticks around; in too many cases we use this as an excuse to fire someone rather than promote them.)

This was exactly Puppet’s goal.

Spend less time firefighting and doing menial work, and more time shipping great software.

I bet you can think of an industry or two whose people could stand to spend less time doing menial work, and more time on the things that matter.

I am not naïve enough think that every role a human plays today could be improved by better productivity tools; some roles become obsolete over time (not a lot of chimney sweeps these days), they really are just menial work or in an industry that cannot remain relevant. (Although, even in those cases I’d argue that both the people and the industries would be better off trying to find a way to work together on the transition, rather than the companies seeing the people as a sacrifice to the gods of productivity.) At the level of industry rather than individual roles, though, everything could be better through this kind of investment.

And in the end, I don’t have to believe every industry, every role is better off.

I just have to be able to find enough people, companies, and industries that are better off that I can keep doing great work.

And that’s what I plan on doing.

Strategy Is Culture

How you work determines your destiny

Peter Drucker famously said, “Culture eats strategy for breakfast”. This is often interpreted as culture being more important than strategy. These might not even be his words, which makes it hard to know his thoughts, but having built a company to almost 500 people, it’s obvious to me that culture isn’t more important than strategy, it is strategy.

I am confident he knew this. He worked with the Japanese manufacturing companies in developing their culture of kaizen, which helped them to dominate the automobile manufacturing world, and their practices have gone on to fundamentally change manufacturing as an industry.

Your strategy is not what you’re trying to do (those are your goals), but rather how you plan to do it, and your culture determines how you work. Pick any great, differentiated strategy, and you’ll see that how it translates the company culture is what determines its efficacy. We tend to think of culture as being about how people feel, or how they treat each other, but that’s a bare shadow of its importance.

Southwest is an amazing airline. In an industry with a long history of losing money, they’ve managed to make money year after year. How? Their strategy is simple: Be the lowest cost carrier. This isn’t something that the management says to the team who then try to interpret it; it shows up in every decision made by everyone in the company. It’s baked into the culture. If it weren’t, costs would creep in at every level of the organization. They could not be the lowest cost carrier without a culture of parsimony at every layer of the company. You will not be a culture fit at Southwest if you can’t be cheap.

Toyota is legendary for helping to drive a revolution in manufacturing, and their success is based on tight integration between company strategy and behavior at the front line. Many of their practices work against human nature, such as their “Five Whys” tactic, which seeks root causes for quality issues by refusing to blame individuals. Their culture is so unique that one of its standout features is how reliant they are on training and mentoring, from the front-line worker to top executives. Managers get promoted based on their ability to train their teams up, not just for driving results. Toyota understands its success is reliant on its management chain to connect company strategy to front-line execution, and it invests accordingly.

Atlassian has built an amazing business, not by being better at selling, but by ensuring the customer can sell themselves. The entire company maintains the cultural discipline of removing barriers to a sale, of asking why a customer needed help, hit a roadblock, or didn’t buy. This sounds easy, but it’s fundamentally hard, and more importantly it’s directly in conflict with the sales culture of modern software companies. You have to choose whether you care more about this deal or all deals, and Atlassian’s rare choice, and how that has permeated their culture, is a big part of why they’ve done so well. I expect Atlassian has lost countless great people who could not make that shift.

These companies demonstrate the inseparability of culture and strategy. Your strategy is how your company plans to win, and your culture is how people individually behave in alignment with it.

Some might argue that the above are the company missions, not their strategies, but they’re very different. Toyota’s mission is to build great cars, and a culture of kaizen is how they do it. Southwest’s mission is probably something like “Enable access to air travel to all”, and being low-cost is how they do that. Atlassian’s mission is clearly around enabling collaboration between teams, which they support by making their products easy to acquire.

If you’ve got competition, then your strategy needs to specify how, exactly, you’ll beat those competitors. You and your competition can have the exact same mission, but by definition your strategy needs to be different from theirs — you both have the same goal of taking the market, but you necessarily will be approaching it differently. If you don’t have competition, your strategy needs to clarify how you’ll win in a market where no one has thrived before. Neither of these is a simple question of setting goals; it’s about clearly stating how you’ll accomplish them.

Too often, strategies are placed on a pedestal, gesticulated at from afar and never allowed to get dirty, when a strategy’s value is entirely determined by how it hits the ground. Napoleon was one of history’s best military strategists, and he knew the importance of how it translated to individual soldiers. When he gave orders, he demanded they be repeated back word for word, and would do it again until they were right. He knew a strategy’s value was determined where it met the enemy, not when it was laid out in the command tent.

Contrary to what you might hear, I don’t think I’ve ever met a founder who didn’t have a strategy, and usually a pretty good one. In contrast, I have yet to meet an early-stage founder who can explain how that strategy will translate on the ground, or who invested hours every week in ensuring that his or her team was operating according to it. Even basic things like having better usability are hand-wavy at best, relying on constant input from founders rather than permeating the organization’s culture.

Simon Sinek has helped lead the charge in the value of ‘why’ as a force for motivation and alignment. Your strategy for how you plan to win is just as important, and is much harder to align a team around because it necessarily involves daily discipline. It’s not enough to have a great strategy or a great culture; they have to be one and the same.

Your culture is how your strategy is executed, and you’ve got to put in the time to make it work.