<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="pretty-atom-feed.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <title>Nathan&#39;s corner of the internet</title>
  <subtitle>This is a longer description about your blog.</subtitle>
  <link href="https://rainskit.com/feed/feed.xml" rel="self" />
  <link href="https://rainskit.com/" />
  <updated>2026-01-29T00:00:00Z</updated>
  <id>https://rainskit.com/</id>
  <author>
    <name>Nathan Arthur</name>
  </author>
  <entry>
    <title>Dev work trackers</title>
    <link href="https://rainskit.com/blog/dev-work-trackers/" />
    <updated>2026-01-29T00:00:00Z</updated>
    <id>https://rainskit.com/blog/dev-work-trackers/</id>
    <content type="html">&lt;p&gt;I&#39;ve used a lot of tools to track and/or manage software development work.
Here are the ones I remember, roughly in order of first use:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Bugzilla.&lt;/strong&gt; For years. Dead now.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Physical 3x5 cards and a wall.&lt;/strong&gt; (Really! I had a stacks and stacks of completed cards!)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Spreadsheets.&lt;/strong&gt; A few times.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Jira.&lt;/strong&gt; A few times at a few different team sizes. From the earliest days of the product up to this year. Sadly not dead now.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Microsoft Project.&lt;/strong&gt; Once.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pivotal Tracker.&lt;/strong&gt; The first tool that seemed like it really &amp;quot;got&amp;quot; agile product management. Dead now.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ikiwiki.&lt;/strong&gt; Once, for about a year.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Team Foundation Server / TFS / Azure DevOps&lt;/strong&gt;. For years, across multiple teams and products.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Trello.&lt;/strong&gt; Occasionally, for small stuff.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Scrum Mate&lt;/strong&gt;. For years, across multiple teams and products. Another tool that seemed to really &amp;quot;get it&amp;quot;. Also, sadly, dead now.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Monday.com.&lt;/strong&gt; Most recently, at the new job.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;(I&#39;ve also been adjacent to: FogBugz, Trac, Quality Center, Basecamp, GitHub Issues.)&lt;/p&gt;
&lt;h2 id=&quot;finding-a-new-tool&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://rainskit.com/blog/dev-work-trackers/#finding-a-new-tool&quot;&gt;&lt;span&gt;Finding a new tool&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;It was Monday.com that led to this blog post - Monday.com is not a suitable dev work tracker!
So I set out to find a new one, for my small team of desktop-software developers.
(Which is not the typical target market for any of these tools.)&lt;/p&gt;
&lt;p&gt;And Jira is the &amp;quot;obvious&amp;quot; choice for a dev team, but I have an enormous anti-Jira bias.
Every time I&#39;ve used it, it has just seemed &amp;quot;anti-agile&amp;quot; in its design, and like we had to fight to get it out of our way.&lt;/p&gt;
&lt;p&gt;So I started with a list of obvious candidates:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://monday.com/w/dev&quot;&gt;Monday Dev&lt;/a&gt;.&lt;/strong&gt; Monday.com has a &amp;quot;Dev&amp;quot; version which would have been a small shift from what we were already doing.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://www.atlassian.com/software/jira&quot;&gt;Jira&lt;/a&gt;.&lt;/strong&gt; Jira is always on the list, even if I don&#39;t want it to be.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://docs.github.com/en/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects&quot;&gt;GitHub Projects&lt;/a&gt;.&lt;/strong&gt; We already use GitHub so it might have been an easy choice.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;From there I found:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://linear.app/&quot;&gt;Linear&lt;/a&gt;.&lt;/strong&gt; I really like what they have to say about themselves.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://plane.so/&quot;&gt;Plane&lt;/a&gt;.&lt;/strong&gt; Similar to Linear, but more customizable.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://fibery.com/&quot;&gt;Fibery&lt;/a&gt;.&lt;/strong&gt; Monday.com for geeks.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;From there I made a list of criteria, and started testing out tools.&lt;/p&gt;
&lt;h2 id=&quot;criteria&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://rainskit.com/blog/dev-work-trackers/#criteria&quot;&gt;&lt;span&gt;Criteria&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Dear reader, it&#39;s important to understand that I have strong ideas about how software development should be done.
Not a fixed idea of The One True Way, but strong ideas about things that work and things that don&#39;t, and strong ideas of &amp;quot;process smells&amp;quot;, and a lot of those ideas intersect directly with how these tools are designed.&lt;/p&gt;
&lt;p&gt;Included in those ideas are things like:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Software product development is a team sport.&lt;/li&gt;
&lt;li&gt;Work in a &lt;em&gt;product&lt;/em&gt;-centric way, not a &lt;em&gt;project&lt;/em&gt;-centric way, as much as possible.&lt;/li&gt;
&lt;li&gt;For a well-functioning team, &amp;quot;sprints&amp;quot; get in the way.&lt;/li&gt;
&lt;li&gt;One backlog per &lt;em&gt;team&lt;/em&gt;, sequentially ranked.&lt;/li&gt;
&lt;li&gt;Have just one record per unit of work (e.g. &amp;quot;story&amp;quot; or &amp;quot;card&amp;quot; or &amp;quot;issue&amp;quot; or whatever you call it) - no duplicates/copies.&lt;/li&gt;
&lt;li&gt;Have an &amp;quot;inbox&amp;quot; where new cards can be filed and triaged.&lt;/li&gt;
&lt;li&gt;A way to shove cards somewhere out of the way, e.g. a &amp;quot;later&amp;quot; status (that really means &amp;quot;never&amp;quot;).&lt;/li&gt;
&lt;li&gt;Some way to associate cards with bigger containers, e.g. &amp;quot;epics&amp;quot; or &amp;quot;projects&amp;quot; - and to track the progress of the work in that container.
&lt;ul&gt;
&lt;li&gt;And critically, to show a single chart with two series: work &amp;quot;in scope&amp;quot; (as scope changes over time), and work &amp;quot;complete&amp;quot; (as work gets done over time). (I.e. a burn-up chart, at the project level.)&lt;/li&gt;
&lt;li&gt;Then ideally, to forecast a date when those two series will intersect (i.e. a release date).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;A way to chart team &amp;quot;velocity&amp;quot; in &amp;quot;card counts&amp;quot; and/or &amp;quot;points&amp;quot; over arbitrary units of time (days, weeks, sprints, months).&lt;/li&gt;
&lt;li&gt;A way to associate cards with releases, both ahead of time (planned releases) and after the release is actually cut/published.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Note that all of this is compatible with a spreadsheet, if you design it right.
And Monday.com is basically a spreadsheet, which is why it was &amp;quot;usable enough&amp;quot; as a dev work tracker.
But a spreadsheet lacks many great conveniences, and encourages many poor practices, and takes a lot of careful setup and management.
So it turns out there are some &amp;quot;tool features&amp;quot; that are also important:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;General ease of use of the tool, especially for common dev workflows.
&lt;ul&gt;
&lt;li&gt;Especially: type a card ID and have it become a link to that card (or similar keyboard-driven feature).&lt;/li&gt;
&lt;li&gt;Multiple assignee roles (e.g. dev, tester) per card.&lt;/li&gt;
&lt;li&gt;Drag-and-drop ordering of the backlog.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Good handling of all those process things I described above.&lt;/li&gt;
&lt;li&gt;Customizable card states.&lt;/li&gt;
&lt;li&gt;Custom fields and/or tags and/or ways to extend the core domain model.&lt;/li&gt;
&lt;li&gt;Search that can find anything/everything.&lt;/li&gt;
&lt;li&gt;Good (&amp;amp; configurable) notifications.&lt;/li&gt;
&lt;li&gt;WIP (&amp;quot;work in process&amp;quot;) limits.&lt;/li&gt;
&lt;li&gt;Integration with other tools (GitHub, etc.).&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;conclusions&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://rainskit.com/blog/dev-work-trackers/#conclusions&quot;&gt;&lt;span&gt;Conclusions&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;After carefully evaluating the tools above against the criteria above, here are my high-level conclusions:&lt;/p&gt;
&lt;h3 id=&quot;monday-dev&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://rainskit.com/blog/dev-work-trackers/#monday-dev&quot;&gt;&lt;span&gt;Monday Dev&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;It&#39;s not a serious product, on its own.
It&#39;s more like an MVP of a dev work tracker, with just a basic agile process in mind, and just the bare minimum of features.
It&#39;s better than plain Monday.com for dev teams that are in an organization that uses Monday.com for everything and really want to stick to a single platform.
But we&#39;re not restricted in that way.&lt;/p&gt;
&lt;h3 id=&quot;jira&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://rainskit.com/blog/dev-work-trackers/#jira&quot;&gt;&lt;span&gt;Jira&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;I gave Jira a serious chance.
And I was pleasantly surprised, in some ways.&lt;/p&gt;
&lt;p&gt;But it is still Jira.
Still fundamentally tied up in years of anti-agile design, bad-design-decision debt, and trying to solve all problems for all people, especially enterprises with giant departments using Jira across many teams.&lt;/p&gt;
&lt;p&gt;It still forces you to make a massively consequential choice between &amp;quot;team-managed&amp;quot; or &amp;quot;company-managed&amp;quot; without nearly making it clear what that means.&lt;/p&gt;
&lt;p&gt;If you pick the	&amp;quot;team-managed&amp;quot; version of Jira (basically a rewrite-inside-the-product), most of the out-of-the-box experience is quite good.
It literally met all my key requirements, and nearly all my secondary requirements.
It has some great charts (in team-managed only!) and some great release-planning features (team-managed again!).&lt;/p&gt;
&lt;p&gt;But search doesn&#39;t find card comments.
Hard to believe, but true.&lt;/p&gt;
&lt;p&gt;It has no feature to auto-link cards.
Hard to believe, but true.&lt;/p&gt;
&lt;p&gt;And then you run into insane things like &lt;a href=&quot;https://community.atlassian.com/forums/Jira-questions/How-to-Rename-Standard-Fix-Versions-Field/qaq-p/1618734?referer=https://community.atlassian.com/forums/Jira-questions/How-to-Rename-Standard-Fix-Versions-Field/qaq-p/1618734&quot;&gt;specific badly-named fields that can&#39;t be renamed&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;And a bunch of customization features are locked away because you chose &amp;quot;team-managed&amp;quot; - so I hope you don&#39;t need them!&lt;/p&gt;
&lt;p&gt;In the end, it&#39;s the safe choice, and you can definitely use it.
But you&#39;ll feel bad about yourself.&lt;/p&gt;
&lt;h3 id=&quot;github-projects&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://rainskit.com/blog/dev-work-trackers/#github-projects&quot;&gt;&lt;span&gt;GitHub Projects&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Definitely good enough for teams that need a little more structure than GitHub Issues.
Not really a serious competitor to any product designed as a standalone dev work tracker, though.&lt;/p&gt;
&lt;p&gt;One key limitation: every card in a organization-level GitHub Project has to be backed by an Issue in a specific repo.
So if you have a card with scope that spans repos, the details of that card only live in one of the repos.&lt;/p&gt;
&lt;p&gt;Card search kinda sucks.&lt;/p&gt;
&lt;p&gt;Basically if you&#39;re already doing everything in GitHub, GitHub Projects might help you improve how you work.&lt;/p&gt;
&lt;h3 id=&quot;linear&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://rainskit.com/blog/dev-work-trackers/#linear&quot;&gt;&lt;span&gt;Linear&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Wow, I really wanted Linear to win.
I really like their product positioning, and their usability focus, and what they say about how they work.
They have exactly the charts I want, out of the box, right up front - and most other products only give those charts through customization!
The product design is very opinionated, and I agree with most of the opinions.&lt;/p&gt;
&lt;p&gt;So why don&#39;t they win?&lt;/p&gt;
&lt;p&gt;They don&#39;t have custom fields.
None.
They have tags - but tags don&#39;t let you have arbitrary write-in fields, for things like release notes.&lt;/p&gt;
&lt;p&gt;They also only allow a single &amp;quot;assignee&amp;quot; per card.
So you can&#39;t have a developer and a tester both on a card.&lt;/p&gt;
&lt;p&gt;They also have a weird model for &amp;quot;projects&amp;quot; and &amp;quot;milestones&amp;quot; (i.e. releases) - you can only apply a milestone to a card if that card is part of a project.
So basically to use their &amp;quot;releases&amp;quot; feature you have to have everything in a &amp;quot;project&amp;quot;, which runs counter to my &amp;quot;product-centric&amp;quot; thinking.&lt;/p&gt;
&lt;p&gt;They have a Kanban board layout, but no WIP limits.&lt;/p&gt;
&lt;p&gt;I tried hard to figure out a way to live with these restrictions, and I just couldn&#39;t.
But if I could have, I think I would have really liked Linear.&lt;/p&gt;
&lt;h3 id=&quot;plane&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://rainskit.com/blog/dev-work-trackers/#plane&quot;&gt;&lt;span&gt;Plane&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Plane is open-source and markets themselves as self-hostable.
Neither is a key requirement for us, but it gives a sense of their target market.&lt;/p&gt;
&lt;p&gt;They literally describe themselves as &lt;a href=&quot;https://plane.so/plane-vs-linear&quot;&gt;Linear but with custom fieids&lt;/a&gt; which gave me a lot of hope.&lt;/p&gt;
&lt;p&gt;In my feature research and testing of a free trial, they seemed really good.
All the core features I cared about, with no obvious downsides.
Usability was a little quirkier than Linear, but still good.
Charts were a little weak, but usable.&lt;/p&gt;
&lt;p&gt;They can&#39;t auto-link cards by ID, which was frustrating.&lt;/p&gt;
&lt;p&gt;They have a Kanban board layout, but no WIP limits.&lt;/p&gt;
&lt;p&gt;But I was ready to choose them as the winner.&lt;/p&gt;
&lt;p&gt;Then I tried actually importing our data from Monday, and discovered some glaring issues.&lt;/p&gt;
&lt;p&gt;First, they can&#39;t import the &amp;quot;estimates&amp;quot; field.
Like, it&#39;s just not a field you can target during an import.
What?!?&lt;/p&gt;
&lt;p&gt;Second, their &amp;quot;milestones&amp;quot; feature (i.e. release planning), as great as it sounded on paper, isn&#39;t really &amp;quot;there&amp;quot;.
It&#39;s a lot like they had an intern do a summer project, and nothing was too bad about it, so they shipped it.
And then added it to their marketing.
And then never touched it again.&lt;/p&gt;
&lt;p&gt;And their customer support, when I asked about these issues, was very slow to respond and obviously disinterested.&lt;/p&gt;
&lt;p&gt;So... no.
I&#39;m not gonna gamble on that.&lt;/p&gt;
&lt;h3 id=&quot;fibery&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://rainskit.com/blog/dev-work-trackers/#fibery&quot;&gt;&lt;span&gt;Fibery&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;I only found Fibery after I got desperate.
I was seriously considering Jira (and seriously wondering where I had taken a wrong turn in my life!) when I &lt;a href=&quot;https://mastodon.social/@narthur/115911181489605139&quot;&gt;complained on social media about it&lt;/a&gt; and &lt;a href=&quot;https://mastodon.social/@hannukle@infosec.exchange/115911619979021782&quot;&gt;someone suggested Fibery&lt;/a&gt; in response.&lt;/p&gt;
&lt;p&gt;Fibery is a lot like Monday - a big basket of features that you have to assemble into a workflow that works for you.&lt;/p&gt;
&lt;p&gt;But they aren&#39;t like a spreadsheet; they&#39;re more like a database, with tables that have relationships and UI elements associated with them.&lt;/p&gt;
&lt;p&gt;And as a geek with strong opinions about process and tools, with a team that&#39;s evolving its process quickly, that&#39;s maybe perfect.&lt;/p&gt;
&lt;p&gt;They don&#39;t specifically target development, but dev workflows are clearly a &lt;a href=&quot;https://fibery.com/software-development&quot;&gt;strong focus&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;And once you figure out how it all works, it Just Works!
Each time I tried to set up some new relationship or state rule or calculated field... everything in the UI just adapted to the change exactly how I wanted it to.&lt;/p&gt;
&lt;p&gt;The learning curve is fairly steep, but by starting with the dev template, it wasn&#39;t too hard to figure out.
As long as I&#39;m willing to set it all up, every key requirement - and every secondary requirement - is met.&lt;/p&gt;
&lt;p&gt;There are some limitations and issues, but so far none have been blockers.
And the limitations are all way down in the details - nothing fundamental.&lt;/p&gt;
&lt;p&gt;One downside: they&#39;re still a startup - 7 years old, and not yet profitable.
So I&#39;m a little worried they&#39;ll die out from under us.
But not super-worried.&lt;/p&gt;
&lt;h2 id=&quot;our-choice&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://rainskit.com/blog/dev-work-trackers/#our-choice&quot;&gt;&lt;span&gt;Our choice&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Tuesday we switched to Fibery, and kicked off a sprint!
And so far, it&#39;s been a very positive experience!&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://hachyderm.io/@narthur/115981327040490298&quot;&gt;Discuss this post&lt;/a&gt;&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Migrating my email from Qmail and Gmail to Fastmail</title>
    <link href="https://rainskit.com/blog/migrating-from-qmail-and-gmail-to-fastmail/" />
    <updated>2026-01-06T00:00:00Z</updated>
    <id>https://rainskit.com/blog/migrating-from-qmail-and-gmail-to-fastmail/</id>
    <content type="html">&lt;p&gt;As best as I can tell, I&#39;ve been self-hosting my email, with &lt;a href=&quot;https://cr.yp.to/qmail.html&quot;&gt;Qmail&lt;/a&gt; (on &lt;a href=&quot;https://netbsd.org/&quot;&gt;NetBSD&lt;/a&gt;) since 2000 or 2001.
Then last week (2026-01-02) I switched my MX over to &lt;a href=&quot;https://fastmail.com/&quot;&gt;Fastmail&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;25 years. Damn.&lt;/p&gt;
&lt;p&gt;The story begins with a geek who liked to learn stuff.
It ends with a geek who&#39;s tired of being a sysadmin for a service that&#39;s harder and harder to keep working, and who really wanted to get his life (more) out of Google&#39;s hands.&lt;/p&gt;
&lt;p&gt;Many yaks were shaved in this last step; if you currently self-host email with Qmail, and use Qmail&#39;s &lt;a href=&quot;http://qmail.org/man/man5/dot-qmail.html&quot;&gt;extension addresses&lt;/a&gt; (e.g. &lt;code&gt;user-extension@domain.com&lt;/code&gt;), and you want to switch to Fastmail, you should probably &lt;a href=&quot;https://rainskit.com/blog/migrating-from-qmail-and-gmail-to-fastmail/#migrating-qmail-extension-addresses-to-fastmail&quot;&gt;read this bit&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;(Note that &lt;code&gt;Qmail&lt;/code&gt; isn&#39;t usually capitalized but I&#39;m doing that here to distinguish it from &lt;code&gt;Gmail&lt;/code&gt;.)&lt;/em&gt;&lt;/p&gt;
&lt;h2 id=&quot;spelunking-my-old-timer-credentials&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://rainskit.com/blog/migrating-from-qmail-and-gmail-to-fastmail/#spelunking-my-old-timer-credentials&quot;&gt;&lt;span&gt;Spelunking my old-timer credentials&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I&#39;ll try to keep it brief 😜&lt;/p&gt;
&lt;p&gt;My old domain was &lt;code&gt;truist.com&lt;/code&gt; (but now a bank has it) and the oldest evidence of it on the Wayback Machine is &lt;a href=&quot;https://web.archive.org/web/20010302002141/http://www.truist.com/&quot;&gt;from March 2001&lt;/a&gt;.
Even that very-oldest page has a (non-functioning) link to &lt;code&gt;mail.truist.com&lt;/code&gt;, so I was hosting - or at least trying to host - webmail at that point.
That page also has a &amp;quot;Feedback&amp;quot; link with a truist.com email address, so clearly I had email working.&lt;/p&gt;
&lt;p&gt;A later version of that page (February 2002) has the first &lt;em&gt;working&lt;/em&gt; link to my &lt;a href=&quot;https://web.archive.org/web/20020207121202/http://www.truist.com/about/machine/&quot;&gt;about the site&lt;/a&gt; page, where I say I started truist.com in the late summer of 2000, on a machine running at my house.
(Apologies for the bad apostrophes on that page! 🫠)&lt;/p&gt;
&lt;p&gt;Reading that page closely suggests that I had inbound mail working quickly, and then the website, and then webmail... so I think it&#39;s fair to say I was &amp;quot;hosting email&amp;quot; in 2000, but probably webmail wasn&#39;t up until 2001 or 2002.&lt;/p&gt;
&lt;p&gt;In 2000 I was probably still using my college email address as my primary, but I&#39;m sure that before I graduated (in 2001) I had switched over to using my truist.com email as my primary personal email address.
(And it shows up on &lt;a href=&quot;https://web.archive.org/web/20020405092330/http://www.truist.com/resume/&quot;&gt;my resume from 2002&lt;/a&gt;.)
So &amp;quot;my email address&amp;quot; has been self-hosted since 2001, at least.&lt;/p&gt;
&lt;p&gt;I also found a local backup of an old computer with a 74-page MS Word doc (what?!?) - dated October 2004 - with all my install notes for setting up the replacement for that first computer, still hosted at home.
(It had a Pentium processor, 64MB RAM (maxed out!), and a 29GB hard drive!)
In it I detail setting up Qmail (page 40) and courier-imap (page 47) and IMP (webmail; page 73).
So clearly by that point this was just &amp;quot;standard practice&amp;quot; for me.&lt;/p&gt;
&lt;p&gt;By that time I was also probably hosting my wife&#39;s email, too.&lt;/p&gt;
&lt;h3 id=&quot;google-appears-on-the-scene&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://rainskit.com/blog/migrating-from-qmail-and-gmail-to-fastmail/#google-appears-on-the-scene&quot;&gt;&lt;span&gt;Google appears on the scene&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Then just a month later I created my first Gmail account.
I still have my welcome email from them, dated November 9, 2004.
At that point Gmail was still invite-only.
(Crazy, right?!).&lt;/p&gt;
&lt;p&gt;That very same day, I set up a forward from my mail server into Gmail, and configured Gmail to send using my &lt;code&gt;truist.com&lt;/code&gt; address, and it looks like I probably switched over to using Gmail as my webmail front-end from that point on.&lt;/p&gt;
&lt;p&gt;Then in 2006 I wrote up &lt;a href=&quot;https://web.archive.org/web/20061206001521/http://www.truist.com/blog/514/easy-email-redundancy-for-geeks&quot;&gt;exactly how I had it set up&lt;/a&gt;, with email just &lt;em&gt;forwarded&lt;/em&gt; to Gmail, and I even had a secondary MX!&lt;/p&gt;
&lt;p&gt;I think at that point my primary email UI was probably Thunderbird on a desktop/laptop, over IMAP.
(This was pre-iPhone, remember?)
So Gmail really was just a fallback way to get to my email.&lt;/p&gt;
&lt;p&gt;Then in 2009 apparently the two-MX setup &lt;a href=&quot;https://web.archive.org/web/20090201001254/http://www.rainskit.com/blog/583/back-online&quot;&gt;saved my ass&lt;/a&gt; - and from the details in that post, at some point &lt;a href=&quot;https://schmonz.com/&quot;&gt;my friend&lt;/a&gt; had started hosting my primary MX, not me.
So probably sometime around then was when I switched to just using Gmail as my primary UI for email, and that has been the situation ever since: even though I hosted the mail server, I used Gmail as my email UI.&lt;/p&gt;
&lt;p&gt;And then life gave me kids (with email addresses!) and email became much less of a &amp;quot;fun project&amp;quot; and much more of &amp;quot;yaks to shave at the worst possible moment&amp;quot;.&lt;/p&gt;
&lt;p&gt;But mostly it was fine; I don&#39;t think I&#39;ve ever had a major email outage.&lt;/p&gt;
&lt;p&gt;(A few panicked hours, here and there, though!)&lt;/p&gt;
&lt;h3 id=&quot;modern-email-infrastructure&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://rainskit.com/blog/migrating-from-qmail-and-gmail-to-fastmail/#modern-email-infrastructure&quot;&gt;&lt;span&gt;Modern email infrastructure&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Then in 2017 I was finally ready to move my server out of my house and into a VPS... and realized that it was going to complicate my email setup massively.&lt;/p&gt;
&lt;p&gt;To quote from my never-officially-published, but still internet-discoverable, &lt;a href=&quot;https://web.archive.org/web/20210302011547/https://www.rainskit.com/preview/640/server-dns-email-web-infrastructure-2017-edition&quot;&gt;blog about this&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;since I was serving from home, I found that I got much more-reliable spam results from Gmail when I configured my mail server to forward all email through my ISP&#39;s mail service – so it had been configured that way since nearly the beginning. This was especially true for my &amp;quot;simple forwarding&amp;quot; email lists, so e.g. I could have &amp;quot;list@rainskit.com&amp;quot; and it would just be configured via dot-qmail to forward any email received to a bunch of other (external) email addresses. Emails to those lists were far more likely to get classified as spam, until I started passing them through my ISP.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;So somewhere along the way of migrating email from my home server to my new VPS, I remembered that I was passing everything through my ISP. And I realized that I was about to be without an ISP email server to pass them through. So I was going to lose whatever benefits that ISP was giving me. So I started researching modern email server configuration... and I had a lot to learn!&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;That blog post is actually a treasure trove of the history of my server and an overview of the pain of hosting a modern email server.
But the short version is: SPF, SRS, DKIM, DMARC, oh my!
Oh, and ezmlm!&lt;/p&gt;
&lt;p&gt;I ended up learning about all of those and setting up all except DKIM, largely because Qmail didn&#39;t support it.
(My friend, who is the &lt;a href=&quot;https://notqmail.org/&quot;&gt;primary maintainer of Qmail these days&lt;/a&gt;, eventually added support.)
And that worked.
But it was fragile.&lt;/p&gt;
&lt;p&gt;And then, later (scroll to the bottom of the post!) I avoided some of the headaches by switching my setup to have Gmail fetch from my server, via POP, rather than me just forwarding directly to them.
That was actually more reliable (in terms of spam classification) but it had a big downside: Gmail only checked every minute or two.
So email took a while to show up.&lt;/p&gt;
&lt;p&gt;Which is especially frustrating for those &amp;quot;magic link&amp;quot; login workflows 😡&lt;/p&gt;
&lt;p&gt;But I learned to live with it, and I&#39;ve been living with it for 15+ years.&lt;/p&gt;
&lt;h2 id=&quot;moving-away-from-google&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://rainskit.com/blog/migrating-from-qmail-and-gmail-to-fastmail/#moving-away-from-google&quot;&gt;&lt;span&gt;Moving away from Google&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I haven&#39;t had a Facebook (et. al) account since 2010.
I moved off Twitter when it went evil.
At some point I went from a &amp;quot;Google fan&amp;quot; to a &amp;quot;anti-Google&amp;quot; - but I was in so deep with them, it seemed hopeless to get away.&lt;/p&gt;
&lt;p&gt;But then along came &lt;a href=&quot;https://kagi.com/&quot;&gt;Kagi&lt;/a&gt; for search, and I switched and I&#39;ve been thrilled with it.&lt;/p&gt;
&lt;p&gt;So I looked again at switching email providers, and couldn&#39;t find one I thought would be good.
Gmail&#39;s features are just SO good, and I have many shared Google calendars, so it seemed like a big loss to switch to any other webmail provider, especially a smaller (paid) one that probably didn&#39;t have some of the nicest features.&lt;/p&gt;
&lt;p&gt;But then something happened in mid-2024 - I don&#39;t remember what - that made me finally get serious about switching.
So I did a bunch of research and settled on &lt;a href=&quot;https://www.fastmail.com/&quot;&gt;Fastmail&lt;/a&gt; as the answer, and started the process of switching.&lt;/p&gt;
&lt;p&gt;And Fastmail made it really easy!
They could take over as the MX, and they could import all my email (and contacts, and calendar) from Google, and they had all the main features I wanted!
(Not some of the nicest features... but that&#39;s OK - they also don&#39;t spy on everything I do and everything I buy!)&lt;/p&gt;
&lt;p&gt;But then the big yak appeared: I had about 2,000 qmail extension addresses, and Fastmail has a hard limit of 600. 🙀&lt;/p&gt;
&lt;h2 id=&quot;migrating-qmail-extension-addresses-to-fastmail&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://rainskit.com/blog/migrating-from-qmail-and-gmail-to-fastmail/#migrating-qmail-extension-addresses-to-fastmail&quot;&gt;&lt;span&gt;Migrating qmail extension addresses to Fastmail&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Fastmail does have &lt;a href=&quot;https://www.fastmail.help/hc/en-us/articles/360060591053-Plus-addressing-and-subdomain-addressing&quot;&gt;&amp;quot;plus&amp;quot; addressing&lt;/a&gt; - e.g. &lt;code&gt;user+extension@domain.com&lt;/code&gt; - and it does exactly what Qmail&#39;s extension addresses do... but with a &lt;code&gt;+&lt;/code&gt; instead of a &lt;code&gt;-&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;And through multiple email conversations with their support people (who are fantastic!) it became clear that they can&#39;t just treat &lt;code&gt;-&lt;/code&gt; addresses as &lt;code&gt;+&lt;/code&gt; addresses.
The next closest thing is to configure each &lt;code&gt;-&lt;/code&gt; address as a Fastmail &lt;a href=&quot;https://www.fastmail.help/hc/en-us/articles/360060591073-How-to-set-up-aliases&quot;&gt;alias&lt;/a&gt; - but they have a hard-coded account-wide limit of &lt;a href=&quot;https://www.fastmail.help/hc/en-us/articles/360060591073-How-to-set-up-aliases#pricing&quot;&gt;600 aliases&lt;/a&gt;, and I had about 2000!&lt;/p&gt;
&lt;p&gt;Plus the rest of my family, between them, had about 700 more!&lt;/p&gt;
&lt;p&gt;So even though I&#39;d set up Fastmail, and imported my (and my family&#39;s) Gmail email into it... I got stuck.
And it stayed that way for 18 months - we were still using Gmail, but with email copied over to Fastmail, too.&lt;/p&gt;
&lt;p&gt;And then - with 3 days&#39; notice - I learned that Google was &lt;a href=&quot;https://support.google.com/mail/answer/16604719&quot;&gt;dropping support for fetching email via POP&lt;/a&gt;.
So suddenly this problem was urgent!&lt;/p&gt;
&lt;p&gt;I contacted Fastmail support again, hoping there was some new solution, but there wasn&#39;t.&lt;/p&gt;
&lt;p&gt;But I found one, on my own!
It&#39;s pretty ugly, though.
In essence it&#39;s this:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Set up a &lt;a href=&quot;https://www.fastmail.help/hc/en-us/articles/1500000277942-Catch-all-wildcard-aliases&quot;&gt;catch-all alias&lt;/a&gt; for the domain, sending all un-matched email to me.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;For each of the other users on my domain, set up a &lt;a href=&quot;https://www.fastmail.help/hc/en-us/articles/1500000278122-Filters-Rules#rules&quot;&gt;rule&lt;/a&gt;, in my account, matching on &lt;code&gt;otheruser-*@domain.com&lt;/code&gt;, that sends a copy of the email to &lt;code&gt;otheruser+catchall@domain.com&lt;/code&gt;, and deletes the email from my inbox.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Set up a rule for myself, matching on &lt;code&gt;myuser*@domain.com&lt;/code&gt; that just says to stop processing further rules.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;For each of the other users on my domain, set up a rule, in my account, matching on &lt;code&gt;otheruser-*@domain.com&lt;/code&gt; (the same as before), sending the email to the trash.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;That careful set of rules means that any email sent to &lt;code&gt;otheruser-whatever@domain.com&lt;/code&gt;, if that specific address isn&#39;t already configured as an alias, will:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;First go to my account, because of the catch-all alias&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Then get forwarded to the other user&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Then, if I&#39;m not also a direct addressee of that email...&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;...be deleted from my account&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Yes, that&#39;s gross.
But it works!&lt;/p&gt;
&lt;p&gt;I&#39;ve found one edge case so far where it has a problem: if a single email is sent to both &lt;code&gt;otheruser-whatever@domain.com&lt;/code&gt; and &lt;code&gt;myuser-whatever@domain.com&lt;/code&gt;, and if &lt;code&gt;otheruser-whatever@domain.com&lt;/code&gt; &lt;strong&gt;is&lt;/strong&gt; configured as an alias, then &lt;code&gt;otheruser&lt;/code&gt; will get two copies of the email.&lt;/p&gt;
&lt;p&gt;I (and they) can live with that.&lt;/p&gt;
&lt;p&gt;I also added one nice-to-have email rule for each my other users, within their accounts: any email with &lt;code&gt;X-Resolved-To&lt;/code&gt; that &lt;code&gt;is exactly&lt;/code&gt; &lt;code&gt;otheruser+catchall@domain.com&lt;/code&gt; gets a special label to make it clear that this email was delivered via my account.
So then they can configure an alias, or contact the sender and change the address to a &lt;code&gt;+&lt;/code&gt; address, to fix that.&lt;/p&gt;
&lt;p&gt;But I think mostly they just won&#39;t bother.&lt;/p&gt;
&lt;h2 id=&quot;the-whole-pile-of-yaks&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://rainskit.com/blog/migrating-from-qmail-and-gmail-to-fastmail/#the-whole-pile-of-yaks&quot;&gt;&lt;span&gt;The whole pile of yaks&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I said Fastmail made it easy to migrate from Gmail, and that&#39;s true, they did.
But still, migrating 4 users and Qmail extension addresses and 20 years of history and many shared calendars and all our contacts and all our devices and all our apps... that was full of yaks.&lt;/p&gt;
&lt;p&gt;To help any intrepid explorers who come after me, here&#39;s roughly the steps I went through:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Sign up for Fastmail and configure it to import email, contacts, and calendars from Google (for all my users).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Deal with all the Qmail extension addresses, as described above.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Migrate the various routing rules and block rules, for each user. This included server-side &lt;code&gt;.qmail&lt;/code&gt; files, Qmail global alias rules, some oddball things I had running from &lt;code&gt;cron&lt;/code&gt;, and rules and blocklists configured in Gmail.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Turn on the &amp;quot;labels&amp;quot; feature in Fastmail, for each user.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Realize that I wasn&#39;t going to be able to maintain any of my ezmlm lists via Fastmail... and just accept that loss.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Export all the calendars from Google Calendar (to files) and import them into Fastmail (to new calendars). Then disconnect the Google calendars from Fastmail, and set up sharing between the new Fastmail calendars.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Set up my domain in Fastmail and switch the MX record in DNS! (And test it!)&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Have Google stop trying fetching mail from my server, for each user.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Delete my &lt;a href=&quot;https://mxtoolbox.com/monitoring&quot;&gt;MX Toolbox&lt;/a&gt; email monitor for my server.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Watch my server mail logs for a while to see if anything was still contacting it. Realize that Google was, because it was still configured to send email from my domain. Go in and delete those settings, for each user. Then the logs were quiet.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Delete the email-only users on the my server.&lt;/p&gt;
&lt;p&gt;1. Panic after I accidentally deleted my primary (non-email) user! 🙀&lt;/p&gt;
&lt;p&gt;2. Spin up a backup copy of my VM (you have backups, right?) and recreate the user from the backup.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Stop the Qmail services on the server.&lt;/p&gt;
&lt;p&gt;1. Realize that I still need a mailer for outbound mail from the server, so figure out how to reconfigure Qmail to just do outbound mail. This had a few of its own yaks.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Try to explain to my users what all has happened and what this means for them.&lt;/p&gt;
&lt;p&gt;1. This was challenging!&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Have each user, including myself, set up their personal accounts and devices:&lt;/p&gt;
&lt;p&gt;1. Have Fastmail stop synchronizing email from Google.&lt;/p&gt;
&lt;p&gt;2. Archive all the email that was in my Fastmail inbox, then manually search and un-archive the ones I still wanted to be there.&lt;/p&gt;
&lt;p&gt;3. Archive everything in my Gmail inbox, so I can see if anything is sent directly to my Gmail address.&lt;/p&gt;
&lt;p&gt;4. Set up an auto-responder in Gmail telling people that I don&#39;t use the address.&lt;/p&gt;
&lt;p&gt;5. Switch my phone accounts and phone apps and phone contacts around to be the way I want them to be.&lt;/p&gt;
&lt;p&gt;7. Start the long process of migrating &lt;code&gt;-&lt;/code&gt; addresses to &lt;code&gt;+&lt;/code&gt; addresses.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;And with that, I am much more free of Google! (But not entirely... I still haven&#39;t left YouTube.)&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://hachyderm.io/@narthur&quot;&gt;Discuss this post&lt;/a&gt;&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Teaching kids about money</title>
    <link href="https://rainskit.com/blog/kids_money/" />
    <updated>2025-11-07T00:00:00Z</updated>
    <id>https://rainskit.com/blog/kids_money/</id>
    <content type="html">&lt;p&gt;Most everything I learned about money I learned by making mistakes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Under-charging for my work.&lt;/li&gt;
&lt;li&gt;Spending too much on food.&lt;/li&gt;
&lt;li&gt;Accumulating too much debt.&lt;/li&gt;
&lt;li&gt;Not saving enough / having nearly no savings.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I&#39;d say that my parents did a typical job teaching me about money - I had an allowance, and chores, and could do odd jobs to make money.
I even had part-time jobs in high school.
But other than that first mistake, I didn&#39;t make those others until college, when it was very painful.&lt;/p&gt;
&lt;p&gt;So I set out to do better with my kids.&lt;/p&gt;
&lt;p&gt;Years ago I devised a system that I&#39;ve been very happy with, so I&#39;m sharing it here.
Here&#39;s the short version:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Give the kids an interest rate, on any saved money, of approximately 2% &lt;strong&gt;weekly&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Don&#39;t pay them to do chores.&lt;/li&gt;
&lt;li&gt;Pay for their necessities, but nothing optional/elective.&lt;/li&gt;
&lt;li&gt;Let them spend their money however they want.&lt;/li&gt;
&lt;li&gt;Stick to these rules!&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Then just let the consequences of these rules play out!
I.e. let them experiment, and make mistakes, and learn from those mistakes - when they&#39;re still young and the mistakes are &amp;quot;cheap&amp;quot;!&lt;/p&gt;
&lt;p&gt;My biggest goal was for the kids to learn the value of having a big pile of money, and what it takes to really get to such a pile of money.
I can&#39;t say that this system has succeeded at teaching exactly that lesson... but it has taught a bunch of great lessons!
(And they&#39;re certainly aware of that lesson, too.)&lt;/p&gt;
&lt;h2 id=&quot;the-system%2C-in-detail&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://rainskit.com/blog/kids_money/#the-system%2C-in-detail&quot;&gt;&lt;span&gt;The system, in detail&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id=&quot;chores&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://rainskit.com/blog/kids_money/#chores&quot;&gt;&lt;span&gt;Chores&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;When I describe this system to people, the usual first question is about chores, so I&#39;ll address that first.
We don&#39;t pay for chores, and the kids don&#39;t have an allowance.
Chores are just required work that everybody has to do (including us parents!) to keep our household running smoothly.&lt;/p&gt;
&lt;p&gt;Thankfully, our modern life has gifted us a lever to motivate our kids to do their chores: restricting screen time!
So chores are just &amp;quot;required&amp;quot; and the incentive is screen time.&lt;/p&gt;
&lt;p&gt;(While we&#39;re on the subject: our goal with chores is to teach our kids to be self-sufficient by the time they&#39;re 18.
So each year, we re-shuffle the chores between our kids, and each year they get more chores than they had the prior year.
At this point (15yo and 13yo), they do most of the household chores!)&lt;/p&gt;
&lt;h3 id=&quot;earning-money&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://rainskit.com/blog/kids_money/#earning-money&quot;&gt;&lt;span&gt;Earning money&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;So then how do they earn money?
Same as anybody: they do jobs!
Or maybe they get money as gifts, for birthdays or holidays.&lt;/p&gt;
&lt;p&gt;I offer a standard rate of $15/hour for any labor they provide, whether that&#39;s a non-chore job like raking leaves, or helping me with a project, or doing one of my chores for me.&lt;/p&gt;
&lt;p&gt;Sometimes if I really don&#39;t want to do a job myself, and they don&#39;t want to do it for the usual rate, I&#39;ll pay more!
(What a great lesson, right?)&lt;/p&gt;
&lt;p&gt;They are also free to get money from other people, e.g. family, neighbors, selling stuff, etc., at whatever rate they can get for it.&lt;/p&gt;
&lt;p&gt;One thing that makes some people uncomfortable: I pay them for most &amp;quot;expected&amp;quot; work.
For example, we went to my mom&#39;s house to do projects for her, and I paid my kids for their time.
Usually in a family you&#39;d just say &amp;quot;that&#39;s expected&amp;quot; and there&#39;d be no monetary reward, so this is a little weird.
FWIW I did tell my kids that they had no choice but to do the work; it was just going to be &amp;quot;paid&amp;quot; or &amp;quot;unpaid&amp;quot;, their choice.
They chose the not-stupid option 😜&lt;/p&gt;
&lt;p&gt;And now that they&#39;re old enough to do some more-sophisticated jobs on their own, I&#39;ve started offering extra pay if they really do work totally unsupervised (including learning how to do the work!) and offer a guarantee on the results.
My older kid patched a chip in the sidewalk, the other day, under these incentives!&lt;/p&gt;
&lt;h3 id=&quot;the-interest-rate&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://rainskit.com/blog/kids_money/#the-interest-rate&quot;&gt;&lt;span&gt;The interest rate&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;There are four key ideas around the interest rate:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;It compounds weekly&lt;/li&gt;
&lt;li&gt;It&#39;s high&lt;/li&gt;
&lt;li&gt;It gets lower as they get older (and goes to zero at age 18)&lt;/li&gt;
&lt;li&gt;There&#39;s a (high!) cap on how much interest they can earn, each week&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;These ideas were derived from a few goals:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Make it so the kids would quickly &amp;quot;feel&amp;quot; the effect of saving money, especially when they were younger.&lt;/li&gt;
&lt;li&gt;Make it possible for them to see major consequences of saving money over time.&lt;/li&gt;
&lt;li&gt;Make it clear that this gets harder/worse over time, so saving earlier is always better.&lt;/li&gt;
&lt;li&gt;Avoid (my) bankruptcy!&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The interest rate is defined by this rule: they earn a quarter ($0.25), each week, for every $AGE dollars they have in the bank at the end of the week.&lt;/p&gt;
&lt;p&gt;So every year, on their birthday, their interest rate goes down!
(That, combined with getting new chores each year... they&#39;ve learned to appreciate how nice it is to be young!)&lt;/p&gt;
&lt;p&gt;So an 8 year old with $32 in the bank earns $1 interest that week.
(A 3.125% weekly interest rate.)
But a 16 year old with that same $32 only earns $0.50.
(A 1.563% weekly interest rate.)&lt;/p&gt;
&lt;p&gt;Then because of the power of weekly compounding, the effective annual rates are extraordinarily high.
For the 8 year old, it&#39;s about 400%!
(That $32 would be about $158 at the end of the year!)
For the 16 year old, it&#39;s about 125%!&lt;/p&gt;
&lt;p&gt;So there&#39;s a very strong incentive to save the money!&lt;/p&gt;
&lt;p&gt;But over even longer terms, the growth is insane.
And that&#39;s why rule 4 is in place - if they actually took full advantage of these interest rates, it would literally bankrupt us.&lt;/p&gt;
&lt;p&gt;For example, an 8 year old, saving $10 a week and taking nothing out, would have $237,162.43 in the bank on their 13th birthday (having only contributed $2,600!), and would be earning weekly interest of $4,560!&lt;/p&gt;
&lt;p&gt;I don&#39;t know about you, but I can&#39;t afford to pay that interest rate!
Thankfully (or not?) this has just been a theoretical problem, so far.
Neither of my kids has never quite been motivated to try to push the system to its limits... stupidly, in my opinion 😜.&lt;/p&gt;
&lt;h3 id=&quot;what-we-pay-for&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://rainskit.com/blog/kids_money/#what-we-pay-for&quot;&gt;&lt;span&gt;What we pay for&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;We pay for all the usual stuff - clothes, food, housing, school, extracurriculars, etc.
We pay for gifts for Christmas and birthdays (i.e. the gifts they give to other people), but we&#39;ve been slowly cutting that off as they get older.
We don&#39;t pay for anything else - Pokemon cards, books, video games, pet fish, cell phones (and service), spending money for fairs, dinners out with friends, etc.&lt;/p&gt;
&lt;p&gt;So then they have to make choices about whether they want to spend the money for those things.
And sometimes we have to hold our tongues when they make choices to spend money on things that seem totally frivolous!
But either way, the goal is the same - the things they want have a real cost, i.e. they have to earn the money and decide whether to spend it... but the easy way to earn the money is to just have a big pile of money, earning interest.&lt;/p&gt;
&lt;h2 id=&quot;so-what-have-they-learned%3F&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://rainskit.com/blog/kids_money/#so-what-have-they-learned%3F&quot;&gt;&lt;span&gt;So what have they learned?&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;This system has worked really well!
But it hasn&#39;t worked out exactly like I imagined it would.&lt;/p&gt;
&lt;h3 id=&quot;experimenting%3F&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://rainskit.com/blog/kids_money/#experimenting%3F&quot;&gt;&lt;span&gt;Experimenting?&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;When we first started this, and they were much younger, they didn&#39;t really grasp how it all worked - as expected.
But they caught on quickly, and went through a few rounds of accumulating money, and spending it down, and doing jobs, and accumulating money again, and so on.&lt;/p&gt;
&lt;p&gt;And gift money kept them afloat for a few years; their need to spend money was so small, that just the interest from the occasional birthday cash was enough to satisfy their needs.&lt;/p&gt;
&lt;p&gt;But over time, as they wanted to have more money to spend, they saw the value in accumulating more in the bank account, and not just spending the account on frivolous stuff.&lt;/p&gt;
&lt;p&gt;(Win!)&lt;/p&gt;
&lt;h3 id=&quot;get-rich%3F&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://rainskit.com/blog/kids_money/#get-rich%3F&quot;&gt;&lt;span&gt;Get rich?&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Neither kid has bothered to do the work to get outrageously rich (within our limits), i.e. by just earning $10 a week more than they spend.
I have been totally surprised by this - I really expected them to eventually figure out how powerful the interest rate was, and exploit it.
But they just haven&#39;t done so.
They&#39;ve always basically done just enough to satisfy their current desires, and then stop.&lt;/p&gt;
&lt;p&gt;So maybe there will be one final lesson, someday, when they look back and realize the missed opportunity!
Or maybe this is actually just a totally healthy way to live?&lt;/p&gt;
&lt;h3 id=&quot;save-money%3F&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://rainskit.com/blog/kids_money/#save-money%3F&quot;&gt;&lt;span&gt;Save money?&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;The two kids have used the system very differently.&lt;/p&gt;
&lt;p&gt;The 15yo has enough money in the bank that he just lives off the interest.
He doesn&#39;t buy big things, he doesn&#39;t have a cell phone, and he&#39;s very conservative about what he does spend money on.
But he spends all his interest each week on books and video games.
So his (high!) balance just stays high, funding his weekly desires.
But it doesn&#39;t really grow.&lt;/p&gt;
&lt;p&gt;In essence, he&#39;s done the healthy thing!
He worked until he had a big pile of money that covers his needs, and now he lives modestly within his income, having to do no real work, while preserving the principal balance!&lt;/p&gt;
&lt;p&gt;Perfect!&lt;/p&gt;
&lt;p&gt;Except I wish he could see that he&#39;s going to need so much more money in the future, and plan ahead for that.
But still, overall, I can&#39;t complain.&lt;/p&gt;
&lt;p&gt;On the other hand, the 13yo hasn&#39;t internalized that lesson yet.
He still spends his money down to zero, sometimes.
But he&#39;s also very happy with how he spends it - he chooses carefully what to spend it on, and he generally does get joy out of what he buys.
And when he needs more money, he just does odd jobs until he has what he needs.&lt;/p&gt;
&lt;p&gt;Here again, that&#39;s not what I wish he was doing... but it works really well for him, and he&#39;s happy with it.
So I&#39;m happy with it.&lt;/p&gt;
&lt;h3 id=&quot;spend-wisely%3F&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://rainskit.com/blog/kids_money/#spend-wisely%3F&quot;&gt;&lt;span&gt;Spend wisely?&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;And both kids have really learned to make serious choices about what to spend their money on, and mostly they don&#39;t spend it frivolously.&lt;/p&gt;
&lt;p&gt;Neither kid has a cell phone, because I&#39;ve insisted that we not pay for it for them, and neither has felt that it would be worth it to spend the money on one.&lt;/p&gt;
&lt;p&gt;But both do spend their money, on things that bring them joy - and often things that I would have told them &amp;quot;no&amp;quot; about, if we paid for things like most parents do.&lt;/p&gt;
&lt;p&gt;All of these outcomes feel &amp;quot;right&amp;quot;, to me.&lt;/p&gt;
&lt;p&gt;(Win!)&lt;/p&gt;
&lt;h3 id=&quot;negotiate-rates%3F&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://rainskit.com/blog/kids_money/#negotiate-rates%3F&quot;&gt;&lt;span&gt;Negotiate rates?&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;They&#39;ve also learned to negotiate pay rates, really well.
With me, with each other, and with other people.&lt;/p&gt;
&lt;p&gt;For example, they both hate doing the dishwasher... so the going rate for hiring the other person to do that chore is $20 - for a 20-minute job!
And yet sometimes it&#39;s worth it to one of them to pay the other to do it!
They&#39;ve found the balance point where the price is good for both parties, and it isn&#39;t just based on a standard hourly wage for labor.&lt;/p&gt;
&lt;p&gt;(Win!)&lt;/p&gt;
&lt;p&gt;And they both will turn down a job they don&#39;t want to do, because they understand that they don&#39;t &lt;em&gt;have&lt;/em&gt; to work (if they have money in the bank!) to get what they want.&lt;/p&gt;
&lt;p&gt;(Win!)&lt;/p&gt;
&lt;h3 id=&quot;financial-engineering%3F&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://rainskit.com/blog/kids_money/#financial-engineering%3F&quot;&gt;&lt;span&gt;Financial engineering?&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;There was also one very interesting episode of financial engineering.
My 13yo realized that it was a good idea to buy something on a &amp;quot;pay it off over 12 months&amp;quot; plan - because the interest rate charged by that plan (24%!) was still way lower than the interest rate he could earn from saving his money!&lt;/p&gt;
&lt;p&gt;But it turns out that the website wouldn&#39;t let him do that, presumably because he&#39;s not an adult.
So I provided the loan to him, on the same terms, on the condition that if he failed to make a payment, the entire remaining balance would immediately become due, and continued failure to pay would &lt;em&gt;accumulate the interest at his special rate!&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;And this happened!
He let his bank account get too low, and he couldn&#39;t cover one of the monthly payments, about half way through the year.
He&#39;s still working to pay off the debt, and it&#39;s costing him quite a bit in interest!
It&#39;s been quite the lesson, in many ways!&lt;/p&gt;
&lt;p&gt;(Win!)&lt;/p&gt;
&lt;p&gt;There&#39;s one other case of financial engineering that&#39;s been &amp;quot;threatened&amp;quot; but never carried out.
My father-in-law (&amp;quot;Papa&amp;quot;) brought up an idea a few times:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;He&#39;ll give the boys enough money to hit the cap on their interest rate.&lt;/li&gt;
&lt;li&gt;He&#39;ll split the excess interest that they thereby earn with them.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;It would be a win for both parties - Papa would get a much better interest rate than he could get from a bank, and the kids would make money.&lt;/p&gt;
&lt;p&gt;I think the only thing stopping them is that Papa would feel like he was taking advantage of me.
But practically I think the lesson(s) would be worth it:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Financial engineering!&lt;/li&gt;
&lt;li&gt;The risks of doing money things with family!&lt;/li&gt;
&lt;li&gt;The work required to make something like this happen! (For example, I wouldn&#39;t allow Papa to give me the money directly.)&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&quot;tools-%2F-resources&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://rainskit.com/blog/kids_money/#tools-%2F-resources&quot;&gt;&lt;span&gt;Tools / resources&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;We started this whole adventure with a spreadsheet, and it was a pain in the ass.&lt;/p&gt;
&lt;p&gt;Then a number of years ago I found &lt;a href=&quot;https://app.famzoo.com/p/refer.html?rcode=RRFCKDWJ&quot;&gt;FamZoo&lt;/a&gt; and they handle it all for me.
(FYI that&#39;s a referral link, with perks for both of us.)
The kids have debit cards (that they use, regularly!).
I have a bank account that I transfer money into and FamZoo automatically pays the interest each week.
There are also tools for repaying balances, and having separate savings accounts, and so on.
The kids know how to check their own balances and get alerts for various events.&lt;/p&gt;
&lt;p&gt;It&#39;s easy and takes almost no effort on my part, now that it&#39;s all set up.&lt;/p&gt;
&lt;p&gt;I know there are other services like FamZoo, but FamZoo has been great for us, and I really like that their mission really is to do exactly what we&#39;re trying to do: teach our kids good money habits, while it&#39;s still cheap for them to make mistakes!&lt;/p&gt;
&lt;p&gt;OK, I think that&#39;s everything!
If you have any questions or comments, I&#39;d be happy to encourage you to try this!
Please just reach out &lt;a href=&quot;https://hachyderm.io/@narthur&quot;&gt;on Mastodon&lt;/a&gt;!&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>The pennies are gone!</title>
    <link href="https://rainskit.com/blog/pennies/" />
    <updated>2025-11-03T00:00:00Z</updated>
    <id>https://rainskit.com/blog/pennies/</id>
    <content type="html">&lt;p&gt;&lt;strong&gt;I won!&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;To explain... just about 30 years ago (1995-ish), I started a quest to eliminate pennies.
They seemed pointless; too little value to be worth carrying around to spend.&lt;/p&gt;
&lt;p&gt;How did I plan to accomplish this?
By collecting all the pennies in circulation, of course!
That way, once I had them all, nobody else could use them, and we&#39;d have to give up on them!&lt;/p&gt;
&lt;p&gt;Yeah, really - that&#39;s really why I did it 😜&lt;/p&gt;
&lt;p&gt;And a long time ago, I &lt;a href=&quot;https://web.archive.org/web/20220525055441/https://www.rainskit.com/blog/527/how-many-pennies-in-this-jar&quot;&gt;weighed them to see how many I had&lt;/a&gt;, which gave me a very rough count of about 18,000.
($180)&lt;/p&gt;
&lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://rainskit.com/blog/pennies/penny_jar-640w.webp 640w, https://rainskit.com/blog/pennies/penny_jar-768w.webp 768w, https://rainskit.com/blog/pennies/penny_jar-1024w.webp 1024w, https://rainskit.com/blog/pennies/penny_jar-1366w.webp 1366w, https://rainskit.com/blog/pennies/penny_jar-1600w.webp 1600w, https://rainskit.com/blog/pennies/penny_jar-1944w.webp 1944w&quot; sizes=&quot;auto&quot;&gt;&lt;img loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://rainskit.com/blog/pennies/penny_jar-640w.jpeg&quot; alt=&quot;The penny jar with about 18,000 pennies in it&quot; width=&quot;1944&quot; height=&quot;2592&quot; srcset=&quot;https://rainskit.com/blog/pennies/penny_jar-640w.jpeg 640w, https://rainskit.com/blog/pennies/penny_jar-768w.jpeg 768w, https://rainskit.com/blog/pennies/penny_jar-1024w.jpeg 1024w, https://rainskit.com/blog/pennies/penny_jar-1366w.jpeg 1366w, https://rainskit.com/blog/pennies/penny_jar-1600w.jpeg 1600w, https://rainskit.com/blog/pennies/penny_jar-1944w.jpeg 1944w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;
&lt;p&gt;And for all practical purposes I &amp;quot;won&amp;quot; this battle years ago, when most people stopped using cash for most things.
I don&#39;t think I&#39;ve actually used a penny myself in a decade or more.
I only rarely even end up having a new one to put in the jar, as change for spending cash.
So the penny collecting stagnated a long time ago, and the jar has just been sitting in a corner.&lt;/p&gt;
&lt;p&gt;And then earlier this year the US Mint &lt;a href=&quot;https://www.bbc.com/news/articles/c20556ly45eo&quot;&gt;stopped making pennies&lt;/a&gt; - so I really won!
😜
But of course, this government did it in the dumbest way possible; pennies are still legal currency, and stores are still supposed to accept them.
It&#39;s just now the supply is cut off, so they have to deal with shortages.
So I haven&#39;t really won.&lt;/p&gt;
&lt;p&gt;But just this past weekend, one of the local grocery chains decided that they needed to stockpile pennies, and offered &lt;a href=&quot;https://www.datocms-assets.com/25866/1761675151-giant-eagle-holds-penny-exchange-event_daniel-donovan.pdf&quot;&gt;2-for-1 gift cards for turning in pennies&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;Prior to this, my options for turning the pennies into &amp;quot;useful&amp;quot; money were:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Wrap them all by hand and turn them in to a bank. 😰&lt;/li&gt;
&lt;li&gt;Dump them into one of those commercial coin sorting machines, and only keep like $0.70 of each 100 pennies. (So that $180 in pennies would only be worth about $125 😠)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;So a 2-for-1 deal, where I didn&#39;t have to sort them, was way better!&lt;/p&gt;
&lt;p&gt;So I took them to the grocery, in two 5-gallon buckets (50 pounds each!):&lt;/p&gt;
&lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://rainskit.com/blog/pennies/pennies_in_buckets-640w.webp 640w, https://rainskit.com/blog/pennies/pennies_in_buckets-768w.webp 768w, https://rainskit.com/blog/pennies/pennies_in_buckets-1024w.webp 1024w, https://rainskit.com/blog/pennies/pennies_in_buckets-1280w.webp 1280w&quot; sizes=&quot;auto&quot;&gt;&lt;img loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://rainskit.com/blog/pennies/pennies_in_buckets-640w.png&quot; alt=&quot;The penny jar with about 18,000 pennies in it&quot; width=&quot;1280&quot; height=&quot;720&quot; srcset=&quot;https://rainskit.com/blog/pennies/pennies_in_buckets-640w.png 640w, https://rainskit.com/blog/pennies/pennies_in_buckets-768w.png 768w, https://rainskit.com/blog/pennies/pennies_in_buckets-1024w.png 1024w, https://rainskit.com/blog/pennies/pennies_in_buckets-1280w.png 1280w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;
&lt;p&gt;And the grocery said I had about 21,500 pennies, worth about $430 in gift cards!&lt;/p&gt;
&lt;p&gt;I won!&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Totally free Last Will and Testament template and instructions, for parents</title>
    <link href="https://rainskit.com/blog/will/" />
    <updated>2025-10-22T00:00:00Z</updated>
    <id>https://rainskit.com/blog/will/</id>
    <content type="html">&lt;p&gt;A year or so ago I went through the frustrating process of making a will.
Frustrating because it wasn&#39;t easy, unless I wanted to spend a bunch of money on a lawyer, or a bunch of money on (subscription!) software, or a bunch of money on software that used various dark patterns to trick me into spending that money.
But this is something that&#39;s important, and relatively standard, and should be easy and free.&lt;/p&gt;
&lt;p&gt;So I took it upon myself to learn the law about wills, and develop my own.
I used many sources, including my previous will (developed by a lawyer!), reading the law (in Ohio), and various free resources online.
I also had many conversations with ChatGPT about the particulars of what those templates said, and made many edits that I thought were improvements.&lt;/p&gt;
&lt;p&gt;That last sentence has maybe scared you off!
And maybe it should - &lt;strong&gt;I am not a lawyer, and I offer no guarantees that this will is suitable for you&lt;/strong&gt;.
Heck, it might not even be suitable for me!&lt;/p&gt;
&lt;p&gt;But I think I&#39;ve done a good job with this template.
I&#39;m a thoughtful, careful, organized person, with experience reading and writing contracts, and negotiating agreements between multiple parties.
I did this work to protect my own family.&lt;/p&gt;
&lt;p&gt;And I recently learned that various family and friends of mine - parents with minor children - don&#39;t have a will!
To my mind, that&#39;s a tragedy - if both parents die, those kids will end up with whatever the state government thinks is best for them, with no input from their parents.&lt;/p&gt;
&lt;p&gt;That seems like a poor inheritance to give your kids, if you leave them unexpectedly.&lt;/p&gt;
&lt;p&gt;Having no will also makes life much, much harder on whoever ends up being responsible for administering your estate (e.g. all your money and stuff).&lt;/p&gt;
&lt;p&gt;So I&#39;ve touched up this template, added instructions, and made it available here for you to use!
It&#39;s free, and I ask nothing in return.
Just use it, and make a will, and protect your kids.
Maybe let me know if you do.&lt;/p&gt;
&lt;p&gt;The template is a Google Doc, and you&#39;re meant to make a copy of it.&lt;/p&gt;
&lt;p&gt;And &lt;strong&gt;I am not a lawyer&lt;/strong&gt;.
&lt;strong&gt;You are responsible for whatever you write in your will, not me.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Click here: &lt;a href=&quot;https://docs.google.com/document/d/1vI3J8N80C80Jty6EDSpfNin0K8GRbxgknUCSZADVJLg/edit?usp=sharing&quot;&gt;Free will template for parents&lt;/a&gt;&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Scuba (and ski / motorcycle) gear drying rack</title>
    <link href="https://rainskit.com/blog/scuba-rack/" />
    <updated>2025-10-21T00:00:00Z</updated>
    <id>https://rainskit.com/blog/scuba-rack/</id>
    <content type="html">&lt;p&gt;Earlier this summer I designed and built a scuba gear drying rack that can be broken down for storage and transport.
It&#39;s a tricky problem - wet scuba gear is heavy, and there&#39;s a lot of gear, and it takes a lot of space to hang it all up.&lt;/p&gt;
&lt;p&gt;I&#39;ve seen other people who built racks, but then were frustrated with those racks because they would fall apart under all the weight, or be a pain to store or transport.
I wanted to set my mind to making something better.&lt;/p&gt;
&lt;p&gt;My goals, in priority order, were:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Can hold a lot of gear, in terms of both volume and weight.&lt;/li&gt;
&lt;li&gt;Can be taken apart for transport and storage.&lt;/li&gt;
&lt;li&gt;Can be assembled and disassembled quickly and easily.&lt;/li&gt;
&lt;li&gt;Is inexpensive to build.&lt;/li&gt;
&lt;li&gt;Is easy to build.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Here&#39;s what I came up with:&lt;/p&gt;
&lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://rainskit.com/blog/scuba-rack/scuba_rack_overview-640w.webp 640w, https://rainskit.com/blog/scuba-rack/scuba_rack_overview-720w.webp 720w&quot; sizes=&quot;auto&quot;&gt;&lt;img loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://rainskit.com/blog/scuba-rack/scuba_rack_overview-640w.png&quot; alt=&quot;The scuba rack, with various gear hung on it&quot; width=&quot;720&quot; height=&quot;1280&quot; srcset=&quot;https://rainskit.com/blog/scuba-rack/scuba_rack_overview-640w.png 640w, https://rainskit.com/blog/scuba-rack/scuba_rack_overview-720w.png 720w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;
&lt;p&gt;And I&#39;m very happy with it!&lt;/p&gt;
&lt;p&gt;I worked hard to optimize this design:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;It has lots of space!
It can comfortably hold the gear for two people, and you could squeeze a third person&#39;s gear onto it, if needed.&lt;/li&gt;
&lt;li&gt;It&#39;s strong enough to hold all that gear!
I used 1&amp;quot; PVC, which is the biggest that will work with standard wetsuit hangers.
And the glue joints, and arrangement of the horizontal braces, are carefully chosen so the structure won&#39;t bow or twist once assembled, even under weight.
It has proven perfectly strong, in use.&lt;/li&gt;
&lt;li&gt;It&#39;s tall enough for a drysuit, or a full-body motorcycle suit (woo &lt;a href=&quot;https://www.aerostich.com/collections/r-3&quot;&gt;Aerostich&lt;/a&gt;!), or ski gear.
(And it could easily be made taller, at assembly time.)&lt;/li&gt;
&lt;li&gt;The spacing lets wetsuit arms drape over the side racks so they air out better. (Not shown in this picture, but see the other pictures below.)&lt;/li&gt;
&lt;li&gt;It has space for BCDs, both vertically (above the ground) and horizontally (next to the wetsuits).&lt;/li&gt;
&lt;li&gt;It&#39;s easy to set up specialized &amp;quot;hooks&amp;quot; for boots and hoods.&lt;/li&gt;
&lt;li&gt;It&#39;s (relatively) easy to build!&lt;/li&gt;
&lt;li&gt;It&#39;s easy to assemble!&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;shopping-list&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://rainskit.com/blog/scuba-rack/#shopping-list&quot;&gt;&lt;span&gt;Shopping list&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;There are only 5 distinct things to buy at the hardware store:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;PVC pipe&lt;/strong&gt;.
I bought a 10 pack of 10&#39; lengths, but only used 8 of them.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&amp;quot;T&amp;quot; joints&lt;/strong&gt;.
Lots of them - I used 48!&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;3-way joints&lt;/strong&gt;.
2 at the very top.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;45° joints&lt;/strong&gt;.
4 for the diagonals at the top.&lt;/li&gt;
&lt;li&gt;Optional &lt;strong&gt;&amp;quot;L&amp;quot; joints&lt;/strong&gt;.
For boot hooks and hood hooks; I bought 8.
(See below for how they were used.)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You&#39;ll also need PVC &lt;strong&gt;cleaner, primer, and solvent&lt;/strong&gt;.
(So 8 things, actually?)&lt;/p&gt;
&lt;p&gt;...and yeah, this design has a lot of glueing.
(Or really, &amp;quot;solvent welding&amp;quot; - PVC connections are permanent!)
But it&#39;s necessary, or the whole thing will bow under weight, and fall apart.&lt;/p&gt;
&lt;p&gt;If you haven&#39;t glued PVC before, &lt;a href=&quot;https://www.oatey.com/faqs-blog-videos-case-studies/blog/how-complete-perfect-solvent-cement-joint&quot;&gt;here&#39;s a guide for how to do it&lt;/a&gt;.
You don&#39;t have to be nearly as careful as they describe, though - these pipes don&#39;t have to be liquid-tight!
So it&#39;s OK to be very sloppy.
And by the time you&#39;ve done all these joints, you&#39;ll be an expert, and ready to do it for any real plumbing jobs!
😜&lt;/p&gt;
&lt;p&gt;I also bought a &lt;a href=&quot;https://www.amazon.com/dp/B0DM8B78YY&quot;&gt;42&amp;quot; hockey bag&lt;/a&gt; to store and transport it in, when disassembled.
(That bag was the right length, but a little taller than necessary. It works well overall.)&lt;/p&gt;
&lt;p&gt;Overall cost was under $200 for the pipe and fittings, and about $45 for the bag.&lt;/p&gt;
&lt;h2 id=&quot;construction&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://rainskit.com/blog/scuba-rack/#construction&quot;&gt;&lt;span&gt;Construction&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;This design also minimizes the number of distinct &amp;quot;components&amp;quot; that have to be made:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;12 uprights&lt;/strong&gt;, i.e. 24&amp;quot; pieces of PVC pipe. Just cut these lengths.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;32 &amp;quot;hook&amp;quot; pieces&lt;/strong&gt; - 6&amp;quot; pieces of PVC pipe. Just cut these lengths.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;6 horizontal braces&lt;/strong&gt;, with T joints at the end for structure, and T joints across the middle for &amp;quot;hooks&amp;quot;.
I used 4 hook spots on each brace, because that fits the stuff comfortably and gives a lot of hooks.
But this took a lot of glueing, so you might want to only do 3 hooks per brace.
(More details on these parts below.)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;2 special horizontal braces&lt;/strong&gt; that support the top of the rack (with those same 4 hooks per brace, in my build).
Note that these have 4 (each) very short pieces of pipe for the vertical connections.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;1 special brace at the top&lt;/strong&gt;, that the suits hang on.&lt;/li&gt;
&lt;/ul&gt;
&lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://rainskit.com/blog/scuba-rack/scuba_rack_parts-640w.webp 640w, https://rainskit.com/blog/scuba-rack/scuba_rack_parts-720w.webp 720w&quot; sizes=&quot;auto&quot;&gt;&lt;img loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://rainskit.com/blog/scuba-rack/scuba_rack_parts-640w.png&quot; alt=&quot;The same scuba rack, disassembled&quot; width=&quot;720&quot; height=&quot;1280&quot; srcset=&quot;https://rainskit.com/blog/scuba-rack/scuba_rack_parts-640w.png 640w, https://rainskit.com/blog/scuba-rack/scuba_rack_parts-720w.png 720w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;
&lt;p&gt;So to build this rack... basically just cut and glue all those components, and you&#39;re done!
I used my power miter/chop saw to cut all the PVC lengths, to make it fast and easy to do the cuts.
But there are lots of other ways/tools you can use to cut them, if you don&#39;t have such a saw.
I suggest searching for tips, if you aren&#39;t sure how.&lt;/p&gt;
&lt;p&gt;The specific pipe lengths for the cross braces are 2.5&amp;quot; for the end pieces and 8&amp;quot; for the middle pieces.
Two of the cross braces are those special ones that go at the top, and they each have 4 extra 2.5&amp;quot; vertical pieces.
So across all 8 cross-braces, assuming you use 4 T joints for hooks in each brace, that means you need &lt;strong&gt;24 2.5&amp;quot; pieces&lt;/strong&gt; and &lt;strong&gt;24 8&amp;quot; pieces&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Be careful to glue all the T-joints at the correct angles, so the &amp;quot;hooks&amp;quot; will stick out at 45° relative to the uprights.
I found that it was easiest to build the middle sections first (pipe + T + pipe + T + pipe + T + pipe + T + pipe), with all the T joints aligned.
Then glue on the end T joints, at 45°.
(Then glue in the extra pieces for those two special braces that go at the top.)&lt;/p&gt;
&lt;p&gt;The PVC pipe length for the very top brace (that the suits hang on) was 35&amp;quot;, I think - but I suggest waiting until you&#39;ve built the regular cross braces and just measuring that top brace to match.&lt;/p&gt;
&lt;p&gt;If you wanted, you could glue the &amp;quot;hooks&amp;quot; (the 6&amp;quot; pieces of pipe) into their corresponding joints, which would make it faster to assemble and disassemble the rack when you use it.
But that would also make it much bulkier to store, disassembled, so I didn&#39;t do that.&lt;/p&gt;
&lt;p&gt;I ended up with a few offcut pieces of pipe of arbitrary lengths, and I just kept those as additional hooks - they are still useful, for various bits of gear.&lt;/p&gt;
&lt;h2 id=&quot;assembly&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://rainskit.com/blog/scuba-rack/#assembly&quot;&gt;&lt;span&gt;Assembly&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The limited component set also makes it easy to assemble - there&#39;s really only one way to put it all together, and it&#39;s easy to see all the parts after setting them out.
You just push the uprights into all open joints at the ends of all the braces, and that&#39;s it!&lt;/p&gt;
&lt;p&gt;To disassemble, I find it helps to find one loose upright and get it out, then use that like a hammer to bang apart the rest of the joints.&lt;/p&gt;
&lt;p&gt;The overall structure is about 36&amp;quot; wide and deep, and about 7&amp;quot; tall.
It can be made taller just by putting extra lengths of pipe in the bottom of the very bottom T joints.&lt;/p&gt;
&lt;h2 id=&quot;more-pictures!&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://rainskit.com/blog/scuba-rack/#more-pictures!&quot;&gt;&lt;span&gt;More pictures!&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Here&#39;s the rack actually in use, with just my gear:&lt;/p&gt;
&lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://rainskit.com/blog/scuba-rack/scuba_rack_again_1-640w.webp 640w, https://rainskit.com/blog/scuba-rack/scuba_rack_again_1-720w.webp 720w&quot; sizes=&quot;auto&quot;&gt;&lt;img loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://rainskit.com/blog/scuba-rack/scuba_rack_again_1-640w.png&quot; alt=&quot;The scuba rack, with various gear hung on it, on a different day&quot; width=&quot;720&quot; height=&quot;1280&quot; srcset=&quot;https://rainskit.com/blog/scuba-rack/scuba_rack_again_1-640w.png 640w, https://rainskit.com/blog/scuba-rack/scuba_rack_again_1-720w.png 720w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;
&lt;p&gt;Here&#39;s that same day, from the other side:&lt;/p&gt;
&lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://rainskit.com/blog/scuba-rack/scuba_rack_again_2-640w.webp 640w, https://rainskit.com/blog/scuba-rack/scuba_rack_again_2-720w.webp 720w&quot; sizes=&quot;auto&quot;&gt;&lt;img loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://rainskit.com/blog/scuba-rack/scuba_rack_again_2-640w.png&quot; alt=&quot;The scuba rack, with various gear hung on it, on a different day, from the opposite side&quot; width=&quot;720&quot; height=&quot;1280&quot; srcset=&quot;https://rainskit.com/blog/scuba-rack/scuba_rack_again_2-640w.png 640w, https://rainskit.com/blog/scuba-rack/scuba_rack_again_2-720w.png 720w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;
&lt;p&gt;Here&#39;s how an &amp;quot;L&amp;quot; joint can be used to make a boot hook:&lt;/p&gt;
&lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://rainskit.com/blog/scuba-rack/scuba_rack_boot_hanger-640w.webp 640w, https://rainskit.com/blog/scuba-rack/scuba_rack_boot_hanger-720w.webp 720w&quot; sizes=&quot;auto&quot;&gt;&lt;img loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://rainskit.com/blog/scuba-rack/scuba_rack_boot_hanger-640w.png&quot; alt=&quot;Close-up on a boot hook&quot; width=&quot;720&quot; height=&quot;1280&quot; srcset=&quot;https://rainskit.com/blog/scuba-rack/scuba_rack_boot_hanger-640w.png 640w, https://rainskit.com/blog/scuba-rack/scuba_rack_boot_hanger-720w.png 720w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;
&lt;p&gt;Here&#39;s how two &amp;quot;L&amp;quot; joints can be used to make a hood hook:&lt;/p&gt;
&lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://rainskit.com/blog/scuba-rack/scuba_rack_hood_hanger-640w.webp 640w, https://rainskit.com/blog/scuba-rack/scuba_rack_hood_hanger-720w.webp 720w&quot; sizes=&quot;auto&quot;&gt;&lt;img loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://rainskit.com/blog/scuba-rack/scuba_rack_hood_hanger-640w.png&quot; alt=&quot;Close-up on a hood hook&quot; width=&quot;720&quot; height=&quot;1280&quot; srcset=&quot;https://rainskit.com/blog/scuba-rack/scuba_rack_hood_hanger-640w.png 640w, https://rainskit.com/blog/scuba-rack/scuba_rack_hood_hanger-720w.png 720w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;
&lt;h2 id=&quot;additional-thoughts&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;header-anchor&quot; href=&quot;https://rainskit.com/blog/scuba-rack/#additional-thoughts&quot;&gt;&lt;span&gt;Additional thoughts&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;So far I haven&#39;t actually used this at a dive event.
I&#39;ve carried it to two events, but it just never seemed worth pulling out and setting up.
If I had a dedicated dive buddy I was traveling with, I&#39;m sure I would have used it.&lt;/p&gt;
&lt;p&gt;But I&#39;ve been thrilled with this rack as an at-home rinsing-and-drying rack!
It&#39;s just the &amp;quot;portability&amp;quot; feature hasn&#39;t been as valuable as I expected.&lt;/p&gt;
&lt;p&gt;This thing is fairly heavy... somewhere in the 30-50 pound range.
I didn&#39;t anticipate that when I designed it.
The weight is fine, but it was unexpected so I figured I should mention it.&lt;/p&gt;
&lt;p&gt;The hooks on the bottom brace are very close to the ground... too close for most purposes.
(They work OK for boots and gloves.)
So it might make sense to not include those hooks at all, to simplify construction.
(But that would complicate assembly, because it&#39;s another distinct component type that would have to be put in the right place!)
I think if I ever really needed to use those hooks, I&#39;d just put a few of the short pieces of pipe in the bottom T joints, thereby raising the whole rack up by 6&amp;quot;.&lt;/p&gt;
&lt;p&gt;It&#39;s theoretically possible to blow air through this thing and dry stuff out faster.
There&#39;s even a clever way that you could use a &amp;quot;boot hook&amp;quot; (pipe + L + pipe) on the upper braces, such that the arms of the wetsuit would go onto the end of that hook, so you could blow air into the arms.
You could maybe do something similar with the legs, if you just assembled the rack with the bottom-most cross braces reversed, so the hooks were going &amp;quot;in&amp;quot; instead of &amp;quot;out&amp;quot;.
(And yes, I thought of this when I designed it!)
But it would require capping all the open holes, i.e. every single &amp;quot;hook&amp;quot;.
That seems like a lot of work, and a lot of extra expense, so I don&#39;t plan to try it.&lt;/p&gt;
&lt;p&gt;And that&#39;s it!
If you find this interesting, or have questions, comments, or build your own, please let me know &lt;a href=&quot;https://hachyderm.io/@narthur&quot;&gt;on Mastodon&lt;/a&gt;!&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>We went to Europe!</title>
    <link href="https://rainskit.com/blog/europe/" />
    <updated>2024-10-04T00:00:00Z</updated>
    <id>https://rainskit.com/blog/europe/</id>
    <content type="html">&lt;p&gt;Learn all about it in &lt;a href=&quot;https://rainskit.com/europe-2024/&quot;&gt;these slides&lt;/a&gt;.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>We went to Thailand!</title>
    <link href="https://rainskit.com/blog/old/thailand/" />
    <updated>2021-11-15T00:00:00Z</updated>
    <id>https://rainskit.com/blog/old/thailand/</id>
    <content type="html">&lt;p&gt;Learn all about it in &lt;a href=&quot;https://rainskit.com/thailand-2022/&quot;&gt;these slides&lt;/a&gt;.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>We built a deck!</title>
    <link href="https://rainskit.com/blog/old/deck/" />
    <updated>2021-11-15T00:00:00Z</updated>
    <id>https://rainskit.com/blog/old/deck/</id>
    <content type="html">&lt;p&gt;Learn all about it in &lt;a href=&quot;https://rainskit.com/deck/&quot;&gt;these slides&lt;/a&gt;.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Cub Scout popcorn</title>
    <link href="https://rainskit.com/blog/old/cub-scout-popcorn/" />
    <updated>2017-10-26T00:00:00Z</updated>
    <id>https://rainskit.com/blog/old/cub-scout-popcorn/</id>
    <content type="html">&lt;p&gt;Picture this...&lt;/p&gt;
&lt;p&gt;It’s 6am on a Saturday in September, somewhere in Kansas.
The sun is coming up, and it promises to be a 90-degree day.
Thousands of boys (6-12 years old) from across the country are arriving – by truck, by bicycle, by parachute, by hitchhiking – and gathering together in a warehouse on a giant corn farm.
They’re all in Cub Scout uniforms – perfectly pressed and starched – and carrying water bottles and giant backpacks.&lt;/p&gt;
&lt;p&gt;A thousand or so of the boys – the ones who are tall enough – go out into the corn fields, and start picking corn.
They carry baskets of it back to the warehouse, and shuck it.
They cut off the kernels, and put them in giant ovens to dry.&lt;/p&gt;
&lt;p&gt;A few hundred or so boys start boiling giant kettles of sugar, reducing it down to caramel.
They stir and stir and test and taste, until it is just right.&lt;/p&gt;
&lt;p&gt;The smaller boys, the ones with artistic talent, get out sheets of cardboard and start cutting it and coloring it, to make boxes.&lt;/p&gt;
&lt;p&gt;A dozen older boys – trusted, reliable, experienced – take a bunch of cash from last year’s sale into town.
There they invite the local OSHA inspectors and politicians out to a lavish lunch... so they don’t notice the child labor right down the road.&lt;/p&gt;
&lt;p&gt;They spend their day this way, toiling in the hot sun, and over hot ovens, until finally the sun goes down.
Then they all come back to the warehouse, and start putting it all together.&lt;/p&gt;
&lt;p&gt;They bag the kernels, for microwaves.
They pop literal tons of corn, and dip it in caramel, and bag it up.
They pour butter, and cheddar, and nuts, and make some of the tastiest popcorn anyone has ever known.&lt;/p&gt;
&lt;p&gt;The spend the rest of the night packaging it up.&lt;/p&gt;
&lt;p&gt;In the morning, they all walk away, carrying giant backpacks full of fresh popcorn, in all sorts of flavors and styles.
They make their way home, across the United States, and begin the process of selling the popcorn to raise money for their Packs.&lt;/p&gt;
&lt;p&gt;And now that popcorn is available to you... and when you see the prices on the popcorn, and you question whether any sane person would really spend that much – just remember that it’s American made, with American values, with American labor – and it’s worth it!*&lt;/p&gt;
&lt;p&gt;*This popcorn was not actually made this way&lt;/p&gt;
&lt;p&gt;Oh hi!
Thanks for reading this far!
By the way, my 7-year-old is selling popcorn for Cub Scouts this year.
If you’d like some, you can order popcorn from his web store and it will ship straight to you, via Amazon.&lt;/p&gt;
&lt;p&gt;(And thank you!)&lt;/p&gt;
</content>
  </entry>
</feed>