<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
<channel>
  <title>Max’s Notes</title>
  <link>https://max.hn/notes</link>
  <description></description>
    <image>
    <title>Max’s Notes</title>
    <link>https://max.hn/notes</link>
    <url>https://max.hn/media/pages/notes/75eab9a20b-1745067437/feed-image-q80.webp</url>
    <height>96</height>
    <width>96</width>
  </image>
    <atom:link href="https://max.hn/notes.xml" rel="self" type="application/rss+xml"/>
      <item>
    <link>https://max.hn/notes/cmiybru7rtsm4z97?utm_source=rss</link>
    <guid isPermaLink="true">https://max.hn/notes/cmiybru7rtsm4z97?utm_source=rss</guid>
    <description></description>
    <pubDate>Sun, 01 Nov 2026 10:38:20 +0100</pubDate>
    <content:encoded><![CDATA[<p>Quality is inherently slow.</p><p>It comes from the amount of time it takes to make thousands of thoughtful decisions on how to solve a problem.</p><p>Mass production didn’t change that. The time-consuming work just shifted to the planning, engineering, and logistics stages.</p><p>So what about mass-produced or LLM-generated code?</p><p>In software, quality also comes from taking the time to understand the problem deeply and make thousands of informed decisions. Those decisions shape how the code solves the problem.</p><p>Automatically generating code skips that time and those decisions by selecting a statistically average solution. It also skips the time it takes for a human to deeply understand the problem. The time for understanding is necessary, so that the person can make those thousands of decisions and assess wether the generated code is the best solution for the problem and its context.</p><p>Therefore, LLM-generated code is always low-quality software. It lacks the time spent understanding the problem and bypasses thousands of decisions. Instead, it selects a solution based on statistical patterns, without understanding the problem or reasoning through the choices involved.</p>]]></content:encoded>
  </item>
      <item>
    <link>https://max.hn/notes/xzly0vksnzhbbx0i?utm_source=rss</link>
    <guid isPermaLink="true">https://max.hn/notes/xzly0vksnzhbbx0i?utm_source=rss</guid>
    <description></description>
    <pubDate>Tue, 30 Jun 2026 16:06:31 +0200</pubDate>
    <content:encoded><![CDATA[<p>Overrated: Making predictions by extrapolating a history of data points.</p>]]></content:encoded>
  </item>
      <item>
    <link>https://max.hn/notes/fghbxcteinsaburk?utm_source=rss</link>
    <guid isPermaLink="true">https://max.hn/notes/fghbxcteinsaburk?utm_source=rss</guid>
    <description></description>
    <pubDate>Tue, 12 May 2026 18:27:22 +0200</pubDate>
    <content:encoded><![CDATA[<p>The higher your post frequency, the lower your reach. Imagine algorithms on social platforms would work like that. Rewarding long thought processes and punishing lazy thoughts</p>]]></content:encoded>
  </item>
      <item>
    <link>https://max.hn/notes/vptkxe3vluuuuvo6?utm_source=rss</link>
    <guid isPermaLink="true">https://max.hn/notes/vptkxe3vluuuuvo6?utm_source=rss</guid>
    <description></description>
    <pubDate>Wed, 25 Mar 2026 21:49:32 +0100</pubDate>
    <content:encoded><![CDATA[<p>I’m part of a book, even a whole chapter. 😮 And you can read the chapter and all others for free! 📖</p><p>I’m one of the few people, who are really lucky to enjoy democratic freedom at my workplace. Therefore I’m super happy, that I could share my experience of working at Mein Grundeinkommen and my perspective on democratic business design in the new book <a href="https://www.transcript-verlag.de/978-3-8376-7652-5/doughnut-economics-for-regenerative-business-design/?number=978-3-8394-7652-9"><strong>Doughnut Economics for Regenerative Business Design</strong></a>.<br><br>My interview is just one of 14 case studies highlighting German organisations, that left traditional organisation models behind, and embraced more decentralised and innovative models of organising work. You can <a href="https://www.transcript-verlag.de/978-3-8376-7652-5/doughnut-economics-for-regenerative-business-design/?number=978-3-8394-7652-9">download the digital version (PDF) for free</a> or <a href="https://www.transcript-verlag.de/978-3-8376-7652-5/doughnut-economics-for-regenerative-business-design/?number=978-3-8376-7652-5">buy the print version</a>. Enjoy!</p>]]></content:encoded>
  </item>
      <item>
    <link>https://max.hn/notes/yt4brspwq3b0xng0?utm_source=rss</link>
    <guid isPermaLink="true">https://max.hn/notes/yt4brspwq3b0xng0?utm_source=rss</guid>
    <description></description>
    <pubDate>Thu, 19 Mar 2026 13:42:35 +0100</pubDate>
    <content:encoded><![CDATA[<p><a href="https://max.hn/notes/bzbsbe4cbg6lbspc">In a previous note</a> I was complaining about <code>light-dark()</code> not supporting images. As it turns out, this seems to have come up a lot, and now the function will be extended to also <a href="https://www.bram.us/2026/03/19/more-easy-light-dark-mode-switching-light-dark-is-about-to-support-images/">support image types</a>. Great news! 🥳 </p>]]></content:encoded>
  </item>
      <item>
    <link>https://max.hn/notes/6nsrxmzwyzzr2sei?utm_source=rss</link>
    <guid isPermaLink="true">https://max.hn/notes/6nsrxmzwyzzr2sei?utm_source=rss</guid>
    <description></description>
    <pubDate>Wed, 11 Feb 2026 11:07:46 +0100</pubDate>
    <content:encoded><![CDATA[<p>Tech reporting has become so bad with LLMs, that proof of concept weekend projects now become big headlines in major media outlets. It’s ridiculous.</p>]]></content:encoded>
  </item>
      <item>
    <link>https://max.hn/notes/ec1j8perapvzqbss?utm_source=rss</link>
    <guid isPermaLink="true">https://max.hn/notes/ec1j8perapvzqbss?utm_source=rss</guid>
    <description></description>
    <pubDate>Wed, 28 Jan 2026 21:50:53 +0100</pubDate>
    <content:encoded><![CDATA[<p>Today I realised that inline JavaScript inside the <code>&lt;head&gt;</code> can change the state of whatever comes in the <code>&lt;body&gt;</code> — even before the HTML is parsed, and without blocking it!</p><p>Instead of deferring the execution of JavaScript after the <code>&lt;body&gt;</code> is parsed (by using <code>defer/type="module"</code>, waiting for the <code>DOMContentLoaded</code> event or by moving the JS before the closing <code>&lt;/body&gt;</code> tag), one can instead use CSS variables to represent different state possibilities in the HTML. For example showing/hiding certain elements based on the state of a CSS variable.</p><pre><code class="language-html">&lt;span style=&quot;display: var(--show-message, none)&quot;&gt;
  Should I be displayed?
&lt;/span&gt;</code></pre>
<p>An inline <code>&lt;script&gt;</code> in the <code>&lt;head&gt;</code> then configures the CSS variables according to some state by setting them on the <code>&lt;html&gt;</code> element. This script happens before the <code>&lt;body&gt;</code> is parsed, but once the parser reaches it, the variables already have the proper state and will therefore display the HTML accordingly.</p><pre><code class="language-html">&lt;script&gt;
if (localStorage.getItem(&#039;showHiddenMessage&#039;))&nbsp;{
  document.documentElement.style.setProperty(&quot;--show-message&quot;, &#039;inline&#039;);
}
&lt;/script&gt;</code></pre>
<p>I had two use cases for this today. One was to add dynamic behaviour to cached pages from the server without layout shifts or flash of out-of-sync HTML. The other was a client-side A/B testing setup without showing the wrong version to the user and without delaying first paint.</p><p>Modern browsers have two different runtimes (JS and CSS) that can talk to each other via CSS custom properties in HTML. The state transfer can happen before the HTML is fully parsed.</p><p>Very cool! 🤯</p>]]></content:encoded>
  </item>
      <item>
    <link>https://max.hn/notes/apantvhchal1a6zd?utm_source=rss</link>
    <guid isPermaLink="true">https://max.hn/notes/apantvhchal1a6zd?utm_source=rss</guid>
    <description></description>
    <pubDate>Mon, 19 Jan 2026 19:04:11 +0100</pubDate>
    <content:encoded><![CDATA[<p>New year, new font! Last year I chose speed over quality and used system fonts on my website. With the LLM-industry pushing “speed over quality” in all areas of our lives, I decided to oppose that and do the opposite.</p><p>In 2026 my website loads a webfont again! And it was created by a real creative human being. Federico Parra Barrios was inspired by the old metal plaques that can be found everywhere in Berlin (where I live). Therefore this kind of typography is very familiar to my eyes and it also has this raw and analog feeling, that I really like. So I paid the creator with my own money and put that font on my website. The font is called “Lost” and if you also like it, you can buy it yourself on <a href="https://www.205.tf/lost">205ft’s website</a>.</p><p>I haven’t updated the meta images to use the new font yet. But with social media becoming useless and dying because of AI generated content, it doesn’t have my highest priority to be honest. My website now looks different to all those glossy corporate bullshit AI vibe coding portfolio websites. That is more important.</p><p>Let’s make the web weird and personal again!</p>]]></content:encoded>
  </item>
      <item>
    <link>https://max.hn/notes/0ecz9ngpbi3j3jud?utm_source=rss</link>
    <guid isPermaLink="true">https://max.hn/notes/0ecz9ngpbi3j3jud?utm_source=rss</guid>
    <description></description>
    <pubDate>Mon, 12 Jan 2026 21:11:14 +0100</pubDate>
    <content:encoded><![CDATA[<p>Finally removed the last mention of that single letter plattform from my employer’s website. I kept bringing it up and now it’s done. Today was a good day.</p>]]></content:encoded>
  </item>
      <item>
    <link>https://max.hn/notes/8thzoqncun3z1kwt?utm_source=rss</link>
    <guid isPermaLink="true">https://max.hn/notes/8thzoqncun3z1kwt?utm_source=rss</guid>
    <description></description>
    <pubDate>Fri, 19 Dec 2025 13:21:56 +0100</pubDate>
    <content:encoded><![CDATA[<p>On January 13, 2026 <a href="https://developer.mozilla.org/de/docs/Mozilla/Firefox/Releases/147">Firefox 147</a> will be released, which means all stable versions of browser engines will <a href="https://caniuse.com/css-anchor-positioning">support</a> CSS anchor positioning. Therefore I gave it a try and was happily surprised how easy the API is and how quickly I could implement the layouts I had in mind.</p><p>At least until I tested my creation in Safari, which again spoiled the fun: I wanted to implement a tooltip, which was quickly done with the new API and it worked in all browser engines. But I also wanted to add an arrow to the tooltip and thought this is another great use case for anchor positioning.</p><p>Turns out Safari doesn’t seem to support nested CSS anchors. So anchoring an element on an anchored element just breaks. The first anchor for the tooltip works, but the tooltip’s arrow never ends up, where it’s supposed to be. It works in Chromium’s and Gecko’s implementation, but not in WebKit.</p><p>Until WebKit gets recursive anchor positioning right, I warn you not to nest CSS anchors in your own projects.</p>]]></content:encoded>
  </item>
      <item>
    <link>https://max.hn/notes/fs7gk3a3wbsdoljf?utm_source=rss</link>
    <guid isPermaLink="true">https://max.hn/notes/fs7gk3a3wbsdoljf?utm_source=rss</guid>
    <description></description>
    <pubDate>Fri, 17 Oct 2025 17:24:01 +0200</pubDate>
    <content:encoded><![CDATA[<p><strong>TIL:</strong> Cross document view transitions currently break, if <code>view-transition-name</code> is set on a <code>&lt;picture&gt;</code> element in Safari (26.0.1).</p><p>This is the error that appeared in the dev tools console:</p><pre><code class="language-text">InvalidStateError: Multiple elements found with view-transition-name: some-name</code></pre>
<p>This error can be fixed by declaring <code>view-transition-name</code> on the <code>&lt;img&gt;</code> element inside the picture tag.</p>]]></content:encoded>
  </item>
      <item>
    <link>https://max.hn/notes/bzbsbe4cbg6lbspc?utm_source=rss</link>
    <guid isPermaLink="true">https://max.hn/notes/bzbsbe4cbg6lbspc?utm_source=rss</guid>
    <description></description>
    <pubDate>Sun, 31 Aug 2025 16:51:53 +0200</pubDate>
    <content:encoded><![CDATA[<p>I think it’s wrong, that <code>light-dark()</code> in <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/light-dark">CSS</a> only works with colors.</p><p>When the decision was made to add syntactic sugar for <code>(prefers-color-scheme: dark)</code>, which allows passing different values at the point of definition, why did they choose to only allow it for colors?</p><p>This breaks the shorthand for common use cases like changing the <code>background-image</code> based on the color scheme. And that also means, that we cannot use <code>light-dark()</code> in combination with gradients. I’ve refactored the CSS on my website to use it, but I’m disappointed, that its use case is very limited.</p>]]></content:encoded>
  </item>
      <item>
    <link>https://max.hn/notes/r6qdorzekokoltk2?utm_source=rss</link>
    <guid isPermaLink="true">https://max.hn/notes/r6qdorzekokoltk2?utm_source=rss</guid>
    <description></description>
    <pubDate>Mon, 25 Aug 2025 17:06:49 +0200</pubDate>
    <content:encoded><![CDATA[<p>I simplified the navigation on my website even further. I liked the previous design of having the navigation in the footer, since it then doubled as a suggestion to further explore the site after reading the main content. But my navigation size is quite small and I prefer categorizing the content in parent pages anyway.</p><p>That’s why I now decided toput the navigation at the top of the page. No jumping on the page, no overlay, just a few links to click on. <strong>Keep it simple.</strong> :)</p><p>I’m still unsure about having the language switch in the footer. According to my stats, half of my visitors are in Germany, while the other half is from all over the world. I guess I’ll continue to post in both languages, randomly choosing when to use which one.</p>]]></content:encoded>
  </item>
      <item>
    <link>https://max.hn/notes/mjw1urzt7uc6o02r?utm_source=rss</link>
    <guid isPermaLink="true">https://max.hn/notes/mjw1urzt7uc6o02r?utm_source=rss</guid>
    <description></description>
    <pubDate>Sat, 23 Aug 2025 20:12:21 +0200</pubDate>
    <content:encoded><![CDATA[<p>Anyone, who says AI only fails, if it’s used “in a wrong way”, just reveals a lack of understanding about what <strong>non-deterministic</strong> means.</p>]]></content:encoded>
  </item>
      <item>
    <link>https://max.hn/notes/uolei4xyd2ss5wsv?utm_source=rss</link>
    <guid isPermaLink="true">https://max.hn/notes/uolei4xyd2ss5wsv?utm_source=rss</guid>
    <description></description>
    <pubDate>Wed, 13 Aug 2025 17:28:14 +0200</pubDate>
    <content:encoded><![CDATA[<p>With most traffic coming from mobile devices and therefore small screens, are there any websites that have put “desktop” styles in a separate file and only load it, if the media query matches?</p><p>Something like this?</p><pre><code class="language-html">&lt;link
  href=&quot;big-screens.css&quot;
  media=&quot;(min-width: 800px)&quot;
&gt;</code></pre>
<p>This would remove <a href="https://web.dev/articles/critical-rendering-path/render-blocking-css?hl=de">render blocking by desktop styles</a> when mobile devices visit the website. They are still being downloaded, but don’t block the time to first paint.</p><p>I don’t know any websites that do this yet, but maybe I just haven’t found them?</p>]]></content:encoded>
  </item>
      <item>
    <link>https://max.hn/notes/otnolkh2arhx6v2b?utm_source=rss</link>
    <guid isPermaLink="true">https://max.hn/notes/otnolkh2arhx6v2b?utm_source=rss</guid>
    <description></description>
    <pubDate>Mon, 11 Aug 2025 16:57:39 +0200</pubDate>
    <content:encoded><![CDATA[<p>I’ve simplified my website’s navigation structure. While I liked the idea of showing everything upfront, the big navigation was also overwhelming. With everything happening right now, I don’t want my website to feel overwhelming. I want the web to feel calm and my personal website is one of the places, which I control and where I can directly contribute to that.</p><p>Therefore I started by moving the navigation below the content on bigger screens like it already was on smaller ones. I also reduced the number of navigation items by merging different pages into one, e.g. the new <a href="/@/page/uicsdcvg5oiytqnl">projects</a> page and <a href="/@/page/1zar8l9dzdfgbj8w">good stuff</a> page. I’ll probably move the navigation up, once I have about five items left. I’m also thinking about adding a language switch to make it even smaller.</p><p>I also thought about having just a single feed page, which combines blog posts and notes—though separate ones for English and German. I can still provide separate RSS feeds for each content type, but one feed would further simplify the navigation architecture. The problem is that I think feeds are in the end a dark design pattern. Maybe less so without algorithms, but endless scrolling still encourages spending more time on a website instead of doing other things. Maybe I don’t call it a feed and just add pagination? I don’t know.</p>]]></content:encoded>
  </item>
      <item>
    <link>https://max.hn/notes/a2ynn2ghimlem38x?utm_source=rss</link>
    <guid isPermaLink="true">https://max.hn/notes/a2ynn2ghimlem38x?utm_source=rss</guid>
    <description></description>
    <pubDate>Sun, 10 Aug 2025 18:33:45 +0200</pubDate>
    <content:encoded><![CDATA[<p>Last time I wrote about my <a href="https://max.hn/notes/4xxyokyb20ch3qwc">personal keyboard journey</a>, I considered buying a Voyager from ZSA. Today I can tell you that I actually did buy the <a href="https://www.zsa.io/voyager">Voyager</a> and am now completely inside the rabbit hole of ergonomic and fast typing.</p><p>If you are new to the whole keyboard scene like me, ordering an ergonomic keyboard comes with quite a few unknowns. I didn’t know if my choice of key switches is correct, what kind of accessories I should include in my order and how much taxes I would have to pay to ship the Voyager to Germany. Since I now have the experience of ordering one, I can give you some answers, that might help, if you also consider buying a Voyager:</p><ul><li>If you want your keyboard to feel similar to your Macbook’s or external Apple keyboard, ZSA’s <strong>linear switches</strong> are your best bet. I have to warn you though. They aren’t close to your current typing experience and aren’t even a good typing experience in my opinion. But compared to the other switches ZSA offers, they are still the closest to what Apple offers. I’ll explain how to greatly improve the typing experience on the Voyager later on.</li><li>All switches from ZSA are quite loud, including the linear ones. With loud I mean a lot louder than your Macbook’s keyboard. ZSA offers a little accessory to put under each key cap, that decreases their loudness called <a href="https://www.zsa.io/voyager/accessories#voyager-shhhocs">SHHHOCS</a>. If you care about not annoying other people with your typing, I highly recommend to include the SHHHOCS in your first order.<strong> </strong>Otherwise you’ll order them later and then you probably have to pay shipping fees. They are an essential part for quiet typing on the Voyager, but they aren’t the only one and not the most important one. More on that later.</li><li>ZSA doesn’t charge for shipping, but you’ll probably pay additional import taxes in your country. If you happen to also order a Voyager to Germany, I can at least provide you the number from my experience. I ordered my Voyager in mid 2025 to Berlin and had to pay an <strong>import tax of ~77€. </strong>That’s on top of the normal price. Keep that in mind when ordering one.</li></ul><p>Once my Voyager arrived I used it for a couple of days at work to see if this could become my daily typing experience. I love the form factor, the build quality, the way the key caps feel, the amount of additional key caps that they include, the carrying case and the three USB-C cables with different lengths.</p><p>Some downsides for me: The position of the thumb keys isn’t optimal for my hand size. In a resting position my thumb lies in the middle of both keys. Maybe that’s intended, but I was hoping it would rest on the bigger key. Also the medium length USB cable is too short in my opinion. It should have been a balanced length between the long one and the short one, but it’s more like having two short cables and one very long one.</p><p>These are just nitpicks though. The much bigger issue for me were ZSA’s linear switches. They really don’t feel great to type on. Plus they are quite loud. It’s not just the clicking sound of typing, but I could also sometimes hear the spring inside the switches. Yes, the SHHHOCS help to make the keys a little bit more quiet, but it’s barely noticeable since the switches themselves are so loud, that the sound being removed by the SHHHOCS isn’t even audible.</p><p>Luckily there is a solution to this problem. Unfortunately it means spending more money again. But since I already started this journey, I wanted to know how it feels like at the end, or maybe more like midway through. And from my research before going down this route, I already expected this to happen. <strong>The solution is to buy custom silent key switches from a different supplier.</strong></p><p>What makes the Voyager valuable as a long-term investment is the possibility to exchange its key switches yourself. You can even mix and match different types. Some people for example use lighter switches for keys that the pinky finger presses. The same tool shipped in the box to exchange key caps, can be used to also exchange key switches. And that’s exactly what I did.</p><p>There are different versions of the Kailh low profile switches, which can be used in the Voyager. I already had an idea which one might be a good fit for me, but to be really sure I ordered a sample pack first. <a href="https://keeb.supply/products/choc-switch-sample">The sample pack I got</a> included a Nocturnal switch (20g), a Twilight switch (35g), a Bokeh switch (50g) and a Sunset switch (40-55g tactile). The sunset switch is tactile and not silent, so that was not was I was looking for. The other ones are super quiet and really nice to type on.</p><p><strong>Since I wanted to get a typing experience close to my Macbook, the </strong><a href="https://keeb.supply/products/bokeh-low-profile-switches"><strong>Bokeh switches</strong></a><strong> are what I went with</strong>, since they require a similar amount of force to press. With a little more experience on the Voyager and more accurate touch typing, I could see myself moving to the twilight switches at some point, since a little less force while typing might be even more comfortable. The Nocturnal switches are as quiet as the other two, but are way too responsive for me. Resting my fingers on the keyboard already caused pressing them.</p><p>If you live in Germany and from my experience, I can recommend <a href="https://keeb.supply">keeb.supply</a> to order your switches. They offer the sample pack I mentioned and offer free shipping for orders over 40€. The Voyager has 52 keys. I ordered 53 Bokeh switches (one as a fallback), which costs about 50€. <strong>All in all, the new typing experience cost me 375$ (Voyager and SHHHOCS) + 77€ taxes + 50€ switches.</strong></p><p>Yes, that’s a lot of money. But considering that I spend at least 8 hours per workday typing on my keyboard and that it’s the main way of interacting with my computer for years to come, it’s not expensive anymore. I also expect the Voyager to last a very long time, probably until the end of my career, since its build quality is so good and because I can exchange the switches and key caps easily. That’s good for repairs and if my requirements change in the future.</p><p><strong>What I got for that money is the best typing experience I had so far on a keyboard</strong> and a fully customizable typing experience, that can improve my typing comfort immensely. I will cover the whole part of programming my keyboard in a different note, because that (besides the typing experience) is the other huge improvement I got from buying a dedicated ergonomic keyboard.</p>]]></content:encoded>
  </item>
      <item>
    <link>https://max.hn/notes/fiibfocxk1ym0twu?utm_source=rss</link>
    <guid isPermaLink="true">https://max.hn/notes/fiibfocxk1ym0twu?utm_source=rss</guid>
    <description></description>
    <pubDate>Wed, 06 Aug 2025 22:49:30 +0200</pubDate>
    <content:encoded><![CDATA[<p>The fear marketing campaign of the AI industrial complex continues. Latest example is the <a href="https://www.businessinsider.com/github-ceo-developers-embrace-ai-or-get-out-2025-8">GitHub CEO</a> claiming, that reading code is the same as writing it. “Embrace AI or get out” is quite a desperate marketing slogan.</p><figure data-ratio="auto">
    <img src="https://max.hn/media/pages/notes/fiibfocxk1ym0twu/ab1342ae89-1754834838/a2dw7c-q80.webp" alt="Bell curve meme with the left and rigth side being labelled with &quot;slowly writes as little code as possible&quot; and the middle being labelled with &quot;quickly generates as much code as possible by paying for AI coding services&quot;">
  
  </figure>
]]></content:encoded>
  </item>
      <item>
    <link>https://max.hn/notes/3rjo4oo49wtopxcn?utm_source=rss</link>
    <guid isPermaLink="true">https://max.hn/notes/3rjo4oo49wtopxcn?utm_source=rss</guid>
    <description></description>
    <pubDate>Mon, 04 Aug 2025 10:29:00 +0200</pubDate>
    <content:encoded><![CDATA[<p>I’ve simplified my website’s layout on bigger screens to put more focus on the content of the current page. On my <a href="/@/page/ut3veMuQ8PWtiMGJ">bookmarks page</a>, the table of bookmarks now fills the whole screen width. The new layout also allowed me to add a little footer at the bottom of the site, which in my experience can add a personal touch to websites. I should probably add my RSS feed links there too.</p><p>While I was at it, I also simplified and deduplicated my HTML and CSS. The code is a lot cleaner now. There are still some minor places left, which could be refactored, but it’s a lot smaller now. It’s great how much <code>grid</code> and <code>subgrid</code> simplify layout code.</p>]]></content:encoded>
  </item>
      <item>
    <link>https://max.hn/notes/fgnqmitmmb9lspt1?utm_source=rss</link>
    <guid isPermaLink="true">https://max.hn/notes/fgnqmitmmb9lspt1?utm_source=rss</guid>
    <description></description>
    <pubDate>Mon, 28 Jul 2025 22:46:43 +0200</pubDate>
    <content:encoded><![CDATA[<p>When AI companies find out about making money via advertising:</p><blockquote>
  <p>Watch this ad to get 10 more prompts</p>  </blockquote>
]]></content:encoded>
  </item>
    </channel>
</rss>
