<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Jacob Davis-Hansson</title>
    <link>https://tech.davis-hansson.com/</link>
    <description>Recent content on Jacob Davis-Hansson</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Wed, 19 Nov 2025 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://tech.davis-hansson.com/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Your CI should work off grid</title>
      <link>https://tech.davis-hansson.com/p/ci-offgrid/</link>
      <pubDate>Wed, 19 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://tech.davis-hansson.com/p/ci-offgrid/</guid>
      <description>&lt;p&gt;&lt;strong&gt;A principle&lt;/strong&gt;: &lt;em&gt;You should be able to maintain your production system when your CI vendor is down.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;This doesn&amp;rsquo;t mean you must maintain reduntant CI systems, but rather define your build with an open toolkit and only use the CI vendor-specific definition languages as &amp;ldquo;glue&amp;rdquo;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>YSK: Google allows spoofing news headlines in search results</title>
      <link>https://tech.davis-hansson.com/p/goog-news-headlines/</link>
      <pubDate>Fri, 09 Sep 2022 00:00:00 +0000</pubDate>
      <guid>https://tech.davis-hansson.com/p/goog-news-headlines/</guid>
      <description>&lt;p&gt;A minor scandal unfolding in the Swedish election highlights a way to influence news narratives:&#xA;Google allows you to set headlines for news articles in search results by paying for adwords placements of legitimate articles.&lt;/p&gt;&#xA;&lt;p&gt;This is being used by political operatives in Sweden to make it appear that news stories have headlines that the political parties themselves write.&lt;/p&gt;</description>
    </item>
    <item>
      <title>When should I choose full database backups over incremental backups?</title>
      <link>https://tech.davis-hansson.com/p/incremental-backup/</link>
      <pubDate>Wed, 13 May 2020 00:00:00 +0000</pubDate>
      <guid>https://tech.davis-hansson.com/p/incremental-backup/</guid>
      <description>&lt;p&gt;Most mainstream databases implement some form of &amp;ldquo;incremental&amp;rdquo; backup.&#xA;If you&amp;rsquo;ve already performed a backup, subsequent ones can be done by only transferring what has changed since your last backup.&#xA;It&amp;rsquo;s a clever optimization.&lt;/p&gt;&#xA;&lt;p&gt;But it turns out, in many cases a full backup is much faster than an incremental one.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Why your laptop tells you the logging framework isn&#39;t the bottleneck</title>
      <link>https://tech.davis-hansson.com/p/tower/</link>
      <pubDate>Wed, 13 May 2020 00:00:00 +0000</pubDate>
      <guid>https://tech.davis-hansson.com/p/tower/</guid>
      <description>&lt;p&gt;Your laptop spends all day lying to you.&#xA;If you want your code to run well on server hardware, best write it on server hardware.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tactics for successful remote teams</title>
      <link>https://tech.davis-hansson.com/p/remote/</link>
      <pubDate>Thu, 05 Mar 2020 00:00:00 +0000</pubDate>
      <guid>https://tech.davis-hansson.com/p/remote/</guid>
      <description>&lt;p&gt;If you&amp;rsquo;re stuck working from home for a few weeks due to coronavirus, welcome to remote work life!&#xA;Here are some things that I&amp;rsquo;ve seen make remote life successful.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Your Makefiles are wrong</title>
      <link>https://tech.davis-hansson.com/p/make/</link>
      <pubDate>Sun, 15 Dec 2019 00:00:00 +0000</pubDate>
      <guid>https://tech.davis-hansson.com/p/make/</guid>
      <description>&lt;p&gt;Your Makefiles are full of tabs and errors.&#xA;An opinionated approach to writing (GNU) Makefiles that I learned from &lt;a href=&#34;https://github.com/benbc&#34;&gt;Ben&lt;/a&gt; may still be able to salvage them.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The United States Congress is an elegant stack machine</title>
      <link>https://tech.davis-hansson.com/p/congress-is-a-vm/</link>
      <pubDate>Sun, 11 Aug 2019 00:00:00 +0000</pubDate>
      <guid>https://tech.davis-hansson.com/p/congress-is-a-vm/</guid>
      <description>&lt;p&gt;If you are familiar with &lt;a href=&#34;https://en.wikipedia.org/wiki/Stack_machine&#34;&gt;stack machines&lt;/a&gt;, it turns out that you also understand the broad strokes of how most US legislative bodies operate.&lt;/p&gt;&#xA;&lt;p&gt;Seeing the commonality will instill in you the sense of awe that only reading execution traces from an operational quarter millennia old computer can.&lt;/p&gt;</description>
    </item>
    <item>
      <title>About</title>
      <link>https://tech.davis-hansson.com/about/</link>
      <pubDate>Thu, 28 Feb 2019 00:00:00 +0000</pubDate>
      <guid>https://tech.davis-hansson.com/about/</guid>
      <description>&lt;p&gt;On this blog, I write about software.&#xA;I have another blog at &lt;a href=&#34;https://climate.davis-hansson.com/&#34;&gt;https://climate.davis-hansson.com/&lt;/a&gt; where I write about climate and the energy transition.&lt;/p&gt;&#xA;&lt;p&gt;I documented building an off-grid A-frame on &lt;a href=&#34;http://www.youtube.com/c/OzarkMountainCabin&#34;&gt;Youtube&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Related to the cabin, I maintain a calculator to design solar panel arrays at &lt;a href=&#34;https://pvsizer.davis-hansson.com/&#34;&gt;PVSizer&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How we use Dynamic Programming to find the best price for our customers</title>
      <link>https://tech.davis-hansson.com/p/price-wars.html</link>
      <pubDate>Sun, 18 Sep 2016 00:00:00 +0000</pubDate>
      <guid>https://tech.davis-hansson.com/p/price-wars.html</guid>
      <description>&lt;p&gt;A friend of mine told me he had an interesting realization one day.&#xA;Thinking back to the projects he&amp;rsquo;d done for big banks before his current job, each and every one of his software algorithms had&#xA;eventually ended up in The Guardian under a headline like &amp;ldquo;Giant Bank Inc. indicted for massive automated customer fraud system, AGAIN!&amp;rdquo;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>I gave commit rights to someone I didn&#39;t know, I could never have guessed what happened next!</title>
      <link>https://tech.davis-hansson.com/p/clickbait/</link>
      <pubDate>Sat, 17 Sep 2016 00:00:00 +0000</pubDate>
      <guid>https://tech.davis-hansson.com/p/clickbait/</guid>
      <description>&lt;p&gt;(Spoiler: trusting your contributors works)&lt;/p&gt;&#xA;&lt;p&gt;Some years ago, I polished up and released an abandoned project for storing financial data in Django.&#xA;It let you declare &amp;ldquo;Money&amp;rdquo; fields on your models, dealing with proper storage and currencies for you.&lt;/p&gt;&#xA;&lt;p&gt;My use case for the library, &lt;code&gt;django-money&lt;/code&gt; eventually faded, but it ended up teaching me a useful lesson in trust and OSS abandonware.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Asynchronous transactional patterns</title>
      <link>https://tech.davis-hansson.com/p/tx-patterns/</link>
      <pubDate>Wed, 29 Jun 2016 00:00:00 +0000</pubDate>
      <guid>https://tech.davis-hansson.com/p/tx-patterns/</guid>
      <description>&lt;p&gt;Transactions are not very hip anymore - so unhip, in fact, that people started building databases without them.&#xA;Alas, as people who decided to try those databases found out, transactions remain a fundamental aspect of applications that don&amp;rsquo;t break horrifically.&lt;/p&gt;&#xA;&lt;p&gt;Except, it turns out that even if you &lt;em&gt;have&lt;/em&gt; transactions, it&amp;rsquo;s surprisingly easy to shoot yourself in the foot.&lt;/p&gt;</description>
    </item>
    <item>
      <title>On professionalism in software</title>
      <link>https://tech.davis-hansson.com/p/professionalism/</link>
      <pubDate>Sun, 11 Jan 2015 00:00:00 +0000</pubDate>
      <guid>https://tech.davis-hansson.com/p/professionalism/</guid>
      <description>&lt;p&gt;We like to blame the worlds governments, or the ominous &lt;!-- raw HTML omitted --&gt;Them,&lt;!-- raw HTML omitted --&gt; for the current mass surveillance society we live in. It&amp;rsquo;s an easy way out - but pull the curtain aside and you and I both know there is a programmer sitting behind it.&lt;/p&gt;&#xA;&lt;p&gt;We, the profession of software engineering, built the Orwellian future we now inhabit, and it is high time for a retrospective.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Brian Flanagan goes to Ireland</title>
      <link>https://tech.davis-hansson.com/p/brian-flanagan-goes-to-ireland/</link>
      <pubDate>Tue, 06 Jan 2015 00:00:00 +0000</pubDate>
      <guid>https://tech.davis-hansson.com/p/brian-flanagan-goes-to-ireland/</guid>
      <description>&lt;p&gt;On march third, a young man named Brian Flanagan was refused entry into Ireland. The border police officer he happened to have been paired up with believed the occupation Brian cited as his reason for entry, “user experience designer”, was made up.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The end of the market</title>
      <link>https://tech.davis-hansson.com/p/the-end-of-the-market/</link>
      <pubDate>Thu, 30 Aug 2012 00:00:00 +0000</pubDate>
      <guid>https://tech.davis-hansson.com/p/the-end-of-the-market/</guid>
      <description>&lt;p&gt;Markets are an incredible way to organize and share the spoils of labor, but in many aspects they are based on assumptions that no longer hold true. A dive into how the open source economy radically changes how we trade.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
