<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>programming &amp;mdash; Nat Knight</title>
    <link>http://natknight.xyz/tag:programming</link>
    <description>Reflections, diversions, and opinions from a progressive ex-physicist programmer dad with a sore back.</description>
    <pubDate>Sun, 24 May 2026 17:31:09 -0700</pubDate>
    <item>
      <title>That&#39;s the Job</title>
      <link>http://natknight.xyz/thats-the-job</link>
      <description>&lt;![CDATA[#programming #angst #motivation #legacycode&#xA;&#xA;A few nights ago, in the wee hours of the morning, I came to be staring red-eyed at a list of programming languages. I&#39;m a generally optimistic person, I enjoy learning these sorts of things, and I appreciate the things that the tools on this list had to offer.  Despite all that, I couldn&#39;t contemplate investing in any of them with anything but dread.&#xA;&#xA;!--more--&#xA;&#xA;This had nothing to do with the merits of the tools on that list. I was in the waning moments of an irrationally anxious episode, questioning my ability as a programmer, the sustainability of this industry, my choice of career. I certainly wasn&#39;t sleeping, which is what I ought to have been doing. I haven&#39;t been a programmer for as long as some folks, but even a relative whippersnapper like me can feel buried by the avalanche of new tech, stymied by the exacting nature of working with these infernal silicon devices and the software we write for them.&#xA;&#xA;The incident that precipitated this moment of angst was a SQL view that I encountered at work. Some changes had been made to this view and I was tasked with validating that they were correct. Now, I consider a ten line SQL view to be a substantial piece of code, and a hundred line view is approaching the limit of I&#39;m comfortable with. The view in question was an order of magnitude bigger than that. It was also part of a system which has probably saved lives. This needed to be done, and we needed to be confident that it was done right.&#xA;&#xA;Eventually, what let me close that list and get some rest was the realization that this is the job. As a programmer, sometimes you need to be smart and creative and put together a clean solution with no wasted parts using exactly the right tools. But other times, when folks are depending on you to fix something important, your job is to open the thousand line SQL view, take a deep breath, and figure out how you can do the task in front of you with the tools you have.&#xA;&#xA;Remember that. Expect it. And be proud when you do it well.&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://natknight.xyz/tag:programming" class="hashtag"><span>#</span><span class="p-category">programming</span></a> <a href="http://natknight.xyz/tag:angst" class="hashtag"><span>#</span><span class="p-category">angst</span></a> <a href="http://natknight.xyz/tag:motivation" class="hashtag"><span>#</span><span class="p-category">motivation</span></a> <a href="http://natknight.xyz/tag:legacycode" class="hashtag"><span>#</span><span class="p-category">legacycode</span></a></p>

<p>A few nights ago, in the wee hours of the morning, I came to be staring red-eyed at a list of programming languages. I&#39;m a generally optimistic person, I enjoy learning these sorts of things, and I appreciate the things that the tools on this list had to offer.  Despite all that, I couldn&#39;t contemplate investing in any of them with anything but dread.</p>



<p>This had nothing to do with the merits of the tools on that list. I was in the waning moments of an irrationally anxious episode, questioning my ability as a programmer, the sustainability of this industry, my choice of career. I certainly wasn&#39;t sleeping, which is what I ought to have been doing. I haven&#39;t been a programmer for as long as some folks, but even a relative whippersnapper like me can feel buried by the avalanche of new tech, stymied by the exacting nature of working with these infernal silicon devices and the software we write for them.</p>

<p>The incident that precipitated this moment of angst was a SQL view that I encountered at work. Some changes had been made to this view and I was tasked with validating that they were correct. Now, I consider a ten line SQL view to be a substantial piece of code, and a hundred line view is approaching the limit of I&#39;m comfortable with. The view in question was an order of magnitude bigger than that. It was also part of a system which has probably saved lives. This needed to be done, and we needed to be confident that it was done right.</p>

<p>Eventually, what let me close that list and get some rest was the realization that this is the job. As a programmer, sometimes you need to be smart and creative and put together a clean solution with no wasted parts using exactly the right tools. But other times, when folks are depending on you to fix something important, your job is to open the thousand line SQL view, take a deep breath, and figure out how you can do the task in front of you with the tools you have.</p>

<p>Remember that. Expect it. And be proud when you do it well.</p>
]]></content:encoded>
      <guid>http://natknight.xyz/thats-the-job</guid>
      <pubDate>Wed, 18 Dec 2019 08:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Why I Listen to Programming Podcasts</title>
      <link>http://natknight.xyz/why-i-listen-to-programming-podcasts</link>
      <description>&lt;![CDATA[#podcasts #programming&#xA;&#xA;There is a great diversity of material for improving programming skills and knowledge. It&#39;s no great task to give examples of books, blogs, videos, live-streams, interactive tutorials etc. This diversity makes our profession better.&#xA;&#xA;A surprising inclusion in this list is the podcast, which one might expect to be a bit useless: we work with a lot of plain text, complex data structures, design and layout. At first blush, this seems like poor material for a purely aural medium.&#xA;&#xA;Nevertheless, I derive great enjoyment and value from listening to other programmers talk about their craft and I recently had an object lesson in why.&#xA;&#xA;Giant Robots Made My Day&#xA;&#xA;While working my way through the back-catalogue of the Giant Robots Smashing into Other Giant Robots podcast, I listened to a conversation between Ben Orenstein and Matt Knox about deliberate practice for programmers. A few days later, I have a Github repo for my kata and whole bunch of energy for them that I didn&#39;t have last week.&#xA;&#xA;That&#39;s not a bad return when all I started with was a half-hour of dishes and a free MP3. Where did I find this enthusiasm, and why is the podcast the perfect medium to go looking for it?&#xA;&#xA;They Don&#39;t Cure Cancer But . . .&#xA;&#xA;An obvious benefit of listening to other professionals is that it keeps good ideas front-of-mind.  Kata for programmers is hardly a new idea (heck, Jeff Atwood wrote about them on CodingHorror, so pretty much everyone has heard of them) but it&#39;s easy to lose focus and drive in that amorphous category of &#34;professional development&#34; without the occasional injection of perspective. Regularly exposing oneself to the ecosystem of good ideas is a good way to stay on track.&#xA;&#xA;Podcasts also have more emotional weight than blogs or Hacker News. Much as one might like to be a perfectly rational logic machine, a little tug on the right heart-strings can be wonderfully effective. There&#39;s a palpable excitement, an infectious enthusiasm that emanates from professionals keen on their craft, and it comes through headphones loud and clear.&#xA;&#xA;And in case this all seems like perfect fellowship and sunshine, there&#39;s a slightly pointed aspect to consider as well: competition. Besides being sources of inspiration and content, the characters coming down over WiFi can be the masters we seek to surpass or the antagonists against whom we prepare our opinions. As much as we need idols and peers, rivals and tyrants also have their uses.&#xA;&#xA;I&#39;ll Be  Listening&#xA;&#xA;So for code snippets and clever hacks, blogs are still king. Videos and prose will win out in the domain of architecture and lofty ideas. But as long as I aspire to a better technical culture than I inhabit, I&#39;ll listen to podcasts to make up the difference.&#xA;&#xA;Finding good programming podcasts can be a bit challenging. There are a ton of options to choose from and Sturgeon&#39;s Law definitely applies. Try lots of things, be selective, and use an RSS reader or podcatcher to automate your subscriptions. Here are a few solid offerings to get you started.&#xA;&#xA; Giant Robots Smashing into Other Giant Robots. I wasn&#39;t really excitied about the business possibilities of being a developer until I heard some of these stories. Particularly good episodes include the aforementioned interview with Matt Knox and an older interview with Brennan Dunn about the business side of being a small independent developer.&#xA;&#xA; The StackExchange Podcast. Worth listening to if only for Joel Spolsky. Lots of good content about scaling up a massive website, online reputation systems, and huskies. The episode about keeping a datacenter running through hurricane Katrina was particularly memorable.&#xA;&#xA; The Cognicast. This one used to be ThinkRelevance (the consulting firm that produces it merged with another one--names and URIs were changed). Often features Clojure and other functional programming topics. This interview on testing is a good one.&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<p><a href="http://natknight.xyz/tag:podcasts" class="hashtag"><span>#</span><span class="p-category">podcasts</span></a> <a href="http://natknight.xyz/tag:programming" class="hashtag"><span>#</span><span class="p-category">programming</span></a></p>

<p>There is a great diversity of material for improving programming skills and knowledge. It&#39;s no great task to give examples of books, blogs, videos, live-streams, interactive tutorials etc. This diversity makes our profession better.</p>

<p>A surprising inclusion in this list is the podcast, which one might expect to be a bit useless: we work with a lot of plain text, complex data structures, design and layout. At first blush, this seems like poor material for a purely aural medium.</p>

<p>Nevertheless, I derive great enjoyment and value from listening to other programmers talk about their craft and I recently had an object lesson in why.</p>

<h2 id="giant-robots-made-my-day" id="giant-robots-made-my-day">Giant Robots Made My Day</h2>

<p>While working my way through the back-catalogue of the Giant Robots Smashing into Other Giant Robots podcast, I listened to a <a href="http://podcasts.thoughtbot.com/giantrobots/82">conversation</a> between Ben Orenstein and Matt Knox about deliberate practice for programmers. A few days later, I have a <a href="http://bitbucket.org/nathanielknight/kata">Github repo</a> for my kata and whole bunch of energy for them that I didn&#39;t have last week.</p>

<p>That&#39;s not a bad return when all I started with was a half-hour of dishes and a free MP3. Where did I find this enthusiasm, and why is the podcast the perfect medium to go looking for it?</p>

<h2 id="they-don-t-cure-cancer-but" id="they-don-t-cure-cancer-but">They Don&#39;t Cure Cancer But . . .</h2>

<p>An obvious benefit of listening to other professionals is that it <strong>keeps good ideas front-of-mind</strong>.  Kata for programmers is hardly a new idea (heck, Jeff Atwood <a href="http://blog.codinghorror.com/the-ultimate-code-kata/">wrote about them on CodingHorror</a>, so pretty much everyone has heard of them) but it&#39;s easy to lose focus and drive in that amorphous category of “professional development” without the occasional injection of perspective. Regularly exposing oneself to the ecosystem of good ideas is a good way to stay on track.</p>

<p>Podcasts also have more <strong>emotional weight</strong> than blogs or Hacker News. Much as one might like to be a perfectly rational logic machine, a little tug on the right heart-strings can be wonderfully effective. There&#39;s a palpable excitement, an infectious enthusiasm that emanates from professionals keen on their craft, and it comes through headphones loud and clear.</p>

<p>And in case this all seems like perfect fellowship and sunshine, there&#39;s a slightly pointed aspect to consider as well: <strong>competition</strong>. Besides being sources of inspiration and content, the characters coming down over WiFi can be the masters we seek to surpass or the antagonists against whom we prepare our opinions. As much as we need idols and peers, rivals and tyrants also have their uses.</p>

<h2 id="i-ll-be-listening" id="i-ll-be-listening">I&#39;ll Be  Listening</h2>

<p>So for code snippets and clever hacks, blogs are still king. Videos and prose will win out in the domain of architecture and lofty ideas. But as long as I aspire to a better technical culture than I inhabit, I&#39;ll listen to podcasts to make up the difference.</p>

<p>Finding good programming podcasts can be a bit challenging. There are a ton of options to choose from and <a href="https://en.wikipedia.org/wiki/Sturgeon%27s_law">Sturgeon&#39;s Law</a> definitely applies. Try lots of things, be selective, and use an RSS reader or podcatcher to automate your subscriptions. Here are a few solid offerings to get you started.</p>
<ul><li><p><strong><a href="http://podcasts.thoughtbot.com/giantrobots">Giant Robots Smashing into Other Giant Robots</a></strong>. I wasn&#39;t really excitied about the business possibilities of being a developer until I heard some of these stories. Particularly good episodes include the aforementioned <a href="http://podcasts.thoughtbot.com/giantrobots/82">interview with Matt Knox</a> and an older <a href="http://podcasts.thoughtbot.com/giantrobots/18">interview with Brennan Dunn</a> about the business side of being a small independent developer.</p></li>

<li><p><strong><a href="http://blog.stackoverflow.com/category/podcasts/">The StackExchange Podcast</a></strong>. Worth listening to if only for Joel Spolsky. Lots of good content about scaling up a massive website, online reputation systems, and huskies. The episode about <a href="http://blog.stackoverflow.com/2012/11/se-podcast-36-we-got-hit-by-a-hurricane/">keeping a datacenter running through hurricane Katrina</a> was particularly memorable.</p></li>

<li><p><strong><a href="http://blog.cognitect.com/cognicast/">The Cognicast</a></strong>. This one used to be ThinkRelevance (the consulting firm that produces it merged with another one—names and URIs were changed). Often features Clojure and other functional programming topics. <a href="http://blog.cognitect.com/cognicast/059-michael-nygard">This interview on testing</a> is a good one.</p></li></ul>
]]></content:encoded>
      <guid>http://natknight.xyz/why-i-listen-to-programming-podcasts</guid>
      <pubDate>Mon, 06 Oct 2014 07:00:00 +0000</pubDate>
    </item>
  </channel>
</rss>