alanwsmith.com
Government Surveillance via NAS (and Hard Drive)
Command Line Prompt Customization without Oh My Zsh
Speaker Test Songs
Live Coding: Making a Line Deduper with bitty-js
Use a Keymapping to Toggle nvim-tree's File Explorer Open and Closed
Deduplicate Lines in a File on the Command Line
Using JavaScript Classes from the Parent Page of a Web Component
What if We Used Proportional Fonts for Code Blocks?
Parse Markdown with Embedded HTML in Rust
Sort a Vec of Structs by Multiple Key Fields in Rust
Change the Working Directory of a Rust App
Get the Current Working Directory in Rust
Cargo start-watch Script with Tests and Clippy for Rust Projects
Generate CSS Stylesheets for syntect Highlighted Code in Rust
Hanging a Picture without Building the House
Get the Components of a Directory Path as a Vec in Rust
Make a ping() Function for Shorthand Logging
Get the Location of a Calling Function in Rust
Get a Recursive, Relative List of Files from a Directory in Rust
Get a List of File Paths in a Directory Recursively in Rust
Scroll tmux one line at a time with the mouse wheel
Sort a JavaScript Object/Hash by Nested Value
Sort a JavaScript Object/Hash by Value
Sort a JavaScript Object/Hash by Key
Do a cargo build With Your Current System Architecture in Rust
I Don't Know What To Do. So, I'm Writing This.
Don't Open NvimTree On Neovim Startup
On Fighting
Weeknotes Through June 20, 2025
Link Dump - June 18, 2025
A Basic LSP Server Scaffold Written in Rust
E-Ink with an API
Thoughts On AI - June 2025
Initial Notes on Making the Neopoligen Template LSP
First, Show Me The Code
Keep details Tags Open on Refresh
Capitalize the First Letter of a Word in JavaScript
Random Word Shape Text Generator
Watch a Directory for File Changes in Rust with watchexec
Get a Single Command Line Argument with Clap in Rust
HTML Entities List
License Plate Reader Predictions
Current Yaks - May 22, 2025
Stack Overflow's Design Change is Not For Me
Restyling Footnotes
Adding Spans to Neopolitan's Flags (and Attribute Keys)
My rustfmt Settings
Trump Won't Hear the People Sing
Using Rust's 'Result' Approach For Neopolitan's Parser
Remove Multiple Items from a Python List
Remove The First (or Any) Item from a Python List
Bread bag clip site
Emergency CSS Update In Progress
How I start writing
Test Suite For: Getting a File's Name without Extensions in Python
Automatically run scripts from inside their directory with watchexec
Loop a Given Number of Times with MiniJinga
Weeknotes (thru May 2, 2025)
Rust's Error Messages are Great
Using JSON Data for a Test Runner
Compare Two JSON Strings in Rust
Serialize a Rust Struct into a JSON String with serde_json
Split A String Into Parts In Rust
Loop Through Numbers In A Range In Rust
A Rust Compiler Error I Don't Understand
Split A String Into Characters In Python
Neopolitan Span Attribute Key Test Generator
Temporary Link Collection - May 1, 2025
Folks Making Their Own Website Builders
Quick Scripts To Make Some CSS
Playing Around With A Personal JavaScript Framework
Current Yaks - April 30, 2025
A Quick MiniJinja Output Script
How Long Does It Take To Write?
Using Hash Functions To Make Predictions And Publish Safely1
Testing Neopolitan's Parser
Splitting Neopolitan Apart From Neopoligen
Weeknotes (thru April 25, 2025)
Use nom Parser's recognize Function To Convert A char To A &str In Rust
Disable An HTML Text Input Field
Get The Current DateTime With The TimeZone Offset In Rust
RSS Uses The RFC 822 Datetime Format
GIF Compression Software
Submit POST Form Data With JavaScript
Shower Thoughts On Distributed Technology
How I Decide Where To Post
Music With Strangers
Replace A Line In A Neovim Buffer/File
Declarative Shadow DOM CSS Encapsulation Test For The Neb RSS Reader
An Early Version Of Neopolitan
Maybe, Don't Set A Default
Weeknotes - April 18, 2025
DEPRECATED: Web Component CSS Encapsulation Test For The Neb RSS Reader
Test Websites On An Android Simulator
DEPRECATED: CSS Encapsulation Prototype For The Neb RSS Reader
Add A Neovim Keymap To A Single Buffer
Set The Border Color Of Neovim Floating Windows
Change The Window Separator Border Color In Neovim
Reload A Neovim Plugin While You're Working On It
Use Lua To Insert Text At The Current Cursor Position In Neovim
Run An External Command Synchronously In Neovim
List tmux Sessions
RSS Needs Timelines
RSS Needs CSS
Beach Photos - April 2025
Aqua Notes For Shower Thoughts
CSS System Fonts
Outputting RSS CDATA As HTML In XSLT Stylesheets Doesn't Work In Firefox
Parse A DateTime That Has A Time Zone With Rust's chrono Crate
Capitalize (and Title Case) Words In Rust
An AI Poison Honeypot Builder
Generate A Markov Chain String Of Text In Rust
Poisoning Bad AI Actors
The Music That Keeps Me Alive
Enshittifying Search With AI
Match The Start Of A Line In A sed Regular Expression
Convert An Image To AVIF In Rust