Thefoggiest.dev

“Why yes, I do have the foggiest”

About

RSS-feed

Privacy

Archives

Categories

Tags

Webrings

IndieWeb

Retronaut

Fediring

 

archlinux logo coffeepowered logo creativecommons logo hacker culture logo indieweb logo msx.org logo not by ai logo python logo valid rss 2.0 logo selfhosted logo valid css logo valid xhtml logo made in vim logo webmention logo

 

🇺🇦🇵🇸

Insomiac tries a new project

May 07, 2025

At May 5th, this blog, after having enthusiastically presented its new lay-out, was offline for a few hours, the reason being that it had stopped existing.

At home, to stream content into our collective eyes and ears, we use Jellyfin. Using an app on our phones, Jellyfin can stream music over Bluetooth to our amplifier and cast movies and shows to our living room TV over a protocol called DLNA, which is more convenient than using CD and DVD players.

Like a few other pieces of software we use, Jellyfin is installed on our home server inside a Docker container, a lightweight virtual machine. Isolating applications like this means that they can operate and be maintained independently, which has advantages, but it adds a bit of complexity, one of them being that these containers communicate with each other and the host machine using a virtual network.

To be able to offer DLNA, Jellyfin has to be run outside this virtual network, but then other applications inside that network can no longer reach it. This effectively means we either have DLNA or we can use Jellyfin from outside our home over Wireguard or https.

We want both, so the solution I came up with, after a night with no more than two to three hours of sleep, was to dedicate a Raspberry Pi, a small single-board computer of which I own too many, to Jellyfin. I recently stopped a project that used precisely such a device, and I remembered that it was still connected with both a power and a network cable.

I disconnected it and took out its MicroSD card. It felt a bit warm, but I thought nothing of it and using my PC installed Jellyfin on it. When that was done, I reinserted the card into the Raspberry Pi, reconnected it and watched my Pi-hole logs for its network connection.

That was when I noticed the Raspberry Pi hosting this blog was not online.

Realising our Pi-hole also is on a Raspberry Pi, I quickly surmised there were fewer Raspberry Pis online than there should have been. Thoughts go slower after a bad night, but they go nonetheless and more dramatically, so I wiped the MicroSD card for the second time, put my blogging platform on it and “re-created”, then re-populated, itscontent folder. Using documentation I had written for others, this went without any major issues and about two hours after starting the Jellyfin project, this blog was online again.

I’ve learned three things that day:

  1. When replacing a git remote with another one that has the same IP address, hostname and internal path, git(1) will happily push data its way as if it were the same machine. That sounds like a security risk to me.
  2. Always clearly label Raspberry Pis when using more than one at a time.
  3. Do not make major changes to complex things after a night with less than three hours of sleep.

A new design

May 05, 2025

Over the two decades that this blog exists, I have changed its design quite a few times, but I always went for a simple Zen like lay-out with dark letters on a light background, a single column of text with links at the side but no frills. WordPress, which I used before, offered a few templates like that and when I created my own platform, I wanted to mimic one of the older designs that I had been using before 2010.

Lately though, when perusing the glorious sites on Retronaut, I've been contemplating about originality and distinction and also thinking about the two unused areas left and right of the relatively small area of content. Of course, marquees and WinAmp-emulators are neither my style nor useful to a text focused blog, but my single column approach started to feel a little boring.

In April, I published a short post with some reflections on why use a Linux phone instead of an Android or iOS device, and it appeared quite popular. Over the four days after publication it was requested by over 31,000 individual IP addresses and the post was thoroughly dissected by a healthy discussion on Hackernews.

I didn’t read the entire discussion, but I noticed one, albeit off-topic, remark:

“This website is hostile to scrolling on mobile, I’ve never seen a worse UX pattern in my life.”

-- a contributor on Hackernews

Apart from the fact that both the mobile versions of Firefox and Chrome allow you to double tap on the text to have it fill the screen and make scrolling easy, I can think of a few banking or shopping sites whose designs have objectively worse “UX patterns” than this one. I also suspect this contributor hasn’t lived through the age of Geocities. I would dare him to visit any site in the Retronaut web ring.

But it’s use of the word “hostile” that struck me. It’s like saying the vacuum of space is hostile to human life, or that your rooftop is hostile to a car. It’s not hostile, it was just never meant for it.

Long before 2010, some websites had emblems like these:

These emblems would tell you for what browser the site was optimised. Each browser had their own engine then, so this could differ. Tim Berners-Lee, the inventor of the World Wide Web, is famous for comparing these buttons to the eighties, when many files were only readable using specific software on specific platforms. He accused site builders using those buttons out of nostalgia to a bad situation. But even in the nineties, many websites already tried to convey a recognisable corporate image and with the limited and buggy CSS implementations of the time they had to cut corners here and there, or use tables.

Partly as a parody and partly as a protest, some sites would show an emblem like this one instead:

This would tell people that any browser would do fine showing the site they were about to visit. But in 2025, a computer is no longer the only device to consume websites on. Many online texts as well as emails, especially those from mailing lists, are formatted mobile-first. In that, developers do not shy away from any method. Without exception they all seem to use some unnatural combination of CSS and html tables to force their content into a single small column. It's horrible.

Columns, as centuries of newspaper creators will tell you, are easy to read because your eyes don't have to travel very far to the start of the next line, which makes it both fast and easy to find. And that, I'm afraid, is what I thought of as a solution to the big unused areas to the left and right. Obviously, I don't use tables, except where data is presented in table form, so it's just a bit of CSS:

@media (min-width: 1080px) {   .blog-post {       column-count: 3;       column-gap: 20px;   } 

As you can see, I've chosen, for now, to use three columns for the content, with the small column with the links and the buttons still to their left, but only on actual monitors. On mobile screens, you'll still see a single column and I've also increased the font size a fair bit there. After all, according to my logs, a fifth of my readers are on mobile. On a proper computer though, the site now makes much better use of your screen, and it is now also easier to see the entire post (or at least a larger part of it) when reading it. And with that, I think my site acquired a little bit of distinction.

Best viewed on a computer.


Blogging fiction

May 01, 2025

My previous post was a story based on a blog post that I published last summer. In that post I wrote about the difficulty of running among playing dogs. Often, they run along and sometimes they become aggressive, which is why I usually stop running and walk past them. I find this quite annoying.

The story changes the perspective to the dog, who lives with this elderly but well-off lady. He cares for her and doesn't like the runners in the park anymore than they do him, especially because they sometimes startle the lady.

The story was originally written in Dutch. I translated it to English for this blog. I've written (unpublished) fiction direcly in English before, but translating fiction is quite hard. Symbols and metaphores often don't translate that well, so you have to come up with new ones. I was a little apprehensive if it would work, but looking at my logs, I can say it appears well-received.

As always, I'd love any feedback, even if you are an A.I. (those are always so polite).


Courtesy

April 28, 2025

It seemed as if Mrs. Van den Tuynhecke opened her front door with more difficulty every day.

Usually we turned left. Today we went right, to the park. That made me nervous lately, but I kept quiet, as I didn’t want to disappoint her. I walked a few paces left and behind her and tried to enjoy the smell of the grass and trees.

Still, I was alert. Whenever I noticed one, it would struck me cold to heart. Avoid eye contact, walk quietly, leaving plenty of room. Pretend they don’t exist. They could be aggressive.

Inevitably, I saw another one coming. Huffing and puffing, a pungent sweat stench, bare arms and legs, sunglasses and in-ear plugs.

A single round through the park and they were spent.

Pathetic.

Sometimes they ran close past her. As if their measly effort was more important than a minimal form of courtesy. Especially when they came up from behind. She wouldn’t notice them. When I saw her startle, it broke my heart. So rude. Once, I had put one in his place. Firmly. Given him proper feedback, so to say. It had resulted in me being punished, by the lady herself, because she was called to account for it, not me. Then suddenly they had time to stop, and their time didn’t seem so important anymore. But today I had a plan, and I was certain that it couldn’t fail. Today I wouldn’t scoff at anyone. I was going to be nice and courteous.

Lead by example.

I had the tennis ball firmly between my jaws. He came from the left. White running shoes, black shorts and a green breathable and moisture-absorbing shirt with the manufacturer’s logo. On his upper arm the obligatory telephone. Without its statistics, his exercise was useless. I didn’t have to look at him. His bated pace already betrayed that he had an eye on me. As he passed, he snapped something at Mrs. Van den Tuynhecke. I suppressed upwelling anger and went after him, leaving the lady alone for a while. I had no choice. I wouln’t take long. I kept two meters behind him. It went well. It took me no effort and this could not come across as intimidating. Yet he constantly looked back at me. “Go!” he shouted. But I didn’t let myself be discouraged so easily. He slowed down again and repeated himself. Why do people do that? I jogged past him and looked for a suitable place, where I could push myself off. Next to the path I saw that the grass had been churned up. I turned around. I put the ball between my front legs and got ready to sprint away. I looked him straight in the eye, as disarming as I could, my tongue sticking out of my mouth. I couldn’t be clearer.

He ran right past me.

So rude.

I picked up the ball again and quickly walked back to Mrs. Van den Tuynhecke. Lately, she hasn't been throwing the ball as often, but perhaps today she would feel like it.


Daily driving a Linux phone, but why?

April 24, 2025

As a follow-up to a post describing what would be involved for me to daily drive a Linux phone, you could wonder why this would in any way be better than Android. After all, an Android phone will still be needed and remain charged, even though I won’t need to carry it around.

It’s like using a paper notebook and calendar. It’s not about what’s most comfortable or easiest. It’s about a journey to question how we are forced to live our lives and to learn how to live (marginally) differently. It’s also about a better balance between security and privacy. Many will point out that a Linux phone is less secure than Android or iOS, but that highly depends on your personal threat model. Linux phones and their apps are all open-source and do not depend on ads or surveillance to sustain some nefarious business model, which means there is much privacy to be won.

My LGv40 Thinq in fastboot mode My LGv40 Thinq in fastboot mode

The PinePhone Pro’s hardware is slow. Very slow. It has been called “beyond outdated” on Reddit, though that doesn’t mean much to me, seeing that there are four computers from the 1980s less than two meters to my left when I’m writing this. But no matter how fast a phone is, it will never be as fast as my paper calendar or notebook. The PinePhone Pro fast enough to have Firefox play videos or music without interruption, and the navigation and running apps have no problem keeping up with me. And while an app is loading, at least it’s not overstimulating me.

The PinePhone Pro also has a few advantages over my FairPhone, to be honest. It’s lighter and smaller, for one thing, and it has a proper 3.5mm headphone jack. I have a USB-C to 3.5mm cable for my FairPhone, but I always have to re-insert it a few times before it’s picked up. This just works.

As mentioned in the other post, I’m not planning on using the PinePhone Pro. I unlocked the bootloader of my LGv40 Thinq some time ago, and it has a Snapdragon 845 SDM845 SoC, so I can use one of PostmarketOS’s mainline guides. I’d love to use this phone again. Of all my Android phones, it was my favourite. It’s even smaller than the PinePhone Pro while simultaneously having a slightly bigger screen, it’s much faster too and still has a 3.5mm jack. It also has wireless charging, excellent cameras and a fingerprint reader on the back

But let’s see first if I can get it to boot.


CC-BY-SA 4.0 2005 - 2025 Thefoggiest.dev