Adam in Setting up an IRC server / a Neatnik Guide:
You don’t need Discord for plain text chat. IRC gets the job done just fine, costs less than a “server boost” to run, and puts you firmly in the driver’s seat (especially where privacy is concerned). And you also get to run a real server, not whatever it is that Discord considers a “server”, which is definitely not a server.
Great guide from Adam on how to set up an IRC server. I love IRC. I think I might set up a general chat server at some point, share the details here and see if someone pops up.
More people should.
The way I see it, few parts of American life are as quintessentially American as buying gas. We love our cars, we love our oil, and an industry about as old as automobiles themselves has developed a highly consistent, fully automated, and fairly user friendly system for filling the former with the latter.
I grew up in Oregon.
Have you ever looked at something too long and felt like you were sort of seeing through it? Has anybody actually looked at a company this much in a way that wasn’t some sort of obsequious profile of a person who worked there? I don’t mean
It's been hectic lately. Once things settle down a bit, I think I'm ready.
Going to give Asahi Linux a go.
Today I came across a post in my feed reader. From a blog that I've enjoyed reading for a long time. It's been raw, personal and distinctly human.
Imagine my surprise then, this afternoon when I opened the new post only to be greeted by the classic "Here's why XYZ makes sense" followed by a generic boilerplate list of bullet point that doesn't really say anything at all.
When a real human being I've connected to on some level resorts to using AI to generate posts for their website, I feel conned. A dupe that's fallen for a classic bait and switch. And, look, I get why some people might want to use AI to assist in creating content. But when I follow a personal blog, I want to read things actually written by that person. I want a glimpse into the mind and existence of another human being. My quota of AI generated marketing slop gets filled elsewhere.
After I wrote What we make, I came across a new post on Brandon Sanderson's blog.1 It's a transcript (it would be a great plot twist if the transcript was AI generated) from a talk Sanderson gave called "The Hidden Cost of AI Art". He tackles the subject far better than I ever could, and the talk is worth watching or reading.
I've only read the transcript.
The following part captures the essence of why using AI for creating quote-unquote art is entirely pointless (emphasis mine):
…the books aren’t the product. They aren’t the art--not completely. And this is the point. The most important thing to understand is that the process of creating art makes art of you.
My friends, let me repeat that. The book, the painting, the film script is not the only art. It’s important, but in a way it’s a receipt. It’s a diploma. The book you write, the painting you create, the music you compose is important and artistic, but it’s also a mark of proof that you have done the work to learn.
Because in the end of it all, you are the art.
The most important change made by an artistic endeavor is the change it makes in you. The most important emotions are the ones you feel when writing that story and holding the completed work. I don’t care if the AI can create something that is better than what we can create, because it cannot be changed by that creation.
Many thanks to Brandon for penning these words. Now I have something to refer to when I want to express my view on why AI created blog posts are pointless.
Around the same time, Alberto Galaco published the post What happens when everything is perfect? pontificating some of the same issues. Alberto writes:
That friction between wanting to make something and actually making it used to matter. It was part of learning. Part of ownership. You struggled, failed, tried again, and through that process the idea became yours. When creation becomes instant and disposable, what remains of that bond? What does it even mean to make something anymore?
You should read the full post. I agree with every point Alberto's making. It is clear that this is something that occupies the mind of many smart and competent people, myself notwithstanding. Whatever the eventual outcome of this struggle between man and machine, I hope to see more human written posts in my feed reader in the future.
I have a dedicated category in my feed reader for authors I've read that have a personal website/blog with an RSS feed. Not nearly enough of them do, meaning it's hard for me to keep up with their work. Sad! ↩
Josh Tumath in Try text scaling support in Chrome Canary:
Tip 1: Don't override the initial font size
The default font size comes from the initial value of the CSS font-size property. If an author doesn't specify a size, the initial font-size is medium. But what is medium? Typically it's 16px. But on desktop browsers, users can change it to whatever they want.
Came across this about text scaling, which is definitely a much needed feature, via Luke Harris. Josh's post is clear with good advice on how to support text scaling on your website. I have a ways to go, and need to dive into my CSS to fix it.
Ironically, I've only overridden the initial font size on my site here because I find initial font size to be too small!
You can’t avoid Oracle.
No, really, you can’t. Oracle is everywhere. It sells ERP software – enterprise resource planning, which is a rat king of different services for giant companies for financial services, procurement (IE: sourcing and organizing the goods your company needs to run), compliance,
Borys Kit for the Hollywood Reporter in Brandon Sanderson's Mistborn, Stormlight Archive to Get Movie, TV Show:
Could the next great fantasy screen franchise be here? Apple TV believes so. The streaming giant has closed what has been described as an unprecedented deal to land the rights to the Cosmere books, the fictional literary universe by fantasy author Brandon Sanderson.
Cannot wait!
Every year I make a family highlights movie. Throughout the calendar year, I try to whip out my camera or, if it is all I have at hand, my phone, to capture a glimpse of something that might be worthy of including.
None of it is anything special. And that is kind of the point. I can't dictate the memories my children retain from the childhood. But, my goal with these videos is to shape them. To reinforce the happy moments we shared as a family. Remind them of how their grandparents — even though they might not see them too often in their day to day lives — were there for every special occasion. Show them that they were happy and active and healthy and loved.
Not rarely I need that reminder myself. In the hubbub of daily life it easy to feel doubt that you're doing enough. Going through a plethora of recorded evidence to the contrary reminds me otherwise.
Making these annual movies is quite an endeavour. Capturing the source material is one thing. Sorting it, deciding what to keep and what to discard as I try to weave a story of the year that passed, is no small task. I am no videographer, no movie director, much as I think myself Wes Anderson's slightly less talented, albeit unappreciated cousin as I'm battling iMovie for the seventh year in a row, trying to remember the key combination for cutting a clip before eventually giving in and looking up the answer. When I'm finally done, I feel relieved.
In this day and age, there are tools out there that could do the job for me. I could just dump the raw footage in a chat and something akin to my yearly movie would pop out after a short while. In all likelihood, the movie it produced would be objectively better than anything I can finagle out of iMovie. Smoother, more polished, with a tailor made soundtrack and so on. Far more impressive.
Sometimes I'm tempted to give it a go. Then I take a step back and ask myself "what would be the point?" and I go back to wrestling with iMovie.
Because I know that the end product, the movie itself, is not the point. Making it is. The magic is in hand-picking the moments that make up our family's highlight reel of the year that came and went. My idiosyncratic use of transitions. The way I abuse iMovie's various title effects to superimpose dry-wit commentary atop most clips. An eclectic soundtrack from my own music library to give my kids little hints of who their father was and what he enjoyed listening to.
All these little things inject a little bit of my humanity into the end product. And that is the point. Not just of these movies, but of anything that you and I and everyone else make. To inject as much humanity as possible into the things we make.
Don't fall for the temptation of using technology to produce something polished, soulless and void of humanity when all that matters is to imprint as much humanity as possible.
I’ve gotten a lot of flack throughout my career over my disdain towards test-driven development (TDD). I have met a lot of people who swear by it! And, I have also met a lot of people who insisted that I adopt it, too, often with the implied threat of appealing to my boss if appealing to me didn’t work.
The basic premise of TDD, for those unaware, is that one first writes a unit test that verifies the expected behavior for some function they want to write, observes the new test fail, and then one writes the implementation, iterating on it until the test passes.
Hidde de Vries in I'm back to building my own digital music collection:
Over the past months, I realised it was about time I moved away from music streaming, to keeping a personal music collection that I control.
Great post from Hidde on why he's now back to building his own digital music library. His reasoning is very much in line with why I embarked on the same journey last year.
Related post: Building a digital music library in 2025.
A couple of years back, I began experimenting with self-hosting. I dug out an old laptop and set it up as an always on home server. It did many jobs. Stuff like acting as a file server with access to external storage and backups, automating tasks with scripts, music server, running a torrent client for my legally acquired content and more.
It worked fine. But, the added complexity of another machine bugged me slightly. Most of the tasks could be solved on my daily driver laptop. There was also the fact that it didn't run the latest software from Apple. This caused a lot of friction. I couldn't run Homebrew. It caused a lot of issues when trying to install or update packages. Most current programs would not run on my ancient version of MacOS.
These issues made me want to shut down this "server" and simplify my setup. To do so, I had to solve two problems:
I've solved both problems and decommissioned my old home server. The light bulb moment? Realising that my "home server" doesn't need to be a separate machine. My regular, daily driver laptop can do the job! A server is, after all, just a computer that's always on. My regular laptop can do that, too.
Let's dive into each of the specific problems mentioned above.
As mentioned, my laptop doesn't have enough space for all my data. Using cloud storage and an external drive for local backups, I've been able to work around this limitation.
The past year I've been using a remote installation of Nextcloud for cloud storage, and much more. With the aim of simplifying my setup, I wanted a solution that required less maintenance. After considering multiple solutions, I landed on going back to Apple's iCloud.
Both my laptop and phone are Apple devices. iCloud services are neatly integrated. And, having migrated away from iCloud recently, I feel like I have a solid grasp of what my setup should look like to minimise dependency and vendor lock-in.1 After shopping around, I also realise that the 2TB storage tier is actually reasonably priced. Lastly, it let me go back to using iCloud Photos to browse my photos and videos. It works well and I like it.
I don't want to rely solely on a third party and "the cloud" to preserve all of my data. Especially precious photos and videos. To solve this, I've landed on the following routine:
At the beginning of each month, I export all of my photos and videos from the previous month from Photos to my external drive.2 I then export every other file and document stored on my cloud drive to the drive.
Is it bullet proof? No. I'm susceptible to losing as much as a month's worth of data with this approach. In contrast to a total wipe out, something I can live with.3
Above I mentioned two specific cases of remote access that I had come to rely on:
By setting up my laptop as a de facto server, I've solved both.
I iterated through several approaches for making my music collection available remotely. I first tried Doppler and their sync to iOS feature. While I think Doppler is hands down the best app for playing music on both Mac and iPhone,4 I found the sync cumbersome.
Next, I thought of using iCloud Drive as a "music server". Surely some app could watch a folder in my iCloud Drive and automatically add new files to my music library? Well, you'd think so. But no. I couldn't find any decent app(s) that solved this to my expectations. Plus, my phone doesn't really have enough storage to save my full music library locally. Which really only left me with one option: Setting a full-fledged music server.
This was the solution I had been using for the last few months, running Nextcloud Music on my Nextcloud instance. I resigned myself to the fact that I needed a remote virtual server to solve this. As I'd been wanting to test out Pikapods, I decided to try out Airsonic Advanced. It was too advanced (I have no right to be surprised) and I couldn't get it set up exactly to my liking. Instead, I switched to Navidrome and I found it an absolute delight. I couldn't believe how fast and lightweight it was!
It worked well and, as a bonus, I could continue using Amperfy which I had become comfortable with these last few months. One thing was still bothering me: Streaming and caching my music collection from a remote server, when it was already stored in full on my Mac, was incredibly wasteful. Realising I was (again) on the lookout for a music player to play music on my Mac left me feeling like I was back to square one. Eventually, though, the penny finally dropped:
"Navidrome is so lightweight, I could probably run it on my laptop without any issues!"
Using Homebrew, setting up Navidrome on my laptop was a five minute job. Configuring my laptop to automatically launch Navidrome on startup took me another five minutes. Now we're (rocking and) rolling! The native Navidrome web interface is perfect for playing music on my laptop. And all I had to do to access my music collection from Amperfy on my phone was change the server URL and authentication details.
I didn't really mind only being able to access my full library while on my home network. Amperfy has great caching and downloading the albums I want is no hassle. The only inconvenience was keeping my laptop open and awake to access my music.
Luckily, the other penny dropped at this point. This is a solved problem! I already set up a Macbook as a "home server" and there's no reason I can't do it with this particular Macbook. So, I ran the terminal command5 and I was off to the races. Despite decommissioning my home server, I once more had a "server" running at home. Just one that doubles as my daily driver laptop.
With my laptop running as a server, this problem was solved as well. It was simply a matter of updating my old workflows to rely on iCloud Drive instead of my old Nextcloud instance.
Because I'm not the smartest guy around, my site generator is quite simple: A script monitors a "content" directory. When a new file appears, the site generator runs to process this file and upload all the new and modified files to the server that hosts my website. This lets me update my website from anywhere without having to worry about remote access to my home server. All I have to do is save a text file to the content directory. Whichever cloud service I'm using then does the sync magic, and my home server a.k.a. my laptop, updates my website.
Even images exist only as a file in my content directory. If I reference them in a text document, the site generator picks them up and uploads the file(s).
And that's it. I can now create posts and notes from my phone while I'm on the go. I don't know that I ever will, but at least I can rest comfortably knowing that I can. And that's the most important thing.
I tweaked a setting on my laptop to make sure it doesn't go to sleep when power is connected. I connect to it with my phone to listen to my music and update my website when I'm on the go.
You didn't think I'd actually settle on not being able to access my full music collection while on the go, did you? About five minutes after thinking I could live with that, I remembered Tailscale. With my "server" running a current version of MacOS, I could actually install it and rely on it for proper remote access.
That topic probably deserves its own post. The short version is: Make sure that you control your own data, and that it is stored in open file formats. Picking up your files and going elsewhere is always easier than trying to export data from a proprietary storage solution. ↩
Photos and videos is a great example of where you should make sure that you have your data stored as actual files on a disk. ↩
I always imagine that somehow a "delete all" command will hit my cloud data. Because of syncing, it also wipes out my local copies. That's why I want complete separation for my backups. In that sense, a disconnected external drive makes perfect sense. ↩
Doppler's refund policy also deserves a shoutout. I bought the Mac version and tried it for a couple of days. When I found it wasn't for me, I sent them an email and requested a refund. My money was promptly refunded, no questions asked. This experience made me want to purchase more software from Brushed Type. ↩
sudo pmset -b sleep 0; sudo pmset -b disablesleep 1 disables sleep on a Macbook while connected to power, even when you close the lid. ↩
The front of the American grocery store contains a strange, liminal space: the transitional area between parking lot and checkstand, along the front exterior and interior of the building, that fills with oddball commodities.
Say one thing for Robin Hobb, say she knows how to write a trilogy.
The Tawny Man trilogy is the third three-book collection set in the "Realm of the Elderlings". After Liveship Traders took us south to the Satrap's lands of Bingtown, the Rain Wilds and Jamaillia, Tawny Man takes us back North to the Six Duchies. It was here the story kicked off with the Farseer Trilogy.
Tawny Man is a reunion. It centres around the same main cast of characters as the original trilogy, but not without adding new ones to the mix.
As with both previous trilogies, I found myself unconvinced at the outset. Hobb takes her time to set the scene. But, also as with both previous trilogies, this one grew. And grew. By the middle of the second book, I had a good idea of where the story was going. I was hooked. I didn't get many pages (or locs, to be more precise) into Fool's Fate before I was struggling to put the book down.
This is not unusual with Robin Hobb. All of the three trilogies I've read so far all have the feel of one big book split into three, rather than three distinct stories. The middle books in particular don't even pretend to be stand-alone stories. Instead, they build on the foundation of the first book and creates momentum in the story towards the eventual climax in the final third.
I think it's great.
Although Tawny Man doesn't reach the heights of Liveship Traders, it was a very enjoyable read. In terms of where it falls short, I think there's something about the first person storytelling that is limiting. You don't really get enough perspectives to make all the characters (bar one) feel as real and fully fleshed out. That said, I enjoyed getting closer to what is the most interesting character of all of them throughout these stories.
All in all, this felt like a worthy send off for both Fitz and the Fool. But I still wonder if we aren't going to get to hear more about the former's maternal origin. There's a story yet to be told there, I think, and there are some hints that we will learn more about "Keppet" in time.
I'll close with some of my highlighted quotes and passages from the books:
It could not compare to that moment of completion when minds joined and one sensed the wholeness of the world as a great entity in which one's own body was no more than a mote of dust.
Fool's Errand
Hobb has a way with framing that sense of belonging to something greater than just yourself that one can sometimes experience.
Sometimes I think there is more rest in that place between wakefulness and sleep than there is in true sleep. The mind walks in the twilight of both states, and finds the truths that are hidden alike by daylight and dreams. Things we are not ready to know abide in that place, awaiting that unguarded frame of mind.
Fool's Errand
It is a magical place.
It was a boy's thing to do, this immediate offering to share a prized possession, and my heart answered it, knowing that no matter how long or how far apart we had been, nothing important had changed between us.
Fool's Errand
That's true friendship.
His air of petulant command mimed perfectly that of a foppish dandy of the noble class.
Fool's Errand
I just loved that sentence. Poetic.
… (I) knew that, as it always would, the past had broken free of my effort to define and understand it. History is no more fixed and dead than the future. The past is no further away than the last breath you took.
The Golden Fool
The more history I read, the more I come to agree with this world view.
How many words have I set down on paper or vellum, thinking to trap the truth thereby? And of those words, how many have I myself consigned to the flames as worthless and wrong? I do as I have done so many times. I write, I sand the wet ink, I consider my own words. Then I burn them. Perhaps when I do so, the truth goes up the chimney as smoke. Is it destroyed, or set free in the world?
Fool's Fate
More on the futility of capturing the moment, of defining it, and the truth. Doesn't mean we should stop trying. Just that we can never fully succeed.
Every small, unselfish action nudges the world into a better path. An accumulation of small acts can change the world.
Fool's Fate
It is. And it can.
Give him to me, she said with a woman's weariness at a man's incompetence.
Fool's Fate
Close to home!
No man, in the fullness of his years, should have to experience afresh all the passion that a youngster is capable of embracing. Our hearts grow brittle as we age.
Fool's Fate
I've been pondering this. Is it true? Is it self defence that our emotions dwindle as we age?
Home is people. Not a place. If you back there after the people are gone, then all you can see is what is not there anymore.
Fool's Fate
Home is people.
Wildwood is an upcoming stop-motion movie by the studio Laika. I cam across the trailer earlier today, and it looks awesome. The work and passion that goes into creating a good stop-motion movie is mind boggling.
What really caught my mind, however, was one the main characters, a golden eagle (emphasis mine):
The General, voiced by Honorary Academy Award recipient Angela Bassett, a fierce warrior and leader of the skies
My cousin used to call my grandmother "The General". When I watch this movie I'll undoubtedly imagine that character a representation of my grandmother.
Can't wait!
Kev Quirk in Use the Bloody Shift Key!:
Personally, I can’t abide it. When I come across one of these posts, even if the title sounds genuinely interesting, I just can’t bring myself to read the content. Instead, I end up focusing on the obvious lack of uppercase letters. I know I’m missing out on interesting posts because of this, and that makes me sad.
I share this pet peeve with Kev. When I see someone omitting uppercase letters from their writing, I simply move on. I know it's a stylistic choice and all, but I just nope out of there. First person I remember seeing doing this was Sam Altman. That alone should be reason enough to reconsider the practice for those who engage in it.
Previously on Computers Are Bad, we discussed the early history of air traffic control in the United States. The technical demands of air traffic control are well known in computer history circles because of the prominence of SAGE, but what's less well known is that SAGE itself was not an air traffic control system at all.
Soundtrack - Radiohead - Karma Police
I just spent a week at the Consumer Electronics Show, and one word kept coming up: bullshit.
LG, a company known for making home appliances and televisions, demonstrated a robot (named “CLOiD” for some reason) that could “fold laundry”
Alex Chan in The Good, the Bad, and the Gutters:
To help me understand how this layout works, I’m going to step through it and explain how I built the new version of the page.
You won't find a clearer and more understandable walkthrough of how to set up and style a CSS grid than this one from Alex. Making a note of their trick for fixed height for the cover images for my reading log which is crying out for exactly that.
Update: Inspired by Alex, I've updated the reading log CSS to use fixed height instead of fixed width. Looks much better!
Came across Mole: 🐹 Deep clean and optimize your Mac. today. It is an open source, command line based utility for cleaning your Mac.
I generally don't install much, and try to be pretty diligent about keeping my Mac clean. Nevertheless, I was able to clear up a few gigabytes worth of junk that was lying around.
As you may recall, circa 2022-2023 I was working on a microkernel written in Hare named Helios. Helios was largely inspired by and modelled after the design of seL4 and was my first major foray into modern OS development that was serious enough to get to a somewhat useful state of functionality, with drives for some real hardware, filesystems, and an environment for running user programs of a reasonable level of sophistication.
Helios development went strong for a while but eventually it slowed and eventually halted in a state of design hell.
Except me. I'll never leave. Not ever. I'm here until it's lights out.
Rob Beschizza in Everyone hates OneDrive, Microsoft's cloud app that steals then deletes all your files for Boing Boing:
If you want control over your files (or simply like knowing where they are and be certain they still exist) use another operating system.
Sums up in a single sentence why I'll never again use Windows on a personal computer. The enshittification is unbelievably bad. Rob continues:
And it's such a mess: an operating system packed with ads, upsells and bloat. Something about Microsoft reminds me of oil companies in the southwest: risky environment, externalized costs, nauseating conditions, cunning alignments of liability and safety, no-one cares if it works so long as money is made.

Winter finally started in earnest these last few days. Got out for my first cross country skiing session of the year today.
Crossing an ice covered lake in an otherwise quiet landscape is eerie. The ice is constantly shifting, cracking and resettling, resulting in intermittently ominous sounds.
Steph Ango in File over app:
File over app is a philosophy: if you want to create digital artifacts that last, they must be files you can control, in formats that are easy to retrieve and read. Use tools that give you this freedom.
This philosophy is what I hinted at in footnote 9 in my recent post about my current tech stack.
Storing data in open and accessible file formats is the way to go. It minimises lock-in and gives you great portability and freedom of choice.
Socks have always been a problem for me. I remember my mother, back when I was a kid, lamenting that I wrecked my socks too quickly. And this has remained a problem all through my life. I don't know the cause. Perhaps I drag my feet when I walk. Maybe I mess around and slide slide too much, even as a middle aged man. All I know is that when I buy two ten packs of regular cotton socks, holes start appearing a month or two later.
As a forty year old man of means1 I've decided that enough is enough. No longer will I suffer the discomfort of walking around with holes in my socks. Instead, I will approach this problem methodically, with a twofold aim:
In my advanced age, I've come to prefer wool over cotton in many cases. After embarking on an exhaustive study of sock durability, I seem to be in luck. Wool blend socks appear, in general, to be more durable than cotton socks. Further, my extensive research efforts led me towards two particular brands2:
There seems to be a loose consensus in sock durability awareness communities that these two brands offer the most value of any socks on the market. Well, I'll find out.
My first experiment will be pitching Smartwool's Everyday Anchor Line Crew Socks against a Norwegian market generic brand wool-blend sock.3
Now, I fully expect the Smartwool socks to outlast its opponent. But, the thing is, they also cost five times as much. For the price of three pairs of Smartwool socks, I bought fifteen pairs of the generic brand wool-blend socks. Fifteen!
I've therefore devised the following experiment:
Will the three pairs of Smartwool socks outlast fifteen pairs of the generic brand wool socks? I have my doubts, but I will let you know. Naturally, I will also award extra points for comfort, if one or the other stands out in that regard. Like and subscribe to make sure you don't miss the results!4
The second phase of this experiment will be pitching the winner against Darn Tough socks to determine the ultimate winner. Whoever it is, they will, in all likelihood, gain my patronage for the remainder of my life. Well, if I can find a way to purchase Darn Tough's more anonymous colourways here in Norway. I'm just a plain socks kinda guy.