<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>A Blog for the Uninitialized</title>
    <link>https://www.nilpointer.blog/</link>
    <description>Recent content on A Blog for the Uninitialized</description>
    <generator>Hugo</generator>
    <language>en</language>
    <copyright>&lt;a href=&#34;https://www.apache.org/licenses/LICENSE-2.0&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Licensed under Apache 2.0&lt;/a&gt;</copyright>
    <lastBuildDate>Tue, 19 May 2026 17:21:43 -0700</lastBuildDate>
    <atom:link href="https://www.nilpointer.blog/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Should dependencies always be kept up to date?</title>
      <link>https://www.nilpointer.blog/posts/2026/05/should-dependencies-always-be-kept-up-to-date/</link>
      <pubDate>Tue, 19 May 2026 17:21:43 -0700</pubDate>
      <guid>https://www.nilpointer.blog/posts/2026/05/should-dependencies-always-be-kept-up-to-date/</guid>
      <description>&lt;p&gt;Something came up at work today related to the topic &lt;a href=&#34;https://www.nilpointer.blog/posts/2026/05/just-because-you-can-doesnt-mean-you-should/&#34;&#xA;  &#xA;  &#xA;&gt;I discussed yesterday&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Should dependencies always be kept up to date?&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;I work in the Developer Experience (DevX) realm right now, and the current perspective on handling the potential security concerns that &lt;a href=&#34;https://red.anthropic.com/2026/mythos-preview/&#34;&#xA;  &#xA;  &#xA;    target=&#34;_blank&#34; &#xA;    rel=&#34;noopener noreferrer&#34;&#xA;  &#xA;&gt;Mythos&lt;/a&gt; is highlighting is that we should immediately update all code (third party) dependencies to their respective, latest versions.&lt;/p&gt;&#xA;&lt;p&gt;While that perspective is valid for my company right now (there&amp;rsquo;s so much more to the story there), this isn&amp;rsquo;t always a valid perspective to take.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Just because you can doesn&#39;t mean you should</title>
      <link>https://www.nilpointer.blog/posts/2026/05/just-because-you-can-doesnt-mean-you-should/</link>
      <pubDate>Mon, 18 May 2026 19:36:33 -0700</pubDate>
      <guid>https://www.nilpointer.blog/posts/2026/05/just-because-you-can-doesnt-mean-you-should/</guid>
      <description>&lt;p&gt;Everyone today is, and I say this begrudgingly, rightfully concerned about the new &lt;a href=&#34;https://red.anthropic.com/2026/mythos-preview/&#34;&#xA;  &#xA;  &#xA;    target=&#34;_blank&#34; &#xA;    rel=&#34;noopener noreferrer&#34;&#xA;  &#xA;&gt;Mythos model&lt;/a&gt; announced by Anthropic this past week.&lt;/p&gt;&#xA;&lt;p&gt;Basically this model is quite advanced to the point where it is discovering bugs and &amp;ldquo;zero day&amp;rdquo; (aka unknown) issues on 30 year old tooling that no one has touched for years.&lt;/p&gt;&#xA;&lt;p&gt;Which is alarming.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;I suppose.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;At least I know my company is currently freaking out about it. As is nearly every other company inundated with massive amounts of tech debt who have willfully turned a blind eye to it for literal &lt;em&gt;years&lt;/em&gt;. Suddenly we all have only six weeks to get ourselves prepared for this (dystopian?) future.&lt;/p&gt;</description>
    </item>
    <item>
      <title>There&#39;s a (real) problem with AI compute</title>
      <link>https://www.nilpointer.blog/posts/2026/05/theres-a-real-problem-with-ai-compute/</link>
      <pubDate>Wed, 06 May 2026 16:13:14 -0700</pubDate>
      <guid>https://www.nilpointer.blog/posts/2026/05/theres-a-real-problem-with-ai-compute/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ll make no apologies for being an AI skeptic. I maintain that position today, despite being an active subscriber of Google&amp;rsquo;s Gemini AI. I really like it for guided learning.&lt;/p&gt;&#xA;&lt;p&gt;Regardless, the primary problem coming for AI is very similar to what caused some issues during the early days of the internet. Back then, the internet was new and companies were scrambling to build a bunch of high throughput fiber optic cable across the US.&lt;/p&gt;</description>
    </item>
    <item>
      <title>A word about company loyalty</title>
      <link>https://www.nilpointer.blog/posts/2026/04/a-word-about-company-loyalty/</link>
      <pubDate>Thu, 02 Apr 2026 12:47:15 -0700</pubDate>
      <guid>https://www.nilpointer.blog/posts/2026/04/a-word-about-company-loyalty/</guid>
      <description>&lt;p&gt;Early in my career, I was given a great piece of advice. Advice that I&amp;rsquo;ve recently lost track of following, unfortunately.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;You can be as loyal as you want to a company, they will never be loyal back.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;I think it goes without saying in today&amp;rsquo;s environment, but I think it&amp;rsquo;s important to reiterate again.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Today, Oracle laid off 30,000 employees, many of whom have been there 30 or more years!&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Interviewing in Europe vs the US</title>
      <link>https://www.nilpointer.blog/posts/2026/03/interviewing-in-europe-vs-the-us/</link>
      <pubDate>Sat, 21 Mar 2026 16:08:11 -0700</pubDate>
      <guid>https://www.nilpointer.blog/posts/2026/03/interviewing-in-europe-vs-the-us/</guid>
      <description>&lt;p&gt;Over the last several years, my spouse and myself have often considered the prospect of leaving the USA for somewhere in Europe. We both love to visit and vacation there, and despite the significantly reduced salaries by comparison, people are consistently rated as being happier with their lives.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;The EU has stronger labor laws.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;This manifests itself in a few ways that maybe you wouldn&amp;rsquo;t consider.&lt;/p&gt;&#xA;&lt;p&gt;When interviewing for a European-based company, and one that isn&amp;rsquo;t necessarily an offshoot of an existing company based out of the US, job interviews tend to be more formal and a bit more tech-direct skills (i.e., not soft skills) focused.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Jensen Huang on AI Layoffs</title>
      <link>https://www.nilpointer.blog/posts/2026/03/jensen-huang-on-ai-layoffs/</link>
      <pubDate>Fri, 20 Mar 2026 16:56:02 -0700</pubDate>
      <guid>https://www.nilpointer.blog/posts/2026/03/jensen-huang-on-ai-layoffs/</guid>
      <description>&lt;p&gt;&lt;em&gt;This is my commentary from a blog post I found &lt;a href=&#34;https://www.livemint.com/technology/tech-news/out-of-ideas-nvidia-ceo-jensen-huang-dismisses-ai-job-loss-fears-blames-recent-layoffs-on-lack-of-imagination-11773995361646.html&#34;&#xA;  &#xA;  &#xA;    target=&#34;_blank&#34; &#xA;    rel=&#34;noopener noreferrer&#34;&#xA;  &#xA;&gt;here&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Jensen Huang is the current CEO for Nvidia, the man being credited with taking the company to stratopheric heights in the last 10 years. This is mainly because Nvidia creates the best GPUs that are used in the core model training algorithms for anything AI related.&lt;/p&gt;&#xA;&lt;p&gt;What I wanted to quickly write about was about something he said during a recent interview with Jim Cramer (yes, &lt;em&gt;that&lt;/em&gt; Jim Cramer) that reasonated with me.&lt;/p&gt;</description>
    </item>
    <item>
      <title>On Regular Expressions</title>
      <link>https://www.nilpointer.blog/posts/2026/03/on-regular-expressions/</link>
      <pubDate>Fri, 13 Mar 2026 10:48:58 -0700</pubDate>
      <guid>https://www.nilpointer.blog/posts/2026/03/on-regular-expressions/</guid>
      <description>&lt;p&gt;Way back when, I was primarily a Perl developer. I actually did my first interview for LinkedIn in Perl. I always liked that the language was created by a linguist (I legitimately miss using &lt;code&gt;unless&lt;/code&gt;).&lt;/p&gt;&#xA;&lt;p&gt;Today, though, besides the occasional one-liner, I think Perl is most known for its contributions to how we all (now) use regular expressions (this post isn&amp;rsquo;t going into what they are or how to use them).&lt;/p&gt;</description>
    </item>
    <item>
      <title>When HashMaps get &#34;slow&#34;</title>
      <link>https://www.nilpointer.blog/posts/2026/03/when-hashmaps-get-slow/</link>
      <pubDate>Thu, 12 Mar 2026 14:46:15 -0700</pubDate>
      <guid>https://www.nilpointer.blog/posts/2026/03/when-hashmaps-get-slow/</guid>
      <description>&lt;p&gt;Many years ago, I took a Data Structures class. I wasn&amp;rsquo;t even in the major that I would later graduate in, but there were a few topics that I actually remembered from back then.&lt;/p&gt;&#xA;&lt;p&gt;At least to some extent. I remember the &lt;em&gt;content&lt;/em&gt;, but the &lt;em&gt;context&lt;/em&gt; was a bit, dare I say &lt;em&gt;unknown&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;p&gt;What we were discussing one day were HashMaps. We had previously discussed Linked Lists and a few other types, and I knew of the &lt;em&gt;name&lt;/em&gt; &amp;ldquo;HashMap&amp;rdquo;, but what exactly were they?&lt;/p&gt;</description>
    </item>
    <item>
      <title>Building strings in Golang</title>
      <link>https://www.nilpointer.blog/posts/2026/03/building-strings-in-golang/</link>
      <pubDate>Tue, 10 Mar 2026 15:00:17 -0700</pubDate>
      <guid>https://www.nilpointer.blog/posts/2026/03/building-strings-in-golang/</guid>
      <description>&lt;p&gt;&lt;strong&gt;How do I build a string in Golang?&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Building a string seems trivial, and it generally is, but it&amp;rsquo;s a great way to dive into further to understand some of the basics around what makes Golang so interesting.&lt;/p&gt;&#xA;&lt;p&gt;First of all, let&amp;rsquo;s note that a &lt;em&gt;string&lt;/em&gt; in Golang is &lt;em&gt;immutable&lt;/em&gt;. That means whenever you want to append to a string, the existing string &lt;em&gt;plus what you&amp;rsquo;re appending&lt;/em&gt; needs to be copied to a new string in memory. This means that when optimizing code, we need to be mindful when we write code that performs these actions many times.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The STAR Method</title>
      <link>https://www.nilpointer.blog/posts/2026/03/the-star-method/</link>
      <pubDate>Wed, 04 Mar 2026 15:09:44 -0800</pubDate>
      <guid>https://www.nilpointer.blog/posts/2026/03/the-star-method/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve heard about this one for so long, but have never really sat down to look at it in more detail. It&amp;rsquo;s actually quite simple, so I&amp;rsquo;m not sure why I waited so long to do this.&lt;/p&gt;&#xA;&lt;p&gt;When needing to present to an audience, instead of rambling on about what you did, lightning-talk fashion, it&amp;rsquo;s best to put some structure around it.&lt;/p&gt;&#xA;&lt;p&gt;STAR is an acronym, pioneered (I think) mostly by Amazon for handling job interviews. But I feel like it&amp;rsquo;s helpful for any kind of technical presentation or interaction.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Haversine Formula</title>
      <link>https://www.nilpointer.blog/posts/2026/03/the-haversine-formula/</link>
      <pubDate>Sun, 01 Mar 2026 21:01:44 -0800</pubDate>
      <guid>https://www.nilpointer.blog/posts/2026/03/the-haversine-formula/</guid>
      <description>&lt;p&gt;While doing some reading tonight, I came across a question.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;How do you calculate the distances between two GPS coordinates?&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Turns out it&amp;rsquo;s by using a function called the &lt;a href=&#34;https://en.wikipedia.org/wiki/Haversine_formula&#34;&#xA;  &#xA;  &#xA;    target=&#34;_blank&#34; &#xA;    rel=&#34;noopener noreferrer&#34;&#xA;  &#xA;&gt;Haversine formula&lt;/a&gt;. And let me tell you, it looks kind of crazy at first.&lt;/p&gt;&#xA;&lt;p&gt;I &lt;a href=&#34;https://www.bicyclewatercooler&#34;&#xA;  &#xA;  &#xA;    target=&#34;_blank&#34; &#xA;    rel=&#34;noopener noreferrer&#34;&#xA;  &#xA;&gt;ride bikes a lot&lt;/a&gt; and use a GPS computer to track my rides - I&amp;rsquo;ve always wondered how a device, likely emitting data points every second or so - kept track of this information. And then additionally, how services like &lt;a href=&#34;https://www.strava.com&#34;&#xA;  &#xA;  &#xA;    target=&#34;_blank&#34; &#xA;    rel=&#34;noopener noreferrer&#34;&#xA;  &#xA;&gt;Strava&lt;/a&gt; or Garmin actually overlay that information on to a map to show you where you&amp;rsquo;ve gone, how fast, at what elevation, etc.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Enshittification</title>
      <link>https://www.nilpointer.blog/posts/2026/02/enshittification/</link>
      <pubDate>Sat, 28 Feb 2026 15:37:07 -0800</pubDate>
      <guid>https://www.nilpointer.blog/posts/2026/02/enshittification/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Cory_Doctorow&#34;&#xA;  &#xA;  &#xA;    target=&#34;_blank&#34; &#xA;    rel=&#34;noopener noreferrer&#34;&#xA;  &#xA;&gt;Cory Doctorow&lt;/a&gt; coined this term a while back and even wrote a book about it.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&amp;ldquo;Enshittification&amp;rdquo; is the gradual degradation of online platforms, where services initially provide high-quality, free, or cheap value to attract users, then pivot to prioritize advertisers, and finally extract all value for themselves, ultimately harming both users and business customers.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;I love this term.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;It describes so much of what I&amp;rsquo;ve seen in tech over my lifetime. Seriously great products and processes enabled by the &amp;ldquo;world wide web&amp;rdquo; of the mid to late 90&amp;rsquo;s, eventually to succumb to ads, paywalls, popups, and &amp;ldquo;nickel and dime&amp;rdquo; schemes in both physical and online products.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Using the &#34;done&#34; channel in Go</title>
      <link>https://www.nilpointer.blog/posts/2026/02/using-the-done-channel-in-go/</link>
      <pubDate>Fri, 27 Feb 2026 14:29:51 -0800</pubDate>
      <guid>https://www.nilpointer.blog/posts/2026/02/using-the-done-channel-in-go/</guid>
      <description>&lt;p&gt;I wanted to document how a &lt;code&gt;done&lt;/code&gt; channel is most commonly used.&lt;/p&gt;&#xA;&lt;p&gt;Mainly because I&amp;rsquo;ve personally found it to be more confusing than it should be.&lt;/p&gt;&#xA;&lt;p&gt;It usually looks a bit like this, when following a worker pattern:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;func main() {&#xA;  var doneCh = make(chan struct{})&#xA;&#xA;  // Perform some concurrent work&#xA;  // ...&#xA;&#xA;  // Wait on that work&#xA;  for i := 0; i &amp;lt; 10; i++ {&#xA;    &amp;lt;-doneCh&#xA;  }&#xA;  &#xA;  // complete&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;I intentially left out a bit here to highlight what a &amp;ldquo;done&amp;rdquo; channel actually looks like.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Worker Pattern</title>
      <link>https://www.nilpointer.blog/posts/2026/02/the-worker-pattern/</link>
      <pubDate>Thu, 26 Feb 2026 16:09:17 -0800</pubDate>
      <guid>https://www.nilpointer.blog/posts/2026/02/the-worker-pattern/</guid>
      <description>&lt;p&gt;I really like using a worker pattern with &lt;a href=&#34;https://www.nilpointer.blog/posts/2026/02/golangs-unbuffered-and-buffered-channels/&#34;&#xA;  &#xA;  &#xA;&gt;unbuffered channels&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;API calls, especially when each can be handled separately and independently, are easily implemented with this pattern, and I&amp;rsquo;ve seen it help tremendously when downloading artifacts for building in CI, for example.&lt;/p&gt;&#xA;&lt;p&gt;Instead of setting up a buffered channel with a capacity of 10 in an attempt to concurrently handle 10 requests, you can create an unbuffered channel and read from it using 10 workers.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Golang&#39;s unbuffered and buffered channels</title>
      <link>https://www.nilpointer.blog/posts/2026/02/golangs-unbuffered-and-buffered-channels/</link>
      <pubDate>Wed, 25 Feb 2026 16:40:18 -0800</pubDate>
      <guid>https://www.nilpointer.blog/posts/2026/02/golangs-unbuffered-and-buffered-channels/</guid>
      <description>&lt;p&gt;From the &lt;a href=&#34;https://go.dev/blog/codelab-share&#34;&#xA;  &#xA;  &#xA;    target=&#34;_blank&#34; &#xA;    rel=&#34;noopener noreferrer&#34;&#xA;  &#xA;&gt;official Go Blog&lt;/a&gt;:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Do not communicate by sharing memory; instead, share memory by communicating.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;They&amp;rsquo;re awesome because they enable concurrency support &amp;ldquo;out of the box&amp;rdquo;.&lt;/p&gt;&#xA;&lt;p&gt;They&amp;rsquo;re basically their own type that implements concurrent safe logic of sharing memory locations of data without the explicit usage of mutexes or locks. The example in the blog link above has some code blocks that show this quite well, actually.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;They can be buffered or unbuffered.&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>A thought on debugging</title>
      <link>https://www.nilpointer.blog/posts/2026/02/a-thought-on-debugging/</link>
      <pubDate>Tue, 24 Feb 2026 13:48:08 -0800</pubDate>
      <guid>https://www.nilpointer.blog/posts/2026/02/a-thought-on-debugging/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;Everyone knows that debugging is twice as hard as writing a program in the first place. So if you’re as clever as you can be when you write it, how will you ever debug it?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Brian_Kernighan&#34;&#xA;  &#xA;  &#xA;    target=&#34;_blank&#34; &#xA;    rel=&#34;noopener noreferrer&#34;&#xA;  &#xA;&gt;Brian W. Kernighan&lt;/a&gt; is attributed to that quote, and it (regularly) reasonates a lot with me.&lt;/p&gt;&#xA;&lt;p&gt;I think sometimes as engineers, we actually &lt;em&gt;like&lt;/em&gt; complexity. It feels fun to build something really interesting and technical in scope, and we often confuse simple topics like &amp;ldquo;simple&amp;rdquo;, &amp;ldquo;technical&amp;rdquo;, or even &amp;ldquo;beautiful&amp;rdquo;, &amp;ldquo;clean&amp;rdquo;, &amp;ldquo;elegant&amp;rdquo;&amp;hellip;the list goes on.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Azure and rsync</title>
      <link>https://www.nilpointer.blog/posts/2026/02/azure-and-rsync/</link>
      <pubDate>Mon, 23 Feb 2026 17:05:10 -0800</pubDate>
      <guid>https://www.nilpointer.blog/posts/2026/02/azure-and-rsync/</guid>
      <description>&lt;p&gt;I&amp;rsquo;m not actually referring to &lt;em&gt;the&lt;/em&gt; &lt;code&gt;rsync&lt;/code&gt; command that a lot of us know and love.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;m referring to &lt;code&gt;azcopy sync&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;I sometimes use this to copy over files from the generated &lt;code&gt;public/&lt;/code&gt; folder that &lt;code&gt;Hugo&lt;/code&gt; creates for me to my Azure blob store. That&amp;rsquo;s where this site is stored.&lt;/p&gt;&#xA;&lt;p&gt;In &lt;a href=&#34;https://www.nilpointer.blog/posts/2026/02/azure-currently-runs-this-site/&#34;&#xA;  &#xA;  &#xA;&gt;another post&lt;/a&gt;, I wrote about a handy VSCode plugin that I use when uploading changes to this site. Unfortunately, this one deletes everything and re-uploads everything.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Thoughts on Pushing Back on Management</title>
      <link>https://www.nilpointer.blog/posts/2026/02/thoughts-on-pushing-back-on-management/</link>
      <pubDate>Sun, 22 Feb 2026 16:43:50 -0800</pubDate>
      <guid>https://www.nilpointer.blog/posts/2026/02/thoughts-on-pushing-back-on-management/</guid>
      <description>&lt;p&gt;I recently learned about a man by the name of Roger Boisjoly, who, in the 80&amp;rsquo;s, was involved in the Challenger shuttle project. In 2012, &lt;a href=&#34;https://www.npr.org/sections/thetwo-way/2012/02/06/146490064/remembering-roger-boisjoly-he-tried-to-stop-shuttle-challenger-launch&#34;&#xA;  &#xA;  &#xA;    target=&#34;_blank&#34; &#xA;    rel=&#34;noopener noreferrer&#34;&#xA;  &#xA;&gt;NPR put together some information&lt;/a&gt; about him and his involvement in the project.&lt;/p&gt;&#xA;&lt;p&gt;If you&amp;rsquo;re unfamiliar, this was the shuttle that blew up on its way up out of our atmosphere. I remember less of the actual event myself, but was well aware of it because my elementary school was named after &lt;a href=&#34;https://en.wikipedia.org/wiki/Christa_McAuliffe&#34;&#xA;  &#xA;  &#xA;    target=&#34;_blank&#34; &#xA;    rel=&#34;noopener noreferrer&#34;&#xA;  &#xA;&gt;Christa McAuliffe&lt;/a&gt;. She was to be the first teacher in space.&lt;/p&gt;</description>
    </item>
    <item>
      <title>A Golang Slice gotcha that...got me</title>
      <link>https://www.nilpointer.blog/posts/2026/02/a-golang-slice-gotcha-that...got-me/</link>
      <pubDate>Sat, 21 Feb 2026 12:33:28 -0800</pubDate>
      <guid>https://www.nilpointer.blog/posts/2026/02/a-golang-slice-gotcha-that...got-me/</guid>
      <description>&lt;p&gt;I was doing some self study the other day, feeling relatively confident building out a &lt;a href=&#34;https://en.wikipedia.org/wiki/Trie&#34;&#xA;  &#xA;  &#xA;    target=&#34;_blank&#34; &#xA;    rel=&#34;noopener noreferrer&#34;&#xA;  &#xA;&gt;Trie&lt;/a&gt; for an autocomplete function. When checking my work with Gemini, I was recommended something like this as a possible function signature:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;func (t *Trie) collect(n *TrieNode, pfx string, results *[]string) {&#xA;  // ...&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Where I started to spiral was the &lt;strong&gt;&lt;code&gt;*[]string&lt;/code&gt;&lt;/strong&gt; type in the final input parameter.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;That&amp;rsquo;s weird looking, isn&amp;rsquo;t it?&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;In Golang, slices and arrays are often confused. You may say: &lt;em&gt;&amp;ldquo;But aren&amp;rsquo;t slices copied by reference?&amp;rdquo;&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Azure (currently) runs this site</title>
      <link>https://www.nilpointer.blog/posts/2026/02/azure-currently-runs-this-site/</link>
      <pubDate>Fri, 20 Feb 2026 17:36:02 -0800</pubDate>
      <guid>https://www.nilpointer.blog/posts/2026/02/azure-currently-runs-this-site/</guid>
      <description>&lt;p&gt;In the world of cloud providers, there are generally three big ones - Google Cloud Platform (GCP), Microsoft Azure, and, of course, Amazon Web Services (AWS). AWS has by far the lion&amp;rsquo;s share of the market, but mainly because they were the first to said market.&lt;/p&gt;&#xA;&lt;p&gt;Each have enabled all kinds of development from small to medium companies so that they don&amp;rsquo;t have to set up a bunch of servers, letting them sit idle most of the time.&lt;/p&gt;</description>
    </item>
    <item>
      <title>&#34;Clever&#34; Has No Place in CI</title>
      <link>https://www.nilpointer.blog/posts/2026/02/clever-has-no-place-in-ci/</link>
      <pubDate>Thu, 19 Feb 2026 20:18:15 -0800</pubDate>
      <guid>https://www.nilpointer.blog/posts/2026/02/clever-has-no-place-in-ci/</guid>
      <description>&lt;p&gt;I wanted to share this separately on my site because, well, it made quite the impression over on &lt;a href=&#34;https://www.linkedin.com/feed/update/urn:li:activity:7406476989181628416&#34;&#xA;  &#xA;  &#xA;    target=&#34;_blank&#34; &#xA;    rel=&#34;noopener noreferrer&#34;&#xA;  &#xA;&gt;LinkedIn&lt;/a&gt;, where I initially posted it.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Hot take: the code used in infrastructure engineering shouldn&amp;rsquo;t be complicated, nor should it be clever. It actually should be rather dumb.&lt;/p&gt;&#xA;&lt;p&gt;If something goes wrong, you want it to be with the code you&amp;rsquo;re trying to build or ship, not an unexpected effect of an overly complex CI system.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Recovering from a Nil Pointer</title>
      <link>https://www.nilpointer.blog/about/</link>
      <pubDate>Thu, 19 Feb 2026 15:04:21 -0800</pubDate>
      <guid>https://www.nilpointer.blog/about/</guid>
      <description>&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;welcomeBytes, err := os.ReadFile(&amp;#34;blogIntro.txt&amp;#34;)&#xA;if err != nil {&#xA;&#x9;panic(err)&#xA;}&#xA;fmt.Println(string(welcomeBytes))&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;In most coding languages, the concept of &lt;code&gt;null&lt;/code&gt; is pretty ubiqitous. It&amp;rsquo;s kind of like the number &lt;code&gt;0&lt;/code&gt; in number theory - it&amp;rsquo;s kind of&amp;hellip;&lt;em&gt;nothing&lt;/em&gt;. It&amp;rsquo;s often a far more complex topic than most realize.&lt;/p&gt;&#xA;&lt;p&gt;So when encountering a &lt;code&gt;null&lt;/code&gt;, particularly a &lt;code&gt;null pointer exception&lt;/code&gt; (or as I like to call it, &amp;ldquo;the joy of working in Java&amp;rdquo;), it&amp;rsquo;s usually indicative that you&amp;rsquo;ve done something wrong. Then the compiler or runtime will immediately stop what it&amp;rsquo;s doing and bail completely.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
