<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Jonathan Beebe’s Posts</title><link>https://jonathan-beebe.com/posts/</link><description>Recent content in Posts on The personal site of Jonathan Beebe</description><generator>Hugo</generator><language>en-us</language><managingEditor>jonathan-beebe@outlook.com (Jonathan Beebe)</managingEditor><webMaster>jonathan-beebe@outlook.com (Jonathan Beebe)</webMaster><copyright>© 2025 Jonathan Beebe</copyright><lastBuildDate>Thu, 07 Aug 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://jonathan-beebe.com/posts/index.xml" rel="self" type="application/rss+xml"/><item><title>AI vibe-coded software is not tech debt</title><link>https://jonathan-beebe.com/posts/2025-08-07-ai-vibe-coded-slop-is-not-tech-debt/</link><pubDate>Thu, 07 Aug 2025 00:00:00 +0000</pubDate><author>jonathan-beebe@outlook.com (Jonathan Beebe)</author><guid>https://jonathan-beebe.com/posts/2025-08-07-ai-vibe-coded-slop-is-not-tech-debt/</guid><description>&lt;p&gt;As &lt;a href="https://c2.com/doc/oopsla92.html"&gt;originally coined&lt;/a&gt; by Ward Cunningham, the phrase &amp;ldquo;tech debt&amp;rdquo; is an analogy for a process for making &amp;ldquo;incremental growth both feasible and desirable&amp;rdquo;. It is an intentional strategy allowing a team to accumulate knowledge about the problem being solved while simultaneously shipping value every day. It is a strategy for remaining un-stuck. It is an acknowledgement that tomorrow you will be wiser than today. It is a strategy for applying today&amp;rsquo;s hard earned learnings to yesterday&amp;rsquo;s immature code. It is a positive feedback loop, a map for iterative development. It defines a way of working that allows a team and a business to constantly ship and constantly learn. It is a strategy used by professionals to deliver customer value early and often.&lt;/p&gt;</description><content:encoded>&lt;p&gt;As &lt;a href="https://c2.com/doc/oopsla92.html"&gt;originally coined&lt;/a&gt; by Ward Cunningham, the phrase &amp;ldquo;tech debt&amp;rdquo; is an analogy for a process for making &amp;ldquo;incremental growth both feasible and desirable&amp;rdquo;. It is an intentional strategy allowing a team to accumulate knowledge about the problem being solved while simultaneously shipping value every day. It is a strategy for remaining un-stuck. It is an acknowledgement that tomorrow you will be wiser than today. It is a strategy for applying today&amp;rsquo;s hard earned learnings to yesterday&amp;rsquo;s immature code. It is a positive feedback loop, a map for iterative development. It defines a way of working that allows a team and a business to constantly ship and constantly learn. It is a strategy used by professionals to deliver customer value early and often.&lt;/p&gt;
&lt;p&gt;Tech debt is not sloppy code.&lt;br&gt;
Tech debt is not hastily written code.&lt;br&gt;
Tech debt is not code you don’t understand.&lt;/p&gt;
&lt;p&gt;Tech debt is code that captures your understanding of the problem today, with the full acknowledgement that tomorrow you will know more about the problem domain and will be able to write the code better.&lt;/p&gt;
&lt;p&gt;That vide-coded software which left your database exposed publicly, that fails to handle edge cases, that can’t be iterated on because it contains 60% dead code? It is slop. It is not tech debt.&lt;/p&gt;
&lt;p&gt;Read the original paper, “&lt;a href="https://c2.com/doc/oopsla92.html"&gt;The WyCash Portfolio Management System&lt;/a&gt;” by Ward Cunningham, and I promise you will gain a new level of understanding for how to steward software in a chaotic and ever-changing world.&lt;/p&gt;</content:encoded></item><item><title>Software is Farming</title><link>https://jonathan-beebe.com/posts/2025-03-16-software-is-farming/</link><pubDate>Sun, 16 Mar 2025 00:00:00 +0000</pubDate><author>jonathan-beebe@outlook.com (Jonathan Beebe)</author><guid>https://jonathan-beebe.com/posts/2025-03-16-software-is-farming/</guid><description>&lt;p&gt;Many businesses fundamentally misunderstand the nature of software. They treat creating software like they are making a better insulated mug, or writing a book, or creating an even &lt;em&gt;cuter&lt;/em&gt; squishmallow.&lt;/p&gt;
&lt;p&gt;Design it&lt;br&gt;
Create it&lt;br&gt;
Sell it&lt;br&gt;
Done&lt;/p&gt;
&lt;p&gt;But this is not how software works.&lt;/p&gt;
&lt;p&gt;Software is like farming. You are a steward. There is a natural seasonality to the work. And the work will continue as long as you own the land.&lt;/p&gt;</description><content:encoded>&lt;p&gt;Many businesses fundamentally misunderstand the nature of software. They treat creating software like they are making a better insulated mug, or writing a book, or creating an even &lt;em&gt;cuter&lt;/em&gt; squishmallow.&lt;/p&gt;
&lt;p&gt;Design it&lt;br&gt;
Create it&lt;br&gt;
Sell it&lt;br&gt;
Done&lt;/p&gt;
&lt;p&gt;But this is not how software works.&lt;/p&gt;
&lt;p&gt;Software is like farming. You are a steward. There is a natural seasonality to the work. And the work will continue as long as you own the land.&lt;/p&gt;
&lt;h2 id="heading"&gt;🪴&lt;/h2&gt;
&lt;p&gt;You may start with a potted houseplant.&lt;br&gt;
You water it once a week.&lt;br&gt;
Easy-peasy.&lt;/p&gt;
&lt;h2 id="heading-1"&gt;🪴🪴🪴&lt;/h2&gt;
&lt;p&gt;If you are not a complete failure and manage to keep your plant alive, you may decide you like this hobby. So you buy a few more plants. Your watering schedule is a bit more complex, and you may need someone to check on your plants when you are out of town, but overall this is fun and enjoyable.&lt;/p&gt;
&lt;h2 id="heading-2"&gt;🌱🌱🌱🌿🌿🌿🐛&lt;/h2&gt;
&lt;p&gt;Eventually it comes time to repot your plants. You may propagate some into a planter in your backyard. Now you need a hose or a small irrigation system. You must occasionally pull weeds and keep bugs away. Weather is now an issue. Maybe you build a small hot-house to protect the plants?&lt;/p&gt;
&lt;h2 id="heading-3"&gt;🌾 🌾 🐛 🌾 🌾 🌾 🌾&lt;/h2&gt;
&lt;h2 id="heading-4"&gt;🌾 🌾 🌾 🌾 🌾 🌾 🌾 🚜&lt;/h2&gt;
&lt;h2 id="heading-5"&gt;🌾 🌾 🐛 🌾 🐛 🐛 🌾&lt;/h2&gt;
&lt;p&gt;You fall in love with these plants, buy an acre of land, and start farming them. Now you must procure a tractor, a plentiful source of water, and labor to harvest. Bug problems may scale to infestations. And now your plants are fully outdoors and you must contend with seasons and weather. You need to find a market and sell to customers. You may find a few happy customers who tell you they love your plants. You will certainly get many unhappy customers who tell you what a wretched person you are because your plants die after they take them home and forget to water them.&lt;/p&gt;
&lt;p&gt;This 👆 is software.&lt;/p&gt;
&lt;p&gt;Instead of land, you have computer infrastructure.&lt;/p&gt;
&lt;p&gt;Instead of tractors and farm hands, you have software engineers.&lt;/p&gt;
&lt;p&gt;Instead of harvesting, you deploy code.&lt;/p&gt;
&lt;p&gt;Instead of farmers’ market, you have app stores and sales funnels and acquisition and retention.&lt;/p&gt;
&lt;p&gt;Instead of weather, you have outages.&lt;/p&gt;
&lt;p&gt;Instead of bugs, you have . . . well, bugs.&lt;/p&gt;
&lt;p&gt;And weather. Let’s not forget to talk about the environment. The environment changes with software &lt;em&gt;all the time&lt;/em&gt;. Vendors make changes and you must respond. Customers’ tastes change and you must adapt. The business environment evolves and you must evolve with it.&lt;/p&gt;
&lt;p&gt;This is what I do for a living. I steward software, from 🪴 idea to 🌿 product to 🌾 business. It can be a lot of fun, and is highly rewarding. But software is not easy; the job is never done.&lt;/p&gt;</content:encoded></item><item><title>AI Does Not Exist (And It’s Not Going Away)</title><link>https://jonathan-beebe.com/posts/2025-03-14-ai-does-not-exist/</link><pubDate>Fri, 14 Mar 2025 00:00:00 +0000</pubDate><author>jonathan-beebe@outlook.com (Jonathan Beebe)</author><guid>https://jonathan-beebe.com/posts/2025-03-14-ai-does-not-exist/</guid><description>&lt;p&gt;👏🏻👏🏻👏🏻 &lt;a href="https://m.youtube.com/watch?v=EUrOxh_0leE"&gt;This is simply the best exposition on AI&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;It reminds me of Daniel Schmachtenberger’s commentary on &lt;a href="https://www.youtube.com/watch?v=WzCVzyTktR0&amp;amp;list=PLmEjIyRQgARhMMUyD8lXhX2FtS_7P-hPi"&gt;why we&amp;rsquo;re creating a future that nobody wants&lt;/a&gt;. Because, after watching &lt;a href="https://m.youtube.com/watch?v=EUrOxh_0leE"&gt;Angela Collier explain why AI does not exist, why it is unethical, and why we are stuck with this mess&lt;/a&gt;, you too will agree, this is a future nobody wants.&lt;/p&gt;
&lt;p&gt;And her commentary on “prompt engineers” is *&lt;em&gt;chef’s kiss&lt;/em&gt;*.&lt;/p&gt;</description><content:encoded>&lt;p&gt;👏🏻👏🏻👏🏻 &lt;a href="https://m.youtube.com/watch?v=EUrOxh_0leE"&gt;This is simply the best exposition on AI&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;It reminds me of Daniel Schmachtenberger’s commentary on &lt;a href="https://www.youtube.com/watch?v=WzCVzyTktR0&amp;amp;list=PLmEjIyRQgARhMMUyD8lXhX2FtS_7P-hPi"&gt;why we&amp;rsquo;re creating a future that nobody wants&lt;/a&gt;. Because, after watching &lt;a href="https://m.youtube.com/watch?v=EUrOxh_0leE"&gt;Angela Collier explain why AI does not exist, why it is unethical, and why we are stuck with this mess&lt;/a&gt;, you too will agree, this is a future nobody wants.&lt;/p&gt;
&lt;p&gt;And her commentary on “prompt engineers” is *&lt;em&gt;chef’s kiss&lt;/em&gt;*.&lt;/p&gt;</content:encoded></item><item><title>Great Software Design</title><link>https://jonathan-beebe.com/posts/2025-03-07-software-should-be-simple/</link><pubDate>Fri, 07 Mar 2025 00:00:00 +0000</pubDate><author>jonathan-beebe@outlook.com (Jonathan Beebe)</author><guid>https://jonathan-beebe.com/posts/2025-03-07-software-should-be-simple/</guid><description>&lt;p&gt;I found myself agreeing with every &amp;ldquo;great sofware design&amp;rdquo; statement in &lt;a href="https://www.seangoedecke.com/great-software-design/"&gt;this post&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Great software design looks underwhelming.&lt;/p&gt;
&lt;p&gt;Great software design is supposed to be too simple.&lt;/p&gt;
&lt;p&gt;Great software design doesn’t mean that your software is ultra-performant. It means that it’s a good fit for the task.&lt;/p&gt;
&lt;p&gt;Great software design looks simple because it eliminates as many failure modes as possible during the design stage.&lt;/p&gt;
&lt;p&gt;great software design is boring and unsexy. . . . Great software design doesn’t look like big exciting ideas. Most of the time it doesn’t look like anything at all.&lt;/p&gt;</description><content:encoded>&lt;p&gt;I found myself agreeing with every &amp;ldquo;great sofware design&amp;rdquo; statement in &lt;a href="https://www.seangoedecke.com/great-software-design/"&gt;this post&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Great software design looks underwhelming.&lt;/p&gt;
&lt;p&gt;Great software design is supposed to be too simple.&lt;/p&gt;
&lt;p&gt;Great software design doesn’t mean that your software is ultra-performant. It means that it’s a good fit for the task.&lt;/p&gt;
&lt;p&gt;Great software design looks simple because it eliminates as many failure modes as possible during the design stage.&lt;/p&gt;
&lt;p&gt;great software design is boring and unsexy. . . . Great software design doesn’t look like big exciting ideas. Most of the time it doesn’t look like anything at all.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;The longer I am in software engineering, the more these ideas resonate with me. Great software is &lt;em&gt;simple&lt;/em&gt;. Perhaps paradoxically, it is often harder to find the simple solution. That is where the hard work of being a software engineer comes in.&lt;/p&gt;</content:encoded></item><item><title>✊🏽 Resources for the Resistance</title><link>https://jonathan-beebe.com/posts/2025-02-25-resources-for-the-resistance/</link><pubDate>Thu, 06 Mar 2025 00:00:00 +0000</pubDate><author>jonathan-beebe@outlook.com (Jonathan Beebe)</author><guid>https://jonathan-beebe.com/posts/2025-02-25-resources-for-the-resistance/</guid><description>&lt;p&gt;Like many Americans, I am deeply troubled by America’s slide into an authoritarian and fascist government. I have started collecting the following resources as I strive to understand the history of how we got here (because &lt;a href="https://jonathan-beebe.com/posts/2025-02-21-origins-of-totalitarianism/"&gt;none of this is new&lt;/a&gt;), where we are going, and what I can do about it.&lt;/p&gt;
&lt;h2 id="definition-of-terms"&gt;Definition of Terms&lt;/h2&gt;
&lt;p&gt;First, it is helpful to have a definition of terms. These terms are often thrown around as badges of honor or slurs of accusation, with little regard to their actual meaning. Within the context of this site, I try to use these words as accurately as possible. Words have meaning, and using them correctly is important. &lt;em&gt;All definitions sourced from The New Oxford American Dictionary, Apple’s macOS dictionary, and &lt;a href="https://overcast.fm/+AA1RBVEH8g0"&gt;&lt;em&gt;A Brief History of How We Got Here&lt;/em&gt;&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;</description><content:encoded>&lt;p&gt;Like many Americans, I am deeply troubled by America’s slide into an authoritarian and fascist government. I have started collecting the following resources as I strive to understand the history of how we got here (because &lt;a href="https://jonathan-beebe.com/posts/2025-02-21-origins-of-totalitarianism/"&gt;none of this is new&lt;/a&gt;), where we are going, and what I can do about it.&lt;/p&gt;
&lt;h2 id="definition-of-terms"&gt;Definition of Terms&lt;/h2&gt;
&lt;p&gt;First, it is helpful to have a definition of terms. These terms are often thrown around as badges of honor or slurs of accusation, with little regard to their actual meaning. Within the context of this site, I try to use these words as accurately as possible. Words have meaning, and using them correctly is important. &lt;em&gt;All definitions sourced from The New Oxford American Dictionary, Apple’s macOS dictionary, and &lt;a href="https://overcast.fm/+AA1RBVEH8g0"&gt;&lt;em&gt;A Brief History of How We Got Here&lt;/em&gt;&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;&lt;strong&gt;Authoritarianism&lt;/strong&gt;&lt;/dt&gt;
&lt;dd&gt;the enforcement or advocacy of strict obedience to authority at the expense of personal freedom.&lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;Autocracy&lt;/strong&gt;&lt;/dt&gt;
&lt;dd&gt;a system of government by one person with absolute power.&lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;Capitalism&lt;/strong&gt;&lt;/dt&gt;
&lt;dd&gt;an economic and political system where private citizens own and control the businesses, property, and capital (means of production) for profit.&lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;Communism&lt;/strong&gt;&lt;/dt&gt;
&lt;dd&gt;a political theory derived from Karl Marx, advocating class war and leading to a society in which all property is publicly owned and each person works and is paid according to their abilities and needs.&lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;Democracy&lt;/strong&gt;&lt;/dt&gt;
&lt;dd&gt;rule of the people.&lt;/dd&gt;
&lt;dd&gt;a system of government by the whole population or all the eligible members of a state, typically through elected representatives. &lt;em&gt;Keyword &amp;ldquo;eligible&amp;rdquo;, not always &lt;strong&gt;all&lt;/strong&gt; of the people get the right to vote. In America it wasn’t until 1870 when African American men got the right to vote, and 1920 for woman, and not until 1965 when the Voting Rights Act tried to protect minority voting rights—and it has been under attack ever since.&lt;/em&gt;&lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;Despot&lt;/strong&gt;&lt;/dt&gt;
&lt;dd&gt;a ruler or other person who holds absolute power, typically one who exercises it in a cruel or oppressive way.&lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;Fascism&lt;/strong&gt;&lt;/dt&gt;
&lt;dd&gt;an authoritarian, intolerant, and nationalistic right-wing system of government and social organization.&lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;Oligarch&lt;/strong&gt;&lt;/dt&gt;
&lt;dd&gt;a very rich business leader with a great deal of political influence (particularly with reference to individuals who benefited from the privatization of state-run industries after the collapse of the Soviet Union).&lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;Oligarchy&lt;/strong&gt;&lt;/dt&gt;
&lt;dd&gt;a small group of influential (and often, but not necessarily, wealthy) people having control of a country, organization, or institution. Sometimes confused with &lt;em&gt;plutocracy&lt;/em&gt;.&lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;Nazi&lt;/strong&gt;&lt;/dt&gt;
&lt;dd&gt;a person with extreme racist or authoritarian views.&lt;/dd&gt;
&lt;dd&gt;a person who seeks to impose their views on others in a very autocratic or inflexible way.&lt;/dd&gt;
&lt;dd&gt;&lt;em&gt;historical&lt;/em&gt; a member of the far-right National Socialist German Workers&amp;rsquo; Party.&lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;Plutocracy&lt;/strong&gt;&lt;/dt&gt;
&lt;dd&gt;a country or society governed by the wealthy.&lt;/dd&gt;
&lt;dd&gt;an elite or ruling class of people whose power derives from their wealth.&lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;Socialism&lt;/strong&gt;&lt;/dt&gt;
&lt;dd&gt;a political and economic theory of social organization which advocates that the means of production, distribution, and exchange should be owned or regulated by the community as a whole.&lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;Totalitarianism&lt;/strong&gt;&lt;/dt&gt;
&lt;dd&gt;a system of government that is centralized and dictatorial and requires complete subservience to the state.&lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;Tyranny&lt;/strong&gt;&lt;/dt&gt;
&lt;dd&gt;a cruel and oppressive government.&lt;/dd&gt;
&lt;/dl&gt;
&lt;hr&gt;
&lt;h2 id="books--long-form-content"&gt;Books &amp;amp; Long Form Content&lt;/h2&gt;
&lt;dl&gt;
&lt;dt&gt;&lt;strong&gt;&lt;a href="https://www.ethicalbooksearch.com/us/books/m/ol:OL37617478W/origins-of-totalitarianism-hannah-arendt"&gt;Origins of Totalitarianism&lt;/a&gt;&lt;/strong&gt;&lt;/dt&gt;
&lt;dd&gt;Published in 1951 by Hannah Arendt, parts of this book read like it was written today. &lt;em&gt;None of this is new.&lt;/em&gt;&lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;&lt;a href="https://www.penguinrandomhouse.com/books/717588/democracy-awakening-by-heather-cox-richardson/"&gt;Democracy Awakening&lt;/a&gt;&lt;/strong&gt;&lt;/dt&gt;
&lt;dd&gt;By Heather Cox Richardson. A call to action about the precarious state of American democracy, charting its historical challenges and current threats.&lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;&lt;a href="https://timothysnyder.org/on-tyranny"&gt;On Tyranny, Twenty Lessons from the Twentieth Century&lt;/a&gt;&lt;/strong&gt;&lt;/dt&gt;
&lt;dd&gt;By Timothy Snyder. “A ‘bracing’ guide for surviving and resisting America&amp;rsquo;s turn towards authoritarianism.” — New York Times&lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;&lt;a href="https://timothysnyder.org/books/"&gt;The Road to Unfreedom&lt;/a&gt;&lt;/strong&gt;&lt;/dt&gt;
&lt;dd&gt;By Timothy Snyder. A chronicle of the rise of authoritarianism from Russia to Europe and America.&lt;/dd&gt;
&lt;/dl&gt;
&lt;hr&gt;
&lt;h2 id="people-or-resources-to-follow"&gt;People or Resources to Follow&lt;/h2&gt;
&lt;dl&gt;
&lt;dt&gt;&lt;a href="https://heathercoxrichardson.substack.com/"&gt;&lt;strong&gt;Heather Cox Richardson&lt;/strong&gt;&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;Her &lt;a href="https://heathercoxrichardson.substack.com/"&gt;newsletter&lt;/a&gt; is all about patterns in history, understanding today through understanding where we came from.&lt;/dd&gt;
&lt;dd&gt;&lt;blockquote&gt;
&lt;p&gt;“Historians are fond of saying that the past doesn’t repeat itself; it rhymes. To understand the present, we have to understand how we got here. That’s where this newsletter comes in.”&lt;/p&gt;&lt;/blockquote&gt;
&lt;/dd&gt;
&lt;dt&gt;&lt;a href="https://whatthefuckjusthappenedtoday.com/"&gt;&lt;strong&gt;What The Fuck Just Happened Today&lt;/strong&gt;&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;Matt Kiser’s &lt;a href="https://whatthefuckjusthappenedtoday.com/"&gt;newsletter&lt;/a&gt; is second-to-none in summarizing what is happening today. With the intense chaotic deluge of changes coming out of the Trump Whitehouse, Matt’s “Today in one sentence” summaries are an artful strain the use of a semicolon to contain all the chaos in one sentence.&lt;/dd&gt;
&lt;dt&gt;&lt;a href="https://www.politicsgirl.com/"&gt;&lt;strong&gt;Politics Girl, Leigh McGowan&lt;/strong&gt;&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;I love her approach, “when you understand you care, and when you care you vote”. Her &lt;a href="https://www.youtube.com/@PoliticsGirl/shorts"&gt;YouTube shorts&lt;/a&gt; are a great starting point for connecting with her content. And she has a &lt;a href="https://podcasts.apple.com/us/podcast/the-politicsgirl-podcast/id1595408601"&gt;podcast&lt;/a&gt;, &lt;a href="https://www.simonandschuster.com/books/A-Return-to-Common-Sense/Leigh-McGowan/9781668066430"&gt;book&lt;/a&gt;, and you can learn more at her &lt;a href="https://www.politicsgirl.com/"&gt;website&lt;/a&gt;.&lt;/dd&gt;
&lt;dt&gt;&lt;a href="https://www.project2025.observer/"&gt;&lt;strong&gt;Project 2025 Observer&lt;/strong&gt;&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;A community-driven resource tracking the progress of Project 2025.&lt;/dd&gt;
&lt;dt&gt;&lt;a href="https://potustracker.us/"&gt;&lt;strong&gt;POTUS Tracker&lt;/strong&gt;&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;A real-time tracking platform that monitors the President of the United States&amp;rsquo; location, schedule, signed legislation, and executive orders.&lt;/dd&gt;
&lt;/dl&gt;
&lt;hr&gt;
&lt;h2 id="articles--short-form-writing"&gt;Articles &amp;amp; Short-Form Writing&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://www.theatlantic.com/membership/archive/2018/08/a-study-guide-to-the-rise-of-authoritarianism/568945/"&gt;A Study Guide to Authoritarianism - The Atlantic&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://secularhumanism.org/2003/03/fascism-anyone/"&gt;Fascism Anyone? | Free Inquiry&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.bloodinthemachine.com/p/the-tech-oligarchy-has-been-here"&gt;The tech oligarchy has been here for years&lt;/a&gt;&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;&lt;a href="https://www.thenerdreich.com/reboot-elon-musk-ceo-dictator-doge/"&gt;&amp;lsquo;Reboot&amp;rsquo; Revealed: Elon Musk&amp;rsquo;s CEO-Dictator Playbook&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;em&gt;The playbook written by Peter Theil’s in-house philosopher, a playbook that Elon Musk is implementing.&lt;/em&gt;&lt;/dd&gt;
&lt;dt&gt;&lt;a href="https://www.theatlantic.com/magazine/archive/1925/12/italian-tyranny-an-anti-fascist-view/648711/"&gt;Italian Tyranny: An Anti-Fascist View&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;An Atlantic article from 1925 serving as a reminder that &lt;em&gt;none of this is new&lt;/em&gt;. You can &lt;a href="https://cdn.theatlantic.com/media/archives/1925/12/136-6/132412105.pdf"&gt;view the entire original free as a pdf&lt;/a&gt;.&lt;/dd&gt;
&lt;dt&gt;&lt;a href="https://www.nytimes.com/2025/02/02/opinion/ezra-klein-podcast-trump-column-read.html"&gt;Don’t Believe Him&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;“Trump is acting like a king because he is too weak to govern like a president. He is trying to substitute perception for reality. He is hoping that perception then becomes reality. That can only happen if we believe him.”&lt;/dd&gt;
&lt;/dl&gt;
&lt;p&gt;&lt;a href="https://ryanholiday.net/heres-how-im-preparing-for-the-next-four-years/"&gt;How to prep your mind, Ryan Holiday&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://linksiwouldgchatyou.substack.com/p/how-to-stay-sane-and-informed"&gt;How to stay sane &lt;em&gt;AND&lt;/em&gt; informed&lt;/a&gt;&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;&lt;a href="https://verfassungsblog.de/the-authoritarian-regime-survival-guide/"&gt;The Authoritarian Regime Survival Guide&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;Originally published in 2017 as a series of social media posts, compiled here at this page, signed &lt;em&gt;—With love, your Eastern European friends&lt;/em&gt;.&lt;/dd&gt;
&lt;/dl&gt;
&lt;p&gt;Professor and authoritarianism scholar Ruth Ben-Ghiat &lt;a href="https://youtu.be/vK6fALsenmw"&gt;answers questions about dictators and fascism&lt;/a&gt;.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="christianitys-role"&gt;Christianity’s Role&lt;/h2&gt;
&lt;p&gt;Christian Nationalists are one of the primary voting bases for authoritarianism, giving rise to Trumpism and opening the doors to bigotry, hate, and tyranny. It is worth understanding how a religion professing mercy, love, and compassion has been twisted to bring so much hate and evil, and why they are so intent to legislate their morality on all of us.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.prri.org/research/one-leader-under-god-the-connection-between-authoritarianism-and-christian-nationalism-in-america/"&gt;One Leader Under God: The Connection Between Authoritarianism and Christian Nationalism in America&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.nytimes.com/2025/02/11/business/silicon-valley-christianity.html"&gt;Silicon Valley is Embracing Christianity (With the Help of Peter Thiel) — The New York Times&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.theatlantic.com/magazine/archive/2025/02/new-apostolic-reformation-christian-movement-trump/681092/"&gt;The Army of God Comes Out of the Shadows — The Atlantic&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=ObePfeqlP_U"&gt;Trump and Religion, Dan McClellan&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=IB8P6R6ZLGo"&gt;On Trump, Christianity, and Mercy, Dan McClellan&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.reddit.com/r/PublicFreakout/s/D4UbQVV2s0"&gt;AOC on fake Christians using scripture to justify bigotry&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://m.youtube.com/watch?v=RTmlNvf5lRs&amp;amp;pp=ygUgaGlzdG9yeSBvZiBjaHJpc3RpYW4gbmF0aW9uYWxpc20%3D"&gt;Drunk on Power: Christian Nationalism&amp;rsquo;s War on Democracy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.peoplefor.org/rightwingwatch/joel-webbon-says-christian-nationalists-must-use-power-government-absolutely"&gt;“Your enemies should be having nightmares every night thinking about what the Christians are going to do to them . . . terrorize, I use that word intentionally, it is a biblical word.”&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="taking-action"&gt;Taking Action&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.aclu.org/know-your-rights/protesters-rights"&gt;Know Your Rights as a Protestor | ACLU&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.buildtheresistance.org/"&gt;Build the Resistance&lt;/a&gt; — a real-time window into the growing movement fighting to defend our country.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.fiftyfifty.one/"&gt;50501&lt;/a&gt; and the Reddit sub &lt;a href="https://www.reddit.com/r/50501/"&gt;r/50501&lt;/a&gt;. One of the best places to see real coverage of protests happening across the country.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://choosedemocracy.us/what-can-i-do/"&gt;What can I do to fight this coup?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.haymarketbooks.org/books/1922-let-this-radicalize-you"&gt;Let this radicalize you&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/resistlist.bsky.social/post/3lil7mvmofc2u"&gt;A great BlueSky thread with resources for the growing resistance&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://theradicalfederalist.substack.com/p/radical-federalism-in-action-how-62b"&gt;Call your governor. Call your attorney general. Call your state legislators.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Find your local meetup. For example, here is &lt;a href="https://www.meetup.com/resist-nashville/"&gt;#Resist: Nashville&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://standupforscience2025.org/"&gt;Stand Up For Science&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://5calls.org/"&gt;5 Calls makes it easy for you to reach your members of Congress and make your voice heard&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://resist.bot/"&gt;Resist Bot: Contact all your officials at once&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded></item><item><title>Origins of Totalitarianism</title><link>https://jonathan-beebe.com/posts/2025-02-21-origins-of-totalitarianism/</link><pubDate>Wed, 26 Feb 2025 00:00:00 +0000</pubDate><author>jonathan-beebe@outlook.com (Jonathan Beebe)</author><guid>https://jonathan-beebe.com/posts/2025-02-21-origins-of-totalitarianism/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://ryanholiday.net/heres-how-im-preparing-for-the-next-four-years/"&gt;Go for information that has a long half-life, not something that&amp;rsquo;s going to be contradicted in the next week.&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;This quote by Ryan Holiday grabbed me and held me. Lately I have been investing in literature to understand the current state of American and global politics. How did we get here? How can I make sense of today? Where are we headed?&lt;/p&gt;
&lt;p&gt;I found a book from 1951, &lt;em&gt;“Origins of Totalitarianism”&lt;/em&gt;, by Hannah Arendt. Much of this book feels as if someone wrote it yesterday. Yet it was written in the aftermath of WWII, exploring the history of how totalitarian regimes like Hitler’s Nazi Germany and Stalin’s Soviet Union emerged. This book has a long half-life.&lt;/p&gt;</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://ryanholiday.net/heres-how-im-preparing-for-the-next-four-years/"&gt;Go for information that has a long half-life, not something that&amp;rsquo;s going to be contradicted in the next week.&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;This quote by Ryan Holiday grabbed me and held me. Lately I have been investing in literature to understand the current state of American and global politics. How did we get here? How can I make sense of today? Where are we headed?&lt;/p&gt;
&lt;p&gt;I found a book from 1951, &lt;em&gt;“Origins of Totalitarianism”&lt;/em&gt;, by Hannah Arendt. Much of this book feels as if someone wrote it yesterday. Yet it was written in the aftermath of WWII, exploring the history of how totalitarian regimes like Hitler’s Nazi Germany and Stalin’s Soviet Union emerged. This book has a long half-life.&lt;/p&gt;
&lt;p&gt;This quote feels like someone could have written this book yesterday.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“Before mass leaders seize the power to fit reality to their lies, their propaganda is marked by its extreme contempt for facts as such, for in their opinion fact depends entirely on the power of man who can fabricate it.” (&lt;a href="https://www.goodreads.com/quotes/7270155-before-mass-leaders-seize-the-power-to-fit-reality-to"&gt;source&lt;/a&gt;)&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;My childhood in the 90s was saturated by the voice of Rush Limbaugh. Three hours of hate and division broadcast over the radio each day. Rush did not care for truth. He spun stories with extreme one-sided rhetoric to create division. His power was in his personality and platform. His legacy was an audience who embraced the worst in themselves. And he paved the way for more extreme and toxic personalities like Tucker Carlson. We have been in this mode of “extreme contempt for facts” for decades.&lt;/p&gt;
&lt;p&gt;This slide into contempt for truth and a thirst for fiction has left America ripe for totalitarian takeover.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;The ideal subject of totalitarian rule is not the convinced Nazi or the convinced Communist, but people for whom the distinction between fact and fiction (i.e., the reality of experience) and the distinction between true and false (i.e., the standards of thought) no longer exist.&amp;rdquo; (&lt;a href="https://www.goodreads.com/quotes/8110811-the-ideal-subject-of-totalitarian-rule-is-not-the-convinced"&gt;source&lt;/a&gt;)&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;We are living the aftermath of the destruction of fact and truth. This book is as relevant today as it was in 1951.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;the masses had reached the point where they would, at the same time, believe everything and nothing, think that everything was possible and that nothing was true. &amp;hellip; Mass propaganda discovered that its audience was ready at all times to believe the worst, no matter how absurd, and did not particularly object to being deceived because it held every statement to be a lie anyhow. The totalitarian mass leaders based their propaganda on the correct psychological assumption that, under such conditions, one could make people believe the most fantastic statements one day, and trust that if the next day they were given irrefutable proof of their falsehood, they would take refuge in cynicism; instead of deserting the leaders who had lied to them, they would protest that they had known all along that the statement was a lie and would admire the leaders for their superior tactical cleverness.&amp;rdquo; (&lt;a href="https://www.goodreads.com/quotes/7662360-in-an-ever-changing-incomprehensible-world-the-masses-had-reached-the"&gt;source&lt;/a&gt;)&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;When I participate in modern media, be it social media or television, I feel this tug-of-war every day. There is no respect for truth. And when the truth does surface, those peddling the falsehoods offer no retraction, apology, or otherwise acknowledge they were wrong and misleading. They just keep on keeping on, to the cheers of their adoring fans.&lt;/p&gt;
&lt;p&gt;The painful irony lies in this fact: they promise stability only to bring about destabilizing chaos.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;The point is that both Hitler and Stalin held out promises of stability in order to hide their intention of creating a state of permanent instability.&amp;rdquo; (&lt;a href="https://www.goodreads.com/quotes/7483287-the-point-is-that-both-author-hitler-30691-and-author-stalin-138332-held-out"&gt;source&lt;/a&gt;)&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Yesterday it was Hitler and Stalin. Today it is Trump and Musk.&lt;/p&gt;
&lt;p&gt;I am deeply troubled by America’s slide into tyranny at the hands of a wannabe fascist dictator and an unelected nazi oligarch. I feel a deep need to understand how we got here and where we are going. Perhaps more importantly, how I can participate to ensure a better outcome and a better future for my son.&lt;/p&gt;
&lt;p&gt;Back to the opening quote, the &lt;a href="https://ryanholiday.net/heres-how-im-preparing-for-the-next-four-years/"&gt;entire article&lt;/a&gt; is worth a read. But this expanded version gives context, showing how studying and understanding the past helps make sense of today.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;If you want to understand current events, don&amp;rsquo;t rely on breaking news. Find a book about a similar event in the past. Read history. Read psychology. Read biographies. Go for information that has a long half-life, not something that&amp;rsquo;s going to be contradicted in the next week. As I said, 2025 will be crazy and weird and tough. But probably not any more than the year 1925. Or the year 25 AD. That means there are lots of books, lots of ideas, lots of history that can help us with what lies ahead…because it will rhyme with what lies behind us.&lt;/p&gt;&lt;/blockquote&gt;</content:encoded></item><item><title>What are you most pulled toward?</title><link>https://jonathan-beebe.com/posts/2025-02-19-dharma-what-are-you-most-pulled-to/</link><pubDate>Wed, 19 Feb 2025 09:32:49 -0600</pubDate><author>jonathan-beebe@outlook.com (Jonathan Beebe)</author><guid>https://jonathan-beebe.com/posts/2025-02-19-dharma-what-are-you-most-pulled-to/</guid><description>&lt;blockquote&gt;
&lt;p&gt;. . . a recognition of what is your dharma which is, what are the problems you feel most pulled to and you can’t turn away from . . . pour your whole devotion into it. &lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;This quote grabbed me. I don’t normally use the word “dharma”. I had to look it up.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;dharma&lt;/strong&gt;&lt;/em&gt;: &lt;em&gt;the eternal and inherent nature of reality, essential quality or character, as of the cosmos or one’s own nature.&lt;/em&gt;&lt;/p&gt;</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;. . . a recognition of what is your dharma which is, what are the problems you feel most pulled to and you can’t turn away from . . . pour your whole devotion into it. &lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;This quote grabbed me. I don’t normally use the word “dharma”. I had to look it up.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;dharma&lt;/strong&gt;&lt;/em&gt;: &lt;em&gt;the eternal and inherent nature of reality, essential quality or character, as of the cosmos or one’s own nature.&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;So expanding the intro quote it becomes,&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;. . . a recognition of what is your &lt;em&gt;inherent nature or reality, essential quality, character, or nature&lt;/em&gt; which is, what are the problems you feel most pulled to and you can’t turn away from . . . pour your whole devotion into it.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;I love how the speaker, Daniel Schmachtenberger, connects one’s eternal nature or essential character with their inner pull towards solving specific problems. We are each capable of seeing the problems surrounding us with unique perspectives. We bring unique experiences.&lt;/p&gt;
&lt;p&gt;I don’t ask my son, “what do you want to &lt;em&gt;be&lt;/em&gt; when you grow up. I ask him, “what problems &lt;em&gt;do you want to solve&lt;/em&gt;?” Because I want him to know that he isn’t his work. But his work can be an expression of his essential qualities.&lt;/p&gt;
&lt;p&gt;Our work isn’t what we are. What we are points us towards the most fulfilling and impactful work we can do.&lt;/p&gt;
&lt;div class="footnotes" role="doc-endnotes"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;Daniel Schmachtenberger.
&lt;em&gt;“Not Everyone Has to Be a Jedi.”&lt;/em&gt; YouTube, 2024-Nov-4, &lt;a href="https://m.youtube.com/watch?v=Z-INuVmOZ8s"&gt;https://m.youtube.com/watch?v=Z-INuVmOZ8s&lt;/a&gt;&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content:encoded></item><item><title>Underestimating the Obvious</title><link>https://jonathan-beebe.com/posts/2025-02-18-underestimate-the-obvious/</link><pubDate>Tue, 18 Feb 2025 00:00:00 +0000</pubDate><author>jonathan-beebe@outlook.com (Jonathan Beebe)</author><guid>https://jonathan-beebe.com/posts/2025-02-18-underestimate-the-obvious/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Once something is obvious and working, people tend to underestimate it. (&lt;a href="https://fs.blog/brain-food/february-16-2025/"&gt;source&lt;/a&gt;)&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;I experienced this first-hand in my very first software role. I was using AppleScript to automate redundant tasks. If the task was chosen wisely it only required a few hours of hacking on a simple script. A two-hour job transformed into a two-second automation.&lt;/p&gt;
&lt;p&gt;I once met a professional AppleScripter who worked with pre-press workflows in printing. He automated a manual data aggregation task. Before, it required two weeks of labor. After, he transformed it into a two-minute automation. Those who knew the two weeks of manual drudgery hailed him as a hero. But new employees only experienced the two-minute delay of the script. To them the computer felt slow. They complained about the wait.&lt;/p&gt;</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;Once something is obvious and working, people tend to underestimate it. (&lt;a href="https://fs.blog/brain-food/february-16-2025/"&gt;source&lt;/a&gt;)&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;I experienced this first-hand in my very first software role. I was using AppleScript to automate redundant tasks. If the task was chosen wisely it only required a few hours of hacking on a simple script. A two-hour job transformed into a two-second automation.&lt;/p&gt;
&lt;p&gt;I once met a professional AppleScripter who worked with pre-press workflows in printing. He automated a manual data aggregation task. Before, it required two weeks of labor. After, he transformed it into a two-minute automation. Those who knew the two weeks of manual drudgery hailed him as a hero. But new employees only experienced the two-minute delay of the script. To them the computer felt slow. They complained about the wait.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Once something is obvious and working, people tend to underestimate it.&lt;/em&gt;&lt;/p&gt;</content:encoded></item><item><title>ChatGPT wraps up with an avalanche of cliches . . .</title><link>https://jonathan-beebe.com/posts/2025-02-09-avalanche-of-cliches/</link><pubDate>Sun, 09 Feb 2025 00:00:00 +0000</pubDate><author>jonathan-beebe@outlook.com (Jonathan Beebe)</author><guid>https://jonathan-beebe.com/posts/2025-02-09-avalanche-of-cliches/</guid><description>&lt;p&gt;&lt;em&gt;An example of just how bland AI output is compared to a creative human.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Here is a wonderful article capturing why we need humans doing creative work in a world becoming saturated with AI slop. If you care about fostering a world where human creativity is still valued then &lt;a href="https://www.latimes.com/socal/daily-pilot/opinion/story/2024-04-09/a-word-please-coffee-shop-prompt-stirs-chatgpt-to-brew-up-bland-copy"&gt;June Casagrande&amp;rsquo;s article &amp;ldquo;A Word, Please: Coffee-shop prompt stirs ChatGPT to brew up bland copy”&lt;/a&gt; is well worth a read.&lt;/p&gt;
&lt;p&gt;She observes,&lt;/p&gt;</description><content:encoded>&lt;p&gt;&lt;em&gt;An example of just how bland AI output is compared to a creative human.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Here is a wonderful article capturing why we need humans doing creative work in a world becoming saturated with AI slop. If you care about fostering a world where human creativity is still valued then &lt;a href="https://www.latimes.com/socal/daily-pilot/opinion/story/2024-04-09/a-word-please-coffee-shop-prompt-stirs-chatgpt-to-brew-up-bland-copy"&gt;June Casagrande&amp;rsquo;s article &amp;ldquo;A Word, Please: Coffee-shop prompt stirs ChatGPT to brew up bland copy”&lt;/a&gt; is well worth a read.&lt;/p&gt;
&lt;p&gt;She observes,&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;ChatGPT bases its writing on lots and lots of online documents and databases, guessing what word should come next based on the words all those other articles used next. The result is a very slick, polished voice, along with a ton of cliches and empty sentences. But ChatGPT’s biggest weakness is that it has no idea what interests humans. What’s more, it doesn’t understand what words mean.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Here is but one example she gives,&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Now the AI program’s third sentence: “With a steadfast commitment to quality and community, Caffe Maximo’s expansion into Redondo Beach symbolizes its dedication to fostering local connections.”&lt;/p&gt;
&lt;p&gt;In a book I published in 2010, I spent a whole chapter explaining why writers should not do this, which I will summarize here in two syllables: Who cares? Such a vacuous collection of words wastes the reader’s time and, in a tight article, wastes precious space too.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;This gets at the heart of the problem with most AI generated content — it takes up space and wastes time on insignificant ideas.&lt;/p&gt;
&lt;p&gt;A creative human cares deeply, and this care will manifest in the expression of their art. Generative AI is, at the deepest technical level, simply predicting what is most likely. Truly unique and creative expression is the opposite of likely. It takes a tremendous amount of effort.&lt;/p&gt;
&lt;p&gt;The problem with bland AI slop is eloquently summarized by June in one of her final statements, &amp;ldquo;ChatGPT wraps up with an avalanche of cliches . . .&amp;rdquo;&lt;/p&gt;
&lt;h2 id="3-other-things"&gt;3 Other Things&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Apple is &lt;a href="https://arstechnica.com/gadgets/2024/08/do-not-hallucinate-testers-find-prompts-meant-to-keep-apple-intelligence-on-the-rails/"&gt;telling it’s AI to not hallucinate&lt;/a&gt;. Makes sense, it allways works when I tell my child to not lie 🙄&lt;/li&gt;
&lt;li&gt;Researchers are experimenting with &lt;a href="https://arxiv.org/abs/2409.05556v1"&gt;AI systems to do science&lt;/a&gt;, revealing connections between data previously unseen. This is really interesting work. However, going with the theme of June’s article above, most of my favorite scientific breakthroughts came from the creative art of experiment design.&lt;/li&gt;
&lt;li&gt;A paper claiming AI can be more creative than a human, &lt;a href="https://docs.iza.org/dp17302.pdf"&gt;&amp;ldquo;The creative
ideas produced by AI chatbots are rated more creative than those created by humans.&amp;rdquo;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;</content:encoded></item><item><title>Not all solutions require technology</title><link>https://jonathan-beebe.com/posts/2025-02-09-not-all-solutions-require-technology/</link><pubDate>Sun, 09 Feb 2025 00:00:00 +0000</pubDate><author>jonathan-beebe@outlook.com (Jonathan Beebe)</author><guid>https://jonathan-beebe.com/posts/2025-02-09-not-all-solutions-require-technology/</guid><description>&lt;blockquote&gt;
&lt;p&gt;“Our paper books have lasted hundreds of years on our shelves and are still readable. Without active maintenance, we will be lucky if our digital books last a decade.”&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;From the Internet Archive Blog’s “&lt;a href="https://blog.archive.org/2022/11/15/digital-books-wear-out-faster-than-physical-books/"&gt;Digital Books wear out faster than Physical Books&lt;/a&gt;”.&lt;/p&gt;</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;“Our paper books have lasted hundreds of years on our shelves and are still readable. Without active maintenance, we will be lucky if our digital books last a decade.”&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;From the Internet Archive Blog’s “&lt;a href="https://blog.archive.org/2022/11/15/digital-books-wear-out-faster-than-physical-books/"&gt;Digital Books wear out faster than Physical Books&lt;/a&gt;”.&lt;/p&gt;</content:encoded></item><item><title>Five life hacks I know at 44 but I wish I knew at 24</title><link>https://jonathan-beebe.com/posts/2024-11-01-five-life-hacks/</link><pubDate>Sat, 12 Oct 2024 00:00:00 +0000</pubDate><author>jonathan-beebe@outlook.com (Jonathan Beebe)</author><guid>https://jonathan-beebe.com/posts/2024-11-01-five-life-hacks/</guid><description>&lt;ol&gt;
&lt;li&gt;Passing life hacks to your past self is pretentious. Don’t fall into the trap of thinking you need to do this.&lt;/li&gt;
&lt;li&gt;Be grateful for the wisdom you have accumulated. After all, it could’ve taken you another decade.&lt;/li&gt;
&lt;li&gt;It is ineffective and unhealthy to ruminate on past missteps. Far better to consider making your very next step the healthiest and most effective you can.&lt;/li&gt;
&lt;li&gt;Be grateful for the journey you are on right now. If your journey was different, you would be different. Are you sure you would like that version of yourself better?&lt;/li&gt;
&lt;li&gt;Don’t pine after the self you could have been yesterday. Strive for the version you want to become tomorrow. Even better, rest content with who you are today.&lt;/li&gt;
&lt;/ol&gt;</description><content:encoded>&lt;ol&gt;
&lt;li&gt;Passing life hacks to your past self is pretentious. Don’t fall into the trap of thinking you need to do this.&lt;/li&gt;
&lt;li&gt;Be grateful for the wisdom you have accumulated. After all, it could’ve taken you another decade.&lt;/li&gt;
&lt;li&gt;It is ineffective and unhealthy to ruminate on past missteps. Far better to consider making your very next step the healthiest and most effective you can.&lt;/li&gt;
&lt;li&gt;Be grateful for the journey you are on right now. If your journey was different, you would be different. Are you sure you would like that version of yourself better?&lt;/li&gt;
&lt;li&gt;Don’t pine after the self you could have been yesterday. Strive for the version you want to become tomorrow. Even better, rest content with who you are today.&lt;/li&gt;
&lt;/ol&gt;</content:encoded></item><item><title>Hemingway’s Four Rules for Writing [Software]</title><link>https://jonathan-beebe.com/posts/2024-09-27-hemingways-four-rules-for-writing-software/</link><pubDate>Fri, 27 Sep 2024 00:00:00 +0000</pubDate><author>jonathan-beebe@outlook.com (Jonathan Beebe)</author><guid>https://jonathan-beebe.com/posts/2024-09-27-hemingways-four-rules-for-writing-software/</guid><description>&lt;p&gt;Hemingway swore by these four rules for writing prose (&lt;a href="https://www.wordsthatsing.com.au/post/hemingway-rules"&gt;source&lt;/a&gt;):&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Use short sentences&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Use short first paragraphs&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Use “vigorous” english&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Be positive, not negative&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Adapted for software engineering, they might read:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Use short statements&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Use pure functions&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Use descriptive variables&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Be optimistic, not defensive&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;For Hemingway, a great intro for a story was three short, well honed sentences. While I can’t find a direct source, the consensus view seems to be Hemingway believed there was not a single wasted word in “The Old Man and the Sea”. Now imagine for a moment you could say the same about your best code. Image saying there isn’t a single wasted statement. Not a single wasted function. Not a single unnecessary dependency. Not a single wasted byte of memory or single wasted processor cycle.&lt;/p&gt;</description><content:encoded>&lt;p&gt;Hemingway swore by these four rules for writing prose (&lt;a href="https://www.wordsthatsing.com.au/post/hemingway-rules"&gt;source&lt;/a&gt;):&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Use short sentences&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Use short first paragraphs&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Use “vigorous” english&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Be positive, not negative&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Adapted for software engineering, they might read:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Use short statements&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Use pure functions&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Use descriptive variables&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Be optimistic, not defensive&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;For Hemingway, a great intro for a story was three short, well honed sentences. While I can’t find a direct source, the consensus view seems to be Hemingway believed there was not a single wasted word in “The Old Man and the Sea”. Now imagine for a moment you could say the same about your best code. Image saying there isn’t a single wasted statement. Not a single wasted function. Not a single unnecessary dependency. Not a single wasted byte of memory or single wasted processor cycle.&lt;/p&gt;
&lt;p&gt;Wouldn’t it be wonderful! But we work in environments optimizing for other things. Business constraints hinder us from refining our code to this level of quality.&lt;/p&gt;
&lt;p&gt;But imagine for a moment we are able to create like this. Imagine our environment is optimized so we can write code following these rules. What does it look like? How does it feel?&lt;/p&gt;
&lt;h2 id="use-short-statements"&gt;Use short statements&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;A Farewell to Nested Loops&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Hemingway taught us &lt;em&gt;less is more&lt;/em&gt;. Cut complexity. Embrace brevity. Strive for clarity.&lt;/p&gt;
&lt;p&gt;When we apply this to our code, every statement communicates the work it is doing and why. A reader easily identifies what it does and how it works. The language features used are appropriate for the task at hand. It is clear how inputs flow in, how the function works, and how results flow out.&lt;/p&gt;
&lt;p&gt;This is about striking a balance between overly clever code and overly verbose code. Too clever and it forces the reader into deciphering mode. They must stop and parse obtuse syntax or unfamiliar language features. Too verbose and the reader may struggle, getting lost in the weeds of analysis. When striking the proper balance our code becomes easier to comprehend. The reader easily understands the problem and how the code solves it.&lt;/p&gt;
&lt;h2 id="use-pure-functions"&gt;Use pure functions&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;For Whom the Function Calls&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Great prose communicates clear purpose. There are no wasted words. No distractions for the reader. Likewise, a great function communicates one clear purpose.&lt;/p&gt;
&lt;p&gt;If we wrote our code like this, each function would do one thing and do it well. Each object would contain what it needs, nothing more. Components compose together like Lego bricks. Data flows with logical precision. The shape of the assembled system matches the problem you are solving.&lt;/p&gt;
&lt;p&gt;Hemingway’s first rule has two phrasings, one being “use short &lt;em&gt;first&lt;/em&gt; paragraphs”. I like this focus for software. I often find projects with disorganized file structures, huge main functions, or bloated app delegates. The entry point is overwhelming. Just opening the project burdens the reader with an overwhelming amount of context. The best projects clearly define and delineate each architectural layer and its purpose. The top level structures are clean and easy to read.&lt;/p&gt;
&lt;p&gt;When we strive for this kind of quality, our code becomes easier to comprehend. This benefits the new team member. And it will benefit future you when you come back to this code in 8 months.&lt;/p&gt;
&lt;h2 id="use-descriptive-variables"&gt;Use descriptive variables&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;The Code Also Reads&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Software is storytelling. It is a choose-your-own adventure. Your customer is the main character. They and their data are on a journey accomplishing a task. To tell this story well, the phrasing and expression of your code matters. Your variable names encode meaning, action, and intent. Thus function and variable names matter. A lot.&lt;/p&gt;
&lt;p&gt;Make sure your code tells the story well. Names are not too short or too long. Interactions are purposeful and make sense. The lexicon matches the problem domain. It is easy for new team members to follow the flow of logic and data.&lt;/p&gt;
&lt;h2 id="be-optimistic-not-defensive"&gt;Be optimistic, not defensive&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;The Optimist and the Sea&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Part of a software engineer’s job is creating systems that are resilient. The software continues working even when errors or anomalies occur. This isn’t easy. But great code makes it &lt;em&gt;look&lt;/em&gt; easy.&lt;/p&gt;
&lt;p&gt;A great example of this is eliminating null values. You can structure code so a value is always defined and can never become null or undefined. This eliminates an entire category of bugs, making your code safe and easy to comprehend. The system needs well defined values, so model it that way.&lt;/p&gt;
&lt;p&gt;Another great example is how you might model error conditions. Errors can be treated as anomalies, things that shouldn’t happen. But it’s better to model errors as a natural behavior of the system. Handles errors like any other value. Errors should lead to a predictable and well-designed experience for the customer.&lt;/p&gt;
&lt;p&gt;For example, say you want to retrieve a video from the server and display it to the user. You can model a system so if the video retrieval fails, the software acts like, “I never received the expected result, so enter a failure state.” But another way to think about this scenario is to model the failure state as a natural state of the system. Both the video response and error response are reasonable values. They are both displayable resources that can have a well defined interface.&lt;/p&gt;
&lt;p&gt;Create code that naturally handles both successful and error states.&lt;/p&gt;
&lt;h2 id="wrap"&gt;Wrap&lt;/h2&gt;
&lt;p&gt;Obviously an exercise like this is entirely subjective. Even if you like Hemingway’s rules, you may not have a taste for his literature. In the same way, two different software engineers will write code in different styles. The point isn’t to homogenize how we write code. It is to change your perspective on how you think about &lt;em&gt;how you think about&lt;/em&gt; writing code.&lt;/p&gt;
&lt;p&gt;You might write code that you feel perfectly expresses the intent of the program. And yet, it won’t appeal to someone else’s taste. They will likely find something they feel is wrong. And that’s ok. The point is simply to reconsider &lt;em&gt;what makes for amazing code?&lt;/em&gt; To push yourself to be better. Hemingway had rules to push himself to be a better writer. What rules do you have to help you be a better coder?&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="7-other-things"&gt;7 Other Things&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;🤣 A youtube short on &lt;a href="https://www.youtube.com/shorts/n0jpmnn4cNI"&gt;reviewing three lines of code vs reviewing 30,000&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🤔 One of the most common questions I am asked by non-technical folks is “&lt;em&gt;how do I more effectively work with software engineers?”&lt;/em&gt; I have signed up for &lt;a href="https://maven.com/p/8f5c8c/how-to-master-technical-literacy-evolving-your-approach?"&gt;this Oct 3rd maven course on “How to Master Technical Literacy”&lt;/a&gt;. I am excited to see how they approach this problem. I find it noteworthy they discourage taking a coding class. There are more effective ways to learn how to communicate and collaborate with software engineers.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🤩 James Earl Jones reading the raven, &lt;a href="https://kottke.org/24/09/james-earl-jones-reads-poes-the-raven"&gt;via kottke.org&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🤓 Seven good lessons from a career of paying down tech debt. I especially appreciate “linking tech debt and value delivery.” (&lt;a href="https://newsletter.pragmaticengineer.com/p/paying-down-tech-debt"&gt;source&lt;/a&gt;)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;😌 Since working from home I have experienced the incredible value of keeping a tidy house. Keeping my work environment clean is essential from mental and physical health. The same is true of code. There is a certain level of tightness or cleanliness that is necessary in order for the code to feel habitable. (&lt;a href="https://open.substack.com/pub/tidyfirst/p/the-life-changing-magic-of-tidying?r=36mfb9"&gt;from Kent Beck&lt;/a&gt;)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;😬 The FTC acknowledges social media companies are unsafe for children and are actively spying on them (&lt;a href="https://www.ftc.gov/news-events/news/press-releases/2024/09/ftc-staff-report-finds-large-social-media-video-streaming-companies-have-engaged-vast-surveillance"&gt;via the FTC website&lt;/a&gt;). Also see &lt;a href="https://softwareauthor.substack.com/p/refactor-your-communication-3-tools"&gt;last week’s item&lt;/a&gt; about the FBI recommending we all use ad blockers.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🙄 Getting through Apple’s app review is like a restaurant asking you to prove you’re actually hungry before they’ll seat you to order food. This week the iPhone camera app Halide, which was just featured in Apple’s keynote, has been &lt;a href="https://mastodon.social/@sandofsky/113181384256449181"&gt;rejected by an App Store reviewer because of its camera permission dialogue&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id="parting-thought"&gt;Parting thought&lt;/h2&gt;
&lt;p&gt;If you are in tech you might believe everyone is using AI, given the constant barrage of news in this space. But it appears customers are not nearly as engaged. In a thought-provoking piece (originally by Ed Zitron, &lt;a href="https://www.linkedin.com/posts/emaggiori_the-subprime-ai-crisis-activity-7241796179280162817-8vYB/"&gt;summarized by Emmanuel Maggiori&lt;/a&gt;) they share:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Customers of Microsoft&amp;rsquo;s 365 suite &amp;hellip; are barely adopting its AI-powered &amp;ldquo;Copilot&amp;rdquo; products, with somewhere between 0.1% and 1% &amp;hellip; paying for the features. One firm testing the AI features is quoted as saying that &amp;ldquo;most people don&amp;rsquo;t find it that valuable right now.&amp;rdquo;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;I’ve noticed this in my own behavior in products that I love and use on a daily basis. Many of my favorite products have released integrated AI features over the past year. I don’t use &lt;em&gt;any&lt;/em&gt; of the AI features, and when given the preference I actively disable them. Often they get in the way and slow me down.&lt;/p&gt;
&lt;p&gt;It makes me wonder, other than directly using an AI chat tool like ChatGPT, are there any AI integrations that you find useful?&lt;/p&gt;
&lt;p&gt;(&lt;a href="https://www.linkedin.com/posts/emaggiori_the-subprime-ai-crisis-activity-7241796179280162817-8vYB"&gt;source&lt;/a&gt;)&lt;/p&gt;</content:encoded></item><item><title>Refactor Your Communication: 3 Tools to Engineer Buy-In and Commitment</title><link>https://jonathan-beebe.com/posts/2024-09-24-refactor-your-communication/</link><pubDate>Tue, 24 Sep 2024 00:00:00 +0000</pubDate><author>jonathan-beebe@outlook.com (Jonathan Beebe)</author><guid>https://jonathan-beebe.com/posts/2024-09-24-refactor-your-communication/</guid><description>&lt;p&gt;I have found these communication tools make my job as a software engineer far easier. They allow me to foster buy-in and focus my efforts. Let’s dive right in.&lt;/p&gt;
&lt;h3 id="1-the-key-risks-list"&gt;1) The key risks list&lt;/h3&gt;
&lt;p&gt;I once had a leader challenge me to always know the top three risks my team and business were facing. The moment he asked for this, I knew I didn’t have an answer. While I could list areas of concern, I couldn’t say with certainty which one was the top risk and why. And this is the power of the exercise.&lt;/p&gt;</description><content:encoded>&lt;p&gt;I have found these communication tools make my job as a software engineer far easier. They allow me to foster buy-in and focus my efforts. Let’s dive right in.&lt;/p&gt;
&lt;h3 id="1-the-key-risks-list"&gt;1) The key risks list&lt;/h3&gt;
&lt;p&gt;I once had a leader challenge me to always know the top three risks my team and business were facing. The moment he asked for this, I knew I didn’t have an answer. While I could list areas of concern, I couldn’t say with certainty which one was the top risk and why. And this is the power of the exercise.&lt;/p&gt;
&lt;p&gt;If you can rank order all the concerns facing your business and name the top three risks, you &lt;em&gt;immediately&lt;/em&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Focus your efforts.&lt;/li&gt;
&lt;li&gt;Have more fruitful conversations with stakeholders.&lt;/li&gt;
&lt;li&gt;And can get buy in on addressing the risks.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This is a great place for data driven insights to help tell the story of why something is risky, to quantify the risk, and build a case for why investment is necessary.&lt;/p&gt;
&lt;p&gt;Take note: &lt;em&gt;&lt;strong&gt;this is how you prioritize fixing tech debt&lt;/strong&gt;&lt;/em&gt; with shared buy-in from your stakeholders. When you can show the real risk of a problem, it becomes much easier for others to support you in addressing it.&lt;/p&gt;
&lt;p&gt;Day-to-day, not much will change. But month-by-month, you will notice far more progress on solving problems that matter.&lt;/p&gt;
&lt;h3 id="2-the-options-list"&gt;2) The options list&lt;/h3&gt;
&lt;p&gt;Most software engineering problems have many possible solutions. By documenting reasonable options and weighing the pros and cons, you can help your business partners and peers:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Understand what you’re thinking and what you value.&lt;/li&gt;
&lt;li&gt;Have confidence you understand the problem and are making an informed choice.&lt;/li&gt;
&lt;li&gt;Support your recommendation.&lt;/li&gt;
&lt;li&gt;Identify opportunities for collaboration across business units.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I have written more extensively &lt;a href="https://www.linkedin.com/posts/---jonathan-beebe---_i-have-a-problem-solving-template-that-never-activity-7009140185359601665-u6Rv/"&gt;about a template you can use for this approach&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id="3-the-weekly-update"&gt;3) The weekly update&lt;/h3&gt;
&lt;p&gt;When you have a group of people with a vested interest in your work, communication typically happens in one of two ways. Either they ask for it. Or you offer it. (There is a third option, they may hear about it sideways, as a rumor. This is unhealthy and can be avoided with this approach.)&lt;/p&gt;
&lt;p&gt;Say your business leader comes to you and asks for a status update. They are often concerned about something. The first time they ask, this is a positive signal that you can add value by addressing their concern. Take note. Is this information they need on a regular cadence? Then don’t make the mask for it again. Repeated asks are a signal you are not communicating enough. This is where the weekly update can help.&lt;/p&gt;
&lt;p&gt;The best kind of communication is when you can get ahead of the problem. Proactively answer their question before they ask.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Set expectations around cadence (for example, weekly). This is one less thing they need to ask about, because now they know you will take care of it.&lt;/li&gt;
&lt;li&gt;Focus on the key areas of concern and what you and your team are doing to address them.&lt;/li&gt;
&lt;li&gt;Celebrate wins as your team accomplishes them.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you have primed this with the top three key risks, as discussed above, you will have established a trusted communication loop that allows you and your team more freedom to operate.&lt;/p&gt;
&lt;h3 id="wrap"&gt;Wrap&lt;/h3&gt;
&lt;p&gt;Being intentional about your patterns of communication is essential. Your leaders, stakeholders, and peers will all have more awareness of what you are doing and why. With a shared why, you can foster buy-in and align your problem with theirs. This opens up doors to collaboration and allows everyone to succeed.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="7-other-things"&gt;7 Other Things&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;I remember hearing about water powered cars when I was a kid. It’s exciting to see people &lt;a href="https://www.eldiario24.com/en/water-car-end-gasoline/114/"&gt;exploring water-power automotive tech&lt;/a&gt; and making it real.&lt;/li&gt;
&lt;li&gt;If water powered cars are optimistic and exciting, this is draconian and depressing. Ford has patented an in-car system that will listen to you so it can play you ads. I can’t imagine how anyone working on this project believes this is a good idea. (&lt;a href="https://www.motortrend.com/news/ford-in-vehicle-advertising-patent/"&gt;from Motortrend&lt;/a&gt;.)&lt;/li&gt;
&lt;li&gt;Scientists gave mushrooms . . . legs? According to &lt;a href="https://www.independent.co.uk/tech/robot-mushroom-biohybrid-robotics-cornell-b2606970.html"&gt;this article&lt;/a&gt;, mushrooms were able to act like a brain and control robotic legs. Fascinating. And horrifying.&lt;/li&gt;
&lt;li&gt;What I am learning: HTMX. I haven’t been this excited about web tech in a while. Here is a &lt;a href="https://htmx.org/essays/web-security-basics-with-htmx/"&gt;great article on security&lt;/a&gt; with HTMX.&lt;/li&gt;
&lt;li&gt;Great reflection on the value of human writers versus genericized AI-generated slop, from &lt;a href="https://www.latimes.com/socal/daily-pilot/opinion/story/2024-04-09/a-word-please-coffee-shop-prompt-stirs-chatgpt-to-brew-up-bland-copy"&gt;the LA Times&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;An example of why it is important to think through the holistic design of your technology. From a company’s perspective, it makes sense to design technology with the assumption the company will always be around. From the customers’ perspective, it makes sense that the technology will continue working as long as the individual unit they purchased still exists, regardless of whether the company still exists. Story: &lt;a href="https://restofworld.org/2024/ev-company-shutdowns-china/"&gt;electric vehicles stop working when the company stops doing business&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;The FBI &lt;a href="https://www.ic3.gov/Media/Y2022/PSA221221"&gt;recommends using an ad blocker&lt;/a&gt;. Why? “cyber criminals are using search engine advertisement services to impersonate brands and direct users to malicious sites that host ransomware and steal login credentials and other financial information.” I may write an entire post about this at some point, but I have almost completely eliminated ads from my online life with strategic application of ad blockers on my desktop and phone. It is hard to overstate how good this has been for my mental health. And now, evidently, for my online safety too.&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id="parting-thought"&gt;Parting thought&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;“One minute of exercise buys you five minutes of extra life.”&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;A reminder to all software engineers and knowledge workers, those of us who may sit for hours on-end: prioritize exercise. It will change your life for the better.&lt;/p&gt;
&lt;p&gt;The above quote is from Euan Ashley. In &lt;a href="https://www.theringer.com/2024/8/30/24231888/importance-of-exercise-medical-intervention-cardiovascular-health"&gt;this article/podcast&lt;/a&gt; she expands on her research,&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;. . . it did indeed map that one minute of exercise at a brisk walking sort of pace would buy you five minutes. In fact, if you exercised at a higher intensity, you could get seven or eight minutes of extra life. So it is a stunning statistic, and it’s just not really the way we normally think of it.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="https://www.theringer.com/2024/8/30/24231888/importance-of-exercise-medical-intervention-cardiovascular-health"&gt;Source&lt;/a&gt;&lt;/p&gt;</content:encoded></item><item><title>Ten Papers a Software Engineer Should Read</title><link>https://jonathan-beebe.com/posts/2024-08-27-10-papers-a-software-engineer-should-read/</link><pubDate>Tue, 27 Aug 2024 00:00:00 +0000</pubDate><author>jonathan-beebe@outlook.com (Jonathan Beebe)</author><guid>https://jonathan-beebe.com/posts/2024-08-27-10-papers-a-software-engineer-should-read/</guid><description>&lt;p&gt;There’s no such thing as “self-taught.”&lt;/p&gt;
&lt;p&gt;Self-directed, maybe. But not self-taught.&lt;/p&gt;
&lt;p&gt;As someone who didn’t learn software engineering through a university, I am deeply indebted to those who came before me and wrote about what they learned. I developed my career largely from reading others’ work. They were my teachers.&lt;/p&gt;
&lt;p&gt;Below you will find a rather personal list of essays that have shaped my career, leading up to my current role as a Director of Engineering for a fintech product. These documents explore some common threads which I have found to be essential as I build out a world-class product team.&lt;/p&gt;</description><content:encoded>&lt;p&gt;There’s no such thing as “self-taught.”&lt;/p&gt;
&lt;p&gt;Self-directed, maybe. But not self-taught.&lt;/p&gt;
&lt;p&gt;As someone who didn’t learn software engineering through a university, I am deeply indebted to those who came before me and wrote about what they learned. I developed my career largely from reading others’ work. They were my teachers.&lt;/p&gt;
&lt;p&gt;Below you will find a rather personal list of essays that have shaped my career, leading up to my current role as a Director of Engineering for a fintech product. These documents explore some common threads which I have found to be essential as I build out a world-class product team.&lt;/p&gt;
&lt;p&gt;Growing a continuous learning culture, with effective application of learning.&lt;/p&gt;
&lt;p&gt;Creating and leveraging rapid feedback loops.&lt;/p&gt;
&lt;p&gt;Aiming at simplicity, managing complexity, and avoiding anything unnecessary.&lt;/p&gt;
&lt;p&gt;Growing code that evolves over time to accommodate new learnings about our customers, product, and industry.&lt;/p&gt;
&lt;p&gt;Creating quality that allows a team to enjoy working in our code year after year; this isn’t perfect code, it’s enjoyable code.&lt;/p&gt;
&lt;h3 id="1-the-quality-without-a-name"&gt;1. The Quality Without a Name&lt;/h3&gt;
&lt;p&gt;This essay has influenced my career more than any other. It has shaped the kind of output I strive to create: code that is enjoyable to work in. If you enjoy well-crafted metaphors that unlock new perspectives on your craft, then I highly recommend this essay.&lt;/p&gt;
&lt;p&gt;The Quality Without a Name, an essay by Richard P. Gabriel found on page 33 of his book &lt;a href="https://www.dreamsongs.com/Files/PatternsOfSoftware.pdf"&gt;Patterns of Software&lt;/a&gt;&lt;a href="https://www.dreamsongs.com/Files/PatternsOfSoftware.pdf"&gt;, available as a free PDF here&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id="2-ball-of-mud"&gt;2. Ball of Mud&lt;/h3&gt;
&lt;p&gt;Standing at the opposite end of the spectrum to Richard’s essay, this article gives a name to the lack-of-quality that none of us wants to live with: a big ball of mud. It explores the forces that cause us to create balls of mud and then to remain stuck in the muck. It discusses the negative feedback loops that lead to ever-increasing decay. And it discusses the cure, the positive feedback loops that generate ever-refined code as our understanding of the problem evolves.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.laputan.org/mud/mud.html"&gt;Big Ball of Mud&lt;/a&gt; was written by Brian Foote and Joseph Yoder.&lt;/p&gt;
&lt;h3 id="3-no-silver-bullet"&gt;3. No Silver Bullet&lt;/h3&gt;
&lt;p&gt;This is the seminal article by Frederick P. Brooks, Jr. He explores how the thinking that goes into understanding the problem is the hard part of software, not the writing of the code. In my experience this observation holds true. Complexity comes from conceptual errors, and there is no easy way out of this conundrum. This is the hard work of software engineers.&lt;/p&gt;
&lt;p&gt;You can find the &lt;a href="https://www.cs.unc.edu/techreports/86-020.pdf"&gt;original scan here&lt;/a&gt; and a &lt;a href="http://worrydream.com/refs/Brooks-NoSilverBullet.pdf"&gt;cleaner copy here&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id="4-out-of-the-tar-pit"&gt;4. Out of the Tar Pit&lt;/h3&gt;
&lt;p&gt;This paper adds to the conversation from No Silver Bullet, discussing several approaches to eliminating accidental complexity. Simplicity is hard. Complexity begets more complexity. The harder a system is to understand, the harder it will become to understand. Nevertheless, we must aim for simplicity.&lt;/p&gt;
&lt;p&gt;Out of the Tar Pit, by Ben Moseley and Peter Marks, &lt;a href="http://curtclifton.net/papers/MoseleyMarks06a.pdf"&gt;available as pdf here&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id="5-on-designing-and-deploying-internet-scale-services"&gt;5. On Designing and Deploying Internet Scale Services&lt;/h3&gt;
&lt;p&gt;James Hamilton of Microsoft shows us how to grow an always-on and always-available digital product, with lessons learned from the Windows Live services platform. His paper revolves around three core tenants.&lt;/p&gt;
&lt;p&gt;Expect failures.&lt;/p&gt;
&lt;p&gt;Keep things simple.&lt;/p&gt;
&lt;p&gt;Automate everything.&lt;/p&gt;
&lt;p&gt;I appreciate the human aspects of this paper. Creating operations-friendly services that can recover from failures automatically means the people supporting it aren’t interrupted. If they are with their families, they stay with their families. If they are asleep, they stay asleep. Not only is this a great business practice, it’s also a great way to treat your team.&lt;/p&gt;
&lt;p&gt;On Designing and Deploying Internet Scale Service by James Hamilton is &lt;a href="https://mvdirona.com/jrh/TalksAndPapers/JamesRH_Lisa.pdf"&gt;available as pdf here&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id="6-non-atomic-refactoring-and-software-sustainability"&gt;6. Non-atomic Refactoring and Software Sustainability&lt;/h3&gt;
&lt;p&gt;This paper challenges the concept of what it means for software to work. Just because code can compile and run today doesn’t mean it works. If your code isn’t able to change and adapt to an unknown future, or if it unexpectedly fails to work tomorrow, then it doesn’t fully solve the problem. It doesn’t work. Sustainable software continues to work over time, in response to continuous learning and continuous changes.&lt;/p&gt;
&lt;p&gt;By Titus Winters of Google, &lt;a href="https://abseil.io/resources/wapi18-winters.pdf"&gt;available as a pdf here&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id="7-on-the-introduction-of-tech-debt"&gt;7. On the introduction of “tech debt”&lt;/h3&gt;
&lt;p&gt;Ward Cunningham introduced the metaphor of “technical debt” in a short article from 1992 entitled The WyCash Portfolio Management System.&lt;/p&gt;
&lt;p&gt;Exploring the origin of this metaphor is useful, if only to ask yourself, does your use of this idea unlock original and useful thinking, or is it a crutch suppressing your thinking. A careful reading of who the audience was, why he introduced the metaphor, and what he meant by it, reveals much about the quality of his thinking back then, and our weaker use of the metaphor today.&lt;/p&gt;
&lt;p&gt;Read &lt;a href="http://c2.com/doc/oopsla92.html"&gt;The WyCash Portfolio Management System&lt;/a&gt; &lt;a href="http://c2.com/doc/oopsla92.html"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id="8-searching-for-build-debt-experiences-managing-technical-debt-at-google"&gt;8. Searching for Build Debt: Experiences Managing Technical Debt at Google&lt;/h3&gt;
&lt;p&gt;I include this in concert with Ward’s paper above. In this essay engineers from Google discuss a principled approach to technical debt in one of their systems at scale. In one sense, this is a practical exploration of how to address the knowledge gap between what we knew back when we created our code, and what we know now and want to be represented in our code. The article also explores unanticipated consequences. For example, addressing technical debt can often reveal more of it, and the blast radius of new learning can have ripple effects.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://research.google/pubs/pub37755/"&gt;Available at Google Research&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id="9-source-code-rejuvenation-is-not-refactoring"&gt;9. Source Code Rejuvenation is not Refactoring&lt;/h3&gt;
&lt;p&gt;This paper discusses another aspect of keeping your code fresh, free from rot and decay.&lt;/p&gt;
&lt;p&gt;I found this article to be useful in separating two concerns. The first, which can be roughly bucketed into refactoring, is rewriting code to accommodate new understanding. The second, rejuvenation, is keeping up with the technology curve as it evolves over time. Refactoring ensures your code continues to solve your product problem. Rejuvenation keeps your code modern.&lt;/p&gt;
&lt;p&gt;This one hit home as a mobile developer, especially within iOS. Apple updates and modernizes their tool set every year, like clockwork. To keep an iOS mobile app working one must sync with this cycle, or risk decay so severe an app may not compile or run within a year or two. There is an annual rejuvenation cycle inherent in an iOS app.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://stroustrup.com/sofsem10.pdf"&gt;From Peter Pirkelbauer, Damian Dechev, and Bjarne Stroustrup of Texas A&amp;amp;M University&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id="10-triple-entry-accounting"&gt;10. Triple Entry Accounting&lt;/h3&gt;
&lt;p&gt;Today any fintech engineer can expect questions about cryptocurrency and the blockchain, so you might as well be prepared. This paper is the origin of the blockchain. My favorite line is from the abstract, “This system creates bullet proof accounting systems for aggressive uses and users.” Aggressive indeed.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://iang.org/papers/triple_entry.html"&gt;The paper that opened the door to cryptocurrency&lt;/a&gt;, by Ian Grigg.&lt;/p&gt;
&lt;h3 id="11-learning-us-marine-corps"&gt;11. Learning, U.S. Marine Corps&lt;/h3&gt;
&lt;p&gt;I know, I said ten papers. I also said this was personal, and underneath all of these is my deep need and desire to be a lifelong learner, and to cultivate a community of learners around me. If that resonates with you then you may like this document.&lt;/p&gt;
&lt;p&gt;At number 11, this isn’t a tech paper. This document covers continuous learning, an essential concept if you want to create a product, team, and business that can evolve and remain relevant in the ever changing landscape of an uncertain future.&lt;/p&gt;
&lt;p&gt;It discusses the nature of learning, the culture of learning, the learning environment, and finally the learning leader.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.marines.mil/Portals/1/Publications/MCDP%207.pdf?ver=2020-03-03-111011-120"&gt;Learning&lt;/a&gt; &lt;a href="https://www.marines.mil/Portals/1/Publications/MCDP%207.pdf?ver=2020-03-03-111011-120"&gt;is available as pdf directly from the U.S. Marine Corps&lt;/a&gt;.&lt;/p&gt;</content:encoded></item></channel></rss>