<?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>Link on James Simas</title><link>https://www.jamessimas.com/tags/link/</link><description>Recent content in Link on James Simas</description><generator>Hugo -- 0.150.0</generator><language>en-us</language><lastBuildDate>Fri, 08 May 2026 15:30:02 -0700</lastBuildDate><atom:link href="https://www.jamessimas.com/tags/link/index.xml" rel="self" type="application/rss+xml"/><item><title>Data Center Land Use Issues Are Fake</title><link>https://www.jamessimas.com/posts/2026/data-center-land-use/</link><pubDate>Fri, 08 May 2026 15:30:02 -0700</pubDate><guid>https://www.jamessimas.com/posts/2026/data-center-land-use/</guid><description>&lt;p&gt;&lt;em&gt;Thanks for &lt;a href="https://simonwillison.net/2026/May/4/andy-masley/"&gt;Simon Willison&lt;/a&gt; for the link.&lt;/em&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;[&amp;hellip;] Between 2000 and 2024, farmers sold in total a Colorado-sized chunk of land all on their own, 77 times all land on data center property in 2028, and grew more food than ever on what was left. None of this caused any problems for US food access.&lt;/p&gt;
&lt;p&gt;And then, in the middle of all this, a farmer in Loudoun County sells a few acres of mediocre hay field to a hyperscaler for ten times its agricultural value, and the response is that we’re running out of farmland.&lt;/p&gt;</description></item><item><title>SSH Key Best Practices</title><link>https://www.jamessimas.com/posts/2025/ssh-key-best-practices/</link><pubDate>Wed, 10 Sep 2025 21:41:10 -0700</pubDate><guid>https://www.jamessimas.com/posts/2025/ssh-key-best-practices/</guid><description>&lt;p&gt;Today I needed to create a new SSH public/private keypair for work. I wanted to make sure I was following modern best practices for this, so I did some reading online.&lt;/p&gt;
&lt;p&gt;I found these two articles to be very helpful:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.brandonchecketts.com/archives/ssh-ed25519-key-best-practices-for-2025"&gt;SSH Key Best Practices for 2025 – Using ed25519, key rotation, and other best practices&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://smallstep.com/blog/ssh-agent-explained/"&gt;SSH Agent Explained&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="things-i-learned"&gt;Things I learned&lt;/h2&gt;
&lt;p&gt;I didn&amp;rsquo;t ever think to change the comment at the end of the keyfile. Now I plan to date them, as it suggests. Using the email sub-alias (+) is clever and I&amp;rsquo;m stealing that.&lt;/p&gt;</description></item><item><title>Using Github Issues</title><link>https://www.jamessimas.com/posts/2025/github-issues/</link><pubDate>Thu, 10 Jul 2025 17:29:30 -0700</pubDate><guid>https://www.jamessimas.com/posts/2025/github-issues/</guid><description>&lt;p&gt;&lt;a href="https://overcast.fm/+AAmkop73ppc"&gt;This interview&lt;/a&gt; with Simon Willison is great.&lt;/p&gt;
&lt;p&gt;It pushed&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt; me into using &lt;a href="https://docs.github.com/en/issues/tracking-your-work-with-issues/configuring-issues/quickstart"&gt;GitHub Issues&lt;/a&gt; for my private repositories. They&amp;rsquo;re wonderful. (In the past, I&amp;rsquo;ve been just tracking everything in Markdown documents. That worked, but was just OK.)&lt;/p&gt;
&lt;p&gt;As an example, I have a private GitHub repo with notes and documents for a private network I maintain (as a volunteer). It&amp;rsquo;s very ad-hoc and I sometimes go months between without working on it.&lt;/p&gt;</description></item><item><title>System Design Patterns by Sean Goedecke</title><link>https://www.jamessimas.com/posts/2025/system-design-patterns-by-sean-goedecke/</link><pubDate>Wed, 02 Jul 2025 17:03:28 -0700</pubDate><guid>https://www.jamessimas.com/posts/2025/system-design-patterns-by-sean-goedecke/</guid><description>&lt;p&gt;&lt;a href="https://www.seangoedecke.com/good-system-design/"&gt;This blog post&lt;/a&gt; by Sean Goedecke was a great read on high-level system design patterns.&lt;/p&gt;
&lt;p&gt;Most of them were familiar to me, but I got several good ideas from it.&lt;/p&gt;
&lt;p&gt;Using a database as queue:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Sometimes you want to roll your own queue system. For instance, if you want to enqueue a job to run in a month, you probably shouldn’t put an item on the Redis queue. Redis persistence is typically not guaranteed over that period of time (and even if it is, you likely want to be able to query for those far-future enqueued jobs in a way that would be tricky with the Redis job queue). In this case, I typically create a database table for the pending operation with columns for each param plus a &lt;code&gt;scheduled_at&lt;/code&gt; column. I then use a daily job to check for these items with &lt;code&gt;scheduled_at &amp;lt;= today&lt;/code&gt;, and either delete them or mark them as complete once the job has finished.&lt;/p&gt;</description></item></channel></rss>