<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Bookmarks from 2025 on Maceage's Blog</title><link>https://blog.maceage.com/bookmarks/years/2025/</link><description>Recent content in Bookmarks from 2025 on Maceage's Blog</description><generator>Hugo</generator><language>en-au</language><copyright>© Graham Mace</copyright><lastBuildDate>Wed, 31 Dec 2025 03:59:58 +0000</lastBuildDate><atom:link href="https://blog.maceage.com/bookmarks/years/2025/index.xml" rel="self" type="application/rss+xml"/><item><title>Bookmarks from 2025</title><link>https://blog.maceage.com/bookmarks/years/2025/page/2/</link><pubDate>Wed, 31 Dec 2025 03:59:58 +0000</pubDate><guid>https://blog.maceage.com/bookmarks/years/2025/page/2/</guid><description>&lt;p&gt;191 bookmarks from 2025&lt;/p&gt;&#10;&lt;div class="Box"&gt;&#10;&lt;p&gt;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://thereader.mitpress.mit.edu/is-life-a-form-of-computation/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/images/bookmark-placeholder.jpg" alt="Is Life a Form of Computation?" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://thereader.mitpress.mit.edu/is-life-a-form-of-computation/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Is Life a Form of Computation?&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-11-17"&gt;Saved on 2025-11-17&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;thereader.mitpress.mit.edu&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Alan Turing and John von Neumann saw it early: the logic of life and the logic of code may be one and the same.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/science/" class="Label Label--secondary mr-1 mb-1"&gt;science&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/algorithms/" class="Label Label--secondary mr-1 mb-1"&gt;algorithms&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://codemanship.wordpress.com/2025/11/07/is-software-the-ufology-of-engineering-disciplines/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/9/images/1436578167.png" alt="Is Software The UFOlogy of Engineering Disciplines?" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://codemanship.wordpress.com/2025/11/07/is-software-the-ufology-of-engineering-disciplines/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Is Software The UFOlogy of Engineering Disciplines?&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-11-17"&gt;Saved on 2025-11-17&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;codemanship.wordpress.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;One area where software development lags far behind other technical design disciplines like electronic and mechanical engineering is in standards of evidence. To illustrate what I mean, I want to t…&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/ai/" class="Label Label--secondary mr-1 mb-1"&gt;ai&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/programming/" class="Label Label--secondary mr-1 mb-1"&gt;programming&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://stackoverflow.blog/2025/11/05/the-ai-ick/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/9/images/1436576611.png" alt="The AI ick - Stack Overflow" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://stackoverflow.blog/2025/11/05/the-ai-ick/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The AI ick - Stack Overflow&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-11-17"&gt;Saved on 2025-11-17&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;stackoverflow.blog&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;How we feel about AI-generated content, what AI detectors tell us, and why human creativity matters. Also, what is art?&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/ai/" class="Label Label--secondary mr-1 mb-1"&gt;ai&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://lxjk.github.io/2019/10/01/How-to-Make-Tools-in-U-E.html" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/9/images/1423696709.png" alt="How to Make Tools in UE4" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://lxjk.github.io/2019/10/01/How-to-Make-Tools-in-U-E.html" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;How to Make Tools in UE4&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-11-06"&gt;Saved on 2025-11-06&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;lxjk.github.io&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;This article is based on Unreal 4.17 code base, tested in Unreal 4.23. This is a step by step tutorial to write tools for your Unreal project. I would assume you are familiar with Unreal already. This is NOT a tutorial for SLATE code, that deserves a tutorial&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/code/" class="Label Label--secondary mr-1 mb-1"&gt;code&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/programming/" class="Label Label--secondary mr-1 mb-1"&gt;programming&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/unreal/" class="Label Label--secondary mr-1 mb-1"&gt;unreal&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/games/" class="Label Label--secondary mr-1 mb-1"&gt;games&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://www.stroustrup.com/bs_faq.html" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/images/bookmark-placeholder.jpg" alt="Stroustrup: FAQ" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://www.stroustrup.com/bs_faq.html" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Stroustrup: FAQ&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-11-05"&gt;Saved on 2025-11-05&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;stroustrup.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/code/" class="Label Label--secondary mr-1 mb-1"&gt;code&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/programming/" class="Label Label--secondary mr-1 mb-1"&gt;programming&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://gregorygundersen.com/blog/2025/10/01/large-language-models/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/10/images/1417684455.png" alt="A History of Large Language Models" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://gregorygundersen.com/blog/2025/10/01/large-language-models/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;A History of Large Language Models&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-11-01"&gt;Saved on 2025-11-01&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;gregorygundersen.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/ai/" class="Label Label--secondary mr-1 mb-1"&gt;ai&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/history/" class="Label Label--secondary mr-1 mb-1"&gt;history&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://blog.boot.dev/education/vibe-coding-hell/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/images/bookmark-placeholder.jpg" alt="I&amp;#39;m in Vibe Coding Hell" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://blog.boot.dev/education/vibe-coding-hell/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;I&amp;#39;m in Vibe Coding Hell&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-11-01"&gt;Saved on 2025-11-01&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;blog.boot.dev&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;When I started thinking about the problems with coding education in 2019, “tutorial hell” was enemy number one. You’d know you were living in it if you:&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/education/" class="Label Label--secondary mr-1 mb-1"&gt;education&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/code/" class="Label Label--secondary mr-1 mb-1"&gt;code&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/learning/" class="Label Label--secondary mr-1 mb-1"&gt;learning&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/ai/" class="Label Label--secondary mr-1 mb-1"&gt;ai&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://romanzipp.com/blog/why-a-homelab-why-self-host" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/images/bookmark-placeholder.jpg" alt="Why Self-host?" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://romanzipp.com/blog/why-a-homelab-why-self-host" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Why Self-host?&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-11-01"&gt;Saved on 2025-11-01&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;romanzipp.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Let me make the argument why you should start self-hosting more of your personal services.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/hardware/" class="Label Label--secondary mr-1 mb-1"&gt;hardware&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/security/" class="Label Label--secondary mr-1 mb-1"&gt;security&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://www.theverge.com/news/775072/rsl-standard-licensing-ai-publishing-reddit-yahoo-medium" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/10/images/1357682966.jpg" alt="The web has a new system for making AI companies pay up" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://www.theverge.com/news/775072/rsl-standard-licensing-ai-publishing-reddit-yahoo-medium" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The web has a new system for making AI companies pay up&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-09-25"&gt;Saved on 2025-09-25&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;theverge.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;The mission is to keep the web sustainable.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/ai/" class="Label Label--secondary mr-1 mb-1"&gt;ai&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://stackoverflow.blog/2025/09/10/ai-vs-gen-z/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/10/images/1357682179.png" alt="AI vs Gen Z: How AI has changed the career pathway for junior developers - Stack Overflow" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://stackoverflow.blog/2025/09/10/ai-vs-gen-z/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;AI vs Gen Z: How AI has changed the career pathway for junior developers - Stack Overflow&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-09-25"&gt;Saved on 2025-09-25&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;stackoverflow.blog&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;For promising Gen Z students, a career as a software developer seemed like the golden ticket to career stability and success. But in the age of AI, the career promise for Gen Z software developers is gone.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/programming/" class="Label Label--secondary mr-1 mb-1"&gt;programming&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/ai/" class="Label Label--secondary mr-1 mb-1"&gt;ai&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://awforsythe.com/unreal/blueprints_vs_cpp/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/images/bookmark-placeholder.jpg" alt="Blueprints vs. C&amp;#43;&amp;#43;: How They Fit Together and Why You Should Use Both" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://awforsythe.com/unreal/blueprints_vs_cpp/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Blueprints vs. C&amp;#43;&amp;#43;: How They Fit Together and Why You Should Use Both&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-09-24"&gt;Saved on 2025-09-24&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;awforsythe.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;It&amp;#39;s not an either/or decision. Learn what makes C&amp;#43;&amp;#43; and Blueprints different, what they have in common, and how to use them together effectively.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/code/" class="Label Label--secondary mr-1 mb-1"&gt;code&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/games/" class="Label Label--secondary mr-1 mb-1"&gt;games&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/programming/" class="Label Label--secondary mr-1 mb-1"&gt;programming&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://intaxwashere.github.io/blueprint-performance/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/10/images/1353102421.png" alt="Performance guideline for Blueprints and making sense of Blueprint VM." loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://intaxwashere.github.io/blueprint-performance/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Performance guideline for Blueprints and making sense of Blueprint VM.&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-09-22"&gt;Saved on 2025-09-22&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;intaxwashere.github.io&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;In this post I’ll go through common myths about Blueprint performance bottlenecks and explain real logic behind it’s virtual machine.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/performance/" class="Label Label--secondary mr-1 mb-1"&gt;performance&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/programming/" class="Label Label--secondary mr-1 mb-1"&gt;programming&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/code/" class="Label Label--secondary mr-1 mb-1"&gt;code&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/games/" class="Label Label--secondary mr-1 mb-1"&gt;games&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://www.gamedeveloper.com/game-platforms/never-enough-space-redesigning-the-inventory-system-for-unexplored-2" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/10/images/1346980748.jpg" alt="Never Enough Space! Redesigning the inventory system for Unexplored 2" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://www.gamedeveloper.com/game-platforms/never-enough-space-redesigning-the-inventory-system-for-unexplored-2" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Never Enough Space! Redesigning the inventory system for Unexplored 2&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-09-17"&gt;Saved on 2025-09-17&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;gamedeveloper.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Two weeks after the release of Unexplored 2 we’ve redesigned the inventory system as players found it to be too restrictive and too diminishing of the fun of finding treasure during their adventures. In this post Joris Dormans looks back at this pivot.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/design/" class="Label Label--secondary mr-1 mb-1"&gt;design&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/games/" class="Label Label--secondary mr-1 mb-1"&gt;games&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://www.gamedeveloper.com/design/intuitive-inventory-systems-in-vr-games" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/images/bookmark-placeholder.jpg" alt="Intuitive Inventory Systems in VR Games" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://www.gamedeveloper.com/design/intuitive-inventory-systems-in-vr-games" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Intuitive Inventory Systems in VR Games&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-09-17"&gt;Saved on 2025-09-17&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;gamedeveloper.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;We took a look at the various inventory systems used in popular VR games and share our observations.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/games/" class="Label Label--secondary mr-1 mb-1"&gt;games&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/design/" class="Label Label--secondary mr-1 mb-1"&gt;design&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://heydonworks.com/article/poisoning-well/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/10/images/1341700354.png" alt="Poisoning Well" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://heydonworks.com/article/poisoning-well/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Poisoning Well&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-09-15"&gt;Saved on 2025-09-15&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;heydonworks.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;An experimental strategy for contaminating Large Language Models&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/ai/" class="Label Label--secondary mr-1 mb-1"&gt;ai&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/security/" class="Label Label--secondary mr-1 mb-1"&gt;security&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://datagubbe.se/girls/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/10/images/1341697145.jpg" alt="Computers are for Girls | datagubbe.se" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://datagubbe.se/girls/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Computers are for Girls | datagubbe.se&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-09-15"&gt;Saved on 2025-09-15&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;datagubbe.se&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/history/" class="Label Label--secondary mr-1 mb-1"&gt;history&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/education/" class="Label Label--secondary mr-1 mb-1"&gt;education&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/diversity/" class="Label Label--secondary mr-1 mb-1"&gt;diversity&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://dmitrybrant.com/2025/09/07/using-claude-code-to-modernize-a-25-year-old-kernel-driver" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/10/images/1341696373.jpg" alt="Using Claude Code to modernize a 25-year-old kernel driver – Dmitry Brant" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://dmitrybrant.com/2025/09/07/using-claude-code-to-modernize-a-25-year-old-kernel-driver" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Using Claude Code to modernize a 25-year-old kernel driver – Dmitry Brant&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-09-15"&gt;Saved on 2025-09-15&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;dmitrybrant.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/code/" class="Label Label--secondary mr-1 mb-1"&gt;code&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/programming/" class="Label Label--secondary mr-1 mb-1"&gt;programming&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/ai/" class="Label Label--secondary mr-1 mb-1"&gt;ai&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://drewdevault.com/2025/06/09/2025-06-09-Unionize-or-die.html" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/10/images/1337764428.png" alt="Unionize or die" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://drewdevault.com/2025/06/09/2025-06-09-Unionize-or-die.html" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Unionize or die&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-09-13"&gt;Saved on 2025-09-13&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;drewdevault.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/business/" class="Label Label--secondary mr-1 mb-1"&gt;business&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/politics/" class="Label Label--secondary mr-1 mb-1"&gt;politics&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/career/" class="Label Label--secondary mr-1 mb-1"&gt;career&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://stackoverflow.blog/2017/03/02/overcoming-imposter-syndrome-finally-starting-job-search/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/10/images/1327724942.png" alt="Overcoming Imposter Syndrome and Finally Starting Your Job Search - Stack Overflow" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://stackoverflow.blog/2017/03/02/overcoming-imposter-syndrome-finally-starting-job-search/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Overcoming Imposter Syndrome and Finally Starting Your Job Search - Stack Overflow&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-09-07"&gt;Saved on 2025-09-07&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;stackoverflow.blog&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/psychology/" class="Label Label--secondary mr-1 mb-1"&gt;psychology&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://www.seangoedecke.com/good-times-are-over/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/10/images/1327711404.webp" alt="The good times in tech are over" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://www.seangoedecke.com/good-times-are-over/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The good times in tech are over&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-09-07"&gt;Saved on 2025-09-07&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;seangoedecke.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;For most of the last decade, being a software engineer has been a lot of fun. Every company offered lots of perks, layoffs and firings were almost unheard of…&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/programming/" class="Label Label--secondary mr-1 mb-1"&gt;programming&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/business/" class="Label Label--secondary mr-1 mb-1"&gt;business&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/career/" class="Label Label--secondary mr-1 mb-1"&gt;career&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://www.unrealengine.com/en-US/tech-blog/game-engines-and-shader-stuttering-unreal-engines-solution-to-the-problem" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/10/images/1325218770.jpg" alt="Game engines and shader stuttering: Unreal Engine&amp;#39;s solution to the problem" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://www.unrealengine.com/en-US/tech-blog/game-engines-and-shader-stuttering-unreal-engines-solution-to-the-problem" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Game engines and shader stuttering: Unreal Engine&amp;#39;s solution to the problem&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-09-05"&gt;Saved on 2025-09-05&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;unrealengine.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Take a dive into Pipeline State Object (PSO) precaching and find out how this technique has evolved to the point that it now prevents most kinds of shader compilation stutters.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/games/" class="Label Label--secondary mr-1 mb-1"&gt;games&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/programming/" class="Label Label--secondary mr-1 mb-1"&gt;programming&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/performance/" class="Label Label--secondary mr-1 mb-1"&gt;performance&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://blog.jeffschomay.com/rendering-a-game-in-real-time-with-ai" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/images/bookmark-placeholder.jpg" alt="Rendering a Game in Real-Time with AI" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://blog.jeffschomay.com/rendering-a-game-in-real-time-with-ai" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Rendering a Game in Real-Time with AI&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-09-04"&gt;Saved on 2025-09-04&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;blog.jeffschomay.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Discover the process of transforming an ASCII game into real-time AI-rendered graphics with fal.ai&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/ai/" class="Label Label--secondary mr-1 mb-1"&gt;ai&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/games/" class="Label Label--secondary mr-1 mb-1"&gt;games&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://nshipster.com/uncertainty/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/10/images/1324148674.png" alt="Uncertain⟨T⟩" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://nshipster.com/uncertainty/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Uncertain⟨T⟩&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-09-04"&gt;Saved on 2025-09-04&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;nshipster.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;GPS coordinates aren’t exact. Sensor readings have noise. User behavior is probabilistic. Yet we write code that pretends uncertainty doesn’t exist, forcing messy real-world data through clean Boolean logic.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/programming/" class="Label Label--secondary mr-1 mb-1"&gt;programming&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/code/" class="Label Label--secondary mr-1 mb-1"&gt;code&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://opensourcesecurity.io/2025/08-oss-one-person/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/10/images/1324148488.jpg" alt="Open Source is one person" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://opensourcesecurity.io/2025/08-oss-one-person/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Open Source is one person&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-09-04"&gt;Saved on 2025-09-04&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;opensourcesecurity.io&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;The Register recently published a story titled Putin on the code: DoD reportedly relies on utility written by Russian dev. They should be ashamed of this story. This poor open source developer is getting beat up now to score some internet points. It’s very upsetting. But anyway, &lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/programming/" class="Label Label--secondary mr-1 mb-1"&gt;programming&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://stackoverflow.blog/2025/08/28/moving-the-public-stack-overflow-sites-to-the-cloud-part-1" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/10/images/1324111458.png" alt="Moving the public Stack Overflow sites to the cloud: Part 1 - Stack Overflow" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://stackoverflow.blog/2025/08/28/moving-the-public-stack-overflow-sites-to-the-cloud-part-1" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Moving the public Stack Overflow sites to the cloud: Part 1 - Stack Overflow&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-09-04"&gt;Saved on 2025-09-04&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;stackoverflow.blog&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Stack Overflow, born on the bare metal racks of a data center, ascends to the cloud.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/programming/" class="Label Label--secondary mr-1 mb-1"&gt;programming&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&lt;/p&gt;&#10;&lt;/div&gt;</description></item><item><title>Bookmarks from 2025</title><link>https://blog.maceage.com/bookmarks/years/2025/page/3/</link><pubDate>Wed, 31 Dec 2025 03:59:58 +0000</pubDate><guid>https://blog.maceage.com/bookmarks/years/2025/page/3/</guid><description>&lt;p&gt;191 bookmarks from 2025&lt;/p&gt;&#10;&lt;div class="Box"&gt;&#10;&lt;p&gt;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://craigmccaskill.com/ai-bubble-history" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/10/images/1318824723.jpg" alt="The Bubble That Knows It&amp;#39;s a Bubble" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://craigmccaskill.com/ai-bubble-history" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The Bubble That Knows It&amp;#39;s a Bubble&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-08-30"&gt;Saved on 2025-08-30&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;craigmccaskill.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;The four words that precede every crash: “This time is different.”&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/ai/" class="Label Label--secondary mr-1 mb-1"&gt;ai&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/finance/" class="Label Label--secondary mr-1 mb-1"&gt;finance&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://stackoverflow.blog/2025/08/20/documents-the-architect-s-programming-language/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/10/images/1318817231.png" alt="Documents: The architect’s programming language - Stack Overflow" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://stackoverflow.blog/2025/08/20/documents-the-architect-s-programming-language/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Documents: The architect’s programming language - Stack Overflow&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-08-30"&gt;Saved on 2025-08-30&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;stackoverflow.blog&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Founded in 2008, Stack Overflow’s public platform is used by nearly everyone who codes to learn, share their knowledge, collaborate, and build their careers.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/business/" class="Label Label--secondary mr-1 mb-1"&gt;business&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/programming/" class="Label Label--secondary mr-1 mb-1"&gt;programming&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://xeiaso.net/blog/2025/who-assistant-serve/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/10/images/1318813943.jpg" alt="Who does your assistant serve?" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://xeiaso.net/blog/2025/who-assistant-serve/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Who does your assistant serve?&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-08-30"&gt;Saved on 2025-08-30&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;xeiaso.net&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;ChatGPT and its consequences have been a disaster for the human race.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/ai/" class="Label Label--secondary mr-1 mb-1"&gt;ai&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://danfabulich.medium.com/llms-tell-bad-jokes-because-they-avoid-surprises-7f111aac4f96" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/10/images/1318813891.jpg" alt="LLMs generate slop because they avoid surprises by design" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://danfabulich.medium.com/llms-tell-bad-jokes-because-they-avoid-surprises-7f111aac4f96" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;LLMs generate slop because they avoid surprises by design&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-08-30"&gt;Saved on 2025-08-30&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;danfabulich.medium.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;LLMs suck at comedy, art, journalism, research, and science for the same fundamental reason&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/ai/" class="Label Label--secondary mr-1 mb-1"&gt;ai&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://tedium.co/2018/01/30/legal-music-streaming-history/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/11/images/1318813434.jpg" alt="Early Legal Streaming Services: Why Pressplay and MusicNet Failed" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://tedium.co/2018/01/30/legal-music-streaming-history/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Early Legal Streaming Services: Why Pressplay and MusicNet Failed&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-08-30"&gt;Saved on 2025-08-30&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;tedium.co&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Lessons from the music industry’s initial consumer-hostile reaction to the Napster saga. Going from $16 CDs to unlimited streaming is really hard.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/history/" class="Label Label--secondary mr-1 mb-1"&gt;history&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://outsidetext.substack.com/p/how-does-a-blind-model-see-the-earth" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/11/images/1302282891.jpg" alt="How Does A Blind Model See The Earth?" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://outsidetext.substack.com/p/how-does-a-blind-model-see-the-earth" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;How Does A Blind Model See The Earth?&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-08-17"&gt;Saved on 2025-08-17&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;outsidetext.substack.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;A tiny LLM eval with pretty pictures&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/ai/" class="Label Label--secondary mr-1 mb-1"&gt;ai&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://text-mode.org/?p=23643" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/11/images/1302282355.jpg" alt="A global look at teletext | text-mode.org" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://text-mode.org/?p=23643" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;A global look at teletext | text-mode.org&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-08-17"&gt;Saved on 2025-08-17&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;text-mode.org&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/history/" class="Label Label--secondary mr-1 mb-1"&gt;history&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://stackoverflow.blog/2025/08/07/a-new-worst-coder-has-entered-the-chat-vibe-coding-without-code-knowledge/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/11/images/1302282120.png" alt="A new worst coder has entered the chat: vibe coding without code knowledge - Stack Overflow" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://stackoverflow.blog/2025/08/07/a-new-worst-coder-has-entered-the-chat-vibe-coding-without-code-knowledge/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;A new worst coder has entered the chat: vibe coding without code knowledge - Stack Overflow&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-08-17"&gt;Saved on 2025-08-17&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;stackoverflow.blog&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;In the age of AI, being able to make applications and create code has never been easier. But is it any good? Here&amp;#39;s what vibe coding is like for someone without technical skills.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/programming/" class="Label Label--secondary mr-1 mb-1"&gt;programming&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://johnwhiles.com/posts/mental-models-vs-ai-tools" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/11/images/1291690595.png" alt="AI slows down open source developers. Peter Naur can teach us why." loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://johnwhiles.com/posts/mental-models-vs-ai-tools" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;AI slows down open source developers. Peter Naur can teach us why.&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-08-09"&gt;Saved on 2025-08-09&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;johnwhiles.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/programming/" class="Label Label--secondary mr-1 mb-1"&gt;programming&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/ai/" class="Label Label--secondary mr-1 mb-1"&gt;ai&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/productivity/" class="Label Label--secondary mr-1 mb-1"&gt;productivity&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://evanhahn.com/how-i-build-software-quickly/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/11/images/1291690236.webp" alt="How I build software quickly" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://evanhahn.com/how-i-build-software-quickly/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;How I build software quickly&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-08-09"&gt;Saved on 2025-08-09&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;evanhahn.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Know how good your code needs to be for the task at hand. Start with a rough draft. Try to soften requirements if you can. Don&amp;#39;t get distracted. Make small changes. Practice specific skills.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/programming/" class="Label Label--secondary mr-1 mb-1"&gt;programming&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://florian-kraemer.net//software-architecture/2025/07/07/Most-RESTful-APIs-are-not-really-RESTful.html" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/11/images/1291690177.png" alt="Most RESTful APIs aren’t really RESTful" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://florian-kraemer.net//software-architecture/2025/07/07/Most-RESTful-APIs-are-not-really-RESTful.html" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Most RESTful APIs aren’t really RESTful&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-08-09"&gt;Saved on 2025-08-09&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;florian-kraemer.net&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;When talking about REST, it is worth reading the dissertation of Roy Thomas Fielding. The original paper that describes RESTful web, “Architectural Styles and the Design of Network-based Software Architectures” Roy T. Fielding (2000), introduces the Representational State Transfe&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/programming/" class="Label Label--secondary mr-1 mb-1"&gt;programming&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://stackoverflow.blog/2025/07/23/building-better-platforms-with-continuous-discovery/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/11/images/1291688714.png" alt="Building better platforms with continuous discovery - Stack Overflow" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://stackoverflow.blog/2025/07/23/building-better-platforms-with-continuous-discovery/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Building better platforms with continuous discovery - Stack Overflow&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-08-09"&gt;Saved on 2025-08-09&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;stackoverflow.blog&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/product/" class="Label Label--secondary mr-1 mb-1"&gt;product&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://caseorganic.medium.com/when-swiping-supplants-scissors-the-hidden-cost-of-touchscreens-and-how-designers-can-help-dba0fa65f5b7" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/11/images/1291688661.png" alt="When Swiping Supplants Scissors: The Hidden Cost of Touchscreens — And How Designers Can Help…" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://caseorganic.medium.com/when-swiping-supplants-scissors-the-hidden-cost-of-touchscreens-and-how-designers-can-help-dba0fa65f5b7" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;When Swiping Supplants Scissors: The Hidden Cost of Touchscreens — And How Designers Can Help…&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-08-09"&gt;Saved on 2025-08-09&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;caseorganic.medium.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;The history of technology is full of innovators who got their start creating with their hands. Steve Jobs cites a calligraphy class at Reed&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/hardware/" class="Label Label--secondary mr-1 mb-1"&gt;hardware&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://gwern.net/ai-daydreaming" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/11/images/1291688156.png" alt="LLM Daydreaming" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://gwern.net/ai-daydreaming" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;LLM Daydreaming&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-08-09"&gt;Saved on 2025-08-09&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;gwern.net&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Proposal &amp;amp;amp; discussion of how default mode networks for LLMs are an example of missing capabilities for search and novelty in contemporary AI systems.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/ai/" class="Label Label--secondary mr-1 mb-1"&gt;ai&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://the-nerve-blog.ghost.io/to-be-a-better-programmer-write-little-proofs-in-your-head/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/11/images/1291688089.webp" alt="To be a better programmer, write little proofs in your head" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://the-nerve-blog.ghost.io/to-be-a-better-programmer-write-little-proofs-in-your-head/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;To be a better programmer, write little proofs in your head&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-08-09"&gt;Saved on 2025-08-09&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;the-nerve-blog.ghost.io&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;This is a brief write-up of a trick I learned that helps me write code faster and more accurately. I say &amp;#34;trick&amp;#34;, but it&amp;#39;s really something I started to do without noticing as I moved further into my career. When you&amp;#39;re working on something difficult, sketch a proof in your&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/programming/" class="Label Label--secondary mr-1 mb-1"&gt;programming&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://stackoverflow.blog/2025/07/16/the-great-unracking-saying-goodbye-to-the-servers-at-our-physical-datacenter/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/11/images/1291687793.png" alt="The Great Unracking: Saying goodbye to the servers at our physical datacenter - Stack Overflow" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://stackoverflow.blog/2025/07/16/the-great-unracking-saying-goodbye-to-the-servers-at-our-physical-datacenter/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The Great Unracking: Saying goodbye to the servers at our physical datacenter - Stack Overflow&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-08-09"&gt;Saved on 2025-08-09&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;stackoverflow.blog&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;So long and thanks for all the bits!&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/hardware/" class="Label Label--secondary mr-1 mb-1"&gt;hardware&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://stackoverflow.blog/2025/07/10/a-new-era-of-stack-overflow/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/11/images/1291687538.png" alt="A new era of Stack Overflow - Stack Overflow" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://stackoverflow.blog/2025/07/10/a-new-era-of-stack-overflow/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;A new era of Stack Overflow - Stack Overflow&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-08-09"&gt;Saved on 2025-08-09&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;stackoverflow.blog&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Live from the stage of WeAreDevelopers, we’re unveiling our new vision and mission for the future of Stack Overflow and our community.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/ai/" class="Label Label--secondary mr-1 mb-1"&gt;ai&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://www.pcgamer.com/software/ai/tech-ceos-dont-seem-to-realise-just-how-anti-human-their-ai-fanaticism-is-and-i-think-its-all-because-of-the-enlightenment/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/11/images/1291660605.jpg" alt="Tech CEOs don&amp;#39;t seem to realise just how anti-human their AI fanaticism is, and I think it&amp;#39;s all because of the Enlightenment" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://www.pcgamer.com/software/ai/tech-ceos-dont-seem-to-realise-just-how-anti-human-their-ai-fanaticism-is-and-i-think-its-all-because-of-the-enlightenment/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Tech CEOs don&amp;#39;t seem to realise just how anti-human their AI fanaticism is, and I think it&amp;#39;s all because of the Enlightenment&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-08-09"&gt;Saved on 2025-08-09&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;pcgamer.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;I know that sounds bonkers, but just hear me out.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/ai/" class="Label Label--secondary mr-1 mb-1"&gt;ai&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/psychology/" class="Label Label--secondary mr-1 mb-1"&gt;psychology&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/politics/" class="Label Label--secondary mr-1 mb-1"&gt;politics&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://stackoverflow.blog/2025/07/29/developers-remain-willing-but-reluctant-to-use-ai-the-2025-developer-survey-results-are-here/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/11/images/1291649894.png" alt="Developers remain willing but reluctant to use AI: The 2025 Developer Survey results are here - Stack Overflow" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://stackoverflow.blog/2025/07/29/developers-remain-willing-but-reluctant-to-use-ai-the-2025-developer-survey-results-are-here/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Developers remain willing but reluctant to use AI: The 2025 Developer Survey results are here - Stack Overflow&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-08-09"&gt;Saved on 2025-08-09&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;stackoverflow.blog&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/programming/" class="Label Label--secondary mr-1 mb-1"&gt;programming&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/ai/" class="Label Label--secondary mr-1 mb-1"&gt;ai&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://stackoverflow.blog/2025/07/31/do-ai-coding-tools-help-with-imposter-syndrome-or-make-it-worse" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/11/images/1291649094.png" alt="Do AI coding tools help with imposter syndrome or make it worse? - Stack Overflow" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://stackoverflow.blog/2025/07/31/do-ai-coding-tools-help-with-imposter-syndrome-or-make-it-worse" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Do AI coding tools help with imposter syndrome or make it worse? - Stack Overflow&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-08-09"&gt;Saved on 2025-08-09&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;stackoverflow.blog&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Spoiler: Yes.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/ai/" class="Label Label--secondary mr-1 mb-1"&gt;ai&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/psychology/" class="Label Label--secondary mr-1 mb-1"&gt;psychology&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/programming/" class="Label Label--secondary mr-1 mb-1"&gt;programming&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://thephd.dev/to-save-c-we-must-save-abi-fixing-c-function-abi" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/11/images/1267877389.jpg" alt="To Save C, We Must Save ABI" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://thephd.dev/to-save-c-we-must-save-abi-fixing-c-function-abi" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;To Save C, We Must Save ABI&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-07-25"&gt;Saved on 2025-07-25&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;thephd.dev&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;After that first Firebrand of an article on Application Binary Interface (ABI) Stability, I’m not sure anyone expected this to be the title of the next one, ...&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/code/" class="Label Label--secondary mr-1 mb-1"&gt;code&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/programming/" class="Label Label--secondary mr-1 mb-1"&gt;programming&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://charity.wtf/p/on-how-long-it-takes-to-know-if-a-job-is-right-for-you-or-not" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/images/bookmark-placeholder.jpg" alt="On How Long it Takes to Know if a Job is Right for You or Not" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://charity.wtf/p/on-how-long-it-takes-to-know-if-a-job-is-right-for-you-or-not" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;On How Long it Takes to Know if a Job is Right for You or Not&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-07-14"&gt;Saved on 2025-07-14&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;charity.wtf&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;A few eagle-eyed readers have noticed that it’s been 4 weeks since my last entry in what I have been thinking of as my “niblet series” — one small piece per week, 1000 words or less, for the next t…&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/career/" class="Label Label--secondary mr-1 mb-1"&gt;career&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/business/" class="Label Label--secondary mr-1 mb-1"&gt;business&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://www.dbreunig.com/2025/06/16/drawbridges-go-up.html" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/11/images/1247802001.jpg" alt="The Drawbridges Go Up" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://www.dbreunig.com/2025/06/16/drawbridges-go-up.html" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The Drawbridges Go Up&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-07-14"&gt;Saved on 2025-07-14&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;dbreunig.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;The AI era is speedrunning the Web 2.0 story. Open and accessible MCPs are not our future. Integrations will be tightly governed.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://henrikwarne.com/2025/06/15/lessons-from-9-more-years-of-tricky-bugs/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/11/images/1247801879.jpg" alt="Lessons From 9 More Years of Tricky Bugs" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://henrikwarne.com/2025/06/15/lessons-from-9-more-years-of-tricky-bugs/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Lessons From 9 More Years of Tricky Bugs&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-07-14"&gt;Saved on 2025-07-14&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;henrikwarne.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Since 2002, I have been keeping track of all the tricky bugs I have come across. Nine years ago, I wrote a blog post with the lessons learned from the bugs up till then. Now I have reviewed all the…&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/testing/" class="Label Label--secondary mr-1 mb-1"&gt;testing&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://stackoverflow.blog/2025/06/30/reliability-for-unreliable-llms/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/11/images/1247796425.png" alt="Reliability for unreliable LLMs - Stack Overflow" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://stackoverflow.blog/2025/06/30/reliability-for-unreliable-llms/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Reliability for unreliable LLMs - Stack Overflow&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-07-14"&gt;Saved on 2025-07-14&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;stackoverflow.blog&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Large language models are non-deterministic by design. Here&amp;#39;s how you can inject a little bit of determinism into GenAI workflows.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/ai/" class="Label Label--secondary mr-1 mb-1"&gt;ai&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&lt;/p&gt;&#10;&lt;/div&gt;</description></item><item><title>Bookmarks from 2025</title><link>https://blog.maceage.com/bookmarks/years/2025/page/4/</link><pubDate>Wed, 31 Dec 2025 03:59:58 +0000</pubDate><guid>https://blog.maceage.com/bookmarks/years/2025/page/4/</guid><description>&lt;p&gt;191 bookmarks from 2025&lt;/p&gt;&#10;&lt;div class="Box"&gt;&#10;&lt;p&gt;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://stackoverflow.blog/2025/06/18/learn-like-a-lurker-gen-z-s-digital-first-lifestyle-and-the-future-of-knowledge/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/11/images/1247796262.png" alt="Learn like a lurker: Gen Z’s digital-first lifestyle and the future of knowledge - Stack Overflow" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://stackoverflow.blog/2025/06/18/learn-like-a-lurker-gen-z-s-digital-first-lifestyle-and-the-future-of-knowledge/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Learn like a lurker: Gen Z’s digital-first lifestyle and the future of knowledge - Stack Overflow&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-07-14"&gt;Saved on 2025-07-14&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;stackoverflow.blog&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;As a generation characterized as &amp;#34;digital natives,&amp;#34; the way Gen Z interacts with and consumes knowledge is rooted in their desire for instant gratification and personalization. How will this affect the future of knowledge management and the technologies of tomorrow?&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://www.engineersneedart.com/blog/almostfired/almostfired.html" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/11/images/1247795962.jpg" alt="Almost Fired" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://www.engineersneedart.com/blog/almostfired/almostfired.html" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Almost Fired&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-07-14"&gt;Saved on 2025-07-14&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;engineersneedart.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/history/" class="Label Label--secondary mr-1 mb-1"&gt;history&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/apple/" class="Label Label--secondary mr-1 mb-1"&gt;apple&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://arstechnica.com/science/2025/06/a-neural-brain-implant-provides-near-instantaneous-speech/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/11/images/1247795807.jpg" alt="A neural brain implant provides near instantaneous speech" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://arstechnica.com/science/2025/06/a-neural-brain-implant-provides-near-instantaneous-speech/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;A neural brain implant provides near instantaneous speech&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-07-14"&gt;Saved on 2025-07-14&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;arstechnica.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Focusing on sound production instead of word choice makes for a flexible system.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/science/" class="Label Label--secondary mr-1 mb-1"&gt;science&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/health/" class="Label Label--secondary mr-1 mb-1"&gt;health&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://akdev.blog/how-questions-build-software" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/11/images/1247795205.png" alt="How Questions Build Software" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://akdev.blog/how-questions-build-software" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;How Questions Build Software&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-07-14"&gt;Saved on 2025-07-14&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;akdev.blog&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Looking back, I never thought I would build a career in software. My degree is in Chemistry, a field of precise rules and predictable reactions. What could a mind buzzing with ionic bonds and benzene rings understand about software? That self-inflict...&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/programming/" class="Label Label--secondary mr-1 mb-1"&gt;programming&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/career/" class="Label Label--secondary mr-1 mb-1"&gt;career&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://time.com/7295195/ai-chatgpt-google-learning-school/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/images/bookmark-placeholder.jpg" alt="ChatGPT&amp;#39;s Impact On Our Brains According to an MIT Study" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://time.com/7295195/ai-chatgpt-google-learning-school/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;ChatGPT&amp;#39;s Impact On Our Brains According to an MIT Study&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-07-14"&gt;Saved on 2025-07-14&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;time.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;The study, from MIT Lab scholars, measured the brain activity of subjects writing SAT essays with and without ChatGPT.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/ai/" class="Label Label--secondary mr-1 mb-1"&gt;ai&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/psychology/" class="Label Label--secondary mr-1 mb-1"&gt;psychology&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://www.spacebar.news/moonbase-alpha-nasa-video-game/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/12/images/1247795079.jpg" alt="Moonbase Alpha: That time NASA made a meme video game" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://www.spacebar.news/moonbase-alpha-nasa-video-game/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Moonbase Alpha: That time NASA made a meme video game&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-07-14"&gt;Saved on 2025-07-14&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;spacebar.news&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;John Madden. John Madden. Aeiou. Aeiou.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/games/" class="Label Label--secondary mr-1 mb-1"&gt;games&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/science/" class="Label Label--secondary mr-1 mb-1"&gt;science&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://unreal-garden.com/tutorials/delegates-advanced/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/12/images/1247540280.webp" alt="Advanced Delegates in C&amp;#43;&amp;#43;" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://unreal-garden.com/tutorials/delegates-advanced/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Advanced Delegates in C&amp;#43;&amp;#43;&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-07-14"&gt;Saved on 2025-07-14&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;unreal-garden.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;All the flavours, all the considerations.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/code/" class="Label Label--secondary mr-1 mb-1"&gt;code&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/programming/" class="Label Label--secondary mr-1 mb-1"&gt;programming&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/games/" class="Label Label--secondary mr-1 mb-1"&gt;games&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://unreal-garden.com/tutorials/delegates-intro/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/12/images/1247540248.webp" alt="Intro to Delegates in C&amp;#43;&amp;#43;" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://unreal-garden.com/tutorials/delegates-intro/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Intro to Delegates in C&amp;#43;&amp;#43;&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-07-14"&gt;Saved on 2025-07-14&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;unreal-garden.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;How to declare a dynamic multicast delegate and subscribe to it, using C&amp;#43;&amp;#43;.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/code/" class="Label Label--secondary mr-1 mb-1"&gt;code&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/programming/" class="Label Label--secondary mr-1 mb-1"&gt;programming&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/games/" class="Label Label--secondary mr-1 mb-1"&gt;games&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://travismcgeathy.substack.com/p/chapter-1-be-the-idea-guy" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/12/images/1247390141.jpg" alt="Chapter 1: Be The Idea Guy" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://travismcgeathy.substack.com/p/chapter-1-be-the-idea-guy" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Chapter 1: Be The Idea Guy&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-07-14"&gt;Saved on 2025-07-14&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;travismcgeathy.substack.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;An Idea Alone Never Ships a Game&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/games/" class="Label Label--secondary mr-1 mb-1"&gt;games&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://amirazmi.net/cross-products-in-game-development-and-their-use-cases/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/12/images/1223954348.png" alt="Cross Products in Game Development and Their Use Cases" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://amirazmi.net/cross-products-in-game-development-and-their-use-cases/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Cross Products in Game Development and Their Use Cases&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-07-06"&gt;Saved on 2025-07-06&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;amirazmi.net&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Introduction If you are coming from the Dot Product math tutorial, I thank you for going through it! The understandings of the previous tutorials are just the tools in your toolbox to becoming a ga…&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/games/" class="Label Label--secondary mr-1 mb-1"&gt;games&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/maths/" class="Label Label--secondary mr-1 mb-1"&gt;maths&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/programming/" class="Label Label--secondary mr-1 mb-1"&gt;programming&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/code/" class="Label Label--secondary mr-1 mb-1"&gt;code&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://amirazmi.net/dot-products-in-games-and-their-use-cases/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/12/images/1223949255.jpg" alt="Dot Products in Games and Their Use Cases" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://amirazmi.net/dot-products-in-games-and-their-use-cases/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Dot Products in Games and Their Use Cases&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-07-06"&gt;Saved on 2025-07-06&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;amirazmi.net&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Introduction If you are coming from the Points and Vectors guide, let me thank you guys for reading that and I hoped it helped! If you are new to the series, I will be going over 3D and Linear Alge…&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/games/" class="Label Label--secondary mr-1 mb-1"&gt;games&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/programming/" class="Label Label--secondary mr-1 mb-1"&gt;programming&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/code/" class="Label Label--secondary mr-1 mb-1"&gt;code&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/gaming/" class="Label Label--secondary mr-1 mb-1"&gt;gaming&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/maths/" class="Label Label--secondary mr-1 mb-1"&gt;maths&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://www.tomshardware.com/tech-industry/artificial-intelligence/anthropics-ai-fails-hilariously-at-running-a-business-claude-hallucinates-profusely-as-it-struggles-with-vending-drinks" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/12/images/1210467862.jpg" alt="Anthropic’s AI utterly fails at running a business — &amp;#39;Claudius&amp;#39; hallucinates profusely as it struggles with vending drinks" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://www.tomshardware.com/tech-industry/artificial-intelligence/anthropics-ai-fails-hilariously-at-running-a-business-claude-hallucinates-profusely-as-it-struggles-with-vending-drinks" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Anthropic’s AI utterly fails at running a business — &amp;#39;Claudius&amp;#39; hallucinates profusely as it struggles with vending drinks&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-07-02"&gt;Saved on 2025-07-02&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;tomshardware.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;It&amp;#39;s like a business graduate with no common sense.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/ai/" class="Label Label--secondary mr-1 mb-1"&gt;ai&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://textql.notion.site/levered-beta-is-all-you-need-20ba769a508880388186ef0c2fa11389" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/12/images/1205455040.jpg" alt="levered beta is all you need" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://textql.notion.site/levered-beta-is-all-you-need-20ba769a508880388186ef0c2fa11389" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;levered beta is all you need&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-06-29"&gt;Saved on 2025-06-29&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;textql.notion.site&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;A tool that connects everyday work into one space. It gives you and your teams AI tools—search, writing, note-taking—inside an all-in-one, flexible workspace.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/ai/" class="Label Label--secondary mr-1 mb-1"&gt;ai&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/business/" class="Label Label--secondary mr-1 mb-1"&gt;business&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/product/" class="Label Label--secondary mr-1 mb-1"&gt;product&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://gameprogrammingpatterns.com/component.html" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/12/images/1204096033.png" alt="Component · Decoupling Patterns · Game Programming Patterns" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://gameprogrammingpatterns.com/component.html" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Component · Decoupling Patterns · Game Programming Patterns&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-06-29"&gt;Saved on 2025-06-29&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;gameprogrammingpatterns.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/programming/" class="Label Label--secondary mr-1 mb-1"&gt;programming&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/games/" class="Label Label--secondary mr-1 mb-1"&gt;games&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://gamemath.com/book/multiplespaces.html" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/12/images/1186849325.webp" alt="Multiple Coordinate Spaces - 3D Math Primer for Graphics and Game Development" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://gamemath.com/book/multiplespaces.html" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Multiple Coordinate Spaces - 3D Math Primer for Graphics and Game Development&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-06-22"&gt;Saved on 2025-06-22&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;gamemath.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/games/" class="Label Label--secondary mr-1 mb-1"&gt;games&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/programming/" class="Label Label--secondary mr-1 mb-1"&gt;programming&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://xeiaso.net/blog/2025/rolling-ladder-behind-us/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/12/images/1186147242.jpg" alt="Rolling the ladder up behind us" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://xeiaso.net/blog/2025/rolling-ladder-behind-us/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Rolling the ladder up behind us&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-06-21"&gt;Saved on 2025-06-21&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;xeiaso.net&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Who will take over for us if we don&amp;#39;t train the next generation to replace us? A critique of craft, AI, and the legacy of human expertise.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/history/" class="Label Label--secondary mr-1 mb-1"&gt;history&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/ai/" class="Label Label--secondary mr-1 mb-1"&gt;ai&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://about.gitlab.com/blog/how-we-decreased-gitlab-repo-backup-times-from-48-hours-to-41-minutes/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/12/images/1185083702.jpg" alt="How we decreased GitLab repo backup times from 48 hours to 41 minutes" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://about.gitlab.com/blog/how-we-decreased-gitlab-repo-backup-times-from-48-hours-to-41-minutes/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;How we decreased GitLab repo backup times from 48 hours to 41 minutes&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-06-21"&gt;Saved on 2025-06-21&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;about.gitlab.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Learn how we tracked a performance bottleneck to a 15-year-old Git function and fixed it, leading to enhanced efficiency that supports more robust backup strategies and can reduce risk.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/performance/" class="Label Label--secondary mr-1 mb-1"&gt;performance&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/git/" class="Label Label--secondary mr-1 mb-1"&gt;git&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/code/" class="Label Label--secondary mr-1 mb-1"&gt;code&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/programming/" class="Label Label--secondary mr-1 mb-1"&gt;programming&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://www.baldurbjarnason.com/2025/trusting-your-own-judgement-on-ai/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/12/images/1185083635.jpg" alt="Trusting your own judgement on ‘AI’ is a huge risk" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://www.baldurbjarnason.com/2025/trusting-your-own-judgement-on-ai/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Trusting your own judgement on ‘AI’ is a huge risk&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-06-21"&gt;Saved on 2025-06-21&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;baldurbjarnason.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Web dev at the end of the world, from Hveragerði, Iceland&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/ai/" class="Label Label--secondary mr-1 mb-1"&gt;ai&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/psychology/" class="Label Label--secondary mr-1 mb-1"&gt;psychology&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://fly.io/blog/youre-all-nuts/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/12/images/1185083521.webp" alt="My AI Skeptic Friends Are All Nuts" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://fly.io/blog/youre-all-nuts/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;My AI Skeptic Friends Are All Nuts&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-06-21"&gt;Saved on 2025-06-21&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;fly.io&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;My smartest friends have bananas arguments about LLM coding.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/ai/" class="Label Label--secondary mr-1 mb-1"&gt;ai&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://fortune.com/2025/05/18/ai-chatbots-study-impact-earnings-hours-worked-any-occupation/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/12/images/1185083489.jpg" alt="Study looking at AI chatbots in 7,000 workplaces finds &amp;#39;no significant impact on earnings or recorded hours in any occupation&amp;#39;" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://fortune.com/2025/05/18/ai-chatbots-study-impact-earnings-hours-worked-any-occupation/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Study looking at AI chatbots in 7,000 workplaces finds &amp;#39;no significant impact on earnings or recorded hours in any occupation&amp;#39;&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-06-21"&gt;Saved on 2025-06-21&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;fortune.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Despite AI’s promise to revolutionize white-collar work, most workers are using it sparingly—or hiding it from their boss.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/ai/" class="Label Label--secondary mr-1 mb-1"&gt;ai&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/business/" class="Label Label--secondary mr-1 mb-1"&gt;business&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/productivity/" class="Label Label--secondary mr-1 mb-1"&gt;productivity&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://www.softwareheritage.org/2025/06/04/history_computer_vision/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/images/bookmark-placeholder.jpg" alt="When memory was measured in kilobytes: The art of efficient vision" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://www.softwareheritage.org/2025/06/04/history_computer_vision/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;When memory was measured in kilobytes: The art of efficient vision&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-06-21"&gt;Saved on 2025-06-21&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;softwareheritage.org&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Back when RAM was precious, clever code reigned. Inria&amp;#39;s &amp;#34;Efficient Chain-Linking Algorithm&amp;#34; from the late 80s, now archived at Software Heritage, gives a peek into early computer vision&amp;#39;s elegant solutions.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/code/" class="Label Label--secondary mr-1 mb-1"&gt;code&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/history/" class="Label Label--secondary mr-1 mb-1"&gt;history&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://restofworld.org/2025/employee-surveillance-software-vc-funding/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/12/images/1185083320.jpg" alt="VC money is fueling a global boom in worker surveillance tech" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://restofworld.org/2025/employee-surveillance-software-vc-funding/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;VC money is fueling a global boom in worker surveillance tech&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-06-21"&gt;Saved on 2025-06-21&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;restofworld.org&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;A funding surge has given rise to technologies to track, analyze and manage workers — often in countries with little regulation.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/career/" class="Label Label--secondary mr-1 mb-1"&gt;career&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/business/" class="Label Label--secondary mr-1 mb-1"&gt;business&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://sites.google.com/site/forgottenemployee/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/12/images/1183550201.webp" alt="Forgotten Employee" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://sites.google.com/site/forgottenemployee/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Forgotten Employee&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-06-20"&gt;Saved on 2025-06-20&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;sites.google.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;PART ONE An epiphany was had this morning as I perused SA, sipping Code Red and toying with the notion of stepping outside for my third cigarette in an hour: Nine years and 2 months of my life have been devoted towards the goal of personal advancement within a small yet thrivin&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/business/" class="Label Label--secondary mr-1 mb-1"&gt;business&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/career/" class="Label Label--secondary mr-1 mb-1"&gt;career&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://thephd.dev/just-put-raii-in-c-bro-please-bro-just-one-more-destructor-bro-cmon-im-good-for-it" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/12/images/1155129742.jpg" alt="Why Not Just Do Simple C&amp;#43;&amp;#43; RAII in C?" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://thephd.dev/just-put-raii-in-c-bro-please-bro-just-one-more-destructor-bro-cmon-im-good-for-it" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Why Not Just Do Simple C&amp;#43;&amp;#43; RAII in C?&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-06-11"&gt;Saved on 2025-06-11&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;thephd.dev&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Ever since I finished publishing the “defer” paper and successfully defended it on its first go-around (it now has tentative approval to go to a Technical Sp...&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/code/" class="Label Label--secondary mr-1 mb-1"&gt;code&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/programming/" class="Label Label--secondary mr-1 mb-1"&gt;programming&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://fabiensanglard.net/doomIphone/doomClassicRenderer.php" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/images/bookmark-placeholder.jpg" alt="Doom Engine source code review" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://fabiensanglard.net/doomIphone/doomClassicRenderer.php" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Doom Engine source code review&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-06-08"&gt;Saved on 2025-06-08&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;fabiensanglard.net&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/code/" class="Label Label--secondary mr-1 mb-1"&gt;code&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/games/" class="Label Label--secondary mr-1 mb-1"&gt;games&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&lt;/p&gt;&#10;&lt;/div&gt;</description></item><item><title>Bookmarks from 2025</title><link>https://blog.maceage.com/bookmarks/years/2025/page/5/</link><pubDate>Wed, 31 Dec 2025 03:59:58 +0000</pubDate><guid>https://blog.maceage.com/bookmarks/years/2025/page/5/</guid><description>&lt;p&gt;191 bookmarks from 2025&lt;/p&gt;&#10;&lt;div class="Box"&gt;&#10;&lt;p&gt;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://arstechnica.com/tech-policy/2025/01/ai-haters-build-tarpits-to-trap-and-trick-ai-scrapers-that-ignore-robots-txt/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/12/images/1140957980.jpg" alt="AI haters build tarpits to trap and trick AI scrapers that ignore robots.txt" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://arstechnica.com/tech-policy/2025/01/ai-haters-build-tarpits-to-trap-and-trick-ai-scrapers-that-ignore-robots-txt/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;AI haters build tarpits to trap and trick AI scrapers that ignore robots.txt&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-06-06"&gt;Saved on 2025-06-06&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;arstechnica.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Attackers explain how an anti-spam defense became an AI weapon.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/ai/" class="Label Label--secondary mr-1 mb-1"&gt;ai&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/security/" class="Label Label--secondary mr-1 mb-1"&gt;security&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://www.solarshades.club/p/dispatch-from-the-trenches-of-the" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/12/images/1140911938.jpg" alt="Dispatch from the Trenches of the Butlerian Jihad" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://www.solarshades.club/p/dispatch-from-the-trenches-of-the" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Dispatch from the Trenches of the Butlerian Jihad&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-06-06"&gt;Saved on 2025-06-06&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;solarshades.club&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Trying to teach in the age of the AI homework machine.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/ai/" class="Label Label--secondary mr-1 mb-1"&gt;ai&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://krebsonsecurity.com/2025/05/u-s-sanctions-cloud-provider-funnull-as-top-source-of-pig-butchering-scams/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/12/images/1140911758.png" alt="U.S. Sanctions Cloud Provider ‘Funnull’ as Top Source of ‘Pig Butchering’ Scams" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://krebsonsecurity.com/2025/05/u-s-sanctions-cloud-provider-funnull-as-top-source-of-pig-butchering-scams/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;U.S. Sanctions Cloud Provider ‘Funnull’ as Top Source of ‘Pig Butchering’ Scams&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-06-06"&gt;Saved on 2025-06-06&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;krebsonsecurity.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;The U.S. government today imposed economic sanctions on Funnull Technology Inc., a Philippines-based company that provides computer infrastructure for hundreds of thousands of websites involved in virtual currency investment scams, commonly known as “pig butchering.&amp;#34; In January &lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/security/" class="Label Label--secondary mr-1 mb-1"&gt;security&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://thephd.dev/c2y-the-defer-technical-specification-its-time-go-go-go" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/12/images/1138129935.jpg" alt="The Defer Technical Specification: It Is Time" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://thephd.dev/c2y-the-defer-technical-specification-its-time-go-go-go" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The Defer Technical Specification: It Is Time&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-06-05"&gt;Saved on 2025-06-05&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;thephd.dev&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;After the Graz, Austria February 2025 WG14 Meeting, I am now confident in the final status of the defer TS, and it is now time.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/programming/" class="Label Label--secondary mr-1 mb-1"&gt;programming&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://a16z.com/nine-emerging-developer-patterns-for-the-ai-era/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/13/images/1136859609.png" alt="Emerging Developer Patterns for the AI Era | Andreessen Horowitz" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://a16z.com/nine-emerging-developer-patterns-for-the-ai-era/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Emerging Developer Patterns for the AI Era | Andreessen Horowitz&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-06-04"&gt;Saved on 2025-06-04&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;a16z.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Developers are moving past AI as just tooling and starting to treat AI agents as a new foundation for how software gets built.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/programming/" class="Label Label--secondary mr-1 mb-1"&gt;programming&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/ai/" class="Label Label--secondary mr-1 mb-1"&gt;ai&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://codemanship.wordpress.com/2025/05/21/five-boring-things-that-have-a-bigger-impact-than-a-i-coding-assistants-on-dev-team-productivity" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/13/images/1136859561.png" alt="Five Boring Things That Have A Bigger Impact Than “A.I.” Coding Assistants On Dev Team Productivity" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://codemanship.wordpress.com/2025/05/21/five-boring-things-that-have-a-bigger-impact-than-a-i-coding-assistants-on-dev-team-productivity" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Five Boring Things That Have A Bigger Impact Than “A.I.” Coding Assistants On Dev Team Productivity&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-06-04"&gt;Saved on 2025-06-04&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;codemanship.wordpress.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Here are 5 factors that make a bigger difference to software development outcomes than “A.I.” coding assistants, but teams don’t address because they’re “old news, gra…&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/ai/" class="Label Label--secondary mr-1 mb-1"&gt;ai&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/code/" class="Label Label--secondary mr-1 mb-1"&gt;code&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://futurism.com/zuckerberg-lonely-friends-create-ai" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/images/bookmark-placeholder.jpg" alt="Zuckerberg Says in Response to Loneliness Epidemic, He Will Create Most of Your Friends Using Artificial Intelligence" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://futurism.com/zuckerberg-lonely-friends-create-ai" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Zuckerberg Says in Response to Loneliness Epidemic, He Will Create Most of Your Friends Using Artificial Intelligence&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-06-04"&gt;Saved on 2025-06-04&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;futurism.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Meta CEO Mark Zuckerberg is more concerned about his billions of customers making friends with AI chatbots than creating bonds with real human beings.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/facebook/" class="Label Label--secondary mr-1 mb-1"&gt;facebook&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/ai/" class="Label Label--secondary mr-1 mb-1"&gt;ai&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://queue.acm.org/doi/10.1145/3194653.3197520" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/13/images/1136859516.webp" alt="Manual Work is a Bug: A.B.A: always be automating" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://queue.acm.org/doi/10.1145/3194653.3197520" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Manual Work is a Bug: A.B.A: always be automating&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-06-04"&gt;Saved on 2025-06-04&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;queue.acm.org&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Every IT team should have a culture of constant improvement - or movement along the path toward the goal of automating whatever the team feels confident in automating, in ways that are easy to change as conditions change. As the needle moves to the right, the team learns from eac&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/productivity/" class="Label Label--secondary mr-1 mb-1"&gt;productivity&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://localmess.github.io/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/13/images/1135550770.png" alt="Covert Web-to-App Tracking via Localhost on Android" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://localmess.github.io/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Covert Web-to-App Tracking via Localhost on Android&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-06-04"&gt;Saved on 2025-06-04&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;localmess.github.io&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/security/" class="Label Label--secondary mr-1 mb-1"&gt;security&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/facebook/" class="Label Label--secondary mr-1 mb-1"&gt;facebook&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://www.aisnakeoil.com/p/ai-safety-is-not-a-model-property" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/13/images/1113891268.jpg" alt="AI safety is not a model property" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://www.aisnakeoil.com/p/ai-safety-is-not-a-model-property" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;AI safety is not a model property&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-05-29"&gt;Saved on 2025-05-29&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;aisnakeoil.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Trying to make an AI model that can’t be misused is like trying to make a computer that can’t be used for bad things&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/ai/" class="Label Label--secondary mr-1 mb-1"&gt;ai&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://technologizer.com/home/2025/04/22/pc-connection-ads-raccoons/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/13/images/1100155543.jpg" alt="The raccoons who made computer magazine ads great" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://technologizer.com/home/2025/04/22/pc-connection-ads-raccoons/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The raccoons who made computer magazine ads great&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-05-27"&gt;Saved on 2025-05-27&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;technologizer.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;In the 1980s and 1990s, PC Connection built its brand on a campaign starring folksy small-town critters. They’ll still charm your socks off.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/history/" class="Label Label--secondary mr-1 mb-1"&gt;history&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://sebs.website/blog/the-gruen-transfer-is-consuming-the-internet" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/13/images/1100155380.png" alt="The Gruen Transfer is consuming the internet" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://sebs.website/blog/the-gruen-transfer-is-consuming-the-internet" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The Gruen Transfer is consuming the internet&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-05-27"&gt;Saved on 2025-05-27&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;sebs.website&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;pThe Gruen Transfer is taking over social media. What is it and how can we avoid it?/p&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/psychology/" class="Label Label--secondary mr-1 mb-1"&gt;psychology&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/business/" class="Label Label--secondary mr-1 mb-1"&gt;business&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://sampatt.com/blog/2025-04-28-can-o3-beat-a-geoguessr-master/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/images/bookmark-placeholder.jpg" alt="o3 Beats a Master-Level Geoguessr Player—Even with Fake EXIF Data" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://sampatt.com/blog/2025-04-28-can-o3-beat-a-geoguessr-master/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;o3 Beats a Master-Level Geoguessr Player—Even with Fake EXIF Data&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-05-27"&gt;Saved on 2025-05-27&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;sampatt.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;In Which I Try to Maintain Human Supremacy for a Bit Longer&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/ai/" class="Label Label--secondary mr-1 mb-1"&gt;ai&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://www.fastcompany.com/91321143/bot-farms-social-media-manipulation" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/13/images/1100154806.webp" alt="Bot farms invade social media to hijack popular sentiment" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://www.fastcompany.com/91321143/bot-farms-social-media-manipulation" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Bot farms invade social media to hijack popular sentiment&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-05-27"&gt;Saved on 2025-05-27&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;fastcompany.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Governments, financial influencers, and entertainment insiders are using data center-like facilities full of phones to push narratives fabricated through fake social media engagement.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/facebook/" class="Label Label--secondary mr-1 mb-1"&gt;facebook&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://purplesyringa.moe/blog/why-performance-optimization-is-hard-work/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/13/images/1100146415.png" alt="Why performance optimization is hard work" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://purplesyringa.moe/blog/why-performance-optimization-is-hard-work/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Why performance optimization is hard work&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-05-27"&gt;Saved on 2025-05-27&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;purplesyringa.moe&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;I’m not talking about skill, knowledge, or convincing a world focused on radical acceleration that optimization is necessary. Performance optimization is hard because it’s fundamentally a brute-force task, and there’s nothing you can do about it. This post is a bit of a rant on m&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/performance/" class="Label Label--secondary mr-1 mb-1"&gt;performance&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://notashelf.dev/posts/curse-of-knowing" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/13/images/1100132927.webp" alt="The Curse of Knowing How, or; Fixing Everything | Blog" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://notashelf.dev/posts/curse-of-knowing" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The Curse of Knowing How, or; Fixing Everything | Blog&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-05-27"&gt;Saved on 2025-05-27&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;notashelf.dev&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;A reflection on control, burnout, and the strange weight of technical fluency.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/programming/" class="Label Label--secondary mr-1 mb-1"&gt;programming&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://stackoverflow.blog/2025/05/08/best-practices-third-party-data-acquisition-powering-ai-context/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/13/images/1100132016.png" alt="Best practices for third-party data acquisition: powering AI context - Stack Overflow" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://stackoverflow.blog/2025/05/08/best-practices-third-party-data-acquisition-powering-ai-context/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Best practices for third-party data acquisition: powering AI context - Stack Overflow&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-05-27"&gt;Saved on 2025-05-27&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;stackoverflow.blog&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;This post explores crucial lessons learned in the trenches of data licensing, drawing insights from Stack Overflow and the growing importance of socially responsible data practices in a changing internet landscape.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/ai/" class="Label Label--secondary mr-1 mb-1"&gt;ai&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://farmingdale-observer.com/2025/05/10/iceland-approved-the-4-day-workweek-in-2019-nearly-6-years-later-all-the-predictions-made-have-come-true/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/13/images/1100131718.webp" alt="Iceland approved the 4-day workweek in 2019: nearly 6 years later, all the predictions made have come true." loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://farmingdale-observer.com/2025/05/10/iceland-approved-the-4-day-workweek-in-2019-nearly-6-years-later-all-the-predictions-made-have-come-true/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Iceland approved the 4-day workweek in 2019: nearly 6 years later, all the predictions made have come true.&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-05-27"&gt;Saved on 2025-05-27&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;farmingdale-observer.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;In 2019, Iceland made headlines by becoming one of the first countries in the world to adopt the four-day working week, not through a general law, but through agreements allowing workers to negotiate shorter weeks or reduced hours. Five years on, the results are indisputable. The&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/business/" class="Label Label--secondary mr-1 mb-1"&gt;business&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/management/" class="Label Label--secondary mr-1 mb-1"&gt;management&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://stackoverflow.blog/2025/05/12/beyond-speed-measuring-engineering-success-by-impact-not-velocity/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/13/images/1100131578.png" alt="Beyond speed: Measuring engineering success by impact, not velocity - Stack Overflow" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://stackoverflow.blog/2025/05/12/beyond-speed-measuring-engineering-success-by-impact-not-velocity/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Beyond speed: Measuring engineering success by impact, not velocity - Stack Overflow&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-05-27"&gt;Saved on 2025-05-27&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;stackoverflow.blog&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;If velocity is just a tool and not a goal, how do you measure real success for engineering teams?&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/career/" class="Label Label--secondary mr-1 mb-1"&gt;career&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/productivity/" class="Label Label--secondary mr-1 mb-1"&gt;productivity&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/programming/" class="Label Label--secondary mr-1 mb-1"&gt;programming&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://stackoverflow.blog/2025/05/15/whether-ai-is-a-bubble-or-revolution-how-does-software-survive/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/13/images/1100128565.png" alt="Whether AI is a bubble or revolution, how does software survive? - Stack Overflow" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://stackoverflow.blog/2025/05/15/whether-ai-is-a-bubble-or-revolution-how-does-software-survive/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Whether AI is a bubble or revolution, how does software survive? - Stack Overflow&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-05-27"&gt;Saved on 2025-05-27&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;stackoverflow.blog&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Money is pouring into the AI industry. Will software survive the disruption it causes?&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/ai/" class="Label Label--secondary mr-1 mb-1"&gt;ai&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://www.anthropic.com/research/reasoning-models-dont-say-think" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/13/images/1091419516.png" alt="Reasoning models don&amp;#39;t always say what they think \\ Anthropic" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://www.anthropic.com/research/reasoning-models-dont-say-think" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Reasoning models don&amp;#39;t always say what they think \\ Anthropic&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-05-26"&gt;Saved on 2025-05-26&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;anthropic.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Research from Anthropic on the faithfulness of AI models&amp;#39; Chain-of-Thought&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/ai/" class="Label Label--secondary mr-1 mb-1"&gt;ai&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://www.wheresyoured.at/the-era-of-the-business-idiot/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/13/images/1084881353.jpg" alt="The Era Of The Business Idiot" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://www.wheresyoured.at/the-era-of-the-business-idiot/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The Era Of The Business Idiot&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-05-25"&gt;Saved on 2025-05-25&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;wheresyoured.at&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Fair warning: this is the longest thing I&amp;#39;ve written on this newsletter. I do apologize. Soundtrack: EL-P - $4 Vic Listen to my podcast Better Offline. We have merch. Last week, Bloomberg profiled Microsoft CEO Satya Nadella, revealing that he&amp;#39;s either a liar or a specific kin&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/business/" class="Label Label--secondary mr-1 mb-1"&gt;business&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/management/" class="Label Label--secondary mr-1 mb-1"&gt;management&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/ai/" class="Label Label--secondary mr-1 mb-1"&gt;ai&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://aeon.co/essays/why-is-english-so-weirdly-different-from-other-languages" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/images/bookmark-placeholder.jpg" alt="English Is Not Normal" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://aeon.co/essays/why-is-english-so-weirdly-different-from-other-languages" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;English Is Not Normal&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-05-02"&gt;Saved on 2025-05-02&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;aeon.co&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;No, English isn’t uniquely vibrant or mighty or adaptable. But it really is weirder than pretty much every other language.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/history/" class="Label Label--secondary mr-1 mb-1"&gt;history&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://defensiblesystems.substack.com/p/oauths-role-in-mcp-security" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/13/images/1055999682.jpg" alt="OAuth&amp;#39;s Role in MCP Security" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://defensiblesystems.substack.com/p/oauths-role-in-mcp-security" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;OAuth&amp;#39;s Role in MCP Security&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-04-28"&gt;Saved on 2025-04-28&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;defensiblesystems.substack.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Limits and Opportunities in the Identity Layer&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/programming/" class="Label Label--secondary mr-1 mb-1"&gt;programming&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/security/" class="Label Label--secondary mr-1 mb-1"&gt;security&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/ai/" class="Label Label--secondary mr-1 mb-1"&gt;ai&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://www.digicert.com/blog/tls-certificate-lifetimes-will-officially-reduce-to-47-days" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/13/images/1055999681.webp" alt="TLS Certificate Lifetimes Will Officially Reduce to 47 Days | DigiCert" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://www.digicert.com/blog/tls-certificate-lifetimes-will-officially-reduce-to-47-days" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;TLS Certificate Lifetimes Will Officially Reduce to 47 Days | DigiCert&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-04-27"&gt;Saved on 2025-04-27&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;digicert.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;The CA/Browser Forum has officially voted to amend the TLS Baseline Requirements to set a schedule for shortening both the lifetime of TLS certificates.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/security/" class="Label Label--secondary mr-1 mb-1"&gt;security&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&lt;/p&gt;&#10;&lt;/div&gt;</description></item><item><title>Bookmarks from 2025</title><link>https://blog.maceage.com/bookmarks/years/2025/page/6/</link><pubDate>Wed, 31 Dec 2025 03:59:58 +0000</pubDate><guid>https://blog.maceage.com/bookmarks/years/2025/page/6/</guid><description>&lt;p&gt;191 bookmarks from 2025&lt;/p&gt;&#10;&lt;div class="Box"&gt;&#10;&lt;p&gt;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://stackoverflow.blog/2025/04/14/like-self-driving-cars-fully-ai-automated-sysadmins-don-t-exist" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/13/images/1055999680.png" alt="Like self-driving cars, fully AI-automated sysadmins don&amp;#39;t exist - Stack Overflow" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://stackoverflow.blog/2025/04/14/like-self-driving-cars-fully-ai-automated-sysadmins-don-t-exist" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Like self-driving cars, fully AI-automated sysadmins don&amp;#39;t exist - Stack Overflow&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-04-27"&gt;Saved on 2025-04-27&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;stackoverflow.blog&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;As with cars, there are few system administration tasks that involve little to no automation.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/ai/" class="Label Label--secondary mr-1 mb-1"&gt;ai&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://stackoverflow.blog/2025/04/16/engineering-teams-need-to-adapt-to-ai-scaling-challenges" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/13/images/1055999679.png" alt="Engineering teams need to adapt to AI’s scaling challenges - Stack Overflow" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://stackoverflow.blog/2025/04/16/engineering-teams-need-to-adapt-to-ai-scaling-challenges" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Engineering teams need to adapt to AI’s scaling challenges - Stack Overflow&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-04-27"&gt;Saved on 2025-04-27&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;stackoverflow.blog&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;AI is not a linear process. To scale effectively, engineering leaders must account for varied edge cases, presenting a new set of challenges.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/programming/" class="Label Label--secondary mr-1 mb-1"&gt;programming&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/ai/" class="Label Label--secondary mr-1 mb-1"&gt;ai&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://stackoverflow.blog/2025/04/17/wait-what-is-agentic-ai" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/13/images/1055999678.png" alt="Wait, what is agentic AI? - Stack Overflow" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://stackoverflow.blog/2025/04/17/wait-what-is-agentic-ai" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Wait, what is agentic AI? - Stack Overflow&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-04-27"&gt;Saved on 2025-04-27&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;stackoverflow.blog&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Is “agentic AI” just a buzzword, or is it the sea change it seems?&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/ai/" class="Label Label--secondary mr-1 mb-1"&gt;ai&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://www.abc.net.au/news/2025-04-26/renewables-versus-nuclear-in-evolving-energy-grid/104800790" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/13/images/1055999705.jpg" alt="Can renewables and nuclear play nice in Australia&amp;#39;s power grid of tomorrow" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://www.abc.net.au/news/2025-04-26/renewables-versus-nuclear-in-evolving-energy-grid/104800790" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Can renewables and nuclear play nice in Australia&amp;#39;s power grid of tomorrow&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-04-26"&gt;Saved on 2025-04-26&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;abc.net.au&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Our energy system is evolving at breakneck speed. Here we look at how our power grid works, what more renewables mean for energy prices, how nuclear fits into the picture, and how we might build a grid fit for the future.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/politics/" class="Label Label--secondary mr-1 mb-1"&gt;politics&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://funcall.blogspot.com/2025/04/why-i-program-in-lisp.html#google_vignette" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/14/images/1055999703.webp" alt="Abstract Heresies: Why I Program in Lisp" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://funcall.blogspot.com/2025/04/why-i-program-in-lisp.html#google_vignette" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Abstract Heresies: Why I Program in Lisp&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-04-19"&gt;Saved on 2025-04-19&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;funcall.blogspot.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;A blog about computers, functional languages, Lisp, and Scheme.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/code/" class="Label Label--secondary mr-1 mb-1"&gt;code&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/programming/" class="Label Label--secondary mr-1 mb-1"&gt;programming&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://crocidb.com/post/kernel-adventures/demystifying-the-shebang" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/14/images/1055999702.webp" alt="Demystifying the #! (shebang): Kernel Adventures - Bruno Croci" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://crocidb.com/post/kernel-adventures/demystifying-the-shebang" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Demystifying the #! (shebang): Kernel Adventures - Bruno Croci&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-04-19"&gt;Saved on 2025-04-19&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;crocidb.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Clarifying the shebang (#!) mechanism: A step-by-step look using strace and kernel code shows how Linux handles script execution directly, revealing the shell isn&amp;#39;t involved initially.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/code/" class="Label Label--secondary mr-1 mb-1"&gt;code&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/history/" class="Label Label--secondary mr-1 mb-1"&gt;history&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://stackoverflow.blog/2025/04/07/open-source-ai-are-younger-developers-leading-the-way" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/14/images/1055999701.png" alt="Open-source AI: Are younger developers leading the way? - Stack Overflow" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://stackoverflow.blog/2025/04/07/open-source-ai-are-younger-developers-leading-the-way" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Open-source AI: Are younger developers leading the way? - Stack Overflow&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-04-19"&gt;Saved on 2025-04-19&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;stackoverflow.blog&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/ai/" class="Label Label--secondary mr-1 mb-1"&gt;ai&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://www.oreilly.com/radar/software-architecture-in-an-ai-world" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/images/bookmark-placeholder.jpg" alt="Software Architecture in an AI World – O’Reilly" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://www.oreilly.com/radar/software-architecture-in-an-ai-world" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Software Architecture in an AI World – O’Reilly&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-04-16"&gt;Saved on 2025-04-16&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;oreilly.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/ai/" class="Label Label--secondary mr-1 mb-1"&gt;ai&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/architecture/" class="Label Label--secondary mr-1 mb-1"&gt;architecture&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://techleaderslaunchpad.com/resources/blog/why-doing-less-makes-you-a-better-leader" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/14/images/1055999699.webp" alt="Why doing less makes you a better leader - Blog - Tech Leaders Launchpad" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://techleaderslaunchpad.com/resources/blog/why-doing-less-makes-you-a-better-leader" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Why doing less makes you a better leader - Blog - Tech Leaders Launchpad&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-04-14"&gt;Saved on 2025-04-14&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;techleaderslaunchpad.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Recently I&amp;#39;ve been speaking to a lot of new leaders, and a mistake I am seeing quite often is equating productivity with the number of tasks they complete, meetings they attend, and decisions they make. Many new leaders, particularly those transitioning from individual contributo&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/leadership/" class="Label Label--secondary mr-1 mb-1"&gt;leadership&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/management/" class="Label Label--secondary mr-1 mb-1"&gt;management&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://stackoverflow.blog/2025/04/03/from-training-to-inference-the-new-role-of-web-data-in-llms" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/14/images/1055999698.png" alt="From training to inference: The new role of web data in LLMs - Stack Overflow" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://stackoverflow.blog/2025/04/03/from-training-to-inference-the-new-role-of-web-data-in-llms" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;From training to inference: The new role of web data in LLMs - Stack Overflow&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-04-13"&gt;Saved on 2025-04-13&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;stackoverflow.blog&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/ai/" class="Label Label--secondary mr-1 mb-1"&gt;ai&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://alexop.dev/posts/what-is-local-first-web-development" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/14/images/1055999696.png" alt="What is Local-first Web Development? | alexop.dev" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://alexop.dev/posts/what-is-local-first-web-development" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;What is Local-first Web Development? | alexop.dev&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-04-13"&gt;Saved on 2025-04-13&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;alexop.dev&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Explore the power of local-first web development and its impact on modern web applications. Learn how to build offline-capable, user-centric apps that prioritize data ownership and seamless synchronization. Discover the key principles and implementation steps for creating robust &lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/architecture/" class="Label Label--secondary mr-1 mb-1"&gt;architecture&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/programming/" class="Label Label--secondary mr-1 mb-1"&gt;programming&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://theaiunderwriter.substack.com/p/an-image-of-an-archeologist-adventurer" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/14/images/1055999695.jpg" alt="An image of an archeologist adventurer who wears a hat and uses a bullwhip" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://theaiunderwriter.substack.com/p/an-image-of-an-archeologist-adventurer" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;An image of an archeologist adventurer who wears a hat and uses a bullwhip&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-04-13"&gt;Saved on 2025-04-13&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;theaiunderwriter.substack.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;There is only one thing worse than being imitated&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/ai/" class="Label Label--secondary mr-1 mb-1"&gt;ai&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://www.dutchosintguy.com/post/the-slow-collapse-of-critical-thinking-in-osint-due-to-ai" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/14/images/1055999694.webp" alt="The Slow Collapse of Critical Thinking in OSINT due to AI" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://www.dutchosintguy.com/post/the-slow-collapse-of-critical-thinking-in-osint-due-to-ai" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The Slow Collapse of Critical Thinking in OSINT due to AI&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-04-13"&gt;Saved on 2025-04-13&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;dutchosintguy.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;OSINT used to be a thinking game. Now it’s becoming a trusting game and that should terrify you.I’ve seen it firsthand, analysts running solid investigations, then slowly shifting more and more of the thinking to GenAI tools. At first, it’s small. You use ChatGPT to summarise a d&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/ai/" class="Label Label--secondary mr-1 mb-1"&gt;ai&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/psychology/" class="Label Label--secondary mr-1 mb-1"&gt;psychology&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://www.bbc.com/future/article/20250409-game-transfer-phenomenon-the-people-who-see-video-games-in-the-physical-world" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/14/images/1055999676.jpg" alt="Health indicators and power ups: The &amp;#39;freaky and unpleasant&amp;#39; world when video games leak into the ph" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://www.bbc.com/future/article/20250409-game-transfer-phenomenon-the-people-who-see-video-games-in-the-physical-world" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Health indicators and power ups: The &amp;#39;freaky and unpleasant&amp;#39; world when video games leak into the ph&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-04-11"&gt;Saved on 2025-04-11&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;bbc.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Video games are the biggest form of entertainment in the world, but sometimes they bleed into people&amp;#39;s lives offline in surprising and disturbing ways.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/games/" class="Label Label--secondary mr-1 mb-1"&gt;games&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/psychology/" class="Label Label--secondary mr-1 mb-1"&gt;psychology&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://annievella.com/posts/the-software-engineering-identity-crisis" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/14/images/1055999693.webp" alt="The Software Engineering Identity Crisis - Annie Vella" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://annievella.com/posts/the-software-engineering-identity-crisis" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The Software Engineering Identity Crisis - Annie Vella&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-04-11"&gt;Saved on 2025-04-11&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;annievella.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Many of us became software engineers because we found our identity in building things. Not managing things. Not overseeing things. Building things. With our own hands, our own minds, our own code. But that identity is being challenged. AI coding assistants aren’t just changing ho&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/career/" class="Label Label--secondary mr-1 mb-1"&gt;career&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/management/" class="Label Label--secondary mr-1 mb-1"&gt;management&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/ai/" class="Label Label--secondary mr-1 mb-1"&gt;ai&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://javorszky.co.uk/2025/03/26/length-and-capacity-in-go-slices" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/14/images/1055999675.webp" alt="Length and capacity in Go slices" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://javorszky.co.uk/2025/03/26/length-and-capacity-in-go-slices" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Length and capacity in Go slices&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-04-06"&gt;Saved on 2025-04-06&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;javorszky.co.uk&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Length and capacity in Go slices confused me for a while. They&amp;#39;re related but different, and important. This will give you more clarity on what they are.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/code/" class="Label Label--secondary mr-1 mb-1"&gt;code&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/programming/" class="Label Label--secondary mr-1 mb-1"&gt;programming&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://nibblestew.blogspot.com/2025/03/writing-your-own-c-standard-library.html" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/14/images/1055999692.png" alt="Nibble Stew: Writing your own C standard library from scratch" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://nibblestew.blogspot.com/2025/03/writing-your-own-c-standard-library.html" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Nibble Stew: Writing your own C standard library from scratch&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-04-06"&gt;Saved on 2025-04-06&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;nibblestew.blogspot.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;The C&amp;#43;&amp;#43; standard library (also know as the STL) is, without a doubt, an astounding piece of work. Its scope, performance and incredible back...&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/code/" class="Label Label--secondary mr-1 mb-1"&gt;code&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://medium.com/@brunopostle/piranesis-perspective-trick-6bcd7a754da9" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/14/images/1055999691.png" alt="Piranesi’s Perspective Trick. This is a quick report explaining what… | by Bruno Postle | Medium" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://medium.com/@brunopostle/piranesis-perspective-trick-6bcd7a754da9" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Piranesi’s Perspective Trick. This is a quick report explaining what… | by Bruno Postle | Medium&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-04-06"&gt;Saved on 2025-04-06&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;medium.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;This is a quick report explaining what I have been doing with some research on what I started to call ‘Piranesi’s perspective trick’. In the past I would have written this up as an academic paper…&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/history/" class="Label Label--secondary mr-1 mb-1"&gt;history&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://joe-antognini.github.io/astronomy/daylight" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/14/images/1055999690.webp" alt="How Fast the Days Are Getting Longer – Joe Antognini" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://joe-antognini.github.io/astronomy/daylight" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;How Fast the Days Are Getting Longer – Joe Antognini&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-03-29"&gt;Saved on 2025-03-29&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;joe-antognini.github.io&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Here in the northern hemisphere the vernal equinox just passed and the days arequickly getting longer. One of my col...&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/history/" class="Label Label--secondary mr-1 mb-1"&gt;history&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://developer.chrome.com/blog/command-and-commandfor" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/14/images/1055999674.png" alt="Introducing command and commandfor | Blog | Chrome for Developers" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://developer.chrome.com/blog/command-and-commandfor" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Introducing command and commandfor | Blog | Chrome for Developers&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-03-29"&gt;Saved on 2025-03-29&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;developer.chrome.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Learn about the new capabilities for declarative behavior on buttons.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/code/" class="Label Label--secondary mr-1 mb-1"&gt;code&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://seldo.com/posts/ai-effect-on-programming-jobs" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/14/images/1055999689.webp" alt="AI&amp;#39;s effects on programming jobs | Seldo.com" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://seldo.com/posts/ai-effect-on-programming-jobs" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;AI&amp;#39;s effects on programming jobs | Seldo.com&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-03-29"&gt;Saved on 2025-03-29&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;seldo.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;There&amp;#39;s been a whole lot of discussion recently about the impact of AI on the market for web developers, for programmers in general, and even more generally the entire labor market. I find myself making the same points over and over, and whenever I do that it&amp;#39;s time to write a bl&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/career/" class="Label Label--secondary mr-1 mb-1"&gt;career&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://stackoverflow.blog/2025/03/10/how-are-sandwich-generation-developers-dealing" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/14/images/1055999673.png" alt="How are sandwich generation developers dealing? - Stack Overflow" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://stackoverflow.blog/2025/03/10/how-are-sandwich-generation-developers-dealing" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;How are sandwich generation developers dealing? - Stack Overflow&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-03-25"&gt;Saved on 2025-03-25&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;stackoverflow.blog&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/career/" class="Label Label--secondary mr-1 mb-1"&gt;career&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://csswizardry.com/2025/03/why-do-we-have-a-cache-control-request-header" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/14/images/1055999672.jpg" alt="Why Do We Have a Cache-Control Request Header? – Web Performance and Site Speed Consultant" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://csswizardry.com/2025/03/why-do-we-have-a-cache-control-request-header" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Why Do We Have a Cache-Control Request Header? – Web Performance and Site Speed Consultant&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-03-19"&gt;Saved on 2025-03-19&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;csswizardry.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Learn how the Cache-Control request header works, how browsers handle refresh and hard refresh caching, and when developers should use it for realtime data and offline-first applications.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://stackoverflow.blog/2025/03/12/a-look-under-the-hood-how-and-why-we-built-question-assistant" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/14/images/1055999671.png" alt="A look under the hood: How (and why) we built Question Assistant - Stack Overflow" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://stackoverflow.blog/2025/03/12/a-look-under-the-hood-how-and-why-we-built-question-assistant" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;A look under the hood: How (and why) we built Question Assistant - Stack Overflow&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-03-19"&gt;Saved on 2025-03-19&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;stackoverflow.blog&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/ai/" class="Label Label--secondary mr-1 mb-1"&gt;ai&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://cloudfour.com/thinks/truth-lies-and-progress-bars" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/14/images/1055999670.jpg" alt="Truth, Lies and Progress Bars – Cloud Four" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://cloudfour.com/thinks/truth-lies-and-progress-bars" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Truth, Lies and Progress Bars – Cloud Four&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-03-13"&gt;Saved on 2025-03-13&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;cloudfour.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;An early encounter with a fabricated progress indicator inspired several more honest alternatives.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/design/" class="Label Label--secondary mr-1 mb-1"&gt;design&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&lt;/p&gt;&#10;&lt;/div&gt;</description></item><item><title>Bookmarks from 2025</title><link>https://blog.maceage.com/bookmarks/years/2025/page/7/</link><pubDate>Wed, 31 Dec 2025 03:59:58 +0000</pubDate><guid>https://blog.maceage.com/bookmarks/years/2025/page/7/</guid><description>&lt;p&gt;191 bookmarks from 2025&lt;/p&gt;&#10;&lt;div class="Box"&gt;&#10;&lt;p&gt;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://skypilot.ai/blog/abusing-sqlite-to-handle-concurrency" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/images/bookmark-placeholder.jpg" alt="Abusing SQLite to Handle Concurrency | SkyPilot Blog" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://skypilot.ai/blog/abusing-sqlite-to-handle-concurrency" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Abusing SQLite to Handle Concurrency | SkyPilot Blog&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-03-13"&gt;Saved on 2025-03-13&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;skypilot.ai&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;SkyPilot uses the venerable SQLite for state management. SQLite can handle millions of QPS, and terabytes of data. However, our efforts to scale our Managed Jobs feature ran up against the one downfall of SQLite: many concurrent writers. Since SkyPilot typically runs as a CLI on &lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/code/" class="Label Label--secondary mr-1 mb-1"&gt;code&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/data/" class="Label Label--secondary mr-1 mb-1"&gt;data&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/database/" class="Label Label--secondary mr-1 mb-1"&gt;database&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/sql/" class="Label Label--secondary mr-1 mb-1"&gt;sql&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://80.lv/articles/black-eye-technologies-on-procedural-camera-systems-their-new-unreal-engine-plug-in" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/14/images/1055999668.jpg" alt="Black Eye Technologies on Procedural Camera Systems &amp;amp; Their New Unreal Engine Plug-In" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://80.lv/articles/black-eye-technologies-on-procedural-camera-systems-their-new-unreal-engine-plug-in" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Black Eye Technologies on Procedural Camera Systems &amp;amp; Their New Unreal Engine Plug-In&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-03-09"&gt;Saved on 2025-03-09&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;80.lv&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Black Eye Technologies&amp;#39; Adam Myhill and Gerald Orban have joined 80 Level to discuss their brand-new Unreal Engine add-on Black Eye Cameras, and share the tool&amp;#39;s capabilities.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/games/" class="Label Label--secondary mr-1 mb-1"&gt;games&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://localghost.dev/blog/this-page-is-under-construction" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/14/images/1055999667.png" alt="This page is under construction - localghost" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://localghost.dev/blog/this-page-is-under-construction" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;This page is under construction - localghost&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-03-07"&gt;Saved on 2025-03-07&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;localghost.dev&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;If you take just one thing away from this article, I want it to be this: please build your own website.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/history/" class="Label Label--secondary mr-1 mb-1"&gt;history&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://dri.es/comparing-local-llms-for-alt-text-generation" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/14/images/1055999666.jpg" alt="Comparing local large language models for alt-text generation | Dries Buytaert" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://dri.es/comparing-local-llms-for-alt-text-generation" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Comparing local large language models for alt-text generation | Dries Buytaert&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-03-07"&gt;Saved on 2025-03-07&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;dri.es&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;I tested 12 LLMs – 10 running locally and 2 cloud-based – to assess their accuracy in generating alt-text for images.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/ai/" class="Label Label--secondary mr-1 mb-1"&gt;ai&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://blog.jetbrains.com/rust/2025/02/04/first-steps-in-game-development-with-rust-and-bevy" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/15/images/1055999665.png" alt="First Steps in Game Development With Rust and Bevy" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://blog.jetbrains.com/rust/2025/02/04/first-steps-in-game-development-with-rust-and-bevy" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;First Steps in Game Development With Rust and Bevy&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-02-28"&gt;Saved on 2025-02-28&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;blog.jetbrains.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Some of us might remember this 15-year-old Abstruse Goose comic about our choices in life. Learning the theory of computations might not be the most direct path to video game development. However, you&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/code/" class="Label Label--secondary mr-1 mb-1"&gt;code&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/games/" class="Label Label--secondary mr-1 mb-1"&gt;games&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://www.paulgraham.com/ds.html" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/15/images/1055999664.webp" alt="Do Things that Don&amp;#39;t Scale" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://www.paulgraham.com/ds.html" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Do Things that Don&amp;#39;t Scale&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-02-27"&gt;Saved on 2025-02-27&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;paulgraham.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://jazco.dev/2025/02/19/imperfection" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/15/images/1055999663.webp" alt="When Imperfect Systems are Good, Actually: Bluesky&amp;#39;s Lossy Timelines · Jaz&amp;#39;s Blog" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://jazco.dev/2025/02/19/imperfection" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;When Imperfect Systems are Good, Actually: Bluesky&amp;#39;s Lossy Timelines · Jaz&amp;#39;s Blog&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-02-26"&gt;Saved on 2025-02-26&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;jazco.dev&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;By examining the limits of reasonable user behavior and embracing imperfection for users who go beyond it, we can continue to provide service that meets the expectations of users without sacrificing scalability of the system.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/architecture/" class="Label Label--secondary mr-1 mb-1"&gt;architecture&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/performance/" class="Label Label--secondary mr-1 mb-1"&gt;performance&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://avi.im/blag/2024/sqlite-past-present-future" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/15/images/1055999662.webp" alt="How bloom filters made SQLite 10x faster - blag" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://avi.im/blag/2024/sqlite-past-present-future" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;How bloom filters made SQLite 10x faster - blag&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-02-26"&gt;Saved on 2025-02-26&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;avi.im&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;This is the fascinating story of how researchers used Bloom filters cleverly to make SQLite 10x faster for analytical queries. These are my five-minute notes on the paper SQLite: Past, Present, and Future&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/database/" class="Label Label--secondary mr-1 mb-1"&gt;database&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/performance/" class="Label Label--secondary mr-1 mb-1"&gt;performance&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://www.figma.com/blog/keeping-figma-fast" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/15/images/1055999661.png" alt="Keeping Figma Fast | Figma Blog" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://www.figma.com/blog/keeping-figma-fast" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Keeping Figma Fast | Figma Blog&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-02-26"&gt;Saved on 2025-02-26&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;figma.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;When a laptop crashed in an empty office, we knew it was time to overhaul our performance testing framework.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/performance/" class="Label Label--secondary mr-1 mb-1"&gt;performance&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://www.workingsoftware.dev/software-architecture-documentation-the-ultimate-guide" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/15/images/1055999660.png" alt="The Ultimate Guide To Software Architecture Documentation" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://www.workingsoftware.dev/software-architecture-documentation-the-ultimate-guide" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The Ultimate Guide To Software Architecture Documentation&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-02-26"&gt;Saved on 2025-02-26&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;workingsoftware.dev&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;This guide shows you how to write, structure, visualize and manage software architecture documentation in a lean way using appropriate documentation tools.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://www.cosive.com/blog/my-washing-machine-refreshed-my-thinking-on-software-effort-estimation" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/15/images/1055999659.webp" alt="My Washing Machine Refreshed My Thinking on Software Effort Estimation — Cosive" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://www.cosive.com/blog/my-washing-machine-refreshed-my-thinking-on-software-effort-estimation" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;My Washing Machine Refreshed My Thinking on Software Effort Estimation — Cosive&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-02-20"&gt;Saved on 2025-02-20&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;cosive.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;I recently had a saga with a washing machine that reminded me why one of the most feared and hated tasks for software developers starts with the question: “So how long will it take you to build that?”&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/agile/" class="Label Label--secondary mr-1 mb-1"&gt;agile&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://cefboud.com/posts/exploring-kafka-internals" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/15/images/1055999658.png" alt="Exploring Apache Kafka Internals and Codebase | Moncef Abboud" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://cefboud.com/posts/exploring-kafka-internals" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Exploring Apache Kafka Internals and Codebase | Moncef Abboud&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-02-20"&gt;Saved on 2025-02-20&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;cefboud.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Trying to dig into the Apache Kafka codebase and make some sense of it.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/code/" class="Label Label--secondary mr-1 mb-1"&gt;code&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://explaining.software/archive/the-sudoku-affair" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/15/images/1055999657.png" alt="the sudoku affair • Buttondown" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://explaining.software/archive/the-sudoku-affair" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;the sudoku affair • Buttondown&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-02-20"&gt;Saved on 2025-02-20&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;explaining.software&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Software design is a deliberate process, and requires deliberate effort.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/code/" class="Label Label--secondary mr-1 mb-1"&gt;code&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://www.riotgames.com/en/news/evolution-security-riot" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/images/bookmark-placeholder.jpg" alt="The Evolution of Security at Riot | Riot Games Technology" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://www.riotgames.com/en/news/evolution-security-riot" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The Evolution of Security at Riot | Riot Games Technology&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-02-17"&gt;Saved on 2025-02-17&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;riotgames.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Hey folks! We’re Mark Hillick, Jason Clark, and David Rook from the Riot Security team and we’re here to discuss how the security program at Riot has evolved over the last 4 years.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/gaming/" class="Label Label--secondary mr-1 mb-1"&gt;gaming&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://www.riotgames.com/en/news/welcome-death-dimension" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/images/bookmark-placeholder.jpg" alt="Welcome to the Death Dimension | Riot Games Technology" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://www.riotgames.com/en/news/welcome-death-dimension" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Welcome to the Death Dimension | Riot Games Technology&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-02-17"&gt;Saved on 2025-02-17&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;riotgames.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;It&amp;#39;s time for a trip to a new dimension!&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/gaming/" class="Label Label--secondary mr-1 mb-1"&gt;gaming&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://www.riotgames.com/en/news/story-fog-and-war" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/images/bookmark-placeholder.jpg" alt="A Story of Fog and War | Riot Games Technology" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://www.riotgames.com/en/news/story-fog-and-war" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;A Story of Fog and War | Riot Games Technology&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-02-17"&gt;Saved on 2025-02-17&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;riotgames.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;http://riot.com/1NvPXyT #RiotTechBlog&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/gaming/" class="Label Label--secondary mr-1 mb-1"&gt;gaming&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://www.riotgames.com/en/news/riots-approach-anti-cheat" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/images/bookmark-placeholder.jpg" alt="Riot&amp;#39;s Approach to Anti-Cheat | Riot Games Technology" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://www.riotgames.com/en/news/riots-approach-anti-cheat" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Riot&amp;#39;s Approach to Anti-Cheat | Riot Games Technology&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-02-17"&gt;Saved on 2025-02-17&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;riotgames.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;https://riot.com/2mgcpBj #RiotTechBlog&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/gaming/" class="Label Label--secondary mr-1 mb-1"&gt;gaming&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://www.leagueoflegends.com/en-us/news/dev/dev-null-anti-cheat-kernel-driver" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/15/images/1055999652.webp" alt="/dev/null: Anti-Cheat Kernel Driver" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://www.leagueoflegends.com/en-us/news/dev/dev-null-anti-cheat-kernel-driver" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;/dev/null: Anti-Cheat Kernel Driver&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-02-17"&gt;Saved on 2025-02-17&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;leagueoflegends.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;We’re protecting some of Riot’s upcoming games with new anti-cheat systems.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/gaming/" class="Label Label--secondary mr-1 mb-1"&gt;gaming&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://www.robinwieruch.de/javascript-monorepos" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/images/bookmark-placeholder.jpg" alt="Monorepos in JavaScript &amp;amp; TypeScript" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://www.robinwieruch.de/javascript-monorepos" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Monorepos in JavaScript &amp;amp; TypeScript&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-02-15"&gt;Saved on 2025-02-15&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;robinwieruch.de&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;A tutorial how to use a monorepo architecture in frontend JavaScript and TypeScript with tools like npm/yarn/pnpm workspaces, Turborepo/NX/Lerna, Git Submodules, ...&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/javascript/" class="Label Label--secondary mr-1 mb-1"&gt;javascript&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://samwho.dev/memory-allocation" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/15/images/1055999650.png" alt="Memory Allocation" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://samwho.dev/memory-allocation" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Memory Allocation&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-02-03"&gt;Saved on 2025-02-03&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;samwho.dev&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;A visual introduction to memory allocation.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://blog.codepipes.com/testing/software-testing-antipatterns.html" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/15/images/1055999649.webp" alt="Software Testing Anti-patterns · Codepipes Blog" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://blog.codepipes.com/testing/software-testing-antipatterns.html" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Software Testing Anti-patterns · Codepipes Blog&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-02-03"&gt;Saved on 2025-02-03&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;blog.codepipes.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/testing/" class="Label Label--secondary mr-1 mb-1"&gt;testing&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://staysaasy.com/leadership/2024/03/12/Getting-Things-Done.html" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/15/images/1055999648.jpg" alt="Getting Things Done In A Chaotic Environment | Stay SaaSy" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://staysaasy.com/leadership/2024/03/12/Getting-Things-Done.html" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Getting Things Done In A Chaotic Environment | Stay SaaSy&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-02-03"&gt;Saved on 2025-02-03&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;staysaasy.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Have one main focus and keep it that way.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/management/" class="Label Label--secondary mr-1 mb-1"&gt;management&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://stackoverflow.blog/2025/01/22/why-all-developers-should-adopt-a-safety-critical-mindset" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/15/images/1055999647.png" alt="Why all developers should adopt a safety-critical mindset - Stack Overflow" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://stackoverflow.blog/2025/01/22/why-all-developers-should-adopt-a-safety-critical-mindset" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Why all developers should adopt a safety-critical mindset - Stack Overflow&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-02-03"&gt;Saved on 2025-02-03&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;stackoverflow.blog&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/career/" class="Label Label--secondary mr-1 mb-1"&gt;career&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://www.riotgames.com/en/news/valorant-shaders-and-gameplay-clarity" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/images/bookmark-placeholder.jpg" alt="VALORANT Shaders and Gameplay Clarity" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://www.riotgames.com/en/news/valorant-shaders-and-gameplay-clarity" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;VALORANT Shaders and Gameplay Clarity&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-01-27"&gt;Saved on 2025-01-27&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;riotgames.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;VALORANT had three graphics priorities - competitive integrity, high performance, and a sweet art style. This article describes how we balanced these pillars by using cool shader techniques and a collaborative team philosophy.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/games/" class="Label Label--secondary mr-1 mb-1"&gt;games&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://www.riotgames.com/en/news/demolishing-wallhacks-valorants-fog-war" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/images/bookmark-placeholder.jpg" alt="Demolishing Wallhacks with VALORANT&amp;#39;s Fog of War" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://www.riotgames.com/en/news/demolishing-wallhacks-valorants-fog-war" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Demolishing Wallhacks with VALORANT&amp;#39;s Fog of War&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-01-27"&gt;Saved on 2025-01-27&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;riotgames.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Anti-cheat lead Paul Chamberlain walks us through the technical guts of Fog of War, VALORANT&amp;#39;s anti-wallhack system.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/games/" class="Label Label--secondary mr-1 mb-1"&gt;games&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&lt;/p&gt;&#10;&lt;/div&gt;</description></item><item><title>Bookmarks from 2025</title><link>https://blog.maceage.com/bookmarks/years/2025/page/8/</link><pubDate>Wed, 31 Dec 2025 03:59:58 +0000</pubDate><guid>https://blog.maceage.com/bookmarks/years/2025/page/8/</guid><description>&lt;p&gt;191 bookmarks from 2025&lt;/p&gt;&#10;&lt;div class="Box"&gt;&#10;&lt;p&gt;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://leaddev.com/reporting/flawed-five-engineering-productivity-metrics" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/15/images/1055999644.png" alt="Five Flawed Productivity Metrics" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://leaddev.com/reporting/flawed-five-engineering-productivity-metrics" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Five Flawed Productivity Metrics&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-01-26"&gt;Saved on 2025-01-26&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;leaddev.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Which commonly-used metrics aren&amp;#39;t working and why?&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/leadership/" class="Label Label--secondary mr-1 mb-1"&gt;leadership&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/management/" class="Label Label--secondary mr-1 mb-1"&gt;management&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://www.riotgames.com/en/news/valorants-128-tick-servers" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/images/bookmark-placeholder.jpg" alt="VALORANT&amp;#39;s 128-Tick Servers | Riot Games Technology" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://www.riotgames.com/en/news/valorants-128-tick-servers" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;VALORANT&amp;#39;s 128-Tick Servers | Riot Games Technology&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-01-26"&gt;Saved on 2025-01-26&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;riotgames.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Engineer Brent Randall tells the technical story behind VALORANT&amp;#39;s search for optimal server performance.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/games/" class="Label Label--secondary mr-1 mb-1"&gt;games&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/programming/" class="Label Label--secondary mr-1 mb-1"&gt;programming&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://www.riotgames.com/en/news/peeking-valorants-netcode" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/images/bookmark-placeholder.jpg" alt="Peeking into VALORANT&amp;#39;s Netcode | Riot Games Technology" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://www.riotgames.com/en/news/peeking-valorants-netcode" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Peeking into VALORANT&amp;#39;s Netcode | Riot Games Technology&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-01-26"&gt;Saved on 2025-01-26&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;riotgames.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Take a peek behind the scenes of VALORANT&amp;#39;s netcode.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/games/" class="Label Label--secondary mr-1 mb-1"&gt;games&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/programming/" class="Label Label--secondary mr-1 mb-1"&gt;programming&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://www.atlassian.com/blog/teamwork/assertive-communication" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/15/images/1055999641.jpg" alt="Assertive communication: What it is and how to do it well - Work Life by Atlassian" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://www.atlassian.com/blog/teamwork/assertive-communication" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Assertive communication: What it is and how to do it well - Work Life by Atlassian&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-01-26"&gt;Saved on 2025-01-26&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;atlassian.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Assertive communication helps you express your thoughts and feelings while still being respectful of others. Here’s why it matters and how to get it right.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/leadership/" class="Label Label--secondary mr-1 mb-1"&gt;leadership&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/management/" class="Label Label--secondary mr-1 mb-1"&gt;management&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://jacobian.org/2024/feb/7/tracking-engineering-time" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/16/images/1055999640.png" alt="Tracking Engineering Time - Jacob Kaplan-Moss" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://jacobian.org/2024/feb/7/tracking-engineering-time" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Tracking Engineering Time - Jacob Kaplan-Moss&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-01-07"&gt;Saved on 2025-01-07&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;jacobian.org&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;How do you understand what engineers are doing with that time? How do you know if they’re working on the “right” things? Here’s how I suggest answering those questions.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/career/" class="Label Label--secondary mr-1 mb-1"&gt;career&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/leadership/" class="Label Label--secondary mr-1 mb-1"&gt;leadership&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/management/" class="Label Label--secondary mr-1 mb-1"&gt;management&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://simonwillison.net/2024/Dec/31/llms-in-2024" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/16/images/1055999639.jpg" alt="Things we learned about LLMs in 2024" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://simonwillison.net/2024/Dec/31/llms-in-2024" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Things we learned about LLMs in 2024&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-01-07"&gt;Saved on 2025-01-07&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;simonwillison.net&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;A lot has happened in the world of Large Language Models over the course of 2024. Here’s a review of things we figured out about the field in the past …&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/ai/" class="Label Label--secondary mr-1 mb-1"&gt;ai&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://lethain.com/doing-it-harder-and-hero-programming" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/16/images/1055999638.png" alt="Kill Your Heroes, Stop Doing it Harder | Irrational Exuberance" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://lethain.com/doing-it-harder-and-hero-programming" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Kill Your Heroes, Stop Doing it Harder | Irrational Exuberance&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-01-06"&gt;Saved on 2025-01-06&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;lethain.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;One of the most destructive ideas is that you can dig out of a hole by doing what you’re already doing, but doing it harder. This doesn’t work, but it does breed and kill your heroes, and alienate everyone else.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/career/" class="Label Label--secondary mr-1 mb-1"&gt;career&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/management/" class="Label Label--secondary mr-1 mb-1"&gt;management&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://newsletter.getdx.com/p/choosing-engineering-metrics" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/16/images/1055999636.jpg" alt="Three-Bucket Framework for Engineering Metrics" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://newsletter.getdx.com/p/choosing-engineering-metrics" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Three-Bucket Framework for Engineering Metrics&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-01-06"&gt;Saved on 2025-01-06&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;newsletter.getdx.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Deciding what metrics to track and report to stakeholders.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/career/" class="Label Label--secondary mr-1 mb-1"&gt;career&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/management/" class="Label Label--secondary mr-1 mb-1"&gt;management&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://mcilloni.ovh/2023/07/23/unicode-is-hard" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/16/images/1055999635.webp" alt="Unicode is harder than you think · mcilloni&amp;#39;s blog" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://mcilloni.ovh/2023/07/23/unicode-is-hard" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Unicode is harder than you think · mcilloni&amp;#39;s blog&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-01-06"&gt;Saved on 2025-01-06&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;mcilloni.ovh&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/history/" class="Label Label--secondary mr-1 mb-1"&gt;history&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://tratt.net/laurie/blog/2023/four_kinds_of_optimisation.html" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/16/images/1055999634.webp" alt="Laurence Tratt: Four Kinds of Optimisation" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://tratt.net/laurie/blog/2023/four_kinds_of_optimisation.html" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Laurence Tratt: Four Kinds of Optimisation&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-01-06"&gt;Saved on 2025-01-06&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;tratt.net&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/performance/" class="Label Label--secondary mr-1 mb-1"&gt;performance&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/code/" class="Label Label--secondary mr-1 mb-1"&gt;code&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/algorithms/" class="Label Label--secondary mr-1 mb-1"&gt;algorithms&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://www.developing.dev/p/new-grad-to-staff-at-meta-in-3-years" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/16/images/1055999633.jpg" alt="New Grad to Staff at Meta in 3 years: Evan King" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://www.developing.dev/p/new-grad-to-staff-at-meta-in-3-years" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;New Grad to Staff at Meta in 3 years: Evan King&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-01-06"&gt;Saved on 2025-01-06&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;developing.dev&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;On Speed, Being Bold, and Depositing Into the “Favor Bank”&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/career/" class="Label Label--secondary mr-1 mb-1"&gt;career&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/leadership/" class="Label Label--secondary mr-1 mb-1"&gt;leadership&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://stackoverflow.blog/2024/12/10/it-s-not-what-you-know-it-s-how-you-know-you-know-it" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/16/images/1055999632.png" alt="It’s not what you know, it’s how you know you know it - Stack Overflow" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://stackoverflow.blog/2024/12/10/it-s-not-what-you-know-it-s-how-you-know-you-know-it" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;It’s not what you know, it’s how you know you know it - Stack Overflow&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-01-04"&gt;Saved on 2025-01-04&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;stackoverflow.blog&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://lukaspetr.com/15-lessons-from-15-years-of-indie-app-development" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/images/bookmark-placeholder.jpg" alt="15 Lessons From 15 Years of Indie App Development" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://lukaspetr.com/15-lessons-from-15-years-of-indie-app-development" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;15 Lessons From 15 Years of Indie App Development&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-01-04"&gt;Saved on 2025-01-04&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;lukaspetr.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Exactly 15 years ago on November 9th, 2009, I got my first MacBook and started learning how to build apps. I was fascinated with the idea that you can build something that other people will find useful and enjoy using. I also heard about those &amp;#34;indie developers&amp;#34; on Twitter who&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://injuly.in/blog/announcing-jam/index.html" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/16/images/1055999630.webp" alt="Why am I writing a JavaScript toolchain in Zig?" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://injuly.in/blog/announcing-jam/index.html" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Why am I writing a JavaScript toolchain in Zig?&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-01-04"&gt;Saved on 2025-01-04&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;injuly.in&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Announcing the existence of Jam – An robust JS toolchain in Zig&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/code/" class="Label Label--secondary mr-1 mb-1"&gt;code&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/javascript/" class="Label Label--secondary mr-1 mb-1"&gt;javascript&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://stackoverflow.blog/2024/12/05/four-approaches-to-creating-a-specialized-llm" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/16/images/1055999629.png" alt="Four approaches to creating a specialized LLM - Stack Overflow" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://stackoverflow.blog/2024/12/05/four-approaches-to-creating-a-specialized-llm" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Four approaches to creating a specialized LLM - Stack Overflow&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-01-04"&gt;Saved on 2025-01-04&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;stackoverflow.blog&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/ai/" class="Label Label--secondary mr-1 mb-1"&gt;ai&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://errorprone.info/docs/time" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/16/images/1055999628.webp" alt="How to Think About Time" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://errorprone.info/docs/time" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;How to Think About Time&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2025/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2025-01-04"&gt;Saved on 2025-01-04&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;errorprone.info&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/science/" class="Label Label--secondary mr-1 mb-1"&gt;science&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&lt;/p&gt;&#10;&lt;/div&gt;</description></item></channel></rss>