- Tue 04 November 2025
 - Details on My Candidate Statement for the DSF
 - Sat 11 October 2025
 - Deploying n8n on Digital Ocean
 - Fri 25 July 2025
 - Why We Need to Stop Fighting About AI Tools and Start Teaching Them
 - Thu 19 June 2025
 - Migrating to Raindrop.io
 - Sun 15 June 2025
 - A New Project at Work
 - Thu 05 June 2025
 - Updated TIL
 - Mon 02 June 2025
 - Fun with MCPs
 - Wed 21 May 2025
 - Firebirds 2024-25 Season
 - Thu 08 May 2025
 - Uptime Kuma and Claude
 - Mon 31 March 2025
 - The Invisible Decision-Makers: Why Systems Ignore Their Users
 - Sun 09 March 2025
 - Process, People, and Priorities
 - Fri 28 February 2025
 - Out of Town to Watch the Firebirds
 - Thu 27 February 2025
 - Hynek's approach to uv and Python projects
 - Wed 26 February 2025
 - Raspberry Pis
 - Tue 25 February 2025
 - Django Simple Deploy and Digital Ocean
 - Mon 24 February 2025
 - Back in the pool
 - Sun 23 February 2025
 - Finally
 - Sat 22 February 2025
 - Insomnia
 - Fri 21 February 2025
 - Community
 - Thu 20 February 2025
 - Socks as a means of expression
 - Wed 19 February 2025
 - Trying
 - Tue 18 February 2025
 - Intro to Djangonaut Space
 - Mon 17 February 2025
 - Lightning Talk Idea
 - Sun 16 February 2025
 - The Trouble with Karabiner
 - Sat 15 February 2025
 - all-star-break-doldrums
 - Fri 14 February 2025
 - Great Swimming
 - Thu 13 February 2025
 - Creating Documentation from an XML file using Python
 - Wed 12 February 2025
 - Picking a Ticket
 - Tue 11 February 2025
 - Djangonaut Space - Session 4
 - Mon 10 February 2025
 - How to Make a Hard Decision
 - Sun 09 February 2025
 - PyCascades 2025 - Postlude
 - Sat 08 February 2025
 - PyCascades 2025
 - Fri 07 February 2025
 - Social Events
 - Thu 06 February 2025
 - Shoresy
 - Thu 06 February 2025
 - Technical Solutions to People Problems
 - Wed 05 February 2025
 - Swimming as a means of Meditating
 - Tue 04 February 2025
 - Prepping for PyCascades
 - Mon 03 February 2025
 - AHL All Star Challenge
 - Mon 03 February 2025
 - How to Watch a Hockey Game - Reading the Standings
 - Sun 02 February 2025
 - Moving Away from Big Tech
 - Sat 01 February 2025
 - California Winter League
 - Fri 31 January 2025
 - How to Watch a Hockey Game - What to Watch
 - Wed 29 January 2025
 - How to Watch a Hockey Game - Game Play
 - Mon 27 January 2025
 - How to Watch a Hockey Game - Three Rules
 - Tue 21 January 2025
 - Remember the Colosseum!
 - Fri 17 January 2025
 - Looking Back at the Half Marathon Streak
 - Thu 02 January 2025
 - Year in Review 2024
 - Tue 26 November 2024
 - Weezer Live
 - Sat 23 November 2024
 - uv and pip
 - Wed 20 November 2024
 - Migrating django-tailwind-cli to Django Commons
 - Sun 17 November 2024
 - DjangoCon US 2024
 - Wed 23 October 2024
 - Django Commons
 - Thu 17 October 2024
 - DjangoCon US 2024 Talk
 - Thu 03 October 2024
 - Summer of Writing
 - Mon 16 September 2024
 - Mentors
 - Thu 29 August 2024
 - Reflections on Djangonaut Space Session 2
 - Thu 22 August 2024
 - How to ask why without sounding like a jerk
 - Sat 13 July 2024
 - SSH Keys
 - Thu 20 June 2024
 - Spring of Transition
 - Fri 24 May 2024
 - Using justpath to go on a pyrrhic adventure to clean up my PATH
 - Fri 29 March 2024
 - Trying out pyenv ... again
 - Tue 19 March 2024
 - Winter of Learning
 - Sat 24 February 2024
 - An Argument to Realign the AHL
 - Sun 31 December 2023
 - Year in Review 2023
 - Fri 15 December 2023
 - So you want to give a talk at a conference?
 - Tue 14 November 2023
 - Error Culture Part III
 - Thu 09 November 2023
 - Error Culture Part II
 - Sun 29 October 2023
 - Error Culture
 - Tue 24 October 2023
 - DjangoCon US 2023
 - Sat 01 July 2023
 - Firebirds Inaugural Season
 - Sat 01 April 2023
 - GCP Cloud Architect Exam Experience
 - Sat 12 November 2022
 - Contributing to Django or how I learned to stop worrying and just try to fix an ORM Bug
 - Sun 28 August 2022
 - Upgrading to PostgreSQL 14
 - Fri 05 August 2022
 - A Goodbye to Vin
 - Wed 15 June 2022
 - Django and Legacy Databases
 - Fri 08 April 2022
 - Inserting a URL in Markdown in VS Code
 - Thu 07 April 2022
 - Logging Part 2
 - Wed 30 March 2022
 - Logging Part 1
 - Sun 27 February 2022
 - New Theme, who dis?
 - Sat 19 February 2022
 - I made a Slackbot!
 - Wed 09 February 2022
 - Putting it All Together
 - Wed 02 February 2022
 - Automating the file creation
 - Fri 28 January 2022
 - Auto Generating the Commit Message
 - Wed 26 January 2022
 - git add filename automation
 - Mon 24 January 2022
 - Auto Tweeting New Post
 - Sun 16 January 2022
 - Adding Search to My Pelican Blog with Datasette
 - Mon 22 November 2021
 - The Well Maintained Test
 - Tue 26 October 2021
 - Styling Clean Up with Bash
 - Sun 22 August 2021
 - djhtml and justfile
 - Mon 09 August 2021
 - Prototyping with Datasette
 - Sat 07 August 2021
 - Contributing to Tryceratops
 - Fri 09 July 2021
 - Contributing to django-sql-dashboard
 - Wed 07 July 2021
 - Publishing content to Pelican site
 - Mon 05 July 2021
 - Setting up the Server to host my Pelican Site
 - Fri 02 July 2021
 - Migrating to Pelican from Wordpress
 - Sun 13 June 2021
 - Debugging Setting up a Django Project
 - Sun 06 June 2021
 - My First Python Package
 - Mon 31 May 2021
 - How does my Django site connect to the internet anyway?
 - Sun 14 March 2021
 - Enhancements: Using GitHub Actions to Deploy
 - Sun 07 March 2021
 - Setting up multiple Django Sites on a Digital Ocean server
 - Sun 28 February 2021
 - Using PostgreSQL
 - Sun 21 February 2021
 - Automating the deployment
 - Sun 14 February 2021
 - Preparing the code for deployment to Digital Ocean
 - Sun 07 February 2021
 - Getting your Domain to point to Digital Ocean Your Server
 - Sun 31 January 2021
 - Setting up the Server (on Digital Ocean)
 - Wed 27 January 2021
 - Writing tests for Django Admin Custom Functionality
 - Sun 24 January 2021
 - Deploying a Django Site to Digital Ocean - A Series
 - Sat 23 January 2021
 - Django form filters
 - Sat 16 January 2021
 - Using different .env files
 - Wed 21 October 2020
 - Logging in a Django App
 - Mon 29 June 2020
 - Writing a Raffle Script
 - Sun 03 May 2020
 - Issues with psycopg2 … again
 - Sat 02 May 2020
 - My First Django Project
 - Sat 28 March 2020
 - Using Python to Check for File Changes in Excel
 - Sat 15 February 2020
 - Getting asked for Advice on being a Data Analyst
 - Mon 10 February 2020
 - Mischief Managed
 - Wed 25 December 2019
 - CBV - PasswordChangeDoneView
 - Sun 22 December 2019
 - CBV - PasswordChangeView
 - Tue 17 December 2019
 - A beginners guide to Tableau Conference - 2019 edition
 - Sun 15 December 2019
 - CBV - LoginView
 - Sun 15 December 2019
 - CBV - LogoutView
 - Wed 11 December 2019
 - CBV - DeleteView
 - Sun 08 December 2019
 - CBV - UpdateView
 - Sat 07 December 2019
 - My first commit to an Open Source Project: Django
 - Wed 04 December 2019
 - CBV - FormView
 - Sun 01 December 2019
 - CBV - CreateView
 - Wed 27 November 2019
 - CBV - DayArchiveView
 - Sun 24 November 2019
 - CBV - ArchiveIndexView
 - Sun 24 November 2019
 - CBV - DetailView
 - Sun 17 November 2019
 - CBV - BaseListView
 - Sun 17 November 2019
 - CBV - ListView
 - Thu 14 November 2019
 - Fixing a PyCharm issue when updating Python made via HomeBrew
 - Sun 10 November 2019
 - CBV - RedirectView
 - Wed 06 November 2019
 - Updating the models for my Django Rest Framework API
 - Sun 03 November 2019
 - CBV - Template View
 - Sun 27 October 2019
 - CBV - View
 - Sun 27 October 2019
 - Class Based Views
 - Sat 31 August 2019
 - My first project after completing the 100 Days of Web in Python
 - Sun 18 August 2019
 - My Experience with the 100 Days of Web in Python
 - Sun 28 July 2019
 - Epic Family Road trip - 2019 edition
 - Sun 23 June 2019
 - Taking Down the RPi Camera Over My Hummingbird Feeder
 - Sun 05 May 2019
 - Figuring out how Drafts REALLY works
 - Thu 25 April 2019
 - Upgrading Python in a Virtual Environment
 - Sun 07 April 2019
 - Did you try restarting it?
 - Sat 30 March 2019
 - Creating Hastags for Social Media with a Drafts Action
 - Mon 25 March 2019
 - Making it easy to ssh into a remote server: Addendum
 - Sat 16 March 2019
 - Receipts
 - Sat 22 December 2018
 - Keeping Python up to date on macOS
 - Sat 15 December 2018
 - An Evening with Post Modern Jukebox
 - Tue 04 December 2018
 - Monitoring the temperature of my Raspberry Pi Camera
 - Sat 01 December 2018
 - iPad versus MacBook Pro
 - Wed 28 November 2018
 - Fizz Buzz
 - Tue 27 November 2018
 - Share Your Gifts
 - Sun 25 November 2018
 - Adding my Raspberry Pi Project code to GitHub
 - Sat 10 November 2018
 - The PIR Sensor Debacle of 2018
 - Fri 09 November 2018
 - ITFKH!!!
 - Mon 05 November 2018
 - Hosing my WiFi set up
 - Sat 03 November 2018
 - New  Watch
 - Sun 12 August 2018
 - Moving my Pycharm Directory or How I spent my Saturday after jacking up my PyCharm environment
 - Fri 15 June 2018
 - How to Ryan
 - Fri 08 June 2018
 - Basketball Conference Finals OR How the actions of one person can fire up the other team and lead them to win
 - Thu 07 June 2018
 - Using Drafts 5 at Work
 - Sun 27 May 2018
 - Setting up Jupyter Notebook on my Linode
 - Wed 23 May 2018
 - A Summary of Dale Carnegie’s “How to Win Friends and Influence People”
 - Sat 19 May 2018
 - Updating my meeting Workflow for Drafts 5
 - Sat 05 May 2018
 - OmniFocus 3!
 - Sat 05 May 2018
 - Making it easy to ssh into a remote server
 - Wed 02 May 2018
 - Automating the Hummingbird Video Upload to YouTube or How I finally got Cron to do what I needed it to do but in the ugliest way possible
 - Tue 01 May 2018
 - Whoops! Or how I broke my website by installing Nginx with Apache
 - Fri 20 April 2018
 - Cronjob Redux
 - Tue 10 April 2018
 - Cronjob ... Finally
 - Sat 07 April 2018
 - SSL ... Finally!
 - Thu 05 April 2018
 - Hummingbird Video Capture
 - Mon 02 April 2018
 - How to pick a team to root for (when the Dodgers aren’t playing)
 - Sun 01 April 2018
 - ITFDB Demo
 - Mon 26 March 2018
 - Daylight Savings Time
 - Wed 21 March 2018
 - The LA Marathon
 - Tue 20 March 2018
 - Talk Python Build 10 Apps Review
 - Thu 15 March 2018
 - Setting up ITFDB with a voice
 - Thu 08 March 2018
 - HIMSS Day 3
 - Thu 08 March 2018
 - HIMSS Day 2
 - Wed 07 March 2018
 - HIMSS Day 1 Impressions
 - Tue 06 March 2018
 - An Introvert’s guide to large conferences ... or how I survived HIMSS 2018 (and 2017 and 2016)
 - Tue 13 February 2018
 - Fixing the Python 3 Problem on my Raspberry Pi
 - Tue 13 February 2018
 - ITFDB!!!
 - Sat 10 February 2018
 - Using MP4Box to concatenate many .h264 files into one MP4 file: revisited
 - Thu 08 February 2018
 - Using MP4Box to concatenate many .h264 files into one MP4 file
 - Sun 04 February 2018
 - The Sports Center Effect
 - Fri 12 January 2018
 - My Map Art Project
 - Sat 30 December 2017
 - My Outlook Review Process
 - Thu 28 December 2017
 - Rules and Actions in Outlook or How I stayed sane after coming back to 1000+ emails
 - Wed 27 December 2017
 - My Mac session with Apple
 - Fri 15 December 2017
 - Why Ulysses is Awesome
 - Fri 15 December 2017
 - Setting the Timezone on my server
 - Fri 15 December 2017
 - Setting up the site with SSL
 - Tue 12 December 2017
 - Installing fonts in Ulysses
 - Sun 03 December 2017
 - Switching to Linode
 - Sun 01 October 2017
 - Migrating from Square Space to Word Press
 - Sun 24 September 2017
 - Podcasts I like
 - Sun 17 September 2017
 - Making Background Images
 - Thu 24 August 2017
 - The why of a decision
 - Thu 03 August 2017
 - Making the Right Choice, or How I Learned to Live with Limiting My Own Technical Debt and Just Be Happy
 - Fri 28 July 2017
 - The Technical Debt of Others
 - Mon 17 July 2017
 - Getting CPHIMS(R) Certified - Part III
 - Sun 16 July 2017
 - Getting CPHIMS(R) Certified - Part II
 - Thu 13 July 2017
 - Getting CPHIMS(R) Certified - Part I
 - Mon 13 March 2017
 - Updating my LinkedIn Profile
 - Sat 25 February 2017
 - HIMSS Recap
 - Thu 23 February 2017
 - HIMSS review
 - Sun 19 February 2017
 - HIMSS 2017 - Day 0
 - Sat 04 February 2017
 - Making Better Meetings ... maybe
 - Sat 28 January 2017
 - Success through failure
 - Fri 27 January 2017
 - Struggle determines success
 - Sat 14 January 2017
 - Communication and Checklists
 - Sat 07 January 2017
 - Big Data and Healthcare - thoughts
 - Sun 25 December 2016
 - Presenting Data - Referee Crew Calls in the NFL
 - Thu 22 December 2016
 - Rogue One - A Star Wars Story
 - Sat 17 December 2016
 - It's Science!
 - Tue 29 November 2016
 - Declaring Omnifocus Bankrupty
 - Mon 28 November 2016
 - Keeping track of which movies I want to watch
 - Fri 25 November 2016
 - Dropbox Files Word Cloud
 - Thu 24 November 2016
 - Installing the osmnx package for Python
 - Wed 23 November 2016
 - Twitter Word Cloud
 - Tue 22 November 2016
 - Home, End, PgUp, PgDn ... BBEdit Preferences
 - Mon 21 November 2016
 - Pitching Stats and Python
 - Sat 19 November 2016
 - Web Scrapping - Passer Data (Part III)
 - Fri 18 November 2016
 - Web Scrapping - Passer Data (Part II)
 - Fri 18 November 2016
 - Web Scrapping - Passer Data (Part I)
 - Sat 29 October 2016
 - Pushing Changes from Pythonista to GitHub - Step 1
 - Sat 22 October 2016
 - An Update to my first Python Script
 - Sat 15 October 2016
 - My First Python Script that does 'something'
 - Fri 07 October 2016
 - Converting Writing Examples from doc to markdown: My Process
 - Mon 03 October 2016
 - Vin's Last Game