June 16, 2025 • 4 min read •ToolsCreating Reusable Prompts in ClaudeI’ve been using Claude a lot to refine code, generate checklists, and just generally help me move faster. But I kept finding myself typing the same kinds …Read more
March 1, 2025 • 1 min read •JournalTesting publishing via email againWas having some issues with GitHub actions. Looks like this should hopefully be fixed now? 🤞🏼Read more
February 27, 2025 • 1 min read •JournalFwd: Testing blogThis is some random text. I’m tapping into my email. Hopefully it should show up on my blog soon.Read more
December 7, 2024 • 2 min read •JournalThe Shortcut to Learning: Zipf’s Law and the 80/20 RuleI came across something interesting recently called Zipf’s Law. It’s this idea that in spoken languages, a small number of words—like “the,” “and,” or “of” in …Read more
October 24, 2024 • 1 min read •JournalEmailed Posts Now Get a Footnote on ajot.meI have a little service set up for ajot.me that lets me publish posts just by sending an email. I email my content to a special address, and the post goes live …Read more
October 22, 2024 • 1 min read •Developer ExperienceThe goal of a tutorial isn’t to make people follow every step.It’s to get them up and running as quickly as possible. That’s why every guide should include the complete sample code right at the top.Read more
October 18, 2024 • 6 min read •Developer ExperienceWe’ve been on the road for 10 months now, with a two-year-old in tow.A lot of friends and family have asked why we did this, how we did this, and what it’s been like. So I thought I’d share our experience—what led to it, how it’s …Read more
October 15, 2024 • 2 min read •Developer ExperienceQuick Start Guides: Give Everything, Assume NothingDon’t know who needs to hear this, but if you’re writing a quick start guide, give people everything they need. Right there in the guide. No …Read more
September 12, 2024 • 1 min read •Developer ExperienceSitting down for breakfast in BangkokJust want to say I’m sitting down with Deepti here at breakfast story in Bangkok and really enjoying.Read more
September 11, 2024 • 1 min read •Developer ExperienceUpdating Hugo Blog via emailThis blog post was published to my Hugo blog simply by sending an email. Pretty cool. Huh!Read more
September 11, 2024 • 1 min read •Developer Experiencetest-post-from-github-apiThis is a test post created via the GitHub API.Read more
November 20, 2023 • 3 min read •TinkeringSetting Up Environment VariablesSetting Up Environment Variables to store API Keys Safely in Python Virtual Environments Introduction Working with APIs often involves handling sensitive keys. …Read more
October 30, 2023 • 9 min read •EssayCraft Quick Start Guides That Developers Will LoveQuick Start guides are your first handshake with developers. These guides are essential for getting developers onboard with your API or SDK. They’re the …Read more
October 30, 2023 • 2 min read •TinkeringSetting up default hugo frontmatterI’ve been using Hugo for my personal website, ajot.me, since migrating from Ghost, and I’ve really liked it thus far.Read more
October 11, 2023 • 3 min read •TinkeringA Weighted Points System for Cricket World Cup 2023The 2023 Cricket World Cup is in full swing, and like many fans, I wanted to keep track of the points table.Read more
October 9, 2023 • 2 min read •TinkeringExporting Media from Ghost CMS hosted on Digital OceanI recently moved my website from Ghost to Hugo. Ghost provides a built-in export function for content in JSON format (found in Labs under Settings), but it …Read more
October 5, 2023 • 2 min read •JournalWorking out in the afternoonI’ve been using this app called Rise Sleep for over a year now. Unlike many other sleep trackers, including the Oura ring, which focus on REM sleep and …Read more
August 26, 2023 • 4 min read •TinkeringAutomating Weekly Review Date Headers with AppleScript and TextExpanderWhile reviewing my week in Day One, I like to kick things off with a heading that reads something like "Week of Date 1 to Date 2." Sounds simple, right? But …Read more
August 22, 2023 • 1 min read •TinkeringQuickly Cycling Through and Fixing Spelling Errors in VS Code Markdown FilesI wanted to cycle through and fix all spelling errors in a VS Code markdown file. I already had the spell-checking extension installed but couldn't figure out …Read more
August 18, 2023 • 2 min read •TinkeringConnecting ChatGPT to Google DriveI recently built my very first app using ChatGPT's API. Just followed @greggyb's super helpful guide to write my first ChatGPT app that queries a PDF …Read more
August 18, 2023 • 2 min read •TinkeringAutomating Python Project Setup: A Shell Script to Create New Projects QuicklyAs someone who loves experimenting with Python libraries and APIs, starting new projects quickly is important. Setting up these projects can sometimes be …Read more
August 18, 2023 • 1 min read •TinkeringExport todos from Things app using AppleScriptI had a bunch of todos in the Things app that I wanted to move to my notes. Manually copying them from the app didn't grab the notes in the todo, which was …Read more
August 17, 2023 • 2 min read •TinkeringChanging the Number of Posts Displayed Per Page in Ghost CMSSo, I wanted to customize the number of posts displayed per page on my Ghost CMS website using the Dawn theme. The default setting was showing only 5 posts, and …Read more
August 17, 2023 • 2 min read •TinkeringHow to Globally Ignore .DS_Store Files in Git Repositories on a MacSo, I got tired of adding `.DS_Store` to every git repo on my Mac. I was pretty sure there would be a better way to handle this on a global way on my Mac, so I …Read more
April 26, 2022 • 3 min read •TinkeringResolving a 504 Timeout Error on Ghost with Digital OceanWoke up to a 504 error this morning. It's hosted on Digital Ocean, so I reached out to support, which wasn't very helpful. They basically said this, and then …Read more