<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Bookmarks from 2019 on Maceage's Blog</title><link>https://blog.maceage.com/bookmarks/years/2019/</link><description>Recent content in Bookmarks from 2019 on Maceage's Blog</description><generator>Hugo</generator><language>en-au</language><copyright>© Graham Mace</copyright><lastBuildDate>Tue, 17 Dec 2019 03:34:53 +0000</lastBuildDate><atom:link href="https://blog.maceage.com/bookmarks/years/2019/index.xml" rel="self" type="application/rss+xml"/><item><title>Bookmarks from 2019</title><link>https://blog.maceage.com/bookmarks/years/2019/page/2/</link><pubDate>Tue, 17 Dec 2019 03:34:53 +0000</pubDate><guid>https://blog.maceage.com/bookmarks/years/2019/page/2/</guid><description>&lt;p&gt;124 bookmarks from 2019&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.newyorker.com/magazine/2019/10/21/is-amazon-unstoppable/amp" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/48/images/1055997829.jpg" alt="Is Amazon Unstoppable?" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&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.newyorker.com/magazine/2019/10/21/is-amazon-unstoppable/amp" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Is Amazon Unstoppable?&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-10-23"&gt;Saved on 2019-10-23&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;newyorker.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Politicians want to rein in the retail giant. But Jeff Bezos, the master of cutthroat capitalism, is ready to fight back, Charles Duhigg writes.&lt;/p&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/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/news/" class="Label Label--secondary mr-1 mb-1"&gt;news&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/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/netflix-techblog/delta-a-data-synchronization-and-enrichment-platform-e82c36a79aee" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/48/images/1055997831.png" alt="Delta: A Data Synchronization and Enrichment Platform" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&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/netflix-techblog/delta-a-data-synchronization-and-enrichment-platform-e82c36a79aee" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Delta: A Data Synchronization and Enrichment Platform&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-10-23"&gt;Saved on 2019-10-23&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;medium.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Delta is an eventual consistent, event driven, data synchronization and enrichment platform built at Netflix.&lt;/p&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/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/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/@rosebytespaint/product-management-digest-from-api-days-1101ef636430" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/48/images/1055997832.png" alt="Product Management Digest from API Days - rosebytespaint - 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/@rosebytespaint/product-management-digest-from-api-days-1101ef636430" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Product Management Digest from API Days - rosebytespaint - Medium&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-10-23"&gt;Saved on 2019-10-23&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;medium.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Last month, the APIDays conference took place in Melbourne. The conference was about the shifting API landscape. And just like every Platform /API Product Manager would be keen to understand API…&lt;/p&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/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/netflix-techblog/open-sourcing-mantis-a-platform-for-building-cost-effective-realtime-operations-focused-5b8ff387813a" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/48/images/1055997835.png" alt="Open Sourcing Mantis: A Platform For Building Cost-Effective, Realtime, Ope" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&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/netflix-techblog/open-sourcing-mantis-a-platform-for-building-cost-effective-realtime-operations-focused-5b8ff387813a" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Open Sourcing Mantis: A Platform For Building Cost-Effective, Realtime, Ope&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-10-23"&gt;Saved on 2019-10-23&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;medium.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Learn more about how Mantis provides on-demand data fetching, aggressive data reuse, and native autoscaling to help you minimize the costs of observing microservices without compromising on required 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/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/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.fb.com/android/the-technology-behind-preview-photos" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/48/images/1055997808.jpg" alt="The technology behind preview photos" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&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/android/the-technology-behind-preview-photos" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The technology behind preview photos&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-10-21"&gt;Saved on 2019-10-21&lt;/time&gt;&#10; &lt;/a&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;Visit the post for 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/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/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/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://parametric.press/issue-01/unraveling-the-jpeg" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/48/images/1055997753.png" alt="Unraveling The JPEG" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://parametric.press/issue-01/unraveling-the-jpeg" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Unraveling The JPEG&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-10-21"&gt;Saved on 2019-10-21&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;parametric.press&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;JPEG images are everywhere in our digital lives, but behind the veil of familiarity lie algorithms that remove details that are imperceptible to the human eye. This produces the highest visual quality with the smallest file size—but what does that look like? Let&amp;#39;s see what our ey&lt;/p&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/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://blackboxofpm.com/the-time-value-of-shipping-6deaf8d7d565" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/48/images/1055997652.jpg" alt="The Time Value of Shipping - The Black Box of Product 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://blackboxofpm.com/the-time-value-of-shipping-6deaf8d7d565" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The Time Value of Shipping - The Black Box of Product 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; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-10-21"&gt;Saved on 2019-10-21&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;blackboxofpm.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Shipping is a Feature is a core principle for product managers. It proposes that you’ll never be able to build a perfect product, so you need to learn how and when to ship your imperfect one, because…&lt;/p&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/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.defmyfunc.com/2019-06-12_the_uncomfortable_world_of_constan_discovery" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/48/images/1055997818.webp" alt="&amp;#34;The uncomfortable world of constant discovery&amp;#34; or &amp;#34;The difference between" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&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.defmyfunc.com/2019-06-12_the_uncomfortable_world_of_constan_discovery" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;&amp;#34;The uncomfortable world of constant discovery&amp;#34; or &amp;#34;The difference between&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-10-21"&gt;Saved on 2019-10-21&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;defmyfunc.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;A look at the differences between &amp;#39;Product&amp;#39; teams and &amp;#39;Delivery&amp;#39; 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/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; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#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.linkedin.com/blog/2019/apache-kafka-trillion-messages" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/48/images/1055997827.png" alt="How LinkedIn customizes Apache Kafka for 7 trillion messages per day | Link" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&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.linkedin.com/blog/2019/apache-kafka-trillion-messages" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;How LinkedIn customizes Apache Kafka for 7 trillion messages per day | Link&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-10-21"&gt;Saved on 2019-10-21&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;engineering.linkedin.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/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/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/blog/engineering/distributed-systems/log-what-every-software-engineer-should-know-about-real-time-datas-unifying" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/images/bookmark-placeholder.jpg" alt="The Log: What every software engineer should know about real-time data&amp;#39;s un" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&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/blog/engineering/distributed-systems/log-what-every-software-engineer-should-know-about-real-time-datas-unifying" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The Log: What every software engineer should know about real-time data&amp;#39;s un&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-10-21"&gt;Saved on 2019-10-21&lt;/time&gt;&#10; &lt;/a&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;I joined LinkedIn about six years ago at a particularly interesting time. We were just beginning to run up against the limits of our monolithic, centralized database and needed to start the transition to a portfolio of specialized distributed systems. This has been an interesting&lt;/p&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/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/distributed-systems/" class="Label Label--secondary mr-1 mb-1"&gt;distributed systems&lt;/a&gt;&#10; &#10; &#10; &lt;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/2017/10/big-data-processing-at-spotify-the-road-to-scio-part-1" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/48/images/1055997663.png" alt="Big Data Processing at Spotify: The Road to Scio (Part 1) | 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/2017/10/big-data-processing-at-spotify-the-road-to-scio-part-1" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Big Data Processing at Spotify: The Road to Scio (Part 1) | 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; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-10-21"&gt;Saved on 2019-10-21&lt;/time&gt;&#10; &lt;/a&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;This is the first part of a 2 part blog series. In this series we will talk about , a Scala API for  and , and how we built the majority of our new data pipelines on Google Cloud with Scio.&lt;/p&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/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/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/capturing-data-pipeline-errors-functionally-writer-monads" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/48/images/1055997732.jpg" alt="Capturing data pipeline errors functionally with Writer Monads | ThoughtWor" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&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/capturing-data-pipeline-errors-functionally-writer-monads" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Capturing data pipeline errors functionally with Writer Monads | ThoughtWor&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-10-21"&gt;Saved on 2019-10-21&lt;/time&gt;&#10; &lt;/a&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;As businesses grapple with vast quantities of data, emerging from batch-based and streaming sources, it’s truly exciting to see the dominant data processing frameworks embrace the Kappa Architecture, that unifies batch and stream processing. With Kappa Architecture, the batch 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/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/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/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://blog.sia.tech/the-state-of-cryptocurrency-mining-538004a37f9b" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/48/images/1055997689.jpg" alt="The State of Cryptocurrency Mining - The Sia 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.sia.tech/the-state-of-cryptocurrency-mining-538004a37f9b" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The State of Cryptocurrency Mining - The Sia Blog&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-10-16"&gt;Saved on 2019-10-16&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;blog.sia.tech&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;For those new to the blog, I am the lead developer of Sia, a blockchain based cloud storage platform. About a year ago, myself and some members of the Sia team started Obelisk, a cryptocurrency ASIC…&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/blockchain/" class="Label Label--secondary mr-1 mb-1"&gt;blockchain&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/finance/" class="Label Label--secondary mr-1 mb-1"&gt;finance&lt;/a&gt;&#10; &#10; &#10; &lt;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/@matfarley/7-things-i-learnt-from-10-conversations-about-recognition-727bcef1b8b6" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/49/images/1055997731.jpg" alt="7 Things I Learnt from 10 Conversations About Recognition" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&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/@matfarley/7-things-i-learnt-from-10-conversations-about-recognition-727bcef1b8b6" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;7 Things I Learnt from 10 Conversations About Recognition&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-10-15"&gt;Saved on 2019-10-15&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;medium.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;If you aren’t familiar with Officevibe check them out, but essentially it’s a tool that uses an ongoing survey with a randomised set of questions. Results are then grouped into 10 metrics…&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/career/" class="Label Label--secondary mr-1 mb-1"&gt;career&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/leadership/" class="Label Label--secondary mr-1 mb-1"&gt;leadership&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/psychology/" class="Label Label--secondary mr-1 mb-1"&gt;psychology&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://blog.twitch.tv/en/2019/04/10/go-memory-ballast-how-i-learnt-to-stop-worrying-and-love-the-heap/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/images/bookmark-placeholder.jpg" alt="Go memory ballast: How I learnt to stop worrying and love the heap" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&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.twitch.tv/en/2019/04/10/go-memory-ballast-how-i-learnt-to-stop-worrying-and-love-the-heap/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Go memory ballast: How I learnt to stop worrying and love the heap&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-10-13"&gt;Saved on 2019-10-13&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;blog.twitch.tv&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/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/@dylnuge/chernobyl-devops-software-engineering-disaster-management-and-observability-8a50a7ea98d6" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/49/images/1055997768.jpg" alt="Chernobyl DevOps: Software Engineering, Disaster Management, and Observability" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&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/@dylnuge/chernobyl-devops-software-engineering-disaster-management-and-observability-8a50a7ea98d6" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Chernobyl DevOps: Software Engineering, Disaster Management, and Observability&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-10-08"&gt;Saved on 2019-10-08&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;medium.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Or at least, that’s the story that operators working for FirstEnergy in a power substation in Wadsworth, Ohio, just a few miles southwest of Akron, had in front of them. All systems seemed…&lt;/p&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/news/" class="Label Label--secondary mr-1 mb-1"&gt;news&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/science/" class="Label Label--secondary mr-1 mb-1"&gt;science&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#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.mindtheproduct.com/becoming-a-platform-product-manager" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/images/bookmark-placeholder.jpg" alt="Changing Lanes - Becoming a Platform Product Manager - Mind the Product" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&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.mindtheproduct.com/becoming-a-platform-product-manager" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Changing Lanes - Becoming a Platform Product Manager - Mind the Product&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-10-06"&gt;Saved on 2019-10-06&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;mindtheproduct.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;I’m a product manager for a content management system that runs some of the most-visited websites in the world. Our team reports to the CTO, and we sit within the engineering arm of the organization. Prior to this I’d had a year’s product experience at a customer-facing SaaS comp&lt;/p&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/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://lethain.com/product-management-infra-engineering" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/49/images/1055997672.png" alt="Product management in infrastructure 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://lethain.com/product-management-infra-engineering" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Product management in infrastructure 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; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-10-06"&gt;Saved on 2019-10-06&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;lethain.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Recently a bunch of teams I work with have turned the corner, having paid down technical debt to a long-term sustainable level. The future unfurls with possibility. Many of the infrastructure engineer teams I’ve been a part of have struggled to make the transition from maintenanc&lt;/p&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/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://hbr.org/2010/07/stop-trying-to-delight-your-customers" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/49/images/1055997477.webp" alt="Stop Trying to Delight Your Customers" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://hbr.org/2010/07/stop-trying-to-delight-your-customers" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Stop Trying to Delight Your Customers&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-10-06"&gt;Saved on 2019-10-06&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;hbr.org&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;To really win their loyalty, forget the bells and whistles and just solve their problems.&lt;/p&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/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-hard-parts-3f06cefaf592" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/49/images/1055997824.png" alt="Testing in Production: the hard parts - 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-hard-parts-3f06cefaf592" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Testing in Production: the hard parts - 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; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-09-30"&gt;Saved on 2019-09-30&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;medium.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;There’s a fair bit of chatter about the virtues of testing in production these days. I’ve myself written about this topic over a year ago. This post isn’t so much of an argument as to why one should…&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/testing/" class="Label Label--secondary mr-1 mb-1"&gt;testing&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://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/49/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; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-09-30"&gt;Saved on 2019-09-30&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;medium.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;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://www.mattbutton.com/accelerate-building-and-scaling-high-performing-technology-organisations" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/49/images/1055997821.jpg" alt="Accelerate - Building and Scaling High Performing Technology Organisations" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&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.mattbutton.com/accelerate-building-and-scaling-high-performing-technology-organisations" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Accelerate - Building and Scaling High Performing Technology Organisations&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-09-26"&gt;Saved on 2019-09-26&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;mattbutton.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;I first read Accelerate by Nicole Forsgren, Jez Humble, Gene Kim back in 2018 when it was a hot topic in the office; only an hour or two would go by between overhearing somebody talk about it, internal blog posts were being written, and we’d receive emails about following the fin&lt;/p&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/leadership/" class="Label Label--secondary mr-1 mb-1"&gt;leadership&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/management/" class="Label Label--secondary mr-1 mb-1"&gt;management&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/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/productivity/" class="Label Label--secondary mr-1 mb-1"&gt;productivity&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://pando.com/2013/07/23/move-fast-break-things-the-sad-story-of-platform-facebooks-gigantic-missed-opportunity" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/49/images/1055997514.png" alt="Pando: Move fast, break things: The sad story of Platform, Facebook’s gigan" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://pando.com/2013/07/23/move-fast-break-things-the-sad-story-of-platform-facebooks-gigantic-missed-opportunity" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Pando: Move fast, break things: The sad story of Platform, Facebook’s gigan&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-09-26"&gt;Saved on 2019-09-26&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;pando.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Democratizing career progression&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/history/" class="Label Label--secondary mr-1 mb-1"&gt;history&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://blog.glowforge.com/strong-opinions-loosely-held-might-be-the-worst-idea-in-tech" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/49/images/1055997757.jpg" alt="Strong Opinions Loosely Held Might be the Worst Idea in Tech - The Glowforg" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&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.glowforge.com/strong-opinions-loosely-held-might-be-the-worst-idea-in-tech" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Strong Opinions Loosely Held Might be the Worst Idea in Tech - The Glowforg&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-09-25"&gt;Saved on 2019-09-25&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;blog.glowforge.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Meet Glowforge, the 3D laser printer that makes magical things at the push of a button.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/career/" class="Label Label--secondary mr-1 mb-1"&gt;career&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://qualitysafety.bmj.com/content/26/8/671" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/images/bookmark-placeholder.jpg" alt="The problem with ‘5 whys’" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://qualitysafety.bmj.com/content/26/8/671" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The problem with ‘5 whys’&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-09-25"&gt;Saved on 2019-09-25&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;qualitysafety.bmj.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;‘The Problem with…’ series covers controversial topics related to efforts to improve healthcare quality, including widely recommended but deceptively difficult strategies for improvement and pervasive problems that seem to resist solution. The ‘5 whys’ technique is one of the mo&lt;/p&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/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&lt;/p&gt;&#10;&lt;/div&gt;</description></item><item><title>Bookmarks from 2019</title><link>https://blog.maceage.com/bookmarks/years/2019/page/3/</link><pubDate>Tue, 17 Dec 2019 03:34:53 +0000</pubDate><guid>https://blog.maceage.com/bookmarks/years/2019/page/3/</guid><description>&lt;p&gt;124 bookmarks from 2019&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://a-product-manager.blogspot.com/2019/09/six-common-traps-that-undermine.html" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/images/bookmark-placeholder.jpg" alt="Six Common Traps that Undermine Strategic Product Management [Mind the Product]" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://a-product-manager.blogspot.com/2019/09/six-common-traps-that-undermine.html" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Six Common Traps that Undermine Strategic Product Management [Mind the Product]&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-09-23"&gt;Saved on 2019-09-23&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;a-product-manager.blogspot.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Product management blog that summarizes product manager posts, news and articles from around the web.&lt;/p&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; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#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/bot-ross-teaching-a-computer-to-paint-f5a9c9ef908" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/49/images/1055997820.png" alt="Bot Ross: Teaching a Computer to Paint" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&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/bot-ross-teaching-a-computer-to-paint-f5a9c9ef908" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Bot Ross: Teaching a Computer to Paint&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-09-23"&gt;Saved on 2019-09-23&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;medium.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;I am not, I will admit, a terribly good artist. Not with a brush and paint at least. I can make a credible effort with a pen or pencil, provided you’re not after something tricky like human hands or…&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/ai/" class="Label Label--secondary mr-1 mb-1"&gt;ai&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://brandur.org/postgres-atomicity" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/49/images/1055997653.jpg" alt="How Postgres Makes Transactions Atomic" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://brandur.org/postgres-atomicity" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;How Postgres Makes Transactions Atomic&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-09-23"&gt;Saved on 2019-09-23&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;brandur.org&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;A dive into the mechanics that allow Postgres to provide strong atomic guarantees despite the chaotic entropy of production.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/database/" class="Label Label--secondary mr-1 mb-1"&gt;database&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/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/@notaredpanda/are-cats-liquid-ce6d5e5a881c" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/49/images/1055997779.png" alt="Are Cats Liquid? - Tenderly" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&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/@notaredpanda/are-cats-liquid-ce6d5e5a881c" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Are Cats Liquid? - Tenderly&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-09-21"&gt;Saved on 2019-09-21&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;medium.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Most contemporary physicists are concerned with technical, big-picture questions: Why do neutrinos have mass when the Standard Model says that they shouldn’t? Why are quantum field theory and general…&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/funny/" class="Label Label--secondary mr-1 mb-1"&gt;funny&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://pulse.11fs.com/research-reports/2019/08/open-banking-in-the-uk-whats-happened-so-far" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/49/images/1055997811.jpg" alt="Open Banking in the UK: what&amp;#39;s happened so far | 11:FS Pulse" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://pulse.11fs.com/research-reports/2019/08/open-banking-in-the-uk-whats-happened-so-far" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Open Banking in the UK: what&amp;#39;s happened so far | 11:FS Pulse&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-09-14"&gt;Saved on 2019-09-14&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;pulse.11fs.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Since January 2018, we have heard a lot about Open Banking, the regulation that has released the financial data of consumers from the banks’ ownership and into the hands of consumers. The short answer is “Yes, a lot has changed.” It took us over a century to build the mess that w&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/finance/" class="Label Label--secondary mr-1 mb-1"&gt;finance&lt;/a&gt;&#10; &#10; &#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; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://hbr.org/2019/09/8-things-leaders-do-that-make-employees-quit" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/49/images/1055997816.jpg" alt="8 Things Leaders Do That Make Employees Quit" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://hbr.org/2019/09/8-things-leaders-do-that-make-employees-quit" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;8 Things Leaders Do That Make Employees Quit&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-09-13"&gt;Saved on 2019-09-13&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;hbr.org&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;They’re some of the most expensive mistakes you can make.&lt;/p&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; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#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.liberatingstructures.com" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/49/images/1055997489.webp" alt="Liberating Structures - Introduction" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/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.liberatingstructures.com" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Liberating Structures - Introduction&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-09-09"&gt;Saved on 2019-09-09&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;liberatingstructures.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;liberating structures, social invention.net, microstructures, disruptive innovation, behavior change, collaboration, social invention, diffusion of innovation, strategy, transformation, heuristics, complexity science, emergence&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/agile/" class="Label Label--secondary mr-1 mb-1"&gt;agile&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://poolp.org/posts/2019-08-30/you-should-not-run-your-mail-server-because-mail-is-hard" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/49/images/1055997813.jpg" alt="You should not run your mail server because mail is hard - poolp.org" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://poolp.org/posts/2019-08-30/you-should-not-run-your-mail-server-because-mail-is-hard" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;You should not run your mail server because mail is hard - poolp.org&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-09-09"&gt;Saved on 2019-09-09&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;poolp.org&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;TL;DR: - Mail is not hard: people keep repeating that because they read it, not because they tried it - Big Mailer Corps are quite happy with that myth, it keeps their userbase growing - Big Mailer Corps control a large percentage of the e-mail address space which is good for non&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://medium.com/@daniel.heller/ten-principles-for-growth-69015e08c35b" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/49/images/1055997650.webp" alt="Ten Principles for Growth as an Engineer - Dan Heller - 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/@daniel.heller/ten-principles-for-growth-69015e08c35b" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Ten Principles for Growth as an Engineer - Dan Heller - Medium&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-09-09"&gt;Saved on 2019-09-09&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;medium.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;A brief list of practices for maturing as a software engineer.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/career/" class="Label Label--secondary mr-1 mb-1"&gt;career&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://google.github.io/eng-practices/review/reviewer" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/49/images/1055997815.webp" alt="How to do a code review | eng-practices" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://google.github.io/eng-practices/review/reviewer" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;How to do a code review | eng-practices&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-09-08"&gt;Saved on 2019-09-08&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;google.github.io&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Google’s Engineering Practices documentation&lt;/p&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/google/" class="Label Label--secondary mr-1 mb-1"&gt;google&lt;/a&gt;&#10; &#10; &#10; &lt;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.mrmoneymustache.com/2011/10/06/the-true-cost-of-commuting" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/49/images/1055997474.jpg" alt="The True Cost of Commuting" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&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.mrmoneymustache.com/2011/10/06/the-true-cost-of-commuting" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The True Cost of Commuting&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-08-30"&gt;Saved on 2019-08-30&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;mrmoneymustache.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;It was a beautiful evening in my neighborhood, and I was enjoying one of my giant homebrews on a deck chair I had placed in the middle of the street, as part of a nearby block’s Annual Stree…&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/cars/" class="Label Label--secondary mr-1 mb-1"&gt;cars&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://qa.increment.com/testing/i-test-in-production/" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/49/images/1055997810.jpg" alt="I test in prod – Increment: Testing" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://qa.increment.com/testing/i-test-in-production/" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;I test in prod – Increment: Testing&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-08-29"&gt;Saved on 2019-08-29&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;qa.increment.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Testing in production is a superpower. It’s our inability to acknowledge it that’s the trouble.&lt;/p&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/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://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; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-08-29"&gt;Saved on 2019-08-29&lt;/time&gt;&#10; &lt;/a&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://martinfowler.com/agile.html" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/50/images/1055997464.jpg" alt="Agile Software 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://martinfowler.com/agile.html" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Agile Software 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; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-08-29"&gt;Saved on 2019-08-29&lt;/time&gt;&#10; &lt;/a&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 is an approach designed to build software for uncertain and changing needs.&lt;/p&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/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://resources.github.com/whitepapers/introduction-to-innersource" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/50/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; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-08-26"&gt;Saved on 2019-08-26&lt;/time&gt;&#10; &lt;/a&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://cacm.acm.org/magazines/2016/7/204032-why-google-stores-billions-of-lines-of-code-in-a-single-repository/fulltext" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/50/images/1055997608.webp" alt="Why Google Stores Billions of Lines of Code in a Single Repository | July 2" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://cacm.acm.org/magazines/2016/7/204032-why-google-stores-billions-of-lines-of-code-in-a-single-repository/fulltext" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Why Google Stores Billions of Lines of Code in a Single Repository | July 2&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-08-26"&gt;Saved on 2019-08-26&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;cacm.acm.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/google/" class="Label Label--secondary mr-1 mb-1"&gt;google&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://www.theguardian.com/environment/2019/aug/17/plastic-recycling-myth-what-really-happens-your-rubbish" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/50/images/1055997807.jpg" alt="&amp;#39;Plastic recycling is a myth&amp;#39;: what really happens to your rubbish?" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&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.theguardian.com/environment/2019/aug/17/plastic-recycling-myth-what-really-happens-your-rubbish" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;&amp;#39;Plastic recycling is a myth&amp;#39;: what really happens to your rubbish?&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-08-20"&gt;Saved on 2019-08-20&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;theguardian.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;You sort your recycling, leave it to be collected – and then what? From councils burning the lot to foreign landfill sites overflowing with British rubbish, Oliver Franklin-Wallis reports on a global waste crisis&lt;/p&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/science/" class="Label Label--secondary mr-1 mb-1"&gt;science&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://modus.medium.com/you-cant-fix-unethical-design-by-yourself-c4ce4b6520a" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/50/images/1055997801.jpg" alt="You Can’t Fix Unethical Design by Yourself - Modus" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://modus.medium.com/you-cant-fix-unethical-design-by-yourself-c4ce4b6520a" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;You Can’t Fix Unethical Design by Yourself - Modus&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-08-16"&gt;Saved on 2019-08-16&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;modus.medium.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Like the climate emergency, unethical design won’t be solved with individual action alone. We need a radical shift in how the industry operates and educates, and regulatory bodies with power.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/psychology/" class="Label Label--secondary mr-1 mb-1"&gt;psychology&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/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/50/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; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-08-16"&gt;Saved on 2019-08-16&lt;/time&gt;&#10; &lt;/a&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://www.thoughtworks.com/insights/blog/growth-modeling-developers" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/50/images/1055997804.jpg" alt="Growth modeling for developers | 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/growth-modeling-developers" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Growth modeling for developers | 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; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-08-14"&gt;Saved on 2019-08-14&lt;/time&gt;&#10; &lt;/a&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;For anybody beginning a career as a software developer, we often make assumptions about how to succeed — assumptions that often turn out to be hopelessly wrong. As I&amp;#39;ve discovered over the last year, growth opportunities present themselves in all sorts of surprising ways, and I w&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/career/" class="Label Label--secondary mr-1 mb-1"&gt;career&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://www.thecut.com/article/how-to-have-a-happy-marriage.html" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/50/images/1055997803.jpg" alt="How to Have a Happy Marriage - 20 Tips for a Happy Marriage" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&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.thecut.com/article/how-to-have-a-happy-marriage.html" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;How to Have a Happy Marriage - 20 Tips for a Happy Marriage&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-08-12"&gt;Saved on 2019-08-12&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;thecut.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Remember that you chose to love this person.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/psychology/" class="Label Label--secondary mr-1 mb-1"&gt;psychology&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://medium.com/@jpcontad/a-year-of-running-kubernetes-as-a-product-7eed1204eecd" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/50/images/1055997734.png" alt="A Year Of Running Kubernetes at MYOB, And The Importance Of Empathy." loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&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/@jpcontad/a-year-of-running-kubernetes-as-a-product-7eed1204eecd" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;A Year Of Running Kubernetes at MYOB, And The Importance Of Empathy.&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-08-08"&gt;Saved on 2019-08-08&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;medium.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;In a year, we had 100 production apps across 26 tribes running on our cluster; we drove ISO 27001 compliance across 12 products, and taught 200 developers how to productionize 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/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/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.sciencehistory.org/distillations/ronald-fisher-a-bad-cup-of-tea-and-the-birth-of-modern-statistics" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/50/images/1055997800.jpg" alt="Ronald Fisher, a Bad Cup of Tea, and the Birth of Modern Statistics | Science History Institute" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&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.sciencehistory.org/distillations/ronald-fisher-a-bad-cup-of-tea-and-the-birth-of-modern-statistics" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Ronald Fisher, a Bad Cup of Tea, and the Birth of Modern Statistics | Science History Institute&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-08-08"&gt;Saved on 2019-08-08&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;sciencehistory.org&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;A lesson in humility begets a scientific revolution.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/history/" class="Label Label--secondary mr-1 mb-1"&gt;history&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="http://www.julianbrowne.com/article/brewers-cap-theorem" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/50/images/1055997566.webp" alt="Brewer&amp;#39;s CAP Theorem" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/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.julianbrowne.com/article/brewers-cap-theorem" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Brewer&amp;#39;s CAP Theorem&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-08-07"&gt;Saved on 2019-08-07&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;julianbrowne.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;An explanation of Eric Brewer’s CAP theorem, which says you cannot have more than two of Consistency, Availability and Partition-tolerance in web-based distributed systems.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/architecture/" class="Label Label--secondary mr-1 mb-1"&gt;architecture&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://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/50/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; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-08-05"&gt;Saved on 2019-08-05&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;medium.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;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;&lt;/p&gt;&#10;&lt;/div&gt;</description></item><item><title>Bookmarks from 2019</title><link>https://blog.maceage.com/bookmarks/years/2019/page/4/</link><pubDate>Tue, 17 Dec 2019 03:34:53 +0000</pubDate><guid>https://blog.maceage.com/bookmarks/years/2019/page/4/</guid><description>&lt;p&gt;124 bookmarks from 2019&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://medium.com/@johnpcutler/sticky-love-choosing-between-physical-boards-and-online-tools-874a457ebc80" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/50/images/1055997592.jpg" alt="Sticky Love — Choosing Between Physical Boards and Online 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://medium.com/@johnpcutler/sticky-love-choosing-between-physical-boards-and-online-tools-874a457ebc80" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Sticky Love — Choosing Between Physical Boards and Online 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; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-08-05"&gt;Saved on 2019-08-05&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;medium.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;The physical board vs. online tool debate has been a staple of my career for 5–8 years now. It changes form occasionally, and with each year there are new twists, but for the most part it has…&lt;/p&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/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; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#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/50/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; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-08-01"&gt;Saved on 2019-08-01&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;medium.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;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/50/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; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-08-01"&gt;Saved on 2019-08-01&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;blog.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/50/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; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-08-01"&gt;Saved on 2019-08-01&lt;/time&gt;&#10; &lt;/a&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://charity.wtf/p/engineering-management-the-pendulum-or-the-ladder" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/images/bookmark-placeholder.jpg" alt="Engineering Management: The Pendulum Or The Ladder" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://charity.wtf/p/engineering-management-the-pendulum-or-the-ladder" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Engineering Management: The Pendulum Or The Ladder&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-08-01"&gt;Saved on 2019-08-01&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;charity.wtf&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Last night I was out with a dear friend who has been an engineering manager for a year now, and by two drinks in I was rattling off a long list things I always say to newer engineering managers. Th…&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/career/" class="Label Label--secondary mr-1 mb-1"&gt;career&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/leadership/" class="Label Label--secondary mr-1 mb-1"&gt;leadership&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://charity.wtf/p/the-engineer-manager-pendulum" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/images/bookmark-placeholder.jpg" alt="The Engineer/Manager Pendulum" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://charity.wtf/p/the-engineer-manager-pendulum" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The Engineer/Manager Pendulum&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-08-01"&gt;Saved on 2019-08-01&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;charity.wtf&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Lately I’ve been doing some career counseling for people off Twitter (long story). The central drama for many people goes something like this: “I’m a senior engineer, but I’m thin…&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/career/" class="Label Label--secondary mr-1 mb-1"&gt;career&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/leadership/" class="Label Label--secondary mr-1 mb-1"&gt;leadership&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://www.thekua.com/atwork/2014/11/the-definition-of-a-tech-lead" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/50/images/1055997535.png" alt="The Definition of a Tech Lead" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&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.thekua.com/atwork/2014/11/the-definition-of-a-tech-lead" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The Definition of a Tech Lead&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-07-31"&gt;Saved on 2019-07-31&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;thekua.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Our industry is infamous for confusing terms. Roles in software development are a good example. Titles like Architect, Tech Lead, Team Lead and Engineering Manager ... Read 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/career/" class="Label Label--secondary mr-1 mb-1"&gt;career&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/leadership/" class="Label Label--secondary mr-1 mb-1"&gt;leadership&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#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://dougseven.com/2014/04/17/knightmare-a-devops-cautionary-tale" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/50/images/1055997524.jpg" alt="Knightmare: A DevOps Cautionary Tale" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://dougseven.com/2014/04/17/knightmare-a-devops-cautionary-tale" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Knightmare: A DevOps Cautionary Tale&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-07-27"&gt;Saved on 2019-07-27&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;dougseven.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;In the first 45-minutes the market was open the faulty software deployment sent millions of child orders into the market resulting in 4 million transactions against 154 stocks for more than 397 mil…&lt;/p&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/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://craigmod.com/essays/fast_software" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/images/bookmark-placeholder.jpg" alt="Fast Software, the Best 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://craigmod.com/essays/fast_software" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Fast Software, the Best Software&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-07-27"&gt;Saved on 2019-07-27&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;craigmod.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Essay on the benefits of speedy software, and how it affects user perception of engineering quality and overall usability&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://medium.com/@anton_yee/hypothesis-driven-ux-design-69e6aea8c275" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/50/images/1055997611.png" alt="Hypothesis Driven UX" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&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/@anton_yee/hypothesis-driven-ux-design-69e6aea8c275" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Hypothesis Driven UX&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-07-26"&gt;Saved on 2019-07-26&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;medium.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Hypothesis Driven UX In this article I aim to provide a high-level process on how hypothesis driven UX can be applied during the research phase of your design process. Hypothesis driven UX stems from …&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/design/" class="Label Label--secondary mr-1 mb-1"&gt;design&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/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; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#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/2015-12-15-move-fast" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/50/images/1055997747.png" alt="Move Fast and Fix Things" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&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/2015-12-15-move-fast" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Move Fast and Fix Things&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-07-26"&gt;Saved on 2019-07-26&lt;/time&gt;&#10; &lt;/a&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;Anyone who has worked on a large enough codebase knows that technical debt is an inescapable reality: The more rapidly an application grows in size and complexity, the more technical…&lt;/p&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/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://benjiweber.co.uk/blog/2015/03/02/monitoring-check-smells" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/50/images/1055997569.jpg" alt="Monitoring Check Smells | Benji&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://benjiweber.co.uk/blog/2015/03/02/monitoring-check-smells" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Monitoring Check Smells | Benji&amp;#39;s Blog -&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-07-26"&gt;Saved on 2019-07-26&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;benjiweber.co.uk&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;I have become increasingly convinced that there is little difference between monitoring and testing. Often we can run our automated tests against a production system with only a little effort. We are used to listening to our automated tests for feedback about our software 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/architecture/" class="Label Label--secondary mr-1 mb-1"&gt;architecture&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#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://www.theguardian.com/lifeandstyle/2017/aug/01/should-we-stop-keeping-pets-why-more-and-more-ethicists-say-yes" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/images/bookmark-placeholder.jpg" alt="Should We Stop Keeping Pets?" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&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.theguardian.com/lifeandstyle/2017/aug/01/should-we-stop-keeping-pets-why-more-and-more-ethicists-say-yes" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Should We Stop Keeping Pets?&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-07-25"&gt;Saved on 2019-07-25&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;theguardian.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Research into animals’ emotional lives has cast doubt on the ethics of petkeeping.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/psychology/" class="Label Label--secondary mr-1 mb-1"&gt;psychology&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/science/" class="Label Label--secondary mr-1 mb-1"&gt;science&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://waitbutwhy.com/2015/01/artificial-intelligence-revolution-1.html" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/51/images/1055997558.jpg" alt="The AI Revolution: The Road to Superintelligence" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://waitbutwhy.com/2015/01/artificial-intelligence-revolution-1.html" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The AI Revolution: The Road to Superintelligence&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-07-25"&gt;Saved on 2019-07-25&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;waitbutwhy.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Part 1 of 2: &amp;#34;The Road to Superintelligence&amp;#34;. Artificial Intelligence — the topic everyone in the world should be talking 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/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/science/" class="Label Label--secondary mr-1 mb-1"&gt;science&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/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.tarynpivots.com/post/how-stack-overflow-upgraded-from-windows-2012" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/51/images/1055997788.webp" alt="How Stack Overflow upgraded from Windows Server 2012" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&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.tarynpivots.com/post/how-stack-overflow-upgraded-from-windows-2012" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;How Stack Overflow upgraded from Windows Server 2012&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-07-23"&gt;Saved on 2019-07-23&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;tarynpivots.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Warning: This post is long. While working through this massive server upgrade/migration process, tears were shed, many cuss words were said, along with a general feeling of frustration, which ultimately culminated into extreme happiness once the migration was completed. The scale&lt;/p&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/data/" class="Label Label--secondary mr-1 mb-1"&gt;data&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/database/" class="Label Label--secondary mr-1 mb-1"&gt;database&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/sql/" class="Label Label--secondary mr-1 mb-1"&gt;sql&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/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/bliki/IntegrationDatabase.html" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/51/images/1055997442.png" alt="bliki: Integration Database" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&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/bliki/IntegrationDatabase.html" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;bliki: Integration Database&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-07-23"&gt;Saved on 2019-07-23&lt;/time&gt;&#10; &lt;/a&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;An integration database is a data store for multiple applications, thus integrating them through data storage. This leads to excessive coupling that makes change risky and expensive.&lt;/p&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/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/@__xuorig__/on-graphql-schema-stitching-api-gateways-5dcb579fa90f" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/51/images/1055997722.png" alt="On GraphQL Schema Stitching &amp;amp; API Gateways - Marc-André Giroux - 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/@__xuorig__/on-graphql-schema-stitching-api-gateways-5dcb579fa90f" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;On GraphQL Schema Stitching &amp;amp; API Gateways - Marc-André Giroux - Medium&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-07-23"&gt;Saved on 2019-07-23&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;medium.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;I’ve been thinking a lot on GraphQL “Schema Stitching” these days. At its core, Schema Stitching is the art of composing multiple GraphQL Schemas into one GraphQL Schema. As you can imagine, this can…&lt;/p&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/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/51/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; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-07-23"&gt;Saved on 2019-07-23&lt;/time&gt;&#10; &lt;/a&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://www.forbes.com/sites/forbesagencycouncil/2019/07/17/facebooks-libra-potential-to-increase-demand-for-bitcoin#79fef6b475cb" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/51/images/1055997787.png" alt="Council Post: Facebook&amp;#39;s Libra: Potential To Increase Demand For Bitcoin" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&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.forbes.com/sites/forbesagencycouncil/2019/07/17/facebooks-libra-potential-to-increase-demand-for-bitcoin#79fef6b475cb" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Council Post: Facebook&amp;#39;s Libra: Potential To Increase Demand For Bitcoin&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-07-23"&gt;Saved on 2019-07-23&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;forbes.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Facebook recently announced its planned 2020 launch of a cryptocurrency it calls Libra.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/blockchain/" class="Label Label--secondary mr-1 mb-1"&gt;blockchain&lt;/a&gt;&#10; &#10; &#10; &lt;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/51/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; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-07-23"&gt;Saved on 2019-07-23&lt;/time&gt;&#10; &lt;/a&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="https://medium.com/fast-company/the-science-of-why-you-hate-your-open-office-e1e3e174b19e" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/51/images/1055997754.jpg" alt="The Science of Why You Hate Your Open Office - Fast Company - 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/fast-company/the-science-of-why-you-hate-your-open-office-e1e3e174b19e" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The Science of Why You Hate Your Open Office - Fast Company - Medium&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-07-23"&gt;Saved on 2019-07-23&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;medium.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;The backlash against the dreaded open office plan has been brewing for many years. Not without good reason: Many employees struggle to focus amid the endless distractions and noise that 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/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://medium.com/@eleanor.kolossovski/how-to-assess-product-management-skills-and-competencies-78008e1f67bd" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/51/images/1055997771.jpg" alt="How to Assess Product Management Skills and Competencies?" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&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/@eleanor.kolossovski/how-to-assess-product-management-skills-and-competencies-78008e1f67bd" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;How to Assess Product Management Skills and Competencies?&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-07-22"&gt;Saved on 2019-07-22&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;medium.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Many CEOs and technology leaders believe that product managers need to be among the strongest talent in the company because innovative products provide competitive advantage and drive 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/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; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#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://mobile.nytimes.com/2015/01/18/opinion/sunday/why-some-teams-are-smarter-than-others.html" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/51/images/1055997557.jpg" alt="Opinion | Why Some Teams Are Smarter Than Others" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/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://mobile.nytimes.com/2015/01/18/opinion/sunday/why-some-teams-are-smarter-than-others.html" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Opinion | Why Some Teams Are Smarter Than Others&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-07-19"&gt;Saved on 2019-07-19&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;mobile.nytimes.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;It’s about listening, empathy and having more women.&lt;/p&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; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#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; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-07-19"&gt;Saved on 2019-07-19&lt;/time&gt;&#10; &lt;/a&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;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#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/@PaulDJohnston/serverless-best-practices-b3c97d551535" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/51/images/1055997712.webp" alt="Serverless Best Practices - Paul Johnston - 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/@PaulDJohnston/serverless-best-practices-b3c97d551535" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Serverless Best Practices - Paul Johnston - Medium&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-07-19"&gt;Saved on 2019-07-19&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;medium.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Within the community we’ve been debating the best practices for many years, but there are a few that have been relatively accepted for most of that time. Most serverless practitioners who subscribe…&lt;/p&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/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&lt;/p&gt;&#10;&lt;/div&gt;</description></item><item><title>Bookmarks from 2019</title><link>https://blog.maceage.com/bookmarks/years/2019/page/5/</link><pubDate>Tue, 17 Dec 2019 03:34:53 +0000</pubDate><guid>https://blog.maceage.com/bookmarks/years/2019/page/5/</guid><description>&lt;p&gt;124 bookmarks from 2019&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://medium.com/@PaulDJohnston/serverless-is-a-doctrine-not-a-technology-4193ccb66cfc" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/51/images/1055997774.jpg" alt="Serverless is a Doctrine, not a Technology - Paul Johnston - 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/@PaulDJohnston/serverless-is-a-doctrine-not-a-technology-4193ccb66cfc" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Serverless is a Doctrine, not a Technology - Paul Johnston - Medium&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-07-19"&gt;Saved on 2019-07-19&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;medium.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;I have spent the last few years in the serverless community trying to figure out how to help other people understand what it means to “go serverless”. For me in recent months talking about serverless…&lt;/p&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/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.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/51/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; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-07-19"&gt;Saved on 2019-07-19&lt;/time&gt;&#10; &lt;/a&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/51/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; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-07-19"&gt;Saved on 2019-07-19&lt;/time&gt;&#10; &lt;/a&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="https://lethain.com/notes-escaping-the-build-trap" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/51/images/1055997778.png" alt="Notes on Escaping the Build Trap" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://lethain.com/notes-escaping-the-build-trap" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Notes on Escaping the Build Trap&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-07-18"&gt;Saved on 2019-07-18&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;lethain.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Last year while thinking about product management in infrastructure I read Cagan’s Inspired, which I thought was a very solid book. I just finished reading Perri’s Escaping the Build Trap, which is similarly excellent, and I’ve written up some notes.&lt;/p&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/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/@victoria.maclennan/you-are-never-too-old-to-have-a-mentor-e054c4881c2" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/51/images/1055997786.jpg" alt="You are never too old to have a mentor - Victoria MacLennan - 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/@victoria.maclennan/you-are-never-too-old-to-have-a-mentor-e054c4881c2" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;You are never too old to have a mentor - Victoria MacLennan - Medium&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-07-18"&gt;Saved on 2019-07-18&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;medium.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;One of my standard interview questions is to ask whether a candidate has a mentor. A young woman I met recently answered that she had one but no longer needs a mentor — she knows everything she needs…&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/career/" class="Label Label--secondary mr-1 mb-1"&gt;career&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/leadership/" class="Label Label--secondary mr-1 mb-1"&gt;leadership&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#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.jeremydaly.com/aurora-serverless-the-good-the-bad-and-the-scalable" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/51/images/1055997708.png" alt="Aurora Serverless: The Good, the Bad and the Scalable - Jeremy Daly" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&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.jeremydaly.com/aurora-serverless-the-good-the-bad-and-the-scalable" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Aurora Serverless: The Good, the Bad and the Scalable - Jeremy Daly&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-07-16"&gt;Saved on 2019-07-16&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;jeremydaly.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Take a deep dive into the pros and cons of Amazon&amp;#39;s new Aurora Serverless service and find out if it&amp;#39;s right for you and your company&amp;#39;s needs and budget.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/database/" class="Label Label--secondary mr-1 mb-1"&gt;database&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/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://philcalcado.com/2019/07/12/some_thoughts_graphql_bff.html" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/51/images/1055997784.webp" alt="Some thoughts on GraphQL vs. BFF" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://philcalcado.com/2019/07/12/some_thoughts_graphql_bff.html" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Some thoughts on GraphQL vs. BFF&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-07-16"&gt;Saved on 2019-07-16&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;philcalcado.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/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/51/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; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-07-15"&gt;Saved on 2019-07-15&lt;/time&gt;&#10; &lt;/a&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/51/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; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-07-15"&gt;Saved on 2019-07-15&lt;/time&gt;&#10; &lt;/a&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/51/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; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-07-15"&gt;Saved on 2019-07-15&lt;/time&gt;&#10; &lt;/a&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="https://www.atlassian.com/blog/technology/atlassian-term-sheet" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/51/images/1055997772.png" alt="Opening up our Atlassian Term Sheet" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://www.atlassian.com/blog/technology/atlassian-term-sheet" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Opening up our Atlassian Term Sheet&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-07-15"&gt;Saved on 2019-07-15&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;atlassian.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;The traditional M&amp;amp;A process is broken and favors large companies. So, we&amp;#39;re leveling the playing field by releasing our Term Sheet for anyone to see.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/tech/" class="Label Label--secondary mr-1 mb-1"&gt;tech&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://medium.dave-bailey.com/what-you-shouldnt-ask-your-customers-a208c5dbab75" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/51/images/1055997723.jpg" alt="What You Should Never Ask Your Customers - Dave Bailey" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&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.dave-bailey.com/what-you-shouldnt-ask-your-customers-a208c5dbab75" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;What You Should Never Ask Your Customers - Dave Bailey&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-07-15"&gt;Saved on 2019-07-15&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;medium.dave-bailey.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Learn the right questions to ask customer about your product, and the questions you should avoid at all costs.&lt;/p&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/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/51/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; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-07-14"&gt;Saved on 2019-07-14&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;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://medium.com/software-is-eating-the-world/what-s-next-in-computing-e54b870b80cc" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/52/images/1055997597.png" alt="What’s Next in Computing?" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&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/software-is-eating-the-world/what-s-next-in-computing-e54b870b80cc" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;What’s Next in Computing?&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-07-14"&gt;Saved on 2019-07-14&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;medium.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;The computing industry progresses in two mostly independent cycles: financial and product cycles. There has been a lot of handwringing lately about where we are in the financial cycle. Financial…&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/finance/" class="Label Label--secondary mr-1 mb-1"&gt;finance&lt;/a&gt;&#10; &#10; &#10; &lt;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://medium.com/@arahthequill/stop-mistaking-shared-trauma-for-compatibility-ae8dd1f4c7b4" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/52/images/1055997741.jpg" alt="Stop Mistaking Shared Trauma for Compatibility - Human Parts" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&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/@arahthequill/stop-mistaking-shared-trauma-for-compatibility-ae8dd1f4c7b4" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Stop Mistaking Shared Trauma for Compatibility - Human Parts&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-07-12"&gt;Saved on 2019-07-12&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;medium.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Where others might view someone’s unaddressed trauma as a red flag, a similarly traumatized person would see the potential risks as being worth the camaraderie that comes with 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/health/" class="Label Label--secondary mr-1 mb-1"&gt;health&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://stratechery.com/2019/shopify-and-the-power-of-platforms" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/52/images/1055997783.jpg" alt="Shopify and the Power of Platforms" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://stratechery.com/2019/shopify-and-the-power-of-platforms" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Shopify and the Power of Platforms&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-07-11"&gt;Saved on 2019-07-11&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;stratechery.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;It is all but impossible to beat an Aggregator head-on, as Walmart is trying to do with Amazon. The solution instead is to build a platform like Shopify.&lt;/p&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/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://mentorloop.com/blog/be-kickass-mentee-checklist" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/52/images/1055997782.png" alt="How to be an awesome mentee: a checklist - Mentorloop Mentoring 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://mentorloop.com/blog/be-kickass-mentee-checklist" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;How to be an awesome mentee: a checklist - Mentorloop Mentoring Software&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-07-10"&gt;Saved on 2019-07-10&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;mentorloop.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Ready to build a great mentoring relationship? Here&amp;#39;s a checklist that will help you be an awesome mentee.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/career/" class="Label Label--secondary mr-1 mb-1"&gt;career&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/leadership/" class="Label Label--secondary mr-1 mb-1"&gt;leadership&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/learning/" class="Label Label--secondary mr-1 mb-1"&gt;learning&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://mentorloop.com/blog/25-mentorship-questions" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/52/images/1055997776.jpg" alt="25 Mentorship Questions to Ask Your Mentor or Mentee - Mentorloop" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://mentorloop.com/blog/25-mentorship-questions" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;25 Mentorship Questions to Ask Your Mentor or Mentee - Mentorloop&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-07-10"&gt;Saved on 2019-07-10&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;mentorloop.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Here&amp;#39;s a list of engaging mentorship questions to ask your mentor, help you dive deeper, and add some structure to your meetings.&lt;/p&gt;&#10; &#10; &#10; &lt;div class="d-flex flex-wrap"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/career/" class="Label Label--secondary mr-1 mb-1"&gt;career&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/leadership/" class="Label Label--secondary mr-1 mb-1"&gt;leadership&lt;/a&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/tags/learning/" class="Label Label--secondary mr-1 mb-1"&gt;learning&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://uxdesign.cc/great-products-do-less-things-but-better-5dde0ee3fc76" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/52/images/1055997775.png" alt="Great products do less, but better - UX Collective" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://uxdesign.cc/great-products-do-less-things-but-better-5dde0ee3fc76" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Great products do less, but better - UX Collective&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-07-09"&gt;Saved on 2019-07-09&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;uxdesign.cc&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;A few years later, the team behind the product comes to the conclusion it has to do more. Features are added, new use cases are covered, and functionality becomes more sophisticated. That happens for…&lt;/p&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; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://steveblank.com/2015/05/06/build-measure-learn-throw-things-against-the-wall-and-see-if-they-work" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/52/images/1055997576.jpg" alt="Steve Blank Why Build, Measure, Learn – isn’t just throwing things against the wall to see if they work – the Minimal Viable Product" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://steveblank.com/2015/05/06/build-measure-learn-throw-things-against-the-wall-and-see-if-they-work" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;Steve Blank Why Build, Measure, Learn – isn’t just throwing things against the wall to see if they work – the Minimal Viable Product&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-07-04"&gt;Saved on 2019-07-04&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;steveblank.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;I am always surprised when critics complain that the Lean Startup’s Build, Measure, Learn approach is nothing more than “throwing incomplete products out of the building to see if they work.” Unfor…&lt;/p&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; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#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.kaushik.net/avinash/lean-analytics-cycle-metrics-hypothesis-experiment-act" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/52/images/1055997505.jpg" alt="The Lean Analytics Cycle: Metrics &amp;gt; Hypothesis &amp;gt; Experiment &amp;gt; Act - Occam&amp;#39;s Razor by Avinash Kaushik" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&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.kaushik.net/avinash/lean-analytics-cycle-metrics-hypothesis-experiment-act" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The Lean Analytics Cycle: Metrics &amp;gt; Hypothesis &amp;gt; Experiment &amp;gt; Act - Occam&amp;#39;s Razor by Avinash Kaushik&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-07-04"&gt;Saved on 2019-07-04&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;kaushik.net&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;Companies, small or large, fail to iterate fast enough leading to poor business results. Lean Analytics Cycle is a structured process to avoid that fate!&lt;/p&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/product/" class="Label Label--secondary mr-1 mb-1"&gt;product&lt;/a&gt;&#10; &#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10; &lt;/article&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="Box-row"&gt;&#10; &lt;article class="d-flex flex-column flex-md-row"&gt;&#10; &#10; &#10; &#10; &lt;div class="mr-md-3 mb-2 mb-md-0" style="flex-shrink: 0;"&gt;&#10; &lt;a href="https://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/52/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; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-06-15"&gt;Saved on 2019-06-15&lt;/time&gt;&#10; &lt;/a&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/52/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; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-04-11"&gt;Saved on 2019-04-11&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;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://doist.com/blog/the-ultimate-guide-to-personal-productivity-methods" target="_blank" rel="noopener noreferrer"&gt;&#10; &#10; &lt;img src="https://blog.maceage.com/bookmarks/page/52/images/1055997740.webp" alt="The Ultimate Guide to Personal Productivity Methods" loading="lazy" class="rounded-2 post-list-image bookmark-card__image"&gt;&#10; &#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="flex-auto"&gt;&#10; &lt;h2 class="f3 lh-condensed mb-1"&gt;&#10; &lt;a href="https://doist.com/blog/the-ultimate-guide-to-personal-productivity-methods" class="Link--primary" target="_blank" rel="noopener noreferrer"&gt;The Ultimate Guide to Personal Productivity Methods&lt;/a&gt;&#10; &lt;/h2&gt;&#10; &lt;div class="d-flex flex-items-center color-fg-muted f6 mb-2"&gt;&#10; &#10; &#10; &lt;a href="https://blog.maceage.com/bookmarks/years/2019/" class="color-fg-muted"&gt;&#10; &lt;time datetime="2019-04-11"&gt;Saved on 2019-04-11&lt;/time&gt;&#10; &lt;/a&gt;&#10; &lt;span class="mx-2"&gt;&amp;middot;&lt;/span&gt;&#10; &lt;span&gt;doist.com&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;p class="color-fg-muted mb-2"&gt;You don&amp;#39;t need a to-do list, you need a system you can trust.&lt;/p&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; &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>