<?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>JD Codes</title>
    <link>https://jd.codes/</link>
    <description>Recent content on JD Codes</description>
    <generator>Hugo -- 0.147.7</generator>
    <language>en-us</language>
    <lastBuildDate>Fri, 18 Apr 2025 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://jd.codes/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Deploying Tanstack Start w/ Kamal</title>
      <link>https://jd.codes/posts/deploy-tanstack-start-kamal/</link>
      <pubDate>Fri, 18 Apr 2025 00:00:00 +0000</pubDate>
      <guid>https://jd.codes/posts/deploy-tanstack-start-kamal/</guid>
      <description>Deploying Tanstack Start with Kamal.</description>
    </item>
    <item>
      <title>Kamal Tip - Private Network only Database Server</title>
      <link>https://jd.codes/posts/kamal-tip-private-network/</link>
      <pubDate>Fri, 22 Nov 2024 00:00:00 +0000</pubDate>
      <guid>https://jd.codes/posts/kamal-tip-private-network/</guid>
      <description>&lt;p&gt;&lt;strong&gt;&lt;strong&gt;Edit&lt;/strong&gt;&lt;/strong&gt;: In the original version of this post I made a mistake. This post has been corrected. See the details at the below for an explanation of the mistake and the solution.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Mistake Summary &amp;amp; Solution&lt;/summary&gt;
&lt;div class=&#34;details&#34;&gt;
&lt;blockquote&gt;
&lt;p&gt;In the original version of this post I had stated that the App servers IP in the Kamal configuration should be set to it&amp;rsquo;s public IP. This is incorrect. With the SSH proxy pointing at the public IP as well, this resulted in a jumphost connection problem, meaning it tried to connect to the public IP through a proxy of the public IP. This obviously didn&amp;rsquo;t work and resulted in inconsistent behavior with Kamal. The solution was to replace the App servers IP address to be the private IP instead. As a result, the only place the public IP of the server is referenced is in the Kamal SSH proxy configuration.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Transient Menus in Emacs pt. 1</title>
      <link>https://jd.codes/posts/transient-emacs/</link>
      <pubDate>Wed, 13 Nov 2024 00:00:00 +0000</pubDate>
      <guid>https://jd.codes/posts/transient-emacs/</guid>
      <description>Building custom Transient menus is a great way to enhance day to day workflows</description>
    </item>
    <item>
      <title>Quick Tip: Git - Rebasing Branches</title>
      <link>https://jd.codes/posts/branches-off-branches/</link>
      <pubDate>Fri, 11 Oct 2024 00:00:00 +0000</pubDate>
      <guid>https://jd.codes/posts/branches-off-branches/</guid>
      <description>A quick tip when dealing with branches off branches.</description>
    </item>
    <item>
      <title>Managing Local Services in Emacs with Prodigy</title>
      <link>https://jd.codes/posts/emacs-prodigy/</link>
      <pubDate>Fri, 15 Mar 2024 00:00:00 +0000</pubDate>
      <guid>https://jd.codes/posts/emacs-prodigy/</guid>
      <description>Prodigy is an Emacs package that allows you to manage local services easily.</description>
    </item>
    <item>
      <title>Finding an Emacs Bug</title>
      <link>https://jd.codes/posts/emacs-comint-filter-bug/</link>
      <pubDate>Tue, 02 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://jd.codes/posts/emacs-comint-filter-bug/</guid>
      <description>I managed to come across an emacs bug.. or rather unexpected &amp;amp; undocumented behavior.</description>
    </item>
    <item>
      <title>State Design Pattern</title>
      <link>https://jd.codes/posts/state-design-pattern/</link>
      <pubDate>Tue, 08 Jun 2021 00:00:00 +0000</pubDate>
      <guid>https://jd.codes/posts/state-design-pattern/</guid>
      <description>State Design Pattern is often overlooked in favor State Machines when it comes to Rails and object state management. However, the State Design Pattern is a highly effective open/closed solution to many state design woes.</description>
    </item>
    <item>
      <title>Double Polymorphic Associations in Rails</title>
      <link>https://jd.codes/posts/double-polymorphic-associations/</link>
      <pubDate>Mon, 31 May 2021 00:00:00 +0000</pubDate>
      <guid>https://jd.codes/posts/double-polymorphic-associations/</guid>
      <description>A quick overview of using associations to define good domain descriptions as well as good behavior.</description>
    </item>
    <item>
      <title>Using SSH Tunneling</title>
      <link>https://jd.codes/posts/ssh-tunneling/</link>
      <pubDate>Mon, 01 Mar 2021 00:00:00 +0000</pubDate>
      <guid>https://jd.codes/posts/ssh-tunneling/</guid>
      <description>Use SSH Dynamic Port Forwarding/Tunnel to route web traffic.</description>
    </item>
    <item>
      <title>Trying out GCC Emacs</title>
      <link>https://jd.codes/posts/trying-gcc-emacs/</link>
      <pubDate>Sat, 20 Feb 2021 00:00:00 +0000</pubDate>
      <guid>https://jd.codes/posts/trying-gcc-emacs/</guid>
      <description>I&amp;#39;ve always had complaints about emacs performance but the latest native compilation branch squashes any concerns I have with it.</description>
    </item>
    <item>
      <title>Thoughts on Interfaces for Models</title>
      <link>https://jd.codes/posts/thoughts-on-interfaces/</link>
      <pubDate>Thu, 11 Feb 2021 00:00:00 +0000</pubDate>
      <guid>https://jd.codes/posts/thoughts-on-interfaces/</guid>
      <description>After making small changes to a model, it got me thinking hard about how I build interfaces.</description>
    </item>
    <item>
      <title>Using Run Command in Emacs for RSpec Watch Mode</title>
      <link>https://jd.codes/posts/run-command/</link>
      <pubDate>Tue, 02 Feb 2021 00:00:00 +0000</pubDate>
      <guid>https://jd.codes/posts/run-command/</guid>
      <description>I am a sucker for small micro-optimizations in my Emacs config. The Run Command package gives plenty of opportunity for that, while also building powerful automation opportunities. Here&amp;#39;s the config I came up with for an RSpec watch mode.</description>
    </item>
    <item>
      <title>Resolving client side routes in Rails</title>
      <link>https://jd.codes/posts/client-routes-rails/</link>
      <pubDate>Sat, 09 Jan 2021 00:00:00 +0000</pubDate>
      <guid>https://jd.codes/posts/client-routes-rails/</guid>
      <description>Tell Rails to pass routes to a client with a nifty helper.</description>
    </item>
    <item>
      <title>Dockerize Create React App</title>
      <link>https://jd.codes/posts/dockerizing-react/</link>
      <pubDate>Sat, 02 Jan 2021 00:00:00 +0000</pubDate>
      <guid>https://jd.codes/posts/dockerizing-react/</guid>
      <description>I&amp;#39;m relatively new to using Docker and wanted a quick way to spin up a small React application using Docker so I could easily share it as a proof of concept for features I develop at work. Here&amp;#39;s a quick guide to dockerizing a React app made with create-react-app.</description>
    </item>
    <item>
      <title>Organizing Work is Hard</title>
      <link>https://jd.codes/posts/organizing-work/</link>
      <pubDate>Wed, 27 Nov 2019 00:00:00 +0000</pubDate>
      <guid>https://jd.codes/posts/organizing-work/</guid>
      <description>Taking on organizational responsibility for other developers work is hard work in of itself. It is a careful balance of planning, architecture, and confidence.</description>
    </item>
    <item>
      <title>Tips for Breaking into the Tech Industry</title>
      <link>https://jd.codes/posts/breaking-into-tech/</link>
      <pubDate>Thu, 28 Dec 2017 00:00:00 +0000</pubDate>
      <guid>https://jd.codes/posts/breaking-into-tech/</guid>
      <description>It took me a long time to find a job, so I thought I&amp;#39;d share my most useful advice on the matter. It&amp;#39;s an uphill battle, but once you get the first one, the rest are easy.</description>
    </item>
  </channel>
</rss>
