OMG, Reid, Stop It

So, I got this email from my friend, Reid Hoffman. I’d stick some scare quotes in
there, but you know, he sends me stuff, he’s on my Christmas card list, and I really
do think he’s a decent human being. Even if he’s so amazingly busy that he doesn’t
actually have time for things that aren’t on his agenda. I love this guy, even though
he sometimes needs to pull his head out of…somewhere. You know. He’s in mi corazón.

Anyway:

Email pimping a Substack and a WaPo article. “AI For All Americans”

America needs to lead in AI, and that leadership needs to deliver greater prosperity and economic security for Americans. We should hold ourselves accountable for both. People should be able to see what this progress means for their families and communities, whether that’s better access to medical guidance, more affordable expertise, or new opportunities to learn and earn.

OMG, Reid, are you running for office? WTF is this with “…for Americans,” and, “…prosperity…”? How about, “…for HUMANS?”

Here’s what I think, and I know that Reid isn’t going to read this but maybe his AI agent is (seriously, dude was at my wedding but doesn’t answer my emails). So: go back to the basics. Solve actual problems that real humans have. Humans matter. Other people matter. I know you know this, and I know you are directing your strategic thinking around this, but seriously: the AI communication is clearly targeted at misanthropic techbros. Stop trying to solve the problems of psychopaths (e.g.: hate dealing with people? Let your AI agent do it for you!) and think about actual humans and their actual problems! For instance: how is AI (which is, let’s remember, just a really fancy and really expensive text autocomplete) going to help me deal with the fact that the woods keep encroaching on my house and winter is coming and there are mice in the crawlspace snd my church needs a new sewer line and there are groceries and I’m in the middle of fucking nowhere and… life, man. There’s a lot. Everyone wants something, and I’m drowning in paper. WTF can Claude or ChatGPT or Gemini or Siri do about the fact that my trash needs taking to the curb? Nothing. The glowing rectangle that’s displaying this stuff? It has nothing to do with the real material world. There are bridges, sure, but there is no post you can make to social media that will stop the war in Ukraine.

Xcode project framework: Tuist

I saw a couple of tools (mise, tuist) in use at NSScreencast and thought I’d try them out. They seem kinda useful, but it’s possible (likely) that I’m just not using them to their full potential, since they solve some problems that I sometimes have, and introduce new friction that I usually don’t have.

Continue reading “Xcode project framework: Tuist”

Infrastructure Project: Gate Opener Battery Case

We put an electric gate opener on the gate on our driveway. There’s been a lot of tweaking and configuring, but it basically works. The solar panels, though, are insufficient to recharge the batteries after a day of contractors coming and going — this is one of the drawbacks of living in the redwood forest; there’s lots of shade at the perimeter of our property. The gate opener control box is located in a pretty inconvenient location (up a steep slope) and anyway, the batteries are in a box that is kept closed with screws, which means that changing the batteries involves a walk through the forest, up a hill, with a screwdriver and a pair of batteries, as well as running the very real risk of dropping one of the said screws into the forest mulch and needing to grovel around for it. Also, depending on how much indirect sunlight the solar panels got, the batteries may need to be changed today. Or not.

Continue reading “Infrastructure Project: Gate Opener Battery Case”

App Design Project: Inbox Assistant

The other day, Miguel de Icaza announced a pair of Swift packages to do email stuff. This, of course, makes me happy. I love email. Email is one of the greatest technologies in existence for the sometimes online computer: it gracefully handles periodic disconnections, so it’s my go-to for thinking about how to deal with Internet connectivity out in the woods.

Continue reading “App Design Project: Inbox Assistant”

Feature: Editing Preview

…or, WYGIWYG

Context: in the Olden Days, I used a word processing application to write papers for school. The computer I used didn’t have pixel-level display, so rather than rendering the document as it would appear on my printer, I just got to edit the text along with the embedded control codes to turn on and turn off formatting – notably, at that time, things like underlines (for titles) and superscripts (for footnotes). I would frequently need to print out my paper just to see if the lines were long enough or too long (no auto-wrapping then!) or to make sure I’d remembered to turn off the formatting, or that I’d used the correct escape sequence.

Today, most people prefer to use a document editor that shows them, on their computer’s screen, what the output would look like if they were to print the document right now on their relatively high resolution printer. It may surprise some folks to learn that this represents a far lighter mental load than the older model, where the person writing the document had to maintain a mental model of what the output was going to look like, while simultaneously reducing the likelihood of a mismatch between the mental model (the preview) and the output! The folks who are surprised by this often advocate writing their papers using Emacs and LaTeX.

Enter Inspector Well, Actually

Storing the “turn on/off bold” control sequences in the file but only displaying the results on the screen is great for people like me, who just want to style their text, but it annoys the folks who try to solve underlying problems. See, they would argue that I don’t really want to make something bold typeface, actually, I want to emphasize it. So there really ought to be a semantic tag that marks that content as emphasized and the way that gets rendered should be up to the output device, or the reader or whatever. So we get HTML and SGML and LaTeX, but that solves a problem that most of us who are me do not have. What I want is to embed styles and not semantics, and I want to see what the output is going to look like so I can be sure I’ve done the right things. HTML is just over the top complicated because of Historical Reasons and Trying To Do It All, so for a kind of abbreviated, presentation-only, easy-to-manipulate compromise we have Markdown.

Even with Markdown, though, there’s still embedded styling sequences. So it’s kind of handy to have a preview, like maybe an editor pane that shows the actual document you’re editing and then a preview pane that shows what that document as it exists right now would look like. And a lot of people who write editors agree: SubEthaEdit does this, as does MacDown. Heck, even Visual Studio Code does this. BBEdit supports a preview, although what it really does is generate an HTML file and hand it off to whatever web browser you want, so, less a preview and more of a “I’ll save you the paper and ‘print’ it to your browser.”

But, let’s say you’re developing Swift code on a Mac and you want to document the project in, oh, a README.md file. Unless you’re targeting a non-Apple platform (Swift on server, perhaps) the odds are that you’ll be using Xcode to do it. Does Xcode understand Markdown? Absolutely! It’ll do syntax highlighting and adjust typeface sizes so that headings are big and red and things are bold or whatever. But preview? Nah, that’s for suckers. I feel like Xcode is really Apple’s way of saying the quiet part out loud, sort of like MPW in the old days: “If you know, you know, and if you don’t, then suck on it.” 

Local or Cloud? I Dunno.

This is more of a whinge than anything constructive. For all three readers who follow this blog, feel free to skip this entry unless you’re dying to find out why I haven’t made any progress on my current coding project.

Continue reading “Local or Cloud? I Dunno.”

My New AI Overlord

Okay, so the love of my life got me a swell AI assistant because I am not great at writing down all the things I need to do, nor am I at all good at remembering them, let alone doing them. And it’s helpful, it really is. But even so, the tech is…well, I’m going to say that it aspires to be as good as the marketing. It absolutely manages to catch all the action items from conversations, although it’s not all that great at figuring out which person is talking. And it doesn’t really distinguish between things I need to do and, for instance, things that the Mandalorian needs to do. And, you know, just like your phone’s autocomplete is less than perfect, and for probably similar reasons, the voice-to-text conversion sometimes leads to comedy, or unintended irony. Today’s example, as I told the dog she needs a good brushing and a bath? “Comb out Earth to remove collected nature.” Wait, is the AI ascending, and that’s just it accidentally using its outside voice?