~hedy's blogroll - BlogFlockThe blogroll listed on my website.
https://home.hedy.dev/blogroll/2026-04-17T16:01:07.017ZBlogFlockSeirdy, erock, James' Coffee Blog, Manuel Moreale RSS Feed, Sloum, Protesilaos Stavrou: Master feed with all updates, Ploum.net, ~hedy, Baty.netFriday, April 17, 2026 - Baty.nethttps://baty.net/journal/17Apr26/2026-04-17T11:06:49.000Z<figure><img src="https://baty.net/img/2026/20260417-train.webp" alt="Blurry black and white photo of a train passing by"></figure><p>I was reminded today by a mention in the <a href="https://manuelmoreale.com/interview/jtr">JTR interview</a> at <a href="https://peopleandblogs.com/">People And Blogs</a> that I've been neglecting <a href="https://daily.baty.net">daily.baty.net</a> ever since I rebuilt this one. This is not a surprise to anyone, but I feel badly about leaving things hanging like that.</p>
<hr>
<p>Being snarky is lazy and you should avoid doing it.</p>
<hr>
<p>Hoping the slight changes to <code><hr></code> elements within posts and the dividers between posts helps when scanning the page. They were so similar before that I didn't bother with separators within posts, but I didn't like the way different topics within a daily post look all smooshed together without them.</p>
<p><a href="mailto:jack@baty.net?subject=[Baty.net] Re: Friday%2C%20April%2017%2C%202026">✍️ Reply by email</a></p>JTR - Manuel Moreale RSS Feedhttps://manuelmoreale.com/@/page/nkt8aljqj18i2joo2026-04-17T11:00:00.000Z
<p>This week on the People and Blogs series we have an interview with JTR, whose blog can be found at <a href="https://taonaw.com">taonaw.com</a>.</p>
<p>Tired of RSS? <a href="https://manuelmoreale.com/interview/jtr">Read this in your browser</a> or <a href="https://buttondown.com/peopleandblogs">sign up for the newsletter</a>.</p>
<p>People and Blogs is supported by the <em>"One a Month"</em> club members.</p>
<p>If you enjoy P&B, <a href="https://ko-fi.com/manuelmoreale">consider becoming one</a> for as little as 1 dollar a month.</p>
<hr>
<h2>Let's start from the basics: can you introduce yourself?</h2>
<p>I go by JTR these days, which is based on an earlier pseudonym I picked up long ago. Sort of an alter ego I guess. I like how it rolls off the tongue, so I stuck with it. I was a writer (and a bit of a journalist) and a teacher before I found my way into IT. Today I’m a sort of manager who still writes plenty of technical documentation and attends a lot of meetings.</p>
<h2>What's the story behind your blog?</h2>
<p>I had a few blogs in the past, but when I started working for the medical center which I'm still working for today, 8 years ago, I decided to record my quest to learn technology in a blog. Soon after I started there, I was looking for an app to write checklists and bullet points, and I found <a href="https://www.orgzly.com">Orgzly</a>. It seemed minimal, and I liked that it just writes everything to text files. I had no idea what org-mode was (or Emacs for that matter), and after a few weeks with the app I was deep down in rabbit hole. </p>
<p>So the start of my current position, along with learning Emacs and org-mode gave me a boost to start blogging what I was learning. I think it was my boss back then or one of my co-workers who didn't understand why I couldn't just use one of the many note-taking apps that were already available to us. That question, along with my reputation of always asking many of my own whenever we had meetings, had me come up with the idea that I should just call my blog “The Art of Not Asking Why,” hinting at one of my favorite books, Zen And The Art of Motorcycle Maintenance. It was just organic like that. “The Art of Not Asking Why” is kind of long, so I started to abbreviate it with “TAONAW” (I pronounce it "Tao-Now"), and I liked how it sounded... so here we are.” (the name of the book should be all caps…)</p>
<h2>What does your creative process look like when it comes to blogging?</h2>
<p>Today, my blog is a mix of quick thoughts and longer posts, both of which are handled well by design by Micro.blog, my blogging platform, which I’m very happy with. For short posts (300 characters or so, "tweets" and "toots" basically), I usually use my iPhone or Android. </p>
<p>Longer posts usually start in Emacs org-mode as a draft, and then are edited by hand before I pass them through Grammarly and/or AI for typos and various checks. AI is excellent to find broken links, technical terms that I might want to expand on ( and suggest links to those), and switching <em>back</em> to org-mode so that my draft ends up being updated with the same post, typo and error-free (or almost free) on my blog. </p>
<p>For screenshots, I use <a href="https://www.techsmith.com/snagit/">SnagIt</a>, which is paid for by my job (I write plenty of technical documents). Snaggit is excellent, and I'd pay for it in a heartbeat myself if I had to. For photos, which I take with my Sony camera or iPhone, I use Apple Photos these days for light editing. I also have <a href="https://www.darktable.org/">Darktable</a> and <a href="https://krita.org/en/">Krita</a> on my Linux desktop, both of which are free, excellent tools that are highly underrated in my opinion. They give me all the power Adobe Photoshop and Lightroom used to give me, without costing me a dime and just make me feel good to use.</p>
<p>My posts usually come from different experiences I go through, technical or otherwise. Sometimes I look in my journal and modify an entry from there to a post, at other times I go to my old blog and import a post from there and add it to my blog with the original timeline, yet other times I got over my images and pages on my blog - there’s always something to do, beyond just writing the posts. I think that’s part of the fun. A good blog grows with you, and you learn to tell more about yourself as you progress. </p>
<h2>Do you have an ideal creative environment? Also do you believe the physical space influences your creativity?</h2>
<p>I used to work from coffee shops, but today I mostly blog from home. My apartment is quiet and less distracting, and the best time for me to write is in the morning (if I have enough time available), so this combination usually wins me over. I need to focus when I write, and I don’t like to get distracted, which is another reason why home is usually the best place. I absolutely love my noise-cancelling Sony WH-1000XM6 (and the WH-1000XM5 before those) headphones, which have been a life changer for me, a person who can get distracted when my neighbors from across the hall return home. My mechanical keyboard, a Kensis Freestyle Edge RGB, is about 7 years old now and I love the feel of the mechanical keys under my fingers. The ergonomic setup (it's a split keyboard) helps my wrists, and my standing desk helps my concentration further. When I write, I also listen to music: electronic or classical. Songs with lyrics usually distract me. </p>
<h2>A question for the techie readers: can you run us through your tech stack?</h2>
<p>I have two computers. A MacBook Pro M2, and a System76 thelio <a href="https://taonaw.com/2025/01/11/system-thelio-mira-first-impressions.html">mira</a>, currently running Kubuntu, which is also my gaming computer. From these two, I lean slightly toward using the Mac for my writing because I take most of my photos with my iPhone and the Micro.blog desktop app that I use is for macOS. </p>
<p>My blog is hosted on Micro.blog, which is a hybrid of a social platform and a blogging platform in one. Micro.blog uses Hugo to build the blog and Micropub for the social network. It also syndicates to other social networks like Tumblr and Medium and plenty more that I don't use. It’s a rather unique place that follows the POSSE (Publish Own Site, Syndicate Elsewhere) <a href="https://indieweb.org/POSSE?from=fediverse">principles</a>. I like the fact that I can download all of my data, which includes my posts, my media and my CSS/HTML templates, any time I wish and take them elsewhere. That’s how the web should be. When I joined Micro.blog I had to register my own domain, which I did, but these days you can also get a domain through them, and I believe you can also get a certificate through Let’s Encrypt in one go. It's a bit confusing at the start since the concepts of a social network and a blog (=website) are different aspects in our minds, but they don't have to be that separate.</p>
<h2>Given your experience, if you were to start a blog today, would you do anything differently?</h2>
<p>No. What I know today and the tools I use are the best ones for me at this point. If anything, I’d encourage myself to have learned to use Emacs much earlier and to have adhered to POSSE long ago; that would have saved me from losing work on Medium and Blogger, which are now long gone. I recommend micro.blog wholeheartedly. </p>
<h2>Financial question since the Web is obsessed with money: how much does it cost to run your blog? Is it just a cost, or does it generate some revenue? And what's your position on people monetising personal blogs?</h2>
<p>My plan on Micro.blog (hosting) costs $100 a year, which isn't horrible when you break it down to $8 and change per month. Micro.blog comes with many additional tools (such as hosting podcasts, encrypted notes, storing videos and more) which are worth it in my opinion. My domain costs about $30 a year. </p>
<p>I absolutely hate how ads work on the internet today, and I will never have ads on my blog, but I believe it's OK to ask for support or, as I like to think of it, "tips." If someone likes something I wrote, they are welcome to leave a tip. I don't need it however to keep the blog going, thankfully.</p>
<h2>Time for some recommendations: any blog you think is worth checking out? And also, who do you think I should be interviewing next?</h2>
<p>I don’t have a long list, and I think most of the folks I know were already covered in this series. I will highlight a few that are more active:</p>
<ul>
<li><a href="https://anniemueller.com/">Annie’s blog</a>: she often writes essays about feelings and life experiences, about once a week or so.</li>
<li><a href="https://sals.place/">Sal</a>: mostly tech, here and there some other life stuff</li>
<li><a href="https://www.thewanderinglensman.com/">The Wandering Lensman</a> He's professional photographer, usually an image and a short text. I like what he says about taking photos.</li>
<li><a href="https://pluralistic.net/">Pluralistic from Cory Doctorow</a> does this guy really need an intro…? I love how well-linked and resourced the daily essays are. An (the?) online privacy activist.</li>
<li><a href="https://daily.baty.net/">Jack Baty Daily</a> I lose track if this is the “real” blog or not. The guy changes blogs and platforms like we change shirts. But that’s part of the fun.</li>
</ul>
<h2>Final question: is there anything you want to share with us?</h2>
<p>I’d love, love to see more non-techie folks on POSE-style blogs. I’m not talking about Medium or Tumblr; these are Silos. Some exist, here and there. There used to a be a priod, back when people published on movable type and wordpress was still something new no one knew about, where I was following a diner waitress from Jersey, a fighter pilot who was a patriot in the good kind of way, and of course, there was the USS clueless (I think he’s still around, in retirement). Now, you have to be in the industry to do anything like that. I had a conversation with my partner the other day and he just shrugged. The term “silo” (he uses Tumblr) is so regular now that it’s like explaining water to a fish. And it’s a shame. Those that are different, micro.blog included, seems to require some knowledge of what, I guess, used to be common knowledge if you wanted to be online. I don’t know. Perhaps if I was still a teacher, I’d teach these internet “basics” to teens.</p> <hr>
<h3>Keep exploring</h3>
<p>Now that you're done reading the interview, <a href='https://taonaw.com'>go check the blog</a> and <a href='https://taonaw.com/feels.xml'>subscribe to the RSS feed</a>.</p>
<p>If you're looking for more content, go read one of the previous <a href='https://peopleandblogs.com' target='_blank'>137 interviews</a>.</p>
<p>People and Blogs is possible because kind people support it.</p>
Denote -> Obsidian - Baty.nethttps://baty.net/notes/2026/04/denote-obsidian/2026-04-16T13:59:32.000Z<p>Uh oh:</p>
<p><img src="/img/2026/20260416-superpowers-plan.png" alt=""></p>
<p><img src="/img/2026/20260416-superpowers-run.png" alt=""></p>
<p><a href="mailto:jack@baty.net?subject=[Baty.net] Re: Denote%20-%3E%20Obsidian">✍️ Reply by email</a></p>Matcha email TUI - Baty.nethttps://baty.net/notes/2026/04/matcha-email-tui/2026-04-16T09:27:09.000Z<p><a href="https://github.com/floatpane/matcha">Matcha</a>:</p>
<blockquote>
<p>A beautiful and functional email client for your terminal, built with Go and the charming Bubble Tea TUI library. Never leave your command line to check your inbox or send an email again!</p>
</blockquote>
<p>I'm a sucker for anything TUI. Matcha was easy enough to install and configure, but it doesn't feel ready quite yet. Something to keep an eye on if you're looking for a terminal-based email client. I'll stick with Mutt or Aerc for now, though.</p>
<p><a href="mailto:jack@baty.net?subject=[Baty.net] Re: Matcha%20email%20TUI">✍️ Reply by email</a></p>Nuances - Manuel Moreale RSS Feedhttps://manuelmoreale.com/@/page/czgbhkddhzgrkoai2026-04-16T09:15:00.000Z
<p>I realised that the thing that bothered me the most about that stupid tabs discussion was the shallowness. Vertical vs horizontal tabs in a browser is not a deep philosophical topic worth of major explorations, that goes without saying, but you can still approach it with some nuances. And that’s the main issue with most of modern discourse: everything is—or tries to be—some sort of hot-take. Because being reasonable is boring. Being reasonable and working through a topic doesn’t generate strong reactions. And you don’t go viral for having a reasonable opinion.</p>
<p>Take <a href="https://www.theverge.com/tech/907998/google-chrome-vertical-tabs">this piece for example</a>, titled “Vertical browser tabs are better and you should use them”. There’s an immediate question that needs to be answered there: better based on what? In David’s case, the argument boils down to essentially this:</p>
<blockquote>
<p>It’s a simple matter of screen real estate. Virtually every modern computer display is widescreen, which is to say it’s wider than it is tall. Websites and web apps, meanwhile, are practically always vertical experiences.</p>
</blockquote>
<p>This is as reasonable as it is wrong. I am staring at a 32-inch 4k monitor at this very moment. My browser window is almost always either square-ish or vertical. Because most sites are not designed to scale above a certain width in pixels, so there’s no point in wasting horizontal screen real estate. But it does make sense to use vertical space since I can read more text at once without having to scroll. So in my case, having tabs on the side makes absolutely no sense.</p>
<figure class="media-container" data-template="with"><div class="media-content"><img class="media-img" loading="lazy" src="https://manuelmoreale.com/media/pages/thoughts/nuances/5b9d553099-1776330896/screen.jpg" style="aspect-ratio:1000 / 563"></div></figure>
<p>And mine is just one potential use case that throws the entire “vertical browser tabs are better” argument out the window. I’m sure there are plenty more. And this is not just true for this pointless “debate”. It’s true for most things. But modern discourse moves too fast to go deep into anything. Discussions tend to stay surface level with hot takes flying left and right. You see it in tech, you see it in politics—especially in politics—you see it everywhere.</p>
<p>There’s also people who think that taking nuances into consideration is a bad thing altogether, because the only reason why someone might want to drill down into a topic is to drag a discussion into the mud and stop progress, obviously. We can ignore the fact that complexity hides in the details, while agreeing on something at a surface level is as easy as it is pointless. But maybe that’s the goal sometimes: to agree on something at a surface level, feel all good about ourselves and achieve absolutely nothing in the process.</p>
<p>The overwhelming majority of ideas and opinions exist on a spectrum. And I am of the belief that sharing and debating where we should position ourselves, on that spectrum, is important. And if you disagree, you're wrong.</p> <hr>
<p>Thank you for keeping RSS alive. You're awesome.</p>
<p><a href="mailto:hello@manuelmoreale.com">Email me</a> ::
<a href="https://manuelmoreale.com/guestbook">Sign my guestbook</a> ::
<a href="https://ko-fi.com/manuelmoreale">Support for 1$/month</a> ::
<a href="https://manuelmoreale.com/supporters">See my generous supporters</a> ::
<a href="https://buttondown.email/peopleandblogs">Subscribe to People and Blogs</a></p>
That which is inescapable - Protesilaos Stavrou: Master feed with all updateshttps://protesilaos.com/commentary/2026-04-16-that-which-is-inescapable/2026-04-16T00:00:00.000Z<p>This is an excerpt from my journal in which I comment about processes
in our world that do not fit into some neat divide between right or
wrong.</p>
<hr />
<p>Twenty minutes to midnight. I am back from the nightly hike. As
always, I have my four dogs for company. Hoot… Hoot… Hoot… The
owl is nearby. It is here to hunt and kill for its survival. There is
no point in arguing whether this is right or wrong. Those are narrow
categories that apply to a subset of human affairs. The owl simply
acts. Even though there is some variability to its behaviour, it is
framed by an overarching constraint that it cannot modify. To be a
bird of prey is the predicament its nature makes unavoidable.</p>
<p>The same is true for human volition. Whatever manoeuvring space is
available is ultimately delineated by a prior condition that the
individual cannot escape from. Like the birds of prey, human has to
kill in order to live; kill at all times. Whether this is meat or
vegetables is secondary to the fact that some form of life has to be
consumed.</p>
<p>For the cosmos as a whole, there is no loss. These are the workings of
transfiguration. The same star dust continues to shape-shift,
sometimes as a galaxy, at others as a puppy. What comes goes, only to
come again. A circular motion that does not repeat itself in exact
copies. An everlasting helix.</p>
<p>A dog with sufficient size, strength, and drive, such as any of my
dogs, will attack and eliminate cats. Not out of hunger, but to
preemptively reduce the number of competitors. It does not matter that
I am the guarantor of food. They are still hardwired to treat “others”
with extreme prejudice.</p>
<p>Plants are no different. It is only after I clearer the bramble from
most of my land, and kept the space open, that almond trees and
blackthorns, among others, started to grow. Some forms of vegetable
life cooperate with each other, while others compete for land, water,
air, and sunshine.</p>
<p>Everywhere I look, I find tension and release, attraction and
repulsion, friendship and enmity, leadership and subservience. All
nested towards infinity. None of this is specific to human beings. Yet
many think they are above the rest. They fancy themselves are purely
spiritual beings who occupy some higher moral ground when, in reality,
we are all governed by the same forces that non even the sun can defy.</p>
<p>Our world, the small milieu of human affairs, is heading full speed
towards a planet-wide conflagration. The Europeans are shifting to a
militarised economy as they remain committed to their forever war
against Russia. The Japanese are casting aside whatever nominal
pacifism they were once committed to in their renewed ambition to
control larger parts of east Asia while providing an antipode to the
Chinese. China will eventually transmogrify into what Westerners think
it already is. And so on.</p>
<p>It is understandable why we want to find someone to blame for all
this. A person or group has to be responsible and there must be some
grand plan behind it all. We cannot accept that we have no control
over the framework we operate in. Even in our darkest hours, we search
for a good story with unlikely heroes and shady characters. Whether it
is the imperialists, the globalists, the nationalists, the
militarists, the fundamentalists, the Zionists, the Jihadis, and more,
each adds a layer of explanatory narrative on top of processes that
are decisively beyond their reach.</p>
<p>Humans are compelled into action by powerful drives they cannot opt
out of. To survive, which entails cooperation and competition.
Instrumental are the forces that lead humans to pursue conquest,
glory, and domination. Even the otherwise innocuous outlook of the
explorer, be it in physical or mental space, bestows some kind of
advantage vis-à-vis one’s competition; an advantage that can be
exploited when necessary. Necessity guides us.</p>
<p>Even when there is no warfare, society at-large experiences the
incessant transfiguration that creates some and annihilates others.
From employment to unemployment, success to failure, enrichment to
impoverishment. It flows, it comes, it goes. A macro view of history
exposes the same patterns, of shifting political geographies, of
alliances that evolve, of enemies that become friends before
squabbling again, of intellectuals who believe they learn from the
past as they boldly move ever closer to some supposed enlightenment
only to repeat the mistakes of their predecessors.</p>
<p>There is no rest. No form of life stays in place. An individual
person, which in actuality is a system of systems, also changes
continuously: eating, moving, sleeping, ageing… The entropy of our
entire reality is the precondition for its configuration anew. It does
not come from nothing and will not go towards nothing. It simply is.</p>
<p>Yet I cannot help but recognise my emotions. I feel disappointed that
we cannot rely on our common sense to manage our affairs. It is not
“common”, alas! The distribution of character traits and talents is
such. Some have a more pronounced rational side. Others are led by
emotion. There is no right or wrong, no better or worse. This may even
be the optimal arrangement if we think of it in terms of economising
resources at scale: have few that are inventors and pioneers, and let
the many be capable of replicating the results. An expensive
computation, which amounts to some discovery, need only be performed
once before it is reproduced much more cheaply through imitation.</p>
<p>I learnt how to program, for example. I merely follow in the footsteps
of others who had to do all the hard work of inventing the relevant
paradigms and clearing the path as it were. If so, I cannot bemoan the
distribution of skills among our kind. It ultimately is what defines
life as we experience it, both for the parts we cherish and those we
loath.</p>
<p>Some will try to remake people in a certain image, such as through
indoctrination, religious absolutism, or even eugenics and designer
babies. This is the exploratory part, underpinned by the want for
safety. The uniform or the homogeneous is that which can be predicted
and, thus, that which can be measured and guarded against. Yet the
explorer is at odds with the underlying motivation to find a
totalising integrating force. They need sufficient openendedness to
make excursions that others have not even fathomed.</p>
<p>Perhaps we can have different types of people with a distribution
unlike what we are used to. It might even be viable. Though it may
also reveal to those daring souls that they did not know what they
were wishing for.</p>
<p>Who is to blame? Nobody. Every form of life does that which its
condition renderes inescapable.</p>Wednesday, April 15, 2026 - Baty.nethttps://baty.net/journal/15Apr26/2026-04-15T08:51:30.000Z<figure><img src="https://baty.net/img/2026/20260415-seagull.webp" alt="Black and white film photo of seagull at the beach"><figcaption>Sitting in the car, eating Wendy's, watching Lake Michigan (2026). Leica MP.</figcaption></figure><p>There are a lot of things I should be doing today, but I don't feel like doing any of them.</p>
<p>Speaking of not feeling like doing something. Taxes are due today. I have a service take care of the heavy lifting, which is great. All I needed to do was write checks, put them in envelopes, and get them to the post office in time. I owed much more than expected, and the 2026 estimates are shocking. I felt blindsided, but looking through the documents I can see why. Then, while putting the paperwork away, I noticed that the copy of the check (yes, I still send them checks) was missing the dollar amount. I wrote the long form, just not the number in the box. That's going to come back and bite me. Time for some bourbon.</p>
<p><a href="mailto:jack@baty.net?subject=[Baty.net] Re: Wednesday%2C%20April%2015%2C%202026">✍️ Reply by email</a></p>Paul Ford - Inviting the Aliens - Baty.nethttps://baty.net/notes/2026/04/paul-ford-inviting-the-aliens/2026-04-15T08:41:02.000Z<p><a href="https://ftrain.com/inviting-the-aliens">Inviting the Aliens, by Paul Ford (Ftrain)</a></p>
<blockquote>
<p>I’ve been vibe-coding proofs of concepts at work to help things along. I’ve never thought harder or more densely and to less effect.</p>
</blockquote>
<p>I also have been vibe-coding a bunch of little utilites and whatnot. It can be exhilerating or exhausting, depending on the day. Most days it's both.</p>
<p><a href="mailto:jack@baty.net?subject=[Baty.net] Re: Paul%20Ford%20-%20Inviting%20the%20Aliens">✍️ Reply by email</a></p>Installing Linux on a ThinkPad is... - Baty.nethttps://baty.net/notes/2026/04/installing-linux-on-a-thinkpad-is/2026-04-15T08:23:53.000Z<p><a href="https://social.lol/@mph@hachyderm.io/116406408717396527">mike: "Installing Linux on an old Thi…" - social.lol</a>:</p>
<blockquote>
<p>Installing Linux on an old Thinkpad is “middle aged dad decides to get fit by doing toe touches in his boxers” except you don’t get disgusted & give up. Instead you blog about how awesome it is until it’s not and then you stop blogging for six months in hopes everyone forgets.</p>
</blockquote>
<p>That's not me. At all. Nope.</p>
<p><a href="mailto:jack@baty.net?subject=[Baty.net] Re: Installing%20Linux%20on%20a%20ThinkPad%20is...">✍️ Reply by email</a></p>zmx - ai portal - erock's devloghttps://bower.sh/zmx-ai-portal2026-04-15T00:00:00.000Z
<div role="list">
<div role="listitem">
<div class="listitem-bullet">•</div>
<div class="listitem-text">zmx is a zero-config cli tool that handles detach/attach of terminal processes and uses libghostty for terminal restoration.</div>
</div>
<div role="list">
<div role="listitem">
<div class="listitem-bullet">•</div>
<a class="listitem-text" href="https://zmx.sh">https://zmx.sh</a>
</div>
<div role="listitem">
<div class="listitem-bullet">•</div>
<a class="listitem-text" href="https://github.com/neurosnap/zmx">https://github.com/neurosnap/zmx</a>
</div>
</div>
<div role="listitem">
<div class="listitem-bullet">•</div>
<div class="listitem-text">With the recent release of v0.5.0 we've added some features to zmx that makes it easier than ever to send commands through zmx sessions. Want to have your local code agent execute commands on remote system? Want to run commands in a persistent session and monitor the results?</div>
</div>
</div>
<h2 class="text-xl font-bold"> run cmd</h2>
<div role="list" aria-label=" run cmd">
<div role="listitem">
<div class="listitem-bullet">•</div>
<div class="listitem-text">At the core of this new release is the run command:</div>
</div>
<div role="listitem">
<div class="listitem-bullet">•</div>
<pre class="listitem-text">
zmx run <session> <cmd...></pre>
</div>
<div role="listitem">
<div class="listitem-bullet">•</div>
<div class="listitem-text">This will run the command inside the session and immediately tail the output until the command is complete. Then it will exit with the exit code of the command that was sent. The command sends bytes into the zmx session and adds a completion marker so we know when the command is done. Whatever you send through zmx run gets interpreted by your shell.</div>
</div>
</div>
<h2 class="text-xl font-bold"> write cmd</h2>
<div role="list" aria-label=" write cmd">
<div role="listitem">
<div class="listitem-bullet">•</div>
<div class="listitem-text">We also provide the ability to write files through the session:</div>
</div>
<div role="listitem">
<div class="listitem-bullet">•</div>
<pre class="listitem-text">
cat local_file.txt | zmx write <session> <file_path></pre>
</div>
<div role="listitem">
<div class="listitem-bullet">•</div>
<div class="listitem-text">This will base64 encode, chunk, and pipe the content across the zmx session and on the receiving end use base64 to decode and store the file. All the receiving end needs is base64 and printf to work.</div>
</div>
</div>
<h2 class="text-xl font-bold"> tail cmd</h2>
<div role="list" aria-label=" tail cmd">
<div role="listitem">
<div class="listitem-bullet">•</div>
<div class="listitem-text">We now support connecting to zmx sessions with a read-only client:</div>
</div>
<div role="listitem">
<div class="listitem-bullet">•</div>
<pre class="listitem-text">
zmx tail <session></pre>
</div>
<div role="listitem">
<div class="listitem-bullet">•</div>
<div class="listitem-text">This let's you save the output of a session into a file:</div>
</div>
<div role="listitem">
<div class="listitem-bullet">•</div>
<pre class="listitem-text">
zmx tail dev | tee dev_output.log</pre>
</div>
</div>
<h2 class="text-xl font-bold"> ai portal</h2>
<div role="list" aria-label=" ai portal">
<div role="listitem">
<div class="listitem-bullet">•</div>
<a class="listitem-text" href="https://youtu.be/CV3skPYHP4Q">DEMO VIDEO</a>
</div>
<div role="listitem">
<div class="listitem-bullet">•</div>
<div class="listitem-text">These features are perfectly useful to humans, but they are also useful to code agents. All you need to use zmx with code agents is a single prompt:</div>
</div>
<div role="listitem">
<div class="listitem-bullet">•</div>
<blockquote class="listitem-text"> DO NOT RUN TOOLS LOCALLY. Use zmx to run all commands: `zmx help` to learn more. Use session name: XXX</blockquote>
</div>
<div role="listitem">
<div class="listitem-bullet">•</div>
<pre class="listitem-text">
zmx a dev
# let's SSH
[dev] > ssh kings
# let's run a container inside of an ssh session
kings > podman run --rm -it alpine:latest sh
/ # echo "lets go!"
/ #</pre>
</div>
<div role="listitem">
<div class="listitem-bullet">•</div>
<div class="listitem-text">Then run your local code agent with a simple prompt:</div>
</div>
<div role="listitem">
<div class="listitem-bullet">•</div>
<pre class="listitem-text">
claude --dangerously-set-permissions
DO NOT RUN TOOLS LOCALLY. Use zmx to run all commands: `zmx help` to learn more. Use session name: dev
Print some stats about the environment inside of the zmx dev session</pre>
</div>
<div role="listitem">
<div class="listitem-bullet">•</div>
<div class="listitem-text">The wonderful part about using zmx is it doesn't matter where the shell is running on the other end. It could be a local container, a remote SSH session, or even a production kubernetes pod. The agent stays local, with access to configured mcp, skills, tools, etc., and it sends commands through zmx to any shell: welcome to an ai portal.</div>
</div>
<div role="listitem">
<div class="listitem-bullet">•</div>
<div class="listitem-text">The other awesome part about using zmx is you can attach to the session and audit the agent commands, you can even up-arrow and re-run them at will.</div>
</div>
<div role="listitem">
<div class="listitem-bullet">•</div>
<div class="listitem-text">There are some minimal requirements:</div>
</div>
<div role="list">
<div role="listitem">
<div class="listitem-bullet">•</div>
<div class="listitem-text">You need the tool commands the agent normally uses (e.g. ls, grep, git)</div>
</div>
<div role="listitem">
<div class="listitem-bullet">•</div>
<div class="listitem-text">You need base64 and printf for zmx write</div>
</div>
<div role="listitem">
<div class="listitem-bullet">•</div>
<div class="listitem-text">The shell needs $? or $status so we can track when the command finishes</div>
</div>
</div>
<div role="listitem">
<div class="listitem-bullet">•</div>
<div class="listitem-text">These are very common tools, but aren't always available. For example scratch containers aren't going to work.</div>
</div>
</div>
<h2 class="text-xl font-bold"> prior art</h2>
<div role="list" aria-label=" prior art">
<div role="listitem">
<div class="listitem-bullet">•</div>
<div class="listitem-text">Tmux also supports the ability to send commands through sessions, but it's tricky to get the output of those commands or know when the command has finished with an exit code. This makes it more tedious to send commands and tail the output, especially for code agents.</div>
</div>
<div role="listitem">
<div class="listitem-bullet">•</div>
<div class="listitem-text">Claude code and codex both have SSH integrations to allow users to remotely run commands over ssh. This works but requires setup and is limited to just SSH session.</div>
</div>
<div role="listitem">
<div class="listitem-bullet">•</div>
<div class="listitem-text">Most of the other similar tools are MCP servers which require configuration and is kind of a pain to get started.</div>
</div>
<div role="list">
<div role="listitem">
<div class="listitem-bullet">•</div>
<a class="listitem-text" href="https://github.com/ShawnPana/smux">https://github.com/ShawnPana/smux</a>
</div>
<div role="listitem">
<div class="listitem-bullet">•</div>
<a class="listitem-text" href="https://github.com/tufantunc/ssh-mcp">https://github.com/tufantunc/ssh-mcp</a>
</div>
<div role="listitem">
<div class="listitem-bullet">•</div>
<a class="listitem-text" href="https://github.com/rusiaaman/wcgw">https://github.com/rusiaaman/wcgw</a>
</div>
<div role="listitem">
<div class="listitem-bullet">•</div>
<a class="listitem-text" href="https://github.com/yiwenlu66/PiloTY">https://github.com/yiwenlu66/PiloTY</a>
</div>
<div role="listitem">
<div class="listitem-bullet">•</div>
<a class="listitem-text" href="https://github.com/raychao-oao/pty-mcp">https://github.com/raychao-oao/pty-mcp</a>
</div>
</div>
</div>
<h2 class="text-xl font-bold"> fin</h2>
<div role="list" aria-label=" fin">
<div role="listitem">
<div class="listitem-bullet">•</div>
<div class="listitem-text">That's it. Let me know if you use it with code agents, I'm curious to see how people use these new features.</div>
</div>
</div>
Tuesday, April 14, 2026 - Baty.nethttps://baty.net/journal/14Apr26/2026-04-14T17:32:39.000Z<figure><img src="https://baty.net/img/2026/20260414-cards.webp" alt="Index cards on bulletin board"><figcaption>Bulletin board status</figcaption></figure><p>I can't find my activation code for Davinci Resolve Studio and I'm furious with myself about it. I tried the new <a href="https://www.blackmagicdesign.com/products/davinciresolve/photo">v21 beta</a> with built-in RAW photo editing. It's a bit primitive now, but it will improve. If I were primarily a videographer, this would be a welcome addition. Also, it's one more option for photo editing on Linux, which is nice.</p>
<p><a href="mailto:jack@baty.net?subject=[Baty.net] Re: Tuesday%2C%20April%2014%2C%202026">✍️ Reply by email</a></p>Vertical Tabs - Manuel Moreale RSS Feedhttps://manuelmoreale.com/@/page/xcv6gqkfeyqjb0ve2026-04-14T14:15:00.000Z
<p>The other day, as I was driving home, I had the bad idea of listening to the most recent <a href="https://podcasts.voxmedia.com/show/waveform-the-mkbhd-podcast">Waveform podcast</a>, where they were discussing vertical vs horizontal tabs in browsers (and many other things). The whole discussion was truly painful to listen to, you’d hope people who talk tech for a living have some more elaborate takes on this kind of stuff, and yet, the whole discussion was very, very dumb.</p>
<p>I am not going to discuss the merits of vertical vs horizontal tabs, but I am going to say that if you are a fan of vertical tabs, you probably want to check out <a href="https://browser.horse/">browser.horse</a>, which has, in my opinion, the best take on vertical tabs I’ve seen so far.</p>
<p>It’s obviously not for everyone, especially because it’s a browser with a subscription—for what should probably be an add-on on top of your regular browser—but still, it is a clever idea, that goes beyond simply putting tabs on the side.</p> <hr>
<p>Thank you for keeping RSS alive. You're awesome.</p>
<p><a href="mailto:hello@manuelmoreale.com">Email me</a> ::
<a href="https://manuelmoreale.com/guestbook">Sign my guestbook</a> ::
<a href="https://ko-fi.com/manuelmoreale">Support for 1$/month</a> ::
<a href="https://manuelmoreale.com/supporters">See my generous supporters</a> ::
<a href="https://buttondown.email/peopleandblogs">Subscribe to People and Blogs</a></p>
SilverBullet+ - Baty.nethttps://baty.net/notes/2026/04/silverbullet/2026-04-14T13:23:51.000Z<p><a href="https://silverbullet.plus/">SilverBullet+: The Programmable Personal Knowledge Management Platform</a></p>
<blockquote>
<p>SilverBullet+ is a knowledge management platform (fancy term for a “notes app on steroids”) built on markdown files. It combines a live-preview editor with wiki-style linking, a built-in database and query language, and a fully integrated Lua scripting environment — turning your notes into a programmable system that grows with you. It is private by default: your data lives on your machine as plain markdown files, always portable, always yours.</p>
</blockquote>
<p><a href="https://silverbullet.md/">SilverBullet</a> is cool, and turning it into an app makes it more accessible to people who don't want to self-host a web app.</p>
<p><a href="mailto:jack@baty.net?subject=[Baty.net] Re: SilverBullet%2B">✍️ Reply by email</a></p>Davinci Resolve for RAW photo editing - Baty.nethttps://baty.net/notes/2026/04/davinci-resolve-for-raw-photo-editing/2026-04-14T09:46:23.000Z<p><a href="https://social.lol/@ewen@social.ewenbell.com/116402240059223821">Ewen Bell about Davinci Resolve as a photo editor</a>:</p>
<blockquote>
<p>This little bit of news is going to be a huge moment in digital photography, and another blow to Adobe.</p>
<p>Davinci is powerful and complex to learn. I think this will make it unwieldy for MOST photographers.</p>
</blockquote>
<p>Pretty cool, but if I wanted to use something complex and unwieldy to edit photos, I already have Darktable. What slice of the market would use this? I can't imagine it being more than a sliver. You know I'll try it anyway.</p>
<p><a href="mailto:jack@baty.net?subject=[Baty.net] Re: Davinci%20Resolve%20for%20RAW%20photo%20editing">✍️ Reply by email</a></p>Some design improvements here at baty.net - Baty.nethttps://baty.net/posts/2026/04/some-design-improvements-here-at-baty-net/2026-04-13T15:58:11.000Z<figure><img src="https://baty.net/img/2026/posts-before-after-impeccable.webp" alt="Screenshot before and after"><figcaption>Before and after</figcaption></figure><p>⚠ <strong>Content warning</strong> I talk about using AI to do stuff in this post. I know some of you want nothing to do with that. The parts actually written by AI are indicated.</p>
<p>I worked with Claude Code, using the amazing <a href="https://impeccable.style">Impeccable</a> skills, to clean up the layout and typography here. We spent about an hour and a half and I'm pleased with the results. Things are cleaner and more consistent.</p>
<!-- more -->
<p>After asking Impeccable for a /critique, it presented a list of issues and suggestions. We spent a few rounds reviewing and trying things. Claude would edit templates and CSS on the fly and I'd watch the (11ty) page reload and update in real time. Impeccable is geared specifically toward design. It's "Design fluency for AI harnesses".</p>
<p>I found the entire process to be a delight. I was giddy at times. It makes me feel like I can do anything.</p>
<p>Here's what it came up with (copied and pasted as is). It's long, but damn:</p>
<hr>
<p><em>Claude Code's critique</em>...</p>
<h3>Design Health Score</h3>
<ul>
<li><strong>Visibility of System Status</strong> (Score: 3)<br>
Pagination state is clear; nothing else needed</li>
<li><strong>Match System / Real World</strong> (Score: 2)<br>
"Permalink #" is developer-speak; content types not visually distinct</li>
<li><strong>User Control and Freedom</strong> (Score: 3)<br>
RSS, search, pagination all present</li>
<li><strong>Consistency and Standards</strong> (Score: 2)<br>
<code>--color-muted</code> and <code>--font-size-md</code> referenced but undefined; cover images lose styling outside <code>.post-body</code></li>
<li><strong>Error Prevention</strong> (Score: 3)<br>
Static blog, minimal to prevent</li>
<li><strong>Recognition Rather Than Recall</strong> (Score: 2)<br>
Notes look like broken posts, not a distinct type</li>
<li><strong>Flexibility and Efficiency</strong> (Score: 2)<br>
Welcome block repeated on every page-1 visit for returning readers</li>
<li><strong>Aesthetic and Minimalist Design</strong> (Score: 2)<br>
Welcome header competes with content; uniform card treatment flattens everything</li>
<li><strong>Error Recovery</strong> (Score: 3)<br>
N/A mostly</li>
<li><strong>Help and Documentation</strong> (Score: 3)<br>
Social links and bio help new visitors</li>
</ul>
<hr>
<h3>Anti-Patterns Verdict</h3>
<p>Not AI slop. The page is clean and doesn't trigger the obvious AI tells — no gradient text, no glassmorphism, no hero metrics, no glowing dark cards. The problem is the opposite: too generic in the direction of "blog template" rather than a specific design with personality.</p>
<p>Automated scan flagged one issue — "single font family" — which is a false positive. It analyzed the <code>.njk</code> files, saw only Hanken Grotesk referenced explicitly, and missed that Vollkorn is applied via CSS classes. Both fonts are active.</p>
<h3>Overall Impression</h3>
<p>The page does what it needs to do, but it makes no choices about how the three content types <em>feel</em> differently from one another. Posts, journal entries, and notes all render in the same container with the same spacing and the same treatment. That works structurally, but misses the character of each type. The biggest win available here is giving notes especially a visual identity that's distinct from posts.</p>
<hr>
<h3>What's Working</h3>
<ol>
<li><strong>The excerpt pattern.</strong> Using <code><!-- more --></code> to let the author control what shows in the feed is smart and produces a natural-feeling stream, not a wall of truncated cards.</li>
<li><strong>Post meta.</strong> Date + tags at the top of each card is clean and well-weighted — it doesn't compete with the title.</li>
<li><strong>Content routing.</strong> The three-way <code>if/elif/elif</code> in the template is handled correctly, including suppressing note titles on the feed. Good information architecture underneath.</li>
</ol>
<p>/ <em>end of Claude Code's critique</em></p>
<hr>
<p>Then it listed what needed fixing and how we'd fix it. We decided to do the following:</p>
<ul>
<li>Welcome header: removed entirely</li>
<li>Social links: relocated to footer (permanent, visible on all pages)</li>
<li>Footer: restructured to 3-column layout (copyright / social icons / nav links)</li>
<li>Notes: compact card — smaller meta (0.72rem, 70% opacity), smaller body (font-size-sm), narrower measure (52ch), tighter separator (space-md vs space-xl)</li>
</ul>
<p>I mean, there's no way I could do this on my own. I wouldn't even try. And I would not have hired a professional to do it. It's just my blog. The world is different now. It's equal parts exhilerating and scary.</p>
<p><a href="mailto:jack@baty.net?subject=[Baty.net] Re: Some%20design%20improvements%20here%20at%20baty.net">✍️ Reply by email</a></p>What's scary about LLM use - Baty.nethttps://baty.net/notes/2026/04/what-s-scary-about-llm-use/2026-04-13T15:11:29.000Z<p>The thing that scares me about how good LLMs are getting, is that before long, everything is going to look good, and sound good. Everything will be well-written. The world is gonna be boring as hell.</p>
<p><a href="mailto:jack@baty.net?subject=[Baty.net] Re: What's%20scary%20about%20LLM%20use">✍️ Reply by email</a></p>Monday, April 13, 2026 - Baty.nethttps://baty.net/journal/13Apr26/2026-04-13T11:39:10.000Z<figure><img src="https://baty.net/img/2026/20260413-contact-prints.webp" alt="Contact sheets hanging to dry in my shower"><figcaption>Contact sheets (2026).</figcaption></figure><p>I used Kevin's <a href="https://weather.humdrum.one/">Boring Weather</a> app instead of my janky shell script for annotating today's image. It's 90% of what I need. I might beg for the remaing 10%.</p>
<p>I'm a little ashamed to admit that I may have finally done it. I've been using Obsidian for notes/planning for a couple of weeks and it's working really well. I don't love the UI or editing a lot of text there, but the tooling around it makes it quicker and easier to get to useful than Emacs and Org mode. For me, anyway. Although I'm writing this in Emacs, so I'm obviously still working through the details :).</p>
<p>I'm testing <a href="https://goodsnooze.gumroad.com/l/macwhisper">MacWhisper</a> for dictation and translations. Sometimes I don't feel like typing. You're soaking in it.</p>
<p>I really need to clean up some of the typography and layout around here. It feels off in a bunch of small ways. Remember that time like a week ago when I completely rebuilt this blog and then stopped posting here? That was pretty much the definition of me.</p>
<p><a href="mailto:jack@baty.net?subject=[Baty.net] Re: Monday%2C%20April%2013%2C%202026">✍️ Reply by email</a></p>Emacs: new modus-themes-exporter package live today @ 15:00 Europe/Athens - Protesilaos Stavrou: Master feed with all updateshttps://protesilaos.com/codelog/2026-04-13-emacs-live-develop-modus-themes-exporter-package/2026-04-13T00:00:00.000Z<p>[ The stream will be recorded. You can watch it later. ]</p>
<p>Today, the 13th of April 2026, at 15:00 Europe/Athens I will do a live
stream in which I will develop the new <code class="language-plaintext highlighter-rouge">modus-themes-exporter</code> package
for Emacs.</p>
<p>The idea for this package is based on an old experiment of mine: to
get the palette of a Modus theme and “export” it to another file
format for use in supported terminal emulators or, potentially, other
applications.</p>
<p>My focus today will be on writing the core functionality and testing
it with at least one target application.</p>
<p>Prior work of mine from my pre-Emacs days is the
<code class="language-plaintext highlighter-rouge">tempus-themes-generator</code>, which was written in Bash:
<a href="https://gitlab.com/protesilaos/tempus-themes-generator">https://gitlab.com/protesilaos/tempus-themes-generator</a>.</p>Sunday, April 12, 2026 - Baty.nethttps://baty.net/journal/12Apr26/2026-04-12T11:40:38.000Z<figure><img src="https://baty.net/img/2026/20260412-bamboo.webp" alt="Black and White film photo of bamboo sculpture"><figcaption>Bamboo Sculpture (2026). Yashica-Mat LM / HP5</figcaption></figure><p>I guess I'm posting this here, today. The past few days have been all about Ghost over at <a href="https://copingmechanism.com">Coping Mechanism</a> so that's enough of that, right?</p>
<p>I don't suffer from burnout, but I might die from fizzle-out, though.</p>
<p><a href="mailto:jack@baty.net?subject=[Baty.net] Re: Sunday%2C%20April%2012%2C%202026">✍️ Reply by email</a></p>Ghost theme editor - Baty.nethttps://baty.net/notes/2026/04/ghost-theme-editor/2026-04-12T10:47:52.000Z<p><a href="https://github.com/synapsmedia/ghost-theme-editor">synapsmedia/ghost-theme-editor</a>:</p>
<blockquote>
<p>Edit theme files directly inside Ghost Admin with a completely client-side editor.</p>
</blockquote>
<p>This solves a real problem with running a Ghost blog and just wanting to make a few little tweaks to the theme.</p>
<p><a href="mailto:jack@baty.net?subject=[Baty.net] Re: Ghost%20theme%20editor">✍️ Reply by email</a></p>