Welcome!

After learning about HTML and CSS most of my life ago, I've finally decided to carve out my own corner of the web after dissatisfaction with the blogging and newsletter platforms available. Check the About page for more detail.

All published pages can be found on the Directory page. Currently, I am working on a piece of hypertext fiction and an engine simulator.

Dec. 30, 2025

Lossy Loss Project and Photo Gallery

Several years ago I made a Java tool that would take the difference between two image files. The intent was to use an original picture and its compressed counterpart in an attempt to visualize what JPEG compression looks like. It was functional in the sense that it did the one thing it was supposed to do, but it wasn't very good.

I've remade it using Javascript and HTML canvases. A brief writeup can be found at this link and a photo gallery can be found at this link. Feel free to steal the code if it's of any interest.

Oct. 2, 2025

Bugfix

Pixel art on this website takes advantage of the CSS property image-rendering: crisp-edges. I'll leave the technical details to Mozilla, but in a nutshell, it's a parameter that tells the browser to upscale images in a way that leaves pixel art nice and sharp rather than a blurry mess.

Except that's not the case in Chrome! Chrome doesn't recognize the crisp-edges value! I didn't realize this because I use Firefox on my desktop and Safari on my phone, both of which do support it, so everything looked fine to me.

Chrome does support this feature, however. It just requires the property image-rendering: pixelated instead which is, to best of my knowledge, functionally identical. Voltorb Flip, the Game Boy Camera photo gallery, and link buttons should look better as intended for Chrome users now.

Sep. 30, 2025

Game Boy Camera Adventures

I have finally—FINALLY!—finished my write-up about using a Game Boy Camera. And designing a lens adapter for the Game Boy Camera. And calculating specifications including crop factor and angular resolution. And making figures. And putting a gallery together. And—

Really, the key lesson I learned is that projects should have limited scope.

I've stared at it for so long that I can't remember if I'm satisfied with what I wrote or not. I'm satisfied with several of the photos if nothing else. Click here for the write-up or click here for the gallery.

RSS!

The site now has an RSS feed. It works in FreshRSS, which is a self-hosted reader I run on my Unraid server. The link is here, but there's also a button on every page and a link in the HTML header that browser extensions should be able to automatically detect.

Site clean-up, v2

Lots of little changes turned into a huge timesink. Updated metadata, changed filepaths, compressed images, redirects set up, and so on. CSS has been updated to make better use of page space. I've come up with a style guide for myself so formatting and special character usage should be consistent from page to page.

I've added tooltips and footnotes. You'd think that a tooltip would be as easy as adding <span title="title text">to span tags around some text,</span> but it turns out that mobile browsers have no idea what to do with title text! Instead, I found a demo that uses CSS only that allows you to hover over some text or tap it in a mobile browser.Doing so reveals extra text that I can use to e.g. define a technical term, write out an acronym, or provide unit conversions.

Footnotes have two uses. First, I can include asides that would otherwise derail the flow of what I've written. Second, I can use them to replace external links with proper citations. This is partly because I'm a huge dork, but there is an advantage to doing this because in addition to including the link itself in a footnote, I can also include publication information and an additional link to the Wayback Machine or archive.today. If the link ever rots, additional information to try to find a copy of the page is right there already.

I really wish Neocities supported PHP because my goodness keeping track of numbered footnotes by hand sucks. It's making me yearn for Zotero.

Apr. 23, 2025

Flooded Park Gallery

We got torrential rain a few weeks ago. I went to the park and took some pictures. Then I came home and made some vector graphics and wrote some JavaScript. Click here for more background info and a link to the gallery. I'm very pleased with how the gallery turned out.

Site clean-up

It felt silly to have a social media-esque bio in a sidebar on every page, so all of that information has been shunted to a new About page. Enjoy the high-res Funk Junkins while you're there. In addition, it felt wrong to have word counts and estimated reading times on a personal website, so those are gone too.

I'm 50-50 on including an email address on the About page. I would say "reach out if an email address would be helpful," but 100% of the people who can reach out can already contact me via others means, so. Hm. plane-with-bullet-holes.jpg, if you catch my drift.

Feb. 1, 2025

Closer Date Calculator

I saw a post on Bluesky about the ages of game consoles. It was a picture of an NES captioned "30 year old console in my mind" and a picture of a PS1 captioned "actual 30 year old console." I decided to find out if the Xbox 360 was released closer to the original NES or the day I saw the post, and I realized that every calculator like this only works with one date at a time, so I burned a couple afternoons making this, featuring swearing at Javascript and questioning humanity's decisions to make calendars Like That. Click here to find out which historical events occurred closer to your birth than today.

The calculator is rudimentary (really, it's the minimum viable version of what I was trying to make) and I would like to revisit it in the future, but for now I'm sick of staring at this damn code.

Jan. 25, 2025

Voltorb Flip is LIVE!

My Javascript take on HeartGold and SoulSilver's hit minigame has been sitting unfinished in a folder for about five years and I finally got the motivation to clean it up and publish it. Other versions exist, but their deviations from the DS games' graphics were always a turn-off for me. Additionally, my version has several assist options and generates boards that are consistent with the DS games barring any potential algorithmic intricacies that aren't documented.Click here to read the splash page (548 words, ~3 minutes) or click here to go to the game directly.

Jan. 20, 2025

Cheating Death

A short piece of FTL fan fiction written after thinking about the implications of the clone bay's mechanics. An ensign stationed aboard a rebel ship reflects on a previous battle before an infamous Federation vessel starts a new one. Click here to read it. (1426 words, ~7 minutes)

Compressing Media Disc Images Using 7zip

Pardon the dryness; I activated thesis mode to write this one. This is an analysis of the efficiency of 7zip compression used on ISO files for long-term preservation of the family movie library on my file server. tl;dr it is advantageous albeit less convenient to compress ISO files into 7zip archives. Click here to read. (1478 words, ~8 minutes)

I Didn't See Her Last Night

A short story about polished silver, betrayal, and dysphoria. Click here to read it. (277 words, ~2 minutes)

The Visitor

A short story I wrote after looking skywards one night while talking to my boyfriend. I swear I did not see the xkcd comic until after I finished this. Click here to read it. (430 words, ~2 minutes)

I would like to revisit this story in the future while taking advantage of CSS features to enhance the storytelling.