Kane Jamison @kanejamison.com · 21/08/2026“Babe, wake up. They merged Batch support into SolidQueue” 👀 👀 👀 Have been waiting for this email for a couple of years! 2121
Kane Jamison @kanejamison.com · 15/05/2026Whatever you buy, figure out a way to do 100 foot land to the units that are furthest from the modem. I don’t think it matters which brand when you start getting 50+ away. Here is my before and after. 020
Kane Jamison @kanejamison.com · 13/03/2026I’ve seen Claude code display a lot of verbs on my terminal… not sure if I’ve seen that one yet. 000
Kane Jamison @kanejamison.com · 31/01/2026The suggested prompts in the Claude <> Google Calendar connector are coming at me way too hard today. Just trying to get a little personal organization work done here, ease up. 141
Kane Jamison @kanejamison.com · 18/12/2025Being able to generate multiple states for a given screen is pretty awesome. 100
Kane Jamison @kanejamison.com · 18/12/2025My thread got pretty tripped up at the screenshot design task. 100
Kane Jamison @kanejamison.com · 10/12/2025Holy cow the blind spot for him to call out this particular license aspect, while he is embroiled in a frivolous lawsuit with WPEngine for almost the same thing. 150
Kane Jamison @kanejamison.com · 08/12/2025Today is the 20th anniversary of the time in college when my friend Jeff gave me some free shared web hosting, and I decided to build a music blog with something called "WordPress." It would have been on version 1.5 I believe, since this was a few weeks before WordPress 2.0 was released. 060
Kane Jamison @kanejamison.com · 08/12/2025I was sad that you can't make 3-split the default when opening a CTRL + N new terminal window, however, you can set `window-save-state = always` and it will open those 3 panes each time you have to restart Ghostty. 010
Kane Jamison @kanejamison.com · 08/12/2025I have also been playing with this switch from macos terminal to Ghostty this week after seeing one of @robbyonrails.com's t-shirt posts... I've been having a lot of luck with this 3-split layout. Claude + scripts + bin/dev. 140
Kane Jamison @kanejamison.com · 05/12/2025I like to tell myself that when the robots take over they'll keep me around because I have a fun energy. 030
Kane Jamison @kanejamison.com · 04/12/2025Dark mode just uses `invert` filter to make the black text white: 000
Kane Jamison @kanejamison.com · 04/12/2025This was the before version. I like fast-loading text but it needed a little more personality. I had Gemini generate 10 signature variations with some style instructions, then removed the background with Adobe for free at full resolution. Not exactly SVG but a transparent PNG is nice enough. 100
Kane Jamison @kanejamison.com · 04/12/2025Wasn't happy with the 'logo' on my personal site so generated a signature version that I like the look of. Not giving away my actual handwriting seems like a nice use case for AI 🤔 110
Kane Jamison @kanejamison.com · 13/11/2025I don't love the idea of having the thing strapped to my face all day, but, the ability to work on a 'full life' screen is appealing to try. I just can't fit everything I want even on a 35" curved widescreen + laptop off to the side. 000
Kane Jamison @kanejamison.com · 12/11/2025Yes correct. I can't really tell what linting rule is being applied, but IMO the multi-line seems more aggressive than it should be. Particularly in a Tailwind type of environment, breaking this example div on line 164 into multiline looks crazy to me. Here's the before and after. 100
Kane Jamison @kanejamison.com · 12/11/2025@marcoroth.dev Not sure what version of HERB I'm on but this style of multi-line HTML formatting started happening for me today after restarting Zed. It goes away when I turn off all LSPs. I assume it's not the default or intended linting effect but maybe I'm wrong about that? 200
Kane Jamison @kanejamison.com · 12/11/2025I restarted Zed and started getting the worst linting effect possible on ERB. I hope it's not HERB doing this but I have disabled erb_lint and html_beautifier that I was using and it's still happening... 110
Kane Jamison @kanejamison.com · 04/11/2025Me getting an email from Dependabot that a dependency just jumped from version 9 to version 43. 180
Kane Jamison @kanejamison.com · 22/10/2025I sort of understand why Ruby Gem authors set an upper bound on a dependency in a gemspec... "hey I have only tested this up to Rails 8.0, not promising it works with 8.1" But my immediate reaction is to fork / remove the gem if it's going to be extra drag weight on keeping my app up to date. 160
Kane Jamison @kanejamison.com · 14/10/2025For reference, here's what it does - the date strings eg "September 2025" don't shift left/right when the stable gutter space is reserved: 010
Kane Jamison @kanejamison.com · 14/10/2025Looks like the arbitrary tag syntax version works great, however. I'm actually not sure why this isn't the default scrollbar behavior to be honest... it's a better experience. 110
Kane Jamison @kanejamison.com · 14/10/2025Just caught Claude Code making up a fake @tailwindcss.com class, but in Claude's defense, this would be an awesome class to have =) 130
Kane Jamison @kanejamison.com · 14/10/2025Nice. This one armed fella showed up in our garden last month and hung out for a few days in the rock garden. And TIL, apparently they camouflage based on surroundings (and when molting). I had no idea. So yours might be matching the paint. www.ipm.org/show/amoment... 010
Kane Jamison @kanejamison.com · 12/10/2025Here is my CI - if you add `continue-on-error: true` at the job level and again at the step level, it will force your CI to pass and show ✅ even though you might have unresolved offenses. At the pace Marco is going, I'm guessing this is useful short term before there is a `generate-todo`. 000
Kane Jamison @kanejamison.com · 12/10/2025And if you don't have Claude Code filing Github Issues for you yet you should totally try it. It creates the cleanest markdown formatted Issues with acceptance criteria and tags and all that fun stuff. 100
Kane Jamison @kanejamison.com · 12/10/2025Each set of offenses is fairly straightforward, but tagging @claude to tackle each Github Issue makes it easy to review a single offense type at a time. Only downside to this approach is that one file or tag might have multiple offenses, creating git conflicts if you run them in parallel. 100
Kane Jamison @kanejamison.com · 12/10/2025I got Herb working in CI last night. The new Herb Linter flagged many more 'offenses' (214) than the `herb analyze .` command (14 files). Feel more like Standardrb. I had Claude parse the entire lint output and file it into Github Issues to address in separate PRs. Amazing work @marcoroth.dev 🙏 3172
Kane Jamison @kanejamison.com · 09/10/2025Just went through the entire “hell yeah” video in my brain. youtube.com/shorts/dsCsR... 010
Kane Jamison @kanejamison.com · 30/09/2025Afterwards the AI gives you an automated interview assessment. I scored 5 out of 5 in Technical Communication, because: "Your ability to articulate your concerns (for example your comment, 'wtf this is a waste of time') while staying professional is a valuable skill in real-world engineering." 160
Kane Jamison @kanejamison.com · 26/09/2025Am I crazy or is ZipRecruiter an elaborate scheme to hire people to work at ZipRecruiter? 050
Kane Jamison @kanejamison.com · 22/08/2025Interesting pricing quirk on AI costs... if you have a medium length prompt, eg 400 tokens, it's more cost effective to add more boilerplate guidance to the model to qualify for cached inputs, which are eligible for prompts over 1024 tokens. 1200 cached input tokens is cheaper than 400 uncached. 010
Kane Jamison @kanejamison.com · 20/08/2025Apparently there is a `reasoning.effort = low/medium/high` setting you can flag on reasoning models: platform.openai.com/docs/guides/... So that is my next stop in testing. 110
Kane Jamison @kanejamison.com · 20/08/2025*Specifically* - gpt-5-nano uses a ton of reasoning tokens to accomplish what are mildly better results for my use case. BUT - this is a completion that I'll be calling millions of times - meaning it gets slightly better results for a cost of 600x more! Estimate is $350,000 for my volume 😱 110
Kane Jamison @kanejamison.com · 20/08/2025This is an identical prompt getting sent to gpt-4.1-nano and gpt-5-nano. Based upon the -nano designation you might expect similar behavior. 5-nano is actually *half* the price on input tokens & same price on output, so it's surely a better deal, right? But the output behavior is way different: 130
Kane Jamison @kanejamison.com · 14/08/2025Content Harmony's keyword database is up to nearly 500 million keywords. Full keyword search completes in 3-10 seconds usually. Here's 15 seconds to fetch 4 million keywords containing the phrase 'best'. Postgres GIN indexes are pretty incredible. 040
Kane Jamison @kanejamison.com · 12/08/2025Alright going a little nuts with these now. Added to invitations and team members page - will make it easy to spot non-company accounts or mis-typed domains. 010
Kane Jamison @kanejamison.com · 12/08/2025Teeny little feature but finally adding favicons into Content Harmony 200
Kane Jamison @kanejamison.com · 11/08/2025On the flip side, I see that there's setup instructions for Single Database mode - that maybe feels simpler? github.com/rails/solid_... 000
Kane Jamison @kanejamison.com · 02/08/2025The outreach spammers are just loving @beehiiv.com. I only actually sign up for maybe 5% of the emails I get from them. Pretty sure they intentionally don’t have a “I never signed up for this” feedback loop when you reach this page. 010