<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>cdwilson.dev</title>
    <link>https://cdwilson.dev/</link>
    <description>Recent content on cdwilson.dev</description>
    <generator>Hugo</generator>
    <language>en</language>
    <atom:link href="https://cdwilson.dev/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>I bet you can&#39;t RE this receipt</title>
      <link>https://cdwilson.dev/articles/i-bet-you-cant-re-this-receipt/</link>
      <pubDate>Wed, 21 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://cdwilson.dev/articles/i-bet-you-cant-re-this-receipt/</guid>
      <description>&lt;p&gt;I will send $100 to the first person who can reverse engineer how &lt;a href=&#34;https://www.target.com/&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Target&lt;/a&gt; calculated the $162.10 total amount on this receipt.&lt;/p&gt;&#xA;&lt;p&gt;This is not a joke. I&amp;rsquo;m totally serious.&lt;/p&gt;&#xA;&lt;h2 id=&#34;rules&#34;&gt;&#xA;  Rules&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#rules&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;The first person to build me a spreadsheet showing exactly how the $162.10 total amount is calculated (step-by-step with explanation, including how to calculate the $64.67 taxable amount in the red box), will be sent $100 via Venmo, PayPal, etc.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Hackaday Supercon 2024</title>
      <link>https://cdwilson.dev/articles/hackaday-supercon-2024/</link>
      <pubDate>Thu, 07 Nov 2024 00:00:00 +0000</pubDate>
      <guid>https://cdwilson.dev/articles/hackaday-supercon-2024/</guid>
      <description>&lt;p&gt;&#xA;&#xA;&#xA;&#xA;&lt;a href=&#34;images/image-20241107200028411.png&#34;&gt;&#xA;  &lt;img src=&#34;images/image-20241107200028411.png&#34; alt=&#34;&#34; class=&#34;center&#34; /&gt;&#xA;&lt;/a&gt;&#xA;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;I finally got a chance to sit down and reflect on this past weekend at &lt;a href=&#34;https://hackaday.io/superconference/&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Hackaday Supercon 2024&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;You might expect that a post about Supercon would be all about &lt;a href=&#34;https://www.youtube.com/watch?v=Iz-HrZkzUlk&amp;amp;t=5124s&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;epic badge hacks&lt;/a&gt;, or a recap of interesting &lt;a href=&#34;https://hackaday.io/superconference/schedule.html&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;talks&lt;/a&gt;, or photos of the (surprisingly good for a conference) food that I ate 🌮&lt;/p&gt;&#xA;&lt;p&gt;But what I really want to do is tell you a story of how the &lt;strong&gt;kindness&lt;/strong&gt; and &lt;strong&gt;generosity&lt;/strong&gt; of a bunch of random people made my first Supercon&amp;hellip; well&amp;hellip; SuperFUN!&lt;/p&gt;</description>
    </item>
    <item>
      <title>2024 mid-year update</title>
      <link>https://cdwilson.dev/articles/2024-mid-year-update/</link>
      <pubDate>Wed, 26 Jun 2024 00:00:00 +0000</pubDate>
      <guid>https://cdwilson.dev/articles/2024-mid-year-update/</guid>
      <description>&lt;p&gt;It&amp;rsquo;s been a little while since I&amp;rsquo;ve posted anything new here, but that doesn&amp;rsquo;t mean I&amp;rsquo;ve been resting on my laurels!&lt;/p&gt;&#xA;&lt;p&gt;Here&amp;rsquo;s what (and where) I&amp;rsquo;ve been writing recently 👨🏻‍💻&lt;/p&gt;&#xA;&lt;h1 id=&#34;content-for-clients&#34;&gt;&#xA;  Content for clients&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#content-for-clients&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h1&gt;&#xA;&lt;p&gt;Over the last year, I&amp;rsquo;ve been doing some Zephyr-related technical writing for the &lt;a href=&#34;https://blog.golioth.io/&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Golioth blog&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;You can see the full list of articles I&amp;rsquo;ve contributed at &lt;a href=&#34;https://blog.golioth.io/author/cdwilson/&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://blog.golioth.io/author/cdwilson/&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h1 id=&#34;common-ground-electronics&#34;&gt;&#xA;  Common Ground Electronics&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#common-ground-electronics&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h1&gt;&#xA;&lt;p&gt;In addition to authoring technical content for clients, I&amp;rsquo;m also starting to write about embedded systems and IoT-related topics on the &lt;a href=&#34;https://cgnd.dev/posts/&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Common Ground Electronics blog&lt;/a&gt;. So far, I&amp;rsquo;ve written about how to &lt;a href=&#34;https://cgnd.dev/posts/enforce-zephyr-code-quality-pre-commit/&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;enforce Zephyr code quality with pre-commit&lt;/a&gt; and my experience &lt;a href=&#34;https://cgnd.dev/posts/golioth-wifi-serial-logger-prototype/&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;prototyping a WiFi serial logger with Golioth&lt;/a&gt;. I also just posted a &lt;a href=&#34;https://cgnd.dev/posts/2024-mid-year-retrospective/&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;mid-year retrospective&lt;/a&gt; where I talk about how the business was started and what I’ve been working on over the last year.&lt;/p&gt;</description>
    </item>
    <item>
      <title>A better difftool for KiCad</title>
      <link>https://cdwilson.dev/articles/a-better-difftool-for-kicad/</link>
      <pubDate>Mon, 06 Feb 2023 00:00:00 +0000</pubDate>
      <guid>https://cdwilson.dev/articles/a-better-difftool-for-kicad/</guid>
      <description>&lt;p&gt;It can be difficult to tell what has actually changed when running &lt;code&gt;git difftool&lt;/code&gt; on a &lt;code&gt;.kicad_pcb&lt;/code&gt; file because KiCad embeds timestamps into the file that change when the file is modified:&lt;/p&gt;&#xA;&lt;p&gt;&#xA;&#xA;&#xA;&#xA;&lt;a href=&#34;images/difftool_timestamp_changes.png&#34;&gt;&#xA;  &lt;img src=&#34;images/difftool_timestamp_changes.png&#34; alt=&#34;difftool_timestamp_changes&#34; class=&#34;center&#34; /&gt;&#xA;&lt;/a&gt;&#xA;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;Luckly, we can tell &lt;code&gt;git&lt;/code&gt; to use a &lt;a href=&#34;https://git-scm.com/docs/git-difftool#Documentation/git-difftool.txt--tlttoolgt&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;custom difftool&lt;/a&gt; using the &lt;code&gt;--tool=&amp;lt;tool&amp;gt;&lt;/code&gt; argument.&lt;/p&gt;&#xA;&lt;p&gt;First, we need to create a custom shell script to pass to &lt;code&gt;git difftool --tool=&amp;lt;tool&amp;gt;&lt;/code&gt;. I use &lt;a href=&#34;https://kaleidoscope.app/&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Kaleidoscope.app&lt;/a&gt; as my git difftool on macOS, so I named this script  &lt;code&gt;kicad-ksdiff&lt;/code&gt; and put it a directory on my &lt;code&gt;$PATH&lt;/code&gt;:&lt;/p&gt;</description>
    </item>
    <item>
      <title>KiCad database libraries on macOS</title>
      <link>https://cdwilson.dev/articles/kicad-database-libraries-on-macos/</link>
      <pubDate>Wed, 14 Dec 2022 00:00:00 +0000</pubDate>
      <guid>https://cdwilson.dev/articles/kicad-database-libraries-on-macos/</guid>
      <description>&lt;div class=&#34;notice info&#34;&gt;&#xA;  &lt;div class=&#34;notice-title&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-exclamation-circle&#34; aria-hidden=&#34;true&#34;&gt;&lt;/i&gt;Info&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;notice-content&#34;&gt;&lt;p&gt;On December 11, 2022 the KiCad team &lt;a href=&#34;https://social.adamwolf.org/@adamwolf/109496840211680309&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;announced&lt;/a&gt; support for macOS universal builds in the 6.99 &lt;a href=&#34;https://www.kicad.org/download/macos/&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;nightly releases&lt;/a&gt;. Using a universal build greatly simplifies the process of setting up database libraries and is &lt;em&gt;strongly recommended&lt;/em&gt;. If you are using an older &lt;code&gt;x86_64&lt;/code&gt; nightly build released before December 12, 2022 on a Mac with Apple Silicon (i.e. the file does &lt;em&gt;NOT&lt;/em&gt; start with &lt;code&gt;kicad-unified-universal&lt;/code&gt;), make sure to follow the old instructions found here:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Set KICAD_DOCUMENTS_HOME on macOS</title>
      <link>https://cdwilson.dev/articles/set-kicad-documents-home-on-macos/</link>
      <pubDate>Tue, 06 Dec 2022 00:00:00 +0000</pubDate>
      <guid>https://cdwilson.dev/articles/set-kicad-documents-home-on-macos/</guid>
      <description>&lt;h1 id=&#34;kicad-documents-home&#34;&gt;&#xA;  KiCad Documents Home&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#kicad-documents-home&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h1&gt;&#xA;&lt;p&gt;KiCad 6.x introduced the concept of the &amp;ldquo;KiCad Documents Home&amp;rdquo; base directory, described as the:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Base path of KiCad user-modifiable documents, such as projects, templates, Python scripts, libraries, etc. Subdirectories will be created within this directory for each KiCad minor version. This directory is provided as a suggested user data location, but does not need to be used.&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;p&gt;By default, KiCad creates this folder in &lt;code&gt;~/Documents/KiCad/&lt;/code&gt;:&lt;/p&gt;</description>
    </item>
    <item>
      <title>KiCad database libraries on Apple Silicon</title>
      <link>https://cdwilson.dev/articles/kicad-database-libraries-on-apple-silicon/</link>
      <pubDate>Fri, 04 Nov 2022 00:00:00 +0000</pubDate>
      <guid>https://cdwilson.dev/articles/kicad-database-libraries-on-apple-silicon/</guid>
      <description>&lt;div class=&#34;notice warning&#34;&gt;&#xA;  &lt;div class=&#34;notice-title&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-exclamation-triangle&#34; aria-hidden=&#34;true&#34;&gt;&lt;/i&gt;Warning&#xA;  &lt;/div&gt;&#xA;  &lt;div class=&#34;notice-content&#34;&gt;&lt;p&gt;On December 11, 2022 the KiCad team &lt;a href=&#34;https://social.adamwolf.org/@adamwolf/109496840211680309&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;announced&lt;/a&gt; support for macOS universal builds in the 6.99 &lt;a href=&#34;https://www.kicad.org/download/macos/&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;nightly releases&lt;/a&gt;. Using a universal build greatly simplifies the process of setting up database libraries and is &lt;em&gt;strongly recommended&lt;/em&gt;. If you are using a universal nightly build released after December 12, 2022 (the file starts with &lt;code&gt;kicad-unified-universal&lt;/code&gt;), make sure to follow the updated instructions found here:&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://cdwilson.dev/articles/kicad-database-libraries-on-macos/&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://cdwilson.dev/articles/kicad-database-libraries-on-macos/&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;h1 id=&#34;overview&#34;&gt;&#xA;  Overview&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#overview&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h1&gt;&#xA;&lt;p&gt;A new &amp;ldquo;Database Libraries&amp;rdquo; feature was &lt;a href=&#34;https://gitlab.com/kicad/code/kicad/-/issues/7436&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;recently added&lt;/a&gt; to the KiCad &lt;a href=&#34;https://downloads.kicad.org/kicad/macos/explore/nightlies&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;macOS Nightlies&lt;/a&gt; (6.99) and is scheduled to be officially released in KiCad 7. Here&amp;rsquo;s an overview from the &lt;a href=&#34;https://docs.kicad.org/master/en/eeschema/eeschema.html#database_libraries&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;documentation&lt;/a&gt;:&lt;/p&gt;</description>
    </item>
    <item>
      <title>40% keymap for Keyboardio Model 100</title>
      <link>https://cdwilson.dev/articles/40-percent-keymap-for-keyboardio-model-100/</link>
      <pubDate>Sun, 30 Oct 2022 00:00:00 +0000</pubDate>
      <guid>https://cdwilson.dev/articles/40-percent-keymap-for-keyboardio-model-100/</guid>
      <description>&lt;p&gt;After backing the wildly successful &lt;a href=&#34;https://shop.keyboard.io/pages/model100&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Keyboardio Model 100&lt;/a&gt; &lt;a href=&#34;https://www.kickstarter.com/projects/keyboardio/model-100&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Kickstarter campaign&lt;/a&gt; last year, I finally received my keyboard in the mail 🥳&lt;/p&gt;&#xA;&lt;p&gt;&#xA;&#xA;&#xA;&#xA;&lt;a href=&#34;images/model100_desk.png&#34;&gt;&#xA;  &lt;img src=&#34;images/model100_desk.png&#34; alt=&#34;Model 100 Desk&#34; class=&#34;center&#34; /&gt;&#xA;&lt;/a&gt;&#xA;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;The keyboard is ✨beautiful✨ and the custom-sculpted keycaps feel really great to type on.  After using the Model 100 for a couple weeks now, I&amp;rsquo;ve finally settled on a 40%-ish (3 rows of keys) keymap that feels really natural for me.&lt;/p&gt;&#xA;&lt;p&gt;Although this keymap works really well for me personally, it&amp;rsquo;s probably not the right keymap for everyone. The Model 100 is a roughly 60%-ish (4 rows of keys) keyboard, so &lt;strong&gt;it may seem odd that I&amp;rsquo;m only using 44 of the 64 available keys on the keyboard&lt;/strong&gt;. I thought it might be interesting to walk through my thought process step-by-step and discuss some of the requirements that drove the decisions about where to map each key.&lt;/p&gt;</description>
    </item>
    <item>
      <title>USB over IP with VirtualHere</title>
      <link>https://cdwilson.dev/articles/usb-over-ip-with-virtualhere/</link>
      <pubDate>Tue, 05 Jul 2022 00:00:00 +0000</pubDate>
      <guid>https://cdwilson.dev/articles/usb-over-ip-with-virtualhere/</guid>
      <description>&lt;p&gt;Raise your hand if you&amp;rsquo;re tired of having a spaghetti mess of USB hubs and dongles hanging off your laptop?  🙋🏻‍♂️&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;m going to show you how to leave all those USB devices behind and remotely connect to them over the network instead.  Yup, you heard right–you&amp;rsquo;ll &lt;em&gt;finally&lt;/em&gt; be able to work from a &lt;a href=&#34;https://mgsloan.com/posts/tree-based-computing/&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;laptop tied to a tree&lt;/a&gt;!  (or at least from the comfort of your own couch…)&lt;/p&gt;&#xA;&lt;h1 id=&#34;virtualhere&#34;&gt;&#xA;  VirtualHere&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#virtualhere&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h1&gt;&#xA;&lt;p&gt;A while back, I was looking for a way to fire up the debugger on a &lt;a href=&#34;https://www.st.com/en/evaluation-tools/stm32-nucleo-boards.html&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;STM32 NUCLEO development board&lt;/a&gt; without having the board directly connected to one of my laptop&amp;rsquo;s USB ports.&lt;/p&gt;</description>
    </item>
    <item>
      <title>DIY home office electronics workspace</title>
      <link>https://cdwilson.dev/articles/diy-home-office-electronics-workspace/</link>
      <pubDate>Tue, 28 Jun 2022 00:00:00 +0000</pubDate>
      <guid>https://cdwilson.dev/articles/diy-home-office-electronics-workspace/</guid>
      <description>&lt;h1 id=&#34;the-idea&#34;&gt;&#xA;  The idea&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#the-idea&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h1&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve been wanting to set up a small electronics workspace in my home office for a while now.  The main goal was to have an ESD-safe area in the office where I could do bring-up and testing for projects that require a connection to a computer and test equipment.  I already have a separate full size electronics workbench in the garage (SMT reflow oven, hot air rework, microscope, etc), so this was intended as a more focused compliment to that space, rather than a replacement for it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Using giscus for comments in Hugo</title>
      <link>https://cdwilson.dev/articles/using-giscus-for-comments-in-hugo/</link>
      <pubDate>Sun, 26 Jun 2022 00:00:00 +0000</pubDate>
      <guid>https://cdwilson.dev/articles/using-giscus-for-comments-in-hugo/</guid>
      <description>&lt;p&gt;After looking into a &lt;a href=&#34;https://getreplybox.com/&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;couple&lt;/a&gt; &lt;a href=&#34;https://talk.hyvor.com/&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;different&lt;/a&gt; &lt;a href=&#34;https://fastcomments.com/&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;hosted&lt;/a&gt; &lt;a href=&#34;https://commento.io/&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;options&lt;/a&gt; for enabling comments on this site, I decided to give &lt;a href=&#34;https://giscus.app/&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;giscus&lt;/a&gt; a try.&lt;/p&gt;&#xA;&lt;p&gt;This article describes why I chose giscus and how to set it up in a Hugo site.&lt;/p&gt;&#xA;&lt;h1 id=&#34;first-why-giscus&#34;&gt;&#xA;  First: why giscus?&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#first-why-giscus&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h1&gt;&#xA;&lt;p&gt;It&amp;rsquo;s worth talking through the thought process for how I landed on giscus, as it&amp;rsquo;s probably not the right option for everybody.&lt;/p&gt;&#xA;&lt;p&gt;Derek Kay has an &lt;a href=&#34;https://darekkay.com/blog/static-site-comments/&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;excellent article&lt;/a&gt; which explores various ways to include comments on a static site.  After reviewing many of the options he mentioned in the article, I found that I mostly agree with his conclusion:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Bash shell startup files</title>
      <link>https://cdwilson.dev/articles/bash-shell-startup-files/</link>
      <pubDate>Fri, 24 Oct 2014 00:00:00 +0000</pubDate>
      <guid>https://cdwilson.dev/articles/bash-shell-startup-files/</guid>
      <description>&lt;p&gt;&#xA;&#xA;&#xA;&#xA;&lt;a href=&#34;images/tanooki_mario_shell.gif&#34;&gt;&#xA;  &lt;img src=&#34;images/tanooki_mario_shell.gif&#34; alt=&#34;&#34; class=&#34;center&#34; /&gt;&#xA;&lt;/a&gt;&#xA;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;This article is an attempt to answer the following questions&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;What is the difference between &lt;code&gt;/etc/profile&lt;/code&gt;, &lt;code&gt;~/.profile&lt;/code&gt;, &lt;code&gt;~/.bash_profile&lt;/code&gt;, &lt;code&gt;~/.bash_login&lt;/code&gt;, and &lt;code&gt;~/.bashrc&lt;/code&gt;?&lt;/li&gt;&#xA;&lt;li&gt;Why doesn&amp;rsquo;t Terminal.app read my &lt;code&gt;~/.bashrc&lt;/code&gt; on Mac OS X?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;bash-startup&#34;&gt;&#xA;  Bash startup&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#bash-startup&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;When Bash is invoked, it reads and executes commands from its startup files to set up the shell environment.&lt;/p&gt;&#xA;&lt;p&gt;There are a couple conditions Bash checks to determine which startup files are read (and which ones are not) when the shell is invoked:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Understanding the INA219 I2C Current/Power Monitor</title>
      <link>https://cdwilson.dev/articles/understanding-the-ina219/</link>
      <pubDate>Sun, 06 Jul 2014 00:00:00 +0000</pubDate>
      <guid>https://cdwilson.dev/articles/understanding-the-ina219/</guid>
      <description>&lt;h2 id=&#34;motivation&#34;&gt;&#xA;  Motivation&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#motivation&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;The &lt;a href=&#34;http://www.ti.com/lit/gpn/ina219&#34; title=&#34;INA219 datasheet&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;INA219 datasheet&lt;/a&gt; provides an example calibration workflow, but doesn&amp;rsquo;t really explain how some of the equations and constant values are derived.  This article tries to fill in some of the gaps that weren&amp;rsquo;t obvious to me when I first read the datasheet.&lt;/p&gt;&#xA;&lt;h2 id=&#34;overview&#34;&gt;&#xA;  Overview&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#overview&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&amp;ldquo;The INA219 is a high-side current shunt and power monitor with an I2C interface. The INA219 monitors both shunt drop and supply voltage, with programmable conversion times and filtering. A programmable calibration value, combined with an internal multiplier, enables direct readouts in amperes. An additional multiplying register calculates power in watts. The I2C interface features 16 programmable addresses.&amp;rdquo;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Current Projects</title>
      <link>https://cdwilson.dev/projects/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://cdwilson.dev/projects/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://cgnd.dev/&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Common Ground Electronics&lt;/a&gt; :: A boutique embedded systems engineering services firm&lt;/p&gt;&#xA;&lt;h1 id=&#34;past-projects&#34;&gt;&#xA;  Past Projects&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#past-projects&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h1&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://flyingcamp.design/&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Flying Camp Design&lt;/a&gt; :: Open-source hardware development tools for the early Internet of Things&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://web.archive.org/web/20140106080903/http://moteware.com/&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Moteware&lt;/a&gt; :: Open-source electronics disseminator for research groups and education&lt;/p&gt;</description>
    </item>
    <item>
      <title>Get in touch</title>
      <link>https://cdwilson.dev/contact/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://cdwilson.dev/contact/</guid>
      <description>&lt;p&gt;I love hearing from new people — please feel free to &lt;a href=&#34;mailto:christopher.david.wilson@gmail.com&#34; &gt;email me&lt;/a&gt;!&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;m always up for chatting about electronics, collaborating on product ideas, or anything else you&amp;rsquo;ve got in mind.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Hi 👋, I&#39;m Chris</title>
      <link>https://cdwilson.dev/about/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://cdwilson.dev/about/</guid>
      <description>&lt;p&gt;&#xA;&#xA;&#xA;&#xA;&lt;a href=&#34;images/chris_200_circular.png&#34;&gt;&#xA;  &lt;img src=&#34;images/chris_200_circular.png&#34; alt=&#34;Chris Wilson&#34; class=&#34;center&#34; /&gt;&#xA;&lt;/a&gt;&#xA;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;m passionate about technology that makes electronics more open, approachable, and accessible to everyone.&lt;/p&gt;&#xA;&lt;p&gt;I spent most of my career working as a hardware design engineer specializing in embedded systems designed for the Internet of Things. More recently, I took a hiatus from design work and pivoted into a product management role at a PCB assembly manufacturing startup.&lt;/p&gt;&#xA;&lt;p&gt;Currently, I&amp;rsquo;m bootstrapping &lt;a href=&#34;https://cgnd.dev/&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Common Ground Electronics&lt;/a&gt;, a boutique embedded systems engineering services firm.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
