Kevin Jalbert's Blog
Reflecting on the Future of My Website
Using ChatGPT and Whisper: A New Approach to Blog Writing
Using Excalidraw's Embedded Scene Feature for Collaborative Diagramming
Sharing Plex with Common Media Sense age-restrictions
Making AirPlay work with Chromecast Devices
Sync Twitter Following to a List
Turning a Webpage into a Basic iOS App
Getting Non-HomeKit Devices Working in HomeKit
iOS Shortcuts: Actionable Notifications
Quantified Self: Measure What you Want to Manage
Git Bisect: Only the Current Branch
Digging through Git History for Removed Text
Import Raindrop.io Highlights into Readwise
Improvised Portable Smart Speaker
Access Local Docker Containers by Domain Names instead of Ports
Quickly Toggle Fonts in Google Docs
Releasing github_contributions Ruby Gem
Gamifying my Son's Physiotherapy
Steam Remote Play is Amazing
Global Hotkeys using the Hyper Key
Apple Watch's Walkie Talkie...? Nah, Just Call Me
Document Storage: Migrating Evernote to Google Drive
Stub Sleeps in Tests
Rails Testing: Reload the Model
Embrace Active Support without Rails
Keep a macOS Application Running using cron
AppleScript that Mirrors iPhone to QuickTime
How I Keep Active At Home
Wrapping Shell Commands and Keep the Original Name
Reflecting on Five Years of Monthly Blogging
Using URL Scheme Links in Notion
Custom Notion iOS Widget
Guided Access on iOS - A Hidden Gem
Daily Review Using iOS Shortcuts and Scriptable
My Dam Broke - Revisiting Content Consumption
Working From Home: Family, I'm Busy Now
Improve Your Home Office - Miscellaneous Aspects
Improve Your Home Office - Input/Output Devices
Improve Your Home Office - Physical Space
Improve Your Home Office
Moving from RSS Feeds to Email
Testing the Use of Rails Caching
Consolidating Notion Projects into notion-toolbox
Learn More About Yourself Using Personality Types
Using iOS Shortcuts to Open Notion Pages
Docker Compose DNS Consistency (DCDC)
Introducing notion-scripts
Integrating Notion with Google Assistant
Integrating Notion with Alfred
My Weekly Notion Setup
Editing Commits in a Pull Request; Make it your Last Action
Consuming Content and Managing the Flood
Decompressing when Working Remotely
Level Up Your Commit Messages
Archive Unused Repositories
Tracking Production Disruptions
Automating Slack Statuses for Meetings and Focus Time
Todoist with Keyboard Navigation via Nativefier
Video Clubs: A Way to Keep Up
GraphQL Persisted Queries with HTTP Caching [Part 4]
GraphQL Persisted Queries with HTTP Caching [Part 3]
GraphQL Persisted Queries with HTTP Caching [Part 2]
GraphQL Persisted Queries with HTTP Caching [Part 1]
Migrating PostgreSQL to Aurora with near Zero-Downtime
iTerm2 Mouseless Copy
Jest Snapshots: Reducing styled-jsx Noise
Editing with Pry
Rails ActiveStorage Configuration for Minio
Start Now: Architecture Decision Records
Slack Reminding Users and Channels
GitHub: Tell Me When It Closes Extension
Share Highlighted Articles
Synchronizing my dotfiles
Self-Improvement, Accountability and Transparancy
Knowledge and Screencast Culture
Make the most of your Chat Channels
Create your own Pronto Runner
Bluetooth Connection/Battery Script for macOS
Cut Code Review Noise on GitHub
Find and Bury Dead Code
Simplify the Styles, Drop the Distractions
Information at a Glance: RailsRequestStats
Deploying my Website to GitHub Pages
Sidekiq: Contained Callbacks
Let's pry into Ruby Objects
Git Evolution: How did we get Here?
Port Mapping Development Servers
More Shell History
Keep on Learning, but don't Forget to Remember
Enhanced Vim Searching
Defined Methods in Rake Tasks; You're Gonna Have a Bad Time
Vim Substitution Feedback Using vim-over
Project-Wide Search and Replace with Vim
Respect HTTP Caching
Faster RSpec Regression Testing
Share Your Bag of Tricks
No Excuses: Verifying RSpec Test Doubles