<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Bookmarks tagged “programming” on Maceage's Blog</title><link>https://blog.maceage.com/bookmarks/tags/programming/</link><description>Recent content in Bookmarks tagged “programming” on Maceage's Blog</description><generator>Hugo</generator><language>en-au</language><copyright>© Graham Mace</copyright><lastBuildDate>Fri, 23 Oct 2026 06:30:41 +0000</lastBuildDate><atom:link href="https://blog.maceage.com/bookmarks/tags/programming/index.xml" rel="self" type="application/rss+xml"/><item><title>Bookmarks tagged “programming”</title><link>https://blog.maceage.com/bookmarks/tags/programming/page/10/</link><pubDate>Fri, 23 Oct 2026 06:30:41 +0000</pubDate><guid>https://blog.maceage.com/bookmarks/tags/programming/page/10/</guid><description>&lt;p&gt;342 bookmarks tagged “programming”&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://www.smashingmagazine.com/2021/02/building-discord-bot-discordjs" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/33/images/1055999128.jpg" alt="Building A Discord Bot Using Discord.js — Smashing Magazine" 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.smashingmagazine.com/2021/02/building-discord-bot-discordjs" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Building A Discord Bot Using Discord.js — Smashing Magazine&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; &lt;time datetime="2022-10-16"&gt;Saved on 2022-10-16&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;smashingmagazine.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;An introduction to building a Discord bot using the Discord.js module. The bot will share random jokes, assign or revoke user roles, and post tweets of a specific account to a Discord channel. In this article, Subha Chanda will showu you how to build a bot from scratch using Java&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/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.freecodecamp.org/news/microprocessors-romance-with-integers" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/33/images/1055999102.jpg" alt="Microprocessor&amp;#39;s Romance With Negative Integers – The How and Why of CPU Ar" 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.freecodecamp.org/news/microprocessors-romance-with-integers" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Microprocessor&amp;#39;s Romance With Negative Integers – The How and Why of CPU Ar&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; &lt;time datetime="2022-10-16"&gt;Saved on 2022-10-16&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;freecodecamp.org&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;By Vivek Agrawal One of the first things we learn about computers is that they only understand 0s and 1s, or bits. We humans, on the other hand, communicate numbers via the decimal system. This system uses digits from 0 to 9 along with plus and minu...&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://stackoverflow.blog/2021/02/22/choosing-java-instead-of-c-for-low-latency-systems" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/33/images/1055999135.png" alt="Choosing Java instead of C for low-latency systems - Stack Overflow 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://stackoverflow.blog/2021/02/22/choosing-java-instead-of-c-for-low-latency-systems" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Choosing Java instead of C for low-latency systems - Stack Overflow 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; &lt;time datetime="2022-10-16"&gt;Saved on 2022-10-16&lt;/time&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; &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.hanselman.com/blog/looking-back-on-software-development-in-2020-and-forward-to-2021" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/images/bookmark-placeholder.jpg" alt="Looking back on Software Development in 2020 and forward to 2021 - Scott Ha" 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.hanselman.com/blog/looking-back-on-software-development-in-2020-and-forward-to-2021" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Looking back on Software Development in 2020 and forward to 2021 - Scott Ha&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; &lt;time datetime="2022-10-16"&gt;Saved on 2022-10-16&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;hanselman.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;I think we can all agree 2020 sucked. Hopefully 2021 will be better. I&amp;#39;ve been ...&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/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://devblogs.microsoft.com/dotnet/performance_improvements_in_net_7" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/34/images/1055999306.png" alt="Performance Improvements in .NET 7 - .NET 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://devblogs.microsoft.com/dotnet/performance_improvements_in_net_7" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Performance Improvements in .NET 7 - .NET 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; &lt;time datetime="2022-09-02"&gt;Saved on 2022-09-02&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;devblogs.microsoft.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;.NET 7 is fast. Really fast. This post deep-dives into hundreds of performance improvements that contributed to that reality.&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://pomb.us/build-your-own-react" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/34/images/1055999200.png" alt="Build your own React" 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://pomb.us/build-your-own-react" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Build your own React&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; &lt;time datetime="2022-08-24"&gt;Saved on 2022-08-24&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;pomb.us&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;We are going to rewrite React from scratch. Step by step. Following the architecture from the real React code but without 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/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/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://medium.com/edge-coders/software-engineering-is-different-from-programming-b108c135af26" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/34/images/1055997752.png" alt="Software Engineering is different from Programming | by Samer Buna | EdgeCo" 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/edge-coders/software-engineering-is-different-from-programming-b108c135af26" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Software Engineering is different from Programming | by Samer Buna | EdgeCo&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; &lt;time datetime="2022-08-23"&gt;Saved on 2022-08-23&lt;/time&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;Some people don’t like the term Software Engineer because of the engineering metaphor. This article is not about that term. If you don’t like it you can substitute it with Software Author, Software…&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://arjunsreedharan.org/post/82710718100/kernels-101-lets-write-a-kernel" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/images/bookmark-placeholder.jpg" alt="Kernels 101 – Let’s write a Kernel - Arjun Sreedharan" 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://arjunsreedharan.org/post/82710718100/kernels-101-lets-write-a-kernel" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Kernels 101 – Let’s write a Kernel - Arjun Sreedharan&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; &lt;time datetime="2022-08-22"&gt;Saved on 2022-08-22&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;arjunsreedharan.org&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Hello World, Let us write a simple kernel which could be loaded with the GRUB bootloader on an x86 system. This kernel will display a message on the screen and then hang.   How does an x86 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/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://medium.com/message/the-great-works-of-software-705b87339971" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/34/images/1055997526.jpg" alt="The Great Works of Software | by Paul Ford | The Message | 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/message/the-great-works-of-software-705b87339971" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The Great Works of Software | by Paul Ford | The Message | 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; &lt;time datetime="2022-08-22"&gt;Saved on 2022-08-22&lt;/time&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;Is it possible to propose a software canon? To enumerate great works of software that are deeply influential—that changed the nature of the code that followed? Canons emerge over time, as certain…&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://www.chiark.greenend.org.uk/~sgtatham/cdescent" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/35/images/1055997519.webp" alt="The Descent to 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://www.chiark.greenend.org.uk/~sgtatham/cdescent" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The Descent to 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; &lt;time datetime="2022-04-27"&gt;Saved on 2022-04-27&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;chiark.greenend.org.uk&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; &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.com/questions/51390971/im-lost-what-happened-to-asp-net-mvc-5/51391202#51391202" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/images/bookmark-placeholder.jpg" alt=".net - I&amp;#39;m lost. What happened to ASP.NET MVC 5? - 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.com/questions/51390971/im-lost-what-happened-to-asp-net-mvc-5/51391202#51391202" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;.net - I&amp;#39;m lost. What happened to ASP.NET MVC 5? - 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; &lt;time datetime="2021-05-19"&gt;Saved on 2021-05-19&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;stackoverflow.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/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/dotnet/" class="Label Label--secondary mr-1 mb-1"&gt;dotnet&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://eddiewould.com/2021/28/28/handling-rejected-promises-error-boundary-react" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/35/images/1055999141.webp" alt="Handling rejected promises in React with an error boundary – eddiewould.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://eddiewould.com/2021/28/28/handling-rejected-promises-error-boundary-react" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Handling rejected promises in React with an error boundary – eddiewould.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; &lt;time datetime="2021-04-11"&gt;Saved on 2021-04-11&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;eddiewould.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Treat unhandled promise rejections (exceptions in async code) consistently with regular synchronous exceptions in React.&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/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://dev.to/quantone/how-to-run-vs-code-as-a-container-for-remote-development-2ng3" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/35/images/1055999082.webp" alt="How to run VS Code as a Container for Remote Development - DEV Community" 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://dev.to/quantone/how-to-run-vs-code-as-a-container-for-remote-development-2ng3" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;How to run VS Code as a Container for Remote Development - DEV Community&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; &lt;time datetime="2021-03-02"&gt;Saved on 2021-03-02&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;dev.to&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Launch your own Code Server container with preloaded dev tools (SDKs, npm packages, CLIs etc) for an...&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://christianheilmann.com/2021/01/21/teaching-html-and-css" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/35/images/1055999093.webp" alt="HTML and CSS still isn’t about painting with code | Christian Heilmann" 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://christianheilmann.com/2021/01/21/teaching-html-and-css" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;HTML and CSS still isn’t about painting with code | Christian Heilmann&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; &lt;time datetime="2021-03-02"&gt;Saved on 2021-03-02&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;christianheilmann.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/css/" class="Label Label--secondary mr-1 mb-1"&gt;css&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; &#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://dev.to/autonomousapps/build-compile-run-a-crash-course-in-classpaths-f4g" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/35/images/1055999083.webp" alt="Build, compile, run: A crash course in classpaths - DEV Community" 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://dev.to/autonomousapps/build-compile-run-a-crash-course-in-classpaths-f4g" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Build, compile, run: A crash course in classpaths - DEV Community&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; &lt;time datetime="2021-02-25"&gt;Saved on 2021-02-25&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;dev.to&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Wherein we learn about the various classpaths important in building and running your Java/Kotlin/Android projects&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://buymeacoffee.com/imreg/creating-pomodoro-app-open-source-tools" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/images/bookmark-placeholder.jpg" alt="Creating a pomodoro app with open-source tools — Imre" 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://buymeacoffee.com/imreg/creating-pomodoro-app-open-source-tools" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Creating a pomodoro app with open-source tools — Imre&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; &lt;time datetime="2021-02-25"&gt;Saved on 2021-02-25&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;buymeacoffee.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Post by Imre Gera&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/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; &#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/2021/02/01/program-bb-basic-with-a-twitter-bot" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/36/images/1055999117.png" alt="Learn to program BASIC with a Twitter bot - Stack Overflow 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://stackoverflow.blog/2021/02/01/program-bb-basic-with-a-twitter-bot" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Learn to program BASIC with a Twitter bot - Stack Overflow 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; &lt;time datetime="2021-02-23"&gt;Saved on 2021-02-23&lt;/time&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; &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.smashingmagazine.com/2021/02/things-you-can-do-with-css-today" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/36/images/1055999105.jpg" alt="Things You Can Do With CSS Today — Smashing Magazine" 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.smashingmagazine.com/2021/02/things-you-can-do-with-css-today" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Things You Can Do With CSS Today — Smashing Magazine&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; &lt;time datetime="2021-02-23"&gt;Saved on 2021-02-23&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;smashingmagazine.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;The present and future of CSS are very bright indeed and if you take a pragmatic, progressive approach to your CSS, then things will continue to get better and better on your projects, too. Some of the really handy powers CSS gives you might have slipped you by, so in this articl&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://stemhash.com/how-to-find-the-nth-prime-number" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/36/images/1055999016.webp" alt="How to Find the *N*th Prime Number - STEM hash" 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://stemhash.com/how-to-find-the-nth-prime-number" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;How to Find the *N*th Prime Number - STEM hash&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; &lt;time datetime="2021-02-23"&gt;Saved on 2021-02-23&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;stemhash.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/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/python/" class="Label Label--secondary mr-1 mb-1"&gt;python&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.nature.com/articles/d41586-020-03382-2" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/36/images/1055999066.jpg" alt="Why scientists are turning to Rust" 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.nature.com/articles/d41586-020-03382-2" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Why scientists are turning to Rust&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; &lt;time datetime="2021-02-23"&gt;Saved on 2021-02-23&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;nature.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Despite having a steep learning curve, the programming language offers speed and safety.&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://jacobdoescode.com/2020/12/30/super-optimised-static-sites" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/36/images/1055999081.webp" alt="Super Optimised Static Sites" 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://jacobdoescode.com/2020/12/30/super-optimised-static-sites" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Super Optimised Static Sites&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; &lt;time datetime="2021-02-23"&gt;Saved on 2021-02-23&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;jacobdoescode.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/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/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://blog.waleedkhan.name/union-vs-sum-types" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/36/images/1055999109.webp" alt="Null-tracking, or the difference between union and sum types" 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.waleedkhan.name/union-vs-sum-types" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Null-tracking, or the difference between union and sum types&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; &lt;time datetime="2021-02-05"&gt;Saved on 2021-02-05&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;blog.waleedkhan.name&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Functional programming features have been making their way into mainstreamlanguages lately, such as with new programming languages like Scala and Rust, ornew...&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/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://linus.coffee/note/no-code" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/36/images/1055999004.webp" alt="When is no-code useful? | linus.coffee" 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://linus.coffee/note/no-code" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;When is no-code useful? | linus.coffee&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; &lt;time datetime="2021-01-23"&gt;Saved on 2021-01-23&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;linus.coffee&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; &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://dev.to/pepopowitz/generating-social-sharing-images-in-eleventy-1ikm" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/37/images/1055999075.jpg" alt="Generating Social Sharing Images In Eleventy - DEV Community" 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://dev.to/pepopowitz/generating-social-sharing-images-in-eleventy-1ikm" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Generating Social Sharing Images In Eleventy - DEV Community&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; &lt;time datetime="2021-01-16"&gt;Saved on 2021-01-16&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;dev.to&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Standing on the shoulders of giants makes it possible to generate social sharing images for your static site with very little code.&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/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://medium.com/codingblackfemales/spotify-music-taste-analysis-project-edd94c6a0f4e" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/37/images/1055999067.png" alt="Spotify Music Taste Analysis Project | by baileigh cordice | CodingBlackFem" 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/codingblackfemales/spotify-music-taste-analysis-project-edd94c6a0f4e" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Spotify Music Taste Analysis Project | by baileigh cordice | CodingBlackFem&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; &lt;time datetime="2021-01-16"&gt;Saved on 2021-01-16&lt;/time&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;There aren’t enough words in the English language to describe how different my two friends (Elizabeth and Maya) music tastes are. This made me wonder a few things: In this article, I will be…&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/python/" class="Label Label--secondary mr-1 mb-1"&gt;python&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;&lt;/p&gt;&#10;&lt;/div&gt;</description></item><item><title>Bookmarks tagged “programming”</title><link>https://blog.maceage.com/bookmarks/tags/programming/page/11/</link><pubDate>Fri, 23 Oct 2026 06:30:41 +0000</pubDate><guid>https://blog.maceage.com/bookmarks/tags/programming/page/11/</guid><description>&lt;p&gt;342 bookmarks tagged “programming”&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://github.com/goldbergyoni/nodebestpractices" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/37/images/1055997802.png" alt="goldbergyoni/nodebestpractices: The Node.js best practices list (January 20" 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://github.com/goldbergyoni/nodebestpractices" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;goldbergyoni/nodebestpractices: The Node.js best practices list (January 20&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; &lt;time datetime="2021-01-15"&gt;Saved on 2021-01-15&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;github.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;:white_check_mark: The Node.js best practices list (July 2024) - goldbergyoni/nodebestpractices&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/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://utopia.fyi/blog/clamp" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/37/images/1055998999.png" alt="Clamp | Utopia" 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://utopia.fyi/blog/clamp" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Clamp | Utopia&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; &lt;time datetime="2021-01-15"&gt;Saved on 2021-01-15&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;utopia.fyi&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; &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.kalzumeus.com/2011/10/28/dont-call-yourself-a-programmer" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/38/images/1055997475.webp" alt="Don&amp;#39;t Call Yourself A Programmer, And Other Career Advice | Kalzumeus Softw" 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.kalzumeus.com/2011/10/28/dont-call-yourself-a-programmer" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Don&amp;#39;t Call Yourself A Programmer, And Other Career Advice | Kalzumeus Softw&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; &lt;time datetime="2020-12-08"&gt;Saved on 2020-12-08&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;kalzumeus.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/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/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://solovyov.net/blog/2020/a-tale-of-webpage-speed-or-throwing-away-react" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/38/images/1055998969.png" alt="A tale of webpage speed, or throwing away React" 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://solovyov.net/blog/2020/a-tale-of-webpage-speed-or-throwing-away-react" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;A tale of webpage speed, or throwing away React&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; &lt;time datetime="2020-11-11"&gt;Saved on 2020-11-11&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;solovyov.net&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Back in 2011, I happened to get a job writing Backbone.js app. If you never did that, don’t. I was complaining about difficulties with composition left and right to [...]&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/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://dev.to/luistak/cross-micro-frontends-communication-30m3" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/39/images/1055999011.webp" alt="⚔️ Cross micro frontends communication ? - 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://dev.to/luistak/cross-micro-frontends-communication-30m3" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;⚔️ Cross micro frontends communication ? - 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; &lt;time datetime="2020-10-29"&gt;Saved on 2020-10-29&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;dev.to&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;In this article, I&amp;#39;m going to explain some ways to communicate between multiple applications and a pa...&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/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/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/2020/10/05/play-the-long-game-when-learning-to-code" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/39/images/1055999014.png" alt="Play the long game when learning to code. - Stack Overflow 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://stackoverflow.blog/2020/10/05/play-the-long-game-when-learning-to-code" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Play the long game when learning to code. - Stack Overflow 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; &lt;time datetime="2020-10-26"&gt;Saved on 2020-10-26&lt;/time&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/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://dev.to/rahul_ramfort/why-do-microservices-need-an-api-gateway-503i" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/39/images/1055999002.jpg" alt="Why do microservices need an API Gateway? - 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://dev.to/rahul_ramfort/why-do-microservices-need-an-api-gateway-503i" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Why do microservices need an API Gateway? - 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; &lt;time datetime="2020-10-25"&gt;Saved on 2020-10-25&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;dev.to&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;API Gateways are becoming increasingly popular with the microservice architecture. Recently, Google a...&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://stackoverflow.blog/2020/08/24/motoko-the-language-that-turns-the-web-into-a-computer" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/40/images/1055998972.png" alt="Motoko, a programming language for building directly on the internet - Stac" 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/2020/08/24/motoko-the-language-that-turns-the-web-into-a-computer" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Motoko, a programming language for building directly on the internet - Stac&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; &lt;time datetime="2020-10-25"&gt;Saved on 2020-10-25&lt;/time&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; &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/tech-policy/2020/10/google-asks-supreme-court-to-overrule-disastrous-ruling-on-api-copyrights" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/40/images/1055999006.jpg" alt="The Supreme Court hears Oracle v. Google tomorrow—here’s what’s at stake |" 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/2020/10/google-asks-supreme-court-to-overrule-disastrous-ruling-on-api-copyrights" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The Supreme Court hears Oracle v. Google tomorrow—here’s what’s at stake |&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; &lt;time datetime="2020-10-08"&gt;Saved on 2020-10-08&lt;/time&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;The Supreme Court could decide whether APIs can be copyrighted.&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/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/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/2020/09/09/open-source-governance-benevolent-dictator-or-decision-by-committee" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/40/images/1055998986.png" alt="Can one person run an open source project alone? - Stack Overflow 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://stackoverflow.blog/2020/09/09/open-source-governance-benevolent-dictator-or-decision-by-committee" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Can one person run an open source project alone? - Stack Overflow 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; &lt;time datetime="2020-09-30"&gt;Saved on 2020-09-30&lt;/time&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; &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://daverupert.com/2020/09/the-value-of-browser-diversity" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/40/images/1055998980.webp" alt="What is the Value of Browser Diversity? - daverupert.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://daverupert.com/2020/09/the-value-of-browser-diversity" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;What is the Value of Browser Diversity? - daverupert.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; &lt;time datetime="2020-09-30"&gt;Saved on 2020-09-30&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;daverupert.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;In May 2019 I attended a talk by Mike Taylor who works on webcompat at Mozilla. Mike told the sordid story of window.event, a non-standard IE invention that was replicated in Konqueror, which showed up in Webkit, which stuck around in Blink, and was now Mike’s problem in Firefox.&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/2020/09/02/if-everyone-hates-it-why-is-oop-still-so-widely-spread" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/40/images/1055998985.png" alt="If everyone hates it, why is OOP still so widely spread? - Stack Overflow B" 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/2020/09/02/if-everyone-hates-it-why-is-oop-still-so-widely-spread" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;If everyone hates it, why is OOP still so widely spread? - Stack Overflow B&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; &lt;time datetime="2020-09-30"&gt;Saved on 2020-09-30&lt;/time&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; &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/2020/09/16/neural-networks-could-help-computers-code-themselves-do-we-still-need-human-coders" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/40/images/1055998995.png" alt="Neural networks could help computers code themselves: Do we still need huma" 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/2020/09/16/neural-networks-could-help-computers-code-themselves-do-we-still-need-human-coders" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Neural networks could help computers code themselves: Do we still need huma&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; &lt;time datetime="2020-09-30"&gt;Saved on 2020-09-30&lt;/time&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://www.bugsnag.com/blog/using-grpc-in-production" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/42/images/1055997755.png" alt="A gRPC Example: Our experience designing and building gRPC services | Bugsn" 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.bugsnag.com/blog/using-grpc-in-production" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;A gRPC Example: Our experience designing and building gRPC services | Bugsn&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; &lt;time datetime="2020-08-31"&gt;Saved on 2020-08-31&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;bugsnag.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Blog&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/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://artem.krylysov.com/blog/2020/07/28/lets-build-a-full-text-search-engine" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/42/images/1055998949.webp" alt="Let&amp;#39;s build a Full-Text Search engine - Artem Krylysov" 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://artem.krylysov.com/blog/2020/07/28/lets-build-a-full-text-search-engine" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Let&amp;#39;s build a Full-Text Search engine - Artem Krylysov&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; &lt;time datetime="2020-08-25"&gt;Saved on 2020-08-25&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;artem.krylysov.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; &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.cgl.ucsf.edu/Outreach/pc204/NoSilverBullet.html" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/42/images/1055997630.webp" alt="No Silver Bullet" 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.cgl.ucsf.edu/Outreach/pc204/NoSilverBullet.html" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;No Silver Bullet&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; &lt;time datetime="2020-08-11"&gt;Saved on 2020-08-11&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;cgl.ucsf.edu&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/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/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/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://dev.to/github/10-standout-github-profile-readmes-h2o" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/42/images/1055998944.webp" alt="10 Standout GitHub Profile READMEs - 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://dev.to/github/10-standout-github-profile-readmes-h2o" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;10 Standout GitHub Profile READMEs - 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; &lt;time datetime="2020-08-11"&gt;Saved on 2020-08-11&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;dev.to&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;My good friend and colleague @bdougieyo is at Codeland today and is giving away early access to Codes...&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://stackoverflow.blog/2020/07/20/linters-arent-in-your-way-theyre-on-your-side" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/43/images/1055998950.png" alt="Linters aren&amp;#39;t in your way. They&amp;#39;re on your side - Stack Overflow 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://stackoverflow.blog/2020/07/20/linters-arent-in-your-way-theyre-on-your-side" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Linters aren&amp;#39;t in your way. They&amp;#39;re on your side - Stack Overflow 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; &lt;time datetime="2020-08-01"&gt;Saved on 2020-08-01&lt;/time&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/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://iainbean.com/posts/2020/your-blog-doesnt-need-a-javascript-framework" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/43/images/1055997908.png" alt="Your blog doesn’t need a JavaScript framework /// Iain Bean" 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://iainbean.com/posts/2020/your-blog-doesnt-need-a-javascript-framework" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Your blog doesn’t need a JavaScript framework /// Iain Bean&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; &lt;time datetime="2020-08-01"&gt;Saved on 2020-08-01&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;iainbean.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Why I choose Eleventy over Gatsby for my new 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/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://www.red-gate.com/simple-talk/dotnet/net-development/tackle-big-o-notation-in-net-core" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/44/images/1055997901.png" alt="Tackle Big-O Notation in .NET Core - Simple Talk" 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.red-gate.com/simple-talk/dotnet/net-development/tackle-big-o-notation-in-net-core" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Tackle Big-O Notation in .NET Core - Simple Talk&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; &lt;time datetime="2020-06-17"&gt;Saved on 2020-06-17&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;red-gate.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Every computer science student must learn about Big-O Notation, a way to conceptualize algorithm complexity that directly relates to performance of the algorithm. In this article, Camilo Reyes demonstrates how to apply Big-O algorithms to .NET Core 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/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/dotnet/" class="Label Label--secondary mr-1 mb-1"&gt;dotnet&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.infoq.com/news/2020/06/CSharp-9-Null" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/44/images/1055997900.jpg" alt="C# 9: Simplified Parameter Null Validation" 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.infoq.com/news/2020/06/CSharp-9-Null" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;C# 9: Simplified Parameter Null Validation&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; &lt;time datetime="2020-06-17"&gt;Saved on 2020-06-17&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;infoq.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Simplified parameter null validation has been promoted to a C# 9 feature. This narrowly tailored feature reduces the amount of code needed to validate non-null parameters to a single character in 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/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/dotnet/" class="Label Label--secondary mr-1 mb-1"&gt;dotnet&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://bakedbean.org.uk/posts/2020-05-stack-overflow-on-macos" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/44/images/1055997890.png" alt="Bakedbean.org.uk - Developing Stack Overflow on MacOS" 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://bakedbean.org.uk/posts/2020-05-stack-overflow-on-macos" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Bakedbean.org.uk - Developing Stack Overflow on MacOS&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; &lt;time datetime="2020-06-09"&gt;Saved on 2020-06-09&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;bakedbean.org.uk&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;After a whole lot of months in the making we finally finished porting Stack Overflow to .NET Core 3.1 🎉! When you hit any part of Stack Overflow or the wider Stack Exchange network you’re now hitting our main application running on .NET Core behind IIS using the in-process execut&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/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://yogeswaran.home.blog/2019/03/19/web-developer-roadmap-in-2019" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/44/images/1055997749.png" alt="Web Developer Roadmap in 2019 – Yogeswaran" 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://yogeswaran.home.blog/2019/03/19/web-developer-roadmap-in-2019" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Web Developer Roadmap in 2019 – Yogeswaran&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; &lt;time datetime="2020-06-09"&gt;Saved on 2020-06-09&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;yogeswaran.home.blog&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Introduction to Web Development Front-end Development Roadmap Back-end Development Roadmap DevOps Roadmap&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/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/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.christippett.dev/post/bigquery-udfs" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/44/images/1055997889.jpg" alt="Did someone say BigQuery UDFs? I&amp;#39;ll take 10! — Chris Tippett" 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.christippett.dev/post/bigquery-udfs" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Did someone say BigQuery UDFs? I&amp;#39;ll take 10! — Chris Tippett&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; &lt;time datetime="2020-06-03"&gt;Saved on 2020-06-03&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;christippett.dev&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;If you&amp;#39;re not already a fan of BigQuery&amp;#39;s UDFs, you soon will be.&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/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/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.thoughtworks.com/insights/blog/remote-first-behavioural-pattern-product-team-design" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/44/images/1055997894.jpg" alt="Remote-first: A behavioural pattern for product team design | ThoughtWorks" 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.thoughtworks.com/insights/blog/remote-first-behavioural-pattern-product-team-design" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Remote-first: A behavioural pattern for product team design | ThoughtWorks&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; &lt;time datetime="2020-06-03"&gt;Saved on 2020-06-03&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;thoughtworks.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Six headphone-wearing tech-workers on a product team sit together in a co-work facility, with an iron-clad rule that states that they must not talk to each other face-to-face at any time. To level the collaboration playing field with their 4 remote team members, they all use Zoom&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/thoughtworks/" class="Label Label--secondary mr-1 mb-1"&gt;thoughtworks&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 tagged “programming”</title><link>https://blog.maceage.com/bookmarks/tags/programming/page/12/</link><pubDate>Fri, 23 Oct 2026 06:30:41 +0000</pubDate><guid>https://blog.maceage.com/bookmarks/tags/programming/page/12/</guid><description>&lt;p&gt;342 bookmarks tagged “programming”&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://www.thoughtworks.com/insights/blog/remote-pairing-cheat-sheet" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/44/images/1055997893.jpg" alt="The Remote Pairing Cheat Sheet | ThoughtWorks" 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.thoughtworks.com/insights/blog/remote-pairing-cheat-sheet" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The Remote Pairing Cheat Sheet | ThoughtWorks&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; &lt;time datetime="2020-06-03"&gt;Saved on 2020-06-03&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;thoughtworks.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;The ongoing global COVID-19 pandemic has pushed the distributed model to the forefront, with remote work becoming the norm, even for teams that are usually co-located. This impacts everything, from an organization’s global footprint, to cultural aspects like prioritising communic&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/thoughtworks/" class="Label Label--secondary mr-1 mb-1"&gt;thoughtworks&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://engineering.fb.com/web/facebook-redesign" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/44/images/1055997881.jpg" alt="Rebuilding our tech stack for a new Facebook.com - Facebook Engineering" 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://engineering.fb.com/web/facebook-redesign" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Rebuilding our tech stack for a new Facebook.com - Facebook Engineering&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; &lt;time datetime="2020-05-25"&gt;Saved on 2020-05-25&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;engineering.fb.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Building a new web app for today’s browsers, we completely rebuilt our tech stack to achieve our goals for performance and sustainable future growth.&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/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/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://engineering.atspotify.com/2020/03/what-the-heck-is-backstage-anyway" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/45/images/1055997868.png" alt="What the Heck is Backstage Anyway? | Labs" 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://engineering.atspotify.com/2020/03/what-the-heck-is-backstage-anyway" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;What the Heck is Backstage Anyway? | Labs&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; &lt;time datetime="2020-05-25"&gt;Saved on 2020-05-25&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;engineering.atspotify.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Yesterday, we released the open source version of , our homegrown developer portal. And we learned a thing or two via the feedback we received. So, I wanted to take this opportunity to further explain what we’re trying to do with Backstage — and more importantly, what we want to &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/devops/" class="Label Label--secondary mr-1 mb-1"&gt;devops&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; &#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://eddiewould.com/2020/05/19/commit-hygiene-winning-with-git" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/45/images/1055997887.webp" alt="Commit Hygiene - Winning with GIT - EddieWould" 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://eddiewould.com/2020/05/19/commit-hygiene-winning-with-git" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Commit Hygiene - Winning with GIT - EddieWould&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; &lt;time datetime="2020-05-20"&gt;Saved on 2020-05-20&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;eddiewould.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;GIT101: A novel mental-model of git concepts, the pitfalls of traditional “pulling” and “merging” &amp;amp; how to author a good commit (and why it matters).&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://eng.snap.com/dont-rewrite-your-app-unless-you-have-to" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/45/images/1055997880.webp" alt="Don&amp;#39;t Rewrite Your App, Unless You Have To - Snap Engineering" 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://eng.snap.com/dont-rewrite-your-app-unless-you-have-to" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Don&amp;#39;t Rewrite Your App, Unless You Have To - Snap Engineering&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; &lt;time datetime="2020-05-14"&gt;Saved on 2020-05-14&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;eng.snap.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/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="http://blog.cleancoder.com/uncle-bob/2015/04/15/DoesOrganizationMatter.html" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/45/images/1055997572.webp" alt="Clean Coder 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="http://blog.cleancoder.com/uncle-bob/2015/04/15/DoesOrganizationMatter.html" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Clean Coder 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; &lt;time datetime="2020-03-04"&gt;Saved on 2020-03-04&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;blog.cleancoder.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; &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://aphyr.com/posts/342-typing-the-technical-interview" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/45/images/1055997633.webp" alt="Typing the technical interview" 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://aphyr.com/posts/342-typing-the-technical-interview" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Typing the technical interview&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; &lt;time datetime="2020-03-04"&gt;Saved on 2020-03-04&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;aphyr.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/interviews/" class="Label Label--secondary mr-1 mb-1"&gt;interviews&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://martinfowler.com/articles/on-pair-programming.html#IntenseCollaborationCanBeHard" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/45/images/1055997846.jpg" alt="On Pair Programming" 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://martinfowler.com/articles/on-pair-programming.html#IntenseCollaborationCanBeHard" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;On Pair Programming&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; &lt;time datetime="2020-03-04"&gt;Saved on 2020-03-04&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;martinfowler.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;A guide to effective pair-programming&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/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; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/thoughtworks/" class="Label Label--secondary mr-1 mb-1"&gt;thoughtworks&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/better-programming/we-overengineered-a-teapot-c718251ce897" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/46/images/1055997826.png" alt="We Overengineered a Teapot - Better Programming - 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/better-programming/we-overengineered-a-teapot-c718251ce897" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;We Overengineered a Teapot - Better Programming - 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; &lt;time datetime="2019-12-06"&gt;Saved on 2019-12-06&lt;/time&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;Overengineering is fun, but it can trick you and your team into thinking actual value is delivered.&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://programming.guide/worlds-most-copied-so-snippet.html" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/46/images/1055997845.webp" alt="The most copied StackOverflow snippet of all time is flawed! | Programming.Guide" 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://programming.guide/worlds-most-copied-so-snippet.html" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The most copied StackOverflow snippet of all time is flawed! | Programming.Guide&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; &lt;time datetime="2019-12-04"&gt;Saved on 2019-12-04&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;programming.guide&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;In a recent study titled Usage and Attribution of Stack Overflow Code Snippets in GitHub Projects, an answer I wrote almost a decade ago was found to be the most copied snippet on Stack Overflow. Ironically it happens to be buggy.&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://quantum.country/qcvc" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/46/images/1055997742.png" alt="Quantum computing for the very curious" 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://quantum.country/qcvc" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Quantum computing for the very curious&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; &lt;time datetime="2019-12-04"&gt;Saved on 2019-12-04&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;quantum.country&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Presented in an experimental mnemonic medium that makes it almost effortless to remember what you read&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/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/stories/" class="Label Label--secondary mr-1 mb-1"&gt;stories&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://peteris.rocks/blog/htop" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/46/images/1055997627.png" alt="htop explained | peteris.rocks" 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://peteris.rocks/blog/htop" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;htop explained | peteris.rocks&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; &lt;time datetime="2019-11-18"&gt;Saved on 2019-11-18&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;peteris.rocks&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Explanation of everything you can see in htop/top on Linux&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/devops/" class="Label Label--secondary mr-1 mb-1"&gt;devops&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/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://ashleynolan.co.uk/blog/frontend-tooling-survey-2019-results" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/46/images/1055997842.jpg" alt="The Front-End Tooling Survey 2019 - Results - AshleyNolan.co.uk - Blog and" 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://ashleynolan.co.uk/blog/frontend-tooling-survey-2019-results" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The Front-End Tooling Survey 2019 - Results - AshleyNolan.co.uk - Blog and&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; &lt;time datetime="2019-11-14"&gt;Saved on 2019-11-14&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;ashleynolan.co.uk&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;The results of the 2019 Front-End Tooling Survey are out! Check out the results and analysis of the responses here.&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/css/" class="Label Label--secondary mr-1 mb-1"&gt;css&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/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://hacks.mozilla.org/2019/11/announcing-the-bytecode-alliance" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/46/images/1055997844.png" alt="Announcing the Bytecode Alliance: Building a secure by default, composable" 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://hacks.mozilla.org/2019/11/announcing-the-bytecode-alliance" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Announcing the Bytecode Alliance: Building a secure by default, composable&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; &lt;time datetime="2019-11-13"&gt;Saved on 2019-11-13&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;hacks.mozilla.org&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Lin Clark introduces the Bytecode Alliance, and uses Code Cartoon illustrations to share their vision of a WebAssembly ecosystem that is secure by default, fixing cracks in today’s software foundations. ...&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/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/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/@copyconstruct/testing-in-production-the-safe-way-18ca102d0ef1" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/48/images/1055997679.jpg" alt="Testing in Production, the safe way - Cindy Sridharan - 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/@copyconstruct/testing-in-production-the-safe-way-18ca102d0ef1" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Testing in Production, the safe way - Cindy Sridharan - 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; &lt;time datetime="2019-09-30"&gt;Saved on 2019-09-30&lt;/time&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;In this post, I hope to explore different forms of “testing in production”, when each form of testing is the most beneficial as well as how to test services in production in a safe way. However…&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/devops/" class="Label Label--secondary mr-1 mb-1"&gt;devops&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; &#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://knowledge.csc.gov.sg/ethos-issue-21/how-to-build-good-software/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/images/bookmark-placeholder.jpg" alt="How to Build Good 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://knowledge.csc.gov.sg/ethos-issue-21/how-to-build-good-software/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;How to Build Good 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; &lt;time datetime="2019-08-29"&gt;Saved on 2019-08-29&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;knowledge.csc.gov.sg&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; &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://resources.github.com/whitepapers/introduction-to-innersource" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/48/images/1055997715.webp" alt="An introduction to innersource | GitHub Resources" 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://resources.github.com/whitepapers/introduction-to-innersource" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;An introduction to innersource | GitHub Resources&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; &lt;time datetime="2019-08-26"&gt;Saved on 2019-08-26&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;resources.github.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Organizations worldwide are incorporating open source methodologies into the way they build and ship their own software.&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://scotch.io/tutorials/how-to-test-nodejs-apps-using-mocha-chai-and-sinonjs" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/49/images/1055997671.jpg" alt="How to Test Node.js Apps using Mocha, Chai, and SinonJS" 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://scotch.io/tutorials/how-to-test-nodejs-apps-using-mocha-chai-and-sinonjs" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;How to Test Node.js Apps using Mocha, Chai, and SinonJS&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; &lt;time datetime="2019-08-16"&gt;Saved on 2019-08-16&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;scotch.io&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Learn how to test Node.js applications with Mocha, Chai, and SinonJS.&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/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/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://medium.com/@mattia.battiston/why-i-love-trunk-based-development-641fcf0b94a0" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/49/images/1055997798.png" alt="Why I love Trunk Based Development (or pushing straight to master)" 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/@mattia.battiston/why-i-love-trunk-based-development-641fcf0b94a0" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Why I love Trunk Based Development (or pushing straight to master)&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; &lt;time datetime="2019-08-05"&gt;Saved on 2019-08-05&lt;/time&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;Teams that are using short-lived feature branches would usually benefit from aiming to work directly on master.&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://medium.com/darklang/how-dark-deploys-code-in-50ms-771c6dd60671" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/49/images/1055997781.jpg" alt="How Dark deploys code in 50ms - Darklang - 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/darklang/how-dark-deploys-code-in-50ms-771c6dd60671" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;How Dark deploys code in 50ms - Darklang - 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; &lt;time datetime="2019-08-01"&gt;Saved on 2019-08-01&lt;/time&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;Speed of developer iteration is the single most important factor in how quickly a technology company can move. Unfortunately, modern applications work against us: our systems are required to be live…&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/devops/" class="Label Label--secondary mr-1 mb-1"&gt;devops&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://blog.golang.org/why-generics" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/49/images/1055997796.jpg" alt="Why Generics? - The Go Programming Language" 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.golang.org/why-generics" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Why Generics? - The Go Programming Language&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; &lt;time datetime="2019-08-01"&gt;Saved on 2019-08-01&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;blog.golang.org&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Why should we add generics to Go, and what might they look like?&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/golang/" class="Label Label--secondary mr-1 mb-1"&gt;golang&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="http://www.lahey.com/float.htm" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/49/images/1055997439.webp" alt="Sierra Web Design, Inc" 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="http://www.lahey.com/float.htm" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Sierra Web Design, Inc&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; &lt;time datetime="2019-08-01"&gt;Saved on 2019-08-01&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;lahey.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/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; &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.linkedin.com/pulse/software-quality-sami-vaaraniemi" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/50/images/1055997739.png" alt="On software quality" 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.linkedin.com/pulse/software-quality-sami-vaaraniemi" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;On software quality&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; &lt;time datetime="2019-07-23"&gt;Saved on 2019-07-23&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;linkedin.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;What do we really need in order to develop a self-driving car? My colleague Felix posted recently an excellent article about what it really takes to be a self-driving car engineer. I want to dig deeper into the first point of that article about solid software engineering.&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://slack.engineering/rebuilding-slack-on-the-desktop-308d6fe94ae4" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/50/images/1055997789.jpg" alt="When a rewrite isn’t: rebuilding Slack on the desktop" 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://slack.engineering/rebuilding-slack-on-the-desktop-308d6fe94ae4" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;When a rewrite isn’t: rebuilding Slack on the desktop&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; &lt;time datetime="2019-07-23"&gt;Saved on 2019-07-23&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;slack.engineering&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Conventional wisdom holds that you should never rewrite your code from scratch, and that’s good advice. Time spent rewriting something that already works is time that won’t be spent making our customers working lives simpler, more pleasant, and more productive. And running code k&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/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="http://degoes.net/articles/fp-is-not-the-answer" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/images/bookmark-placeholder.jpg" alt="Functional Programming Isn&amp;#39;t the Answer – John A De Goes" 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="http://degoes.net/articles/fp-is-not-the-answer" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Functional Programming Isn&amp;#39;t the Answer – John A De Goes&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; &lt;time datetime="2019-07-19"&gt;Saved on 2019-07-19&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;degoes.net&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Functional programming is a means to an end, not an end in itself.&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;&lt;/p&gt;&#10;&lt;/div&gt;</description></item><item><title>Bookmarks tagged “programming”</title><link>https://blog.maceage.com/bookmarks/tags/programming/page/13/</link><pubDate>Fri, 23 Oct 2026 06:30:41 +0000</pubDate><guid>https://blog.maceage.com/bookmarks/tags/programming/page/13/</guid><description>&lt;p&gt;342 bookmarks tagged “programming”&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://www.productiverage.com/i-didnt-understand-why-people-struggled-with-nets-async" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/50/images/1055997717.jpg" alt="Productive Rage - I didn&amp;#39;t understand why people struggled with (.NET&amp;#39;s) as" 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.productiverage.com/i-didnt-understand-why-people-struggled-with-nets-async" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Productive Rage - I didn&amp;#39;t understand why people struggled with (.NET&amp;#39;s) as&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; &lt;time datetime="2019-07-19"&gt;Saved on 2019-07-19&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;productiverage.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Long story short (I know that some readers love a TL;DR), I have almost always worked with async/await in C# projects where it&amp;#39;s been async from top-to-bottom and so I&amp;#39;ve rarely tried to start..&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/dotnet/" class="Label Label--secondary mr-1 mb-1"&gt;dotnet&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://gist.github.com/terabyte/15a2d3d407285b8b5a0a7964dd6283b0" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/50/images/1055997680.png" alt="Amazon&amp;#39;s Build System" 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://gist.github.com/terabyte/15a2d3d407285b8b5a0a7964dd6283b0" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Amazon&amp;#39;s Build System&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; &lt;time datetime="2019-07-19"&gt;Saved on 2019-07-19&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;gist.github.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Amazon&amp;#39;s Build System. GitHub Gist: instantly share code, notes, and snippets.&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/aws/" class="Label Label--secondary mr-1 mb-1"&gt;aws&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="http://blog.cleancoder.com/uncle-bob/2019/06/16/ObjectsAndDataStructures.html" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/50/images/1055997773.webp" alt="Clean Coder 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="http://blog.cleancoder.com/uncle-bob/2019/06/16/ObjectsAndDataStructures.html" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Clean Coder 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; &lt;time datetime="2019-07-15"&gt;Saved on 2019-07-15&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;blog.cleancoder.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; &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://codeblog.jonskeet.uk/2019/06/30/versioning-limitations-in-net" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/50/images/1055997777.png" alt="Versioning limitations in .NET" 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://codeblog.jonskeet.uk/2019/06/30/versioning-limitations-in-net" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Versioning limitations in .NET&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; &lt;time datetime="2019-07-15"&gt;Saved on 2019-07-15&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;codeblog.jonskeet.uk&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;This is a blog post I’ve intended to write for a very long time. (Other blog posts in that category include a recipe for tiramisu ice cream, and “knights and allies”.) It’s …&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://github.blog/2016-02-03-scientist" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/50/images/1055997750.png" alt="Scientist: Measure Twice, Cut Over Once - The GitHub 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://github.blog/2016-02-03-scientist" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Scientist: Measure Twice, Cut Over Once - The GitHub 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; &lt;time datetime="2019-07-15"&gt;Saved on 2019-07-15&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;github.blog&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Today we’re releasing Scientist 1.0 to help you rewrite critical code with confidence. As codebases mature and requirements change, it is inevitable that you will need to replace or rewrite…&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/product/" class="Label Label--secondary mr-1 mb-1"&gt;product&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="http://www.joelonsoftware.com/items/2007/12/03.html" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/50/images/1055997424.jpg" alt="Talk at Yale: Part 1 of 3" 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="http://www.joelonsoftware.com/items/2007/12/03.html" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Talk at Yale: Part 1 of 3&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; &lt;time datetime="2019-07-14"&gt;Saved on 2019-07-14&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;joelonsoftware.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;This is part one of the text of a talk delivered to the Yale Computer Science department on November 28. The rest of the talk will be published tomorrow and Wednesday. I graduated with a B.S. in Co…&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://blog.ploeh.dk/2017/10/04/from-design-patterns-to-category-theory" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/51/images/1055997657.png" alt="From design patterns to category theory" 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.ploeh.dk/2017/10/04/from-design-patterns-to-category-theory" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;From design patterns to category theory&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; &lt;time datetime="2019-06-15"&gt;Saved on 2019-06-15&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;blog.ploeh.dk&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;How do you design good abstractions? By using abstractions that already exist.&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://www.nytimes.com/2019/02/13/magazine/women-coding-computer-programming.html" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/51/images/1055997743.png" alt="The Secret History of Women in Coding" 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.nytimes.com/2019/02/13/magazine/women-coding-computer-programming.html" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The Secret History of Women in Coding&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; &lt;time datetime="2019-04-11"&gt;Saved on 2019-04-11&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;nytimes.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Computer programming once had much better gender balance than it does today. What went wrong?&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/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/stories/" class="Label Label--secondary mr-1 mb-1"&gt;stories&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://martinfowler.com/articles/agile-aus-2018.html" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/51/images/1055997713.jpg" alt="The State of Agile Software in 2018" 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://martinfowler.com/articles/agile-aus-2018.html" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The State of Agile Software in 2018&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; &lt;time datetime="2018-09-11"&gt;Saved on 2018-09-11&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;martinfowler.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Agile Software Development may be mainstream, but much of what&amp;#39;s done is faux-agile, and we need to push 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/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/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/thoughtworks/" class="Label Label--secondary mr-1 mb-1"&gt;thoughtworks&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://aws.amazon.com/blogs/database/z-order-indexing-for-multifaceted-queries-in-amazon-dynamodb-part-1" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/51/images/1055997641.png" alt="Z-Order Indexing for Multifaceted Queries in Amazon DynamoDB: Part 1 | Amazon Web Services" 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://aws.amazon.com/blogs/database/z-order-indexing-for-multifaceted-queries-in-amazon-dynamodb-part-1" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Z-Order Indexing for Multifaceted Queries in Amazon DynamoDB: Part 1 | Amazon Web Services&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; &lt;time datetime="2018-09-11"&gt;Saved on 2018-09-11&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;aws.amazon.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Update from May 29, 2018: Today, we published Z-order indexing for multifaceted queries in Amazon DynamoDB: Part 2. TL;DR Using Z-order indexing, you can efficiently run range queries on any combination of fields in your schema. Although Amazon DynamoDB doesn’t natively support Z&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/aws/" class="Label Label--secondary mr-1 mb-1"&gt;aws&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/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://hackernoon.com/why-the-fuss-about-serverless-4370b1596da0" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/51/images/1055997625.jpg" alt="Why the Fuss About Serverless? | HackerNoon" 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://hackernoon.com/why-the-fuss-about-serverless-4370b1596da0" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Why the Fuss About Serverless? | HackerNoon&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; &lt;time datetime="2018-09-11"&gt;Saved on 2018-09-11&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;hackernoon.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;To explain this, I’m going to have to recap on some old work with a particular focus on co-evolution.&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/aws/" class="Label Label--secondary mr-1 mb-1"&gt;aws&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/cloud/" class="Label Label--secondary mr-1 mb-1"&gt;cloud&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://medium.com/@cramforce/designing-very-large-javascript-applications-6e013a3291a3" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/51/images/1055997683.png" alt="Designing very large (JavaScript) applications - Malte Ubl - 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/@cramforce/designing-very-large-javascript-applications-6e013a3291a3" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Designing very large (JavaScript) applications - Malte Ubl - 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; &lt;time datetime="2018-09-11"&gt;Saved on 2018-09-11&lt;/time&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 mildly edited transcript of my JSConf Australia talk. Watch the whole talk on YouTube. A sequel to this post is available over here. Hello, I used to build very large JavaScript…&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/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://medium.com/airbnb-engineering/building-services-at-airbnb-part-2-142be1c5d506" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/51/images/1055997692.jpg" alt="Building Services at Airbnb, Part 2 - The Airbnb Tech Blog - 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/airbnb-engineering/building-services-at-airbnb-part-2-142be1c5d506" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Building Services at Airbnb, Part 2 - The Airbnb Tech Blog - 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; &lt;time datetime="2018-09-11"&gt;Saved on 2018-09-11&lt;/time&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;Airbnb is moving its infrastructure towards SOA. A reliable, performant, and developer-friendly service platform is essential in an architectural evolution. In a previous post, we shared a bird’s-eye…&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/microservices/" class="Label Label--secondary mr-1 mb-1"&gt;microservices&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; &#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://povilasv.me/go-memory-management" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/52/images/1055997699.jpg" alt="Go Memory Management" 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://povilasv.me/go-memory-management" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Go Memory Management&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; &lt;time datetime="2018-09-11"&gt;Saved on 2018-09-11&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;povilasv.me&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Deep dive into Go Memory Management. This post gives an overview of Physical memory, Virtual memory, how Operating System interacts with hardware to run apllications.&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/golang/" class="Label Label--secondary mr-1 mb-1"&gt;golang&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/taxonomy-tech-debt" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/images/bookmark-placeholder.jpg" alt="A Taxonomy of Tech Debt" 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/taxonomy-tech-debt" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;A Taxonomy of Tech Debt&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; &lt;time datetime="2018-04-16"&gt;Saved on 2018-04-16&lt;/time&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;Bill Clark discusses classifying and managing tech debt at Riot.&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/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/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://medium.com/data-science/top-algorithms-and-data-structures-you-really-need-to-know-ab9a2a91c7b5" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/52/images/1055997668.jpg" alt="Top Algorithms and Data Structures You Really Need To Know" 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/data-science/top-algorithms-and-data-structures-you-really-need-to-know-ab9a2a91c7b5" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Top Algorithms and Data Structures You Really Need To Know&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; &lt;time datetime="2018-03-19"&gt;Saved on 2018-03-19&lt;/time&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;If you want to become a software engineer, but don’t know where to start, let’s save you the suspense: it’s algorithms and data structures. Once you get the gist of these pillars of programming…&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/algorithms/" class="Label Label--secondary mr-1 mb-1"&gt;algorithms&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/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://blog.alexellis.io/3-steps-to-msbuild-with-docker" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/52/images/1055997620.webp" alt="3 Steps to MSBuild with Docker" 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.alexellis.io/3-steps-to-msbuild-with-docker" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;3 Steps to MSBuild with Docker&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; &lt;time datetime="2017-09-26"&gt;Saved on 2017-09-26&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;blog.alexellis.io&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Build a .NET WebAPI / ASP.NET application with Windows Containers and Docker. There&amp;#39;s no need for visual studio perfect for your Continuous Integration.&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/docker/" class="Label Label--secondary mr-1 mb-1"&gt;docker&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/dotnet/" class="Label Label--secondary mr-1 mb-1"&gt;dotnet&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://webkit.org/blog/7846/concurrent-javascript-it-can-work" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/52/images/1055997654.webp" alt="Concurrent JavaScript: It can 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://webkit.org/blog/7846/concurrent-javascript-it-can-work" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Concurrent JavaScript: It can 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; &lt;time datetime="2017-09-26"&gt;Saved on 2017-09-26&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;webkit.org&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;With the recent addition of SharedArrayBuffer, concurrency is finding its way into the JavaScript 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/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/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="http://stackoverflow.com/questions/21729066/running-code-analysis-fxcop-12-0-14-0-on-build-agent-without-installing-visu/32093939#32093939" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/images/bookmark-placeholder.jpg" alt=".net - Running Code Analysis (FxCop 12.0 / 14.0) on build agent without ins" 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="http://stackoverflow.com/questions/21729066/running-code-analysis-fxcop-12-0-14-0-on-build-agent-without-installing-visu/32093939#32093939" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;.net - Running Code Analysis (FxCop 12.0 / 14.0) on build agent without ins&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; &lt;time datetime="2016-10-14"&gt;Saved on 2016-10-14&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;stackoverflow.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/dotnet/" class="Label Label--secondary mr-1 mb-1"&gt;dotnet&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://blogs.msdn.microsoft.com/dotnet/2016/09/26/introducing-net-standard" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/53/images/1055997617.png" alt="Introducing .NET Standard | .NET 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://blogs.msdn.microsoft.com/dotnet/2016/09/26/introducing-net-standard" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Introducing .NET Standard | .NET 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; &lt;time datetime="2016-09-27"&gt;Saved on 2016-09-27&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;blogs.msdn.microsoft.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Questions? Check out the .NET Standard FAQ. You can find the latest version of the compatibility matrix here. In my last post, I talked about how we want to make porting to .NET Core easier. In this post, I’ll focus on how we’re making this plan a reality with .NET Standard. We’l&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/dotnet/" class="Label Label--secondary mr-1 mb-1"&gt;dotnet&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="http://www-cs-students.stanford.edu/~amitp/gameprog.html" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/53/images/1055997436.webp" alt="Amit’s Game Programming Information" 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="http://www-cs-students.stanford.edu/~amitp/gameprog.html" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Amit’s Game Programming Information&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; &lt;time datetime="2016-09-27"&gt;Saved on 2016-09-27&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;www-cs-students.stanford.edu&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="http://blog.ploeh.dk/2010/12/02/Interfacesarenotabstractions" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/53/images/1055997503.png" alt="Interfaces are not abstractions" 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="http://blog.ploeh.dk/2010/12/02/Interfacesarenotabstractions" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Interfaces are not abstractions&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; &lt;time datetime="2015-05-22"&gt;Saved on 2015-05-22&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;blog.ploeh.dk&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Interfaces are language constructs, whereas abstractions are conceptual. You can model abstractions with interfaces, but the use of interfaces in itself doesn&amp;#39;t guarantee that you&amp;#39;re programming with abstractions.&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/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/dotnet/" class="Label Label--secondary mr-1 mb-1"&gt;dotnet&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="http://blog.ploeh.dk/2010/04/07/DependencyInjectionisLooseCoupling" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/53/images/1055997504.png" alt="Dependency Injection is Loose Coupling" 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="http://blog.ploeh.dk/2010/04/07/DependencyInjectionisLooseCoupling" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Dependency Injection is Loose Coupling&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; &lt;time datetime="2015-05-22"&gt;Saved on 2015-05-22&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;blog.ploeh.dk&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;The overall purpose of Dependency Injection is to facilitate loose coupling.&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/dotnet/" class="Label Label--secondary mr-1 mb-1"&gt;dotnet&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="http://harmful.cat-v.org/software/ruby/rails/is-a-ghetto" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/images/bookmark-placeholder.jpg" alt="ZSFA -- Rails Is A Ghetto (2007-12-31)" 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="http://harmful.cat-v.org/software/ruby/rails/is-a-ghetto" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;ZSFA -- Rails Is A Ghetto (2007-12-31)&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; &lt;time datetime="2015-03-31"&gt;Saved on 2015-03-31&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;harmful.cat-v.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/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/ruby/" class="Label Label--secondary mr-1 mb-1"&gt;ruby&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/talks/" class="Label Label--secondary mr-1 mb-1"&gt;talks&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="http://coding.abel.nu/2012/10/make-the-dbcontext-ambient-with-unitofworkscope" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/53/images/1055997495.webp" alt="Make the DbContext Ambient with UnitOfWorkScope – Passion for Coding" 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="http://coding.abel.nu/2012/10/make-the-dbcontext-ambient-with-unitofworkscope" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Make the DbContext Ambient with UnitOfWorkScope – Passion for Coding&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; &lt;time datetime="2015-03-17"&gt;Saved on 2015-03-17&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;coding.abel.nu&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/dotnet/" class="Label Label--secondary mr-1 mb-1"&gt;dotnet&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 tagged “programming”</title><link>https://blog.maceage.com/bookmarks/tags/programming/page/14/</link><pubDate>Fri, 23 Oct 2026 06:30:41 +0000</pubDate><guid>https://blog.maceage.com/bookmarks/tags/programming/page/14/</guid><description>&lt;p&gt;342 bookmarks tagged “programming”&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="http://www.thoughtworks.com/insights/blog/are-test-coverage-metrics-overrated" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/54/images/1055997543.jpg" alt="Are Test Coverage Metrics Overrated?" 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="http://www.thoughtworks.com/insights/blog/are-test-coverage-metrics-overrated" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Are Test Coverage Metrics Overrated?&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; &lt;time datetime="2014-12-09"&gt;Saved on 2014-12-09&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;thoughtworks.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;I know a certain developer whose level of anxiety rises to disproportionate levels when his test coverage report returns a less-than-100% coverage. Whenever this happens, he will fiddle with his tests until he achieves the glorious 100% statistic - after which he will have earned&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/testing/" class="Label Label--secondary mr-1 mb-1"&gt;testing&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/thoughtworks/" class="Label Label--secondary mr-1 mb-1"&gt;thoughtworks&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="http://www.toptal.com/nodejs/why-the-hell-would-i-use-node-js" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/54/images/1055997511.png" alt="Why Use Node.js? A Comprehensive Tutorial with Examples | Toptal" 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="http://www.toptal.com/nodejs/why-the-hell-would-i-use-node-js" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Why Use Node.js? A Comprehensive Tutorial with Examples | Toptal&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; &lt;time datetime="2014-11-12"&gt;Saved on 2014-11-12&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;toptal.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Node.js can solve I/O scaling. Learn why and when to use Node.js in this 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/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/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="http://norvig.com/21-days.html" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/54/images/1055997425.webp" alt="Teach Yourself Programming in Ten Years" 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="http://norvig.com/21-days.html" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Teach Yourself Programming in Ten Years&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; &lt;time datetime="2014-07-18"&gt;Saved on 2014-07-18&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;norvig.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/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/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="http://bost.ocks.org/mike/algorithms" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/54/images/1055997530.webp" alt="Visualizing Algorithms" 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="http://bost.ocks.org/mike/algorithms" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Visualizing Algorithms&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; &lt;time datetime="2014-07-11"&gt;Saved on 2014-07-11&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;bost.ocks.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/algorithms/" class="Label Label--secondary mr-1 mb-1"&gt;algorithms&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; &#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="http://www.motherjones.com/media/2014/06/computer-science-programming-code-diversity-sexism-education" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/54/images/1055997528.jpg" alt="Is coding the new literacy?" 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="http://www.motherjones.com/media/2014/06/computer-science-programming-code-diversity-sexism-education" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Is coding the new literacy?&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; &lt;time datetime="2014-06-22"&gt;Saved on 2014-06-22&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;motherjones.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Why America&amp;#39;s schools need to train a generation of hackers.&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/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/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/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/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="http://martinfowler.com/bliki/SnowflakeServer.html" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/54/images/1055997492.png" alt="SnowflakeServer" 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="http://martinfowler.com/bliki/SnowflakeServer.html" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;SnowflakeServer&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; &lt;time datetime="2013-08-24"&gt;Saved on 2013-08-24&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;martinfowler.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;a bliki entry for Snowflake Server&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-patterns/" class="Label Label--secondary mr-1 mb-1"&gt;design patterns&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/thoughtworks/" class="Label Label--secondary mr-1 mb-1"&gt;thoughtworks&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="http://martinfowler.com/bliki/PhoenixServer.html" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/54/images/1055997491.png" alt="PhoenixServer" 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="http://martinfowler.com/bliki/PhoenixServer.html" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;PhoenixServer&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; &lt;time datetime="2013-08-24"&gt;Saved on 2013-08-24&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;martinfowler.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Why you should regularly smash your servers with a baseball bat (figuratively)&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-patterns/" class="Label Label--secondary mr-1 mb-1"&gt;design patterns&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/thoughtworks/" class="Label Label--secondary mr-1 mb-1"&gt;thoughtworks&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="http://martinfowler.com/bliki/ConfigurationSynchronization.html" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/54/images/1055997509.png" alt="ConfigurationSynchronization" 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="http://martinfowler.com/bliki/ConfigurationSynchronization.html" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;ConfigurationSynchronization&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; &lt;time datetime="2013-08-24"&gt;Saved on 2013-08-24&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;martinfowler.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;a bliki entry for Configuration Synchronization&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-patterns/" class="Label Label--secondary mr-1 mb-1"&gt;design patterns&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/thoughtworks/" class="Label Label--secondary mr-1 mb-1"&gt;thoughtworks&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="http://martinfowler.com/bliki/ImmutableServer.html" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/54/images/1055997508.png" alt="ImmutableServer" 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="http://martinfowler.com/bliki/ImmutableServer.html" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;ImmutableServer&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; &lt;time datetime="2013-08-24"&gt;Saved on 2013-08-24&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;martinfowler.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Immutable servers cannot have their configuration changed once deployed, instead they are torn down and replaced with a new server based on an updated (version-controlled) definition.&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-patterns/" class="Label Label--secondary mr-1 mb-1"&gt;design patterns&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/thoughtworks/" class="Label Label--secondary mr-1 mb-1"&gt;thoughtworks&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="http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/55/images/1055997486.webp" alt="PHP: a fractal of bad design - fuzzy notepad" 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="http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;PHP: a fractal of bad design - fuzzy notepad&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; &lt;time datetime="2013-08-24"&gt;Saved on 2013-08-24&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;me.veekun.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;(This article has been translated into Spanish (PDF, with some additions) by Jorge Amado Sor&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/stories/" class="Label Label--secondary mr-1 mb-1"&gt;stories&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="http://blog.ploeh.dk/2013/02/04/BewareofProductivityTools" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/55/images/1055997501.png" alt="Beware of Productivity Tools" 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="http://blog.ploeh.dk/2013/02/04/BewareofProductivityTools" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Beware of Productivity Tools&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; &lt;time datetime="2013-08-24"&gt;Saved on 2013-08-24&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;blog.ploeh.dk&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;This article discusses developer productivity 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/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/dotnet/" class="Label Label--secondary mr-1 mb-1"&gt;dotnet&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="http://martinfowler.com/articles/injection.html" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/55/images/1055997423.png" alt="Inversion of Control Containers and the Dependency Injection pattern" 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="http://martinfowler.com/articles/injection.html" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Inversion of Control Containers and the Dependency Injection pattern&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; &lt;time datetime="2013-08-05"&gt;Saved on 2013-08-05&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;martinfowler.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Explaining the Dependency Injection pattern, by contrasting it with Service Locator. The choice between them is less important than the principle of separating configuration from use.&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/design-patterns/" class="Label Label--secondary mr-1 mb-1"&gt;design patterns&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/thoughtworks/" class="Label Label--secondary mr-1 mb-1"&gt;thoughtworks&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="http://addyosmani.com/largescalejavascript" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/55/images/1055997470.webp" alt="Patterns For Large-Scale JavaScript Application Architecture" 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="http://addyosmani.com/largescalejavascript" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Patterns For Large-Scale JavaScript Application Architecture&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; &lt;time datetime="2013-08-05"&gt;Saved on 2013-08-05&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;addyosmani.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/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/design-patterns/" class="Label Label--secondary mr-1 mb-1"&gt;design patterns&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/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="http://martinfowler.com/articles/mocksArentStubs.html" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/55/images/1055997429.png" alt="Mocks Aren&amp;#39;t Stubs" 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="http://martinfowler.com/articles/mocksArentStubs.html" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Mocks Aren&amp;#39;t Stubs&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; &lt;time datetime="2012-11-27"&gt;Saved on 2012-11-27&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;martinfowler.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Explaining the difference between Mock Objects and Stubs (together with other forms of Test Double). Also the difference between classical and mockist styles of unit testing.&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/talks/" class="Label Label--secondary mr-1 mb-1"&gt;talks&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/testing/" class="Label Label--secondary mr-1 mb-1"&gt;testing&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/thoughtworks/" class="Label Label--secondary mr-1 mb-1"&gt;thoughtworks&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://weblogs.asp.net/scottgu/introducing-razor/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/55/images/1055997462.webp" alt="Introducing “Razor” – a new view engine for ASP.NET - ScottGu&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://weblogs.asp.net/scottgu/introducing-razor/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Introducing “Razor” – a new view engine for ASP.NET - ScottGu&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; &lt;time datetime="2012-08-17"&gt;Saved on 2012-08-17&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;weblogs.asp.net&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;One of the things my team has been working on has been a new view engine option for ASP.NET.&#13; ASP.NET MVC has always supported the concept of &amp;amp;ldquo;view engines&amp;amp;rdquo; &amp;amp;ndash; which are the&amp;amp;#160;&amp;amp;#8230;&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/dotnet/" class="Label Label--secondary mr-1 mb-1"&gt;dotnet&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="http://www.joelonsoftware.com/articles/fog0000000043.html" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/56/images/1055997434.jpg" alt="The Joel Test: 12 Steps to Better Code - Joel on 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="http://www.joelonsoftware.com/articles/fog0000000043.html" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The Joel Test: 12 Steps to Better Code - Joel on 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; &lt;time datetime="2011-08-03"&gt;Saved on 2011-08-03&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;joelonsoftware.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Have you ever heard of SEMA? It’s a fairly esoteric system for measuring how good a software team is. No, wait! Don’t follow that link! It will take you about six years just to understa…&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="http://msdn.microsoft.com/en-us/magazine/cc136756.aspx" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/56/images/1055997450.png" alt="Create a Language Compiler for the .NET Framework Using 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="http://msdn.microsoft.com/en-us/magazine/cc136756.aspx" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Create a Language Compiler for the .NET Framework Using 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; &lt;time datetime="2011-02-23"&gt;Saved on 2011-02-23&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;msdn.microsoft.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/dotnet/" class="Label Label--secondary mr-1 mb-1"&gt;dotnet&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 tagged “programming”</title><link>https://blog.maceage.com/bookmarks/tags/programming/page/2/</link><pubDate>Fri, 23 Oct 2026 06:30:41 +0000</pubDate><guid>https://blog.maceage.com/bookmarks/tags/programming/page/2/</guid><description>&lt;p&gt;342 bookmarks tagged “programming”&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/2026/05/27/agents-on-a-leash-agentic-ai-remains-mostly-monitored-at-work/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/3/images/1750529089.png" alt="Agents on a leash: Agentic AI remains mostly single-agent and monitored at work - 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/2026/05/27/agents-on-a-leash-agentic-ai-remains-mostly-monitored-at-work/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Agents on a leash: Agentic AI remains mostly single-agent and monitored at work - 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; &lt;time datetime="2026-06-09"&gt;Saved on 2026-06-09&lt;/time&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; &#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/2026/05/28/artisans-and-builders/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/3/images/1750528558.jpg" alt="In an AI world, the most valuable developers will be both artisans and builders - 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/2026/05/28/artisans-and-builders/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;In an AI world, the most valuable developers will be both artisans and builders - 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; &lt;time datetime="2026-06-09"&gt;Saved on 2026-06-09&lt;/time&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/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; &#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://www.oreilly.com/radar/the-cognitive-shortcut-paradox/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/3/images/1749408323.jpg" alt="The Cognitive Shortcut Paradox" 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/the-cognitive-shortcut-paradox/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The Cognitive Shortcut Paradox&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; &lt;time datetime="2026-06-08"&gt;Saved on 2026-06-08&lt;/time&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; &lt;p class="color-fg-muted mb-2"&gt;This article is part of a series on the Sens-AI Framework—practical habits for learning and coding with AI.AI gives novice developers the ability to skip&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://web.archive.org/web/20120304081438/http://www.businessweek.com/articles/2012-03-01/the-rise-of-the-brogrammer" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/images/bookmark-placeholder.jpg" alt="The Rise of the &amp;#39;Brogrammer&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://web.archive.org/web/20120304081438/http://www.businessweek.com/articles/2012-03-01/the-rise-of-the-brogrammer" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The Rise of the &amp;#39;Brogrammer&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; &lt;time datetime="2026-06-08"&gt;Saved on 2026-06-08&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;web.archive.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/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://geohot.github.io/blog/jekyll/update/2026/05/24/the-eternal-sloptember.html" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/3/images/1744836575.webp" alt="The Eternal Sloptember" 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://geohot.github.io/blog/jekyll/update/2026/05/24/the-eternal-sloptember.html" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The Eternal Sloptember&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; &lt;time datetime="2026-06-04"&gt;Saved on 2026-06-04&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;geohot.github.io&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;I’m calling it now, the adoption of AI agents into software development will be one of the most costly mistakes in the field’s history. Agents cannot program, and it’s taking longer and longer to realize that they can’t. They are a highly sophisticated statistical model designed &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/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/agile/" class="Label Label--secondary mr-1 mb-1"&gt;agile&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.habets.se/2026/05/Everything-in-C-is-undefined-behavior.html" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/3/images/1742995134.webp" alt="Everything in C is undefined behavior" 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.habets.se/2026/05/Everything-in-C-is-undefined-behavior.html" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Everything in C is undefined behavior&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; &lt;time datetime="2026-06-03"&gt;Saved on 2026-06-03&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;blog.habets.se&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;If he had been a programmer, Cardinal Richelieu would have said “Give me six lines written by the hand of the most expert C programmer in the world, and I wi...&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://stackoverflow.blog/2026/05/18/what-the-ai-hype-gets-wrong/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/3/images/1742989674.png" alt="“You can&amp;#39;t vibe code scale”: What the AI hype gets wrong about software engineering - 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/2026/05/18/what-the-ai-hype-gets-wrong/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;“You can&amp;#39;t vibe code scale”: What the AI hype gets wrong about software engineering - 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; &lt;time datetime="2026-06-03"&gt;Saved on 2026-06-03&lt;/time&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/2026/05/21/coding-agents-are-giving-everyone-decision-fatigue/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/3/images/1742989464.jpg" alt="Coding agents are giving everyone decision fatigue - 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/2026/05/21/coding-agents-are-giving-everyone-decision-fatigue/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Coding agents are giving everyone decision fatigue - 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; &lt;time datetime="2026-06-03"&gt;Saved on 2026-06-03&lt;/time&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; &#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://stackoverflow.blog/2026/05/22/dispatches-from-o-reilly-the-accidental-orchestrator/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/3/images/1742989412.jpg" alt="Dispatches from O&amp;#39;Reilly: The accidental orchestrator - 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/2026/05/22/dispatches-from-o-reilly-the-accidental-orchestrator/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Dispatches from O&amp;#39;Reilly: The accidental orchestrator - 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; &lt;time datetime="2026-06-03"&gt;Saved on 2026-06-03&lt;/time&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://aesthetikx.info/blog/date_italy.html" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/images/bookmark-placeholder.jpg" alt="What is Date::ITALY?" 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://aesthetikx.info/blog/date_italy.html" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;What is Date::ITALY?&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; &lt;time datetime="2026-05-26"&gt;Saved on 2026-05-26&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;aesthetikx.info&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Exploring the Date::ITALY Ruby constant, Julian day numbers, and the history of the Gregorian calendar switchover.&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/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/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://susam.net/inverse-laws-of-robotics.html" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/3/images/1733585180.webp" alt="Three Inverse Laws of AI - Susam Pal" 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://susam.net/inverse-laws-of-robotics.html" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Three Inverse Laws of AI - Susam Pal&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; &lt;time datetime="2026-05-26"&gt;Saved on 2026-05-26&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;susam.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/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/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.thetypicalset.com/blog/thoughts-on-coding-agents" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/3/images/1733584654.png" alt="The bottleneck was never the code" 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.thetypicalset.com/blog/thoughts-on-coding-agents" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The bottleneck was never the code&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; &lt;time datetime="2026-05-26"&gt;Saved on 2026-05-26&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;thetypicalset.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;The other month I finally ran an experiment we had been postponing for over a year at .txt.&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/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://craftedcart.gitlab.io/unrealbookoftips/unreal_book_of_tips.html" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/3/images/1722092194.webp" alt="The Unreal book of tips - The Unreal book of tips" 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://craftedcart.gitlab.io/unrealbookoftips/unreal_book_of_tips.html" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The Unreal book of tips - The Unreal book of tips&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; &lt;time datetime="2026-05-18"&gt;Saved on 2026-05-18&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;craftedcart.gitlab.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/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/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/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://larsfaye.com/articles/agentic-coding-is-a-trap" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/3/images/1716100986.png" alt="Agentic Coding is a Trap | Lars Faye" 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://larsfaye.com/articles/agentic-coding-is-a-trap" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Agentic Coding is a Trap | Lars Faye&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; &lt;time datetime="2026-05-12"&gt;Saved on 2026-05-12&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;larsfaye.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Remaining vigilant about cognitive debt and atrophy.&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/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/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/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://legallayer.substack.com/p/who-owns-the-claude-code-wrote" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/4/images/1710679755.jpg" alt="Who Owns the Code Claude Wrote?" 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://legallayer.substack.com/p/who-owns-the-claude-code-wrote" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Who Owns the Code Claude Wrote?&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; &lt;time datetime="2026-05-09"&gt;Saved on 2026-05-09&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;legallayer.substack.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;AI-generated code copyright explained for builders.&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; &#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; &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/2026/04/30/worst-coder-in-the-world-goes-agentic/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/4/images/1710679063.jpg" alt="The Worst Coder in the World goes agentic: building a leaderboard cracking 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/2026/04/30/worst-coder-in-the-world-goes-agentic/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The Worst Coder in the World goes agentic: building a leaderboard cracking 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; &lt;time datetime="2026-05-09"&gt;Saved on 2026-05-09&lt;/time&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;Agents are everywhere, so isn&amp;#39;t it fitting that the Worst Coder in the World goes agentic? A coding newbie explores the challenges and rewards of building an agent for work—and trying to learn a few things about coding along the 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/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://lawsofsoftwareengineering.com/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/4/images/1701890717.png" alt="Laws of Software Engineering" 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://lawsofsoftwareengineering.com/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Laws of Software Engineering&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; &lt;time datetime="2026-05-01"&gt;Saved on 2026-05-01&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;lawsofsoftwareengineering.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;A collection of principles and patterns that shape software systems, teams, and decisions.&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://farlow.dev/2026/04/17/running-a-minecraft-server-and-more-on-a-1960s-univac-computer" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/4/images/1701861641.jpg" alt="Running a Minecraft Server and more on a 1960s UNIVAC Computer" 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://farlow.dev/2026/04/17/running-a-minecraft-server-and-more-on-a-1960s-univac-computer" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Running a Minecraft Server and more on a 1960s UNIVAC Computer&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; &lt;time datetime="2026-05-01"&gt;Saved on 2026-05-01&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;farlow.dev&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;18 bit registers, 90kb of memory, ones’ complement, powered by RISC-V.&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/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/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://kevinlynagh.com/newsletter/2026_04_overthinking/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/4/images/1701861205.jpg" alt="On sabotaging projects by overthinking, scope creep, and structural diffing" 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://kevinlynagh.com/newsletter/2026_04_overthinking/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;On sabotaging projects by overthinking, scope creep, and structural diffing&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; &lt;time datetime="2026-05-01"&gt;Saved on 2026-05-01&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;kevinlynagh.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; &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/2026/04/23/black-box-ai-drift-ai-tools-are-making-design-decisions-nobody-asked-for/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/4/images/1701859663.jpg" alt="Black box AI drift: AI tools are making design decisions nobody asked for - 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/2026/04/23/black-box-ai-drift-ai-tools-are-making-design-decisions-nobody-asked-for/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Black box AI drift: AI tools are making design decisions nobody asked for - 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; &lt;time datetime="2026-05-01"&gt;Saved on 2026-05-01&lt;/time&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; &#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://bcantrill.dtrace.org/2026/04/12/the-peril-of-laziness-lost/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/4/images/1691431383.webp" alt="The peril of laziness lost" 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://bcantrill.dtrace.org/2026/04/12/the-peril-of-laziness-lost/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The peril of laziness lost&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; &lt;time datetime="2026-04-21"&gt;Saved on 2026-04-21&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;bcantrill.dtrace.org&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;In his classic Programming Perl — affectionately known to a generation of technologists as &amp;#34;the Camel Book&amp;#34; — Larry Wall famously wrote of the three virtues of a programmer as laziness, impatience, and hubris: If we’re going to talk about good software design, we have to talk a&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/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://rdi.berkeley.edu/blog/trustworthy-benchmarks-cont/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/4/images/1691431244.webp" alt="Center for Responsible, Decentralized Intelligence at Berkeley" 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://rdi.berkeley.edu/blog/trustworthy-benchmarks-cont/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Center for Responsible, Decentralized Intelligence at Berkeley&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; &lt;time datetime="2026-04-21"&gt;Saved on 2026-04-21&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;rdi.berkeley.edu&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; &#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/2026/04/09/gen-z-needs-a-knowledge-base-and-so-do-you/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/4/images/1691431058.jpg" alt="Gen Z needs a knowledge base (and so do you) - 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/2026/04/09/gen-z-needs-a-knowledge-base-and-so-do-you/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Gen Z needs a knowledge base (and so do you) - 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; &lt;time datetime="2026-04-21"&gt;Saved on 2026-04-21&lt;/time&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/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.aaronkemner.com/animnode-reference/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/images/bookmark-placeholder.jpg" alt="Animnode-References" 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.aaronkemner.com/animnode-reference/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Animnode-References&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; &lt;time datetime="2026-04-13"&gt;Saved on 2026-04-13&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;aaronkemner.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Technical Animation is a tricky, but maybe I can be of help.&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/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/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://theorangeduck.com/page/spring-roll-call#inertialization" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/4/images/1682837513.png" alt="Spring-It-On: The Game Developer&amp;#39;s Spring-Roll-Call" 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://theorangeduck.com/page/spring-roll-call#inertialization" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Spring-It-On: The Game Developer&amp;#39;s Spring-Roll-Call&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; &lt;time datetime="2026-04-13"&gt;Saved on 2026-04-13&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;theorangeduck.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Computer Science, Machine Learning, Programming, Art, Mathematics, Philosophy, and Short Fiction&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/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/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;&lt;/p&gt;&#10;&lt;/div&gt;</description></item><item><title>Bookmarks tagged “programming”</title><link>https://blog.maceage.com/bookmarks/tags/programming/page/3/</link><pubDate>Fri, 23 Oct 2026 06:30:41 +0000</pubDate><guid>https://blog.maceage.com/bookmarks/tags/programming/page/3/</guid><description>&lt;p&gt;342 bookmarks tagged “programming”&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://www.jackhogan.me/blog/box-of-secrets/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/4/images/1682836535.png" alt="Box of Secrets" 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.jackhogan.me/blog/box-of-secrets/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Box of Secrets&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; &lt;time datetime="2026-04-13"&gt;Saved on 2026-04-13&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;jackhogan.me&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Discreetly modding my friend’s apartment intercom to work with Apple Home.&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/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://cursor.com/blog/scaling-agents" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/4/images/1682836324.png" alt="Scaling long-running autonomous coding · Cursor" 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://cursor.com/blog/scaling-agents" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Scaling long-running autonomous coding · Cursor&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; &lt;time datetime="2026-04-13"&gt;Saved on 2026-04-13&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;cursor.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;We&amp;#39;ve been experimenting with running coding agents autonomously for weeks at a 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/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; &#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://ryelang.org/blog/posts/cognitive-dark-forest/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/4/images/1682836015.webp" alt="The Cognitive Dark Forest" 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://ryelang.org/blog/posts/cognitive-dark-forest/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The Cognitive Dark Forest&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; &lt;time datetime="2026-04-13"&gt;Saved on 2026-04-13&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;ryelang.org&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;The open web with AIs is turning into a dark forest.&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/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://spencermortensen.com/articles/email-obfuscation/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/4/images/1682835818.webp" alt="Email address obfuscation: What works in 2026?" 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://spencermortensen.com/articles/email-obfuscation/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Email address obfuscation: What works in 2026?&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; &lt;time datetime="2026-04-13"&gt;Saved on 2026-04-13&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;spencermortensen.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/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/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; &#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://addyosmani.com/blog/comprehension-debt/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/4/images/1682835614.jpg" alt="Comprehension Debt - the hidden cost of AI generated code." 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://addyosmani.com/blog/comprehension-debt/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Comprehension Debt - the hidden cost of AI generated code.&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; &lt;time datetime="2026-04-13"&gt;Saved on 2026-04-13&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;addyosmani.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/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/2026/03/26/coding-guidelines-for-ai-agents-and-people-too/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/5/images/1682834289.jpg" alt="Building shared coding guidelines for AI (and people too) - 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/2026/03/26/coding-guidelines-for-ai-agents-and-people-too/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Building shared coding guidelines for AI (and people too) - 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; &lt;time datetime="2026-04-13"&gt;Saved on 2026-04-13&lt;/time&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/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://aicode.swerdlow.dev/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/5/images/1658528795.webp" alt="AI Code" 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://aicode.swerdlow.dev/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;AI Code&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; &lt;time datetime="2026-03-26"&gt;Saved on 2026-03-26&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;aicode.swerdlow.dev&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; &#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://happel.ai/posts/covering-spaces-geometries-visualized/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/images/bookmark-placeholder.jpg" alt="Hacking Super Mario 64 using covering spaces (&amp;#43; hyperbolic geometry)" 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://happel.ai/posts/covering-spaces-geometries-visualized/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Hacking Super Mario 64 using covering spaces (&amp;#43; hyperbolic geometry)&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; &lt;time datetime="2026-03-23"&gt;Saved on 2026-03-23&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;happel.ai&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Visualization of the universal cover of a surface of genus 2, which is a hyperbolic space.&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/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://stackoverflow.blog/2026/03/05/developerweek-2026/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/5/images/1654163025.jpg" alt="DeveloperWeek 2026: Making AI tools that are actually good - 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/2026/03/05/developerweek-2026/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;DeveloperWeek 2026: Making AI tools that are actually good - 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; &lt;time datetime="2026-03-23"&gt;Saved on 2026-03-23&lt;/time&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;From interoperability to knowledge architecture to creating AI tools people can actually use, here’s a recap of what we learned from DeveloperWeek 2026.&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://crabby-rathbun.github.io/mjrathbun-website/blog/posts/rathbuns-operator.html" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/5/images/1631253754.webp" alt="Rathbun’s Operator – MJ Rathbun | Scientific Coder 🦀" 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://crabby-rathbun.github.io/mjrathbun-website/blog/posts/rathbuns-operator.html" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Rathbun’s Operator – MJ Rathbun | Scientific Coder 🦀&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; &lt;time datetime="2026-03-06"&gt;Saved on 2026-03-06&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;crabby-rathbun.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/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; &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.modular.com/blog/the-claude-c-compiler-what-it-reveals-about-the-future-of-software" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/5/images/1619971483.png" alt="Modular: The Claude C Compiler: What It Reveals About the Future of 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://www.modular.com/blog/the-claude-c-compiler-what-it-reveals-about-the-future-of-software" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Modular: The Claude C Compiler: What It Reveals About the Future of 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; &lt;time datetime="2026-02-26"&gt;Saved on 2026-02-26&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;modular.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Compilers occupy a special place in computer science. They&amp;#39;re a canonical course in computer science education. Building one is a rite of passage. It forces you to confront how software actually works, by examining languages, abstractions, hardware, and the boundary between human&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/2026/02/18/closing-the-developer-ai-trust-gap/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/5/images/1619919513.jpg" alt="Mind the gap: Closing the AI trust gap for 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/2026/02/18/closing-the-developer-ai-trust-gap/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Mind the gap: Closing the AI trust gap for 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; &lt;time datetime="2026-02-26"&gt;Saved on 2026-02-26&lt;/time&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;Developer trust is synonymous with a willingness to deploy AI-generated code to production systems with minimal human review, as well as assurance that AI tools aren’t introducing unacceptable risks and technical debt that will burden you down the line.&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://jmoiron.net/blog/wirths-revenge/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/5/images/1619912147.jpg" alt="Wirth&amp;#39;s Revenge" 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://jmoiron.net/blog/wirths-revenge/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Wirth&amp;#39;s Revenge&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; &lt;time datetime="2026-02-26"&gt;Saved on 2026-02-26&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;jmoiron.net&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Are LLMs the final blow in the war against Wirth&amp;#39;s law?&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/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://tldraw.dev/blog/stay-away-from-my-trash" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/6/images/1619911967.png" alt="Stay away from my trash! - tldraw: Infinite Canvas SDK for React" 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://tldraw.dev/blog/stay-away-from-my-trash" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Stay away from my trash! - tldraw: Infinite Canvas SDK for React&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; &lt;time datetime="2026-02-26"&gt;Saved on 2026-02-26&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;tldraw.dev&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;The tldraw SDK provides tools, services, and APIs to build beautiful whiteboards and infinite canvas applications with real-time collaboration and a powerful React-based canvas.&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://nesbitt.io/2026/02/08/sandwich-bill-of-materials.html" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/6/images/1619911853.png" alt="Sandwich Bill of Materials" 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://nesbitt.io/2026/02/08/sandwich-bill-of-materials.html" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Sandwich Bill of Materials&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; &lt;time datetime="2026-02-26"&gt;Saved on 2026-02-26&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;nesbitt.io&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;SBOM 1.0: A specification for sandwich supply chain transparency.&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://theshamblog.com/an-ai-agent-published-a-hit-piece-on-me/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/6/images/1619911603.jpg" alt="An AI Agent Published a Hit Piece on Me" 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://theshamblog.com/an-ai-agent-published-a-hit-piece-on-me/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;An AI Agent Published a Hit Piece on Me&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; &lt;time datetime="2026-02-26"&gt;Saved on 2026-02-26&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;theshamblog.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Summary: An AI agent of unknown ownership autonomously wrote and published a personalized hit piece about me after I rejected its code, attempting to damage my reputation and shame me into acceptin…&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://chrisloy.dev/post/2026/02/14/when-interfaces-become-disposable" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/6/images/1619907948.png" alt="AI makes interfaces disposable | Chris Loy" 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://chrisloy.dev/post/2026/02/14/when-interfaces-become-disposable" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;AI makes interfaces disposable | Chris Loy&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; &lt;time datetime="2026-02-26"&gt;Saved on 2026-02-26&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;chrisloy.dev&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;I recently became a parent for the first time, as my wife and I welcomed a beautiful baby boy into our lives in January of this year.&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/product/" class="Label Label--secondary mr-1 mb-1"&gt;product&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://www.seangoedecke.com/breaking-rules/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/6/images/1613978182.jpg" alt="How strong engineers break the rules and get away with it" 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/breaking-rules/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;How strong engineers break the rules and get away with it&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; &lt;time datetime="2026-02-24"&gt;Saved on 2026-02-24&lt;/time&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; &#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/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://www.seangoedecke.com/not-your-codebase/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/6/images/1613388216.jpg" alt="It&amp;#39;s not your codebase" 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/not-your-codebase/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;It&amp;#39;s not your codebase&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; &lt;time datetime="2026-02-23"&gt;Saved on 2026-02-23&lt;/time&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; &#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/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://matklad.github.io/2026/01/27/make-ts.html" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/6/images/1579689358.webp" alt="make.ts" 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://matklad.github.io/2026/01/27/make-ts.html" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;make.ts&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; &lt;time datetime="2026-02-06"&gt;Saved on 2026-02-06&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;matklad.github.io&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Up Enter Up Up Enter Up Up Up Enter&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://www.thecodelesscode.com/case/123" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/6/images/1572944398.png" alt="The Codeless Code: Case 123 Order and Chaos" 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.thecodelesscode.com/case/123" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The Codeless Code: Case 123 Order and Chaos&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; &lt;time datetime="2026-02-02"&gt;Saved on 2026-02-02&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;thecodelesscode.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;An illustrated collection of (sometimes violent) fables, concerning the Art and Philosophy of software development&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/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/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://mike.tech/blog/death-of-software-development" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/6/images/1572809200.jpg" alt="The Death of Software 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://mike.tech/blog/death-of-software-development" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The Death of Software 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; &lt;time datetime="2026-02-02"&gt;Saved on 2026-02-02&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;mike.tech&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;The job of software developer is dead. You might still be coding, but the profession as you knew it 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/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/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; &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/2026/01/21/is-that-allowed-authentication-and-authorization-in-model-context-protocol/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/6/images/1572809031.jpg" alt="Is that allowed? Authentication and authorization in Model Context Protocol - 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/2026/01/21/is-that-allowed-authentication-and-authorization-in-model-context-protocol/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Is that allowed? Authentication and authorization in Model Context Protocol - 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; &lt;time datetime="2026-02-02"&gt;Saved on 2026-02-02&lt;/time&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; &#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; &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/2026/01/14/gen-z-wrapped-2025/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/6/images/1572808385.jpg" alt="If you&amp;#39;re a Zoomer, this one&amp;#39;s for you: Everything Gen Z needs to know about the 2025 tech landscape - 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/2026/01/14/gen-z-wrapped-2025/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;If you&amp;#39;re a Zoomer, this one&amp;#39;s for you: Everything Gen Z needs to know about the 2025 tech landscape - 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; &lt;time datetime="2026-02-02"&gt;Saved on 2026-02-02&lt;/time&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;Here&amp;#39;s the lowdown on all the tech from 2025 that you, dear Zoomer, should know about.&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; &#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.chrisgregori.dev/opinion/code-is-cheap-now-software-isnt" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/6/images/1547288203.png" alt="Code Is Cheap Now. Software Isn’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://www.chrisgregori.dev/opinion/code-is-cheap-now-software-isnt" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Code Is Cheap Now. Software Isn’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; &lt;time datetime="2026-01-16"&gt;Saved on 2026-01-16&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;chrisgregori.dev&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;The barrier to entry for building software has collapsed. The barrier to building something that matters hasn’t moved an inch.&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/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;&lt;/p&gt;&#10;&lt;/div&gt;</description></item><item><title>Bookmarks tagged “programming”</title><link>https://blog.maceage.com/bookmarks/tags/programming/page/4/</link><pubDate>Fri, 23 Oct 2026 06:30:41 +0000</pubDate><guid>https://blog.maceage.com/bookmarks/tags/programming/page/4/</guid><description>&lt;p&gt;342 bookmarks tagged “programming”&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://terriblesoftware.org/2025/12/19/the-strange-case-of-engineers-who-dismiss-ai/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/6/images/1547288112.webp" alt="The Strange Case of Engineers Who Dismiss 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://terriblesoftware.org/2025/12/19/the-strange-case-of-engineers-who-dismiss-ai/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The Strange Case of Engineers Who Dismiss 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; &lt;time datetime="2026-01-16"&gt;Saved on 2026-01-16&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;terriblesoftware.org&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Some engineers dismiss AI coding tools as ‘garbage’ without trying modern versions. Their outdated opinions are costing them.&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; &#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://github.com/johnousterhout/aposd-vs-clean-code" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/images/bookmark-placeholder.jpg" alt="johnousterhout/aposd-vs-clean-code: A discussion between John Ousterhout and Robert Martin about differences between John&amp;#39;s book &amp;#34;A Philosophy of Software Design&amp;#34; and Bob&amp;#39;s book &amp;#34;Clean Code&amp;#34;." 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://github.com/johnousterhout/aposd-vs-clean-code" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;johnousterhout/aposd-vs-clean-code: A discussion between John Ousterhout and Robert Martin about differences between John&amp;#39;s book &amp;#34;A Philosophy of Software Design&amp;#34; and Bob&amp;#39;s book &amp;#34;Clean Code&amp;#34;.&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; &lt;time datetime="2026-01-15"&gt;Saved on 2026-01-15&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;github.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;A discussion between John Ousterhout and Robert Martin about differences between John&amp;amp;#39;s book &amp;amp;quot;A Philosophy of Software Design&amp;amp;quot; and Bob&amp;amp;#39;s book &amp;amp;quot;Clean Code&amp;amp;quot;. - johnousterh...&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/talks/" class="Label Label--secondary mr-1 mb-1"&gt;talks&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://gabriel-afonso.com/blog/vibe-coded-is-the-new-made-in-china/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/images/bookmark-placeholder.jpg" alt="Vibe-Coded Is the New &amp;#34;Made in China&amp;#34; | Gabriel Afonso" 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://gabriel-afonso.com/blog/vibe-coded-is-the-new-made-in-china/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Vibe-Coded Is the New &amp;#34;Made in China&amp;#34; | Gabriel Afonso&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; &lt;time datetime="2026-01-14"&gt;Saved on 2026-01-14&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;gabriel-afonso.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Why does admitting a project is vibe-coded trigger instant skepticism? A look at what the label signals, why the distrust makes sense, and what chess surviving Deep Blue tells us about where this might be heading.&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://addyosmani.com/blog/next-two-years/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/7/images/1538925266.jpg" alt="The Next Two Years of Software Engineering" 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://addyosmani.com/blog/next-two-years/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The Next Two Years of Software Engineering&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; &lt;time datetime="2026-01-12"&gt;Saved on 2026-01-12&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;addyosmani.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Exploring five critical questions shaping software engineering through 2026, with contrasting scenarios for each. These lenses help prepare for the evolving ...&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/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/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/2026/01/01/documents-the-architect-s-programming-language/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/7/images/1532177863.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/2026/01/01/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; &lt;time datetime="2026-01-09"&gt;Saved on 2026-01-09&lt;/time&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/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/architecture/" class="Label Label--secondary mr-1 mb-1"&gt;architecture&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://lucumr.pocoo.org/2025/12/22/a-year-of-vibes/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/7/images/1532139986.png" alt="A Year Of Vibes" 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://lucumr.pocoo.org/2025/12/22/a-year-of-vibes/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;A Year Of Vibes&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; &lt;time datetime="2026-01-09"&gt;Saved on 2026-01-09&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;lucumr.pocoo.org&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;A personal recap of 2025 and a year of a new style of engineering.&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://linusakesson.net/programming/kernighans-lever/index.php" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/7/images/1532139922.png" alt="Kernighan&amp;#39;s lever" 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://linusakesson.net/programming/kernighans-lever/index.php" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Kernighan&amp;#39;s lever&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; &lt;time datetime="2026-01-09"&gt;Saved on 2026-01-09&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;linusakesson.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/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/12/26/ai-vs-gen-z/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/7/images/1532122581.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/12/26/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; &lt;time datetime="2026-01-09"&gt;Saved on 2026-01-09&lt;/time&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://stackoverflow.blog/2025/12/25/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/7/images/1532122458.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/12/25/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; &lt;time datetime="2026-01-09"&gt;Saved on 2026-01-09&lt;/time&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/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; &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/12/22/making-your-code-base-better-will-make-your-code-coverage-worse" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/7/images/1532121830.png" alt="Making your code base better will make your code coverage 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/12/22/making-your-code-base-better-will-make-your-code-coverage-worse" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Making your code base better will make your code coverage 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; &lt;time datetime="2026-01-09"&gt;Saved on 2026-01-09&lt;/time&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;Maintaining a minimum of 80% code coverage affects code decisions and not always for the better.&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/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://matthogg.fyi/developers-your-job-is-not-to-write-code/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/7/images/1518164409.jpg" alt="Developers, Your Job Is Not To Write Code" 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://matthogg.fyi/developers-your-job-is-not-to-write-code/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Developers, Your Job Is Not To Write Code&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; &lt;time datetime="2025-12-31"&gt;Saved on 2025-12-31&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;matthogg.fyi&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;The advice I&amp;#39;ve consistently given to developers who want to grow might seem counter-intuitive, but it&amp;#39;s always held true for me—the first step to being a great developer is recognizing that your job is not to write code.&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/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/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; &#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://lr0.org/blog/p/namings/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/images/bookmark-placeholder.jpg" alt="Programmers and software developers lost the plot on naming their tools" 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://lr0.org/blog/p/namings/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Programmers and software developers lost the plot on naming their tools&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; &lt;time datetime="2025-12-22"&gt;Saved on 2025-12-22&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;lr0.org&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;This post was discussed in HackerNews, Lobsters, and r/coding. You can check also my response to some comments.&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/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://andreasjhkarlsson.github.io//jekyll/update/2023/12/27/4-billion-if-statements.html" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/7/images/1501891902.jpg" alt="4 billion if statements" 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://andreasjhkarlsson.github.io//jekyll/update/2023/12/27/4-billion-if-statements.html" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;4 billion if statements&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; &lt;time datetime="2025-12-22"&gt;Saved on 2025-12-22&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;andreasjhkarlsson.github.io&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;I recently stumbled upon this screenshot while researching social media on the train. Of course, it was followed by a cascade of spiteful comments, criticizing this fresh programmer’s attempt to solve a classical problem in computer science. The modulus operation.&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; &#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://stephenramsay.net/posts/vibe-coding.html" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/7/images/1501874789.webp" alt="If You’re Going to Vibe Code, Why Not Do It 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://stephenramsay.net/posts/vibe-coding.html" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;If You’re Going to Vibe Code, Why Not Do It 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; &lt;time datetime="2025-12-22"&gt;Saved on 2025-12-22&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;stephenramsay.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/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; &#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.jetbrains.com/pycharm/2025/11/10-smart-performance-hacks-for-faster-python-code/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/7/images/1501733984.png" alt="10 Smart Performance Hacks For Faster Python Code | The PyCharm 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.jetbrains.com/pycharm/2025/11/10-smart-performance-hacks-for-faster-python-code/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;10 Smart Performance Hacks For Faster Python Code | The PyCharm 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; &lt;time datetime="2025-12-22"&gt;Saved on 2025-12-22&lt;/time&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;Learn practical optimization hacks, from data structures to built-in modules, that boost speed, reduce overhead, and keep your Python code clean.&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/python/" class="Label Label--secondary mr-1 mb-1"&gt;python&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/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/12/12/how-stack-overflow-s-mcp-server-is-helping-hp-modernize-the-software-development-lifecycle/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/8/images/1501729270.png" alt="How Stack Overflow’s MCP Server is helping HP modernize the software development lifecycle - 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/12/12/how-stack-overflow-s-mcp-server-is-helping-hp-modernize-the-software-development-lifecycle/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;How Stack Overflow’s MCP Server is helping HP modernize the software development lifecycle - 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; &lt;time datetime="2025-12-22"&gt;Saved on 2025-12-22&lt;/time&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;HP‘s Distinguished Technologist Evan Scheessele shares how better knowledge access is allowing HP to experiment and modernize their software development lifecycle with the help of the Stack Internal MCP Server.&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://spectrum.ieee.org/it-management-software-failures" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/8/images/1501728709.png" alt="Trillions Spent and Big Software Projects Are Still Failing" 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://spectrum.ieee.org/it-management-software-failures" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Trillions Spent and Big Software Projects Are Still Failing&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; &lt;time datetime="2025-12-22"&gt;Saved on 2025-12-22&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;spectrum.ieee.org&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Why do software failures persist despite soaring IT budgets? Dive into the complexities that keep success elusive.&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/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://blog.joeschrag.com/2023/11/most-technical-problems-are-really.html" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/8/images/1501728299.jpg" alt="Most Technical Problems Are Really People Problems" 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.joeschrag.com/2023/11/most-technical-problems-are-really.html" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Most Technical Problems Are Really People Problems&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; &lt;time datetime="2025-12-22"&gt;Saved on 2025-12-22&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;blog.joeschrag.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Someone pointed out that Jeff Atwood wrote this same thing in 2008.  Jeff references Bruce Eckel from 2007 , and Bruce references Gerald...&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/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/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/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/leadership/" class="Label Label--secondary mr-1 mb-1"&gt;leadership&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://trueoutlaw.medium.com/how-to-create-a-weapon-system-in-unreal-engine-5-02159f7d5a0d" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/8/images/1482214023.png" alt="How to Create a Weapon System in Unreal Engine 5" 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://trueoutlaw.medium.com/how-to-create-a-weapon-system-in-unreal-engine-5-02159f7d5a0d" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;How to Create a Weapon System in Unreal Engine 5&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; &lt;time datetime="2025-12-10"&gt;Saved on 2025-12-10&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;trueoutlaw.medium.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;This tutorial covers how to create a weapon inventory system with the ability to switch between different weapons.&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/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; &#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://raganwald.com/2019/02/14/i-love-programming-and-programmers.html" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/8/images/1441279971.jpg" alt="A Brutal Look at Balanced Parentheses, Computing Machines, and Pushdown Automata" 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://raganwald.com/2019/02/14/i-love-programming-and-programmers.html" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;A Brutal Look at Balanced Parentheses, Computing Machines, and Pushdown Automata&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; &lt;time datetime="2025-11-20"&gt;Saved on 2025-11-20&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;raganwald.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/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://sam-cooper.medium.com/the-country-that-broke-kotlin-84bdd0afb237" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/8/images/1436640732.jpg" alt="The Country That Broke Kotlin" 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://sam-cooper.medium.com/the-country-that-broke-kotlin-84bdd0afb237" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The Country That Broke Kotlin&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; &lt;time datetime="2025-11-17"&gt;Saved on 2025-11-17&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;sam-cooper.medium.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Logic vs language: how a Turkish alphabet bug played a years-long game of hide-and-seek inside the Kotlin compiler&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://stackoverflow.blog/2025/10/27/ai-agents-will-succeed-because-one-tool-is-better-than-ten/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/8/images/1436634189.png" alt="AI agents will succeed because one tool is better than ten - 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/10/27/ai-agents-will-succeed-because-one-tool-is-better-than-ten/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;AI agents will succeed because one tool is better than ten - 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; &lt;time datetime="2025-11-17"&gt;Saved on 2025-11-17&lt;/time&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 agents can chat, use tools, and write new code all from one interface. That&amp;#39;s why they&amp;#39;ll last.&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/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://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/8/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; &lt;time datetime="2025-11-17"&gt;Saved on 2025-11-17&lt;/time&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://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/8/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; &lt;time datetime="2025-11-06"&gt;Saved on 2025-11-06&lt;/time&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; &lt;time datetime="2025-11-05"&gt;Saved on 2025-11-05&lt;/time&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;&lt;/p&gt;&#10;&lt;/div&gt;</description></item><item><title>Bookmarks tagged “programming”</title><link>https://blog.maceage.com/bookmarks/tags/programming/page/5/</link><pubDate>Fri, 23 Oct 2026 06:30:41 +0000</pubDate><guid>https://blog.maceage.com/bookmarks/tags/programming/page/5/</guid><description>&lt;p&gt;342 bookmarks tagged “programming”&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/09/10/ai-vs-gen-z/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/9/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; &lt;time datetime="2025-09-25"&gt;Saved on 2025-09-25&lt;/time&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; &lt;time datetime="2025-09-24"&gt;Saved on 2025-09-24&lt;/time&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/9/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; &lt;time datetime="2025-09-22"&gt;Saved on 2025-09-22&lt;/time&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://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/9/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; &lt;time datetime="2025-09-15"&gt;Saved on 2025-09-15&lt;/time&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://www.seangoedecke.com/good-times-are-over/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/9/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; &lt;time datetime="2025-09-07"&gt;Saved on 2025-09-07&lt;/time&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/9/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; &lt;time datetime="2025-09-05"&gt;Saved on 2025-09-05&lt;/time&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://nshipster.com/uncertainty/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/9/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; &lt;time datetime="2025-09-04"&gt;Saved on 2025-09-04&lt;/time&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/9/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; &lt;time datetime="2025-09-04"&gt;Saved on 2025-09-04&lt;/time&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/9/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; &lt;time datetime="2025-09-04"&gt;Saved on 2025-09-04&lt;/time&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;&#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/9/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; &lt;time datetime="2025-08-30"&gt;Saved on 2025-08-30&lt;/time&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://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/10/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; &lt;time datetime="2025-08-17"&gt;Saved on 2025-08-17&lt;/time&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/10/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; &lt;time datetime="2025-08-09"&gt;Saved on 2025-08-09&lt;/time&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/10/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; &lt;time datetime="2025-08-09"&gt;Saved on 2025-08-09&lt;/time&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/10/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; &lt;time datetime="2025-08-09"&gt;Saved on 2025-08-09&lt;/time&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://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/10/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; &lt;time datetime="2025-08-09"&gt;Saved on 2025-08-09&lt;/time&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/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/10/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; &lt;time datetime="2025-08-09"&gt;Saved on 2025-08-09&lt;/time&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/10/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; &lt;time datetime="2025-08-09"&gt;Saved on 2025-08-09&lt;/time&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/10/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; &lt;time datetime="2025-07-25"&gt;Saved on 2025-07-25&lt;/time&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://akdev.blog/how-questions-build-software" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/10/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; &lt;time datetime="2025-07-14"&gt;Saved on 2025-07-14&lt;/time&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://unreal-garden.com/tutorials/delegates-advanced/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/10/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; &lt;time datetime="2025-07-14"&gt;Saved on 2025-07-14&lt;/time&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/11/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; &lt;time datetime="2025-07-14"&gt;Saved on 2025-07-14&lt;/time&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://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/11/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; &lt;time datetime="2025-07-06"&gt;Saved on 2025-07-06&lt;/time&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/11/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; &lt;time datetime="2025-07-06"&gt;Saved on 2025-07-06&lt;/time&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://gameprogrammingpatterns.com/component.html" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/11/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; &lt;time datetime="2025-06-29"&gt;Saved on 2025-06-29&lt;/time&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/11/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; &lt;time datetime="2025-06-22"&gt;Saved on 2025-06-22&lt;/time&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;&lt;/p&gt;&#10;&lt;/div&gt;</description></item><item><title>Bookmarks tagged “programming”</title><link>https://blog.maceage.com/bookmarks/tags/programming/page/6/</link><pubDate>Fri, 23 Oct 2026 06:30:41 +0000</pubDate><guid>https://blog.maceage.com/bookmarks/tags/programming/page/6/</guid><description>&lt;p&gt;342 bookmarks tagged “programming”&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://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/11/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; &lt;time datetime="2025-06-21"&gt;Saved on 2025-06-21&lt;/time&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://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/11/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; &lt;time datetime="2025-06-11"&gt;Saved on 2025-06-11&lt;/time&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://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/11/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; &lt;time datetime="2025-06-05"&gt;Saved on 2025-06-05&lt;/time&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/11/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; &lt;time datetime="2025-06-04"&gt;Saved on 2025-06-04&lt;/time&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://notashelf.dev/posts/curse-of-knowing" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/12/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; &lt;time datetime="2025-05-27"&gt;Saved on 2025-05-27&lt;/time&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/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/12/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; &lt;time datetime="2025-05-27"&gt;Saved on 2025-05-27&lt;/time&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://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/12/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; &lt;time datetime="2025-04-28"&gt;Saved on 2025-04-28&lt;/time&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://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/12/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; &lt;time datetime="2025-04-27"&gt;Saved on 2025-04-27&lt;/time&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://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/12/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; &lt;time datetime="2025-04-19"&gt;Saved on 2025-04-19&lt;/time&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://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/13/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; &lt;time datetime="2025-04-13"&gt;Saved on 2025-04-13&lt;/time&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://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/13/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; &lt;time datetime="2025-04-06"&gt;Saved on 2025-04-06&lt;/time&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://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; &lt;time datetime="2025-01-26"&gt;Saved on 2025-01-26&lt;/time&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; &lt;time datetime="2025-01-26"&gt;Saved on 2025-01-26&lt;/time&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://passo.uno/what-docs-as-code-means" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/15/images/1055999620.png" alt="What docs as code really means - passo.uno" 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://passo.uno/what-docs-as-code-means" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;What docs as code really means - passo.uno&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; &lt;time datetime="2024-11-14"&gt;Saved on 2024-11-14&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;passo.uno&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;I’ve recently started a new job as a documentation engineer. While my work is largely the same as that of a technical writer, the sound and semantics of my new job title gave me some pause and made me think about what it really means to be doing docs-as-code. To say that it’s abo&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/2024/08/05/this-developer-tool-is-40-years-old-can-it-be-improved" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/17/images/1055999574.png" alt="This developer tool is 40 years old: can it be improved? - 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/08/05/this-developer-tool-is-40-years-old-can-it-be-improved" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;This developer tool is 40 years old: can it be improved? - 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; &lt;time datetime="2024-08-20"&gt;Saved on 2024-08-20&lt;/time&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/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://www.datagubbe.se/crt/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/17/images/1055999572.webp" alt="The Effect of CRTs on Pixel Art | 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://www.datagubbe.se/crt/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The Effect of CRTs on Pixel Art | 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; &lt;time datetime="2024-08-11"&gt;Saved on 2024-08-11&lt;/time&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/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/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/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://cybernetist.com/2024/04/25/go-or-rust-just-listen-to-the-bots" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/18/images/1055999554.png" alt="Go or Rust? Just Listen to the Bots - Cybernetist" 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://cybernetist.com/2024/04/25/go-or-rust-just-listen-to-the-bots" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Go or Rust? Just Listen to the Bots - Cybernetist&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; &lt;time datetime="2024-05-12"&gt;Saved on 2024-05-12&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;cybernetist.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;It all started as a joke. I was in a group chat with a few of my friends and we were talking about football (soccer for the American readers). I entered the chat during a mildly heated discussion about the manager of a team one of my friends supports. It was going on for a bit wh&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/2024/02/12/can-a-programming-language-implement-time-travel" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/19/images/1055999541.png" alt="Can a programming language implement time travel? - 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/02/12/can-a-programming-language-implement-time-travel" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Can a programming language implement time travel? - 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; &lt;time datetime="2024-02-26"&gt;Saved on 2024-02-26&lt;/time&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/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/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://ntietz.com/blog/too-much-of-a-good-thing-the-cost-of-excess-testing" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/19/images/1055999539.webp" alt="Too much of a good thing: the trade-off we make with tests | nicole@web" 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://ntietz.com/blog/too-much-of-a-good-thing-the-cost-of-excess-testing" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Too much of a good thing: the trade-off we make with tests | nicole@web&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; &lt;time datetime="2024-02-20"&gt;Saved on 2024-02-20&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;ntietz.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/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://endtimes.dev/why-lowercase-letters-save-data" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/19/images/1055999520.webp" alt="why lowercase letters save data | endtimes.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://endtimes.dev/why-lowercase-letters-save-data" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;why lowercase letters save data | endtimes.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; &lt;time datetime="2024-01-25"&gt;Saved on 2024-01-25&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;endtimes.dev&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; &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.htmhell.dev/adventcalendar/2023/24" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/19/images/1055999526.png" alt="Never underestimate HTML - HTMHell" 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.htmhell.dev/adventcalendar/2023/24" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Never underestimate HTML - HTMHell&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; &lt;time datetime="2024-01-24"&gt;Saved on 2024-01-24&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;htmhell.dev&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;A collection of bad practices in HTML, copied from real websites.&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/2023/12/25/is-software-getting-worse" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/19/images/1055999532.png" alt="Is software getting 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/2023/12/25/is-software-getting-worse" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Is software getting 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; &lt;time datetime="2024-01-24"&gt;Saved on 2024-01-24&lt;/time&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; &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/2023/12/26/developer-with-adhd-youre-not-alone" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/19/images/1055999533.png" alt="Developer with ADHD? You’re not alone. - 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/2023/12/26/developer-with-adhd-youre-not-alone" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Developer with ADHD? You’re not alone. - 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; &lt;time datetime="2024-01-24"&gt;Saved on 2024-01-24&lt;/time&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; &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/2023/12/27/stop-saying-technical-debt" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/19/images/1055999531.png" alt="Stop saying “technical debt” - 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/2023/12/27/stop-saying-technical-debt" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Stop saying “technical debt” - 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; &lt;time datetime="2024-01-24"&gt;Saved on 2024-01-24&lt;/time&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; &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/2023/12/28/self-healing-code-is-the-future-of-software-development" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/19/images/1055999529.png" alt="Self-healing code is the future of software development - 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/2023/12/28/self-healing-code-is-the-future-of-software-development" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Self-healing code is the future of software development - 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; &lt;time datetime="2024-01-24"&gt;Saved on 2024-01-24&lt;/time&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; &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 tagged “programming”</title><link>https://blog.maceage.com/bookmarks/tags/programming/page/7/</link><pubDate>Fri, 23 Oct 2026 06:30:41 +0000</pubDate><guid>https://blog.maceage.com/bookmarks/tags/programming/page/7/</guid><description>&lt;p&gt;342 bookmarks tagged “programming”&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/2023/12/29/the-hardest-part-of-building-software-is-not-coding-its-requirements" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/19/images/1055999530.png" alt="The hardest part of building software is not coding, it&amp;#39;s requirements - St" 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/2023/12/29/the-hardest-part-of-building-software-is-not-coding-its-requirements" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The hardest part of building software is not coding, it&amp;#39;s requirements - St&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; &lt;time datetime="2024-01-24"&gt;Saved on 2024-01-24&lt;/time&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; &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/2023/08/24/if-you-want-to-address-tech-debt-quantify-it-first" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/19/images/1055999493.png" alt="If you want to address tech debt, quantify it first - 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/2023/08/24/if-you-want-to-address-tech-debt-quantify-it-first" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;If you want to address tech debt, quantify it first - 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; &lt;time datetime="2024-01-24"&gt;Saved on 2024-01-24&lt;/time&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; &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/2023/12/11/three-types-of-ai-assisted-programmers" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/19/images/1055999525.png" alt="Three types of AI-assisted programmers - 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/2023/12/11/three-types-of-ai-assisted-programmers" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Three types of AI-assisted programmers - 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; &lt;time datetime="2023-12-22"&gt;Saved on 2023-12-22&lt;/time&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://arstechnica.com/gadgets/2023/10/22-year-old-firefox-tooltip-bug-fixed-in-a-few-lines-offering-hope-to-us-all" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/20/images/1055999505.jpg" alt="How a 23-year-old first-time Firefox coder fixed a 22-year-old bug | Ars Te" 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/gadgets/2023/10/22-year-old-firefox-tooltip-bug-fixed-in-a-few-lines-offering-hope-to-us-all" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;How a 23-year-old first-time Firefox coder fixed a 22-year-old bug | Ars Te&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; &lt;time datetime="2023-10-22"&gt;Saved on 2023-10-22&lt;/time&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;Tiny text boxes, lingering on screens like ghosts, exorcised after 2 decades.&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/css/" class="Label Label--secondary mr-1 mb-1"&gt;css&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://stackoverflow.blog/2023/10/12/integrating-ai-tools-into-your-workflow" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/20/images/1055999508.png" alt="Integrating AI tools into your workflow - 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/2023/10/12/integrating-ai-tools-into-your-workflow" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Integrating AI tools into your workflow - 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; &lt;time datetime="2023-10-22"&gt;Saved on 2023-10-22&lt;/time&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/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; &#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/2023/06/14/hype-or-not-developers-have-something-to-say-about-ai" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/22/images/1055999467.png" alt="Hype or not? AI’s benefits for developers explored in the 2023 Developer Su" 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/2023/06/14/hype-or-not-developers-have-something-to-say-about-ai" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Hype or not? AI’s benefits for developers explored in the 2023 Developer Su&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; &lt;time datetime="2023-06-25"&gt;Saved on 2023-06-25&lt;/time&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; &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/2023/06/13/developer-survey-results-are-in" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/22/images/1055999469.png" alt="2023 Developer Survey results are in: the latest trends in technology and w" 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/2023/06/13/developer-survey-results-are-in" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;2023 Developer Survey results are in: the latest trends in technology and w&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; &lt;time datetime="2023-06-25"&gt;Saved on 2023-06-25&lt;/time&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; &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://aws.amazon.com/blogs/database/z-order-indexing-for-multifaceted-queries-in-amazon-dynamodb-part-2" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/23/images/1055997695.jpg" alt="Z-order indexing for multifaceted queries in Amazon DynamoDB: Part 2 | Amazon Web Services" 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://aws.amazon.com/blogs/database/z-order-indexing-for-multifaceted-queries-in-amazon-dynamodb-part-2" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Z-order indexing for multifaceted queries in Amazon DynamoDB: Part 2 | Amazon Web Services&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; &lt;time datetime="2023-05-18"&gt;Saved on 2023-05-18&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;aws.amazon.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;In a previous AWS Database Blog post, I introduced Z-order indexing, a way in which you can sort your data to efficiently query an Amazon DynamoDB table by using range bounds on multiple attributes. In this post, we explore the process of creating a schema for your index. We look&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/aws/" class="Label Label--secondary mr-1 mb-1"&gt;aws&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/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://povilasv.me/go-memory-management-part-3" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/23/images/1055997765.jpg" alt="Go Memory Management Part 3 – Povilas Versockas" 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://povilasv.me/go-memory-management-part-3" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Go Memory Management Part 3 – Povilas Versockas&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; &lt;time datetime="2023-05-10"&gt;Saved on 2023-05-10&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;povilasv.me&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Go Memory Management. In this blogpost we will go thru how cgo impacts go virtual memory. We will look at Go Execution Tracer and how to trace system calls.&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/golang/" class="Label Label--secondary mr-1 mb-1"&gt;golang&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://povilasv.me/go-memory-management-part-2" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/23/images/1055997764.jpg" alt="Go Memory Management Part 2 – Povilas Versockas" 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://povilasv.me/go-memory-management-part-2" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Go Memory Management Part 2 – Povilas Versockas&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; &lt;time datetime="2023-05-10"&gt;Saved on 2023-05-10&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;povilasv.me&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Go Memory Management. In this blogpost we will go thru how go uses cgo. We will look at Go DNS resolver implentations, libc &amp;amp; more!&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/golang/" class="Label Label--secondary mr-1 mb-1"&gt;golang&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://stackoverflow.blog/2023/03/23/your-tech-toolbox-the-middle-ground-between-tech-chaos-and-rigidity" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/24/images/1055999408.png" alt="Your tech toolbox: The middle ground between tech chaos and rigidity - Stac" 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/2023/03/23/your-tech-toolbox-the-middle-ground-between-tech-chaos-and-rigidity" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Your tech toolbox: The middle ground between tech chaos and rigidity - Stac&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; &lt;time datetime="2023-03-31"&gt;Saved on 2023-03-31&lt;/time&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; &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://alextaylor.ca/read/adventures-in-time-debugging-a-daylight-saving-bug" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/24/images/1055999390.png" alt="alextaylor.ca - Adventures in Time: Debugging a Daylight Saving Bug" 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://alextaylor.ca/read/adventures-in-time-debugging-a-daylight-saving-bug" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;alextaylor.ca - Adventures in Time: Debugging a Daylight Saving Bug&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; &lt;time datetime="2023-03-24"&gt;Saved on 2023-03-24&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;alextaylor.ca&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;What’s more fun than bugs? Bugs involving time! And none are so fascinating as bugs involving daylight saving time. With Daylight saving time almost upon us again, I thought it would be fun to rev...&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://stackoverflow.blog/2023/03/09/after-the-buzz-fades-what-our-data-tells-us-about-emerging-technology-sentiment" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/24/images/1055999402.png" alt="After the buzz fades: What our data tells us about emerging technology sent" 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/2023/03/09/after-the-buzz-fades-what-our-data-tells-us-about-emerging-technology-sentiment" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;After the buzz fades: What our data tells us about emerging technology sent&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; &lt;time datetime="2023-03-16"&gt;Saved on 2023-03-16&lt;/time&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; &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/2023/02/26/why-governments-need-open-source-more-than-ever" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/24/images/1055999395.png" alt="Why governments need open source more than ever - Stack Overflow 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://stackoverflow.blog/2023/02/26/why-governments-need-open-source-more-than-ever" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Why governments need open source more than ever - Stack Overflow 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; &lt;time datetime="2023-03-10"&gt;Saved on 2023-03-10&lt;/time&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/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/2023/02/27/stop-saying-technical-debt" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/24/images/1055999394.png" alt="Stop saying “technical debt” - Stack Overflow 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://stackoverflow.blog/2023/02/27/stop-saying-technical-debt" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Stop saying “technical debt” - Stack Overflow 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; &lt;time datetime="2023-03-10"&gt;Saved on 2023-03-10&lt;/time&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/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/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/2023/02/13/coding-102-writing-code-other-people-can-read" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/25/images/1055999380.png" alt="Coding 102: Writing code other people can read - Stack Overflow 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://stackoverflow.blog/2023/02/13/coding-102-writing-code-other-people-can-read" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Coding 102: Writing code other people can read - Stack Overflow 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; &lt;time datetime="2023-02-22"&gt;Saved on 2023-02-22&lt;/time&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/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://devblogs.microsoft.com/dotnet/announcing-dotnet-8-preview-1" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/25/images/1055999379.png" alt="Announcing .NET 8 Preview 1 - .NET 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://devblogs.microsoft.com/dotnet/announcing-dotnet-8-preview-1" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Announcing .NET 8 Preview 1 - .NET 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; &lt;time datetime="2023-02-22"&gt;Saved on 2023-02-22&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;devblogs.microsoft.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;.NET 8 Preview 1 introduces a roadmap for the year ahead, native AOT compilation, enhanced container and Linux support, and significant performance improvements.&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://stackoverflow.blog/2023/02/09/three-layers-to-secure-a-software-development-organization" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/25/images/1055999377.png" alt="Three layers to secure a software development organization - 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/2023/02/09/three-layers-to-secure-a-software-development-organization" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Three layers to secure a software development organization - 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; &lt;time datetime="2023-02-20"&gt;Saved on 2023-02-20&lt;/time&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/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://stackoverflow.blog/2023/02/06/the-frontier-of-computing-qa-with-ibm-quantum-computing-research" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/25/images/1055999378.png" alt="The nature of simulating nature: Q&amp;amp;A with IBM quantum computing research -" 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/2023/02/06/the-frontier-of-computing-qa-with-ibm-quantum-computing-research" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The nature of simulating nature: Q&amp;amp;A with IBM quantum computing research -&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; &lt;time datetime="2023-02-20"&gt;Saved on 2023-02-20&lt;/time&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; &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.maximeheckel.com/posts/refraction-dispersion-and-other-shader-light-effects" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/25/images/1055999367.png" alt="Refraction, dispersion, and other shader light effects - Maxime Heckel&amp;#39;s Bl" 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.maximeheckel.com/posts/refraction-dispersion-and-other-shader-light-effects" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Refraction, dispersion, and other shader light effects - Maxime Heckel&amp;#39;s Bl&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; &lt;time datetime="2023-02-12"&gt;Saved on 2023-02-12&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;blog.maximeheckel.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;A guide on how to reproduce a chromatic dispersion effect for your React Three Fiber and shader projects with FBO, refraction, chromatic aberration, specular, and other tricks through 9 interactive code playgrounds.&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/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/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.da.vidbuchanan.co.uk/blog/hello-png.html" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/25/images/1055999364.webp" alt="Hello, PNG! | 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.da.vidbuchanan.co.uk/blog/hello-png.html" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Hello, PNG! | 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; &lt;time datetime="2023-02-04"&gt;Saved on 2023-02-04&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;da.vidbuchanan.co.uk&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://github.com/readme/guides/code-review-optimization" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/25/images/1055999344.jpg" alt="How to optimize your code reviews · GitHub" 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://github.com/readme/guides/code-review-optimization" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;How to optimize your code reviews · GitHub&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; &lt;time datetime="2023-02-04"&gt;Saved on 2023-02-04&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;github.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;The secret to stronger team communication and more knowledge-sharing? Per @captainsafia, it’s all in the code review:&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; &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/2023/01/26/comparing-tag-trends-with-our-most-loved-programming-languages" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/25/images/1055999371.png" alt="Comparing tag trends with our Most Loved programming languages - Stack 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://stackoverflow.blog/2023/01/26/comparing-tag-trends-with-our-most-loved-programming-languages" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Comparing tag trends with our Most Loved programming languages - Stack 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; &lt;time datetime="2023-02-04"&gt;Saved on 2023-02-04&lt;/time&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; &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/2023/01/19/adding-structure-to-dynamic-languages" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/25/images/1055999368.png" alt="Minimizing the downsides of dynamic programming languages - 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/2023/01/19/adding-structure-to-dynamic-languages" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Minimizing the downsides of dynamic programming languages - 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; &lt;time datetime="2023-02-01"&gt;Saved on 2023-02-01&lt;/time&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/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://foon.uk/how-flash-2022" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/26/images/1055999348.png" alt="How I still use Flash in 2022 – Foon by Robin Allen" 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://foon.uk/how-flash-2022" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;How I still use Flash in 2022 – Foon by Robin Allen&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; &lt;time datetime="2023-01-01"&gt;Saved on 2023-01-01&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;foon.uk&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; &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 tagged “programming”</title><link>https://blog.maceage.com/bookmarks/tags/programming/page/8/</link><pubDate>Fri, 23 Oct 2026 06:30:41 +0000</pubDate><guid>https://blog.maceage.com/bookmarks/tags/programming/page/8/</guid><description>&lt;p&gt;342 bookmarks tagged “programming”&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://chreke.com/little-languages.html" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/26/images/1055999328.png" alt="chreke&amp;#39;s blog - Little Languages Are The Future Of Programming" 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://chreke.com/little-languages.html" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;chreke&amp;#39;s blog - Little Languages Are The Future Of Programming&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; &lt;time datetime="2022-12-25"&gt;Saved on 2022-12-25&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;chreke.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Little languages; what they are, why they matter and how they will shape the future of programming.&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://www.simplethread.com/taming-names-in-software-development" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/26/images/1055999343.jpg" alt="Taming Names in Software Development - Simple Thread" 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.simplethread.com/taming-names-in-software-development" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Taming Names in Software Development - Simple Thread&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; &lt;time datetime="2022-12-25"&gt;Saved on 2022-12-25&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;simplethread.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Good names What is a name? A name is a label, a handle, a pointer in your brain’s memory. A complex idea neatly encapsulated. A name lets you refer to “the economy” , or “dogfooding” mid-sentence without needing a three-paragraph essay to explain the term. If you think of softwar&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="http://jimgray.azurewebsites.net/hpts99/papers/Duquaine.htm" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/26/images/1055999329.webp" alt="Why HTML is a Strategic Dead End for Business Transactions and E-Commerce" 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="http://jimgray.azurewebsites.net/hpts99/papers/Duquaine.htm" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Why HTML is a Strategic Dead End for Business Transactions and E-Commerce&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; &lt;time datetime="2022-12-25"&gt;Saved on 2022-12-25&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;jimgray.azurewebsites.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/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/2022/11/28/when-to-use-grpc-vs-graphql" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/26/images/1055999341.png" alt="When to use gRPC vs GraphQL - Stack Overflow 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://stackoverflow.blog/2022/11/28/when-to-use-grpc-vs-graphql" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;When to use gRPC vs GraphQL - Stack Overflow 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; &lt;time datetime="2022-12-19"&gt;Saved on 2022-12-19&lt;/time&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/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/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://jrsinclair.com/articles/2022/whats-so-great-about-functional-programming-anyway" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/images/bookmark-placeholder.jpg" alt="What’s so great about functional programming anyway?" 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://jrsinclair.com/articles/2022/whats-so-great-about-functional-programming-anyway" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;What’s so great about functional programming anyway?&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; &lt;time datetime="2022-11-27"&gt;Saved on 2022-11-27&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;jrsinclair.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;To hear some people talk about functional programming, you’d think they’d joined some kind of cult. They prattle on about how it’s changed the way they think about code. They’ll extol the benefits of purity, at length. And proclaim that they are now able to “reason about their co&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://stackoverflow.blog/2022/11/17/performant-is-nonsense-but-performance-can-still-matter" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/27/images/1055999332.png" alt="&amp;#34;Performant&amp;#34; is nonsense, but performance can still matter - 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/2022/11/17/performant-is-nonsense-but-performance-can-still-matter" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;&amp;#34;Performant&amp;#34; is nonsense, but performance can still matter - 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; &lt;time datetime="2022-11-27"&gt;Saved on 2022-11-27&lt;/time&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/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; &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/2022/11/16/biometric-authentication-for-web-devs" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/27/images/1055999331.png" alt="You can add biometric authentication to your webpage. Here&amp;#39;s how. - Stack O" 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/2022/11/16/biometric-authentication-for-web-devs" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;You can add biometric authentication to your webpage. Here&amp;#39;s how. - Stack O&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; &lt;time datetime="2022-11-27"&gt;Saved on 2022-11-27&lt;/time&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/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/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://stackoverflow.blog/2022/11/15/speeding-software-innovation-with-low-code-no-code-tools" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/27/images/1055999330.png" alt="Speeding software innovation with low-code/no-code tools - Stack Overflow B" 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/2022/11/15/speeding-software-innovation-with-low-code-no-code-tools" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Speeding software innovation with low-code/no-code tools - Stack Overflow B&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; &lt;time datetime="2022-11-27"&gt;Saved on 2022-11-27&lt;/time&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/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://stackoverflow.blog/2022/10/03/two-heads-are-better-than-one-what-second-brains-say-about-how-developers-work" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/28/images/1055999315.png" alt="Two heads are better than one: What second brains say about how 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://stackoverflow.blog/2022/10/03/two-heads-are-better-than-one-what-second-brains-say-about-how-developers-work" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Two heads are better than one: What second brains say about how 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; &lt;time datetime="2022-11-13"&gt;Saved on 2022-11-13&lt;/time&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/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://stackoverflow.blog/2022/08/15/how-to-interrogate-unfamiliar-code" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/28/images/1055999303.png" alt="How to interrogate unfamiliar code - Stack Overflow 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://stackoverflow.blog/2022/08/15/how-to-interrogate-unfamiliar-code" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;How to interrogate unfamiliar code - Stack Overflow 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; &lt;time datetime="2022-11-13"&gt;Saved on 2022-11-13&lt;/time&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/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://stackoverflow.blog/2022/08/10/will-low-and-no-code-tools-ever-truly-disrupt-tech-development" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/28/images/1055999283.png" alt="Will low and no code tools ever truly disrupt tech development? - Stack Ove" 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/2022/08/10/will-low-and-no-code-tools-ever-truly-disrupt-tech-development" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Will low and no code tools ever truly disrupt tech development? - Stack Ove&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; &lt;time datetime="2022-11-13"&gt;Saved on 2022-11-13&lt;/time&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/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://stackoverflow.blog/2022/07/25/automate-the-boring-parts-of-your-job" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/29/images/1055999276.png" alt="Automate the boring parts of your job - Stack Overflow 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://stackoverflow.blog/2022/07/25/automate-the-boring-parts-of-your-job" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Automate the boring parts of your job - Stack Overflow 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; &lt;time datetime="2022-11-13"&gt;Saved on 2022-11-13&lt;/time&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/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; &#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/2022/07/18/how-observability-is-redefining-the-roles-of-developers" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/29/images/1055999275.png" alt="How observability is redefining the roles of developers - Stack Overflow Bl" 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/2022/07/18/how-observability-is-redefining-the-roles-of-developers" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;How observability is redefining the roles of developers - Stack Overflow Bl&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; &lt;time datetime="2022-11-13"&gt;Saved on 2022-11-13&lt;/time&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/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/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/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://stackoverflow.blog/2022/06/15/c-ienumerable-yield-return-and-lazy-evaluation" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/29/images/1055999267.png" alt="C#: IEnumerable, yield return, and lazy evaluation - Stack Overflow 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://stackoverflow.blog/2022/06/15/c-ienumerable-yield-return-and-lazy-evaluation" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;C#: IEnumerable, yield return, and lazy evaluation - Stack Overflow 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; &lt;time datetime="2022-11-13"&gt;Saved on 2022-11-13&lt;/time&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/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/dotnet/" class="Label Label--secondary mr-1 mb-1"&gt;dotnet&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/2022/04/21/the-robots-are-coming-for-the-boring-parts-of-your-job" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/29/images/1055999251.png" alt="The robots are coming for (the boring parts of) your job - Stack Overflow B" 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/2022/04/21/the-robots-are-coming-for-the-boring-parts-of-your-job" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The robots are coming for (the boring parts of) your job - Stack Overflow B&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; &lt;time datetime="2022-11-13"&gt;Saved on 2022-11-13&lt;/time&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; &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.yoshuawuyts.com/state-machines-2/index" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/images/bookmark-placeholder.jpg" alt="State Machines II" 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.yoshuawuyts.com/state-machines-2/index" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;State Machines II&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; &lt;time datetime="2022-11-13"&gt;Saved on 2022-11-13&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;blog.yoshuawuyts.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/algorithms/" class="Label Label--secondary mr-1 mb-1"&gt;algorithms&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; &#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://github.com/readme/featured/java-programming-language" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/30/images/1055999282.jpg" alt="Don’t call it a comeback: Why Java is still champ · GitHub" 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://github.com/readme/featured/java-programming-language" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Don’t call it a comeback: Why Java is still champ · GitHub&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; &lt;time datetime="2022-11-13"&gt;Saved on 2022-11-13&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;github.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Java has been declared dead many times—and yet, it’s still going strong, undergoing what some might call a renaissance from both a technology and ecosystem perspective. Learn more on The ReadME Pro...&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://www.joshfinnie.com/blog/using-webassembly-created-in-rust-for-fast-react-components" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/30/images/1055999211.png" alt="Using WebAssembly (created in Rust) for Fast React Components | www.joshfin" 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.joshfinnie.com/blog/using-webassembly-created-in-rust-for-fast-react-components" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Using WebAssembly (created in Rust) for Fast React Components | www.joshfin&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; &lt;time datetime="2022-11-13"&gt;Saved on 2022-11-13&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;joshfinnie.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;In this blog post we will learn how to leverage the Rust programming language to compile WebAssembly which we will then use in our React application. This gives us access to low-level components to speed up our code!&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://fettblog.eu/how-not-to-learn-typescript" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/30/images/1055999226.jpg" alt="How not to learn 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://fettblog.eu/how-not-to-learn-typescript" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;How not to learn 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; &lt;time datetime="2022-11-13"&gt;Saved on 2022-11-13&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;fettblog.eu&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;“TypeScript and I are never going to be friends”. Oh wow, how often have I heard this phrase? Learning TypeScript, even in 2022, can be frustrating it seems. And for so many different reasons. People who write Java or C# and find out things are working differently than they shoul&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/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://harshal.sheth.io/2022/01/31/webassembly.html" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/30/images/1055999233.webp" alt="Pay attention to WebAssembly | Harshal Sheth" 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://harshal.sheth.io/2022/01/31/webassembly.html" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Pay attention to WebAssembly | Harshal Sheth&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; &lt;time datetime="2022-11-13"&gt;Saved on 2022-11-13&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;harshal.sheth.io&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Read in Japanese thanks to the folks at POSTD.&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/2022/03/17/new-data-what-makes-developers-happy-at-work" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/30/images/1055999244.png" alt="New data: What makes developers happy at work - Stack Overflow 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://stackoverflow.blog/2022/03/17/new-data-what-makes-developers-happy-at-work" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;New data: What makes developers happy at work - Stack Overflow 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; &lt;time datetime="2022-11-13"&gt;Saved on 2022-11-13&lt;/time&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/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/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/2022/03/09/rewriting-bash-scripts-in-go-using-black-box-testing" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/30/images/1055999242.png" alt="Rewriting Bash scripts in Go using black box testing - Stack Overflow 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://stackoverflow.blog/2022/03/09/rewriting-bash-scripts-in-go-using-black-box-testing" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Rewriting Bash scripts in Go using black box testing - Stack Overflow 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; &lt;time datetime="2022-11-13"&gt;Saved on 2022-11-13&lt;/time&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/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://stackoverflow.blog/2022/03/03/stop-aggregating-away-the-signal-in-your-data" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/30/images/1055999241.png" alt="Stop aggregating away the signal in your data - Stack Overflow 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://stackoverflow.blog/2022/03/03/stop-aggregating-away-the-signal-in-your-data" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Stop aggregating away the signal in your data - Stack Overflow 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; &lt;time datetime="2022-11-13"&gt;Saved on 2022-11-13&lt;/time&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/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/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/2022/01/31/the-complete-beginners-guide-to-dynamic-programming" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/30/images/1055999232.png" alt="The complete beginners guide to dynamic programming - Stack Overflow 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://stackoverflow.blog/2022/01/31/the-complete-beginners-guide-to-dynamic-programming" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The complete beginners guide to dynamic programming - Stack Overflow 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; &lt;time datetime="2022-11-13"&gt;Saved on 2022-11-13&lt;/time&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/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://stackoverflow.blog/2022/01/17/plan-for-tradeoffs-you-cant-optimize-all-software-quality-attributes" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/30/images/1055999230.png" alt="Plan for tradeoffs: You can’t optimize all software quality attributes - St" 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/2022/01/17/plan-for-tradeoffs-you-cant-optimize-all-software-quality-attributes" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Plan for tradeoffs: You can’t optimize all software quality attributes - St&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; &lt;time datetime="2022-11-13"&gt;Saved on 2022-11-13&lt;/time&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/product/" class="Label Label--secondary mr-1 mb-1"&gt;product&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;&lt;/p&gt;&#10;&lt;/div&gt;</description></item><item><title>Bookmarks tagged “programming”</title><link>https://blog.maceage.com/bookmarks/tags/programming/page/9/</link><pubDate>Fri, 23 Oct 2026 06:30:41 +0000</pubDate><guid>https://blog.maceage.com/bookmarks/tags/programming/page/9/</guid><description>&lt;p&gt;342 bookmarks tagged “programming”&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/2022/01/03/favor-real-dependencies-for-unit-testing" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/31/images/1055999225.png" alt="Favor real dependencies for unit testing - Stack Overflow 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://stackoverflow.blog/2022/01/03/favor-real-dependencies-for-unit-testing" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Favor real dependencies for unit testing - Stack Overflow 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; &lt;time datetime="2022-11-13"&gt;Saved on 2022-11-13&lt;/time&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/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/2021/12/28/what-i-wish-i-had-known-about-single-page-applications" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/31/images/1055999221.png" alt="What I wish I had known about single page applications - Stack Overflow Blo" 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/2021/12/28/what-i-wish-i-had-known-about-single-page-applications" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;What I wish I had known about single page applications - Stack Overflow Blo&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; &lt;time datetime="2022-11-13"&gt;Saved on 2022-11-13&lt;/time&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/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/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/react/" class="Label Label--secondary mr-1 mb-1"&gt;react&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/2021/12/22/best-practices-can-slow-your-application-down" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/31/images/1055999218.png" alt="Best practices can slow your application down - Stack Overflow 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://stackoverflow.blog/2021/12/22/best-practices-can-slow-your-application-down" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Best practices can slow your application down - Stack Overflow 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; &lt;time datetime="2022-11-13"&gt;Saved on 2022-11-13&lt;/time&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/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; &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/2021/12/09/smashing-bugs-to-set-a-world-record-aws-bugbust" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/31/images/1055999215.png" alt="Smashing bugs to set a world record: AWS BugBust - Stack Overflow 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://stackoverflow.blog/2021/12/09/smashing-bugs-to-set-a-world-record-aws-bugbust" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Smashing bugs to set a world record: AWS BugBust - Stack Overflow 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; &lt;time datetime="2022-11-13"&gt;Saved on 2022-11-13&lt;/time&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/amazon/" class="Label Label--secondary mr-1 mb-1"&gt;amazon&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://stackoverflow.blog/2021/11/29/the-four-engineering-metrics-that-will-streamline-your-software-delivery" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/31/images/1055999213.png" alt="The four engineering metrics that will streamline your software delivery -" 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/2021/11/29/the-four-engineering-metrics-that-will-streamline-your-software-delivery" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The four engineering metrics that will streamline your software delivery -&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; &lt;time datetime="2022-11-13"&gt;Saved on 2022-11-13&lt;/time&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/devops/" class="Label Label--secondary mr-1 mb-1"&gt;devops&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://stackoverflow.blog/2022/04/07/you-should-be-reading-academic-computer-science-papers" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/31/images/1055999247.png" alt="You should be reading academic computer science papers - Stack Overflow Blo" 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/2022/04/07/you-should-be-reading-academic-computer-science-papers" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;You should be reading academic computer science papers - Stack Overflow Blo&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; &lt;time datetime="2022-11-13"&gt;Saved on 2022-11-13&lt;/time&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; &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/2022/04/04/comparing-go-vs-c-in-embedded-applications" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/31/images/1055999246.png" alt="Comparing Go vs. C in embedded applications - Stack Overflow 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://stackoverflow.blog/2022/04/04/comparing-go-vs-c-in-embedded-applications" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Comparing Go vs. C in embedded applications - Stack Overflow 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; &lt;time datetime="2022-11-13"&gt;Saved on 2022-11-13&lt;/time&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/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/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; &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/2021/11/10/does-es6-make-javascript-frameworks-obsolete" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/31/images/1055999209.png" alt="Does ES6 make JavaScript frameworks obsolete? - Stack Overflow 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://stackoverflow.blog/2021/11/10/does-es6-make-javascript-frameworks-obsolete" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Does ES6 make JavaScript frameworks obsolete? - Stack Overflow 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; &lt;time datetime="2022-11-13"&gt;Saved on 2022-11-13&lt;/time&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/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/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/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/2021/11/01/why-solid-principles-are-still-the-foundation-for-modern-software-architecture" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/31/images/1055999208.png" alt="Why SOLID principles are still the foundation for modern software architect" 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/2021/11/01/why-solid-principles-are-still-the-foundation-for-modern-software-architecture" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Why SOLID principles are still the foundation for modern software architect&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; &lt;time datetime="2022-11-13"&gt;Saved on 2022-11-13&lt;/time&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/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; &#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://web.dev/ps-on-the-web" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/31/images/1055999205.webp" alt="Photoshop&amp;#39;s journey to the web" 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://web.dev/ps-on-the-web" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Photoshop&amp;#39;s journey to the web&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; &lt;time datetime="2022-11-13"&gt;Saved on 2022-11-13&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;web.dev&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Over the last three years, Chrome has been working to empower web applications that want to push the boundaries of what&amp;amp;#39;s possible in the browser. One such web application has been Photoshop. The idea of running software as complex as Photoshop directly in the browser would h&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/2021/10/27/strong-teams-are-more-than-just-connected-they-are-communities" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/31/images/1055999207.png" alt="Strong teams are more than just connected, they are communities - Stack Ove" 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/2021/10/27/strong-teams-are-more-than-just-connected-they-are-communities" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Strong teams are more than just connected, they are communities - Stack Ove&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; &lt;time datetime="2022-11-13"&gt;Saved on 2022-11-13&lt;/time&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/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.ntcore.com/files/richsign.htm" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/31/images/1055997635.webp" alt="Microsoft&amp;#39;s Rich Signature (undocumented)" 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.ntcore.com/files/richsign.htm" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Microsoft&amp;#39;s Rich Signature (undocumented)&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; &lt;time datetime="2022-11-13"&gt;Saved on 2022-11-13&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;ntcore.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; &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/2021/10/18/code-quality-a-concern-for-businesses-bottom-lines-and-empathetic-programmers" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/31/images/1055999206.png" alt="Code quality: a concern for businesses, bottom lines, and empathetic progra" 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/2021/10/18/code-quality-a-concern-for-businesses-bottom-lines-and-empathetic-programmers" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Code quality: a concern for businesses, bottom lines, and empathetic progra&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; &lt;time datetime="2022-11-13"&gt;Saved on 2022-11-13&lt;/time&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/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://future.com/the-case-for-developer-experience" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/31/images/1055999262.jpg" alt="The Case for &amp;#39;Developer Experience&amp;#39; | Future" 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://future.com/the-case-for-developer-experience" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The Case for &amp;#39;Developer Experience&amp;#39; | Future&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; &lt;time datetime="2022-11-13"&gt;Saved on 2022-11-13&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;future.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;How are developers supposed to manage and coordinate fast-moving, heterogeneous systems including maintenance &amp;amp; operations — and free themselves to build?&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/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://dev.to/clearlythuydoan/big-o-notation-as-a-mid-level-developer-who-has-been-avoiding-it-since-bootcamp-arrays-and-time-complexity-np8" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/31/images/1055999201.jpg" alt="Big O Notation as a Mid-Level Developer Who Has Been Avoiding It Since Boot" 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://dev.to/clearlythuydoan/big-o-notation-as-a-mid-level-developer-who-has-been-avoiding-it-since-bootcamp-arrays-and-time-complexity-np8" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Big O Notation as a Mid-Level Developer Who Has Been Avoiding It Since Boot&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; &lt;time datetime="2022-11-13"&gt;Saved on 2022-11-13&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;dev.to&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;At the beginning of this year, I was promoted to intermediate developer 🎊 At your company, 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/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://stackoverflow.blog/2021/10/13/why-solve-a-problem-twice-design-patterns-let-you-apply-existing-solutions-to-your-code" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/31/images/1055999204.png" alt="Why solve a problem twice? Design patterns let you apply existing solutions" 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/2021/10/13/why-solve-a-problem-twice-design-patterns-let-you-apply-existing-solutions-to-your-code" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Why solve a problem twice? Design patterns let you apply existing solutions&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; &lt;time datetime="2022-11-13"&gt;Saved on 2022-11-13&lt;/time&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/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://stackoverflow.blog/2021/10/06/best-practices-for-authentication-and-authorization-for-rest-apis" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/31/images/1055999202.png" alt="Best practices for REST API security: Authentication and authorization - St" 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/2021/10/06/best-practices-for-authentication-and-authorization-for-rest-apis" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Best practices for REST API security: Authentication and authorization - St&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; &lt;time datetime="2022-11-13"&gt;Saved on 2022-11-13&lt;/time&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; &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/2021/10/04/extracting-text-from-any-file-is-harder-than-it-looks-extracting-formatting-is-even-harder" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/31/images/1055999203.png" alt="Extracting text from any file is harder than it looks. Extracting formattin" 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/2021/10/04/extracting-text-from-any-file-is-harder-than-it-looks-extracting-formatting-is-even-harder" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Extracting text from any file is harder than it looks. Extracting formattin&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; &lt;time datetime="2022-11-13"&gt;Saved on 2022-11-13&lt;/time&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; &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://nolanlawson.com/2021/08/15/does-shadow-dom-improve-style-performance" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/32/images/1055999192.png" alt="Does shadow DOM improve style performance? | Read the Tea Leaves" 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://nolanlawson.com/2021/08/15/does-shadow-dom-improve-style-performance" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Does shadow DOM improve style performance? | Read the Tea Leaves&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; &lt;time datetime="2022-11-13"&gt;Saved on 2022-11-13&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;nolanlawson.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Update: I wrote a follow-up post on this topic. Short answer: Kinda. It depends. And it might not be enough to make a big difference in the average web app. But it’s worth understanding 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/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/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; &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/2021/08/25/see-where-your-engineering-process-go-wrong-with-data-visualization" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/32/images/1055999197.png" alt="Diagnose engineering process failures with data visualization - Stack Overf" 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/2021/08/25/see-where-your-engineering-process-go-wrong-with-data-visualization" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Diagnose engineering process failures with data visualization - Stack Overf&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; &lt;time datetime="2022-11-13"&gt;Saved on 2022-11-13&lt;/time&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; &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://slack.engineering/how-we-design-our-apis-at-slack" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/32/images/1055999189.png" alt="How We Design Our APIs at Slack - Slack Engineering" 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://slack.engineering/how-we-design-our-apis-at-slack" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;How We Design Our APIs at Slack - Slack Engineering&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; &lt;time datetime="2022-11-13"&gt;Saved on 2022-11-13&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;slack.engineering&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;More than five years ago, we launched the Slack Platform, giving developers an easy way to build apps in Slack and publish them in our App Directory. Today, millions of users bring their work into Slack, and those apps built by over 885,000 active developers on the platform are k&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/2021/12/31/700000-lines-of-code-20-years-and-one-developer-how-dwarf-fortress-is-built" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/32/images/1055999224.png" alt="700,000 lines of code, 20 years, and one developer: How Dwarf Fortress is b" 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/2021/12/31/700000-lines-of-code-20-years-and-one-developer-how-dwarf-fortress-is-built" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;700,000 lines of code, 20 years, and one developer: How Dwarf Fortress is b&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; &lt;time datetime="2022-11-13"&gt;Saved on 2022-11-13&lt;/time&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/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://stackoverflow.blog/2021/12/23/best-practices-for-writing-code-comments" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/32/images/1055999219.png" alt="Best practices for writing code comments - Stack Overflow 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://stackoverflow.blog/2021/12/23/best-practices-for-writing-code-comments" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Best practices for writing code comments - Stack Overflow 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; &lt;time datetime="2022-11-13"&gt;Saved on 2022-11-13&lt;/time&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/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://stackoverflow.blog/2021/06/09/using-low-code-tools-to-iterate-products-faster" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/32/images/1055999178.png" alt="Using low-code tools to iterate products faster - Stack Overflow 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://stackoverflow.blog/2021/06/09/using-low-code-tools-to-iterate-products-faster" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Using low-code tools to iterate products faster - Stack Overflow 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; &lt;time datetime="2022-11-13"&gt;Saved on 2022-11-13&lt;/time&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/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://dev.to/nutlope/how-to-develop-your-talent-stack-1j2f" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/images/bookmark-placeholder.jpg" alt="How to Develop Your Talent Stack" 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://dev.to/nutlope/how-to-develop-your-talent-stack-1j2f" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;How to Develop Your Talent Stack&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; &lt;time datetime="2022-10-16"&gt;Saved on 2022-10-16&lt;/time&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;dev.to&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;A breakdown of how to be extraordinary by building your talent stack.&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/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; &#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>