<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>openshovelshack</title>
    <link>https://openshovelshack.com</link>
    <description>Blogging about open source tools, terminal utilities and the role of technology in our lives</description>
    <language>en-us</language>
    <lastBuildDate>2026-04-07T20:32:52.143Z</lastBuildDate>
    <atom:link href="https://openshovelshack.com/rss.xml" rel="self" type="application/rss+xml"/>
    
    <item>
      <title><![CDATA[Growing up DVD]]></title>
      <link>https://openshovelshack.com/blog/growing-up-dvd</link>
      <guid>https://openshovelshack.com/blog/growing-up-dvd</guid>
      <pubDate>Tue, 07 Apr 2026 00:00:00 GMT</pubDate>
      <author>Tommy Falkowski</author>
      <description><![CDATA[A reflection about the magic of movies, technological advancements and the loss of attention]]></description>
      <content:encoded><![CDATA[<p>There&#39;s an excellent blog post on <a href="https://kotaku.com/">Kotaku</a> called <a href="https://kotaku.com/growing-up-sixty-four-1644419166">&quot;Growing up Sixty-Four&quot;</a> that I reread every once in a while. It&#39;s a beautiful piece of storytelling about how the Nintendo 64 shaped the author&#39;s youth, and it has inspired me since I first stumbled upon it. I&#39;ve wanted to write something in a similar spirit for a long time, but about a different medium that has very much shaped who I am today: the humble DVD.</p>
<h2>First Contact</h2>
<p>I was born at the end of the 80s and for the first years of my life, I had very limited exposure to movies and TV shows. We only had five TV channels at home until I was about 10 years old, and my parents were not big on VHS, cinema, or TV in general. We did of course watch cartoons as kids. We also watched some movies and did have a VCR and a small collection of recorded movies from TV, but it was pretty small. Still, I think I&#39;ve always loved movies, the experience and the memories. The movies that I did watch during this time have left a big imprint on my mind. I&#39;ve mentioned Home Alone in one of my previous articles, and I think this is one of the movies that has really stuck with me. Same goes for the Back to the Future movies. We actually had a recording of the first movie that was missing the first 15 minutes, something that&#39;s probably hard to imagine nowadays, watching a movie without the beginning. But this was basically what we had, and if we wanted to have a complete version, we would have to wait for it to be rerun on television.</p>
<h2>A glimpse into the future</h2>
<p>In the mid 90s, DVDs began to emerge. My first DVD, which I bought before I even owned a DVD player, was the movie &quot;The Matrix&quot;. I was 11 years old by then, in the 6th grade. I had already started having English classes at school, which in Germany back then began in grade 5. But with the advent of DVDs and the ability to switch languages with the push of a button, I started watching movies increasingly in their original language, which for most movies was English. And this has had such a profound effect on my life that I can&#39;t even begin to explain what I would be missing if this technology had not existed back in the day.</p>
<p>At first my level of English was not good enough to understand everything, but bit by bit, I exposed myself to the language more and more, and at a certain point, there was no question. I would just default to watching movies in their original language. If I did not understand the language, I would use subtitles. I think this was and still is one of the best ways to learn the language, and it helped me pick up a level of English early on that school itself would not have given me.</p>
<h2>Beyond the movies</h2>
<p>But multiple audio tracks and languages were just one of many things that made DVDs feel special. DVDs introduced something that, in the age of VHS, was not really common: bonus material. Behind the scenes footage, audio commentaries, trailers for the movie itself and for other movies. Back in the day, watching trailers on DVDs was actually one of the main ways of discovering new movies. And it really was becoming a big hobby for me to collect DVDs, to collect movies.</p>
<p>There were some movies that had such a large amount of bonus material you could spend weeks watching it. The best example is the special extended edition of Lord of the Rings, which I think to this day holds the top spot regarding bonus material. I recently watched a video on YouTube about <a href="https://www.youtube.com/watch?v=MVUuoXAkuUg&t=1740s">forced perspective</a>, a technique they used heavily in Lord of the Rings, and the creator mentioned that this bonus material is basically like a mini film school. And I agree. You learn so much. About acting, casting, set pieces, wardrobe, special effects (digital and practical). I loved watching all of it.</p>
<p>Another thing I loved doing was listening to audio commentaries. There was actually a period in my life where I would rewatch American Pie 2 every night with a different audio commentary track. I think there were three different tracks on that DVD. A very weird habit, I know, but for me it was something very magical to listen to the actors talk about the movies and discuss how they felt while filming them. And I think this is something that has been lost to a certain extent with the advent of streaming.</p>
<h2>Down the technical rabbit hole</h2>
<p>Alongside the bonus material, I also got into the technical side of things. Learning about resolutions, frame rates, and the different broadcasting standards. The two big ones were the PAL standard, which is prevalent in Europe, Australia, and some other countries, and the NTSC standard. There are others, but those are the two that really mattered. And there are so many peculiarities that result from these that are, in hindsight, rather fascinating, like these little tidbits: NTSC has a resolution of 720x480, while PAL actually has a higher resolution of 720x576. This means that correctly mastered movies in PAL regions could have slightly better image quality. And even though the difference in resolution suggests that the <a href="https://en.wikipedia.org/wiki/Aspect_ratio_(image)">aspect ratio</a> would also be different, this is not the case: PAL and NTSC have different <em>pixel aspect ratios</em> that result in the image having the same overall aspect ratio of 4:3 or 1.33:1. And then there is the matter of frames per second.</p>
<p>Movies are traditionally shot at 24 frames per second (or more specifically, 23.97 frames per second). For NTSC, which runs at roughly 30 frames per second (or 29.97 to be exact), a technique called 3:2 pulldown is used to duplicate certain frames. This results in microstuttering every once in a while, but depending on your sensitivity, you might not actually notice this. Since the PAL standard comes from a region with a 50 Hz power grid, it uses 50 interpolated half-fields, resulting in 25 full frames per second. The solution for fitting 24 movie frames into 25 PAL frames is even simpler: just speed everything up a bit. Instead of 24 frames per second, movies would run at 25 frames per second, meaning they actually played about 4% faster. It&#39;s called <em>PAL speedup</em>. And when you speed something up, the audio pitch also changes, by roughly a semitone. There are techniques for correcting this, but back in the day they could result in artifacts like the so-called wobble effect. So for many TV shows and movies, this correction was just not done. So imagine this: I was watching movies in Germany, 4% faster than people in the US. The most obvious way to notice this is by watching the intro for a TV show you know well and comparing it to the European one. Everything is tuned up about half a step, which is mind boggling if you think about it. For a large percentage of the world, you just sped everything up, and movies ran shorter because of it. If you compare the runtimes of PAL region DVDs to their NTSC counterparts, the PAL versions are shorter because they simply run faster.</p>
<p>I was also really interested in sound quality, although my room back then didn&#39;t really allow for great sound. I did get hand-me-down tower speakers that I own to this day: a pair of <a href="https://hifi-wiki.com/index.php/Heco_Superior_850_Forte">Heco Superior 850 Forte</a> from the early 90s. I had to replace the tweeters at some point, but I still use them. They originally cost around 1300 Deutschmark per speaker, and they&#39;re still pretty good in my opinion. It&#39;s a fascinating thing that even though we have had so many innovations in home cinema since then, well-engineered speakers from back in the day can hold up just fine. You can&#39;t really cheat physics.</p>
<h2>Shopping elsewhere</h2>
<p>Once I knew about all the differences between PAL and NTSC, I was chasing originality as much as possible and increasingly started importing NTSC movies. The problem was that, unlike VHS, where the &quot;lockout&quot; was mostly technological because not all TVs and VCRs supported playing NTSC VHS on PAL hardware, DVDs had region locks from the get go. Region 1 for North America, Region 2 for PAL regions, and many others across the globe that allowed manufacturers to only support certain regions. This was done to prevent cross market import and export, because in Europe, different production companies sometimes distributed the movies, so it was a whole licensing issue. From a technical level this was an interesting concept, but from a consumer level it was basically early <a href="https://en.wikipedia.org/wiki/Digital_rights_management">DRM</a>.</p>
<p>The good thing was that many DVD players could actually be unlocked. There were service codes you could enter to make them region free. My first DVD player from Toshiba, and my second one also from Toshiba after the first one broke, both supported this. So I unlocked them and was able to import movies without a problem and play them back on my little TV. When I finally got internet access at home, I also got access to a whole new way of acquiring movies. You could now order online. My very first order on Amazon was for Scrubs, season two. I remember coming home from school, seeing the package half sticking out of our mailbox, and I still remember the feeling. It was something very special to me: I could go online, enter my payment details, click a button, and a day or two later the product would be in my mailbox. And the even better thing was that I didn&#39;t even have to order in Germany. I could just shop wherever.</p>
<p>There were stores that specialized in specific regions, and there was one called <a href="https://en.wikipedia.org/wiki/WOW_HD">CD Wow</a> that was like heaven for me. Movies were relatively cheap, mostly Asian region NTSC versions, but since I watched everything in its original language anyway, this wasn&#39;t an issue for me. On the contrary, I could get better versions there, like the Criterion Collection of <a href="https://en.wikipedia.org/wiki/Snatch_(film)">Snatch</a>, where they really made sure to have the best possible image quality. Back in the day, I sometimes bought movies in multiple versions to get one with better image quality or because it came with additional bonus material.</p>
<p>And of course I also had my pirate phase. I remember AnyDVD, Nero Burning ROM, and all the other tools I used a lot. I learned about the different storage formats, DVD-5 and DVD-9. And interestingly, DVD-9, since it has two layers, could introduce a small stutter on older players whenever the data switched from one layer to the other. This is the kind of arcane knowledge that might get lost in time for most people, but it&#39;s something I definitely noticed back in the day and could nerd out on all day long.</p>
<h2>The cutting floor</h2>
<p>Another peculiarity of growing up collecting movies in Germany, and another reason to import: movies were often edited for the German market. If the unedited version would not have received a rating or would have ended up on the so-called index, an edited version would be sold in stores. This even went so far as to create versions of movies rated 18+ that were cut down to a 16+ version. Even if the regular version was legal to sell, an edited version was often created anyway with a lower rating to reach more people. This madness led to the fact that you had to do your research before buying a movie in Germany. If you didn&#39;t want to risk ending up with an edited version, you had to look online, and there were websites like <a href="https://www.schnittberichte.com/">Schnittberichte.com</a> dedicated to describing exactly which edits had been made for a given movie. Imagine this: entire websites dedicated to cataloguing the censorship in movies. In the last decade or so, I have the feeling this is not done as much anymore, especially with the advent of streaming, where releasing different edits for different age ratings would actually be much easier. But for some reason, they just don&#39;t bother.</p>
<h2>Hello, enshittification</h2>
<p>Thinking about all of this, DVDs and movies have had a profound impact on my life. And I am a bit sad to see the current state of entertainment. One thing that is very prevalent is the feeling of enshittification, and I have experienced it way before people were really talking about it. I remember the transition from DVDs to the high definition formats, especially Blu-ray, where on paper you suddenly had a format that was much better. Higher resolution. Better audio. More storage. But there were so many little paper cuts that made the actual experience often feel worse than watching a DVD.</p>
<p>One brilliant feature of DVDs was that when you stopped watching a movie, depending on the player, you could just hit play and it would instantly resume where you had left off. On some players this even worked across disc changes, storing the last position based on some kind of fingerprint (at least that&#39;s how I remember it). If you turned off your DVD player at night and turned it back on in the morning, it would just resume exactly where you had left off. VHS had this feature too, by the very nature of the tape, but without all the quality of life features that DVDs brought. There were some inconveniences around DVDs, like the unskippable trailers and announcements that you had to sit through if you didn&#39;t have a modified player, especially during the rise of piracy. Those obnoxious &quot;you wouldn&#39;t steal a car&quot; spots were often unskippable, and that was pretty annoying.</p>
<p>But when Blu-ray came around, so many things were worse. The instant resume feature, at least on my brand name Panasonic player, did not support resuming for most movies. Some had a software-based resume in the menu, but it took forever just to get to the menu because they introduced Java-based menu systems that looked fancy but were obnoxiously slow to load. Everything felt really sloppy. Sometimes it took minutes to reach the menu of a Blu-ray. The technology might be better on paper, but the experience was often so much worse.</p>
<h2>The early magic of streaming services</h2>
<p>I also remember the first time I really started using streaming services. For the longest time, I was strongly opposed to paying money for digital copies of something. I had to do it for things like Half-Life 2, which came on a disc but still required you to log into Steam. Bit by bit, you realized that more and more companies were moving towards the digital age. When iTunes came out, I swore to myself to never pay for a digital download, and I still continued buying CDs and collecting vinyl. It&#39;s funny, looking back, that there was actually just a short window in our lives where we paid money for owning digital copies of something. Owning, of course, in quotation marks, because how can you own something that has DRM protection and where companies can decide to take it away from you at will?</p>
<p>I was never someone who rented DVDs by mail, even though there were probably a few services in Germany that offered this. I did rent movies in video stores from time to time, but it was not my preferred way of consuming movies. I was much more of a collector. I first started using Netflix when I was studying in Canada for a semester in Waterloo. Netflix hadn&#39;t come to Europe yet, but in Canada I could register and I started paying something like five Canadian dollars a month. The first movie I watched on Netflix was, I think, the first Thor movie. And it too was a bit of a magical experience, because at the push of a button you could watch a movie, knowing this was not a one time purchase, and then go watch the next one, and the next one. When my now wife, then girlfriend, visited me in Canada, we binged Breaking Bad on Netflix. I had already watched it, but rewatching it with her was very convenient. But convenience is a double-edged sword, and I think there are certain situations where it&#39;s actually better to not pick the most convenient option.</p>
<h2>The successor of the bonus disc</h2>
<p>Around the same time that streaming was starting to take over, YouTube was quietly replacing something else: bonus material. I still remember the first time I really got hooked on YouTube. I discovered the <a href="https://www.youtube.com/playlist?list=PL2B009153AC977F90">Angry Video Game Nerd</a> around 2006, when I was 19, and I started binge-watching his videos from my bed on my old CRT monitor, which was attached to my computer. This felt magical to me, because all of a sudden I realized you were not at the mercy of TV stations and you didn&#39;t need to spend actual money to watch interesting content (back then, when it wasn&#39;t overflowing with advertisements, that is).</p>
<p>Today, YouTube has all but replaced any kind of bonus material I would ever watch attached to a movie, I guess. Which on one hand is awesome, because you have practically unlimited interesting content and there is so much high quality stuff on YouTube. The amount of work that people put into some of the videos is just astonishing. Of course there&#39;s still also a lot of crap out there, but nobody&#39;s forcing you to watch it. On the other hand, the idea of having to sit through a thousand different ads to watch an internet video still feels wrong to me. Same goes for all the short form content the platforms are trying to shove down our throats. We had to endure crappy ads in linear TV programs for long enough, and now it&#39;s slowly creeping back into every corner of media consumption. Unless you fight it with adblockers and other <a href="https://github.com/dayanch96/YTLite">solutions</a>, that is.</p>
<h2>Looking for the soul</h2>
<p>Today I&#39;m very torn. Having a large library of movies available at the click of a button can be very convenient, but it also has downsides. There&#39;s the selection anxiety, where you don&#39;t really know what to watch, where you find it hard to pick something and stick with it, because we have deteriorated into a state where everything needs to catch our attention in the first couple of minutes or we can&#39;t commit to it. This is also why things like bonus material don&#39;t really stand a chance in today&#39;s day and age for most people, I guess.</p>
<p>Back in the day, you paid hard earned money for a movie, and it became an experience. It was something you would want to rewatch, and if the movie was good, you were usually also curious about how it was made. Just like many people still collect vinyl today and say it has a very special feel to it, I think the DVD represents something along those lines, with the downside, of course, that video quality is not up to par anymore. It&#39;s hard to go back to DVDs today because of the substantially worse image quality. But the idea of turning it into an experience, of learning about how movies are made, how actors prepare, and so on, is something I really miss.</p>
<p>I still think about the Lord of the Rings bonus material on a regular basis. I have fond memories of watching it over Christmas and it has a very cozy feel to it. A lot of that might be due to nostalgia, of course. But I think it&#39;s important to acknowledge the things that have improved technologically while also being honest about the degradation of certain aspects of our consumption habits. The attention economy has definitely done a massive disservice to a lot of things.</p>
<p>I don&#39;t know what the future will bring, especially for movies, or what role AI is going to play. I expect it to play a pretty big role, if only due to the cost savings attached to it. But I still hope that even in the future, we will see at least some form of artisanal movies, where you can watch the behind the scenes footage and see how real people were involved in creating them. I think there is something to it. It&#39;s like a fine piece of furniture that is handmade, where someone put in a lot of time. It might not technically be better than a mass manufactured piece of furniture, but it does have soul. And this is something I&#39;ve learned over the years: no matter how good the technology is, you can&#39;t really emulate the feeling of something having a soul. This is definitely something I hope we will keep, even with all of the technological advancements to come.</p>
]]></content:encoded>
    </item>
    <item>
      <title><![CDATA[The agentic whiplash]]></title>
      <link>https://openshovelshack.com/blog/the-agentic-whiplash</link>
      <guid>https://openshovelshack.com/blog/the-agentic-whiplash</guid>
      <pubDate>Mon, 09 Mar 2026 00:00:00 GMT</pubDate>
      <author>Tommy Falkowski</author>
      <description><![CDATA[Breakneck speed and deliberate friction]]></description>
      <content:encoded><![CDATA[<h2>Got tentacles?</h2>
<p>A couple of months ago, I wrote <a href="https://openshovelshack.com/blog/the-octopus-and-the-rake">a piece about the octopus and the rake</a>, where I discussed the fact that we are increasingly using agentic AI tools like Claude Code, OpenAI Codex, <a href="https://opencode.ai/">opencode</a>, <a href="https://openshovelshack.com/tools/pi">pi</a> etc. In that piece, I described how I have started embracing this kind of work, where I delegate tasks to different agents in parallel. And I think it&#39;s safe to say that in the last couple of months, more and more people have jumped on board because they have realized how capable the underlying AI models have become. If you are able to keep a good mental model of all your tasks and projects, you can now technically delegate many of them to your x number of agents. <a href="https://steipete.me/">Peter Steinberger</a>, the developer of <a href="https://openclaw.ai/">openclaw</a> has shown that this is his preferred way of working, even though he tries to keep things simple in the sense that he does not use any kind of orchestration tools or elaborate cascading setups, but just a bunch of agents running in parallel in his code base.</p>
<p>I have argued that this might be the future of work, that we might all need to learn how to commandeer and steer an army of agents for getting stuff done. And I still think that at the core, learning how to effectively use these AI-based tools is something that we won&#39;t be able to skip. However, I&#39;ve also come to realize that just because you technically can do something, it does not necessarily mean that you should. Of course you can try to spin up as many agents in parallel as possible. There are even people that have built elaborate <a href="https://github.com/steveyegge/gastown">AI factories</a> where they spend most time developing very detailed specifications at the beginning and then letting their agents go wild. Even though this might become the future eventually, I am not sure this is something that we as individual builders should embrace right now. And even more importantly, we don&#39;t know what this will do to our physical and mental health. I don&#39;t want to walk back my own argumentation. But I do want to augment it and try to explain what I have learned since then, how my workflow has evolved, and what I think people should know when getting into this kind of work.</p>
<h2>Building for the sake of building</h2>
<p>There has been a recent <a href="https://hbr.org/2026/02/ai-doesnt-reduce-work-it-intensifies-it">study by the Harvard Business Review</a> that I find really fascinating because it shows what me and many other people have been saying for the last couple of months: Even though AI can increasingly do more and more work autonomously, we have the feeling that instead of working less and trying to relax more, the opposite is actually happening. We work more. We try to achieve more. We aim for bigger things to build.</p>
<p>For me, at least, it&#39;s even worse than that, in the sense that I cannot relax anymore. If I have some free time on my hands, I feel the strong urge to delegate something to one of my agents, to have them always working in the background. And this is something where I acknowledge that it is definitely not healthy anymore. It has reached a point where instead of playing video games, instead of watching a movie with full attention, I&#39;d rather just go in and command the agents, look at the results and iterate. I think at the core, what this shows is that I love building. I love building stuff. I love trying out stuff. I love the feeling of power that conjuring something up almost out of thin air is giving me. I love living in the true age of <a href="https://openshovelshack.com/blog/the-age-of-personal-computing">personal computing</a>. But what is the end game here?</p>
<p>I mostly have been building for myself. The tools that I build fit my workflow like a glove. I also always try to make the tools as ergonomic as possible for AI agents because I think that this is actually where a lot of things are going: I will not be the one stringing commands together indefinitely for quickly getting something done. That might and will still be the most effective way for some things. Checking your agenda for today, for example. I have a program called <a href="https://github.com/byteowlz/h8">h8</a> that taps into the legacy Microsoft Exchange servers at my work and gives me instant access to the information that I would otherwise have to click through the horrible Outlook interface to get to. I built this for myself, but coincidentally, this is perfect for agents because they can now, with very limited tokens, get the exact information that I need in any given moment. The thing is, this was in no way a one-shot. I am constantly using my tools and optimizing every interaction to make them as ergonomic as possible.</p>
<h2>The feedback loop</h2>
<p>I have found something that I think more and more people are realizing. Yes, you can spin up many different parallel agents to chug through a long list of tasks, but one thing that can&#39;t really be replaced, at least not in my opinion, is trying something out yourself, iterating through different options, getting a feeling for how something works or how it doesn&#39;t work, or maybe realizing that you made a wrong assumption in the beginning. This is where I see great potential for AI, because we can iterate so much faster with very tight feedback loops. And to get the best results out of agentic tools you have to set up good feedback loops: Good tests alongside the tools for the agent to do end-to-end testing itself. This is increasingly becoming very feasible with different kinds of browser tools like vercel&#39;s <a href="https://github.com/vercel-labs/agent-browser">agent-browser</a>, which works surprisingly well. But it still can&#39;t replace using something yourself and looking at it from the human perspective.</p>
<p>I&#39;m not sure we will be able to replace every kind of interface with the text or speech input box where the agent just does it for us. I think humans need visual information for many tasks. Even if our interfaces will be rendered on-the-fly by agents in the future, there will still be the need for something predictable, something deterministic, that we can repeat over and over again. I don&#39;t want my calendar to look slightly different every time I use it. And this is why I think some user interfaces, and especially good user interfaces, will still prevail.</p>
<h2>Detaching yourself from the problem</h2>
<p>More and more people have started speaking out about the downsides of agentic engineering: not having a good feel for the underlying code base, not being able to really appreciate what has been achieved. I have experienced this myself. A couple of months ago, I gave Codex hyper-specific requirements, iterating through a long list of them until I thought that I had explained every little detail. The idea was to develop a self-hostable audio server for music, podcasts, audiobooks, and audio stories for kids. A very minimalistic and easy-to-use alternative to the increasingly shitty stuff like Spotify et al. I wanted something that really makes it easy to navigate, find things quickly, and continue listening. For audiobooks and audio stories, for example, there&#39;s nothing worse than not having robust bookmarks.</p>
<p>I had the whole idea fleshed out in my head. I talked to Codex for a long, long time. But at the end of the day, after Codex implemented everything, I didn&#39;t touch this code base for months. I just recently started spinning it up and trying to get a feel for what it can do, but there&#39;s no attachment. It does not feel like mine at all. It has existed in a sort of Schrödinger&#39;s Code state where I didn&#39;t even know if it works or not.</p>
<p>This is where the fast feedback loop and fast iteration come into play. I think this is still very much necessary, as opposed to having a detailed plan at the beginning and letting your agents chug through it. When you do that, you become so detached from the project and the code base that it&#39;s really hard to get into it and evaluate it at a later stage.</p>
<h2>Compartmentalization is key</h2>
<p>Another thing I have learned: I find it extremely useful to have a compartmentalized approach to agents where I have different topical agents that I can hand different tasks to. One for research, one per coding project, one for managing my servers etc. This is basically what the OG idea of <a href="https://chatgpt.com/gpts">GPTs</a> from OpenAI was: in theory not a bad idea but I think it was too early, capabilities were still lacking and it didn&#39;t really catch on in the broad sense, even though for enterprises this is actually a really good approach in my opinion.</p>
<p>I&#39;ve started building my own <a href="https://gottentacles.com/">agent platform</a> using a similar approach, focusing on a multi-user architecture. Multiple users can register, each gets their own Linux user space, and they also have shared workspaces where multiple people can work with agents at the same time. I think this is especially powerful for getting a feel for what others are doing with their agents, how they are interacting with the agents, and what the agent can even do if prompted correctly. It&#39;s called oqto, continuing my vision of the octopus that we might all have to become, with multiple tentacles that are semi-autonomous.</p>
<p>But the compartmentalization is key, one tentacle doesn&#39;t always need to know what the others are doing. And another important part is that you remain the octopus&#39;s brain. Of course, you can try to have a coordination agent or orchestration layer, but I think the more layers you put between you and the unit of work being done, the harder it is to actually wrap your head around it and identify with the results (and take responsibility for it).</p>
<p>This also has practical implications for where agents run. Most tasks we delegate are not actually that complicated, and local models are increasingly capable of handling them. But only if you scope them well. One general agent that has to know everything will fall apart on a smaller model still. A compartmentalized agent with a clear, narrow focus can work surprisingly well, even using local models. And I think this is the way forward: self-hosted agents for the bulk of the work, cloud models for the complex stuff, and good compartmentalization as the thing that makes it all feasible.</p>
<p>Of course, there&#39;s also the question of security and safety. Simon Willison&#39;s <a href="https://simonwillison.net/2025/Jun/16/the-lethal-trifecta/">lethal trifecta</a> has done a great job of describing the inherent issues with powerful agents that have access to a wide range of tools and to the internet at the same time: they are still susceptible to prompt injection, which can result in data exfiltration, data manipulation etc. This is a real issue we urgently need to solve as more and more people are putting powerful agents onto their private hardware.</p>
<h2>The keepers of the gates of hell</h2>
<p>But the biggest hurdle for broad adoption of AI agents are something else I think. Over the last decades, we have built up a complex web of regulations and directives that serves as the foundation of many professions and jobs. These barriers are not technical in nature. They are mostly rules that we have invented and agreed to adhere to. And no matter how good AI agents will become, if you legally need a human to sign off on something, they become the de-factor keepers of the floodgates.</p>
<p>For certain situations, human involvement is still going to be essential. Hiring a new co-worker, for example, where cultural fit and vibes play a role that no ruleset will be able to fully capture. Or child custody cases, where every family is different and the stakes are too high for a deterministic system to have the final say. These are situations where human judgment genuinely matters because the problem doesn&#39;t fit a cookie-cutter recipe.</p>
<p>But a lot of what we require humans to sign off on is not like this at all. Filing your taxes, for example. The rules are explicit and the thresholds are defined. The deductions follow a formula. And yet we have entire professions built around navigating this complexity on our behalf. Or getting a building permit, where your plans either meet the specifications or they don&#39;t, but you still have to wait for multiple months until a human reviews what could be checked automatically. These are actually not problems that require human judgment. They should be deterministic, rule-based processes that we have simply never bothered to automate properly. And there are a million other examples like this, a million different paper cuts inside of our organizations and institutions that make full end-to-end automation almost impossible. And don&#39;t get me started on notaries. Someone who justifies their job by pointing to some kind of regulation is just pathetic. &quot;You need to pay me because I as an individual need to sign off on this by law.&quot; Thanks for nothing!</p>
<h2>Deliberate friction</h2>
<p>Now, I am not against deliberate friction. On the contrary, the more I work with agents, the more I realize that we need some amount of it. It&#39;s actually good that we as humans are the bottleneck in the sense that we can&#39;t review the huge amounts of code that agent can write in a matter of minutes if we let them. Some might argue we don&#39;t even need to do this because the agents will review it. But I think in order to provide quality results, it&#39;s important that we have a good understanding of what we are actually building. Having to slow down to understand things in a sufficient way is actually a good thing.</p>
<p>But these are friction points that we control ourselves as individuals. Deliberate friction should be something that we define voluntarily. The moment people are putting restrictions onto something to gatekeep their profession is the moment it&#39;s all going to fall down. The gatekeeping professions I described above are exactly the barriers we will run into when trying to automate more and more processes. This is not friction that we as individuals can directly control. And it is in stark contrast to the feeling of empowerment that AI agents can give you.</p>
<p>People have been talking about democratization of coding, of engineering. And I think to a certain extent this is true. Now anyone can easily start to build stuff. You might argue that this is bad because you need a firm understanding first, but I don&#39;t fully agree. Yes, we should always aim to learn as much as we can. We should not aim to let the AI do everything without us having any kind of understanding. I&#39;m not advocating for that. But agents make everything much more accessible, and getting people to start with something, to experience building something, I think is awesome.</p>
<p>But if all of the gamekeeping will continue to be in place, then the empowerment is limited. I&#39;m not proposing to abolish all regulation. A progressive society needs a very good foundation of laws and regulation, in my opinion. But the if the level of complexity we have created ourselves requires entire professions to help us sift through it, we have utterly failed. Why can&#39;t we aim to make things simpler?</p>
<h2>The artisanal coder</h2>
<p>Underneath the technical barriers, the security concerns, the institutional gatekeepers, and the deliberate friction, there is a more personal question that many people are wrestling with right now: What happens to us in this process?</p>
<p>The agentic whiplash is upon us. We&#39;ve all gotten a taste of the power that AI agents can bring, but more and more people have realized that we as individual humans are not built to keep up with this kind of pace. And maybe that&#39;s a good thing. Maybe this natural bottleneck is actually something that we should embrace and even cherish. As I&#39;ve <a href="https://openshovelshack.com/blog/let-it-marinate">written in the past</a>, I still think that letting something sink in, thinking hard about a problem for extended periods of time, coming back to problems we have tried to address before, is still something very valuable. I don&#39;t we should aim for AI to replace this.</p>
<p>More and more people have started talking about the <a href="https://www.youtube.com/watch?v=pzkwn3hu1Cc">loss of their purpose</a>. The purpose of solving difficult puzzles by means of writing code is becoming less and less something that people are willing to actually pay money for. So it might go the way of what many musicians are experiencing: most people won&#39;t ever make any money with music, but they still do it for the love of it. I think for a lot of people, coding will still be that. It&#39;s going to be a way of thinking, a way of problem solving. And there might still be room for artisanal, hand-coded projects that are of such high quality, because of the slowness and the thinking that went into them, that people still cherish and love them. But on the grand scale of things, we need to accept that we won&#39;t be writing code by hand most of the time anymore.</p>
<p>Mario Zechner, the developer of pi, has done a lot of things that go against the current grain of agentic development. He recently took an open source vacation, where he closed down the issue tracker on GitHub and people could not put in pull requests. He keeps stressing that the way he works with agents is actually pretty bare bones: one or two agents working on something, reviewing everything thoroughly, having to yell at the agent more often than not to get what he wants done. <a href="https://www.youtube.com/watch?v=dHBEQ-Ryo24">Jeremy Howard</a> is warning people about the dangerous illusion that he thinks AI coding can be. I think it&#39;s important to have these viewpoints, in contrast the people who spin up their AI factories and proclaim this to be the only realistic future.</p>
<h2>Honest opinions</h2>
<p>At the end of the day, we need to acknowledge that increasingly, it does not matter who writes the code, whether it&#39;s a person or an agent. What still matters is the intent behind it, and that we know what we want to do and what we don&#39;t want to do. I still think AI agents are the future. They need to be made much more accessible and we need to tear down artificial boundaries that make it infeasible to use them in a productive manner outside of our own private little space. But we also need to find good answers for avoiding the agentic whiplash that might have a very detrimental effect on our mental and physical health.</p>
<p>I don&#39;t have the answers to most of this. I can ask questions and talk about my opinion. And I think the most important thing we can do is talk about it. Be realistic about how things are developing. Be realistic about our own capabilities. Be honest about how we are feeling. AI agents can be like slot machines where you pull the lever and wait for something to come out, and more often than not, the result might actually be good enough and they might keep getting better and better with each model iteration. But the question is if we all want to just play the slot machines for our entire lives, or if we want to become the builders of something much better. I hope we&#39;ll aim for the latter one.</p>
<p>Nobody really has any clue about how this is going to play out. Everyone is experiencing this shift in real time, throwing shit at the wall and seeing what sticks. The most honest take in my opinion: We don&#39;t know shit.</p>
]]></content:encoded>
    </item>
    <item>
      <title><![CDATA[The convenience conundrum]]></title>
      <link>https://openshovelshack.com/blog/the-convenience-conundrum</link>
      <guid>https://openshovelshack.com/blog/the-convenience-conundrum</guid>
      <pubDate>Sun, 18 Jan 2026 00:00:00 GMT</pubDate>
      <author>Tommy Falkowski</author>
      <description><![CDATA[Why make it easy if we can do it the hard way?]]></description>
      <content:encoded><![CDATA[<h2>Looking through a distant lens</h2>
<p>Growing up in the western part of Germany in the 90s has had a very peculiar effect on me that most people from the US might not be familiar with. On the one hand, I got to experience a comparatively open and free society, where freedom was just a simple fact of life. On the other hand I was deeply aware that there was a constant gap both in technological progress and lifestyle compared to the US.</p>
<p>I would postulate that most kids and teenagers growing up in the US in the 90s did not think about other countries much in their daily lives. Not because of arrogance but because other countries didn&#39;t really appear much in their day-to-day lives. For me though, the US was present ever since I was able to actively watch television or listen to music. You see, the power of Hollywood and the music industry meant that the majority of media we consumed came from the US. And with it, of course, we also got a very unique insight into American culture, without actively participating in it.</p>
<p>Of course there are many cultures in the world that are far more removed from American culture than 90s German culture, but there was still a big difference. One noticeable difference for me, was technology. In today&#39;s highly globalized world, for the last 10 years or so, there really wasn&#39;t much difference from a technological standpoint (until recently and not accounting for China, which seems to be on a whole other level). The latest iPhones are released pretty much at the same time, the internet lets you interact with almost anyone you want at any time, and there are very few things that are really restricted to a certain region of the world.</p>
<p>But in the 90s, there was a bigger difference. And the item that demonstrates it best for me is the phone. When I was a kid, we used to have a red rotary phone which was conveniently placed on a dresser in the tiny hallway of our small apartment. If someone called you, you would stand in front of said dresser and talk on the phone there. Back then, telephones fell under the jurisdiction of the German Postal service and they handed out standardized telephones with a fixed cord length. You could actually get a phone with a longer cord, for an up-charge. But since my family wasn&#39;t exactly affluent, this was out of the question for us.</p>
<p>A stark difference to this rather archaic approach of practicing long-distance communication the way my family did, I could experience every time I watched a contemporary US movie or TV show. There, people always seemed to have phones conveniently placed in the kitchen, next to the bed or in the living room. And what phones they had! Rotary dials nowhere to be seen, instead nice buttons and what was this sorcery?! Some phones didn&#39;t even have cords! And boy, watching Home Alone in the early 90s as a kid really messed up my world view. I know it&#39;s a meme and that this lifestyle as a family with 5 or more kids was always an exaggeration even by American standards, but to me it represented something magical. Pizza delivery. TV in the kitchen. Wireless phones. Toys everywhere. To my childhood mind, this was the dream!</p>
<p>Which brings me to a core difference between Germany and the US even today, despite a much narrower technological gap: Convenience! People from the US love convenient things, which some are attributing to laziness but I think that&#39;s a rather one dimensional view. Drive Through banking, air conditioning, ordering take out, stores that are open 24/7 and many other examples show that convenience plays an important role for most daily activities. In German, we don&#39;t even have a good translation for convenience! The closest translations would be &#39;Bequemlichkeit&#39; or ‘Zweckmäßigkeit‘ which have a much more negative connotation than the English counterpart and have an overlap with the concept of laziness. There is also ‘Annehmlichkeit‘ which sounds like something luxurious, something you need to earn.</p>
<h2>Masochistic tendencies</h2>
<p>I recently watched a documentary about the 3 most influential Metallica albums and there was one thing that stuck in my head: When they embarked on their first European tour, Cliff Burton (may he rest in peace) was hit hard with culture shock. He commented how in Europe, if you miss breakfast in the morning you&#39;re out of luck for the rest of the day and might have to eat something like cucumber sandwiches or whatever is served at the given time of the day. In the US, he remarked, you can get breakfast at Denny&#39;s 24/7. I know this was 40 years ago but this still rings true for certain things.</p>
<p>In Europe and especially Germany we can be real boneheads about certain things and rules. I wish we could just start loosening up and stop living life burdened by all the legacy constraints we are carrying. Germany, especially, is severely lacking in the entire service industry! We even have a term for it: The Service Desert. Want to get the inside of your car cleaned? Good luck finding a place that offers this service for a reasonable fee. Most just don&#39;t. Maybe the situation is better in big cities, but in a normal German town, you&#39;re out of luck.</p>
<p>And then there is this notion of DIY-everything. Don&#39;t get me wrong, I love tinkering, building stuff and I actually like to self-host most of my digital services. Heck, I&#39;m even holding the firm belief that AI should eventually run on a box at home, without being constantly tethered to some cloud. But this is because I honestly like doing this. You know what every German will be able to tell you: The last time they helped one of their friends move apartments. The last time they went to the hardware store to pick up something for their latest home improvement project. The last time they put on wallpapers or painted the walls in their apartment. Germans are obsessed with having to do everything themselves! And even I am guilty of this habit to some extent.</p>
<p>My parents immigrated from Poland to Germany in the late 70s. I did not grow up with abundance and my father especially has always been someone who wants to do everything himself. So I think this might have distorted my view on things a bit. But my wife (who is from Spain) has commented on this phenomenon herself often, completely independent from my personal experience. And you know what I call many of those things: inconveniences. Yes, I do understand that helping each other is an important trait in a society but do we really need to ask others to help us carry our furniture and boxes for a move if there are people who make a living doing this? And this is where I see a vicious circle: The majority of people don&#39;t like paying for services because they might as well do it themselves...which results in fewer people offering said services in the first place, because there is no real demand. And those that are willing to pay can easily be charged a premium.</p>
<p>This might give off a strong &quot;old man yelling at clouds&quot; vibe, I know, but it seriously bugs me how inconvenient daily life in Germany (and Europe to a lesser extent) can be. And I am nowhere near suggesting we go full berserk mode and try to do everything the US way, because this would go overboard in my opinion as well. Rather, I&#39;m pleading to wake up and realize that life doesn&#39;t need to be needlessly cumbersome. That we too, can have nice things without feeling guilty or lazy. We don&#39;t have to go full &quot;you own nothing and will be happy&quot; and subscribe to any SAAS we can find just because it seems easier than learning to do something yourself. I plead for a world in which we are our own captains, carrying the responsibilities we truly need to shoulder ourselves but where we know how and when to delegate things.</p>
<h2>The ideological Spaltmass suicide</h2>
<p>You know what Germans think they are good at? Perfecting something. And it&#39;s true, we used to be among the best in the world in many things, especially when it comes to engineering. We were proud to optimize combustion engines to the max (and figuring out how to cheat at emission testing). We were the kings of the <em>Spaltmaß</em> [panel gap dimension] and knew how to make it as tight and uniform as possible. We were so focussed on optimizing the things we were good at that we completely lost the plot on what was happening in the world around us. Instead of diving into EVs head first like other countries, we just put it off as a future engineering task. Consumer behavior totally changed and less and less people cared about traditional car specs. They wanted an iPhone on wheels with entertainment systems that match their homes. They wanted a user experience that didn&#39;t feel like the 90s. And what did the German engineers do? They laughed about theses toy cars and continued talking about the Spaltmaß. How the hell could we be so arrogant? How far removed from the world are we that we cannot see the obvious shifts? I attribute this at least partially to a severe lack of understanding the importance of <strong>convenience</strong>. And to be clear: this doesn&#39;t mean we should stop optimizing altogether, though! We should be much smarter about what we optimize. Most things can easily be done by following the 80/20 rule. For very specific things, we should continue optimizing the hell out of it, like the ultra-smooth mirrors developed by Zeiss for use in <a href="https://www.asml.com/en/products/euv-lithography-systems">ASMLs EUV</a> lithography systems. But even here we should keep an eye on other approaches and not think that we are untouchable.</p>
<p>It doesn&#39;t stop here, unfortunately. We have reached a point in time where our morals and ideological standpoints are actively harming our well-being. The fact that most German buildings are not equipped with air conditioning, has historically been attributed a much milder climate than many other countries. And for 90% of the year, this might still hold true on a technical level. But my god, when did it become a political position to prefer not sweating your ass off in the summer while working? Air conditioning has always had a very hard standing in Germany. I suspect it&#39;s not the lack of necessity but rather the feeling of superiority that overcome most Germans when they proudly proclaim: I don&#39;t need this! I just open all windows for 15 minutes 4 times a day. We are number one when it comes to <em>Stoßlüften</em> after all. This is what we call creating a cross draft of air by opening the windows on two sides of the room. Worse yet, many Germans are convinced that ACs cause a battery of health issues. I don&#39;t know what has happened to us that we are proud of our masochistic tendencies. My very unscientific explanation is that we are all still suffering from generational trauma from two world wars and the hardships of the post-war era.</p>
<p>And this doesn&#39;t stop with AC. Every single household appliance needs to get an A+++ Energy Certification or we start losing our minds. <a href="https://x.com/dhh/status/1961791620296159613?s=20">DHH</a> has correctly pointed out the insanity of having to wait for 3+ hours to wash your clothes. Don&#39;t get me wrong: I believe that energy efficiency is important and that sustainable energy is the future, but why are we punishing ourselves instead of trying to drive innovation by optimizing for multiple instead of single goals? Why can&#39;t we aim for efficient and fast appliances while not accepting low quality at the same time? Yes it&#39;s an engineering challenge but aren&#39;t we supposed to be good engineers?</p>
<h2>Skill issues</h2>
<p>Which brings me to the most technological part of this rant: Artificial Intelligence. Yes, I know, it&#39;s a topic that can get tiresome but I promise you there is an important lesson here that I want to convey. AI is a force multiplier and more and more people are waking up to a reality in which autonomous AI agents can take care of many, many tasks in the background. We should leverage this as much as possible. Instead of trying to prematurely regulate AI, the EU and Germany should realize that this is our last shot at not losing the plot! Let&#39;s crank everything up to 11 and make sure we drive adoption of AI wherever it matters! And instead of lamenting skill atrophy, we should realize that by asking the right questions we can get better at what we do in the grand scheme of things even while some specific skills might wither away. And the best part: The ones benefiting the most from AI are the experts that get off their high horse and realize the enormous potential and start driving AI to achieve more than they ever could <a href="http://localhost:8080/blog/the-octopus-and-the-rake">before</a>. We just need to teach them how to pull their head out of their ass...This doesn&#39;t mean we should <a href="https://lucumr.pocoo.org/2026/1/18/agent-psychosis/">turn off our brains and let go completely</a> though. We need productivity, not AI slop!</p>
<p>And there is another gap that is widening every day: We can rage about the lack of democracy and true freedom in China all day, but when it comes to technology adoption and convenience, they are running circles around Europe and the US. And they are not stopping to wait for us. Let&#39;s try to not lose the plot on this one either.</p>
]]></content:encoded>
    </item>
    <item>
      <title><![CDATA[Thinking in data]]></title>
      <link>https://openshovelshack.com/blog/thinking-in-data</link>
      <guid>https://openshovelshack.com/blog/thinking-in-data</guid>
      <pubDate>Wed, 05 Nov 2025 00:00:00 GMT</pubDate>
      <author>Tommy Falkowski</author>
      <description><![CDATA[Fuzzy input, structured data and how I started to love DSPy]]></description>
      <content:encoded><![CDATA[<h2>A small step for mankind, a giant leap for me</h2>
<p>I recently had somewhat of an epiphany when I realized something that must be obvious to most software devs: Once you start thinking in data, many things make much more sense! I know this revelation wouldn&#39;t win anyone the Nobel prize but for me it was like taking off a blindfold. Even though I am technically a mechanical engineer and have always tinkered with computers, I did not, in fact, think much about data for most of my life. But ever since I started building my own software tools and moved most of my workflow to the terminal, I have become data-pilled! And this kind of thinking becomes even more powerful when working with AI! Let me explain why this might be important for you even if you&#39;ve had this wisdom for much longer than me.</p>
<h2>Data, data everywhere</h2>
<p>While doing some research on the topic I stumbled upon the <a href="https://en.wikipedia.org/wiki/DIKW_pyramid">DIKW pyramid</a>. I had seen it before but it hadn&#39;t left a big impression apparently. Now I think it&#39;s a great model for understanding the importance of data even if it&#39;s very simplistic. The model has 4 layers from bottom to top: Data, Information, Knowledge and Wisdom. Each layer is required to form the next one. So without data, you wouldn&#39;t get anywhere. And when I say &quot;think in data&quot;, what I mean specifically is structured or semi-structured data. Data can be everything, from a measurement taken with a sensor, to a report created by someone to a form on a website. But unless you&#39;re a programmer or a data scientist you rarely think deeply about the form and shape of this data. For most people, I would argue, it&#39;s just text and numbers. But as more and more people are looking to automate things with AI, we really should start thinking about data structures much more. This is especially true for Engineers who are already used to thinking in systems. Now that AI is becoming more and more ingrained in these systems, they should also start to think in data!</p>
<h2>Predicting the next token</h2>
<p>Most systems can be broken down into individual components that have inputs, a function and outputs. So far so simple. LLMs are exactly the same. Given some input tokens, they loop over predicting the next token until reaching an end-of-sequence token. The accumulated generated tokens form the output of the system. Feels like magic to some while others just see a bunch of matrix operations running on a GPU. I fall somewhere in between but I must admit that I&#39;m a pretty heavy user of next-token-prediction. Using these kinds of systems as a chatbots is fine and especially useful for learning about new topics but the biggest potential for businesses in my opinion comes from automating tasks with the help of LLMs.</p>
<p>Process automation is by no means a recent innovation, it has probably existed ever since there were processes to begin with. Well, maybe not that long but at least since the beginning of the industrial revolution. But even with the advent of computers, the internet and robotic process automation, there was always one major bottleneck: The real world is messy and many things don&#39;t naturally come in the form of structured data. So unless you figured out a good way of reliably extracting data from arbitrary input automatically, you still had to do this step manually. For certain kinds of information, a simple regular expression might be good enough, for example for detecting phone numbers or email addresses. But for anything just a bit more vague or heterogeneous, you had to start creating heuristics or even train specialized NLP models. Think of something like sorting documents into different categories based on content, entering information from always different looking documents into an <a href="https://en.wikipedia.org/wiki/Enterprise_resource_planning">ERP</a> system or judging the sentiment and urgency of a message in your inbox. Things like these were traditionally out of reach for many smaller businesses. I&#39;m not saying it was impossible but the amount of front-loading required was substantial and often resulted in people deciding not to pursue it further and continue doing the steps manually.</p>
<h2>Eliminating the bottleneck</h2>
<p>People in Silicon Valley might be surprised by this, but the reality is that in many companies there are still countless manual processes today. It’s mind-blowing even without AI, there’s huge potential for process automation. What makes AI, and especially large language models, such a game changer in my opinion is that they can take fuzzy input and transform it into structured data. Suddenly, the bottleneck is gone. You’re able to automate an entire workflow almost completely, depending on the process, of course.</p>
<p>If we’re being honest, a lot of current work still consists of copying and pasting information from one format to another. Opening up PDF documents, scanning them with your eyes, extracting the relevant bits, and then putting that into an ERP system, for example. The reason I find this realization so important is that most people don’t think in data. They have no idea what data structures exist or even what a data type is. So when you talk to companies about process automation, they often assume AI can do everything by default. If you can convince people to start thinking just a little bit in structured data, the potential is enormous. People can start assessing for themselves which parts of their work ideally the most tedious ones could be automated. Once you learn to recognize these patterns, you can apply them everywhere. In your daily work, you can ask yourself: can I extract structured data from this process?</p>
<p>Personally, I absolutely hate form-driven workflows like the ones in e.g. SAP. They’re just horrible. Having to click through endless forms and sometimes enter the same value multiple times like a date drives me crazy. For example, booking a work trip might require entering the same date four times. That’s not good process design; that’s legacy. And legacy is everywhere. You can’t replace these systems overnight. That’s why, once you start seeing these patterns, you realize something powerful: maybe you can’t replace the legacy system, but you can take fuzzy, natural language input a user simply saying what kind of trip they need, where they want to go, and when and let AI handle the rest. That’s easy for AI. To make this robust and reliable, though, the key isn’t structured input to structured output. It’s fuzzy input to structured output. The input should remain unstructured because that’s what drives adoption people prefer natural interactions. But the output must be structured so that systems can easily parse it.</p>
<p>And I know what you might be thinking: &quot;Why not just build an AI agent that does everything?&quot;. Of course, you could try this, chain a bunch of AI calls together and call it a day. One handling the input, another parsing it, and so on. But if we’re being sensible engineers then we need to ask ourselves: Do we really need to throw AI at every step of the problem? Classical software can handle many parts efficiently. The only real bottleneck is the fuzzy-to-structured step. That’s why I believe that learning to think in data and data structures is such an invaluable skill. Once you understand that pattern, you’ll see it everywhere. You don’t even have to design a full pipeline right away. You can start with as much AI as possible just to see what works and then gradually strip it down, replacing parts with more deterministic systems where it makes sense.</p>
<h2>Inputs and Outputs</h2>
<p>Getting an LLM to return structured output used to be a bit of a pain. There are tons of memes about &quot;bro, just return JSON, please!&quot; and it’s still a somewhat valid method. In the early days, LLMs could be overly verbose and return conversational parts before and/or after a json block. But the larger models have gotten so good that you often don’t need special tricks anymore to get valid JSON. But if you want automation to be reliable and always produce the same structured output, you might need something more formal like structured output mode. OpenAI’s API supports this through JSON schemas, ensuring the model only returns outputs matching the schema.</p>
<p>Local models can do this too. For example, <a href="https://github.com/ggml-org/llama.cpp">Llama.cpp</a> supports grammars, a method that defines valid generation patterns. The model can only produce outputs that conform to those rules. It’s great for guaranteeing valid JSON (or emojis, or any defined structure you might think of), though it can restrict the model output a bit, resulting in reduced accuracy of creativity. Another approach is fine-tuning which requires a good dataset. Or you could just rely on good old prompt engineering, optimizing the prompt bit by bit until the model gives you exactly what you need (Please, bro!). But why do something by hand if the AI can potentially do it better than you? That’s where <a href="https://github.com/stanfordnlp/dspy">DSPy</a> comes in. DSPy has been around for a while, but it takes some getting used to, which is why it took me much longer that I wish until it clicked for me.</p>
<h2>Prompt Programming with DSPy</h2>
<p>The core idea of DSPy is that you program LLMs instead of prompting them. Instead of writing long prompts, you define input and output behavior through a signature (like function signatures in typed languages such as Rust). You provide a short docstring, define the structure, and DSPy handles the rest. The most powerful part is its optimizers. The latest one, called GEPA, takes your signature, a few example input-output pairs (I used about ten), and automatically experiments with different prompts until it finds the one that yields the best score according to your metric.</p>
<p>And defining a good metric is key. For my use case which is turning unstructured text into structured JSON, I use a metric that checks for the following among other things:</p>
<ul>
<li>Is the output valid JSON?</li>
<li>Does it match the schema?</li>
<li>How many fields are correct versus missing or hallucinated?</li>
</ul>
<p>Each of these factors contributes to the score, guiding the teacher model in helping the student improve. The result is an optimized prompt that often outperforms anything you’d come up with manually. You might be able to find an equally good prompt by hand eventually but it would probably take much longer. DSPy automates that work, and the only requirement is that you can run the teacher and student models (for local models) or that you pay for the tokens (for cloud models). I&#39;m definitely in the former camp, running a gpt-oss-120B on an m2 Ultra MacStudio and Qwen3-Coder-30B on my local m4 MacBook Pro for the last couple of days. Here is an overview of the metrics I currently use:</p>
<div class="code-block-wrapper" data-lang="toml"><pre><code class="hljs language-toml">
<span class="hljs-section">[metrics]</span>
<span class="hljs-comment"># Weight for extra/hallucinated fields (0.0-1.0, default: 0.5)</span>
<span class="hljs-comment"># Lower values = lighter penalty for hallucinations vs wrong values</span>
<span class="hljs-attr">extra_field_weight</span> = <span class="hljs-number">0.5</span>

<span class="hljs-comment"># Beta parameter for F-beta score (default: 1.5)</span>
<span class="hljs-comment"># Values &gt; 1.0 favor recall over precision, &lt; 1.0 favor precision</span>
<span class="hljs-comment"># 1.5 means recall is 1.5x more important than precision</span>
<span class="hljs-attr">beta</span> = <span class="hljs-number">1.5</span>

<span class="hljs-comment"># Base score awarded for valid JSON parsing (default: 0.2)</span>
<span class="hljs-attr">base_parse_score</span> = <span class="hljs-number">0.2</span>

<span class="hljs-comment"># Additional score for schema validation (default: 0.2)</span>
<span class="hljs-attr">base_schema_score</span> = <span class="hljs-number">0.2</span>

<span class="hljs-comment"># Weight for field-level quality (F-beta of precision/recall) (default: 0.5)</span>
<span class="hljs-attr">field_weight</span> = <span class="hljs-number">0.5</span>

<span class="hljs-comment"># Weight for coverage bonus (encourages completeness) (default: 0.1)</span>
<span class="hljs-attr">coverage_weight</span> = <span class="hljs-number">0.1</span>
</code></pre></div><p>And here’s the beauty of it: once you start running this locally, you’re no longer dependent on cloud AI models. Local models are good enough for many tasks, especially when you break complex workflows into smaller parts. You could even use DSPy’s optimized prompts to generate new training data for future fine-tuning though in many cases, you might not need to. DSPy alone can improve results dramatically. Check out <a href="https://gist.github.com/WismutHansen/caf5f866e366a3003115c452fb02091b">this</a> prompt I got as a result from DSPy for extracting contact details.</p>
<p>DSPy is also available for languages other than Python: there’s <a href="https://dsrs.herumbshandilya.com/">DSRs</a> for Rust, <a href="https://github.com/ax-llm/ax">ax</a> for TypeScript, and I&#39;m sure many others will follow. If you want to experiment with this yourself, check out my <a href="https://github.com/byteowlz/xtr-py">example repo</a>. It demonstrates exactly this: converting unstructured text into structured output based on a predefined JSON schema. DSPy is not only for structured output of course, but the signature-based approach surely does lend itself perfectly for thinking in structured data!</p>
]]></content:encoded>
    </item>
    <item>
      <title><![CDATA[The octopus and the rake]]></title>
      <link>https://openshovelshack.com/blog/the-octopus-and-the-rake</link>
      <guid>https://openshovelshack.com/blog/the-octopus-and-the-rake</guid>
      <pubDate>Fri, 19 Sep 2025 00:00:00 GMT</pubDate>
      <author>Tommy Falkowski</author>
      <description><![CDATA[Being able to effectively command an army of agents might become an essential skill]]></description>
      <content:encoded><![CDATA[<h2>Are you an octopus?</h2>
<p>A while ago, Scott Werner published a <a href="https://worksonmymachine.ai/p/the-parallel-lives-of-an-ai-engineer">blog post</a> that has lived rent free in my head ever since. In the post, he describes how his work as a software engineer has been transformed by AI agents like Claude Code. Instead of focussing on a single problem at a time, he has started switching from session to session, tackling multiple projects at once. This has become possible due to the AI Agents doing the implementation while he is steering the ship. He compares this to an octopus that has distributed neurons in its arms, which allow them to act <a href="https://www.scientificamerican.com/article/how-octopus-arms-bypass-the-brain/">semi-independently</a>. I have shared this post with my colleagues and it has caused a noticeable ripple among us. I suspect this is because the article accurately articulates what many of us have been feeling for quite some time: We feel like we can get much more work done since the advent of LLMs and AI Agents.</p>
<p>Now, I understand that there is still some skepticism around AI, especially from people with deep technical expertise. They might have experienced some of the shortcomings of current AI systems and have decided that it&#39;s not as helpful as many are proclaiming. But I think that they might just be too focused on their very own specific use case and haven&#39;t taken a step back to see the bigger picture: It&#39;s not so much about a single task but more about the fact that you can now do so much more in parallel if (and that is still a big if) you are able to embrace becoming an octopus.</p>
<p>But how do you become an octopus? And what does it mean to effectively manage AI Agents without just generating a bunch of AI slop? One thing is certain: AI won&#39;t magically make you an expert in every field but it will raise the baseline for so many tasks if used correctly. In Scott&#39;s case, the octopus analogy is used for AI assisted coding where he can tackle multiple coding-related tasks in parallel. But I think that zooming out and looking at multiple areas of application is where this analogy really shines. I, for one, have been juggling so much more ever since I started leaning into AI systems. And I am convinced that it has unlocked a vast array of new capabilities for me. You can check out <a href="https://openshovelshack.com/blog/everythin-everywhere-all-at-once">this post</a> for a short summary of what I mean.</p>
<h2>Raking in the benefits</h2>
<p>When talking about skills there is the concept of <a href="https://en.wikipedia.org/wiki/T-shaped_skills">T-shaped skills</a> that describe generalist-specialists: They have a broad base knowledge (represented by the horizontal line of the T) but they also have deep expertise in one specific area. This has long been the archetype for high-ranking roles in academia and industry. The assumption is that people with this kind of skill set can quickly understand the essentials of many other fields while also being able to contribute to state-of-the-art work in their own field of expertise. But what if instead of a T, we could have multiple areas of deeper expertise? This idea is not new but it was brought to my attention again by one rather humorous <a href="https://x.com/PITTI_DATA/status/1919440903837544824">tweet</a>. I subsequently coined the term &quot;rakeist&quot; but I don&#39;t have high hopes of it catching on due to it&#39;s rather small <a href="https://en.wikipedia.org/wiki/Levenshtein_distance">Levenshtein distance</a> to a variant that replaces the k with a p. But jokes aside: What if we would constantly expand our horizon by adding more and more areas of expertise to our skill set and end up with something that looks like a rake?</p>
<p>People have talked about livelong learning for ages, but the reality for a lot of people was that with a job and a family, there was only very little time left to pick up new skills. It&#39;s of course not impossible and in some professions like software engineering it was basically a necessity to constantly learn new ways of doing things. There is a saying in German that roughly translates to &quot;I don&#39;t have any time to sharpen my axe, I&#39;ve got to chop down trees!&quot;. This and other phrases are common in business environments because they humorously describe a common reality: When you have only so much time to do the thing that you are being paid to do, you usually spend most of it doing the thing as opposed to doing things that might actually make things easier in the future. But what if sharpening the axe has actually become much easier over the last couple of years? What if you had an army of (somewhat lopsided) experts that never get tired and are available 24/7. What if they could not only help you doing things but help you expanding your own skills? This is exactly what AI can be.</p>
<h2>Stepping out of the comfort zone</h2>
<p>In one of his recent videos on the topic of <a href="https://www.youtube.com/watch?v=6TMPWvPG5GA">vibecoding</a>, Theo said something that caught me off guard: He said that he believes you should not lean in to agentic coding if you couldn&#39;t do the implementation yourself (if necessary). I myself have been tackling many things thanks to agentic coding tools (<a href="https://opencode.ai/">opencode</a> btw) and some are beyond what I could easily implement myself (Note: you can replace the word &quot;agentic&quot; with <a href="https://x.com/jeremyphoward/status/1968771130304434502">LLMs + tools in a while loop</a> if you want). I believe I could learn to do most of it but it would probably take me an insurmountable amount of time, if I had to learn everything the old fashioned way. According to Theo, if you are not able to clean up the mess that an AI agent produces if not held tight enough on the leash, you should not even try to wield this mighty sword. He does, however, strongly encourage people to use AI for learning by asking questions outside of your IDE and then go try to implement it yourself. This is very similar to what <a href="https://world.hey.com/dhh">DHH</a> has been saying for quite some time.</p>
<p>And after letting this sink in I have to say that I don&#39;t fully agree with this position. I firmly believe that trying to do stuff that is a bit above your skill level can actually be the best way of learning. I am not saying you should go and try to do something that is far outside your comfort zone, because the moment something goes wrong and even the AI can&#39;t fix it anymore, you are indeed screwed. But just beyond the edge of your current skill level, there is what I would call the effective learning zone.</p>
<p><img src="/working_with_AI.webp" alt="Working with AI"  class="rounded-lg w-full h-auto my-6" /></p>
<p>I picked up this idea from a nice article on a framework for working with AI by <a href="https://it20.info/2024/5/a-framework-to-adopt-generative-ai-assistants-for-builders/">Massimo Re Ferrè</a>, which I simplified in the above image. The learning zone is above your current skill level but you are still able to understand everything well  enough. You also can intuitively judge whether a result is good or not. This is the area that I like to live in personally. Because doing something that you don&#39;t yet fully know how to do but then see it succeed is highly motivating. And at the end of the day, what truly counts is the result you are able to achieve. If using AI is helping you create something that is of use to you and that works, it might not even matter if you fully understand everything yet. But one thing is clear to me: If you don&#39;t have a strong desire to learn as much as possible and expand your skill set in the process, you&#39;re gonna have a hard time. There has never been a better time to learn new things than now. Just don&#39;t forget to let your ideas <a href="https://openshovelshack.com/blog/let-it-marinate">marinate</a> from time to time.</p>
<h2>Growing tentacles</h2>
<p>One important detail of Scott&#39;s post is the aspect of collaboration. When considering the octopus, it seems that traditional team roles and communication patterns could actually be counterproductive. Because when working with Agents effectively, you yourself are able to understand what is happening all the time. But good luck explaining everything to someone else. Imagine having to sift though someone else&#39;s chat histories to piece everything that they have been working on together. At the same time, an octopus can only be really effective when they are given enough freedom to tackle many problems that were traditionally split among different roles. I don&#39;t have an answer yet if this conundrum can be easily alleviated for existing organizations with traditional hierarchies and roles. One thing I do know is that you should not wait around for someone else to figure it out. Go grow some tentacles and <a href="https://www.youtube.com/watch?v=siLksTW5DBA">let&#39;s do things!</a></p>
]]></content:encoded>
    </item>
    <item>
      <title><![CDATA[The age of personal computing]]></title>
      <link>https://openshovelshack.com/blog/the-age-of-personal-computing</link>
      <guid>https://openshovelshack.com/blog/the-age-of-personal-computing</guid>
      <pubDate>Fri, 08 Aug 2025 00:00:00 GMT</pubDate>
      <author>Tommy Falkowski</author>
      <description><![CDATA[this time, it really is personal]]></description>
      <content:encoded><![CDATA[<h2>Humble beginnings</h2>
<p>Computers have always had an almost magical quality for me. The first computer in our home was an old decommissioned Siemens PCD-2P laptop my father had brought home from work when I was probably around 4 or 5 years old. It was running MS-DOS and had a white and blue LCD Display. I guess I was still a bit too young to really immerse myself in the arcane world of the pre-gui era command line but I remember playing the game <a href="https://en.wikipedia.org/wiki/Gorillas_(video_game)">Gorillas</a> on it, where two players took turns trying to hit each other by throwing bananas in an arc. It was really fun! We also got a hand-me-down external monitor a bit later and could enjoy <a href="https://en.wikipedia.org/wiki/Color_Graphics_Adapter">CGA</a> graphics in all its glory (which was not very glorious at all). I have vague memories of watching my sister, who is five years older than me, play Monkey Island with very pinkish graphics.</p>
<p>The next computer we had was an Atari ST 520 and I have fond memories of playing <a href="https://en.wikipedia.org/wiki/Toki_(video_game)">TOKI</a> and <a href="https://en.wikipedia.org/wiki/Winter_Games">winter games</a> on it. A few years later we also got an Amiga 500, which meant we could play <a href="https://en.wikipedia.org/wiki/James_Pond:_Underwater_Agent">James Pond</a> in all it&#39;s glory! I also loved watching my sister play <a href="https://en.wikipedia.org/wiki/Moonstone:_A_Hard_Days_Knight">Moonstone: A Hard Days Knight</a> which was not very age appropriate but since my parents didn&#39;t really know about it, I was happy to see the knights perish in graphic detail.</p>
<p>But all of these machines were actually my sister&#39;s and I was merely riding shotgun and apart from playing games I didn&#39;t do any tinkering. Also, we usually were lagging a few years behind technologically speaking, because the machines were all hand-me-downs. My first own computer was also an old decommissioned one, a PC running Windows 3.11 at a time when Windows 95 was all the rage. I did enjoy using it though, and remember neatly organizing the application windows on the desktop, which would even persist a reboot. We did have a PC running Windows 98 eventually but it was in my parents&#39; bedroom and I could only use it for Microsoft Encarta and Adobe Photoshop SE.</p>
<h2>Learn to fly</h2>
<p>My real computer journey began when my sister and I finally got a brand new state of the art PC for Christmas one year: An HP Pavillon with an Athlon XP 2200+ CPU! It wasn&#39;t a very powerful machine but it was running Windows XP and it even had a CD writer and a DVD reader! And the best part was that I got to put it in my room! This was when I really got computer pilled and started exploring, tinkering and of course also playing even more games. We didn&#39;t get internet access until a few years later so I got hooked on monthly PC magazines that came with a CD with various software on it. I loved tweaking system settings and I even replaced the system sounds with audio snippets from Austin Powers Goldmember. I started ricing my system long before the term was coined using a program called <a href="https://en.wikipedia.org/wiki/StyleXP">StyleXP</a>.</p>
<p>One day, after my sister and I had a fight and she took the computer to her room, my mother decided that it was finally time I&#39;d get a PC just for myself. She took me to a nearby electronics store and we picked out an Acer Aspire machine that was slightly better than the one we had back at home. It wasn&#39;t very powerful either but most games I wanted to play ran fine and the CRT screens back then were very forgiving even at lower resolutions. When I look back now I can&#39;t believe that we just picked out something without doing any research at all. This was the machine I&#39;d eventually play Half Life 2, GTA Vice City and many, many great games on.</p>
<p>So I can say I&#39;ve always been deeply immersed in personal computing, even going further than most to tweak everything to my liking. I never did get into programming though (not until ~3 years ago that is) which meant that I was at the mercy of others to get software that I could use. So the personal part of Personal Computing has always had a limit. Fast Forward to 2025 and things couldn&#39;t be more different.</p>
<h2>Welcome to the true era of personal computing</h2>
<p>To me, the real era of Personal Computing is only getting started. Creating tools that solve your exact problems is easier than ever, thanks in large part to the mind blowing advancements in artificial intelligence. For specific use cases, it is now easier (and sometimes faster) to have your coding agent (<a href="https://opencode.ai/">opencode</a> for me btw) create the tool than it is to find something suitable in an app store. Single purpose software for the audience of 1. What would have sounded ludicrous just a couple of years ago is now the new reality. When OpenAI announced gpt-5 on August 7th, 2025, they showed off the ability to create user interfaces on the fly for various purposes. This is similar to Anthropic&#39;s Claude Artifacts that have been available for quite some time but I have a feeling that OpenAI really wants to double down on the idea of <em>generative UI</em> for their large user base.</p>
<p>Personally, I am more interested in building my own persistent tools although for many situations, throwaway interfaces/tools will indeed come in handy. I&#39;m not sure yet what this means for the future of software and especially software as a service, only that it&#39;s going to have an impact. Steve Job&#39;s famous quote probably still holds true for part of the demographic: &quot;People don&#39;t know what they want until you show it to them&quot;. Taste and finding good and novel solutions to real life problems will still be key I guess, but the fact that basically everyone now has access to tools that allow us create tailored software solutions will change the game forever. I know that it already has for me in a major way. For experienced developers, it might feel different, since they&#39;ve always been able to just create their own custom software if they just put in some time. For me though, it feels like the true beginning of Personal Computing.</p>
]]></content:encoded>
    </item>
    <item>
      <title><![CDATA[The AI convergence]]></title>
      <link>https://openshovelshack.com/blog/the-ai-convergence</link>
      <guid>https://openshovelshack.com/blog/the-ai-convergence</guid>
      <pubDate>Tue, 22 Jul 2025 00:00:00 GMT</pubDate>
      <author>Tommy Falkowski</author>
      <description><![CDATA[no matter how you feel about AI, it's starting to take over the public discourse]]></description>
      <content:encoded><![CDATA[<p>Having been deep inside the bubble that is tech/AI Twitter, I&#39;ve been witnessing an interesting phenomenon in the last year or so. I call it the <strong>AI convergence</strong>: a noticeable shift of many creators toward talking more and more about AI. I see this as an indicator of AI’s ubiquity in everyday life, though I suspect it&#39;s also due to the algorithm doing its part to confirm my bias. Still, that alone can’t explain why so many people who didn&#39;t talk about AI before have started doing so. And I&#39;ve been following most of these people for much longer than generative AI has been around.</p>
<p>One of the most obvious examples is <a href="https://www.youtube.com/@t3dotgg">Theo</a>, who started out somewhat skeptical about AI in programming and in the couple of weeks went almost full AI bro on us. He even created his own AI chat platform with <a href="https://t3.chat/">t3.chat</a> which seems to be the fastest/smoothes chat experience out there. Granted, as a technical YouTube channel focussing on web development it&#39;s probably impossible not to talk about AI in some capacity but this evolution is still remarkable.</p>
<p>Even <a href="https://www.youtube.com/@ThePrimeTimeagen">The Primeagen</a> who to this day remains somewhat reserved about the perceived benefit of AI for coding can&#39;t stop making videos about it. <a href="https://www.youtube.com/@InternetOfBugs">InternetOfBugs</a> has also increasingly started covering AI in programming albeit with a different viewpoint that many others, which I really appreciate. <a href="https://www.youtube.com/watch?v=PDMxbbejgcA&t=1s">Dreams of Code</a> has also admitted to changing his mind about using AI in programming recently. <em>But what about creators that are not programmers?</em></p>
<p><a href="https://www.youtube.com/watch?v=3Nlb-m_vKYM">Rick Beato</a>, the music producer turned YouTuber, who is one of the best sources for learning about music, has also started to talk about AI (in music). Or take <a href="https://www.youtube.com/watch?v=qQ42lbLFxv8">Jeff Geerling</a>, who is the pope of homelabbing and now has multiple videos about self-hosting AI models in your home lab. I could name many more who have started exploring AI but I think you get the point.</p>
<p>You could attribute this to pure hype but I don&#39;t think this is a sufficient explanation. I view this rather as an indicator of the diffusion of a base technology that is increasingly impacting all aspects of our lives. Some compare this to the transistor or the iPhone (and by extension smart phones in general). I am convinced that if YouTube had existed at the time the transistor was invented, people from many different interest groups would have started to talk about it in some capacity, albeit diffusion was much, much slower back then.*</p>
<p>What I like about this trend is that you get exposed to many different takes. You get to step out of your bubble for a moment and consider how AI is being perceived by people that are not glued to tech twitter for a third of the day. And this exposure to different takes is what helps me better process the tsunami of progress we are being promised by the master hypers every day. Reality is complex and there are almost infinite niches you can learn about. And not everyone is viewing AI as the be-all-end-all solution like the tech bubble. I urge you to start considering the many different views on the topic and listen to how others are experiencing this transformation. Because after all, we are all experiencing this transformation together to some degree.</p>
<p>*I now have to suppress the sudden urge to create transistor related fake 1950s era YouTube videos.</p>
]]></content:encoded>
    </item>
    <item>
      <title><![CDATA[Everything, everywhere, all at once]]></title>
      <link>https://openshovelshack.com/blog/everythin-everywhere-all-at-once</link>
      <guid>https://openshovelshack.com/blog/everythin-everywhere-all-at-once</guid>
      <pubDate>Thu, 03 Jul 2025 00:00:00 GMT</pubDate>
      <author>Tommy Falkowski</author>
      <description><![CDATA[It has never been easier to learn new skills and once it clicks, you feel like you've been handed superpowers. ]]></description>
      <content:encoded><![CDATA[<p>The last 2 1/2 years of my life have felt like speedrunning a game that you&#39;re playing for the first time while trying to do every little side quest. And so far I feel like I&#39;ve only beaten the first few levels. I&#39;ve always been someone who could dive deep into a rabbit hole if something picked my interest but I&#39;m not very disciplined in general. If you give me the right idea that sets off a spark in my contrived neural maze, however, then it&#39;s hard to stop me. And boy did the sparks fly these past ~30 months.</p>
<p>Technology has always fascinated me and I consider myself fairly technical but never in my life have I learned so much in so little time. And all mostly thanks to a system that was trained to predict the next fragment of a word in a sequence. November 30th, 2022 was the date where everything fell into place. I remember trying out chatgpt after reading about it online and being completely mesmerized. You could type any kind of question into this text box and out came some kind of coherent answer, even if it was not always factual. But you could just continue asking questions and it would seemingly keep the context of the current situation. This felt like magic to me.</p>
<h2>Flicking the switch</h2>
<p>The moment I realized that this thing could also spit out code snippets for problems you gave it, I was fully hooked. Yes, probably like everyone else I also generated some random weird poems and some semi-funny birthday wishes but that was just silly games that got boring pretty quickly. As a longtime user of Wikipedia, I was more than used to going down seemingly unlimited rabbit holes of interconnected links, but this was next level: You could get an answer for your own very specific question without having to skim through forum posts or random bits of trivia before you found what you where looking for. And I was looking to build!</p>
<p>Ever since I got my first PC as a teenager I&#39;ve been a heavy computer user but somehow I had never found much interest in writing code. Maybe it had seemed to intimidating or maybe I just found something else more interesting (video games, movies, TV shows, music etc.). But ever since asking chatgpt for that first snippet of Python code, something changed in me. It suddenly dawned on me: Knowing how to code is the ultimate form of freedom. Freedom to build whatever you want, freedom to kick out every last piece of crappy software you had been using due to the lack of good alternatives.</p>
<h2>Pedal to the metal</h2>
<p>I was hooked. Generating the first Python snippets was like an entry drug to the world of coding. And I was not in fact satisfied with just getting to the finish line, no, I wanted to learn how to wield this magic power myself. Bit by bit I started reading up on best practices, cool libraries and got intermittently overwhelmed by javascript frameworks. I might have invented <a href="https://x.com/TommyFalkowski/status/1800567809694715928">github doomscrolling</a> and I started watching coding-focused YouTube channels. I build my first <a href="https://github.com/WismutHansen/READ2ME">open source project</a> that I still use on a regular basis (even though the code is one big mess). And I kept asking questions to the magic textbox. Trying to summarize what I have done and learned since then would look something like this:</p>
<ul>
<li>At work, I actively started pursuing potential applications of the new technologies and I started recording <a href="https://www.youtube.com/watch?v=9VwCYcCOG3A&list=PLmdnOV1KOWd6EBJYCAd1lZgSaRpOc7XTn">YouTube</a> videos on the topic.</li>
<li>We started a new initiative and I became head of the GenAI incubator, where we coach teams of students to implement real industry use cases iteratively, which resulted in me realizing that I do like to teach!</li>
<li>I started playing around with Stable Diffusion and trained my own Loras and now consider myself somewhat of a comfui noodler.</li>
<li>I switched to a mostly terminal-based workflow and started using neovim (btw).</li>
<li>I got interested in Rust and started exploring the Tauri framework for building desktop applications. I&#39;m currently building my own todo list app, because I hate todo lists and I have the hope of tricking myself into finally using one if I build it myself.</li>
<li>I held more keynote presentations than I can count, trying to teach people about the potentials and limitations of current AI systems and the potential implications for society and the economy.</li>
<li>Together with my friend and colleague Roman Dumitrescu I started a <a href="https://lnk.to/outatime-fraunhofer">Podcast</a>, where we explore the implications of different technological advancements</li>
<li>I ditched Windows on my Desktop and installed arch (btw) and have just started from scratch with <a href="https://omarchy">omarchy</a> (I have the feeling that DHH and I are on a similar trajectory.)</li>
<li>I started learning Japanese just for fun (just via duolingo so I&#39;m learning at snail&#39;s pace)</li>
<li>I posted more and more on twitter and must say that I&#39;ve meet some great people in the process. It is without a doubt the best place to stay up to date on all things technology and AI!</li>
<li>And I started this blog, of course, which resulted in me going full rabbit hole mode on self-hosting on a VPS.</li>
</ul>
<h2>The insatiable hunger</h2>
<p>AI can be a double-edged sword, since it&#39;s easy to get a feeling of learning while actually not retaining anything yourself. But if used correctly, AI can turn you into a superhero. But this requires deliberate actions where you think about what you want to do and achieve and it&#39;s still a good idea to let things <a href="https://openshovelshack.com/blog/let-it-marinate">marinate</a> from time to time.</p>
<p>The jury is still out on whether my progress is just an illusion or if I have found my true calling but either way, I am happy to say that I&#39;ve been having one hell of a time.</p>
]]></content:encoded>
    </item>
    <item>
      <title><![CDATA[Let it marinate]]></title>
      <link>https://openshovelshack.com/blog/let-it-marinate</link>
      <guid>https://openshovelshack.com/blog/let-it-marinate</guid>
      <pubDate>Wed, 18 Jun 2025 00:00:00 GMT</pubDate>
      <author>Tommy Falkowski</author>
      <description><![CDATA[conscious and subconscious contemplation is a powerful thing]]></description>
      <content:encoded><![CDATA[<p>I spend quite a lot of time thinking about the future and especially how AI will shape it. I&#39;m more or less oscillating between states of euphoria and uneasiness due to the rapid progress that we see in AI tooling on the one hand and the implications this might have on our lives on the other hand. I therefore often think about the current capabilities of LLM-based AI systems and what&#39;s still missing to reach human level intelligence.</p>
<p>Some argue that we have already reached or even exceed human-level intelligence, and for certain applications, this is probably true. But there are still fundamental things missing and I don&#39;t know if or when this might get solved. Don&#39;t get me wrong, I am certainly among the power users of AI tools and feel immensely empowered by them. And I also don&#39;t think we need to match human intelligence in order for us to reap the benefits of AI. On the contrary, I am convinced that we have barely scratched the surface of what we can use the AI models for. But when the CEOs of most AI labs are heralding artificial general intelligence as basically solved and artificial super intelligence to be right around the corner, it is important to acknowledge that there are still many holes in today&#39;s AI systems.</p>
<h2>Serendipitous shower thoughts</h2>
<p>One thing I have realized in the last year or so, is that in contrast to an AI system that would happily go through task after task for as long as you are willing to feed it with more and more instructions (each one with a fresh context window of course), the human brain needs room to breath in order to work its magic.</p>
<p>This becomes very apparent to me when working with code. Sure, Claude Code would give you <em>a</em> solution to a problem you give it and it would probably do a decent enough job even with limited specified requirements. But what really makes a difference, at least for me, is consciously and subconsciously thinking about a given problem over an extended period of time. When you carry a task with you for days or even weeks, you somehow seem to form new and often random connections. They appear as sudden burst of ideas you get under the shower even if you were thinking about something completely different.</p>
<p>That is not how current LLM-based systems work. They do not hold idle thoughts in between the many different prompts that are sent towards them. They don&#39;t even truly hold any state, since the context window containing all turns of the current conversation has to be handed to them for each new call. Yes, with enough agentic scaffolding you could simulate this to a certain extend, but I don&#39;t think we know enough about these serendipitous shower thoughts to just emulate them (disclaimer: I am, of course, not a neuro-scientist, so take this statement with a huge grain of salt). Instead, what might lead us there are systems that are constantly taking in the world with different sensory capabilities similar to how we humans do it. The big AI labs are probably already working on such systems and the findings they have made behind closed doors might be the reason for their bold predictions. The good thing about short time horizons is that we will find out pretty soon either way.</p>
<h2>Upgrading the mind</h2>
<p>In my experience, the main bottleneck for building software (and other systems) is the time required to let the ideas bounce around in our head until we feel that we have a good grasp of what direction to take. AI can act as a catalyst because it can patiently wait for us to get to this point and we can even use it to loop through our many ideas to try and get there a bit faster. But in the end, I have not found a real replacement for contemplation, even though I use AI to help me keep track of my many parallel ideas. And man is it satisfying to finally sit down and blast through implementing a new feature after you have thought about it long enough.</p>
<p>It could well be that I am weird and that it&#39;s different for you but I would still encourage you to try and let the thoughts sink in from time to time. Let them <em>marinate</em>.</p>
]]></content:encoded>
    </item>
    <item>
      <title><![CDATA[Open source sparks joy]]></title>
      <link>https://openshovelshack.com/blog/open-source-sparks-joy</link>
      <guid>https://openshovelshack.com/blog/open-source-sparks-joy</guid>
      <pubDate>Sun, 08 Jun 2025 00:00:00 GMT</pubDate>
      <author>Tommy Falkowski</author>
      <description><![CDATA[there is no better feeling than finding a great tool that solves one of your problems and then realizing that it's completely open for you to check out]]></description>
      <content:encoded><![CDATA[<p>In the last few years I have developed a deep appreciation for open source software. To be fair, I have always liked the idea of open source tools but I never spent much time specifically seeking out open source software. Now, I actively look for open source tools whenever I have a problem that need to be solved. And the reason for that is simple: <strong>Open Source sparks joy in me!</strong> Knowing that people create software and share it openly with the world just makes me happy. But I guess there is a little more to it.</p>
<h2>Why it matters</h2>
<p>Stop for a second and imagine a world without Linux. Let&#39;s say Linus Torvalds had never openly shared his hobby project in 1991 and, for the sake of the argument, imagine that no other effort had resulted in a free and open source operating system. The world would probably look vastly different. Today, around <strong><a href="https://www.fortunebusinessinsights.com/server-operating-system-market-106601">63%</a></strong> of servers are running Linux! I am convinced that without it, we wouldn&#39;t have seen nearly as much technological innovation in the last decades.</p>
<p>And Linux is just one example among many. Projects like sqlite or ffmpeg and many others have had a similar impact on innovation. But apart from being an essential driver for innovation, open source software is a manifestation of freedom. Most open source licenses grant you the freedom to change the software as you please and the more permissive licenses like MIT or Apache 2.0 even grant you the rights to basically do anything you want with the code. Even if you just use the software as is and do not plan to change even one little thing - you are at least not being told by anybody how to use the software and what to do with it.</p>
<p>This last part has become increasingly important to me. In a world, where everything seems to be turned into a subscription, where companies restrict how you can use your devices even though you&#39;ve already payed for them - it is so refreshing to realize that you can just do stuff. The only thing you need is curiosity and a bit of motivation. Thanks to the success of git (again, thanks to Linus Torvalds) and with it, github and similar online code repositories, open source software is more accessible than ever.</p>
<p>Why don&#39;t you try this: Pick a software that you bought or that you are paying a monthly subscription for and ask o3 in chatgpt to search for some open source alternatives. I can guarantee you that you will get multiple suggestions. Or peruse this website to see which open source tools I can recommend.</p>
<h2>What about making money?</h2>
<p>Open Source does not automatically mean that you can&#39;t charge for software, although I do admit that the software I personally find most interesting, is the one that is not only open but also free (as in beer and also as in freedom). That still does not mean that making money and open source are mutually exclusive, though, as many successful companies have proven that there are clear options for monetization, either through dual licensing, service contracts, sponsoring etc. For online services, many people are actually more than willing to pay a monthly fee for a hosted option, where they don&#39;t have to dive into self hosting. I myself am actually paying for several open source services, because it is very convenient and I&#39;ll gladly support the developers.</p>
<h2>The Future of Open Source</h2>
<p>Another area of progress that would not have been possible without open source (and open research) is artificial intelligence. How could LLMs and other AI models have been trained without access to the enormous amounts of open source code available on the internet? We have to acknowledge that our technological progress is build on top of a giant foundation of openly shared knowledge and this is something we have to protect! Writing software has in turn become much more accessible thanks to AI, which enables even more people to create new tools that solve specific problems. I for one, have started writing my own tools that fit my way of working perfectly and I also share the code openly on <a href="https://github.com/WismutHansen">github</a>. I encourage you to do the same, even if it might seem daunting at first. Because even if you are the only person to ever use it, as long as it sparks joy in you, it was worth the effort!</p>
]]></content:encoded>
    </item>
    <item>
      <title><![CDATA[Getting terminal-pilled]]></title>
      <link>https://openshovelshack.com/blog/moving-to-the-terminal</link>
      <guid>https://openshovelshack.com/blog/moving-to-the-terminal</guid>
      <pubDate>Sat, 07 Jun 2025 00:00:00 GMT</pubDate>
      <author>Tommy Falkowski</author>
      <description><![CDATA[Once you realize how much faster you can do stuff when using a terminal-centric workflow, you never wanna go back!]]></description>
      <content:encoded><![CDATA[<p>It took me 36 years but I finally saw the light: I consider myself a terminal user now! I can vividly remember when my math professor at university navigated to his latex/pdf slides via the command line on his linux laptop and me thinking:</p>
<p><em>What a smug asshole! Why can&#39;t he just use the computer like everyone else?!</em></p>
<p>Man, how stupid I was back then. You see, I always loved computers and tinkering but apart from a short period of trying out SuSE Linux when I was ~15 years old, I was firmly stuck on Windows for most of my life and grew up using GUI applications (not taking into account the limited exposure I had to MS/DOS as a very young child). As a young and naive boy I therefore thought that my way of using this technology must certainly be the optimal way of doing things. As with many things in life, I was of course completely wrong.</p>
<p>First of all: There is no one optimal way of using technology, only the optimal way for <em>you</em> to use something. Of course there are objective ways of measuring how efficiently someone is leveraging a technology like the time it takes them to finish a specific task. But this is a very one dimensional way of seeing things. Maybe more importantly, you need to be <em>comfortable</em> with the way you are doing something. And this is where time/age and especially self-reflection can make all the difference in the world.</p>
<h2>Looking back</h2>
<p>Like I mentioned before, I did have at least some exposure to Linux in the early 2000&#39;s when I tried out SuSE Linux alongside my usual Windows XP System. This made it impossible to completely avoid the command line, since some aspects like installing the drivers for my ATI GPU (you know, the company that AMD later aquired to boost their GPU game) required me to type in cryptic commands into this arcane feeling interface commonly referred to as the <em>terminal</em>. I must have felt like Neo in the Matrix back then with the slight difference that I didn&#39;t actually know what I was doing. Although I did enjoy the experience of tinkering with Linux, I eventually just regressed to using Windows full time and didn&#39;t touch Linux for many years. I do remember some German forum post from back then where people would regularly answer troubleshooting questions regarding Linux with: &quot;Read the <em>Koffler</em>&quot; (referring to the <a href="https://kofler.info/buecher/linux/">German Linux Bible</a>). I guess Germans were born to be Stack Overflow users.</p>
<h2>Seeing the light</h2>
<p>I did eventually start using Linux again for my ubuntu home server and got comfortable with the occasional use of ssh via putty on Windows but the moment that changed everything for me was the release of ChatGPT of all things. I am a pretty technical person, having studied mechanical engineering and working at a research institute focusing on systems engineering. But I never was a programmer. At various stages of my life, I had thought about getting into programming, but never went through with it. While finishing my master&#39;s I did enroll into the free online version of <a href="https://pll.harvard.edu/course/cs50-introduction-computer-science">CS50</a> but never finished it, either.</p>
<p>November 30th, 2022 was finally the moment where I had no more excuses. I now had access to this magical assistant with a somewhat <a href="https://www.hbs.edu/ris/Publication%20Files/24-013_d9b45b68-9e74-42d6-a1c6-c72fb70c7282.pdf">lopsided level of intelligence</a> that could answer my questions 24/7 (or at least: be willing to always give me an answer). More importantly, this tool could spit out <em>code</em>. Code that even worked, albeit with the caveat of you sometimes having to go back and forth to make the code actually work. For me, this meant that I could finally start coding away without having to first go through many different tutorials before I could build something of actual use.</p>
<p>I know that this is a slippery slope and it can give you the illusion of learning something while in reality, the AI is doing all of the heavy lifting that would actually result in your brain forming the new connections required to learn something. But this wasn&#39;t the case for me. I was hooked on learning all about building software all of a sudden. Instead of having to sift through mountains of tutorials until finding something that resonated with me, however, I could just learn by doing. The many years of tinkering with computers certainly gave me a substantial advantage because even though I was never a programmer, I did at least have a pretty good understanding of <em>how</em> computers work. Which meant that I knew what to ask for!</p>
<p><em>Ok, but what does this have to do with working from a terminal</em>, you might be asking yourself. And you are right, programming does not mean that you have to do everything from the terminal. Heck, most people working as software developers are probably using GUIs for most of their work, since VSCode not only gives you a play button for running your code, it also hides working with git behind an easy to use visual interface.</p>
<p>But I guess I am not like most people, some would even call me a freak. But dipping my toes into programming lead me down a rabbit hole full of magical tools and people that I didn&#39;t know exist. I started reading blog posts and watching a lot of videos about programming on YouTube. I discovered <a href="https://www.youtube.com/@ThePrimeTimeagen">the Primeagen</a> and was mesmerized by his ability to magically jump around the terminal. And I got terminal-pilled. <strong>I now use vim, btw!</strong> I use the terminal for almost everything now, except browsing the web but I did install <a href="https://github.com/philc/vimium">vimium</a> to at least navigate my browser like I would navigate my terminal. Windows is but a distant memory for me, although I am still occasionally required to use it. For my desktop computer, I started using endeavor/arch with hyprland and switched to a Macbook for mobile use. I never open the app store though, homebrew is all you need. And I am not alone, apparently. Even <a href="https://www.youtube.com/watch?v=pVI_smLgTY0">PewDiePie</a> has switched to Linux! And with this website, I want to share my journey and all the amazing tools I have discovered along the way. Open and free tools that is. Because I have discovered something else: Open Source sparks joy in me!</p>
<h2>Looking ahead</h2>
<p>We are currently experiencing the fastest technological progress I have every witnessed in my lifetime with the advent of advanced AI systems that are suddenly able to work with natural language. I am a heavy AI/LLM user and I see the vast potential that the integration of these systems into every aspect of our daily lives could have. At the same time, I am very aware of the limitations of current LLM-based systems and try to strike a balance between jumping on the hype train and jumping into mount doom. One thing that has become clear, however, is that text-based interfaces are <em>the</em> ideal way for LLMs to interact with other systems. Watching Claude Code grep through your codebase, using cargo to compile the latest attempt at resolving the long list of errors that the rust compiler slapped into your face or creating and editing files has made it abundantly clear that AI agents where born to use the terminal.</p>
<p>And so was I, apparently. It just took me 36 years to realize it...</p>
<p>Oh, and just fyi: I might be AI maximizing like only very few people but I did write every single word of this post!</p>
]]></content:encoded>
    </item>
  </channel>
</rss>