Posts

Archiving the City of Portland’s Communications
The Future of Civic Tech: Lessons from the Datasette Office Hours
Cheatsheet for Sveltekit Files
Making Quick and Personalized Learning Apps with AI
How To Make Better Forms In Svelte
Introducing inContext for Accelerating Language Learning
How to use Google Sheets as a Data Source
Critiquing and Reworking the Multnomah County Library Events Page
Making a SASS Class Cheatsheet
A Quick Schedule based on the Munich Olympics
Login for More People
How to Write a Browser Extension with Vite and Svelte
Updated Homepage and Game of Life
Search Portland on Know Portland
Tech Help and Classes at the Library
Reviewing Recent Projects
Freezing My Credit
Notes: March 25, 2024
Adding Lit to this Site
Frontend Challenge: Email Sign-up Form
Frontend Challenge: Progress Indicator
A Few Thoughts on Fermentation
Tempeh
Writing a Check-in App
Notes: February 7, 2024
Notes: January 25, 2024
Playing with Wobbly Box, A Web Component
A Brief Look at TinaCMS
Notes: January 10, 2024
2024 Post 2: Sabbatical Resources
2024 Post 1: So it begins
Favorites of 2023
2023 Gift Guides
I'm Embarrassed by Everything I Don't Understand
Looking for Alice
Portland-area Fermentation
The Indieweb Carnival
Weeknotes: October 15, 2023
Playing With Quotebacks
Weeknotes: September 24, 2023
Weeknotes: September 12, 2023
Doing a Group By On Datadog Logs
Weeknotes: August 27, 2023
TIL How to Use Lit and sql-js
TIL How to Add a Custom Page to Hugo
TIL How to Use Django-Import-Export to Import Data
Weeknotes: July 29, 2023
Kombucha Guide
Getting Up to Speed on Electric Vehicles
Barter: A Trading System
Are You a Pirate?
Kombucha and Tabular Recipe Notation
Linear Adds Tabs
Hugo With Tailwind
Manage Your Money
TIL How to run python in the browser with pyodide
TIL How to use google analytics at a basic level
TIL How to customize the Django admin UI
TIL About Aggregation Theory
Django and Fly
Interesting Plumbing Behind Personal Websites
Toolbox
Running Multiple Services in a Single Python Repository
Python's LRU Cache
Obsidian Git
IAM Identity Center Tips
How to use structlog with fastapi and fly.io
Getting Started with Obsidian
Flattening JSON
Design Resources
Building with Mkdocs
Basic Web3 Scripting in Python
Basic Cloudformation Templates
Automating Deployments to Netlify with Github Actions