Blog

MacBook, Ubuntu Server, Herdr, Mosh and Tailscale

The last year I have been experimenting a lot with my computer setup.

I used both Omakub and Omarchy for a while, and even tried Windows(!) and plain Ubuntu. All of the experimenting inevitably made me end up with the following setup:

Macbook + Ubuntu Server, using Mosh, Herdr and Tailscale.

Why back to MacOS?

As much as I liked a lot of the Omarchy opinionated setup, I ended up having many small issues here and there that at the end of the day caused frustration and kept me from doing the work.

One day I simply decided it was too much fiddling and tinkering around for too little actual gain apart from curbing my curiosity.

Why Ubuntu Server instead of Omarchy / Arch?

  • I also run multiple Ubuntu Servers on VPSs for clients. I will also host dev projects here, and wanted familiarity.
  • Super stable and long track record.
  • No need for monitor connected, so all visual prettiness of Omarchy not relevant.

Why having a local Ubuntu Server at all?

The initial idea came from Scott Tolinski and his setup shown here: https://www.youtube.com/watch?v=G0sEM9ijkTE.

He used a Mac Mini for the setup, but conveniently I had a Beelink mini-pc available after my experimentation, and wanted to put it to use.
The great thing about it is that it offloads my MacBook and doesn't fill it up with all projects.

Furthermore it allows me to have all my projects (ca. 30) constantly running, with daily back ups and rsyncing of assets etc. for each project.
I also have long running agents per project via Herdr, and everything is always ready to go regardless of my macbook being turned off in between.

Every morning I have all projects available for development in a fresh state and with 100% local copy, both db, code and assets.
I've set up a dashboard with monitoring of disk space, memory usage and all project url's (like mailhog, dev url and cron-job status).

Herdr

For a while I did the setup mentioned above from Scott, with Mosh and Tmux, but over the summer I decided to try out Herdr.

Herdr was such an improvement that I can not recommend it enough. All the small things that bothered me with Tmux (mouse usage, copying text, adjusting tiling sizes, clearer definition of active pane ++) was solved in Herdr, and packed conveniently together in a very visually appealing and coherent solution.

What about Omarchy Quattro?

Now with a new release from Omarchy, it got tempting again to dive back into it.

But I feel like I have gone the whole round fairly recently, and have learned what I need. What I really need is a terminal-setup that is great (Herdr), a dev-setup that is robust and non dependent on the machine I work on (I now have with the Ubuntu Server), and MacOS for all the convenient everyday tools I rely on (Photos, iMessage, Find my, Airdrop, reMarkable desktop app, CleanShot, iA Writer, Facetime, Logic Pro and more).

Full current setup:

Main machine:
MacBook M1 2020 model (16gb ram)

Dev machine:
Beelink SER8 AMD Ryzen 7 8745HS 64G DDR5 5600MHz + 2TB Crucial SSD running Ubuntu Server

Monitor:
ASUS PA27JCV 5K

Speakers:
Edifier M60s

And Apple Magic Mouse and Magic Keyboard.

Relevant older posts:

Listening for that DNS propagation

Note to self.

I've had the joy of bringing a few sites live the last days, and in one case it was a multi-site with 7 different domains.

During the process I needed a simple overview of the DNS propagation status. Before I've used online sites for this kind of stuff, but this time i reached for a CLI way instead, which I ended up liking.

I used the watch command in the CLI for this (installed via brew) to continually watch it.

Example 1:

Look up eddiedale.com, vasser.no and sans.supply every 10 seconds via the 1.1.1.1 DNS

watch -n 10 'for d in eddiedale.com vasser.no sans.supply; 
   do printf "%-32s %s\n" "$d" "$(dig +short "$d" @1.1.1.1 | head -1)"; 
done'

Example 2:

Listening to a single domain (every 5 second in this example), but from multiple DNS-resolvers (if thats the right word for it).

Here watching Google, Cloudflare, Quad9 and OpenDNS.

watch -n 5 'for r in 1.1.1.1 8.8.8.8 9.9.9.9 208.67.222.222; do
  printf "%-16s %s\n" "$r" "$(dig +short eddiedale.com @$r | tr "\n" " ")"
done'

Price hikes on tech and life span of devices

I wonder if the price hikes across the board on tech (memory, storage etc.) result in an increased focus on longevity and using devices for longer.

Both on consumer level, but also on corporate level with updated policies to save costs.

If so, I'm here for it. Of course the reason behind it is not great, but the reaction would be healthy.

A lot of people have been buying new tech too regularly for a long time, and it's rarely out of necessity.

Think Harder

Bastian Allgeier talked about "brain lock-in" on his podcast interview with Working Draft and it stuck a bit with me.

It came out from the discussions about "vendor lock-ins" when building software (Kirby CMS in this case) and the need to be cautious about building in dependencies, but Bastian interestingly extended the dependency idea to also cover oneself.

Why did this podcast episode speak to me? I guess because I've been feeling a bit on those exact feelings the last few months.

On my last few projects I've been trying to adapt to the "new game" of getting better at prompting and letting go of the hands-on-coding as I felt I was getting outpaced and outworked by "the machines" on what I used to do manually for a living (Is that called rawdog-coding nowadays?).

Brain atrophy is a real thing though, and my natural coding abilities (or at least my belief in them) seem to have a downward spiral as my productivity with AI goes upwards (or at least the feeling thereof). Bastian continued the podcast by saying "I don't really fancy that idea too much" [of getting dependant of that way of working].

Then Robin came along and wrote this on Mastodon:

Post by @iamrobin@mastodon.social
View on Mastodon

And it kind of touches a similar idea.

All the tools are there to make us better and more productive than ever. But it interestingly seems to inversely correlate with the self-belief in ones own craft. At least anecdotally.

Many great creators across genres say the tools are great, but the output (or in some cases quality) while using it doesn't point towards the same conclusion.

Oh, the same goes for writing blog posts too, by the way. Full circle stuff.

Resist the urge to ask AI if this blog post makes sense.

Brain must work.

Bahrami and the joy of playing to the crowd

Rafael Nadal at his best was incredible. The elegance of Roger Federer too. The dominance of Serena Williams and Novak Djokovic in their prime was equally impressive.

Still, someone amazing in his own right, and far less known, is Mansour Bahrami. A successful doubles player hailed as "the Trick Shot King", he isn't hard to find on YouTube, where compilation after compilation captures the sheer joy he brought to courts around the world.

Born in Iran and shaped by a nationwide tennis ban that arguably cost him a fair shot at competing on level terms, he kept a relentlessly optimistic outlook all the same. The joy in the way he plays, and simply in the way he is, is hard not to find inspiring.

Spend a few minutes with his videos when you get the chance. It's hard not to come away smiling.

As a way of nudging myself into a more positive mindset, and as a small counterweight to how much of the daily news pulls the other way, this post is the first of a few I want to keep writing, loosely under the topic of "thinking positively".

I believe in the value of creative constraints, and I hope it gets me back into writing and sharing a bit more frequently.

Currency conversion is never in your favor

Payment terminals, ATMs, Amazon, international transfers, currency exchange apps. Whenever you get the choice, never agree to an automatic currency conversion.

It's called Dynamic Currency Conversion (DCC), and it works like an airport exchange booth bolted onto the payment. The terminal or ATM operator sets the rate, adds a markup, and keeps the difference. A Norwegian Consumer Council survey found Norwegians paid more 99.7% of the time, on average 7% extra.

The rule: always pay in the currency of the country you're standing in. Not your home currency. The terminal is betting you'll pick the familiar one.

Here's what that looks like in practice. You're a Norwegian buying a 4.50 EUR coffee in Germany. The terminal asks: NOK or EUR?

Pick EUR (correct). The charge goes through as 4.50 EUR. Your Norwegian bank converts it to NOK using the Visa or Mastercard wholesale rate, plus a small markup. You end up paying around 53 NOK.

Pick NOK (wrong). The terminal converts 4.50 EUR to NOK on the spot, at a rate it made up. You see something like 58 NOK on the screen and approve it. Your bank charges you that 58 NOK and does nothing else. The terminal already pocketed the 5 NOK difference.

Someone is converting your money either way. The one offering to do it on the spot is almost always the worse deal.

Beelink SER8, Ubuntu server, Mosh and Tmux

For a really long time I was using the same setup for development.
Basically a macbook and Sublime text. Then using DDEV for Craft CMS sites, and Laravel Herd for Kirby or general PHP/static sites.

But things started to change when I dove into Omarchy late summer 2025.
I really started to play with the idea of having more Linux in my life, and be a bit less locked to MacOS.

Omarchy was a great adventure for me into Linux land, as I got knee deep into all kinds of configs and terminal challenges. I was close so close to feeling like this is the way that I ordered a Beelink SER8 mini-pc.

Long story short the Omarchy phase got me to a point where I felt I was now handling two competing computers on many areas. I still used the mac daily and the omarchy was kind of the dedicated dev-machine, but it being stationary ment it was sort of unpractical when moving around.
I was also experiencing all kinds of frustrating small issues, especially with wifi drivers. At one point I realized what a time-thief the whole project was, and that I couldn't any longer justify all this time spent on it.

So that left me in a situation where I just went back to the macbook again for everything, and the SER8 didn't have a purpose.

Then what sparked a new idea was hearing Scott Tolinsky talking about Tailscale: https://www.youtube.com/watch?v=G0sEM9ijkTE
That seemed really cool, and felt like something to try out. Only for me I'd use the Beelink and Ubuntu Server instead of a Mac Mini, and Claude Code instead of Opencode.

And man do i like this setup! Now I have the Beelink standing right next to the router, and it runs DDEV and Caddy (no Herd for Linux) with the added benefit of it being long running. So I basically have all sites running always here, and via cron scripts it pulls live content down daily so I always have a fresh copy to develop on.

Added benefits include running Plex on it, so I easily can access videos on the Apple TV.

But the last hurdle I had was long running Claude contexts. I basically dev via Zed to remote folder, and kept a terminal open for claude stuff. But when the macbook went to sleep it broke the ssh and thereby also the claude convo. So to the rescue came Mosh and Tmux.
Now with Mosh (ssh replacement more resilient to sleep/network breaks etc) and Tmux (persistant terminal sessions) I truly have long running ssh sessions regardless of network changes or the macbook going to sleep etc. and it's just such an enjoyable setup.

So, this post is an appreciation post to all the mentioned open source projects along the way!

Also really enjoy the Beelink! Fwiw its a Beelink SER8 AMD Ryzen 7 8745HS 64G DDR5 5600MHz + 2TB Crucial SSD for $669, which I really feel is a good price for what you get. Just remember to tune the fan to make it silent.

reMarkable editable pdf

One of the main issues I've had so far, is that I sometimes want to add a file from my mac to the remarkable, and still be able to interact with the graphical elements of it on the reMarkable. Simple example: Adding a pdf page with a circle as a pdf to the reMarkable only makes it a passive background layer by default.

To the rescue is Drawj2d: https://sourceforge.net/p/drawj2d/

What I needed to install to get it up and running was:

  • An updated version of Java (brew install --cask temurin)
  • Downloading and extracting Drawj2d, then moving the folder to /Applications
  • Creating a wrapper script so drawj2d works as a terminal command:
printf '#!/bin/zsh\nexec java -jar /Applications/Drawj2d/drawj2d.jar "$@"\n' > ~/drawj2d_wrapper
sudo cp ~/drawj2d_wrapper /usr/local/bin/drawj2d
sudo chmod +x /usr/local/bin/drawj2d
rm ~/drawj2d_wrapper

After this I can run a command on the pdf file as follows:

echo image pageA4.pdf 1  0 0  0.7 | drawj2d -Trmn      ;# reMarkable 2
echo image pageA4.pdf 1  0 0  0.8 | drawj2d -Trmdoc    ;# reMarkable Paper Pro

The generated .rmdoc file can be drag and dropped into the reMarkable mac app, and now its editable on the device.

Would love to see this being possible in a more native way (like being able to export .rmdoc files from the reMarkable app directly).

reMarkable really is Remarkable

It took me a long time to make the jump, but I finally did, and my god is the reMarkable tablet a joyful product.

My long time colleague and friend have used the devices since they first came out, and have always been raving about them, but I always felt I have enough devices and my needs were met on the note-taking front with pen and paper. However over the last months I've been having issues with organizing all my handwritten notes and notebooks and it came to a point where I re-evaluated the reMarkable again.

Not only is it a pure joy to take notes in, but the whole way or organising it all felt very natural from the get-go. No fuss, no complicated tagging systems to deal with. Just simple folders and files and a clear and thought through way of navigating between it all.

The apps for Mac and my iPhone are also great. Especially useful is it to just scan documents (or notes I've had flying around on paper) directly into the tablet, and continue the document there.

The kids love it too, and I find it uncomparable to other digital devices they use in terms of "screen-time". They draw, colorize, write and most importantly create instead of consume with it.

As I'm quite into chess lately, I also made a little tool for generating chess puzzle pdf's for it, so that I can avoid the glaring OLED/LCD/whatever-screens and enjoy the calmness of e-ink. Also enjoying the absolute abundance of notifications. Link to the tool: remarkablechess.com

Oh, and did I mention it's a Norwegian company? As a norwegian myself it's pretty cool to see it have some success among giants like Amazon and Apple.

Check it out at remarkable.com. The one I got was the Paper Pro. Can highly recommend it.

Wabi-Sabi: On Embracing Imperfection

"In traditional Japanese aesthetics, wabi-sabi centers on the acceptance of transience and imperfection." – Wikipedia

It feels especially relevant now in AI-slop days, but I guess that knife could cut both ways.

What I take out of it is that the imperfections of being human, on having opinions and a unique taste, are immeasurably valuable even though machines arguably can deliver more "perfect" solutions.

Of course one could also make the counter argument that machines and their slop is itself the "imperfections", and that those should be embraced. This doesn't sit as well with me, but who am I to judge.

"Wabi-sabi nurtures all that is authentic by acknowledging three simple realities: nothing lasts, nothing is finished, and nothing is perfect."

Kintsugi: Waste not, want not

I also find the Japanese concept of Kintsugi interesting. Kintsugi is a Japanese art of repairing broken pottery, but where the end goal is not to hide the marks from the repair, but rather to embrace them and rather make it an actual visible embellishment.

Sometimes I feel like my kids see me as a cheapskate when I try fixing their broken stuff. Especially if it's fairly low-cost items from the start. Why bother, right? I wonder if kids in Japan naturally have more respect and understanding for this, or if they are also hit by the wave of consumption-first attitudes of the newer generations. As much as I find it important to teach my kids the value of fixing stuff, I am also aware of how mean kids can be to each other and that the concept of Kintsugi is not exactly ingrained in my kids' culture.