I’ve been using Claude Code pretty often since it started being included in the Claude Pro plan back in June 2025. With this plan, you pay a fixed amount (currently $20/month) and get a limited amount of usage with various Claude products. With Claude Code, the way usage limits work is twofold: you get a 5-hour “session” window with a smaller limit, and a 7-day “weekly” window with a larger…
I designed my personal site from scratch many years ago, and since then it’s undergone plenty of incremental changes. Considering my general lack of artistic ability… the results are probably what you would expect. I recently decided to tweak the CSS styles of my blog’s homepage, since I felt the “recent posts” list was starting to get too dense and hard to read as I added more posts. This is what…
When I was moving to the DC area in early 2025, my apartment search was plagued by luxury highrise buildings with tons of fake reviews, algorithmic pricing, and hidden fees. We toured a couple, but honestly I was so exasperated by their deceptive practices that I decided to say screw it and only look at small, independent landlords. Searching Zillow For whatever reason, Zillow seemed to be the…
I recently decided to try my hand at creating a Go-based website with the Gin framework, and I was surprised to find there isn’t a simple way to host this app on my personal server which is running Apache. In the past I’ve created a couple of web apps with Sinatra (in Ruby), and deploying them was relatively simple. It required just installing the Phusion Passenger packages with apt, enabling the…
tl;dr: check it out at hn.caleb.software. Front Page News I like Hacker News. For all of its warts (looking at you, crypto bros) it’s a great place for finding interesting tech articles and blogs. The site guidelines are pretty straightforward, saying that “if they’d cover it on TV news, it’s probably off-topic.” While the posts and discussions are usually high quality, this doesn’t stop the…
Anyone familiar with bash1 knows about tilde expansion: in shell scripts and from the terminal, the tilde character is automatically replaced with the value of the $HOME variable, which points to the current user’s home directory. That means that $ cd ~ is automatically expanded to $ cd /home/caleb which can be a very convenient shortcut! In Ruby Sometime in 20152, I had switched my computer over…
Sometimes a blog post can get too long, and it makes sense to split it into multiple parts. For example, I recently posted about my HN Reader project, and split it into multiple posts with each one detailing different aspects of the project (frontend, API, deployment, etc). Of course, a reader might find a link to a later entry in the series and want to start from the beginning, so it would be…
Turns out it’s actually really easy to have custom paragraph separators in CSS just like you’d see in a print book, like this: All of my blog’s posts are generated from markdown files by Jekyll. To insert a paragraph separator in markdown, it’s just three dashes on their own line. --- This inserts an <hr> element into the generated HTML, which by default just looks like a straight horizontal line…
I like looking at visitor statistics on my personal blog, not because it really matters or affects anything… I just think it’s pretty interesting. I looked at some of the popular options like Google Analytics and some others, but they didn’t quite fit what I was looking for. I decided I had a few requirements:
When I got my first iPhone in March I was surprised to find that iMessage didn’t support scheduling messages to be sent at a later time. This feature is pretty common on some other messaging platforms, and it’s especially useful when I remember I need to text my mom (who always has her ringer turned on) about something at 3 o’clock in the morning and I don’t want to wake her up. I played around…