Kane Jamison
banner
kanejamison.com
Kane Jamison
@kanejamison.com
Building @contentharmony.com for content marketing & SEO teams. Enjoying Rails & Tailwind.

🌎 Based in Anacortes, WA
👋 kanejamison.com
📝 contentharmony.com
*️⃣ fixture.media
📈 railsgrowth.com
I 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.
November 13, 2025 at 10:39 PM
every time
November 13, 2025 at 8:27 PM
Yes 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.
November 12, 2025 at 11:55 PM
@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?
November 12, 2025 at 11:48 PM
I 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...
November 12, 2025 at 11:42 PM
Me getting an email from Dependabot that a dependency just jumped from version 9 to version 43.
November 4, 2025 at 4:45 AM
I 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.
October 22, 2025 at 4:31 PM
For reference, here's what it does - the date strings eg "September 2025" don't shift left/right when the stable gutter space is reserved:
October 14, 2025 at 5:24 PM
Looks 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.
October 14, 2025 at 5:21 PM
Just caught Claude Code making up a fake @tailwindcss.com class, but in Claude's defense, this would be an awesome class to have =)
October 14, 2025 at 5:20 PM
Nice. 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...
October 14, 2025 at 3:55 PM
Here 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`.
October 12, 2025 at 5:40 PM
And 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.
October 12, 2025 at 5:31 PM
Each 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.
October 12, 2025 at 5:29 PM
I 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 🙏
October 12, 2025 at 5:25 PM
Just went through the entire “hell yeah” video in my brain.

youtube.com/shorts/dsCsR...
October 9, 2025 at 3:03 PM
Afterwards 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."
September 30, 2025 at 3:08 AM
Am I crazy or is ZipRecruiter an elaborate scheme to hire people to work at ZipRecruiter?
September 26, 2025 at 9:09 PM
Interesting 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.
August 22, 2025 at 1:15 AM
Apparently 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.
August 20, 2025 at 9:18 PM
*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 😱
August 20, 2025 at 9:15 PM
This 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:
August 20, 2025 at 9:07 PM
Content 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.
August 14, 2025 at 1:01 AM
Alright 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.
August 12, 2025 at 8:15 PM
Teeny little feature but finally adding favicons into Content Harmony
August 12, 2025 at 7:05 PM