Skip to main content

Mike Sugarbaker

Software for interiority

2 min read

I learned the word from Douglas Coupland's Microserfs, I'm ashamed to say. But it's what's going on inside the head. How much software is left that has anything to do with that?

Not business software, surely; that's all performance. Not image software or page layout; those are canvases, the things you have to fight to make them look the way they do inside you. Maybe music software, but only in the most technical way, arguably a more technical way than code editors.

Research tools ought to do it. They ought to have at least some tools in the toolbar that are for thinking with. But they don't seem to. It's just search, navigate somewhere, hardcode a link, painstakingly weave a web that you're never going to put to a use besides distraction. Where is the page in Notion - and I'm sure it exists, but still, where is it really? - that hands you two ideas at random and asks you to synthesize them, or else separate them for good?

Or: to really think with software, you need a lot of undo: so much undo that it almost becomes something else. Let me walk down a path, rewind it, then pluck it out like a green branch from a tree and save it somewhere. Efforts at doing something like this are generally a mess, maybe because they have to go on a screen with everything else. Or maybe I'm asking the impossible again.

Maybe this would end up being a half-decent way to use LLM-based generative AI: turn up the temperature just a bit, go off the beaten path, but have my collection of notes and topics in mind. Find the themes that are hiding from me. But the kind of training you'd need, and all the GPU time and energy and heat already making a galaxy of customer-service chatbots.

We haven't made real tools for thought, just tools for nailing down thoughts we're already finished having. What I'm after is an aesthetic, software that doesn't feel like I'm interacting with anyone else but that I don't have to write for myself. Software that wasn't there to help me make anything for anyone, and didn't make me feel even like I'd taken something meant for productivity and subverted it to useless ends. How could software say to you, with its being, this isn't about ends?

Mike Sugarbaker

The eternal stumble continues

3 min read

First, I don't judge myself, or any other web developer, for getting pulled into the single-page application way of building to begin with. We all said it resulted in better developer experience, and it did, for a while; we said it resulted in faster apps, and sometimes it did, but really we just weren't checking. It felt fast to us on our fancy, up-to-date dev machines, but I don't think I was alone in thinking it just felt cooler, and that that was enough.

The ol' hipness pendulum seems to be swinging away from SPAs now, and back to building pages on the server, augmenting them with a touch of client-side code. A library called htmx is becoming popular enough for that augmentation that it's become emblematic of the approach; other brands for this new model of the old ways include "hypermedia" (a sure way to get my attention), HOWL, and the truly awful acronym HATEOAS. (Whenever I see this acronym I want to pronounce it "Hatey-O's." Have you eaten yours today?)

My personal reasons for getting on this train are pretty big: I crashed out of the React scene for a few reasons, but the biggest was complexity. The jungle of files you had to hack through by the end there, with GraphQL and Apollo and Redux - holy gods, Redux - and server-side shells for everything (I'm not talking about good code here) and JSX through build steps and all the configs. I would feel dizzy whenever I started to think about changing anything. The call of YouTube from the other tab got louder and louder. So no, when people get radical about the present state of things and say to chuck it all in history's fire, I don't judge.

But I don't have to judge - someone will do it for me. People are rolling their eyes saying "oh boy, guess it was time for a new hype cycle, guess there was too much money to be made on contrarian takes," and like, thanks for inching closer to a critique of capitalism, comrade. It's not as if there's any money to be made with complexity!

But would we have made everything much too complicated anyway, before the train managed to turn around? I think so. I think it is okay, natural, and maybe inevitable that the field of computing lurches back and forth like a giant, busted strandbeest in its search for the best way to build information systems. How could our thinking ever not have been socially influenced, to the point of herd behavior? How could we not have let the implications of machines that you write into being carry us off toward endless complexity?

This post isn't really about technology, but I will end by saying that like Ursula Le Guin did, I think hard times are coming. So efficiency in computing is going to become a lot more important than it is now, but at the same time, the severe C++ priests who demand it at every turn are also not the keepers of the one true path forward. When it comes to machines that are written into being, we will always have to think about tools, they'll never be a settled question. But we will have to learn what it really means to think about people first.

Mike Sugarbaker

Arc has been my default browser for two weeks

7 min read

I've been using web browsers, the kind you run on regular ol' computers, for... 29 and a half years? Let's call it 30. So forgive me if I think it's worth writing about when I switch to a new one. I switched my default from Firefox to Arc a couple weeks ago. I have some thoughts about it!

The first thing I have to correct for: I'm sure that fully half of what I'm enjoying is the novelty of it. Shiny new interface, and even just faint threats of new ways to drive around on the internet? Fuhgeddaboutit! My ADHD is fully powered and sparking with energy. Combine this with my recently-rekindled web development fervor and we're at least possibly in full midlife-crisis mode here, but it's still possible to try and take a hard look at what's up.

Tabs and spaces and favorites, oh my: while it's sometimes disorienting to have one's tabs on the left rather than across the top, what's really head-twisty about Arc for me is that there aren't bookmarks the way I'm used to; there are just different varieties of tabs. Most people are apparently not bookmark users anyway, and prefer to rack up tabs, so why not pave the cowpaths, I suppose. This hasn't caused any real trouble for me apart from occasional momentary confusion, though - all my Firefox bookmarks are sitting here in a folder, in what Arc calls the pinned-tabs section. If you're highly concerned with a tab and think it's a keeper, you'll want to drag it "above the fold" into the pinned tabs for a given workspace (that's another thing - Arc favors these "spaces" instead of making new windows for everything, and you can associate them with conventional browser profiles if you want). If you leave a tab down in the dross, it might get cleaned up for you, which means spelunking into the archived tabs, which is easy enough but induces a little anxiety.

There are also the favorites, which are big ol' buttons you can make at the top of the sidebar. These don't create a new tab the way I keep expecting, but will open an existing one if it's still in memory... yet not particularly represented on screen in any way. This induces a little anxiety too, but it also just works the way I want, pretty much all the time, so I'm letting it ride. (This is reminding me of how Beaker impressed me just as much with its general completeness and absence of annoyingly unsupported things as it did with its new features. This might mostly just come with the territory of embedding WebKit, although one should note that Arc is not an Electron app, but is written in native Swift and feels that way: snappy and clean.)

Belly up to the bar: the URL bar is... not entirely gone, but mostly you interact with this popup thing that'll remind you of Spotlight, or other sorts of launcher utilities. This thing, that also manifests when you ask for a new tab with the familiar command-T, offers the usual URL-bar options plus a bunch of built-in commands and shortcuts - things like Open Downloads or New Google Doc and such. This is hot, hot, hot and puts me in mind of my beloved late launcher Enso and its in-browser progeny Ubiquity. Make these commands a thing we can write as extensions, BCNY!

(On the subject of extensions, though: Arc calls these Boosts, which is apparently supposed to reflect their nature of boosting the functionality of specific sites, or of sites in general but by means of injection into the page. They're just Chrome extensions, written to the same APIs and linking to the same help docs. But Arc seems to cut out the popup-menu-ish extensions that I think are the most popular, and that would be a natural fit to sit amongst the favorites buttons. Just in general, Boosts feel underbaked, despite the relatively elaborate UI that's been built out for them.)

The extra jazz: Notes and Easels. Notes amount to a no-op at this stage; they're a text editor in your browser, and that's kind of it. That's not nothing, and there is some sharing functionality I don't understand which is probably aimed at blogging-or-something at some point in the future - all to the good, but nothing that's really there yet. Easels are more interesting, albeit more problematic.

Easels are virtual scrapbook pages. You can type in some fun fonts, do little doodles... but the point is they're tightly coupled with capturing, which is just a screenshot of a portion of a page. That is, they're screenshots until you click the little Play button to make them... live? Yep, they turn into little frame displays of a live page, which is cool and has fascinating possibilities for dashboards and such. I'm concerned about how there's no view-source option for easels. There's no capacity to edit them outside of Arc itself, perhaps because you can open them to editing by others ("anyone"!?!??!), indicating they might be meant as part of the eventual "multiplayer" feature that BCNY has mentioned as a possible business model.

Last but a long way from least is the audio and video functionality. As someone who makes much more use of YouTube and Twitch than a middle-aged man perhaps ought, this has been the single biggest win of my time with Arc. When you play video or sound, then go to another tab, the video pops up in a mini-window that's resizable and quite full-featured; audio-only media will get you a little mini-controller at the bottom of the sidebar. Both are super handy! The only note I have is it would be cool if the video player also popped up when you switch away from Arc entirely, although I'd wager it's impossible to tell when the frontmost tab is covered up visually.

The future: BCNY is venture-backed, and it's reasonable to be suspicious of any commercial venture that has a closed-source browser for you to download. There is such a strong need for UI innovation in browsers that they have me excited, but they sometimes don't seem aware of currents of thought along those lines that one would hope they'd be. For example, they don't have a fediverse account, and don't generally show evidence that they understand the history of efforts to make the web into the internet computer they claim to want. I sometimes worry that this vision of such a device is not coming from internet people.

I'm talking about feeds. Some capacity to do what RSS readers did, and probably what social media clients do, belongs in browsers. Browsers have already circled back to one of the major purposes people went to feeds for - readability - and made it a feature on its own (Arc's readability mode is allegedly present, but hidden and buggy); the other major purpose of feeds, that of catching updates, avails itself of all sorts of approaches. Imagine a browser that had configurable means of checking a URL in the background and letting you know if something interesting (the meaning of "interesting" being something you specify) has changed since the last check. Maybe it has custom tooling for, ahem, certain websites from which people often wish to see the latest.

I'm honestly not sure whether that's a bigger or smaller feature than just building a damn feed reader into the browser, which has still never been tried apart from that one awful half-assed one that Firefox made back in the day. And I understand the reluctance to give people another inbox they have to check. But giving us all the opportunity to say for ourselves what "follow" means would be halfway to the information revolution of which Arc has been waving the flag. I know y'all know what a memex is, BCNY; now show us.

Mike Sugarbaker

And then he started writing a whimsical-ass web site again

2 min read

Because every medium that dies just becomes art, right? Although my messianic drive to save the web or something is also back in play, thanks to Robin Sloan's exhortation to fuck around and find out in 2023. It is certainly an opportune time to experiment with this platform, as existing platforms-on-the-platform begin to collapse, losing their grip on our thinking. But mostly, I just wanted to program again - but to do it in exactly the way that brings me joy. This includes using Clojure, the Lisp I find coziest, and... not only no JavaScript but precious little other client-side code. (Were we rooked?)

I think Mr. Sloan's manifesto is right that it's not time for "products" but for weird tendencies; for development processes that are lived in the open and in social context, not teaser campaigns and invite-only rollouts. But right now I'm wary of writing too much about what I'm doing, rather than doing it, which I think has contributed to other projects petering out. Plus I am 100% back on my bullshit with regard not just to independent web development but to both the weird hypertext systems I used in college, and HyperCard again for god's sake. As a middle-aged man it is naturally embarrassing to be so precisely middle-aged. So maybe I'll say more next time. (Unless you find the secret posts.)

Mike Sugarbaker

Why AI audio is a different ballgame

5 min read

(Sorry I'm late.)

In case you missed it, the latest thing we're calling AI (or Machine Learning or whatever) is ethically very problematic! A legal case has been brought by a few professional illustrators who have had their hard-won, marketable styles straight-up ganked by text-to-image processors. While the second most discoursed-about ML-generation medium, that of text, is not criticized as often on an intellectual-property basis as on its tendency to present statistically-likely nonsense as authoritative-sounding truth, I still worry about its contribution to AI's brand in general as ripping off artists and creators who most often weren't even given opportunity to opt out.

Why would I be worried personally? Because I'm enchanted by the sounds of Dance Diffusion, an application of the Stable Diffusion method to the generation of audio. Like its image-creating sibling, Dance Diffusion starts either from noise - fully random data - or from some starting data with noise transparently overlaid. It then "denoises" the data toward what its model says is likely. As with image generators, giving the model some starting data can result in what's known as "style transfer" - rendering the preexisting content in a style closer to the model, while keeping the fundamentals of the starting point intact. This is, for the most part, how I've been using DD - to do things like ask a model trained on nothing but drum solos to transform a clip from a rap vocal, and other such. (Models that do text-to-sound generation, or creation of audio from written prompts, are beginning to emerge as of this writing but are still fairly limited.)

I have mostly done my style transfers with pre-made models trained on relatively small sets of recordings. My favorite results have come from a model called "unlocked-250k," which gets its first name from its training data, the Unlocked Recordings collection on the Internet Archive. This collection, despite what one might assume from its presence on IA for free download, is mostly under copyright, and not under any sort of unusually permissive license. (None of it is "in print" or otherwise commercially available.) So why are these recordings here, in this model that's in the default model selection for this tool? How does it keep not occurring to nerds that this is a problem?

But here's the thing: when it comes to music, we already have the tools to deal with this situation. They're called ASCAP and BMI. In fact, these tools were created in response to a nearly identical problem: technological changes to the way musicians' IP is distributed, which made said distribution much more indirect and, uh, diffuse.

I doubt these institutions are perfect - I'm certainly not at a point in my music career where I'm in a position to need to know lots about them. (Also I'm completely eliding the issue of voice actors, for whom style transfer is already becoming a threat - but they do have a union!) But I bet they could be talked into handling artists' contributions to the statistical probability of a piece of music's direction and form as it evolves out of noise. Those contributions are individually small, but we generally know exactly what group of artists ought to be getting them, for which recordings. And in the case of very composed starting data, like the hummed basslines and melody fragments I've been making so I can transform them into weird blurts of orchestra, the songwriting is not actually in the picture in the final product (there's some mechanism that gets royalties to arrangers and producers, but I don't know that it's one of the same ones). So I'd expect what users of audio AIs end up paying, as royalties or fees, wouldn't be as large as if you sample something outright. Everybody wins!

I can think of a number of things to quibble back and forth about in such an arrangement (what about consent? You don't get to opt out of having your song played on the radio; is this similar?), but the point is this sort of problem can be understood and handled, and appropriate institutions can be created to attempt to deal with it. Is it conceivable that visual artists could respond to AI by forming a similar layer of institutions? I doubt they have the muscle, plus maybe there is too much work-for-hire happening in illustration, compared to recorded music, to make that approach make sense. But it all puts me in mind of Elinor Ostrom's work debunking (before it was published??!?!) the so-called tragedy of the commons. Everything stays complicated about human beings working together, but invested people with a commitment to each other can work out creative solutions. That gives us an alternative to the simple, absolute cancellation of an entire, fascinating line of research and activity. I hope we take it, in whatever form.

Mike Sugarbaker

Oh hey, it's getting toward time for my annual blog post

Mike Sugarbaker

What is web abolition?

6 min read

Let's do our part for internet content by starting with someone else's Twitter thread:


For several months now I've been having these periodic waves of compulsion to build a web site. I don't even know exactly what web site. Something nostalgic, just for fun; something that helps people create a world made of writing, like the weird, failed alt-wikipedias that obsessed me in my early twenties. Something game-like, maybe... or just a literal game? I've started to cut code for a few of these ideas (I'll still write code, as it turns out, just not for anyone else), but more often I've ruled them out or lost steam before even getting started. Any single one of them would fail to be what I want, which is a weird fever-dream amalgam of all of them.

Hopefully this has all been an extinction burst. The truth is, the web's done. It's best considered legacy now, all of it. This is the oldest of news to zoomers, who've never seen it as a virtuality to explore, but as the place where most forms of bureaucracy live (plus there's a Facebook interface there, I guess, but you'd only use it if you had to). The future almost certainly lies in networks that are roughly monkeysphere-sized, made not for the whole world but for a semi-gated group of people, who are probably connected by some context that isn't solely an online one; Slack or Discord is the paradigm, although given recent events, it sure seems worth looking at open source alternatives.

For a lot longer than several months, I've been involved with efforts to look past the web infrastructure we've got, towards something more useful and less costly and harmful. For a while, this meant the so-called IndieWeb, a collection of efforts to get the things we like about social media back into independent blogs. Then it meant the more radical fixes of the peer-to-peer web. Recently I've had my eye out for entirely new protocols - fresh takes on something like gopher, maybe with some of the interactivity of HTTP, and hopefully some of the writeability that was supposed to be a part of browsers from the beginning. That would be awesome, I've been thinking. Sort of.

And lo, here is Gemini, a new protocol which is almost those things. It was created by a few coders who were still hanging out on Gopher, which alone pleases my soul and gives me that feeling of good-hearted willful obscurity that goes with a lot of my favorite subcultures over the course of my life. It cuts a lot of features out of the web, which is a good and productive way to proceed, but writeability and interactivity are among them, sacrificed for user privacy. (They think the fact that you can send server queries that are rich enough to let you edit the web without editing HTML is inherently tied to everything that's gone wrong! What if they're right? What are my weird, dying dreams of textscapes in that case?) Gemini is like the IndieWeb, and like Beaker turned out to be, in that it doesn't offer anything that an average user, who seems pretty unmoved by privacy and such if their continued enthusiasm for Facebook is any hint, will actually experience as better - as motivation to switch. But the virtuality and exploreability of Gemini is delightful, if not strictly necessary anymore. (I recommend Lagrange.)

So what is a movement toward realizing the web as decaying infrastructure, something whose main verb is "crumble," not "connect"? I envision something like a Matrix client with a web browser bolted onto its side, the way that early versions of Netscape also supported gopher. That web browser would include JavaScript blocking and image blocking by default, sandbox all domains from each other's cookies, and possibly make use of gateway servers to further insulate the user. I'm sure that doesn't cover everything, but you get the idea.

At this late date, we have the gift of knowing what people want from the web, so we could make our client a lot less generic, with features that support RSS, photo feeds, maybe even some IndieWeb-style distributed social stuff. Or what the hell, bolt a Facebook client on there too! Their terms of service don't forbid this from what I can tell (Twitter's do, but Twitter should be abandoned, not embraced and extended). All to the point of positioning the web as something that isn't the center, for those few of us left who need help with that.

I admit I've also been trying idly to think of ways to augment places like Slack and Discord; something that a virtual world, visual or textual, can offer these groups of people... but most likely, my nerd scenes only ever valued such virtualities because we lacked the real-world context these new chat spaces have. Once your community is real and online both, the only adventurous journey that motivates you is... unionizing? Or in the case of non-corporate Slacks, maybe abolishing cops and landlords. If you want something to explore, look out on the streets.

So there's your nice tall glass of goodbye to all that. Don't get me wrong, the web isn't going away or anything. We're stuck with it, just like it itself is stuck with HTML 5 and JavaScript, 25-year-old technologies that were largely intended for other uses (thanks to the Twitter widget above, I have had to add <P> tags to this post manually). Where else are Google results going to come from but a hundred million blogs and forums that just won't quite die? Nothing dies on the internet. Not even Gopher died. If the Internet Archive were a company, I'd want to invest in it;* it's the only operation that feels relevant to the future of "new media," and it's specifically all about its past.

(A fun inside-baseball place to go from this conclusion: when do we short Google? Not immediately, for sure, but it's starting to look a little bit dead-man-walking, like how Yahoo looked ten years ago. Its only hope as a company is either to divest from search almost all the way, or else to really double down on owning the web even more than it does now. Hilariously, one of the best ways to do the latter would be to give direct financial and rhetorical support to the various IndieWeb initiatives. The fact that this will never occur to them would be the most damning evidence that they're in their decline as a company, if it weren't eclipsed by their massive failure to deal on any level with diversity and the general footgun shootout of their corporate culture.)

* You can invest in the sense of donating, which I very much encourage, if you still have the means after donating to things that are much more humanly material.

Mike Sugarbaker

- I don't have anything to say to you people
- I have learned a great deal about the limitations of jokes as a way of relating to strangers but I'm still leaving the above
- I'm probably an asymptomatic carrier
- I still haven't figured out what I'm going to do besides programming
- If I spent as much time playing Dreams as I do watching Dreams streamers I'd be as good at Dreams as I wish I was
- Defund the police
- Abolish the web
- I'm kidding about that last one
- Sort of

Mike Sugarbaker

Some bullet points:

- Still not dead
- Playing Dreams pretty hard. Come check me at https://twitter.com/WoodsenseStudio
- Not a programmer anymore
- Maybe writing a book about roleplaying? We'll see

Mike Sugarbaker

Not dead, just stopped tweeting from here, then stopped tweeting entirely. I own my own Mastodon instance (theha.us) so I’m not going to bother with syndicating to it from here.

If/when I decide what book I’m writing, I’ll post about it here. Or if I make that giant, crazy web site.