<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Steve&apos;s Updates</title><description>Small updates from my life that don&apos;t quite fit into a blog</description><link>https://stevedylan.dev/</link><item><title>Adapted Lenses</title><link>https://stevedylan.dev/now/adapted-lenses/</link><guid isPermaLink="true">https://stevedylan.dev/now/adapted-lenses/</guid><description>Adapted Lenses</description><pubDate>Wed, 13 May 2026 13:21:43 GMT</pubDate><content:encoded>&lt;p&gt;Almost a decade ago I was shooting with a Sony A7 with a lens adapter so I could shoot with my film camera lenses. Was limited with manual focus, but tbh it was worth it. The character and sharpness out of the Minolta 50mm/f2 was insane.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://posts.stevedylan.dev/files/XuM5cqSc70.jpeg&quot; alt=&quot;8616DF6F-29D9-413E-BE63-AC237A0539F2.jpeg&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://posts.stevedylan.dev/files/dwEwrxp7pe.jpeg&quot; alt=&quot;8A6D3697-18F0-4DFD-A0D3-2AF6E7F0053B.jpeg&quot; /&gt;&lt;/p&gt;
</content:encoded></item><item><title>Bring Back Trades and Guilds</title><link>https://stevedylan.dev/now/bring-back-trades-and-guilds/</link><guid isPermaLink="true">https://stevedylan.dev/now/bring-back-trades-and-guilds/</guid><description>Bring Back Trades and Guilds</description><pubDate>Wed, 13 May 2026 02:37:26 GMT</pubDate><content:encoded>&lt;p&gt;My wife and I watched on of our favorite YouTubers tonight and their video on &lt;a href=&quot;https://youtu.be/VXoGWnyjpfM&quot;&gt;Gen Z’s return to traditionalism&lt;/a&gt; highlighted how so many people are moving towards buying vintage clothing or furniture due to the rapid enshittificaiton of everyday objects. I thought, how wild would it be if this progress continues and everyone starts making their own stuff instead of buying a crappy version of it? What if the corporations slowly die out, and instead people return to being artisans and gardeners. Your neighbor helps repair your boots in exchange for a new stool. You join a trade guild that mimics early Europe where they set the standard of goods, ensured fair pay, and train new craftsmen. With modern technology in the age of information it would almost seem solar punk.&lt;/p&gt;
&lt;p&gt;Of course I’m being over optimistic and I’m not sure I see it going that far, but I do think we will see more people pick up tools and do stuff themselves. We already are with food, clothing, and furniture. If anything it’s refreshing to see more people care about quality.&lt;/p&gt;
</content:encoded></item><item><title>Social media is still social media</title><link>https://stevedylan.dev/now/social-media-is-still-social-media/</link><guid isPermaLink="true">https://stevedylan.dev/now/social-media-is-still-social-media/</guid><description>Social media is still social media</description><pubDate>Tue, 12 May 2026 11:51:08 GMT</pubDate><content:encoded>&lt;p&gt;The thesis of &lt;a href=&quot;https://thenoisyroom.com/&quot;&gt;this article&lt;/a&gt; was pretty interesting: the public majority of social media isn’t toxic. It pushes for a “Community Check” which is a polling system that helps people see what the majority of people think on any given topic.&lt;/p&gt;
&lt;p&gt;The problem is that social media is still social media. I kicked all of my social media accounts to the curb last year, but stayed on Bluesky to remained plugged into atproto development. After a few months of only using the following feed, I felt the same way I did on X. There is just something about a feed with likes, replies, and reposts that brings the worst out of all of us. It forces people to take complex issues and reduce them to 320 characters or make a horrible string of posts. Controversy is king. Users aren’t perceived as real people. The format itself is hostile to honest and productive discussion.&lt;/p&gt;
&lt;p&gt;At least in my experience, the answer lies with older technology: blogs and RSS feeds.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Write however much you want, to a point where it makes you think through your arguments and question yourself&lt;/li&gt;
&lt;li&gt;Follow only the people you’re interested in&lt;/li&gt;
&lt;li&gt;If you want to reply to someone, open up your email and think long and hard if it’s worth sending&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This slowing down helps us pause, reflect, and act in a way that is far more helpful than any kind of social media. While I appreciate the ambition and motive behind community checks, social media is still social media.&lt;/p&gt;
</content:encoded></item><item><title>Easel - An Open Source Art Calendar</title><link>https://stevedylan.dev/now/easel-an-open-source-art-calendar/</link><guid isPermaLink="true">https://stevedylan.dev/now/easel-an-open-source-art-calendar/</guid><description>Easel - An Open Source Art Calendar</description><pubDate>Sat, 09 May 2026 15:39:03 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img src=&quot;https://posts.stevedylan.dev/files/3alf9CTSHb.jpg&quot; alt=&quot;easel&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Over the past few years I’ve grown an appreciation for art history (mostly due to my beautiful wife). I thoroughly enjoy art museums and watching analysis videos of artists and painters. I wanted to bring that side of my interests to my website but I wasn’t sure of the best path forward. I realized that the Art Institute of Chicago had a fantastic, free, and open API that could be used in many different ways. Started out with a “art a day” page on my side that would fetch from the API on each request with a random painting each day, but I decided I wanted to turn it more into a calendar.&lt;/p&gt;
&lt;p&gt;Shortly after, &lt;a href=&quot;https://andromeda.build/apps/easel&quot;&gt;Easel&lt;/a&gt; was born! It’s a new addition to my &lt;a href=&quot;https://andromeda.buid&quot;&gt;Andromeda&lt;/a&gt; stack that will fetch a new artwork each day and store the information in the database. You have the option to backfill a set number of days, select certain subjects or mediums, and more. Includes an API which can be accessed through other sites, including my new &lt;a href=&quot;https://stevedylan.dev/art-calendar&quot;&gt;/art-calendar&lt;/a&gt; page. And of course, it has &lt;a href=&quot;https://easel.stevedylan.dev/feed.xml&quot;&gt;RSS&lt;/a&gt; :)&lt;/p&gt;
&lt;p&gt;Love slowly adding little pieces of software that make my website just a bit sweeter.&lt;/p&gt;
</content:encoded></item><item><title>Lowercase D starts with a doughnut</title><link>https://stevedylan.dev/now/lowercase-d-starts-with-doughnut/</link><guid isPermaLink="true">https://stevedylan.dev/now/lowercase-d-starts-with-doughnut/</guid><description>Lowercase D starts with a doughnut</description><pubDate>Sat, 09 May 2026 02:22:57 GMT</pubDate><content:encoded>&lt;p&gt;One of the worse curses on my life is having a consistent flow of band names that I’ll never use.&lt;/p&gt;
&lt;p&gt;Today’s comes from my son’s language arts book that had quite the slip up:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://posts.stevedylan.dev/files/K0fa-JWWEZ.jpeg&quot; alt=&quot;book&quot; /&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Lowercase D starts with a doughnut&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This is just the tip of the iceberg of what enters my head on any given day.&lt;/p&gt;
&lt;p&gt;This is my burden to bear.&lt;/p&gt;
</content:encoded></item><item><title>Built with AI, not by AI</title><link>https://stevedylan.dev/now/built-with-ai-not-by-ai/</link><guid isPermaLink="true">https://stevedylan.dev/now/built-with-ai-not-by-ai/</guid><description>Built with AI, not by AI</description><pubDate>Thu, 07 May 2026 23:38:37 GMT</pubDate><content:encoded>&lt;p&gt;Really loved these lines from &lt;a href=&quot;https://rmoff.net/2026/05/06/ai-slop-is-killing-online-communities/&quot;&gt;a post&lt;/a&gt; I just read:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Build with AI.&lt;/p&gt;
&lt;p&gt;AI is just a tool.&lt;/p&gt;
&lt;p&gt;You need to do the thinking, the instructing, the checking.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;It’s a tough topic with loads of nuance, but I think there’s something to be said about intention, purpose, and design behind a project when using AI. If we need to learn to adapt in this new world, let’s not leave behind our humanity like we wade the waters.&lt;/p&gt;
</content:encoded></item><item><title>Bullets</title><link>https://stevedylan.dev/now/bullets/</link><guid isPermaLink="true">https://stevedylan.dev/now/bullets/</guid><description>Bullets</description><pubDate>Thu, 07 May 2026 11:36:30 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img src=&quot;https://files.stevedylan.dev/bullets-demo.png&quot; alt=&quot;https://files.stevedylan.dev/bullets-demo.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Yeah, I made another RSS TUI to add to the heap; sorry.&lt;/p&gt;
&lt;p&gt;Problem is I honestly tried a lot of the other solutions out there, but all of them were full blown readers that needed feeds to track and download. What I really wanted was something to parse a raw RSS/Atom XML file. I already have a backend aggregating my feeds, I just want the option to view it in the terminal vs my web browser. The result was Bullets: a minimal RSS/Atom feed browser.&lt;/p&gt;
&lt;p&gt;I call it a feed browser because it’s not technically a reader. You can only open links in a web browser, following a philosophy I heavily believe in that posts should be read in their original context. Since it’s just parsing raw URLs, there’s no read/unread tracking. Just a list of posts. That’s exactly how I consume content on my current &lt;a href=&quot;https://andromeda.build/apps/feeds&quot;&gt;Feeds app&lt;/a&gt;, and now I can just consume the forwarded feed in my terminal.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;bullets feeds.stevedylan.dev/feeds.xml
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I can also pass in most websites and grab their RSS automatically&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;bullets news.ycombinator.com
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;If you’re interested in trying it out yourself check out the &lt;a href=&quot;https://github.com/stevedylandev/bullets&quot;&gt;repo&lt;/a&gt; and the &lt;a href=&quot;https://github.com/stevedylandev/bullets/releases&quot;&gt;installs page&lt;/a&gt;.&lt;/p&gt;
</content:encoded></item><item><title>Attention is the beginning of devotion</title><link>https://stevedylan.dev/now/attention-is-the-beginning-of-devotion/</link><guid isPermaLink="true">https://stevedylan.dev/now/attention-is-the-beginning-of-devotion/</guid><description>Attention is the beginning of devotion</description><pubDate>Tue, 05 May 2026 20:18:49 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;Teach the children. We don’t matter so much, but the children do. Show them daisies and the pale hepatica.
Teach them the taste of sassafras and wintergreen. The lives of the blue sailors, mallow, sunbursts, the moccasin flowers. And the frisky ones—inkberry, lamb’s quarters, blueberries. And the aromatic ones—rosemary, oregano.
Give them peppermint to put in their pockets as they go to school. Give them the fields and the woods and the possibility of the world salvaged from the lords of profit. Stand them in the stream, head them upstream, rejoice as they learn to love this green space they live in, its sticks and leaves and then the silent, beautiful blossoms.&lt;/p&gt;
&lt;p&gt;Attention is the beginning of devotion.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;— Mary Oliver, &lt;em&gt;Upstream&lt;/em&gt;&lt;/p&gt;
</content:encoded></item><item><title>One of my favorite things to do with my personal website is hide littl…</title><link>https://stevedylan.dev/now/I4gMZGApqP/</link><guid isPermaLink="true">https://stevedylan.dev/now/I4gMZGApqP/</guid><description>One of my favorite things to do with my personal website is hide littl…</description><pubDate>Mon, 04 May 2026 02:59:50 GMT</pubDate><content:encoded>&lt;p&gt;One of my favorite things to do with my personal website is hide little Easter eggs for people to find. Since you happen to be viewing this post, you get a direct link to the latest one:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://stevedylan.dev/murmurations&quot;&gt;/murmurations&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Best enjoyed with sound&lt;/p&gt;
</content:encoded></item><item><title>Just changed my /edc page to /uses whic…</title><link>https://stevedylan.dev/now/qiLqz-H6SJ/</link><guid isPermaLink="true">https://stevedylan.dev/now/qiLqz-H6SJ/</guid><description>Just changed my /edc page to /uses whic…</description><pubDate>Sat, 02 May 2026 11:23:39 GMT</pubDate><content:encoded>&lt;p&gt;Just changed my /edc page to &lt;a href=&quot;https://stevedylan.dev/uses&quot;&gt;/uses&lt;/a&gt; which I’m pretty excited about! Added Hardware/Gear and Software sections in addition to the EDC pieces I had before.&lt;/p&gt;
&lt;p&gt;Also updated the &lt;a href=&quot;https://stevedylan.dev/about&quot;&gt;/about&lt;/a&gt; page to include “About This Site” that goes into some of the details of how my personal website is built and hosted. Check them both out if you’re interested!&lt;/p&gt;
</content:encoded></item><item><title>Hello from Posts! Over the past day or so I’ve migrated my /now update…</title><link>https://stevedylan.dev/now/NxCZtkbKNe/</link><guid isPermaLink="true">https://stevedylan.dev/now/NxCZtkbKNe/</guid><description>Hello from Posts! Over the past day or so I’ve migrated my /now update…</description><pubDate>Fri, 01 May 2026 21:53:19 GMT</pubDate><content:encoded>&lt;p&gt;Hello from Posts! Over the past day or so I’ve migrated my /now updates to this setup instead of using my PDS. Kinda a long story, but TLDR is simplifying my stack a bit and reducing friction. Will likely be treating this more like a micro blog with short posts. For more info check out posts &lt;a href=&quot;https://andromeda.build/apps/posts&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Anyway just watch The Lorax with my kids for the first time in forever and bawled my eyes out&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Unless someone like you cares a whole awful lot, nothing is going to get better. It’s not.&lt;/p&gt;
&lt;/blockquote&gt;
</content:encoded></item><item><title>Deep Green</title><link>https://stevedylan.dev/now/deep-green/</link><guid isPermaLink="true">https://stevedylan.dev/now/deep-green/</guid><description>Deep Green</description><pubDate>Tue, 28 Apr 2026 23:23:42 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img src=&quot;https://posts.stevedylan.dev/files/LcMjhJ60su.jpeg&quot; alt=&quot;image&quot; /&gt;&lt;/p&gt;
&lt;p&gt;It rained last night, after weeks of draught. Rained a bit this morning too, but it was mostly just cool, grey, and damp. During the Spring when all the trees and flowers bloom, it’s these kinds of days that are extra special. The deep green seen everywhere that is hard to describe. You can smell the faint sweetness of mountain flowers. Standing outside you feel a soft breeze and hear nothing but the rustle of trees. It’s these deep green moments that I hold onto dearly, and from time to time, share them.&lt;/p&gt;
</content:encoded></item><item><title>Captains Log 1776383078</title><link>https://stevedylan.dev/now/captains-log-1776383078/</link><guid isPermaLink="true">https://stevedylan.dev/now/captains-log-1776383078/</guid><description>Captains Log 1776383078</description><pubDate>Thu, 16 Apr 2026 23:53:46 GMT</pubDate><content:encoded>&lt;p&gt;Updates from the bridge:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;My best friend sent me this and I still can’t get over it &lt;a href=&quot;https://intertapes.net/&quot;&gt;intertapes.net&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;I might be getting into a Casio watch hobby/addiction so please send your thoughts and prayers&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Been enjoying some of the best Spring weather here in Tennessee. Going to miss it in a few months when it turns into a sweltering hell hole.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Spending a lot of my spare time on building personal and self hosted software in Rust. More on that soon in a future blog post.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Ordered a Parker Jotter. They’ve never peaked my interest before, but after learning more about history and cultural references, I gotta try one.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;I need more blogs to follow. If you’ve been following mine and haven’t said hi yet, &lt;a href=&quot;mailto:contact@stevedylan.dev&quot;&gt;please do&lt;/a&gt;!&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Until next time 🫡&lt;/p&gt;
</content:encoded></item><item><title>Machines</title><link>https://stevedylan.dev/now/machines/</link><guid isPermaLink="true">https://stevedylan.dev/now/machines/</guid><description>Machines</description><pubDate>Thu, 02 Apr 2026 01:29:04 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;Once, men turned their thinking over to machines in the hope that this would set them free. But that only permitted other men with machines to enslave them. – Dune&lt;/p&gt;
&lt;/blockquote&gt;
</content:encoded></item><item><title>Migrating from lazy.nvim to vim.pack</title><link>https://stevedylan.dev/now/migrating-from-lazy-to-vim-pack/</link><guid isPermaLink="true">https://stevedylan.dev/now/migrating-from-lazy-to-vim-pack/</guid><description>Migrating from lazy.nvim to vim.pack</description><pubDate>Tue, 31 Mar 2026 15:21:11 GMT</pubDate><content:encoded>&lt;p&gt;Like many others who are upgrading to Neovim 0.12.0, I decided to give vim.pack a try by following the &lt;a href=&quot;https://echasnovski.com/blog/2026-03-13-a-guide-to-vim-pack&quot;&gt;excellent guide&lt;/a&gt; by Evgeni Chasnovski. I did encounter a few bumps that I figured I would document here just in case others find themselves stuck.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Symlinks - Bit more of a dummy move on my part, but I wasn’t paying attention to my symlink setup that maps my git controlled repo &lt;code&gt;~/dotfiles/nvim&lt;/code&gt; to &lt;code&gt;~/.config/nvim&lt;/code&gt; and ended up missing some new folders I created. Re-linking helped fixed this, so if you have this kind of setup keep in mind to do this!&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Multiple Folder Organization - Something I wanted to do originally is replicate the setup I had with lazy where each plugin was in it’s own file. This is possible vim.pack, but it requires using a &lt;code&gt;plugin&lt;/code&gt; directory that is adjacent to your &lt;code&gt;init.lua&lt;/code&gt; file. I have a slightly different structure where this style didn’t quite fit in, so I stuck with a single file setup instead.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Lazy Loading - The guide linked at the beginning has some great tips for how you can lazy load plugins based on different events, so I would highly recommend looking at which plugins don’t need to be loaded immediately or only need to be loaded while in insert mode. I was able to shave an extra 10ms off my startup time!&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Overall this resulted in a lean one file config for plugins that is only 117 lines long and has an average startup time of 35ms.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;-- ============================================================================
-- Colorscheme (must load at startup)
-- ============================================================================
vim.pack.add({
	&quot;https://github.com/stevedylandev/compline-nvim&quot;,
  &apos;https://github.com/echasnovski/mini.nvim&apos;,
})
vim.cmd.colorscheme(&apos;compline&apos;)

-- ============================================================================
-- Mini.nvim — startup modules
-- ============================================================================

local win_config = function()
  local height = math.floor(0.618 * vim.o.lines)
  local width = math.floor(0.618 * vim.o.columns)
  return {
    anchor = &apos;NW&apos;,
    height = height,
    width = width,
    row = math.floor(0.5 * (vim.o.lines - height)),
    col = math.floor(0.5 * (vim.o.columns - width)),
  }
end

require(&quot;mini.pick&quot;).setup({
  mappings = {
    choose_marked = &apos;&amp;lt;C-y&amp;gt;&apos;,
    move_down     = &apos;&amp;lt;C-j&amp;gt;&apos;,
    move_up       = &apos;&amp;lt;C-k&amp;gt;&apos;,
  },
  window = { config = win_config }
})

vim.api.nvim_set_hl(0, &quot;MiniPickMatchCurrent&quot;,
  { bg = vim.g.terminal_color_8
  })

require(&apos;mini.icons&apos;).setup()
vim.api.nvim_set_hl(0, &apos;MiniIconsAzure&apos;, { fg = vim.g.terminal_color_12 })
vim.api.nvim_set_hl(0, &apos;MiniIconsBlue&apos;, { fg = vim.g.terminal_color_4 })
vim.api.nvim_set_hl(0, &apos;MiniIconsCyan&apos;, { fg = vim.g.terminal_color_6 })
vim.api.nvim_set_hl(0, &apos;MiniIconsGreen&apos;, { fg = vim.g.terminal_color_2 })
vim.api.nvim_set_hl(0, &apos;MiniIconsGrey&apos;, { fg = vim.g.terminal_color_8 })
vim.api.nvim_set_hl(0, &apos;MiniIconsOrange&apos;, { fg = vim.g.terminal_color_3 })
vim.api.nvim_set_hl(0, &apos;MiniIconsPurple&apos;, { fg = vim.g.terminal_color_5 })
vim.api.nvim_set_hl(0, &apos;MiniIconsRed&apos;, { fg = vim.g.terminal_color_1 })
vim.api.nvim_set_hl(0, &apos;MiniIconsYellow&apos;, { fg = vim.g.terminal_color_11 })

require(&apos;mini.diff&apos;).setup({
  view = {
    style = vim.go.number and &apos;sign&apos; or &apos;number&apos;,

    signs = {
      add = &quot;+&quot;,
      change = &quot;~&quot;,
      delete = &quot;-&quot;,
      topdelete = &quot;&quot;,
      changedelete = &quot;▎&quot;,
      untracked = &quot;+&quot;
    },

    priority = 199,
  },
})
require(&apos;mini.statusline&apos;).setup()
require(&apos;mini.extra&apos;).setup()

-- ============================================================================
-- Deferred — loads right after startup via vim.schedule()
-- ============================================================================
vim.schedule(function()
  vim.pack.add({
    &quot;https://github.com/christoomey/vim-tmux-navigator&quot;,
  })

  require(&quot;mini.comment&quot;).setup({
    mappings = {
      comment = &apos;gb&apos;,
      comment_visual = &apos;gb&apos;,
      textobject = &apos;gb&apos;
    }
  })

  require(&apos;mini.surround&apos;).setup({
    mappings = {
      replace = &apos;cs&apos;, -- Replace surrounding
    },
  })

  require(&apos;mini.files&apos;).setup({
    mappings = {
      close      = &apos;&amp;lt;ESC&amp;gt;&apos;,
      go_in_plus = &apos;&amp;lt;CR&amp;gt;&apos;
    }
  })
end)

-- ============================================================================
-- Lazy — loads on InsertEnter
-- ============================================================================
vim.api.nvim_create_autocmd(&apos;InsertEnter&apos;, { once = true, callback = function()
  require(&quot;mini.completion&quot;).setup({
    mappings = {
      scroll_down = &apos;&amp;lt;C-j&amp;gt;&apos;,
      scroll_up = &apos;&amp;lt;C-k&amp;gt;&apos;,
    },
  })

  local gen_loader = require(&apos;mini.snippets&apos;).gen_loader
  require(&apos;mini.snippets&apos;).setup({
    snippets = {
      gen_loader.from_lang(),
    },
  })
  MiniSnippets.start_lsp_server()
end })
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;All of my dotfiles can be found at &lt;a href=&quot;https://github.com/stevedylandev/dotfiles&quot;&gt;github.com/stevedylandev/dotfiles&lt;/a&gt;!&lt;/p&gt;
</content:encoded></item><item><title>A Case for Birding</title><link>https://stevedylan.dev/now/a-case-for-birding/</link><guid isPermaLink="true">https://stevedylan.dev/now/a-case-for-birding/</guid><description>A Case for Birding</description><pubDate>Tue, 24 Mar 2026 23:55:39 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img src=&quot;https://posts.stevedylan.dev/files/N7szgNrp0m.jpeg&quot; alt=&quot;image&quot; /&gt;&lt;/p&gt;
&lt;p&gt;More people should get into bird watching (aka “birding”)&lt;/p&gt;
&lt;h2&gt;Why&lt;/h2&gt;
&lt;p&gt;The reasons are pretty simple:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Low effort&lt;/li&gt;
&lt;li&gt;Being outside&lt;/li&gt;
&lt;li&gt;Relaxing&lt;/li&gt;
&lt;li&gt;Fun&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you don’t enjoy any of these benefits I’m not sure what to tell you, other than somehow birding isn’t for you.&lt;/p&gt;
&lt;h2&gt;Get Started&lt;/h2&gt;
&lt;p&gt;If those benefits did resonate with you, here’s how easy it is to get started:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Go outside&lt;/li&gt;
&lt;li&gt;Look at birds&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Ok ok, here’s a few more layers that make it more enjoyable.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Reference&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Perhaps this should be a requirement, but a good reference helps you greater appreciate what exactly you’re looking at. This could be a classic bird field guide you can get at a bookstore, or the &lt;a href=&quot;https://merlin.allaboutbirds.org/&quot;&gt;Merlin Bird ID&lt;/a&gt; app. Being able to identify birds and the calls or sounds they make is a huge part of bird watching, and necessary for the next step.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Paper and Pen&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Get yourself a small notebook and a pen or pencil, then write down the birds you see. Keep the date you saw them, highlight when you saw a new bird for the first time, describe birds you couldn’t identify fully, document the weather and the mood that day, sketch birds you enjoy, the list goes on and on. Over time these become your small books of bird collections, and they’re fun to flip through in the future.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Bird Feeders&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If you have the place for one, a bird feeder can be one of the best investments you can make. Placing them in easy to view locations lets you watch birds often, making it easier to get familiar with the different kinds, their migration patterns, etc. Definitely get a bird feeder if you can!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Optics&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Saved for last due to how expensive they can be. Optics like binoculars are not required, but they sure do step up the game. As you start looking for harder to find birds, optics will help you catch some that stay way too high or distant for your eyes. Even at closer distances they’re fun to use as you get to enjoy birds more.&lt;/p&gt;
&lt;h2&gt;Small Things in Dark Times&lt;/h2&gt;
&lt;p&gt;It’s no secret that we’re going through a rough patch. Fear and anxiety are on the doorstep of many. We get sucked into endless news loops, people on platforms saying our jobs will be taken by AI in six months, all while bombs drop and the price of food and gas climb. Despite feeling hopeless, you know what you can do? Put down the phone, step outside, and look at a bird.&lt;/p&gt;
&lt;p&gt;The horrible things of this world won’t disappear, your problems don’t go away, however I wouldn’t label this break as an escape either. Humans aren’t designed to bear the weight of everything happening outside of their control. You can only do so much, and at least in my opinion, you’re meant to bear some of it in the context of time in nature and with community.&lt;/p&gt;
&lt;p&gt;You can’t solve every problem, but you can step outside, breath some fresh air, and cast your gaze upon a Yellow Rumped Warbler. When it flies away, you’re left feeling a bit lighter, ready to take another day standing tall.&lt;/p&gt;
&lt;p&gt;Go look at a bird.&lt;/p&gt;
</content:encoded></item><item><title>Captains Log 1774231082</title><link>https://stevedylan.dev/now/captains-log-1774231082/</link><guid isPermaLink="true">https://stevedylan.dev/now/captains-log-1774231082/</guid><description>Captains Log 1774231082</description><pubDate>Mon, 23 Mar 2026 02:24:12 GMT</pubDate><content:encoded>&lt;p&gt;Updates from the bridge:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Been meaning to take more photos as Spring has started, added some of them to &lt;a href=&quot;https://steve.photo&quot;&gt;steve.photo&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Did a lot of experimenting with keystroke dynamics as a way to authenticate human written content, but unfortunately I don’t think it will work out in the end. There were too many practical holes, like someone could just type out by hand what an AI created. Originally I was thinking it could be helpful for areas like education, to help keep the discipline of writing alive. Now I’m coming to terms that there’s not a lot we can do to stop people from using AI in these applications. Rather, time is better spent showing people &lt;em&gt;why&lt;/em&gt; writing is a discipline that should be respected.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Had a small hiatus from my progress in the Rust book but plan to get back into it this week. I will not give up this time lol&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Wanted to track my tea shipments, so I built something I’ve wanted for a long time: a &lt;a href=&quot;https://github.com/stevedylandev/parcels&quot;&gt;package tracker&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Tea I’ve been trying has been all over the place, but of course the pu’er has been probably some of my favorite. Second might be some oolong and black teas.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Will probably do a blog post on &lt;a href=&quot;https://kagi.com&quot;&gt;kagi.com&lt;/a&gt; soon; known about them forever but just now really seeing the value they bring to the ecosystem. Great stuff.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Until next time 🫡&lt;/p&gt;
</content:encoded></item><item><title>Native Treesitter in Neovim</title><link>https://stevedylan.dev/now/native-treesitter-in-neovim/</link><guid isPermaLink="true">https://stevedylan.dev/now/native-treesitter-in-neovim/</guid><description>Native Treesitter in Neovim</description><pubDate>Tue, 17 Mar 2026 23:26:50 GMT</pubDate><content:encoded>&lt;p&gt;As fate would have it, I make a blog post about &lt;a href=&quot;https://stevedylan.dev/posts/returning-to-neovim/&quot;&gt;returning to Neovim&lt;/a&gt;, and for some reason an update to nvim-treesitter breaks my ability to see syntax highlighting for nushell. A very small annoyance, but enough for me to replace it. I remember seeing this &lt;a href=&quot;https://boltless.me/posts/neovim-config-without-plugins-2025/&quot;&gt;awesome post&lt;/a&gt; by boltless so I knew it was possible. Turned out to be super simple!&lt;/p&gt;
&lt;p&gt;First I needed something to install the parsers. I ended up following boltless’ recommendation of using &lt;code&gt;luarocks&lt;/code&gt; and making a small script to automate installing necessary parsers:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;def tsi [parser: string] {
  let tree = $&quot;($env.HOME)/.local/share/nvim/site&quot;
  luarocks --lua-version=5.1 $&quot;--tree=($tree)&quot; install $&quot;tree-sitter-($parser)&quot;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Installing them is simple as &lt;code&gt;tsi rust&lt;/code&gt; or whichever language I need to grab. Next I needed to add these parsers to my packpath, so I added a new &lt;code&gt;treesitter.lua&lt;/code&gt; to &lt;code&gt;core&lt;/code&gt; with the following contents.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;-- Native treesitter parsers installed via luarocks
local rocks_path = vim.fn.stdpath(&quot;data&quot;) .. &quot;/site/lib/luarocks/rocks-5.1&quot;
for _, parser_dir in ipairs(vim.fn.glob(rocks_path .. &quot;/tree-sitter-*/*/&quot;, true, true)) do
  vim.opt.runtimepath:prepend(parser_dir)
end
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;One of the last steps is an &lt;code&gt;autocmd&lt;/code&gt; to start up tree sitter with the open buffer.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;vim.api.nvim_create_autocmd(&quot;FileType&quot;, {
    callback = function(ev)
        pcall(vim.treesitter.start, ev.buf)
    end
})
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;A nice small bonus: adding the following to &lt;code&gt;treesitter.lua&lt;/code&gt; lets me use folds with &lt;code&gt;za&lt;/code&gt;.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;vim.o.foldenable = true
vim.o.foldlevel = 99
vim.o.foldmethod = &quot;expr&quot;
vim.o.foldexpr = &quot;v:lua.vim.treesitter.foldexpr()&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Now everything works how I expect it to, and I’ve learned more about how treesitter works! Would also highly recommend &lt;a href=&quot;https://thevaluable.dev/tree-sitter-neovim-overview/&quot;&gt;this post&lt;/a&gt; that goes way deeper into the subject. Nothing beats the rush of solving a small problem to make my dev env faster and smoother!&lt;/p&gt;
</content:encoded></item><item><title>Keystroke Dynamics: My New Rabbit Hole</title><link>https://stevedylan.dev/now/keystroke-dynamics-rabbit-hole/</link><guid isPermaLink="true">https://stevedylan.dev/now/keystroke-dynamics-rabbit-hole/</guid><description>Keystroke Dynamics: My New Rabbit Hole</description><pubDate>Wed, 11 Mar 2026 00:15:28 GMT</pubDate><content:encoded>&lt;p&gt;Did a dangerous thing today and started thinking too much. Now I have an idea that I can’t get out of my head.&lt;/p&gt;
&lt;p&gt;My friend &lt;a href=&quot;https://iammatthias.com/&quot;&gt;@iammatthias&lt;/a&gt; shared &lt;a href=&quot;https://www.theamdash.com/&quot;&gt;theamdash.com&lt;/a&gt; with me today, and while it came out last year, this was my first time seeing it. It’s been hard to tell if the idea behind &lt;code&gt;am-&lt;/code&gt; was a joke, an artistic expression, an attempt at a solution to a real problem, or perhaps all of the above. Regardless, it got me thinking about what a real solution to determining AI vs Human created content in a digital world.&lt;/p&gt;
&lt;p&gt;A lot of the initial ideas that came to mind just weren’t good enough. There’s so much AI can do to imitate what a person creates, and we’ve all experienced it. Then I started to think less about the end product, and more about the process. AI will spit something out in a few seconds, while human writing takes much more time and thought. That’s when my sites turned to Keystroke Dynamics.&lt;/p&gt;
&lt;p&gt;When a person writes, there are natural pauses, breaks, or rhythms on the keyboard. These patterns actually become a source of identification, or in the field of keystroke dynamics, authentication. What if this was applied to provenance? What if there was a standard + essential libraries that make it possible to prove someone’s identity through their content on any platform?&lt;/p&gt;
&lt;p&gt;Down the rabbit hole we go&lt;/p&gt;
</content:encoded></item><item><title>Captains Log 1772509466</title><link>https://stevedylan.dev/now/captains-log-1772509466/</link><guid isPermaLink="true">https://stevedylan.dev/now/captains-log-1772509466/</guid><description>Captains Log 1772509466</description><pubDate>Tue, 03 Mar 2026 03:52:52 GMT</pubDate><content:encoded>&lt;p&gt;Some long overdue updates from the bridge:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Just finished Piranesi by Susanna Clarke; would highly recommend.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Started getting into loose leaf tea, specifically Chinese tea varieties thanks to a new local tea shop and YouTube. Current favorite is a Lapsang that smells like a campfire 🔥&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Lots of thoughts after publishing my last blog post on the topics of AI and programming. Might share more later.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Got to watch a pair of Pileated Woodpeckers for about 15 mins straight this weekend and it was delightful. Crazy lookin birds.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Displeased to see Zed’s TOC changes today, so much so I might be making a voyage back to Neovim. Feel like there’s some Zed features I could either replicate or rebuild if I need to.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Slowly making it further through the Rust book, made it further than I have before 😅 Determined to finish it and build some projects without AI assisted coding. Trying to find that balance and keep my mind/skills sharp. Will also likely write more about that later.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Until next time 🫡&lt;/p&gt;
</content:encoded></item><item><title>Sipp</title><link>https://stevedylan.dev/now/sipp/</link><guid isPermaLink="true">https://stevedylan.dev/now/sipp/</guid><description>Sipp</description><pubDate>Sat, 21 Feb 2026 17:24:58 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img src=&quot;https://files.stevedylan.dev/sipp-rust.png&quot; alt=&quot;cover&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I rewrote &lt;a href=&quot;https://sipp.so&quot;&gt;Sipp&lt;/a&gt; in Rust for the following reasons:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Memes&lt;/li&gt;
&lt;li&gt;Learning&lt;/li&gt;
&lt;li&gt;Fun&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;As the project went on, the rabbit hole became deeper and deeper. The result is a single binary around ~13MB that runs a web server / site, CLI, and TUI. It’s everything I’ve wanted in a code sharing tool, and perhaps more. Learned a bunch while working on this and I think I might be rust pilled now. The server only takes anywhere from 2MB to 10MB of ram to run, which is much more minimal than the previous Bun version that was around 60MB. The tooling and DX building this was insane, and I’m definitely interested to see what else I can build with it.&lt;/p&gt;
&lt;p&gt;Check out the repo &lt;a href=&quot;https://github.com/stevedylandev/sipp&quot;&gt;here&lt;/a&gt;, and after installing it you can try running the TUI with the hosted instance:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sipp -r https://sipp.so
&lt;/code&gt;&lt;/pre&gt;
</content:encoded></item><item><title>Cryptography Focused</title><link>https://stevedylan.dev/now/cryptography-focused/</link><guid isPermaLink="true">https://stevedylan.dev/now/cryptography-focused/</guid><description>Cryptography Focused</description><pubDate>Tue, 17 Feb 2026 04:46:14 GMT</pubDate><content:encoded>&lt;p&gt;Over the past few months I’ve been toying with what I should spend my free time on. My family always comes first, and then my day job. After that I generally have some left over curiosity and a desire to solve problems, hence my numerous side projects. Lately I’ve felt the weight of needing to solve bigger issues that have larger impact. I think a lot of my work on blogs, rss, and publishing on ATProto have some small value towards maintaining free speech and becoming less chronically online, but my sights are now turning towards cryptography.&lt;/p&gt;
&lt;p&gt;The right to privacy has come under attack more than ever these days, and I feel compelled to put up a fight. I’m certainly not qualified to be a researcher, but I do enjoy piecing together preexisting parts of a system. Even if I don’t end up contributing anything, I enjoy learning about it, and I’ve got nothing else to do ¯_(ツ)_/¯&lt;/p&gt;
&lt;p&gt;Will of course write about anything I end up working on as time goes on.&lt;/p&gt;
</content:encoded></item><item><title>Pencils</title><link>https://stevedylan.dev/now/pencils/</link><guid isPermaLink="true">https://stevedylan.dev/now/pencils/</guid><description>Pencils</description><pubDate>Fri, 13 Feb 2026 02:35:44 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img src=&quot;https://posts.stevedylan.dev/files/fglkFtj8f2.jpg&quot; alt=&quot;image&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I’ve been really into stationary lately, and my latest exploration is pencils. Current battle is between the Palomino Blackwing 602 and the Musgrave Pencil Company Tennessee Red.&lt;/p&gt;
&lt;p&gt;The Blackwings are pretty well known and you can find a bunch of stuff online about them, so I won’t linger on them too long. With my testing so far they definitely live up to the hype (at least in my opinion).&lt;/p&gt;
&lt;p&gt;The Tennessee Reds on the other hand seem to fly under the radar. The company is based out of Shelbyville TN (not too far from where I live) and they’re made out of Tennessee Red Cedar. The result is a pretty sturdy pencil that smells amazing when you sharpen it. The graphite looks similar to the Blackwings but I’m not sure I would say they write as well.&lt;/p&gt;
&lt;p&gt;There is something wonderful about the tactile feel of the graphite on some good paper, the sound, and the motion of sharpening it as it dulls. I can’t say it will replace my daily writing pens, but I do plan to use them at my desk for meetings and perhaps for sketching if I get back into it.&lt;/p&gt;
&lt;p&gt;Thanks for coming to my pencil talk 🤓&lt;/p&gt;
</content:encoded></item><item><title>The Strangers Case</title><link>https://stevedylan.dev/now/the-strangers-case/</link><guid isPermaLink="true">https://stevedylan.dev/now/the-strangers-case/</guid><description>The Strangers Case</description><pubDate>Fri, 06 Feb 2026 03:53:00 GMT</pubDate><content:encoded>&lt;p&gt;Grant them removed, and grant that this your noise&lt;br /&gt;
Hath chid down all the majesty of England;&lt;br /&gt;
Imagine that you see the wretched strangers,&lt;br /&gt;
Their babies at their backs and their poor luggage,&lt;br /&gt;
Plodding to the ports and coasts for transportation,&lt;br /&gt;
And that you sit as kings in your desires,&lt;br /&gt;
Authority quite silent by your brawl,&lt;br /&gt;
And you in ruff of your opinions clothed;&lt;br /&gt;
What had you got? I’ll tell you: you had taught&lt;br /&gt;
How insolence and strong hand should prevail,&lt;br /&gt;
How order should be quelled; and by this pattern&lt;/p&gt;
&lt;p&gt;Not one of you should live an agèd man,&lt;/p&gt;
&lt;p&gt;For other ruffians, as their fancies wrought,&lt;/p&gt;
&lt;p&gt;With self same hand, self reasons, and self right,&lt;/p&gt;
&lt;p&gt;Would shark on you, and men like ravenous fishes
Would feed on one another.
[…]
Say now the king,&lt;br /&gt;
As he is clement if th’offender mourn,&lt;br /&gt;
Should so much come too short of your great trespass&lt;br /&gt;
As but to banish you, whither would you go?&lt;/p&gt;
&lt;p&gt;What country, by the nature of your error,&lt;/p&gt;
&lt;p&gt;Should give you harbor? Go you to France or Flanders,&lt;/p&gt;
&lt;p&gt;To any German province, to Spain or Portugal,&lt;/p&gt;
&lt;p&gt;Nay, anywhere that not adheres to England,&lt;/p&gt;
&lt;p&gt;Why, you must needs be strangers: would you be pleased&lt;/p&gt;
&lt;p&gt;To find a nation of such barbarous temper,&lt;br /&gt;
That, breaking out in hideous violence,&lt;/p&gt;
&lt;p&gt;Would not afford you an abode on earth,&lt;/p&gt;
&lt;p&gt;Whet their detested knives against your throats,&lt;/p&gt;
&lt;p&gt;Spurn you like dogs, and like as if that God&lt;/p&gt;
&lt;p&gt;Owed not nor made not you, nor that the elements&lt;/p&gt;
&lt;p&gt;Were not all appropriate to your comforts,&lt;/p&gt;
&lt;p&gt;But chartered unto them, what would you think&lt;/p&gt;
&lt;p&gt;To be thus used? This is the strangers’ case;&lt;/p&gt;
&lt;p&gt;And this your mountainish inhumanity.&lt;/p&gt;
&lt;p&gt;– William Shakespeare, &lt;em&gt;Sir Thomas More&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://youtu.be/2l2RqzVG4ag?si=AC_ZlF08Bm1dvkVI&amp;amp;t=1392&quot;&gt;Ian McKellen Recital&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>The Bar-tailed Godwit</title><link>https://stevedylan.dev/now/the-bar-tailed-godwit/</link><guid isPermaLink="true">https://stevedylan.dev/now/the-bar-tailed-godwit/</guid><description>The Bar-tailed Godwit</description><pubDate>Sat, 31 Jan 2026 21:21:17 GMT</pubDate><content:encoded>&lt;p&gt;Behold, the Bar-tailed Godwit&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://files.stevedylan.dev/bar-tailed-godwit.jpg&quot; alt=&quot;godwit&quot; /&gt;&lt;/p&gt;
&lt;p&gt;This may look like a funny bird, but in reality it stands on business. Every year, the Bar-tailed Godwit makes a migration from New Zealand to the northern coast of ALASKA.&lt;/p&gt;
&lt;p&gt;Yes, that’s right&lt;/p&gt;
&lt;p&gt;7000 miles&lt;/p&gt;
&lt;p&gt;8-9 days&lt;/p&gt;
&lt;p&gt;No&lt;/p&gt;
&lt;p&gt;Stops&lt;/p&gt;
&lt;p&gt;That just blows my mind. This bird just flies with no food or water for over a week to fly from one side of the planet to the other. It just knows how to do that. Instinct guides it, pure will and determination keeps it in flight, just to bring about another generation of insane Bar-tailed Godwits.&lt;/p&gt;
&lt;p&gt;I think about the challenges I’ve faced in my own life, the temptation to give up when it gets really, really hard, yet I kept going. In those moments I thought I had it bad, but that was before I knew about this bird. Holy crap.&lt;/p&gt;
&lt;p&gt;Perspective is a powerful teacher, and my new favorite bird is the Bar-tailed Godwit.&lt;/p&gt;
</content:encoded></item><item><title>Experimenting with Svelte</title><link>https://stevedylan.dev/now/experimenting-with-svelte/</link><guid isPermaLink="true">https://stevedylan.dev/now/experimenting-with-svelte/</guid><description>Experimenting with Svelte</description><pubDate>Tue, 27 Jan 2026 03:34:31 GMT</pubDate><content:encoded>&lt;p&gt;I tried Svelte a long time ago and I always admired &lt;a href=&quot;https://youtu.be/kMlkCYL9qo0&quot;&gt;the story behind it&lt;/a&gt;, but I haven’t used it for a full project yet. Been seeing it more and more, and after re-watching the documentary, I decided to knock out a small weekend project. That ended up being a revamp of my personal photography website &lt;a href=&quot;https://steve.photo&quot;&gt;steve.photo&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://files.stevedylan.dev/steve-photo-new.jpg&quot; alt=&quot;screenshot&quot; /&gt;&lt;/p&gt;
&lt;p&gt;My previous version looked similar, but was nowhere near as efficient. I left the static site approach behind since it just was not efficient for the image sizes I wanted to use (1-2mb). I also wanted the ability to add/manage photos while on the go without needing to bust out my laptop. Started small, just getting the images and initial styles setup, then moved onto moving my photos to Cloudflare R2 and the metadata into D1. Then it was just a matter of adding some simple auth, uploads, exif extraction, and some other goodies like &lt;a href=&quot;https://steve.photo/rss.xml&quot;&gt;rss&lt;/a&gt; and progressive image loading (the thumbnails load first and then the full size, and then slowly loads more as you scroll).&lt;/p&gt;
&lt;p&gt;Overall really happy with how it turned out, and I gotta say, I love Svelte. It truly is more enjoyable, easier to read, and just feels like messy compared to something like React. My next big project might be rewriting my personal site… we’ll see 👀&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/stevedylandev/steve.photo&quot;&gt;GitHub&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://tangled.org/stevedylan.dev/steve.photo&quot;&gt;Tangled&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>The Peace of Wild Things</title><link>https://stevedylan.dev/now/the-peace-of-wild-things/</link><guid isPermaLink="true">https://stevedylan.dev/now/the-peace-of-wild-things/</guid><description>The Peace of Wild Things</description><pubDate>Sun, 25 Jan 2026 00:18:08 GMT</pubDate><content:encoded>&lt;p&gt;“When despair for the world grows in me&lt;br /&gt;
and I wake in the night at the least sound&lt;br /&gt;
in fear of what my life and my children’s lives might be,&lt;br /&gt;
I go and lie down where the wood drake&lt;br /&gt;
rests in his beauty on the water, and the great heron feeds.&lt;br /&gt;
I come into the peace of wild things&lt;br /&gt;
who do not tax their lives with forethought&lt;br /&gt;
of grief. I come into the presence  of still water.&lt;br /&gt;
And I feel above me the day-blind stars&lt;br /&gt;
waiting with their light. For a time&lt;br /&gt;
I rest in the grace of the world, and am free.”&lt;/p&gt;
&lt;p&gt;– Wendell Berry&lt;/p&gt;
</content:encoded></item><item><title>Captains Log 1768956564</title><link>https://stevedylan.dev/now/captains-log-1768956564/</link><guid isPermaLink="true">https://stevedylan.dev/now/captains-log-1768956564/</guid><description>Captains Log 1768956564</description><pubDate>Wed, 21 Jan 2026 00:55:34 GMT</pubDate><content:encoded>&lt;p&gt;Updates from the bridge:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Been insanely busy lately with work which has been great but has not given me much time to work on side projects or do any writing. Hoping to break that pattern soon and write up a post on &lt;a href=&quot;https://atproto.com&quot;&gt;ATProto&lt;/a&gt; and why I think it’s important.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Someone &lt;a href=&quot;https://bsky.app/profile/disnetdev.com/post/3mcutbpkn722x&quot;&gt;recently launched&lt;/a&gt; a new RSS reader on ATProto that stores subscriptions on your PDS; brilliant!&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Prepping for a wicked winter storm this weekend. Apparently the mice are also prepping by getting into our house:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Sunday: found a dead mouse next to the couch. Cats 1 Mice 0.&lt;/li&gt;
&lt;li&gt;Monday: mouse hid behind a kid play kitchen, was able to catch it in our mouse trap and release it a few miles up the mountain (you have to otherwise they’ll come back). Cats 1 Mice 1.&lt;/li&gt;
&lt;li&gt;Today: mouse was hiding in a boot, cat was pretty close to getting it. Shook the boot and got the mouse into the trap, released up the mountain. Cats 1 Mice 2.
Hoping we don’t have to keep playing literal cat and mouse for the rest of the week lol.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Until next time 🫡&lt;/p&gt;
</content:encoded></item><item><title>Juno Mission</title><link>https://stevedylan.dev/now/juno-mission/</link><guid isPermaLink="true">https://stevedylan.dev/now/juno-mission/</guid><description>Juno Mission</description><pubDate>Sun, 18 Jan 2026 03:32:54 GMT</pubDate><content:encoded>&lt;p&gt;Around July 4th 2016, the Juno spacecraft started it’s orbit around Jupiter. Its still there, gathering data, including images.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://files.stevedylan.dev/juno-jupiter.jpg&quot; alt=&quot;jupiter&quot; /&gt;&lt;/p&gt;
&lt;p&gt;They’re absolutely insane. You should &lt;a href=&quot;https://science.nasa.gov/gallery/junocam-images/&quot;&gt;check them out&lt;/a&gt; and get your mind blown by the universe.&lt;/p&gt;
</content:encoded></item><item><title>Good Days</title><link>https://stevedylan.dev/now/good-days/</link><guid isPermaLink="true">https://stevedylan.dev/now/good-days/</guid><description>Good Days</description><pubDate>Fri, 16 Jan 2026 00:47:53 GMT</pubDate><content:encoded>&lt;p&gt;Yesterday was a really good day&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://files.stevedylan.dev/japanese-jazz.jpeg&quot; alt=&quot;image&quot; /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Work was steady but learned a lot and it felt productive&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Had a great bird list, even got to see another Yellow Bellied Sapsucker&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Got some awesome Jazz records, especially this one (pictured above)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Visited our local wine shop to pick up a bottle for cooking, had a great conversation with the owner Matt (I usually do, great dude)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;My wife used the wine to make a pumpkin bolognese which was out of this world (especially with the extra wine and jazz music to go with it)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Played legos with my kids until it was bedtime&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I love good days, but I can also appreciate days like today that were “meh.” James Hoffman, known coffee expert, once did a &lt;a href=&quot;https://youtu.be/tU1y7hBSgiY&quot;&gt;great video&lt;/a&gt; about learning to taste coffee. A point he makes is that its ok to have “bad coffee” or “ok coffee.” If you do nothing but pursue the highest grade coffee that always tastes amazing, the definition of amazing changes.&lt;/p&gt;
&lt;p&gt;Our measure of good is based on the contrast of bad; they must coexist in order for each to exist at all. That’s always been a beautiful truth to me, and so I take note of the good, and the bad as I experience them. It’s important to me that I remember both, maintain contrast, and appreciate both in tandem.&lt;/p&gt;
</content:encoded></item></channel></rss>