Blog Posts
Blog Categories:
My blog contains essays, stories, guides, tips and more on topics including technology, sailing and music.
- Nov 2024 - Test Drive: Hybrid Full-text Search
- Oct 2024 - pre-commit hook to update README
- Oct 2024 - Test Drive: Transformers
- Oct 2024 - Test Drive: tokenizers
- Oct 2024 - Test Drive: llama-index
- Oct 2024 - Test Drive: Open WebUI
- Oct 2024 - Test Drive: ditto
- Oct 2024 - Making Lawns Everywhere Spookier with AI
- Oct 2024 - Test Drive: Open Canvas
- Oct 2024 - Test Drive: Gemma APS
- Oct 2024 - Test Drive: fastdaata
- Oct 2024 - Test Drive: Nemotron
- Oct 2024 - Test Drive: F5-TTS
- Oct 2024 - Test Drive: MLX Finetuning
- Oct 2024 - Test Drive: Swarm
- Oct 2024 - Test Drive: Video Scraping
- Oct 2024 - Test Drive: MusicGen via MLX
- Oct 2024 - Test Drive: StabilityAI search and replace
- Oct 2024 - WordPress on sqlite
- Oct 2024 - Test Drive: llamafile
- Oct 2024 - Test Drive: e2tts with MLX
- Oct 2024 - Test Drive: OpenAI Evaluations
- Oct 2024 - Test Drive: OpenRouter Chat
- Oct 2024 - Test Drive: crewAI
- Oct 2024 - Test Drive: controlflow
- Oct 2024 - Test Drive: Deepgram TTS
- Oct 2024 - Test Drive: Whisper v3 Turbo
- Oct 2024 - Multisite WordPress on subdomains within Virtualmin
- Oct 2024 - Test Drive: Outlines
- Sep 2024 - Test Drive: ell
- Sep 2024 - Test Drive: Sambanova
- Sep 2024 - Test Drive: Cursor Composer
- Sep 2024 - TIL: Block Editor Outlines
- Sep 2024 - Test Drive: opik
- Sep 2024 - Test Drive: Langtrace
- Sep 2024 - Test Drive: Qwen2.5 + Openrouter + LiteLLM
- Sep 2024 - Test Drive: logprobs
- Sep 2024 - Test Drive: Instructor
- Sep 2024 - Test Drive: litellm
- Sep 2024 - Test Drive: sqlite-vec
- Jun 2024 - createElement Shorthand
- May 2024 - DSPy Tracing in Phoenix
- May 2024 - DSPy User Guide – Part 1
- May 2024 - “Not a valid string” in DRF Serializer Validation for ArrayField
- Mar 2024 - How I “To Do & Notes”
- Mar 2024 - Chrome Bookmarks in MacOS Spotlight Search
- Feb 2024 - Rav4 Rattling Glove Box
- Feb 2024 - Snowflake Bloom Filters
- Jan 2024 - Espanso Match Rule for ollama
- Jan 2024 - Area Forecast Discussion Viewer
- Dec 2023 - An ode to sqlfmt
- Dec 2023 - Add “Saved” to LinkedIn navbar
- Dec 2023 - Chrome “Create Shortcut” (PWA) for Specific Doc
- Nov 2023 - Aggregating Uniques in Snowflake
- Nov 2023 - dbt UDFs
- May 2023 - Live Jinja parser for dbt development
- May 2023 - Duplicative time periods in dbt
- May 2023 - Duplicative unions in dbt
- Dec 2022 - Move Gmail Toolbar
- Dec 2022 - Working with a Trumba Calendar
- Dec 2022 - UserScripts and ReactJS Forms
- Dec 2022 - Snowflake array_agg & object_agg Performance
- Dec 2022 - Adding your own man pages
- Nov 2022 - Product Management Sunday Reading
- Nov 2022 - Favorite Tools from Howl’s Stack
- Nov 2022 - Espanso Text Expander
- Nov 2022 - pip-chill for clean diffs of requirements.txt
- Nov 2022 - pyenv for Simple Python Version Management
- Nov 2022 - Python Packaging
- Nov 2022 - Jupyter Service on MacOS
- Nov 2022 - Jupyter PHP Kernel on MacOS in 2022
- Nov 2022 - WordPress Dev with wp-sqlite-db
- Sep 2022 - Jupyter Notebook Virtual Environment
- Sep 2022 - Backing Up Google Authenticator
- Jun 2021 - Responsive Tables
- May 2021 - Interchangeable Power Tool Batteries (Compatibility Chart)
- Mar 2021 - text.npr.org is fast!
- Jan 2021 - La Crosse Weather Station & PWS
- Dec 2020 - Digital Archiving Oral History Cassette Tapes
- Dec 2020 - Dates in sqlite
- Oct 2020 - Wi-Fi, Router & Internet Tips
- Sep 2020 - Google Assistant Tips
- Sep 2020 - Tiny 274-byte Javascript DOM “Library”
- Aug 2020 - Google Photos Home Screen Album Shortcut
- Jul 2020 - LiteSpeed & HTTP/2 Server Push
- Jul 2020 - Why is this site p̶l̶a̶i̶n̶ fast?
- Jul 2020 - Page Previews
- Apr 2020 - Bot Handling Tips
- Apr 2020 - My macOS UI Tweaks
- Apr 2020 - Tip for Slack, Chrome Profiles & Link Opening
- Apr 2020 - Bookmarklet to Move Gmail Message Action Toolbar
- Apr 2020 - Adding a cachebuster with a Git post-receive hook
- Jan 2020 - Superset on Databricks
- Jan 2020 - Wishes to Google
- Dec 2019 - Snowflake Database Internals
- Nov 2019 - Empty Item from Amazon
- Nov 2019 - Announcing: Weather – My Web App to Display NWS Data
- Nov 2019 - Beach Sailor – Day 1
- Nov 2019 - Photopea: Browser-based Photoshop-esque Image Editor
- Nov 2019 - Server-side Google Analytics
- Nov 2019 - How to Filter Forwarded Plus-address Email GMail
- Oct 2019 - Announcing Two New Sections
- Oct 2019 - Letter Writing Campaigns with Email Links
- Aug 2019 - Annotated Race with Clips
- Aug 2019 - 2019 Rhodes 19 Nationals Recap
- Apr 2019 - Bookmarklet: Edit Current WordPress Page
- Mar 2019 - In Praise of GIMP 2.10
- Mar 2019 - Analyze Boston SQL Client 1.0 Release
- Feb 2019 - The Joy of Snowflake
- Jan 2019 - Hue White Ambiance Bulbs for Warm & Cool Light
- Dec 2018 - Tabata Workout Library for Tabata Timer app
- Oct 2018 - Motorola Droid Turbo 2 — Still Great 3 Years Later
- Oct 2018 - Contemplating an EXT4 Filesystem for a User Profile Store
- Sep 2018 - Ads Lead to Inbox by Gmail Shut Down
- Sep 2018 - Flashing TM-AC1900 to RT-AC68U
- Aug 2018 - Whale Bones in Haversham, RI
- Jul 2018 - Janelle Monáe in Boston
- Jul 2018 - Web Browser Tips
- Jul 2018 - Leesa Mattress Review: We Returned It
- Jul 2018 - A Visit To Vinalhaven
- Jun 2018 - Chappelle, Stewart Stay On Stage After Opening Night
- Jun 2018 - Google Keep Easter Eggs
- Jun 2018 - Chewy Customer Service is Awesome
- May 2018 - Homebrewing Beer
- Apr 2018 - TaylorNet Stack Dive
- Apr 2018 - Web Analytics with awstats in 2018
- Apr 2018 - Analyze Boston SQL Client Beta Release
- Apr 2018 - Gitweb Setup
- Dec 2017 - New, Boring Theme!
- Nov 2017 - Customizing Website Subscription Emails
- Jul 2017 - USPS Informed Delivery
- Jul 2017 - PhotoScan Is Great
- Jul 2017 - Introduction to Google Photos
- Feb 2017 - Google Home: Great For Music & Radio
- Feb 2017 - Electric Meter Saga
- Jan 2017 - Shutterfly Story Export
- Jan 2017 - Outlook for Web
- Jan 2017 - Google Photos Has It All
- Jan 2017 - Pebble 2 is Part Fitness Tracker, Part Smartwatch
- Dec 2016 - I Am Not Natalie Taylor
- Oct 2016 - Battery Life
- Aug 2016 - Wedding Name Cards
- Aug 2016 - Wrapping Up Third Place At Marblehead Race Week
- Jul 2016 - The Pizza Diet
- Mar 2016 - More Clouds from Earth & Space
- Feb 2016 - Android 5.0 Battery Observations
- Oct 2015 - Clouds from Earth & Space
- Oct 2015 - Finishing Second at 2015 Rhodes 19 Nationals
- Sep 2015 - A Naive Experiment in Programmatically Optimizing DraftKings NFL Lineups: Part 1
- Jan 2015 - First Ever Interactive State of the Union
- Jan 2015 - Making PDF Newsletters Accessible
- Dec 2014 - Open Ocean, a Reef and the VO65 That Hit It
- Dec 2014 - Using Google Contacts on Android
- Sep 2014 - Victory At The Rhodes 19 Nationals
- Jan 2014 - I Fought Comcast and Almost Won
- Oct 2013 - On the Future of Team Racing
- Oct 2013 - Big Boi at Paradise Lounge
- Aug 2013 - Oyster Gardening at Haversham
- Mar 2013 - Team Race Starting
- Mar 2013 - Sugarbush Weather
- Nov 2012 - Relaunch!