<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>nirak.net</title>
	<atom:link href="https://nirak.net/feed/" rel="self" type="application/rss+xml" />
	<link>https://nirak.net</link>
	<description></description>
	<lastBuildDate>Sat, 13 Jun 2026 18:17:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.4</generator>
	<item>
		<title>Somewhere in the middle with AI (LLM&#8217;s): a case study</title>
		<link>https://nirak.net/2026/somewhere-in-the-middle-with-ai-llms-a-case-study/</link>
		
		<dc:creator><![CDATA[Karin Dalziel]]></dc:creator>
		<pubDate>Sat, 13 Jun 2026 15:38:29 +0000</pubDate>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[ai]]></category>
		<category><![CDATA[llm]]></category>
		<category><![CDATA[technology]]></category>
		<guid isPermaLink="false">https://nirak.net/?p=308</guid>

					<description><![CDATA[Note: I did not use API to write this post, nor do I use it for any writing I publish. That said, sorry about any typos. I have been swinging wildly between really hating AI/LLM&#8217;s (data centers, giving oligarchs cover for shifting wealth upwards, uncontrolled experiments on the entire world&#8217;s psyche) and being kinda excited [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Note: I did not use API to write this post, nor do I use it for any writing I publish. That said, sorry about any typos.</p>
<p>I have been swinging wildly between really hating AI/LLM&#8217;s (data centers, giving oligarchs cover for shifting wealth upwards, uncontrolled experiments on the entire world&#8217;s psyche) and being kinda excited about the possibilities (helping with various disabilities, trying out ideas quickly, being a learning partner). It&#8217;s an uncomfortable place to live.</p>
<p>As a manager of technical staff, I can&#8217;t just ignore the technology. I have some employees who have yet not found a use for the tech at all, and are doing great without it. Some have found it useful as souped up documentation. Others have used it as a coding partner, carefully checking output every step of the way. One person has explored local models to transcribe and describe materials to great success. A small team is remediating hundreds of thousands of documents for better accessibility using AI coupled with API&#8217;s.</p>
<p>So, I felt I should really try out one of the coding apps, and subscribed to Claude Code at the $20 level for a month. I have a few goals for the month. One is to evaluate just what the tech can do at this level, since the prices will likely go up anyway and this is probably the level we would utilize. Another goal is to document pitfalls and things to look out for. But one goal I had was just to play around with it to see what I could accomplish.</p>
<h2>The App Idea</h2>
<p>I have had an app idea in my head for years now: a food tracking app with no mention of calories, which tracks only the things I am interested in, and that my and my partner&#8217;s doctors have talked to us about: Fiber, Protein, and Fruits/Veggies consumed per day. I created a version of this app in Airtable some time ago, but due to limitations with Airtable data entry was still somewhat clunky and I was nearing the &#8220;free&#8221; tier usage limits, so I stopped using it. I tried to port it to baserow without success (the functions didn&#8217;t come through right, the data entry was still clunky).</p>
<p>The core of the idea was present in Airtable though: the data tables, the calculations, the data which would and wouldn&#8217;t be collected.</p>
<figure id="attachment_309" aria-describedby="caption-attachment-309" style="width: 640px" class="wp-caption alignnone"><img fetchpriority="high" decoding="async" class="size-large wp-image-309" src="https://nirak.net/wp-content/uploads/2026/06/foodtracking-1024x692.jpg" alt="Screenshot of Airtable interface, description in caption" width="640" height="433" srcset="https://nirak.net/wp-content/uploads/2026/06/foodtracking-1024x692.jpg 1024w, https://nirak.net/wp-content/uploads/2026/06/foodtracking-600x406.jpg 600w, https://nirak.net/wp-content/uploads/2026/06/foodtracking-768x519.jpg 768w, https://nirak.net/wp-content/uploads/2026/06/foodtracking-1536x1039.jpg 1536w, https://nirak.net/wp-content/uploads/2026/06/foodtracking.jpg 1600w" sizes="(max-width: 640px) 100vw, 640px" /><figcaption id="caption-attachment-309" class="wp-caption-text">The Airtable base contained tables for ingredients and foods, portions, goals, and days, and I had quite a bit of data already entered for foods I regularly consume.</figcaption></figure>
<p>&nbsp;</p>
<figure id="attachment_310" aria-describedby="caption-attachment-310" style="width: 640px" class="wp-caption alignnone"><img decoding="async" class="size-large wp-image-310" src="https://nirak.net/wp-content/uploads/2026/06/goals-foodtracking-1024x264.jpg" alt="Screenshot from Airtable, description in caption" width="640" height="165" srcset="https://nirak.net/wp-content/uploads/2026/06/goals-foodtracking-1024x264.jpg 1024w, https://nirak.net/wp-content/uploads/2026/06/goals-foodtracking-600x155.jpg 600w, https://nirak.net/wp-content/uploads/2026/06/goals-foodtracking-768x198.jpg 768w, https://nirak.net/wp-content/uploads/2026/06/goals-foodtracking-1536x396.jpg 1536w, https://nirak.net/wp-content/uploads/2026/06/goals-foodtracking.jpg 1600w" sizes="(max-width: 640px) 100vw, 640px" /><figcaption id="caption-attachment-310" class="wp-caption-text">A spreadsheet like view in Airtable shows the date, the foods consumed in that day, the calculated values of foods consumed, and a little &#8220;visualization&#8221; using an airtable Function outputting emoji&#8217;s.</figcaption></figure>
<p>The base of what I wanted was in the Airtable base, but I couldn&#8217;t get to the next step. I actually spent some time sketching out what I would want in a standalone app, but decided it would take too long to implement.</p>
<p>Compare this with apps like myfitnesspal: They collect a bunch of mandatory data they use to &#8220;calculate your values&#8221; and share it with who knows who. You have to sign up with an account through them, tying your information to an email address. After you sign up, the main indicator presented is caloric values. It takes way more steps to get to simple food entry.</p>
<h2>Food+ Creation</h2>
<p>With all this in mind, I spent a couple of days &#8220;building&#8221; an app based on my Airtable base. This was a nice test because I had already pretty fully considered the data model for the app, had a good idea of what I wanted the end product to look like, and had a limited scope. I also have a shared web server I could deploy the app at, which guided the decision to use PHP to build the app, as well as an SQL lite database for maximum portability and ease of setup.</p>
<p>I began by creating a &#8220;Personal Access Token&#8221; (read only) to the Airtable base, adding that to an airtable.txt file, creating a claude.md file with my basic app constraints, and letting it loose. This is what I originally had in my claude.md file:</p>
<div>
<pre>## Airtable

Airtable access token is in the file airtable.txt, along with the base name

## Application design

- The goal is to duplicate the basic functionality of the airtable base with a PHP/SQL Lite application I can put on my webserver.
- No account management is needed at this time.
- The application should have a clean and modern interface, work well on a mobile phone, and should prioritize ease of data entry.
- The application should have the ability to export data as a csv.
- The application should be allow entry of new foods and meals with values.
- At this time, any data about food will be manually entered.</pre>
</div>
<p>I could have done a lot more here, but I wanted to start fairly simply and see how much it could infer from the Airtable structure. The initial outcome would have been better if I had included mentions about security and accessibility in this file.</p>
<p>I went through the following basic iterations with the app:</p>
<h3>1: Basic access and building questions</h3>
<p>When I created the Airtable access token, I did not include access to the base schema, which limited the amount the app could infer about the functionality. Claude noticed this and notified me when reading the initial files. Claude also came back with a few basic questions, which were pretty spot on &#8211; some things I had added to work around Airtable limitations weren&#8217;t needed in this format, and Claude asked if it could remove them. It wasn&#8217;t perfect though, Claude missed the meal implementation originally.</p>
<h3>2: Ingesting Airtable Data</h3>
<p>I had included instructions about data export in my initial instructions, but no instructions for data import. So I worked on a data import feature, and had claude format the Airtable Data as a single CSV I could import. This proved enormously useful for continued testing, as I could slurp in real data really quick once this was done.</p>
<h3>3: Feature iteration</h3>
<p>I asked it to add values to the URL that would help with bookmarking on my phone for data entry.</p>
<p>I added a food lookup feature using the USDA API, and Claude walked me through signing up for an API key, etc. Claude originally added my API key to a config file in the code, I asked it to ask for the API key on startup instead. I also added a way in the GUI to change the API key later if necessary.</p>
<p>I added a very basic user management feature, so my partner can also track food if they wish. Claude was Very Concerned that I wasn&#8217;t setting a password for the app or for each user (I have initially put the app behind an apache passworded folder, so have not implemented any passwording in app).</p>
<p>I added the ability to change color of the header per user, mostly for easy visual differentiation between users.</p>
<h3>4: Bug squashing</h3>
<p>During initial development, I was using MAMP to serve files locally. Once I got the app to a good place, I started testing on my host (shoutout to <a href="https://www.reclaimhosting.com">Reclaim Hosting</a>!) I created a subdirectory, added an apache password, and set the PHP version for that folder to 8.3. The initial upload resulted in an error, I checked the logs in cpanel, pasted in the error, and it made changes to my .htaccess files and php.ini to make the app work with my webserver. It worked!</p>
<p>I then started using it from my phone to enter real data, which immediately turned up some minor bugs, which I worked through. These were things like inconsistent data entry of foods on the food page vs the log page, too many decimal places, and content that scrolled off a mobile screen.</p>
<p>Times were incorrect initially, working off the server time instead of my time. When testing on my computer, this bug wasn&#8217;t apparent, because it was set to my time rather than UTC. It took a few iterations to get this correct, and I am still not sure I chose the correct implementation (I went with using the browser to set the time, because that would update if I travel, but I fully expect to run into more bugs.)</p>
<h2>App Tour</h2>
<p>So here&#8217;s the final app. I am quite happy with it, and hope it will help me with some health issues I have been dealing with.</p>
<figure id="attachment_312" aria-describedby="caption-attachment-312" style="width: 576px" class="wp-caption alignnone"><img decoding="async" class="size-large wp-image-312" src="https://nirak.net/wp-content/uploads/2026/06/today-576x1024.jpg" alt="screenshot of &quot;today&quot; screen from &quot;Food+&quot; app" width="576" height="1024" srcset="https://nirak.net/wp-content/uploads/2026/06/today-576x1024.jpg 576w, https://nirak.net/wp-content/uploads/2026/06/today-337x600.jpg 337w, https://nirak.net/wp-content/uploads/2026/06/today.jpg 750w" sizes="(max-width: 576px) 100vw, 576px" /><figcaption id="caption-attachment-312" class="wp-caption-text">the Today screen lists any food consumed that day, with graphs that indicate progress towards daily goals (set in user settings). This view shows I have consumed one bowl of fiber one cereal today, which got me most of the way towards my fiber goal.</figcaption></figure>
<p>&nbsp;</p>
<figure id="attachment_313" aria-describedby="caption-attachment-313" style="width: 576px" class="wp-caption alignnone"><img loading="lazy" decoding="async" class="size-large wp-image-313" src="https://nirak.net/wp-content/uploads/2026/06/log-meal-576x1024.jpg" alt="Screenshot of &quot;Food+&quot; app, Log meal screen" width="576" height="1024" srcset="https://nirak.net/wp-content/uploads/2026/06/log-meal-576x1024.jpg 576w, https://nirak.net/wp-content/uploads/2026/06/log-meal-337x600.jpg 337w, https://nirak.net/wp-content/uploads/2026/06/log-meal.jpg 750w" sizes="auto, (max-width: 576px) 100vw, 576px" /><figcaption id="caption-attachment-313" class="wp-caption-text">The Log meal screen allows you to enter saved meals (for ease of data entry) or individual foods per meal. The date and time is automatically set but can be changed, and there is a notes field to save additional info. The user can enter in just the notes if they want and add nutrition data/foods later.</figcaption></figure>
<figure id="attachment_314" aria-describedby="caption-attachment-314" style="width: 576px" class="wp-caption alignnone"><img loading="lazy" decoding="async" class="size-large wp-image-314" src="https://nirak.net/wp-content/uploads/2026/06/food-lookup-576x1024.jpg" alt="Screenshot of the &quot;Food+&quot; app, with food lookup" width="576" height="1024" srcset="https://nirak.net/wp-content/uploads/2026/06/food-lookup-576x1024.jpg 576w, https://nirak.net/wp-content/uploads/2026/06/food-lookup-337x600.jpg 337w, https://nirak.net/wp-content/uploads/2026/06/food-lookup.jpg 750w" sizes="auto, (max-width: 576px) 100vw, 576px" /><figcaption id="caption-attachment-314" class="wp-caption-text">The app will let you search the USDA foods API to gather basic nutrition information. This implementation is a little meh right now, and I would love to work on better portion awareness, but that would require another API connection. Claude was helpful in discussing which API&#8217;s I might connect to for dietary info.</figcaption></figure>
<figure id="attachment_315" aria-describedby="caption-attachment-315" style="width: 576px" class="wp-caption alignnone"><img loading="lazy" decoding="async" class="size-large wp-image-315" src="https://nirak.net/wp-content/uploads/2026/06/reports-view-576x1024.jpg" alt="The &quot;reports&quot; page of the &quot;Food+&quot; app" width="576" height="1024" srcset="https://nirak.net/wp-content/uploads/2026/06/reports-view-576x1024.jpg 576w, https://nirak.net/wp-content/uploads/2026/06/reports-view-337x600.jpg 337w, https://nirak.net/wp-content/uploads/2026/06/reports-view.jpg 750w" sizes="auto, (max-width: 576px) 100vw, 576px" /><figcaption id="caption-attachment-315" class="wp-caption-text">The reports view lets you browse by day, and shows a cumulative progress by week graph.</figcaption></figure>
<figure id="attachment_316" aria-describedby="caption-attachment-316" style="width: 576px" class="wp-caption alignnone"><img loading="lazy" decoding="async" class="size-large wp-image-316" src="https://nirak.net/wp-content/uploads/2026/06/foods-list-576x1024.jpg" alt="The foods page of the &quot;Food+&quot; app." width="576" height="1024" srcset="https://nirak.net/wp-content/uploads/2026/06/foods-list-576x1024.jpg 576w, https://nirak.net/wp-content/uploads/2026/06/foods-list-337x600.jpg 337w, https://nirak.net/wp-content/uploads/2026/06/foods-list.jpg 750w" sizes="auto, (max-width: 576px) 100vw, 576px" /><figcaption id="caption-attachment-316" class="wp-caption-text">The foods page lets you browse your list of foods and make changes. If you change nutritional values for foods, all progress bars, etc, will be updated.</figcaption></figure>
<figure id="attachment_317" aria-describedby="caption-attachment-317" style="width: 576px" class="wp-caption alignnone"><img loading="lazy" decoding="async" class="size-large wp-image-317" src="https://nirak.net/wp-content/uploads/2026/06/people-and-goals-576x1024.jpg" alt="Settings of &quot;Food+&quot; app, with user &quot;Karin&quot; selected" width="576" height="1024" srcset="https://nirak.net/wp-content/uploads/2026/06/people-and-goals-576x1024.jpg 576w, https://nirak.net/wp-content/uploads/2026/06/people-and-goals-337x600.jpg 337w, https://nirak.net/wp-content/uploads/2026/06/people-and-goals.jpg 750w" sizes="auto, (max-width: 576px) 100vw, 576px" /><figcaption id="caption-attachment-317" class="wp-caption-text">The settings page allows the user to add goals, and set the color of the header.</figcaption></figure>
<figure id="attachment_318" aria-describedby="caption-attachment-318" style="width: 576px" class="wp-caption alignnone"><img loading="lazy" decoding="async" class="size-large wp-image-318" src="https://nirak.net/wp-content/uploads/2026/06/api-key-and-export-576x1024.jpg" alt=" scrolled down view of the &quot;settings&quot; screen ont he &quot;Food+&quot; app" width="576" height="1024" srcset="https://nirak.net/wp-content/uploads/2026/06/api-key-and-export-576x1024.jpg 576w, https://nirak.net/wp-content/uploads/2026/06/api-key-and-export-337x600.jpg 337w, https://nirak.net/wp-content/uploads/2026/06/api-key-and-export.jpg 750w" sizes="auto, (max-width: 576px) 100vw, 576px" /><figcaption id="caption-attachment-318" class="wp-caption-text">Further down the settings page, you can set the API key and import/export data.</figcaption></figure>
<h2>What&#8217;s Next?</h2>
<p>There are a few minor changes I would like to make (ability to inspect and add meals, for one) but overall, I am really happy with where this ended up, and look forward to continuing to use it for tracking my diet. If I want to track something more later, like added sugar, I can update all the values in already saved foods and get reports based on past data entry.</p>
<p>I would be interested in creating a version that is a standalone web app (using the browsers&#8217; database storage), but this isn&#8217;t as necessary for my use.</p>
<p>Mostly, though, I consider this project done, and it will live on my (piece of a) server collecting my data.</p>
<p>I have cancelled the claude subscription but will continue to use it for a few work tasks until I get cut off.</p>
<p>I&#8217;m interested in local models but only have 8gb of ram.</p>
<h2>Lessons</h2>
<p>Having basic web building experience really helped, though I suspect Claude could have walked me through most potential snags (like where to find logs in cpanel if necessary.)</p>
<p>I learned I always need to start my prompts with the basics of good website design: security, accessibility, etc.</p>
<p>While I probably could have built this app over many months, I also probably never would have.</p>
<p>So far, my experimentation has solidified what I was already thinking- that Claude code, at least, works best with a human looking at every step, to correct when the bot <del>makes</del> generates incorrect <del>decisions</del> code.</p>
<p>Instructing Claude to not talk like a human, not say things like &#8220;you’re absolutely right&#8221; and to be simple and direct really helps with my squicky feelings using it. Similarly, I had to work at not &#8220;talking&#8221; at it like it&#8217;s human, i.e. instead of saying &#8220;could you do x&#8221; just saying &#8220;generate x&#8221; instead (see corrections above <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f606.png" alt="😆" class="wp-smiley" style="height: 1em; max-height: 1em;" /> ).</p>
<p>The app didn&#8217;t use near as much of my Claude usage as I thought it would. I came near the usage limit for a 6 hour period once, but my usage for the week I built the app in is only 30% of the total allowed. Sonnet 4.6 on &#8220;low&#8221; worked fine.</p>
<h2>The code</h2>
<p>My code, FWIW, is on <a href="https://github.com/karindalziel/food">GitHub (Food+).</a> I make no representations about this being good code, but it is code that does a thing that&#8217;s useful to me.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>The Fediverse: Thousands of Social Networks in a Trenchcoat</title>
		<link>https://nirak.net/2025/fediverse/</link>
		
		<dc:creator><![CDATA[Karin Dalziel]]></dc:creator>
		<pubDate>Mon, 02 Jun 2025 16:37:05 +0000</pubDate>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[mastodon]]></category>
		<guid isPermaLink="false">https://nirak.net/?p=298</guid>

					<description><![CDATA[I made a lightning talk at work about the Fediverse, the content of which is below. The Fediverse The &#8220;Fediverse&#8221; is a collection of sites (or &#8220;instances&#8221;) that communicate with each other using a common protocol (called &#8220;ActivityPub&#8220;), so you can send messages from one site to another, even if they are running different software. [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>I made a lightning talk at work about the Fediverse, the content of which is below.</p>
<p><img loading="lazy" decoding="async" class="alignnone size-large wp-image-301" src="https://nirak.net/wp-content/uploads/2025/05/Fediverse-1-1024x576.jpg" alt="A slide for my presentation, it is all hand lettered except for a QR code and URL of this blog post in the middle. The 4 quadrants contain info that are detailed later in this blog post." width="640" height="360" srcset="https://nirak.net/wp-content/uploads/2025/05/Fediverse-1-1024x576.jpg 1024w, https://nirak.net/wp-content/uploads/2025/05/Fediverse-1-600x338.jpg 600w, https://nirak.net/wp-content/uploads/2025/05/Fediverse-1-768x432.jpg 768w, https://nirak.net/wp-content/uploads/2025/05/Fediverse-1-1536x864.jpg 1536w, https://nirak.net/wp-content/uploads/2025/05/Fediverse-1.jpg 1600w" sizes="auto, (max-width: 640px) 100vw, 640px" /></p>
<h2>The Fediverse</h2>
<p>The &#8220;Fediverse&#8221; is a collection of sites (or &#8220;instances&#8221;) that communicate with each other using a common protocol (called &#8220;<a href="https://activitypub.rocks">ActivityPub</a>&#8220;), so you can send messages from one site to another, even if they are running different software.</p>
<p>You can think of it a little like email: people from different instances running different software can talk to each other, using the same protocol. Kind of like you can email someone at gmail.com from outlook.com.</p>
<p>Usernames look like: @nirak@lincolnite.net. @nirak is my username, @lincolnite.net is the instance. It&#8217;s nice not competing with millions of people for a user handle.</p>
<h2>Fediverse Software</h2>
<p>Any software that can output ActivityPub compliant feeds can be &#8220;fediverse software&#8221; and many content management systems like WordPress and Drupal have added ways to publish content to the Fediverse via ActivityPub. But there&#8217;s also software that lets you maintain a whole social network focused on different things. A few notable examples:</p>
<ul>
<li><strong>Pixelfed</strong> is like instagram</li>
<li><strong>Peertube</strong> is like youtube</li>
<li><strong>Lemmy</strong> is like reddit</li>
<li><strong>Misskey </strong>and <strong>Pleroma </strong>are for microblogging</li>
<li><strong>Friendica </strong>is like Facebook</li>
</ul>
<p>Finally, the software I am most familiar with, <strong>Mastodon</strong>, is another microblogging platform similar to Twitter (RIP) or Bluesky.</p>
<h2>Fediverse Instances</h2>
<p>In order to &#8220;join the Fediverse&#8221; you sign up at one or more instances, and from there you can talk to people on other instances*. Since anyone** can create an instance, there are a ton of specialty sites for different purposes. The sites I mention below are local, academic, and library centered, but you can find more at <a href="https://fedidb.com/servers">fedidb.com/servers</a> or search for &#8220;mastodon instance directory&#8221; or &#8220;fediverse instance directory&#8221;.</p>
<ul>
<li><a href="https://lincolnite.net">lincolnite.net</a> &#8211; the instance I created for folks from Lincoln, Nebraska</li>
<li><a href="https://carhenge.club">carhenge.club</a> &#8211; for people from Nebraska or people who love Carhenge</li>
<li><a href="https://digipres.club">digipres.club</a> &#8211; all things Digital Preservation</li>
<li><a href="https://glammr.us">glammr.us</a> &#8211; for those in &#8220;GLAM&#8221; &#8211; Galleries, Libraries, Archives, and Museums</li>
<li><a href="https://code4lib.social">code4lib.social</a> &#8211; for people who write code in libraries</li>
<li><a href="https://archaeo.social">archaeo.social</a> &#8211; for Archeologists</li>
<li><a href="https://hcommons.social">hcommons.social</a> &#8211; for academic humanists</li>
<li><a href="https://mastodon.social">mastodon.social</a> &#8211; the big flagship general purpose instance. Can be good for finding people</li>
</ul>
<p>Sorry if I missed your favorite, there are way too many to list every one!</p>
<p>Instances can be closed or open. Many smaller instances are closed by default, which just means that registrations must be manually reviewed. On lincolnite.net, for instance, which I run, I say &#8220;Sign-ups on lincolnite.net go through manual review by our moderators. To help us process your registration, write a bit about yourself and why you want an account on lincolnite.net.&#8221; Many moderators do this so sites are not inundated with spam bots.  Some of the bigger instances like mastodon.social have open signups, and more of a spam problem.</p>
<p>Other sites can interoperate with Mastodon/Fediverse instances. Threads has added an option for users to be able to federate with the fediverse, Tumblr is promising interoperability, and you can talk to people on Bluesky by using an intermediary piece of software called a &#8220;bridge.&#8221;</p>
<p>On Mastodon, you can migrate your account, along with people you follow and followers (i.e. your social graph) to another instance, but you can&#8217;t port your posts. Other software may vary.</p>
<p>* Though the instances can also block each other, severing connections. This may happen due to spam or abusive users.</p>
<p>** Though technical ability is required to install the software to create an instance, you can also pay for an all in one host that takes care of it all, which is what I currently do.</p>
<h2>Fediverse Celebrities</h2>
<p>Celebrities join mastodon sometimes, but few stay. Whether this is an advantage or disadvantage is a matter of opinion. George Takei is one of the few actual celebrities I still see interact on Mastodon. Locally, RustyWX, the channel 8 weather guy is on Lincolnite.net. I have also included <a href="https://mastodon.social/@lisamelton">Lisa Melton</a>, who boosts a great deal of posts from a wide variety of users, so she is a great person to follow.</p>
<p>Besides following people, users can follow hashtags. So if you follow, for instance, #dogs, you will see all the posts your instance sees (<a href="https://mastodon.help/en#HowFederationWorksPractice">more on that at mastodon.help</a>) that contain the hashtag #dogs. This can be useful, especially in the beginning when you aren&#8217;t following many people. Unlike most other social networks, Mastodon won&#8217;t push random people into your feed, so initially it can be a bit sparse.</p>
<h2>Fediverse Memes</h2>
<p>Like any internet subculture, the Fediverse and Mastodon have their own memes and in jokes. Like any good social network, much of the discourse is about how much room for improvement there is in the software and the culture. So memes like &#8220;This is fine!&#8221; are common. Mastodon/the Fediverse is very techy heavy, so Linux is popular. We also have a good deal of blind users, and there is a culture of trying to be accessible, so don&#8217;t be surprised if you are gently reminded you forgot alt text on your images. We have exactly one spammer we all share, &#8220;Nicole the Fediverse chick.&#8221; (joke, it&#8217;s just a common spam tactic, not the only one). We have imagined origin stories involving John and Joan Mastodon (originating from an article that mistakenly named the creator of the Mastodon software as &#8220;John Mastodon&#8221;). Finally, there&#8217;s a lot of commentary about how weird everyone is, which is a plus or minus depending on your love of weirdness (definitely a plus for me).</p>
<h2>Where to find me</h2>
<p>I started a mastodon instance called <a href="https://lincolnite.net/">Lincolnite.net</a>, and you can find me there at <a href="https://lincolnite.net/@nirak">@nirak@lincolnite.ne</a>t. If you are from Lincoln, Nebraska, please do ask to join and I will approve ASAP.</p>
<p>I am also on <a href="https://carhenge.club">carhenge.club</a>, started by my friend <a href="https://skiles.blue">John Skiles Skinner</a>, for all things Nebraska related. I am <a href="https://carhenge.club/@nirak">@nirak@carhenge.club</a> there.</p>
<p>Finally, for library/work related things, I am on <a href="https://hcommons.social/">hcommons.social</a>. Run out of Michigan State University along with the <a href="https://hcommons.org">Knowledge Commons</a>, this instance provides humanities scholars with a place to connect. I am at (you can probably guess) <a href="https://hcommons.social/@nirak">@nirak@hcommons.social</a>.</p>
<h2>Some Links</h2>
<ul>
<li><a href="https://flyovercountry.social/@deafferret">Jay Hannah</a>&#8216;s <a href="https://notes.jays.net/blog/mastodon/">Post about Mastodon</a></li>
<li><a href="https://carhenge.club/@nirak/114580884838873134">Thread on Mastodon Memes</a></li>
<li><a href="https://joinmastodon.org">Join Mastodon</a></li>
<li><a href="https://mastodon.help">Mastodon User Guide</a></li>
</ul>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Getting used to impermanence</title>
		<link>https://nirak.net/2025/getting-used-to-impermanence/</link>
		
		<dc:creator><![CDATA[Karin Dalziel]]></dc:creator>
		<pubDate>Thu, 24 Apr 2025 21:52:26 +0000</pubDate>
				<category><![CDATA[Tech]]></category>
		<guid isPermaLink="false">https://nirak.net/?p=290</guid>

					<description><![CDATA[In 2022, I gave up on Twitter. I joined Twitter in 2008, along with a bunch of other library types, and the early years were great. When Twitter was down (often) in the early years as it grew, we swarmed to other services like &#8220;Plurk&#8221; and then swarmed back when Twitter was back up. One [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>In 2022, I gave up on Twitter. I joined Twitter in 2008, along with a bunch of other library types, and the early years were great. When Twitter was down (often) in the early years as it grew, we swarmed to other services like &#8220;Plurk&#8221; and then swarmed back when Twitter was back up. One of the other places we swarmed was Friendfeed, which I still really miss. It had a wonderful mix of content, thanks to relying on plain ol&#8217; RSS. Google Reader was also a great place to dig deep into discussing content, but it was shut down in 2013.</p>
<figure id="attachment_291" aria-describedby="caption-attachment-291" style="width: 327px" class="wp-caption alignright"><img loading="lazy" decoding="async" class=" wp-image-291" src="https://nirak.net/wp-content/uploads/2025/04/pokemon_go_first.jpg" alt="the very first pokemon I caught, in front of an open laptop with twitter in the background" width="327" height="454" srcset="https://nirak.net/wp-content/uploads/2025/04/pokemon_go_first.jpg 624w, https://nirak.net/wp-content/uploads/2025/04/pokemon_go_first-432x600.jpg 432w" sizes="auto, (max-width: 327px) 100vw, 327px" /><figcaption id="caption-attachment-291" class="wp-caption-text">Pokemon Go Screenshot from the first day of release, with an open laptop with Twitter open in the background.</figcaption></figure>
<p>Last month, I gave up on Pokemon Go, which I had played since the day it came out in 2016. I read the news of its release (on Twitter, of course) and rushed to install the app and catch my first Pokemon from my basement.  You can even see Twitter in the background of my first Pokemon screenshot! As the years went on, Pokemon Go added more social features, and I met many of my neighbors while out playing: participating in raids, on community days, or just wandering around a park. I reached level 43, and while that wasn&#8217;t super high it represented a lot of effort on my part, and 8+ years of consistent play.</p>
<p>In November of 2022, Elon Musk acquired Twitter. In March of 2025, a Saudi affiliated company acquired Niantic, the maker of Pokemon Go. Both Musk and the Saudi government have said publicly that they are against lots of things that apply to me and my friends (like not being cis). For both of these things I felt I couldn&#8217;t morally use the product anymore, both because I don&#8217;t want my activity to contribute to the bottom line for groups or people that act to remove rights from people like me, and because I don&#8217;t want to become an unwitting recipient of messages they want to send.</p>
<p>I know all the arguments here: Pokemon Go will continue to be operated as it was! The Saudi government is far removed! Twitter is still where everyone is, you&#8217;re just letting all the bad people have the loudest say! And maybe all of that is true, but in my heart I just can&#8217;t support it.</p>
<p>So, I deleted Twitter, and I deleted Pokemon Go. These losses hurt worse than Google Reader or Friendfeed, because it felt more like I personally was being cast out of a party everyone else is still at. I&#8217;m trying to be more careful going forward, using services only as much as I need to, not putting all my effort into something I can&#8217;t control. It&#8217;s why I&#8217;m so all in on Mastodon &#8211; I run my own server, and have an account on a friend&#8217;s server, but even if those go away I can migrate my connections somewhere else and not have to build up the entire community again. It&#8217;s why I can&#8217;t get into Bluesky, I just don&#8217;t want to build a bunch of connections and then be forced to give it up because my morals won&#8217;t let me use it anymore.</p>
<p>I still miss Pokemon Go. But I&#8217;m also OK with letting it go.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Reluctantly bucking the static trend</title>
		<link>https://nirak.net/2025/reluctantly-bucking-the-static-trend/</link>
		
		<dc:creator><![CDATA[Karin Dalziel]]></dc:creator>
		<pubDate>Fri, 28 Mar 2025 01:30:35 +0000</pubDate>
				<category><![CDATA[Tech]]></category>
		<guid isPermaLink="false">https://nirak.net/?p=284</guid>

					<description><![CDATA[I recently redid my website, not that long after I redid my website, and not long before that I&#8230; redid my website. I have been fully on board the static website train for a while, using it more and more at work, especially for smaller sites. Minimal computing is popular in Digital Humanities, for good [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>I recently redid my website, not that long after I redid my website, and not long before that I&#8230; redid my website.</p>
<p>I have been fully on board the static website train for a while, using it more and more at <a href="http://cdrh.unl.edu">work</a>, especially for smaller sites. Minimal computing is <a href="https://www.digitalhumanities.org/dhq/vol/16/2/000646/000646.html">popular in Digital Humanities</a>, for good reason. The main draw for me is in maintenance, especially for sites that are unlikely to be added to frequently, aren&#8217;t massive, and don&#8217;t need server side code to support special features.</p>
<p>So, I tried out several static site generators for my own site. I liked all of them! The first one I tried was <a href="https://jekyllrb.com">Jekyll</a>, which I was already familiar with from using for GitHub Pages, which we are using for <a href="https://recoveryhub.github.io">Women Writers Recovery Hub editorial framework</a>. I like a lot of things about Jekyll: I&#8217;m used to Ruby, so it felt comfortable (especially newer user versions of Jekyll), and I mostly liked the way it was set up. It felt better maintained at the time than <a href="https://middlemanapp.com">Middleman</a>, which I had also used for work.</p>
<p>I really liked working in Markdown, but found Jekyll a bit limiting in options, and I didn&#8217;t like some of the decisions it made for me. I tried <a href="https://www.11ty.dev">Eleventy</a> next, drawn to the extra minimal setup, active community, and I wanted to learn more about non frontend Javascript anyway. I enjoyed setting up Eleventy, and found the Markdown parsing to be very easy to customize, but once again ran into problems with other customization.</p>
<p>I found I just wasn&#8217;t updating my site very often, because the small amount of friction in needing to open a plain text editor and not being taken specifically to a writing environment was enough to slow me down. I also wanted to be able to create posts on my phone if I wanted, or start on my phone and edit on my computer. I was already working with markdown files in <a href="https://obsidian.md">Obsidian</a> and using <a href="https://syncthing.net">syncthing</a> to sync that to my computer, and wouldn&#8217;t it be great if I could just have an Obsidian vault that was my website? I could, of course, pay Obsidian to do that, but the customization options were, again, limited. I tried doing this in Eleventy and kept running into problems, so I found another static site generator written in TypeScript called <a href="https://github.com/jackyzha0/quartz">Quartz</a> which would take an Obsidian vault and create a static site. I really liked working with Quartz &#8211; I found it easy to alter and I liked the idea of the &#8220;<a href="https://maggieappleton.com/garden-history">digital garden</a>&#8221; rather than a blog like format.</p>
<p>BUT&#8230; I still wasn&#8217;t updating my site. Creating posts in Obsidian was easy enough, but there was always a little bit of friction in adding images from my phone (where most of my images are), I still needed to log into my site to run the build command, and I found I kind of missed the date based format a blog provided. My RSS feed broke and I couldn&#8217;t easily figure out how to fix it. There were ways around all of this, of course, but I found myself wishing for an interface I could just log into and post.</p>
<p>So, after all of this I ended up back with WordPress, which is a snap to install with Installatron on my shared hosting through <a href="https://www.reclaimhosting.com">Reclaim Hosting</a> (who I have been with years and years at this point). It&#8217;s <a href="https://techcrunch.com/2025/01/12/wordpress-vs-wp-engine-drama-explained/">not the BEST time to go back to WordPress</a>, but I was looking for a site that I could potentially plug into the <a href="https://en.wikipedia.org/wiki/Fediverse">Fediverse</a> and WordPress is the only shared hosting friendly CMS with a fediverse plugin (unfortunately I have not quite been able to make it function perfectly yet, so it is currently disabled).  I&#8217;m avoiding any Jetpack stuff this time around. I&#8217;ve also started with <a href="https://underscores.me">underscores</a> for my theme, rather than going through the frustrating process of undoing others&#8217; design decisions (though I&#8217;m not using many of the special features). I&#8217;ve installed a caching plugin to hopefully keep some of the speed benefits I had with a static site. Like I did <a href="https://www.nirak.net/2013/08/nebraska-library-leadership-institute/index.html">the last time I abandoned my WordPress site</a>, I plan to create a static version to keep links working when I change website architecture again, though this time I am making other decisions to hopefully more fully integrate the old and new sites when I do.</p>
<h2>Lessons Learned</h2>
<p>I&#8217;ve learned a few things about myself. While I love the &#8220;digital garden&#8221; format of website, I find it hard to apply to my own site. Adding things to a dated stream of posts, with categories, is a lower friction way for me to create than reconsidering each time how content fits into the overall website. The &#8220;traditional&#8221; blog fits well with how my brain and sense of organization work. I learned that when I am in writing/creating mode, I really do <em>not</em> want to deal with the technical details, so I get frustrated when the writing experience is interrupted with troubleshooting. I also learned I place a premium on convenience at the point of creation.</p>
<p>I do still have some ideas for some static websites, though. I think static site generators are terrific for building one off sites and experiments, and I hope to do more of that in the future rather than working it all in to one WordPress install.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Email Trials</title>
		<link>https://nirak.net/2025/email-trials/</link>
		
		<dc:creator><![CDATA[Karin Dalziel]]></dc:creator>
		<pubDate>Tue, 25 Mar 2025 00:59:24 +0000</pubDate>
				<category><![CDATA[Tech]]></category>
		<guid isPermaLink="false">https://nirak.net/?p=264</guid>

					<description><![CDATA[I have been wanting to switch email providers for a while. I&#8217;ve been using Gmail for almost 2 decades, forwarding email from my other domains. As time has gone on, though, my methods for forwarding email (through my shared web host&#8217;s cpanel) have been less dependable/timely, and I have found myself giving out my gmail [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>I have been wanting to switch email providers for a while. I&#8217;ve been using Gmail for almost 2 decades, forwarding email from my other domains. As time has gone on, though, my methods for forwarding email (through my shared web host&#8217;s cpanel) have been less dependable/timely, and I have found myself giving out my gmail address more and more. I&#8217;ve also completely lost control of my email inbox, with filters I set long ago hiding emails from friends, real emails being eaten by overzealous spam filters, and so many emails coming in I found it hard to keep on top of.</p>
<p>So, I decided a change was in order.</p>
<p>For the provider, I tried out several options.</p>
<p><strong>Proton email</strong> was the obvious choice, as they are well reviewed and combine email, storage, documents, and VPN. This all sounded great. EXCEPT: they only let you port 3 domains. Even for the duo account. My partner and I at the least have a personal and professional domain each, and I have two others I would really like to receive email at. Plus they are advertising some AI crud I just don&#8217;t want so I decided against Proton.</p>
<p>I also tried <strong>Fastmail</strong>, paying for it for a month to try out all the features. I like the interface a lot, setting up my custom domains was easy. I was pretty close to going with Fastmail, if I couldn&#8217;t get my final choice to work. Fastmail has the option to set up temporary email addresses for signing up for things too, though I use a &#8220;catch all&#8221; email for this.</p>
<p>I looked at <strong>Tuta mail</strong>, but didn&#8217;t want to be stuck using their email client (I know it is secure by default, but I really want a choice in tools).</p>
<p>I ended up going with <strong>mailbox.org</strong>. I like the delightfully old school name, the fact that it&#8217;s the most affordable option, lets you encrypt your own email with PGP if you want (I have not yet), and it gives you WebDAV and CalDAV as well (which I am also using for todo&#8217;s). It is not the easiest option to set up though, and their docs could use some work. Some of the documentation references older menu options, and it&#8217;s not super clear exactly what to put in which fields (as opposed to Fastmail, which gave precise directions for different host options). I was also confused about how filters worked &#8211; I thought at first I could sync filters across Thunderbird mobile and desktop, but it turns out that Thunderbird mobile doesn&#8217;t have filters at all. I did finally find the mailbox.org filters though, under the main settings, and those are plenty to keep the email organized (with the disadvantage that I can&#8217;t easily add filters on mobile due to lack of mobile interface).</p>
<p>I have described mailbox.org as &#8220;a bunch of open source stuff duct taped together&#8221; and that&#8217;s still what it feels like.</p>
<p>If I was recommending a solution for someone less technical than I am, I would probably go with Fastmail. But mailbox.org is worth a try, they do have a free trial (as does Fastmail) and both let you set up external domains to see how it works.</p>
<p>A final note: most of my domains I point to a shared host (Reclaim Hosting) with nameservers, and then set the email settings on the web server so I can both host email and my sites. One domain I set up directly on namecheap since I was only using it for email and that was quite a bit fussier. Fastmail has an extra option mailbox.or does not: if you are only using the domain for email, you can set the nameservers to point at fastmail, which is far easier than setting all the options manually.</p>
<h2><strong>What&#8217;s next?</strong></h2>
<p>I still need to change over all the subscriptions and personal contacts I set to gmail.com, and download my gmail archive for safekeeping. Though it&#8217;s so impossibly full of spam at this point I probably won&#8217;t go through it much.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Yellow bike in Iowa City</title>
		<link>https://nirak.net/2025/yellow-bike-in-iowa-city/</link>
		
		<dc:creator><![CDATA[Karin Dalziel]]></dc:creator>
		<pubDate>Sun, 23 Mar 2025 22:34:32 +0000</pubDate>
				<category><![CDATA[Bikes]]></category>
		<guid isPermaLink="false">https://nirak.net/?p=256</guid>

					<description><![CDATA[I visit Iowa City sometimes for work, and often stay at the Graduate hotel. One of the things I like about the Graduate is they have bikes you can borrow for short trips. It&#8217;s a heavy 3 speed internal hub thing, really fits me well. Several times I have gone, this particular bike path has [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" class="alignnone size-large wp-image-249" src="https://nirak.net/wp-content/uploads/2025/03/PXL_20240528_214541707-1024x771.jpg" alt="A yellow bike in front of of a flooded out bike path" width="640" height="482" srcset="https://nirak.net/wp-content/uploads/2025/03/PXL_20240528_214541707-1024x771.jpg 1024w, https://nirak.net/wp-content/uploads/2025/03/PXL_20240528_214541707-600x452.jpg 600w, https://nirak.net/wp-content/uploads/2025/03/PXL_20240528_214541707-768x578.jpg 768w, https://nirak.net/wp-content/uploads/2025/03/PXL_20240528_214541707-1536x1157.jpg 1536w, https://nirak.net/wp-content/uploads/2025/03/PXL_20240528_214541707.jpg 1600w" sizes="auto, (max-width: 640px) 100vw, 640px" /></p>
<p>I visit Iowa City sometimes for work, and often stay at the Graduate hotel. One of the things I like about the Graduate is they have bikes you can borrow for short trips. It&#8217;s a heavy 3 speed internal hub thing, really fits me well.</p>
<p>Several times I have gone, this particular bike path has been flooded.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Orange 4/5 in the cave</title>
		<link>https://nirak.net/2025/orange-4-5-in-the-cave/</link>
		
		<dc:creator><![CDATA[Karin Dalziel]]></dc:creator>
		<pubDate>Sun, 16 Mar 2025 18:30:42 +0000</pubDate>
				<category><![CDATA[Climbing]]></category>
		<guid isPermaLink="false">https://nirak.net/?p=191</guid>

					<description><![CDATA[I worked on this for about 5 weeks!]]></description>
										<content:encoded><![CDATA[<p>I worked on this for about 5 weeks!</p>
<p><iframe loading="lazy" width="378" height="672" src="https://www.youtube.com/embed/rzPXcDqCl-g" title="Finally got the 4/5 in the cave I&#39;ve been working on for over a month #bouldering" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Tired</title>
		<link>https://nirak.net/2025/tired/</link>
		
		<dc:creator><![CDATA[Karin Dalziel]]></dc:creator>
		<pubDate>Sat, 15 Mar 2025 22:21:01 +0000</pubDate>
				<category><![CDATA[Pets]]></category>
		<guid isPermaLink="false">https://nirak.net/?p=119</guid>

					<description><![CDATA[We are all a bit tired lately.]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" class="alignnone size-large wp-image-120" src="https://nirak.net/wp-content/uploads/2025/03/PXL_20250314_171213158-1024x771.jpg" alt="Dog and cat on couch " width="1024" height="771" srcset="https://nirak.net/wp-content/uploads/2025/03/PXL_20250314_171213158-1024x771.jpg 1024w, https://nirak.net/wp-content/uploads/2025/03/PXL_20250314_171213158-300x226.jpg 300w, https://nirak.net/wp-content/uploads/2025/03/PXL_20250314_171213158-768x578.jpg 768w, https://nirak.net/wp-content/uploads/2025/03/PXL_20250314_171213158-1536x1157.jpg 1536w, https://nirak.net/wp-content/uploads/2025/03/PXL_20250314_171213158-2048x1542.jpg 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></p>
<blockquote><p>We are all a bit tired lately.</p></blockquote>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
