Winking Hummer
I was doing my usual skulking about and chasing the garden hummingbirds, when this one made it clear it knew what was up.

(That’s not CG, AI, or fakery. The image is animated from two successive frames, shooting at 7fps)
I was doing my usual skulking about and chasing the garden hummingbirds, when this one made it clear it knew what was up.

(That’s not CG, AI, or fakery. The image is animated from two successive frames, shooting at 7fps)
Over the past six months, I’d copied a set of files down from a network drive, then new ones were added to the network drive, and I’d copied some of the new ones down but maybe not all? How could I possibly clean up this mess?
Easily, it turns out!
$ diff -srq /mnt/Volumes/2023/Bank_Statements/ /local/receipts/2023/
This will list all the files, and mark if they’re only in the /mnt/Volumes/2023/Bank_Statements/ directory, only in the /local/receipts/2023/ directory, if the file exists in both places but is different, or if the file exists in both places and is identical. The -s flag means “report identical files,” the -r flag is to go recursively, and the -q flag just announces the files are the same/different rather than showing their differences.
This’ll work as long as the file names have not been changed. If file names have changed, it’ll require a more robust utility.
When designing visual stuff, I often would like the ability to create a patterned frame for whatever it is I’m doing. It’s not so much work to drag and move image tiles around to make a nice frame, but I wanted to make it easier.
Thus “Borderline” was born. It’s a JavaScript tool for laying out tiles into frame designs, with a few automated features to make playing around easier.



Borderline lets you arrange small SVG files to form a border. It optionally does some rotational and mirroring transforms to make the pattern look nice.
It includes a small collection of custom, original SVG tiles to use for making nice borders. You can also “upload” your own! (since this all takes place in your browser, nothing actually gets uploaded to a server or leaves your local machine).
Once you’re happy with your design, you can export the entire border as an SVG suitable for printing or modification in your favorite vector graphics application.
You should be able to use just about any SVG file as a tile, although if it’s too big or complicated your browser may run out of memory and behave badly.
You can try it here: Borderline. Source is available at Codeberg.
I needed to generate a comma-delimited, quoted list of all the .svg image files in a directory, but without the extension.
This worked:
ls -1 ./svgs | sed 's/.*/"&"/' | sed 's/\.svg//' | paste -sd, -
Hooray for the command-line!
(coming soon, why I needed that list…)
What with the ongoing Covid pandemic (no really, it ain’t over) and various extended travel, I haven’t been spending much in-person time at CrashSpace.
I have a Silhouette paper cutter at home, and shelves of tools. But I gave away the CNC mill due to space and ventilation considerations. I’ve been tempted to get a small, low-end laser cutter, but have avoided it for the same reasons: I have very little space, and the space I do have isn’t good for building projects (nor configured for safe ventilation).
I closed the Etsy store where I was selling designs because it costs more money than it made, and API changes meant I was spending more time updating my code that built and managed the listings than I was making or selling art.
All this to say, I haven’t been making much in the way of physical projects of late. What’s more, I haven’t really done much to finish the Javascript geometry program, or several other software projects (converting Crowcut Card Designs into my own SVG store and/or giveaway site, a syllable/metric foot analysis tool, a writing management database, … always so many ideas!)
This autumn and winter, the primary initiatives will be decluttering and a few home repair projects. I’m still hoping to get to Crash to make a few things, but time will tell.