Welcome to James Brown's blagoblag! This contains various thoughts and opinions, mostly wrong,
going back a couple of decades. All of the opinions are my own, and probably not my employer's. Feel free to visit the
about page for more useless interesting facts about me.
This site has had both "Categories" and "Tags" since it was on
Blogger in 2007. It occurs to me that this doesn't really
make any sense, so I'm hiding the categories and won't be populating them going forward.
The old category index pages are live (because cool URIs don't change)
but otherwise, it's all tags from here on out.
A few other small changes:
updated some CSS
fixed missing </li> in page metadata block
chnged post time to be a <time> so it's machine-parsable, and stopped displaying post time by default
added signal and hackernews to the Social sidebar, and removed two defunct sites
Yesterday, I left my job at Instrumentl,
which I'd been at since leaving easypost almost three years ago.
It was an interesting experience; I don't know that I'd choose to do it again, but it's always good to broaden one's horizons
and try new things.
I was only at Instrumentl for about 990 calendar days1, but I like to think that I got a lot done in that time. When I started,
the dev team was only six folks (two people in the US, one in Canada, and three in Türkiye);
now it's something like 182. When I started, MFA was disabled
in every tool and lots of people were logging into shared administrator accounts; now the company is on much more solid footing and
perhaps even on a path to finish a SOC2 in a year or so. I built a few customer-facing features
(including the public API, SSO and MFA) from scratch, and a ton of
internal tools. I was only there a couple of years, but (as usual) I found myself on top of
the all-time productivity leaderboards by whatever metric you care to measure3. Not that these things matter; nobody cares who
wrote the most commits or who fixed the most security issues, and anybody who thinks you can objectively measure engineering performance
is trying to sell you something that isn't worth buying.
Instrumentl was the first company I've worked at where I was primarily doing Ruby, which was kind of neat.
Ruby was the first programming language I really learned, about 20 years ago4, and maybe the first programming5 job
I had was working on HMC CS Staff porting the internally-developed ticket tracking tool6 from Rails 1 to Rails 2.
I did a fair amount of Ruby/Rails at Easypost, of course, but Instrumentl was all Rails. It's... definitely a lot nicer
than it was in 2008! I still think it's practically-perlish in how hard it is to read, though. I'm more-convinced than ever that implicit
receivers (that is to say, being able to just type foo instead of self.foo() to call an instance method named foo) is a nightmare
for reliability and code maintenance.
Anyhow, some of why I've left comes down to differences over the direction of the company, some because I simply can't stomach
reviewing one more bad PR or bloated document that someone clearly let ChatGPT loose on without thinking about the consequences, and
because I'm ready to work on something new and exciting. I've got a couple of days before I start at the new place, which is going to be
Svix, writing Rust full-time. Let me know if you're reading this in real-time and are bored next week and want to hang out. :-)
1
and obviously far fewer working days, between weekends, holidays, company offsites, and parental leave!
2
that is to say, 17 engineers, one manager, between four and six product managers (depending on how you count execs wearing multiple hats), 3½ designers, and a partridge in a pear tree
3
tickets, commits (about 3600, all squashed), lines of code, number of wiki pages, whatever
4
using a hard-copy of Programming Ruby which I scrimped and saved to buy
5
as opposed to IT or sysadmin work
6
named request; now, alas, replaced by some terribly-enterprisey version of RT
I've been using the Happy Hacking Keyboard in various configurations for the last 12 years; it's a great
design for a 60% scale keyboard with all the keys that a Unix person needs and nothing they don't; in particular, I
credit its lack of arrow keys with finally getting me to use vim motions correctly. Oh, I've dallied with other
keyboards; for a while at work I had an Apple Wireless Keyboard, and in 2019 I bought a tenkeyless keyboard from
the now-defunct WASD Keyboards1, but I always come back to the HHKB. That being said, the HHKB isn't perfect; in particular,
the Topre switches feel a bit mushy2 (and get worse the longer you use them), the bluetooth version is garbage that can't
maintain a connection reliably, and the cheaply-printed text on keycaps tends to rub off pretty quickly.
Well, I'm on parental leave now, so I figured I'd do a Project and put together a new keyboard.
Kalih White Owl Box Switches: I played with a few switches in key testers and I loved the tactility of these. Reviews are good for the Box line as being more stable than other clicky switches.
This was the first time I'd actually assembled a keyboard (I know, it seems like something that I would be doing regularly); it
was pretty easy3. A couple of the switches had bent pins that I couldn't quite straighten out, but I bought plenty of spares.
I'm typing on the keyboard right now! I think it's pretty great so far, although obviously I have only been typing with it for a little while. One interesting note is that it's remarkably heavy — around 1500g fully-assembled (about 3x the HHKB). Not that I carry it around much, but I think I'll keep taking the HHKB with me when I go to company offsites.
Now all I need is for Apple to get around to releasing a stand-alone TouchID button...
1
Specifically, the WASD V3 87-key with Cherry MX Blue switches on it.
2
To be clear, I actually prefer a clicky keyboard; I had an IBM Model M back when I was a kid...
3
Perhaps my childhood snapping LEGO pieces together prepared me for this?
So, I haven't posted here in a while (excepting the tiny CSS post this morning, and for fixing jsSnow earlier today). I promise: I have good reason. It's been a mighty busy few months!
If anyone is using the style from my Firefox post a couple of years ago, you may have noted
that the userChrome styling broke in Firefox 132; here's the correct new style for the same visual effect:
/* hide the native tabs */
#TabsToolbar .toolbar-items {
visibility: collapse;
}
/* fix the titlebar color and padding */
.browser-titlebar {
background-color: var(--toolbar-bgcolor) !important;
justify-content: space-between !important;
padding: 8px 0 !important;
--inactive-titlebar-opacity: 1.0;
}
/* hide the sidebar header so Tree-Style Tabs looks native */
#sidebar-header {
visibility: collapse;
}
/* Hide the border under where native tabs would be, to get the "unified toolbar" appearance of modern macOS */
#navigator-toolbox {
--tabs-border-color: transparent !important;
}
/* the coloration of the titlebar to look like a toolbar */
#titlebar {
background: var(--toolbar-bgcolor);
}
/* hide a single stray vertical line that creeps in if you have tabs hidden */
#titlebar .titlebar-spacer[type="pre-tabs"] {
border-inline-end: 0 !important;
}
The generator for this site has been updated to Zola0.19.0; this is most notable because it means that rss is back! There are now both RSS (/rss.xml) and Atom (/atom.xml) feeds. Enjoy!
Today was the keynote for Apple's World-Wide Developer Conference 2024, and, as all the pundits
predicted, they announced"Apple Intelligence", a new suite of tools building on the current
"Artificial Intelligence" hype bubble1. I started
out feeling tentatively optimistic that they would continue to use machine learning systems to provide niceties and
augmentation — replacing the two-line summary of new mail in Mail.app with auto-summarization, doing automatic segmentation
to recolor app icons, improving suggestions of photos from your library that might be fun to look at, better speech-to-text
transcription — all of these seemed like totally reasonable features that can be improved by things like vector embeddings,
diffusion models, and deep learning transformers.
Then, of course, we actually got to the Apple Intelligence portion of the presentation. In particular, this scene:
Fuck. No.
Everybody knows the Steve Jobs line:
Technology alone is not enough. It’s technology married with the liberal arts, married with the humanities, that yields the results that makes our hearts sing.
Well, someone took all of the liberal arts people out of the room when they built this feature and let
the Wall Street AI hype-men steer the ship. This isn't a bicycle for the mind,
this is a steamroller for the mind. It's
a bulldozer that's ready to roll right over any remaining trust you have in the
written word; it's taking the tools of disinformation and putting them front
and center in our friendships and our personal lives.
Imagine the scene: You're sitting down and you open your email client2. You have a swath of machine-generated
spam emails in your inbox warning you that you haven't yet donated enough money to the Biden campaign, that you need to
ACT NOW, that a Brand™ you purchased from before is having a sale; somehow,
you filter through them all to get an email from your good friend Sole and it's got a quirky poem in it inviting you
to a barbecue at his house where you can hang out with your friends. Feels good right? Isn't it heartwarming to have
that little touch of humanity, to know that Sole spent a few minutes wordsmithing a fun little poem for this invite?
Later, you're talking to Sole and you compliment him on the poem; sheepishly, he responds with "Actually, AI wrote that".
How do you feel in this moment? Is there any scenario where you don't feel cheated? Maybe even lied to? You thought
you were getting a personal note from a friend, and it's just more stochastic computer-generated spam. Would you ever
read Sole's emails again? I know I wouldn't.
I'm sure this feature got a product manager somewhere a big promotion. Heck, I'm sure there are people who have become
so inured to everything being algorithmically-generated spam that they won't even notice or mind that their friends
are now sending them messages like this. But, Apple's ethos3 has always been about building tools to
empower users to make art, to create, to be original. I don't know what this
is, but it sure as hell isn't human creativity.
Let's not even talk about these hallucinogenic "Image Playground" results and the real artists whose work was surely
purloined to generate them...4
Apple Image Playground (shudder...)
Maybe I'm alone. Maybe nobody else feels the deep and primal outrage at the
thought of parents outsourcing their kids'
bedtime stories to artificial stupidity, and at the thought of our friends
messages to us being mediated by fancy autocomplete. But, damn! The
resounding "who cares" from the tech industry over the last few months, the
openness to never being able to tell if written text is actually someone's
true thoughts or is just adjacent to their thoughts in a 1536-dimensional
vector space... it feels a bit like a betrayal. If you
decide you want to use these tools, feel free to leave me off your barbecue
invite lists, because I don't think we have compatible values.
1
If you're lucky enough to be out of the loop, this is currently
focused on the use of very large neural networks trained on truly enormous
volumes of text which are able to do essentially sophisticated autocomplete
-- sophisticated enough that people with a really depressing theory-of-mind
sometimes believe it's intelligent, even though all it's doing is picking
the most statistically-likely next word given the previous words. It's been
a real eye-opened watching a lot of business executives give up on the idea that
consciousness exists and embrace the idea that a totally deterministic
word-picking automaton can replace their workforces.
2
Assuming you're not one of the many folks who has given up on email entirely and just has a counter
of hundreds of thousands of unread missives.
3
At least, the ethos that their careful marketing team tries to portray. But, I do know people who
work at Apple and do more than pay lip service to it!
4
Let's also not talk about Apple 2030, Apple's pledge to be zero-net-carbon in a scant 6 years, and how this is going to be affected by sending these queries out to OpenAI et al to burn some megawatts on.
My GPG key (24F8AA354990F3F562EC014BC6496DEB3DA8E9B5) was set to expire on Tuesday. Rather than generate a new one,
I've decided to just extend the lifetime of this one. I've added new EC25519 subkeys if you'd prefer to use more modern encryption,
and bumped the expiration by another two years.
Over the last two years, the only thing this key has been used for is as a root of trust for keyoxide;
nobody has sent me any mail. Even Facebook dropped support for PGP.
Anyhow, the key is still alive if you need to reach me that way. You can also contact me on Signal if you want something
more modern!