2026-W33: Looking Up

A week of milestones: a long-built product reaches GA, Berlin gathers for a partial eclipse, and smaller creative and technical frictions begin to clear.

People sharing eclipse glasses outside the Zeiss Grossplanetarium in Berlin

A Long-Built Milestone

At work this week, we finally released our product for general availability.

In a way, this is the thing I was hired to build. Not the only thing I have worked on, of course, but it was a large part of why I joined the company. It has been in progress for as long as I have been there, with a lot of work from a lot of people going into it.

Seeing it become available to many of our customers felt like an important milestone. There was a celebration in the office and a whole bunch of other things around the release. Mostly, though, it was simply exciting to arrive at this point after building towards it for so long.


Seeing the Eclipse

There was also an eclipse on Wednesday. I found out about it quite late.

The prediction was that about 85% of the sun would be covered in Berlin, while places such as Spain would see a total eclipse. It felt like a rare opportunity to see one again. The last eclipse I clearly remember was sometime around 2006, although I cannot remember exactly which one it was.

I was just entering high school then. I remember the afternoon becoming dark and the eclipse being the thing everyone talked about, both on the news and around us. At the time, I understood little beyond the moon passing between the Earth and the sun. There were also plenty of superstitious stories around it. Still, it was fascinating to experience.

Other eclipses have happened since, but I was either in the wrong place or they occurred at an inconvenient hour. This one was happening at a good time, so even with the late notice, I wanted to try.

That was when I learned that eclipse glasses had sold out almost everywhere in Berlin.

We considered two places: the Zeiss Grossplanetarium and Tempelhofer Feld. The planetarium seemed like the better option because it would have glasses and would also be showing coverage from places with a total eclipse, including Spain and Iceland. The same evening was its Long Night of Astronomy, running from around 5 p.m. until midnight, and the Perseids meteor shower was happening too.

When we arrived, the area was packed. I walked around the planetarium trying to find glasses, then eventually asked someone and learned they had sold out about an hour before we got there. Some people had arrived around three hours before the event.

For a moment, it seemed we would have to find a clear view of the sun and awkwardly ask a stranger to lend us their glasses. Then, while walking out, we noticed a couple we are friends with. They had arrived hours earlier and managed to get some of the last glasses. Luckily for us, they shared theirs.

And just like that, we got to see the eclipse.

I was genuinely happy we ran into them. After all the late planning and sold-out glasses, the experience still worked out.


Inside the Planetarium

It was also my first time inside the Zeiss Grossplanetarium.

I have passed it many times and seen it from a distance, always telling myself I would visit one day. Because entry was free that night, we stayed around and eventually went inside for a presentation of about 30 minutes.

Someone guided us through constellations and parts of the Milky Way, all in German. My German is not fluent yet, and scientific German was another level entirely, so I understood almost none of what was being said. It became someone talking in the background while I watched the sky projected above me.

The dome was my favourite part. The seats tilted upward, and the giant screen surrounded the room in a way that felt properly immersive. Now that I have finally seen what it is like inside, I will probably look for other events there and return.


The Gap Between Making and Publishing

I have also been thinking about my new YouTube channel.

I recorded a point-of-view video while riding my bike and made the cut I wanted to post. Then I reached the part where I had to choose a title and description. I have noticed that this small step often becomes a barrier.

I am trying to reduce the gap between recording and publishing, but that gap is still quite wide for several reasons. Titles and descriptions are simply the last bit of friction closest to the finish line.

Right now, I describe the video and ask ChatGPT for suggestions, then choose whatever feels closest to how I see it. I am hoping the process becomes easier through repetition. Maybe I need a more deliberate system around it, or maybe it becomes part of the studio I am making for the channel, alongside video editing, clips, highlight generation, logos, and the rest.

I posted a few videos this week, so the problem was fresh in my mind. Hopefully I find a smoother way through it soon.


Trying Omarchy

This weekend, I saw the release of Omarchy, the Linux distribution DHH has been working on. It has been on my radar since Omakub, its Ubuntu counterpart, but Omarchy seemed to be getting more attention, and this release made it feel like the right time to try it.

I use Linux servers often, so the terminal itself is not the issue. The friction is usually in the rest of the operating system: installing applications, finding packages, launching things, and getting the graphical environment to feel straightforward. Coming from macOS, I wanted something more familiar and less demanding in those everyday areas.

I installed it on my Lenovo ThinkPad. It is not the best PC in its category, but the first impression has been good. My plan is to set up everything I need for most of the work I do day to day, use it for about a month, and see how it holds up.

Omarchy is based on Arch Linux, which has a reputation for being difficult. So far, it does not feel that way, perhaps because so much has already been added to make package installation, applications, and the general setup easier. Maybe I am being naive. I am not sure yet, but that is what the next month is for.


Finding the Streaming Bug

I also finally investigated a streaming bug that had been bothering me in one of my projects.

A chat would start streaming, then an error would suddenly appear in the frontend and stop it. Refreshing the page revealed the message parts that had already loaded, but it also replayed the inconsistent state and triggered the same error again. Watching users go through that was frustrating.

I spent a lot of time going deeper into the problem. This was one of those cases where an AI offers many plausible explanations, you apply the suggested fix, test again, and discover the issue is still there. Then you repeat the cycle until the explanations run out.

The most convincing cause I found was a bug in the job library. A background job calls the LLM and writes to a Redis stream that the frontend consumes. Under certain conditions, two instances of the job could run at once, leaving two producers writing to the same stream.

That created an event order the frontend did not expect. A reasoning step could start, then a step-finished event would arrive before the corresponding reasoning-end event. The stream was left in an inconsistent state, and the error appeared.

Once I had that theory, I was able to guide the AI towards reproducing it in a small, isolated case. Since applying the fix, I have not seen the issue again, although I am still watching it.

This remains one of the more complicated parts of the project: making streams durable through HTTP request failures, worker restarts, and all the other ways a long-running response can be interrupted. Maybe I will write about it properly at some point.

For now, I am glad to have a clearer answer and a quieter stream.

It was that kind of week. One large release, one rare event in the sky, and a few smaller things moving closer to where I want them to be.

Till next time,

Bosun