HNHacker News
TopNewBestAskShowJobs

jeremy_k

497 karma · joined September 15, 2012

GitHub: https://github.com/jer-k Personal Site: https://jeremykreutzbender.com/ Contact: https://jeremykreutzbender.com/contact
submissionscomments
jeremy_k··on Vibecoding Photoshop: Time and pressure
One not mentioned in the article, but being built by someone I know is https://schist.app/
jeremy_k··on Stacked PRs are now live on GitHub
Been using it over the last week. Only complaint I had was that `gh stack rebase` was struggling rebasing after squash merges but I got a response that the rebasing had been improved so I'm looking forward to trying that out.
jeremy_k··on Ask HN: Share your personal website
https://jeremykreutzbender.com
jeremy_k··on Creators of Tailwind laid off 75% of their engineering team
You might want to clarify that Adam responded to someone commenting about another individual being laid off from Laracasts; he did not call the individual who was laid off an idiot
jeremy_k··on Be Careful with GIDs in Rails
Agreed. Seems like the author tried to get fancy using GIDs with LLMs to cut down on the logic in their tool calls and opened a can of worms.
jeremy_k··on Netflix to Acquire Warner Bros
Please Netflix, green light Westworld season 5
jeremy_k··on You should write an agent
https://github.com/sst/opencode opencode is open source. Here's a session I started but haven't had time to get back to which is using opencode to ask it about how the loop works https://opencode.ai/s/4P4ancv4

The summary is

The beauty is in the simplicity: 1. One loop - while (true) 2. One step at a time - stopWhen: stepCountIs(1) 3. One decision - "Did LLM make tool calls? → continue : exit" 4. Message history accumulates tool results automatically 5. LLM sees everything from previous iterations This creates emergent behavior where the LLM can: - Try something - See if it worked - Try again if it failed - Keep iterating until success - All without explicit retry logic!

jeremy_k··on Claude Sonnet 4 now supports 1M tokens of context
I do not have AI install packages or do things like run Git commands for me.
jeremy_k··on Claude Sonnet 4 now supports 1M tokens of context
Well in this case, I am reading through everything that is generated for Rails because I want things to be done my way. For user input, I tend to validate everything with Zod before sending it off the backend which then flows through ActiveRecord.

I get what you're saying that AI could write something that executes user input but with the way I'm using the tools that shouldn't happen.

jeremy_k··on Claude Sonnet 4 now supports 1M tokens of context
I considered this, but I'm just too comfortable writing my server logic in Ruby on Rails (as I do that for my day job and side project). I'm super comfortable writing client side React / Typescript but whenever I look at server side Typescript code I'm like "I should understand what this is doing but I don't" haha.
jeremy_k··on Claude Sonnet 4 now supports 1M tokens of context
What kind of security issues are you thinking about? I'm generating UI components like Selects for certain data types or Charts of data.
jeremy_k··on Claude Sonnet 4 now supports 1M tokens of context
Well put. It really does come down to nuance. I find Claude is amazing at writing React / Typescript. I mostly let it do it's own thing and skim the results after. I have it write Storybook components so I can visually confirm things look how I want. If something isn't quite right I'll take a look and if I can spot the problem and fix it myself, I'll do that. If I can't quickly spot it, I'll write up a prompt describing what is going on and work through it with AI assistance.

Overall, React / Typescript I heavily let Claude write the code.

The flip side of this is my server code is Ruby on Rails. Claude helps me a lot less here because this is my primary coding background. I also have a certain way I like to write Ruby. In these scenarios I'm usually asking Claude to generate tests for code I've already written and supplying lots of examples in context so the coding style matches. If I ask Claude to write something novel in Ruby I tend to use it as more of a jumping off point. It generates, I read, I refactor to my liking. Claude is still very helpful, but I tend to do more of the code writing for Ruby.

Overall, helpful for Ruby, I still write most of the code.

These are the nuances I've come to find and what works best for my coding patterns. But to your point, if you tell someone "go use Claude" and they have have a preference in how to write Ruby and they see Claude generate a bunch of Ruby they don't like, they'll likely dismiss it as "This isn't useful. It took me longer to rewrite everything than just doing it myself". Which all goes to say, time using the tools whether its Cursor, Claude Code, etc (I use OpenCode) is the biggest key but figuring out how to get over the initial hump is probably the biggest hurdle.

jeremy_k··on Linear sent me down a local-first rabbit hole
Not a lot of mention for the collaboration aspect that local first / sync engines enabled. I've been building a project using Zero that is meant to replace a Google Sheet a friend of mine uses for his business. He routinely gets on a Google Meet with a client, they both open the Sheet and then go through the data.

Before the emergence of tools like Zero I wouldn't have ever considered attempting to recreate the experience of a Google Sheet in a web app. I've previously built many live updating UIs using web sockets but managing that incoming data and applying it to the right area in the UI is not trivial. Take that and multiply it by 1000 cells in a Sheet (which is the wrong approach anyway, but it's what I knew how to build) and I can only imagine the mess of code.

Now with Zero, I write a query to select the data and a mutator to change the data and everything syncs to anyone viewing the page. It is a pleasure to work with and I enjoy building the application rather than sweating dealing with applying incoming hyper specific data changes.

jeremy_k··on Ask HN: What are you working on? (July 2025)
I'm working on a mortgage scenario planning tool. A simple mortgage calculator can give you an estimate as to how much a mortgage payment will be but there are so many other inputs that must be taken into account on a per individual basis. For example someone could input that they want to put 20% down and see the monthly payment amount but there are other fees, such as closing costs, which must be taken in account to determine how much cash on hand a buyer will need to actually transact on the mortgage.

My friend and my lender has built up a giant Google Sheet which he uses with his clients and I've been slowly working to translate the logic in that Sheet into an application. It's been a lot of fun as I've been learning how to replicate the multiplayer aspects of Sheets into a React application.

jeremy_k··on Opencode: AI coding agent, built for the terminal
That might be it. I use GitHub CoPilot through Zed as Zed does not accept the Claude subscription (that I'm using with OpenCode). I've primarily used Sonnet 3.7 in Zed, I'll try out the thinking model and see if that changes anything.
jeremy_k··on Opencode: AI coding agent, built for the terminal
Just wanted to say I had been happily plodding along using AI tools in Zed, which had worked pretty well but seeing the SST team was behind OpenCode I decided to finally give a terminal based agent a try. I was blown away, primarily by the feedback loops of say OpenCode writing new tests, running the test suite, seeing the tests errored and looping back start the whole process again. That looping does not happen in Zed!

It was the first time I felt like I could write up a large prompt, walk away from my laptop, and come back to a lot of work having been done. I've been super happy with the experience so far.

jeremy_k··on How to Write Compelling Release Announcements
Working at a company that has a structure for our product announcements that falls in line with this article, everything you said resonated. It is very interesting to come to the comments and see some negative feeling towards writing that is focused on the end user. I mean I get it, HN has a heavy user base of software engineers and so there is likely bias in what a software engineer wants to read vs the typical end user. It seems there may be value in product announcement geared towards end users and a release notes geared towards developers.
jeremy_k··on Ask HN: Is there any demand for Personal CV/Resume website?
In my mind, the question you're trying to answer is whether or not a standalone CV on a website is better than a LinkedIn profile. I'm not sure of the answer to that, but I would lean towards it isn't more valuable in a standalone fashion.

However, I added my CV to own personal website so that it can viewed by people online who come across my website through my blog posts. The intent being that if they enjoyed reading my content and wanted to learn a bit more about me, they wouldn't have to jump over to LinkedIn.

jeremy_k··on Ask HN: Is anyone still programming the old-fashioned way (without LLMs)?
I do primarily when I'm refactoring something. In those scenarios, I know exactly what I want to change and the outcome is code in a style that I feel is most understandable. I don't need anything suggesting changes (I actually don't have tab completion enabled by default, I find it too distracting but that is a different topic) because the changes already exist in my head.
jeremy_k··on Zed: High-performance AI Code Editor
I got an M4 as a new work machine and it is absolutely bonkers how much faster and quieter it is. And the battery lasts forever, even when running my dev setup. I can actually go and work at a coffee shop for a couple hours without taking the charger now.
jeremy_k··on Zed: High-performance AI Code Editor
I was a RubyMine and later IDEA user for many many years. I agree with everything you've said but I got so tired of the IDE using excessive RAM and constantly making my fan spin (2019 Intel MBP). Switching to Zed made my experience on this laptop enjoyable again, the downside being that I miss out on some of the features from the JetBrains editors.

I've learned to work around the loss of some functionality over the past 6 months since I've switched and it hasn't been too bad. The AI features in Zed have been great and I'm looking forward to the debugger release so I can finally run and debug tests in Zed.

jeremy_k··on Show HN: My AI Native Resume
Thank you for this repo! I had actually just started on building my personal MCP server over the weekend but hadn't gotten too far. Definitely going to check out the repo to see if my initial setup was off base at all.
jeremy_k··on Show HN: My AI Native Resume
I just wanted to say thank you for these replies. I was also confused by the top of this comment chain as I think that author misunderstood what the point of this project this. I wanted to jump in and say something to the effect of "The OP (Jake) has clearly shown he has the aptitude to accomplish tasks by building this tool" but you've done that far better than I could have. Thanks again.
jeremy_k··on Ask HN: Git Rebase and Merge or Squash and Merge?
A problem I just ran into with this is that squash and merge obviously loses all the history of the merged branch. If you branched off that branch, when attempting to rebase main, there are a lot of conflicts because all that history is gone. A co-worker suggested cherry-picking commits from the second branch off a clean main as an approach to not dealing with all the conflicts.

Example: main -> Branch A -> Lots of commits on A -> Branch B -> Lots of commits on B

Now we squash and merge A into main. B now has all of A's commit history, plus some of its own, instead of just it's own. Rebasing main in causes a lot of conflicts.

jeremy_k··on Ask HN: What Tools Did You Use to Land Your Current Job?
My last round of interview all stemmed from posting on the Who Wants to be Hired thread. I examined a few months of previous posts and looked for descriptions people had written that stood out and looked good. I went back and looked at a previous month I had posted and noticed that post by me didn't stand out. I added a well written prompt about what I was looking in an organization and a role and I feel like that helped to give color to who I was compared to a giant list of technologies I'm capable of working with.

I also received feedback from people who reached out that they went and read my personal website / blog; that gave them better insight into who I was. Don't underestimate the fact that soft skills and communication go a long way in the interview process and software engineering as a whole. Having a blog, which demonstrates the ability the communicate over a written medium, I feel is a great way help yourself stand out. It isn't a requirement to land a job, but I think it helps.

jeremy_k··on How to Write Blog Posts That Developers Read · Refactoring English
> I've fully focussed on the second approach. As a consequence, each article takes a lot of time to complete, so I generally don't finish more than one per month.

This is what I've been running into. My approach comes out of writing a bunch of code or re-writing the same sort of code across multiple projects and realizing it would be useful to share. Next I'll dump all the code into a blog post and have to start formulating what the structure of the post will be. What content do I need to add to support my claims that this code is correct (or correct enough to use)? Add in time to research alternative approaches to the code, research and write about the alternatives.

I've found that I'm proud of my finished articles but it takes awhile to get them written. I'm in the midst of one that I've kind of hit a writers block on because I have a fair bit of research left to do. I haven't been motivated to do the research and write up the findings. However, I feel like thats normal and I'll get back to it at some point.

jeremy_k··on Ratomic: Provides Mutable data structures for use with Ruby's Ractors
Probably worth linking to https://byroot.github.io/ruby/performance/2025/02/27/whats-t... in which Jean goes into further detail about some of nuances that go into building these types of data structures.

In particular it is mentioned

"For Ractors to be viable to run a full-on application in, Ruby would need to provide at least a few basic data structures that would be shareable across ractors, so that we can implement useful constructs like connection pools.

Perhaps some Ractor::Queue, maybe even some Ractor::ConcurrentMap, and more importantly, C extensions would need to be able to make their types movable."

Which we see in Mike's library he has started work on a Queue and a Map.

I haven't fully wrapped my head around all the nuances to using Ractors nor have I tried to do anything with them yet. But its encouraging to see the discussion around them ramping up

jeremy_k··on ClickHouse acquires OSS observability tool HyperDX
Nothing on their blog about this?
jeremy_k··on Why Ruby on Rails still matters
The data layer is an orthogonal choice to the frontend framework / library.

You could use Next.js + any API to create an application.

You could use Next.js + a sync engine to create an application.

You could use React Router + Vite + any API to create an application.

You could use React Router + Vite + a sync engine to create an application.

jeremy_k··on Zed now predicts your next edit with Zeta, our new open model
Debugger PR is here https://github.com/zed-industries/zed/pull/13433 if you want to check it out
Page 1 of 5Next →