Screaming At My Screen by Timo Zimmermann

http://www.screamingatmyscreen.com/feed

31 posts

Tech 90% · Gaming 6% · Life 3%

Subscribe via RSS

  1. Six month

    It has been round about six months since I started working on [LazerBunny][lb]. Which means I am getting close to the point where I want to evaluate my progress and do a little mini retrospective to see if any of the effort and time that went into it was actually worth it. Not in the classical project management sense of identifying sunken cost fallacies and self-flagellation, but more a curious look at which parts were the most fun and where I might want to invest more time in. I started with…

    0
  2. Cal - now with 100% more Evolution support

    I mentioned in a previous post that I am working on a CalDav server (creative as always I named it LazerBunny cal), to take control of my appointments and calendaring needs. The first iteration was working decently well with Apple Calendar. During this week I fixed a few issues making it also work nicely with any calendar app that uses Evolution as its backend. There were actually not many changes needed to make this work. Authentication, hitting the endpoints, all of this worked well. But…

    0
  3. Tales from a slowly graying beard

    I am closing in on 30 years in the industry. One thing I did not imagine when I just started out was that the list of “things I have seen” would constantly grow over the decades. How naive I was, believing people know what they are doing, management making decisions based on data and the market not being a dice roll for who can lie the best. On the bright side this makes for some really good stories. Usually these are stories to share over a scotch or two. To help people save face. To not…

    0
  4. The web is a horrible data source

    As I was working on new tools for my personal assistant this week, I ended up adding web search and thereby getting the content of a website to the toolbox. Automating anything web related in 2026 is a pretty annoying experience, and with good reason. It is understandable that website owners add scraping safeguards, considering the state of the web. Luckily, when you build tools to behave well, things are manageable. There are two parts to adding "the web" as a data source to an LLM, no matter…

    0
  5. The Steam Machine dilemma

    Valve announced the Steam Machine and its price(s), causing much unrest online. Some saw it coming, some are disappointed, some have a more realistic view that this is the price of non-subsidized hardware in 2026. I think the price is fine for what you get, but you should not be paying it if you are comfortable building a computer yourself. Let’s put the Steam Machine into perspective. When you buy one you get a console-like experience with the ever growing catalog of Steam. But you also get a…

    0
  6. Building a CalDav server

    There are good ideas, bad ideas and the ideas I get when sitting on a couch holding the paw of my dog for two weeks (while she is recovering from surgery). One thing I am really not a fan of is the current landscape of CalDav servers. So what better to do than read some RFCs while a coding agent bootstraps a “kind of not working but close enough” skeleton that I can make actually work in between treats, all the pets required for recovery and "who is the best girl?! YOU ARE THE BEST GIRL!".…

    0
  7. Gamers Outreach VTuber Summer Slam 2026

    Sometimes I wonder why things are more complicated than they have to be. I have donated to Gamers Outreach in the past, multiple times, so I obviously receive their newsletter. I also follow some VTubers, some are great musicians, some voice actors, some are just entertaining and happen to play the niche of games I enjoy watching on the side. Some are, according to my wife, "absolutely unhinged and need to be kept away from children" (one of them she said that about is a mother of four). (Note…

    0
  8. Revamping my conference setup

    It has been nearly 6 years since I last made any significant changes to my video call and conference setup. Back then I ditched the Logitech Brio (which sometimes showed odd behavior on macOS) and got an HDMI-USB adapter and a Canon DLSR camera. While this setup might be a bit overkill, it worked really well and the video quality was great. In the beginning, getting the Canon to work was a bit of a challenge. While the camera provides a clean HDMI output (without all the additional data people…

    0
  9. Autocomplete for paths

    The last week was a bit chaotic. Our dog Triss had TPLO surgery, so my days mostly consisted of holding her paw in the morning, working while Jean holds her paw, and then going to sleep. But I could sneak some fun project time in and started implementing autocomplete in my shell. Which is not even remotely complete, but it works for paths, which is something. Initially I was a bit too clever trying to cache a lot of the information, but I opted to simply redo all the work, like reading a…

    0
  10. Rawr

    Do you ever think about what exactly happens when you press the cursor left or arrow left key in a terminal? What happens when you press arrow up? What when you press the letter "e"? Well, raw mode in a terminal will make you think about all of this and much more. In the famous words of any Souls game: "beware, despair ahead". I am a bit exaggerating here (but only a bit). Once the basic loop is set up, things are pretty much okay as is. I have to admit I cheated a bit and used…

    0
  11. Apple lost the plot

    Remember how six months ago we made fun of most companies during their CES keynote by counting how often the word AI was used? Want to play the same game with Apples WWDC keynote? I would strongly advise against making it a drinking game though, the alcohol poisoning would land you in a hospital. What really made me chuckle was Apples poor attempt to pretend the big, bad EU commissions are at fault that new Siri features are not coming to the EU. Sounds a bit different if you read the statement…

    0
  12. Shell, do something!

    Only calling os.Exec over and over again is not what I envisioned when I started building my own shell. So, in the spirit of first things first, I implemented a few of the commands I use on a daily basis to make the shell actually usable. This makes the whole thing immediately feel a bit more real and also provides some good learning opportunities. While I am lending some of the names from GNU core utilities or similar battle tested collections of tools, I have no intention at all to rewrite…

    0
  13. Who needs a mouse?

    I needed something light and simple to take my mind of work, side projects and have a break from dealing with AI all day long. So what is more logical than starting to build your own shell. Totally makes sense, right? Right?! I am not exactly sure where this will go, but I got a few ideas of what I am missing from most shells. The goal is not to reinvent the wheel and implement all bad utilities. I might actually replace some in the spirit of exa and bat where I add features that make my life a…

    0
  14. Tutorial? Anyone?

    Learning something completely new you have never done before is not always the most straight forward process. While working on the 3D avatar for my personal assistant I started to pick up 3D modeling and some very basic drawing skills. Well, mostly 3D modeling, drawing is on the back burner right now. The thing is once you hit a roadblock things get frustrating really quickly. Overall I really do not want to complain too much. There is a reason professionals spend decades mastering the craft.…

    0
  15. Mouse! Mice! Mousepad!

    It has been some time since I last looked at peripherals for my gaming system. The last change I made was to replace a falling apart keyboard with a Keychron Q3 with wooden keycaps. (Sadly not the best idea as I learned 18 month later.) However, I got curious, and that’s how I spent this week testing two new mice: The Logitech Pro X2 Superstrike and the Pro X Superlight 2 Dex. Bad news: Both are being returned. Good news: I’m gonna write about why. The first optical mouse I ever owned was a…

    0
  16. Remember the name

    I think this is the first week in which I do not have spent any time on feature development on the coding part of LazerBunny. I was using my coding agent, router and controller every day and things just worked. A pleasant surprise to be honest. Instead of rushing into working on the rest of the stack I only implement a single feature for the brain. I went a bit beyond what Fort Minor suggested in their song and implemented a personalisation layer. There have been a few different approaches I…

    0
  17. Put a bow on it - agents

    Sometimes it is important to call a project "good enough" and start using it for some time, instead of continuing to constantly iterating on it. And this week I did that with the coding part of LazerBunny. (There is obviously still a long list of todos, but none of them are show stoppers.) Here is what I have so far: a coding agent doing really well an LLM router a control plane for a fleet of agents We have already talked enough about the coding agent and the router. The new and latest part is…

    0
  18. A few dozen commits later

    This week was one of the most random, unfocused weeks I spent working on LazerBunny and so many things moved forward in a meaningful way. The goal never was to get everything "done", but good enough to use it on a daily basis and validate design decisions and figure out potential adjustments that need to be made. I took the opportunity to have two agents running in parallel and have them prepare smaller chunks of code using Qwen 3.6 27b. Overall an okay experience. Code layout and design were…

    0
  19. Everybody has a plan until they get punched in the mouth

    It is rare for me to quote Mike Tyson, be he was onto something with this. Here is the thing with coding agents: you will not tell a coding agent to do something in one sentence and then something usable falls out. I mean… there is a chance - depending on your prompt. If you tell it to copy something that exists millions of times on GitHub. But anything even remotely more involved than that, things will be a bit more tricky, especially if you are dealing with an existing system and not one…

    0
  20. So much inference, so few GPUs

    Building out a small fleet of coding and research agents for LazerBunny means I regularly have requests to LLMs running, which are hosted on various hardware in my local network. This is not a big deal most of the time, but things get a little bit more interesting when multiple agents compete for the limited local resources. I spent some time this week to look into potential solutions. There are some I ruled out: Buy more hardware. This has to wait till we hear "the big pop". Use online hosted…

    0
  21. Apples developer experience in 2026

    I have worked on software for Apple devices on and off during my career. It even goes as far back as working on a desktop application, before things were called apps or the little glass slabs became our daily companion. Some of my highlights include having an app featured in the AppStore, working on an Apple Watch integration and having day one support (mostly, thanks review process) and some other fun stuff. I stopped working on mac-related apps in 2018 when Apple’s behavior towards develope...

    0
  22. You can fit so much history in this context

    This week was highly unstructured in regards to working on Lazerbunny, to the point that you could have rolled a dice to figure out which task from the todo list I will pick up at any given day. The two most important ones were progress on the avatar and adding context compression to the coding agent. It was clear from the beginning that I am rather wasteful with the context when using my coding agent. The theory worked very well for most tasks: Just do not bother. If I only give it a single ...

    0
  23. self-hosting is great, but...

    I am a very big fan of self-hosting services I use on a daily basis or that hold my data. Some services are mostly a backup, some are in day to day production use for my company, some are to toy around. Whenever one of the big providers messes up, has a data breach or is bought and shuts down people advocate for self-hosting similar services, and you might think I’d be one of the,. Sadly it is not that easy. I am not self-hosting because I do not trust Apple or Google to keep my data out of t...

    0
  24. Thanks for the memories

    One of the key components of any personal assistant is the ability to remember what you ask them to do and put it in the context of what happened before. So for this week I was mostly focused on building the memory layer of LazerBunny. A fun little exercise when trying to push search and retrieval with minimal resource usage. First of all I want a cookie point for not titling the blogpost "thnks fr th mmrs". Now, most people who spend any time with LLMs might have seen the term RAG - Retrieva...

    0
  25. Building a coding agent from scratch

    Having an agent work while you do other things sounds like a neat idea. How well it works depends on a number of factors including the model you choose for the hallucination machine powering it, the prompts, tools and of course how patiently and you tell it exactly what to do. Having an agent write all the code has not worked for me, but I found some value in having one ready. So what better way to spend a Saturday watching LEC than writing one for LazerBunny? The primary use case I have for ...

    0
  26. Caddy DNS verification

    I have a relatively simple setup to host services locally: One Caddy container acting as reverse proxy for all services. DNS is set up, containers talk via Docker networking and I run an ACME server for SSL certificates. The disadvantage of this is that each client needs to trust the root certificate. Easy on most desktops. Okay to do on mobile devices. The most painful thing I ever did on an Apple TV. But it is a bit inconvenient when we have visitors over, and on top of that my wife is real...

    0
  27. Ditching plaintext (mostly)

    For a long time I tried to optimise my workflow around plaintext. It seemed to make a lot of sense to me. Works on every system, does not require any special libraries to parse, stood the test of time. As it turns out the advantages of an plaintext only workflow do not outweigh the disadvantages to me, but adopting the workflow for some time was a very useful exercise to understand the properties I value the most and want to replicate with whatever solution I choose. The typical “I will go al...

    0
  28. Less sophisticated, yet better

    Do you know the feeling when you look at a system and how it behaves and think "this cannot be it"? This is how I felt when working on LazerBunny this week. Somehow, for some reason the MCP approach struck me as less favourable, and after some experimenting I completely dropped MCP from the existing timer service. I also had a bit more fun with voice cloning and slowly narrowing in on the final solution. The usual argument to avoid MCPs is that they fill up your context with 500 functions you...

    0
  29. Human.json

    I have seen more and more people talk about human.json lately and I think it is a pretty neat idea. From what I can tell it checks all the boxes I would expect from a protocol like this. The fact that it relies on browser extensions right now makes sense, but might become a limiting factor in future. Or the number of extensions needs to go up beyond the two easy ones and come to mobile as well. I am not sure this will be going anywhere beyond a few enthusiastic people, but you never know. Imp...

    0
  30. Jimei Palace - Lux

    Back in 2024, I ordered the Worlds (basically their World Cup?) statue of League of Legends. I did not hear anything from Riot for over one and a half years. When I opened a support ticket, I got the very helpful response, “We did not cancel your order.” I checked twice if they snuck in the word "yet" somewhere. But just a few months later, my prepaid statue of Luxanna Crowngaurd finally arrived. I am not sure for whom these gloves are made, but surely not me. There is no way I can get my ...

    0