Creating thoughtfully-engineered, finely-crafted, and well-tested software.

A software engineer with over a decade of experience - this website is for sharing technical articles, and my own side-projects related to software engineering. I hope you enjoy it!

What to expect:

  • Weekly devlog updates
  • Monthly technical articles
  • Occasional software releases
Support Me on Ko-Fi!

FEATURED PROJECTS

view all projects →

No data yet...

(Check back later!)

LATEST ARTICLES

view all articles →
A Sakaki toy from Azumanga Daioh sitting on a chair with a cat on her head, and a cat-like creature standing next to her

typed-ident: A Retrospective on a Type-Safe Unicode Identifier Crate

This week, I released my first official open source crate - typed-ident! This crate is actually a small part of a few other projects that I’m working on. I’m not quite ready to share those other projects yet, but I figured instead of taking months to release a few big projects, I could break out this functionality, polish it up, and release that. After all, it eventually needed to be factored out, and it seemed like it wouldn’t be too difficult. That was the idea at least, but as I’m sure you can tell just looking at the crate (and reading this article), it didn’t quite go to plan. This article should be a fun ride - I learned a lot working on this crate, and maybe even if you don’t plan on using it you will too!
Read More...
An Osaka toy from Azumanga Daioh sitting under a kotatsu with a strange cat at a desk next to her.

10 Things to Check on Your Static Website Before Launch

Though it’s taken me longer than expected, sigseis.dev is mostly done - with only a few remaining missing features and polish work. With this site being mostly finished, I thought it would be fun to write up a little article about some things you should check on your static sites! At least while it’s still fresh in my own mind. UPDATE: 2026/08/04 - Added a section about “Optimizing Content Delivery”, dropped the “Sticky Headings” to be bonus content, and a small bit of text on tabindex in the accessibility section.
Read More...
A Chiyo toy from Azumanga Daioh standing at the front of a classroom.

How to Organize Rust Modules for Maintainability

Today I’d like to talk a bit about how I like to organize my Rust projects. In particular, I’d like to talk about modules (you cannot talk about project organization without talking about modules). First, I’ll define what modules are, and give a brief explanation for how they work. After that, I’ll explain my recommended approach for organizing modules in Rust.
Read More...

LATEST DEVLOGS

view all devlogs →

LOG 015

2026/09/11

★ Typed Identifiers

  • Publicly released the typed-ident crate alpha

  • Wrote and released a retrospective article on typed-ident

  • Found a design issue just after publishing (at least it's still alpha)

  • Started working on a fix for the design issue in question (#1)

typed-ident has been released!!

It’s only alpha, and I’m thankful for that, because just after publishing I noticed an issue.

The details are present in the GitHub issue that I filed, but the TL;DR is that the uncased types don’t enforce a consistent casing. So SnakeIdent doesn’t have to be either upper or lower case, it can be a mixture of cases.

I knew that this was the case, and originally I had convinced myself that it made sense. But now that I have the crate published, I don’t feel that way any longer. So I’m trying to fix it so that there’s a more strict stance on this.

I’ll still provide the mixed-case variants, they just may be named differently.

LOG 014

2026/09/04

★ Typed Identifiers

  • Fixed a design issue found during documentation.

  • Finished cleaning up benchmarks, examples, and rough unit tests.

  • Fell ill again in the middle of the week, so I'll publish next week.

I originally had a trip planned for this upcoming week, but I’ll have to cancel it and move it to another date.

I suppose the upside is I’ll be able to release this crate next week, instead of having to wait until returning from my trip. I’m going to finish recovering and then sometime early next week I’ll finally publish this thing.

Next week I’ll write a little retrospective too, that’ll be my article for the month.

LOG 013

2026/08/28

★ Typed Identifiers

  • Fully documented the remainder of the crate.

  • Created benchmarks using Criterion, and fixed some optimization issues.

  • Cleaned up the implementation a bit more, and some small rename operations.

  • Cleaning up the tests and ensuring decent test coverage for the initial release.

  • Fixed a small design issue with the identifier conversion traits.

I’m basically done, just cleaning up testing and documentation at this point.

There’s certainly more that could be done, but I think I want to get a 0.0.1 release out there, that way others can actually see what I’m working on (as opposed to me just talking about it in devlog updates).

I think it’ll release sometime next week - please look forward to it!