petegraham.com
Articles
TIL
About
Pete Graham
Bridging Technology Strategy & Business Scaling
GitHub Pages PR Previews
Does OpenClaw Deliver?
Cursor Agents
Hell Yeah or No
Publishing Jekyll Articles from an iPhone
Writing Why Keep It Short? Part 2
Writing Why Keep It Short?
Why I’m Still Using a Laptop to Write on Trains
iPhone Writing Stand
Magic Keyboard on iPhone
Writing on an iPhone
Writing
Habit Tracking
Generating Software Architecture Diagrams with LLMs
Faff connecting a new Kindle to a Mac with a USB cable
Showing UK postcode data on a map using Redash
Anonymising email addresses for GDPR & safe development
Getting Redash running on macOS
Book Review Shoe Dog
Book Review American Kingpin
AWS CLI bucket to bucket sync
Rename Postgres table with Alembic migrations
Interleave two strings in Python
App Store iOS 7 loophole
Upgrading a Django 1.8 site to Python 3
Django Upgrade Maverick Style
Talk: Django and Python 3. Video and Slides
The Python 3 Problem and how Swift side steps it
AWS and Chrome DNS tricks
Google docs PDF download from Jekyll
S3 Automatic Image Compression
Github Issues Excel Export
Talk: Warblr Proof of Concept
Python and Excel for Data Import
Talk: Python and Functional Programming
Talk: Git Strikes Back
Talk: Using the Github API with Python
Talk: Deployment
Talk: McLaren F1 and Node.js