Vol. II · No. 207
Established 2025

smallweb

Sunday, July 26, 2026
168 writers in the library
Tech · 2 shelves
TechDesign

Alan W. Smith.

Creative coding, building tools, and digital experiments.

Recent essays

29 of 29

Photoshop's Content-Aware Fill Ain't Half Bad

Discussing generative AI is fraughtimages. It's easy to make binary distinctions. Love it, hate it. No in-between. I'm mostly against it for images. Fully admitting some look dope, the fact that it's making it harder for artists to make a living is too muchtim…

Free Image/Art Resources

Some Links Art Institute of Chicago via their open access images Biodiversity Heritage Library The Cleveland Museum of Art via their Open Access Images Getty Museum Collection via their free artwork collection Common European Data Space for Cultural Heritage S…

Stress Writing

Normally, I write to think. Today, we're trying something new. Writing not to think. Or, really, writing to not think about things that are stressing me out. I'm one of the least stressed folks I know. I can go with pretty much any flow without much fanfare. T…

The AI Phone Assault Has Begun

I'm visiting a friend of the over 65 variety. His name isn't Ron, but that's what I'm going to call him. His mind used to be very sharp. It's dulled a lot this year. He's a naturally trusting soul and I'm worried sick about him. Incoming Ron told me his bigges…

Sleep for a Time in Rust's tokio

use tokio::time::{sleep, Duration}; sleep(Duration::from_millis(100)).await; println!("100 ms have elapsed");

Open Videos - March 30, 2026

The current set of video tabs I have open right now. Archiving them here and closing them in the browser.

Pulling Magic Commander Rankings from EDHREC

I'm working on a tool to help me build Magic Decksmdb. It'll let me search and assemble cards from data via Scryfallsf. I also want to see other folks are doing. For example, which are the most used commanders. I'm grabbing data from EDHRECedh for that. This i…

Parse a String of Text into JSON in Python

import json input = '{ "alfa": "bravo", "charlie": "delta" }' data = json.loads(input) print(data) print("----") print(json.dumps(data, sort_keys=True, indent=2, default=str)) Output: {'alfa': 'bravo', 'charlie': 'delta'} ---- { "alfa": "bravo", "charlie": "de…

Using IndexedDB to Store Key Value Pairs with Vanilla JavaScript

Dear RSS Reader: The original version of this page includes JavaScript. It probably won't run in here. So, any functionality it might have had probably won't work. Check out the original page to see it in action. I'm working on a Magic Deck Buildermagic. There…

Music for Today (March 15, 2026)

I published a big block of work last night. Stayed up super late to do it. Today, I'm zoned out. In the post-deployment come down. I've mostly been poking around youtube. Lots of music in the mix. A few selections from the day. Down to the River to Pray - The…

Get a Set of Unique Values from an Array

Dear RSS Reader: The original version of this page includes JavaScript. It probably won't run in here. So, any functionality it might have had probably won't work. Check out the original page to see it in action. The Set object can be used to pull unique value…

Weeknotes (through Jan. 30, 2026)

Monday Jan. 26 I've been playing Magic: The Gathering for the past week. Maybe two. I kinda lost track of time. Started out by watching my buddies Prince and Xander play Commander. I took a crack at it, but had no idea what I was doing. I jumped into MTG: Aren…

Use the Broadcast Channel API to Communicate Between Windows

Dear RSS Reader: The original version of this page includes JavaScript. It probably won't run in here. So, any functionality it might have had probably won't work. Check out the original page to see it in action. I'm building a Magic: The Gathering Deck Builde…

My Best AI Experience So Far

I've had mixed experiences with AI when it comes to programming. It generally isn't worth it. I can usually figure things out by looking at documentation. A place where I don't have waste energy vetting everything I find. Of course, docs don't always have what…

Magic: The Gathering Deck Image Generator

We've Moved This tool is now hosted here: mtg.al9000.com/image-tags I've got ideas for other tools so it felt like combining them on their own site made sense. -a

Deserialize a JSON Object with IDs in Rust with Serde

A quick look at parsing JSON data in Rust when things come in using arbitrary keys (e.g. for IDS) --- [dependencies] serde = { version = "1.0.228", features = ["derive"] } serde_json = "1.0.149" --- #![allow(warnings)] use serde::Deserialize; use std::collecti…

Magic: The Gathering - Angel Deck

I played my first round of Magic: The Gathering last weekend with a couple buddies. It was a ton of fun, despite the fact I was struggling to keep upcmd. They also introduced me to Magic: The Gathering Arena where you can play against bots and strangers. It al…

Jimmy Carr on Laughter

Laughter is the shortest distance between two people.

Beautiful Words I Don't Understand

Head's Up: JavaScript is either turned off or not working properly in your browser. Some parts of this page may not work properly.

Filtering the Room

I can no longer read the room. At least, not on social media. It's not for lack of trying. It's the opposite. I work against the ability. Stacking filters as barricades. I'm not unsympathetic. I just can't handle the onslaught. It breaks me. -a

My Internet Phone Book Number

I'm 303 on The Internet Phone Book if you need to reach me.

A New (Site) Name

I've had alanwsmith.com since 20001. I didn't use it as my primary domain at first. Everyone was wary of having their online identities tied to their IRL ones back then. I don't remember when I switched to using it as my primary site. The first blog entry is f…

Definition Of A Rap Flow Sample

I'll never not love stumbling on the source of a sample. Here's Definition Of A Rap Flow (ft. Amalie Bruun) from R.A. the Rugged Man. And here's the sample source in Friend & Lover's Reach Out Of The Darkness

The Summer Day by Mary Oliver

Transcript Who made the world? Who made the swan, and the black bear? Who made the grasshopper? This grasshopper, I mean — the one who has flung herself out of the grass, the one who is eating sugar out of my hand, who is moving her jaws back and forth instead…

Everything Everywhere All At Once - 4/4 Stars

It's been a while since I've watched a movie. I'm pretty sure the last one was The Matrix Resurrections back in December of 2021. (Saw that one in the theater with J. 4/4 Stars) I'm glad I picked this one as the re-entry. It's so good. After I watched it, I le…

Video Tab Cleanup - Jan. 9, 2025

I open a lot of aspirational YouTube tabs. It's one of my idle time activities. I rarely watch them. Thought it might be fun to start collecting them which will help me close them out. So, here's some I'm closing today (sorted by the video id) One of my ideas…

Weeknotes for the Week Ending Jan. 9, 2026

Wednesday - Jan. 7 Moved files around in Lightroom. I should write something up about that. I used to keep everything in a single year/month/day structure. That makes it difficult to work with. This week I started making other folders and just thrown stuff aro…

Cubes - Black and Red on Blue

I ran some black and white photos through Processing to generate little 3D squares based on the gray-scale value.

A Favorite Line from Hackers

The delivery of "It's in that place where I put that thing that time" is art.