The Ultimate Preventative Medicine

Prediction: In future decades, we’re going to realize that the most powerful way to fight decades of growing obesity, heart disease, diabetes, and other metabolic disorders is to work less and live less stressful lives.

For decades we’ve been desperate for something to blame, from more sedentary jobs to the fact that kids don’t play outside anymore to villifying a series of different nutrients and dietary choices.

Nowadays we seem increasingly convinced that it comes down to diet and to fix the issue will take nothing more than changes to diet. After all, look at all these other countries that moved from their traditional diets to Western diets–they all started having more health issues!

But if you look closely, they also started adopting a more Western relationship with work and capitalism.

We try to push diet and lifestyle changes on people to pile on top of their existing life stresses and duties, hoping that will fix the problem. But the biggest lifestyle change is hard to implement: we need a better relationship with work.

When we’re not overworked and over-stressed, we’ll have the mental energy and time to let ourselves be healthy. Instead of spending all of our willpower to push through another task, we’ll be able to spend some of it getting out of the house and going for a walk. Instead of being exhausted and going with a joyless and unhealthy fast food meal routinely, we’ll instead plan and prepare more delicious meals that are more deeply nourishing because of the joy of the ritual of preparing it and enjoying it as well as the nourishment of the food itself.

I have a great and fulfilling job that pays really well, and we work a reasonable 40 hour week. But even I can see quantitative data showing that my health is better when I have time away from work.

If we can shift culturally to have a better relationship with work, we could very well extend lives. Not only would our lives be longer, they’d also be better lived.


Apple and Privacy

I’ve got several post drafts written in my Drafts app about this issue, but I’ve found myself struggling to express how I feel.

For context: Apple’s announcement from last week

The two most controversial changes Apple announced were a new Messages app feature that uses ML on children’s accounts to detect if they are sending or receiving sexually explicit material, and a new feature for all iCloud Photo users in which your devices will start checking all of your photos to see if their hash matches the hash of known existing child sexual assault material.

Children’s Messages ML Scanning

Simply put, children are entitled to privacy too, especially on their digital devices. The need for privacy is especially important for minors. I’ve quoted David Brooks in the past on this, and although his NYT columns are varied in quality, on the point of privacy I believe he is correct:

Privacy is important to the development of full individuals because there has to be an interior zone within each person that other people don’t see. There has to be a zone where half-formed thoughts and delicate emotions can grow and evolve, without being exposed to the harsh glare of public judgment. There has to be a place where you can be free to develop ideas and convictions away from the pressure to conform. There has to be a spot where you are only yourself and can define yourself.

When children played together in decades past, we didn’t insist that they bring a tape recorder or other device with them to monitor for illicit things they say. Just because technology today makes it easier to monitor them today, doesn’t mean we should.

And that’s just assuming that computers can do a decent job at this. We know they can’t! Trusting computers to make judgment calls about images is profoundly irresponsible with the technology we have. Machine learning creates some impressive demos sometimes, but it’s not that accurate, as anyone who has ever typed “damn you autocorrect” can attest to (and autocorrect is acting on much simpler inputs). I have no problem using ML to let me search for pictures of sandwiches in my photo library, but when it comes to something like monitoring children’s messages for sexually explicit content, the stakes are a hell of a lot higher, and our tech doesn’t meet that bar.

It’s beyond naïve to trust automated systems to accurately make these judgment calls about the content our children are sending each other via Messages. Hell, we know that human systems for moderation do a poor job. We know that moderation systems systematically will over-flag LGBT content as sexual even when it isn’t.

Protecting children is always a popular choice among people looking to deploy mass surveillance into people’s electronics because the idea of a predator sending materials to your child, or worse, coercing your child into sending them materials of themselves, is very unsettling.

But it’s even more unsettling to me that we are willing to go head first into deploying a dragnet that is automatically monitoring 100% of children opted in, and will give them stern warnings (warnings that to LGBT children could be terrifying) about reporting things to their parents.

Combine that with the fact that now that this system is already built, a few tweaks could turn it into a tool for mass oppression in the wrong hands, and it’s downright irresponsible of Apple to deploy this tool, no matter how well-intentioned it was.

Photos Scanning for CSAM

Apple’s come out of the gate emphasizing that this is just for iCloud photos and not applying to your Messages photos or anything (as if that makes it much better), but for me this whole issue comes down to this: my photo library is a personal and private collection, akin to a collection of photo albums I keep in my home. The fact that it gets replicated to the cloud is nothing more than an implementation detail, and that doesn’t make it any less private.

Apple seems to take the fact that your photos are going into the cloud as tacit consent for them to be analyzed for law enforcement, and instead of focusing on whether that’s right, they instead focus on the subject matter of what’s being analyzed, again because it’s hard to argue in favor of the proliferation of child porn.

Our devices, along with the data on them, are manifestations of our private selves. It’s true that when I carry my phone with me now, I’m also carrying an unprecedented amount of personal information about myself. But it is that precise vulnerability that makes it all the more essential that the privacy of the contents of my phone remain sacred.

I wouldn’t let a police officer constantly snoop around my house just because the police officer is only allowed to be looking for one specific item and one item only, and it should be obvious why I don’t.

Just because technology makes it possible for a little robot to do the same thing to your private data at scale, it doesn’t make it any more acceptable.

Stop accepting the framing that the threat makes the tradeoff worth it. Our children deserve better than to be dehumanized by having their communications monitored by a robot, only to be told it’s for their own good. As citizens we deserve better from private corporations and the law enforcement lobby that’s no doubt pushed them hard on implementing these things.

Privacy is a fundamental human right. There’s no fine print attached to that that says “except child porn.”


The Moonlander: 1 Year In

I’ve been using ZSA’s Moonlander keyboard as my daily driver for just over a year now. Now that I’ve had the keyboard for awhile I wanted to share some deeper insights than the first impressions I shared last year.

Layout-wise, the Moonlander is similar to an Ergodox keyboard. It has two halves, the keys are in a grid-like layout instead of a staggered layout, and each half features a cluster of keys meant to be hit by the thumb. The Moonlander builds on that basic design with much more ambitious industrial design, a built-in wrist rest, and a hinge for the thumb cluster to help the keyboard accommodate a variety of heights.

And let’s be honest here: this thing was a thing of beauty out of the box. Its aesthetic give me somewhat of a Starfleet vibe if you’re a Trekkie:

a Moonlander keyboard

An Aaron-Friendly Layout

I started using mechanical keyboards in 2012, but it wasn’t until about 2019 that I finally ventured away from keyboards with a more or less standard layout. I would see people’s Ergodoxes and Plancks and such on Reddit and it piqued my curiosity, but it felt like it wasn’t for me, largely because I’d have to un-learn years of keyboard shortcuts and conventions.

I did initially buy an Infinity Ergodox kit, but I never quite adjusted to it. It was in kind of an uncanny valley, where its size made it feel almost like a tenkeyless keyboard, but my pinkies wouldn’t stop reaching for an Enter key that no longer was there, and symbols like [ and ] I couldn’t get the hang of (which is unfortunate for a programmer like me).

Turns out, my solution was to get a keyboard with even fewer keys: I got the Planck.

The Planck was easy for me to learn. It’s just 48 keys (47 if you get the double-width spacebar). From home row I can move a finger one up and I’m on the top row of the keyboard. I can move a pinky one to the right or left and I’m at the edge of the keyboard. Every key was easily within reach. With fewer keys, my fingers didn’t get lost as much and I got up to proficient speeds in a week or two. Not only was I proficient, I really grew to love the layout! When you’re typing on one you feel this Zen feeling because your fingers are flying but your hands are perfectly still.

So when I got my Moonlander and was deciding how to set it up, I had a great realization: it essentially contains a full Planck keyboard inside of it.

a demonstration of how my Moonlander keyboard layout has a Planck in it

So my Moonlander layout is unconventional: it’s a Planck layout at its core, but with extra keys on the outskirts.

If you have a Moonlander and want to try my layout:

I didn’t yet know what I wanted to do with the extra keys initially. I allowed the top row to be a number row, but pretty quickly I was finding that the number keys got in my way; I’d reach up to hit the Q and I’d overreach and hit the 1. The thumb cluster keys are pretty good at staying out of the way, but I struggled a little with those two columns of keys closest to the middle. Initially I didn’t give them a function.

Frustrated with my number row of keys, I decided to just take the keys out altogether since the switches are hot swappable.

a Moonlander keyboard with the top row of keys removed, leaving sockets with LEDs that emit a blinding level of light.

I iterated on this many times, but my middle keys now serve a mix of functions. I’ve got one that gives me the backtick key, a /, a ?, and a couple that are macros for keyboard shortcuts. Two of them I still don’t have programmed for anything in particular.

That still didn’t solve the fact that the keys felt ambiguous to my fingers. However, it was around this time that I was starting to really get into novelty keycaps, which solve the issue perfectly: they are sculpted, so each key cap feels different to my finger and thus is easy for me to tell apart from regular keys:

On the thumb cluster, I’m doing a few interesting things. On the left, the furthest key lets me cycle through windows using the cmd-backtick keyboard shortcut. The same key on the right invokes 1Password. By far the most common thumb cluster keys I use are the ones closest to the bottom row, and I use those as if they’re just part of the bottom row; they’re my spacebar and my Return key.

Eventually, I got sick of getting blinded by empty key sockets on the top row. If ZSA sold a Moonlander that was identical to this one but missing the top row I’d buy that in a heartbeat. For awhile I put back the number keys but I again had the issue of bumping them accidentally. Then I had a clever idea: I bought some round typewriter-style key caps from AliExpress. Between their different shape and their significantly higher profile, I never accidentally bump them. And as a bonus: they’re there as number keys which is handy if I need to hit a number or two quick and I don’t want to bother with layer keys.

my Moonlander keyboard in its current setup, featuring typewriter keys in the top row

I think it looks really sharp.


I ordered this keyboard with Kailh Box White switches, which are clicky like Cherry MX Blue switches, but with a more premium and rich feel. However, I immediately found myself accidentally making keystrokes with my sausage fingers. To address this issue, I bought some stiffer springs and swapped them all out. This has worked great and the switches feel just perfect now, and they sound lovely.


Aside from the occasional week where I’ll swap out with a Planck, the Moonlander has quickly become my daily driver keyboard. Considering how many keyboards I actually own, the fact that this has become my default over 80% of the time is really saying something. It’s deeply comfortable to use and has a really premium feel to it. The other 20% of the time I’ll stick a Planck keyboard on my desk and use that, or maybe one of my Nyquist keyboards which are like a Planck but split into two halves.

My key caps are quite a ragtag team of misfits, but they are highly practical, and I do have enough other novelties that I do rotate these out.

I want to emphasize just how many keyboards I own (there are over a dozen just in my office, plus even more in my basement, which doesn’t even include a couple that I haven’t built yet). I have my pick of keyboards here, and almost every day I pick the Moonlander to drive with. It’s that good of a keyboard.


The First World Problems of Being a Mac Pro Owner

So I’m doing some housekeeping in DEVONthink, and it’s in the process of indexing and creating thumbnails for a folder I just relocated and want to re-index.

And I watch the progress bar move along at this leisurely pace, and then I go and check out DEVONthink’s CPU usage, and it’s sitting here politely sipping at my CPU as it gently moves through the work it has to do:

a CPU chart showing DEVONthink only using 117% CPU while doing some batch work. Meanwhile, Docker, which I'm not even using, is taking up 127% CPU.

Umm, no, DEVONthink.

I want you to pound these CPUs.

I did not spend ten freaking grand on Apple’s highest end computer for you to try to be polite about resource use. I’m not on a laptop here.

I appreciate you being polite, but look at Docker over there! I’m not even using any containers right now and Docker is happy to consume even more processor cycles than you! And even Slack is putting in a good effort while not even being visible on screen.

Tear through these files, please! Use up the memory! I have almost 100 gigs of it just sitting right here. There’s 45 gigs not even being used right now! Come on, what are you waiting for?


Space and Rich Dudes

I share a little bit of the bitterness that visiting space has transitioned from being something that countries did, to being a hobby of wealthy people with the funds to end world hunger but instead are like “nah, I want to spend billions on a rocket to send me up into space for a couple minutes.”

Of course, it’s important to watch for those rose colored glasses. Space exploration holds a special place in the heart of many a nerdy type (myself included), and indeed those who were around to see us set foot on the moon remember it as a point of national pride.

Of course, our interest in going to space was mostly a glorified dick measuring contest with the Soviets, and the nobility of our exploration kind of got retconned in there after the fact. And when the narrative we were taught in grade school was being put together, the history lessons left out the fact that it was a number of brilliant black women like Katherine Johnson who were performing important calculations to support NASA’s mission, even though they were treated like second class citizens and their work went unacknowledged for decades.

Exploring space is a worthwhile endeavor, and humankind should be doing it. It’s not inherently bad for someone to be really rich and have the cash to go into space for fun. It will never stop being sad to me that we culturally have set up capitalism so that it is wants so badly for billionaires to be able to exist and go on these adventures that we insist on letting people go without homes, healthcare, and food, and we do it largely on the principle that we want billionaires to become billionaires.

The Economics of Scale (or, the high cost of low prices)

I often see tweets like this decrying wealth inequality:

It follows the formula of “big company keeps large chunk of money to itself, but workers don’t get raises.”

But this is just scratching the surface. Dig more into the math and it’ll start to really enrage you.

Kroger has upwards of 450,000 employees. Just doing some back of the napkin math, it would cost a lot of money to give all these workers a raise. With that $1 billion, they could give each worker roughly a $1/hr raise for a year and that would basically burn through all that money.

In other words, Kroger has about half a million employees, and they only were able to turn that into profits of $2.8 billion (source), and the best they can do to generate wealth is just give a third of that money to shareholders in the form of stock buybacks.

Walmart takes this to the absolute extreme. They made a profit of about $13 billion in FY ’21 on gross revenue of almost $560 billion. Sure, that sounds big, but factor in that Walmart has 2.3 million store associates, meaning that if Walmart wanted to raise wages from $11/hr to $15/hr, assuming their workers work an average of 30 hours a week (I think it’s actually more but let’s be conservative), that would cost $13.8 billion. Walmart’s working on very slim margins here. That $13 billion profit sounds great but it took minimizing pay for literally millions of people to scrape up that profit (and I’m just thinking of store associates, not even the employees of Walmart’s thousands of suppliers who they notoriously pressure for lower prices).

In fact, there have been past years where US taxpayers spent more money on assistance programs supporting Walmart employees than Walmart earned in profits for the same year.

This is the vicious cycle of pursuing scale. Walmart literally fueled their growth over the years with aggressive price reduction. You couldn’t run a small, independently-owned grocery store if you were only making about 5 grand in profit for each employee. But a behemoth like Walmart can because they can make it up in volume.

So in reality, scale isn’t really that good at generating wealth; it’s just good at generating wealth inequality. The amount of resources Walmart and Kroger need to earn their profits is massive.

These companies (Walmart especially) love to tout their low prices, and to their credit, they do work hard to keep prices low (again, Walmart is super good at this). But low prices, especially at scale, are bad at generating wealth. Maybe a few Walmart execs and shareholders might disagree, but millions of non-wealthy employees sure won’t.


Windows 365

This announcement is one of those things where I look at it and I’m just like:

Hank Scorpio of The Simpsons saying why didn't I think of that

It’s funny, it used to be that you’d have a browser tab open in Windows, and today, you can have Windows running in a browser tab!

This also comes at a perfect time for the people who have enjoyed using Intel Macs over the years to run occasional Windows apps and were wondering about their future of doing that in the world of Apple Silicon.


Tech Companies and Competition

(Disclosure: my current employer is a subsidiary of Microsoft. I’m not a journalist or anything, and I don’t think that really influenced my writing, but it would have felt dishonest not to mention it.)

Daring Fireball, weighing in on a recent IBM executive shakeup:

I don’t offer this observation as an argument against any and all regulation and antitrust investigations of big tech companies. I’m simply arguing that regulation and antitrust lawsuits should be wielded with surgical precision, not broad strokes. Competition and progress work.

If you listen to his podcast Dithering you quickly pick up on the fact that John generally is in favor of letting the market do its thing, and his point is well taken that IBM spent decades being dominant only to have a much more diminished role in tech today. But the dominance of today’s tech companies feels substantially different from the dominance IBM had.

IBM Was Big When Tech Was Small

IBM was dominant in the world of tech when computers were something that only businesses owned and used. IBM did make some consumer tech in the 80s, 90s and early 00s, but their ability to be big was mostly due to the fact that they were big fish in a relatively small pond. That’s not true for the biggest tech companies today.

Entrenchment is Deeper

Social networks had relatively short lifespans before Facebook came along. They’d often fizzle out after a couple of years. Facebook has managed to reach an escape velocity that’s kept them from having that same issue. They were wildly popular in the aughts, and they’re even bigger today. They measure their users in billions, and they’ve been known to buy up companies achieving dominance in areas and markets they didn’t (see: Instagram and WhatsApp).

In a similar vein, there was a cottage industry of search engines before Google came along. Whereas Facebook got more powerful as a social network because social networks get more useful the more people are on them, Google largely earned their dominance by making a great search engine. But in doing this, they also became deeply entrenched in their position at the top and it’s structurally really difficult to unseat them.

Big Tech is Big With a Capital B

At press time, there are five companies with market caps above $1 trillion, and four of them are tech companies (Apple, Microsoft, Amazon and Alphabet; Saudi Aramco is squeezed in there at #3). Facebook is worth nearly a trillion.

Tech is big business now, and not only are tech companies now our biggest companies, they wield a massive amount of control over our daily lives in a way that IBM never came close to achieving.

If you participate in the modern world, you almost certainly are being served directly or indirectly by servers in a cloud run by one of these big tech companies. If you use a computing device, you almost certainly are using an OS made by one of those trillion dollar companies.

IBM’s unseating

Gruber’s right that IBM lost dominance, but let’s remember how that happened.

IBM’s downfall was in not anticipating the PC revolution. They falsely assumed that mainframes were where the big money was at, and when they made a PC, instead of buying exclusive rights to DOS from Microsoft, they licensed it. Dozens of other companies started making IBM-compatible PCs, and PCs sold like gangbusters, easily eclipsing IBM’s business selling mainframes to big companies.

But that only was possible in an age where there weren’t many computers. Today, most every person, home, and business has a computer, and often several. There’s not really any new category of device that can come along and eclipse the computers and mobile phones that Apple, Microsoft and Google power, or the servers that Amazon, Microsoft and Google power.

A side note: IBM didn’t really suffer a downfall so much as it ceded growth to other companies. Even in their diminished role, IBM continued growing throughout the 90s and aughts, with their market cap peaking in 2017 at just under $175 billion.

IBM missed out on a fundamental growth wave, but what fundamental growth wave is there for today’s tech companies to miss? Billions of people own a smartphone now, and Apple and Google have a technical head start of well over a decade of building mobile OSes. Even if you can imagine a newcomer coming along and taking over that market, there’s no longer much room for that market to grow a lot higher.

Assuming no major new policies that might shake things up, the big tech companies we know today are almost assuredly going to be the big tech companies we know in a decade or two. The last 20 years of tech have seen advancements comparable to the last 50 years of the 20th century. And not only that, the biggest tech companies are now in far more businesses than IBM ever was.

Competition is a powerful thing, but once your market cap is measured in trillions and you have almost no peers, it’s a lot less meaningful.


This is Not a Filler Post

I haven’t posted a ton lately.

It’s not for a lack of writing! I’ve drafted a lot of things up, but even after rounds of edits, the posts aren’t something that sparks enough joy that I want to post it (and seeing all the posts that have made the cut, you probably can imagine how bad these are).

I write about a bunch of things, but I never really want to post something that feels like I was just going through the motions; for each thing I post, I want it to have a spark to it that I feel passionate about.

For my Apple-specific writing, I’ve been struggling to write stuff that’s worthwhile. I’ll either be too inside-baseball for a casual observer, but for the crowd that likes the Apple inside baseball, my stuff is way late to the game and I’m not really offering that many good or new insights. A lot of the Apple stuff in my Drafts app read like I breathlessly weighed in on a current Apple event without really having anything particularly interesting or novel to say.

I’m still challenging myself to get to 100 posts this year, but I’m not going to just grind my way to 100 joyless posts. I want to post 100 posts that each sparked some joy.

I kind of liked my Sweet Setup series earlier this year, not only because it was a steady source of new content, but also because I was sharing about a bunch of tools I’m passionate about.

I’d like to expand on my Case Against Scale talk from 2020 with a series of short essays this summer, making the case against massive tech companies through the lens of current events in the tech sphere.

I also wrote up something about Pride, which I should have posted during June, but it was kind of a busy month. I think it’s also subject to a total rewrite.

Ultimately, I think of writing on here the same way I think of cooking: it’s a really enjoyable hobby, but as an endeavor it’s only worth it if the end product is something really enjoyable. I suppose theoretically I could just be writing and posting into an echo chamber and that is somewhat therapeutic in itself, but that’s what my journal is for.

Mr Rogers drawing a house saying he's not very good at it, but it doesn't matter


The Nerve of the Developers of Audacity

So a few days ago, the new owners of open-source audio editor Audacity pushed out a new privacy policy, and according to this policy, the app became permitted to collect enough data about users that people under 13 years old would no longer be legally able to use the app in the US.

This caused an uproar as you might expect, and Muse Group, Audacity’s new owner, is trying to walk it back.

“We believe concerns are due largely to unclear phrasing in the Privacy Policy, which we are now in the process of rectifying,” said Daniel Ray of Muse Group.

Why do tech companies have to be so predictable? Every time they get called out on doing something shitty, they never apologize for doing the shitty thing, they always apologize for how they communicated it, subtly implying that its customers’ opinions aren’t valued feedback from valuable stakeholders, but instead are just a reaction to be managed and herded. It’s a mentality that subtly robs people of their humanity.

And to really add insult to the dystopian injury here, look no further than some of the takes from people trying to downplay this: mocking people for what they considered an uproar, and the general sentiment that we need not panic because this is “pretty standard modern application telemetry” (source).

Maybe, and I’m just thinking out loud here, maybe the problem isn’t that FOSS enthusiasts are freaking out over standard practice, but that we’ve come to accept some relatively invasive surveillance as standard practice in the software we use and rely on every day?

My audio editor shouldn’t need to know my IP address to function normally.

There are lots of tools in place in most every app nowadays serving a variety of functions like this. Some are simple things like libraries to support easy automatic updating, and some tools will send up stuff like crash data to developers so that they can learn about bugs and fix them without even needing to interact with users. That’s potentially useful! But it’s very telling that when you actually tell users what you’re collecting about them, they are “freaking out”. Maybe if users are that uneasy about the level of surveillance they are living with, “this is standard telemetry!” isn’t the great defense you think it is.

Purveyors of surveillance capitalism love to lull themselves into these delusions that the surveillance is super common and that consumers are a-ok with it because they know that in exchange they get some free products on the web or sometimes interesting offers or even just relevant recommendations. Except when users are actually being told about the surveillance side of the deal, they aren’t that cool with it. In the case of iOS users who recently started getting the option to ask apps not to track them, most have opted out, and it’s causing changes in advertising spend between iOS and Android.