<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: jeremy_k</title><link>https://news.ycombinator.com/user?id=jeremy_k</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 15 Apr 2026 11:38:23 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=jeremy_k" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by jeremy_k in "Ask HN: Share your personal website"]]></title><description><![CDATA[
<p><a href="https://jeremykreutzbender.com" rel="nofollow">https://jeremykreutzbender.com</a></p>
]]></description><pubDate>Wed, 14 Jan 2026 19:05:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=46620972</link><dc:creator>jeremy_k</dc:creator><comments>https://news.ycombinator.com/item?id=46620972</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46620972</guid></item><item><title><![CDATA[New comment by jeremy_k in "Creators of Tailwind laid off 75% of their engineering team"]]></title><description><![CDATA[
<p>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</p>
]]></description><pubDate>Wed, 07 Jan 2026 17:05:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=46528983</link><dc:creator>jeremy_k</dc:creator><comments>https://news.ycombinator.com/item?id=46528983</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46528983</guid></item><item><title><![CDATA[New comment by jeremy_k in "Be Careful with GIDs in Rails"]]></title><description><![CDATA[
<p>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.</p>
]]></description><pubDate>Tue, 16 Dec 2025 15:24:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=46289667</link><dc:creator>jeremy_k</dc:creator><comments>https://news.ycombinator.com/item?id=46289667</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46289667</guid></item><item><title><![CDATA[New comment by jeremy_k in "Netflix to Acquire Warner Bros"]]></title><description><![CDATA[
<p>Please Netflix, green light Westworld season 5</p>
]]></description><pubDate>Fri, 05 Dec 2025 15:24:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=46162506</link><dc:creator>jeremy_k</dc:creator><comments>https://news.ycombinator.com/item?id=46162506</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46162506</guid></item><item><title><![CDATA[New comment by jeremy_k in "You should write an agent"]]></title><description><![CDATA[
<p><a href="https://github.com/sst/opencode" rel="nofollow">https://github.com/sst/opencode</a> 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 <a href="https://opencode.ai/s/4P4ancv4" rel="nofollow">https://opencode.ai/s/4P4ancv4</a><p>The summary is<p>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!</p>
]]></description><pubDate>Fri, 07 Nov 2025 00:07:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=45842160</link><dc:creator>jeremy_k</dc:creator><comments>https://news.ycombinator.com/item?id=45842160</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45842160</guid></item><item><title><![CDATA[Octoverse: A new developer joins GitHub every second]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.blog/news-insights/octoverse/octoverse-a-new-developer-joins-github-every-second-as-ai-leads-typescript-to-1/">https://github.blog/news-insights/octoverse/octoverse-a-new-developer-joins-github-every-second-as-ai-leads-typescript-to-1/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=45735154">https://news.ycombinator.com/item?id=45735154</a></p>
<p>Points: 6</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 28 Oct 2025 16:39:59 +0000</pubDate><link>https://github.blog/news-insights/octoverse/octoverse-a-new-developer-joins-github-every-second-as-ai-leads-typescript-to-1/</link><dc:creator>jeremy_k</dc:creator><comments>https://news.ycombinator.com/item?id=45735154</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45735154</guid></item><item><title><![CDATA[The second wave of MCP: Building for LLMs, not developers]]></title><description><![CDATA[
<p>Article URL: <a href="https://vercel.com/blog/the-second-wave-of-mcp-building-for-llms-not-developers">https://vercel.com/blog/the-second-wave-of-mcp-building-for-llms-not-developers</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=45240289">https://news.ycombinator.com/item?id=45240289</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Sun, 14 Sep 2025 15:03:50 +0000</pubDate><link>https://vercel.com/blog/the-second-wave-of-mcp-building-for-llms-not-developers</link><dc:creator>jeremy_k</dc:creator><comments>https://news.ycombinator.com/item?id=45240289</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45240289</guid></item><item><title><![CDATA[The Long Game: why Rails survived the hype cycle]]></title><description><![CDATA[
<p>Article URL: <a href="https://evilmartians.com/chronicles/the-long-game-why-rails-survived-the-hype-cycle-and-what-it-means-for-your-startup">https://evilmartians.com/chronicles/the-long-game-why-rails-survived-the-hype-cycle-and-what-it-means-for-your-startup</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=44962189">https://news.ycombinator.com/item?id=44962189</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 20 Aug 2025 14:16:17 +0000</pubDate><link>https://evilmartians.com/chronicles/the-long-game-why-rails-survived-the-hype-cycle-and-what-it-means-for-your-startup</link><dc:creator>jeremy_k</dc:creator><comments>https://news.ycombinator.com/item?id=44962189</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44962189</guid></item><item><title><![CDATA[New comment by jeremy_k in "Claude Sonnet 4 now supports 1M tokens of context"]]></title><description><![CDATA[
<p>I do not have AI install packages or do things like run Git commands for me.</p>
]]></description><pubDate>Wed, 13 Aug 2025 14:03:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=44888594</link><dc:creator>jeremy_k</dc:creator><comments>https://news.ycombinator.com/item?id=44888594</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44888594</guid></item><item><title><![CDATA[New comment by jeremy_k in "Claude Sonnet 4 now supports 1M tokens of context"]]></title><description><![CDATA[
<p>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.<p>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.</p>
]]></description><pubDate>Tue, 12 Aug 2025 21:45:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=44882153</link><dc:creator>jeremy_k</dc:creator><comments>https://news.ycombinator.com/item?id=44882153</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44882153</guid></item><item><title><![CDATA[New comment by jeremy_k in "Claude Sonnet 4 now supports 1M tokens of context"]]></title><description><![CDATA[
<p>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.</p>
]]></description><pubDate>Tue, 12 Aug 2025 18:45:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=44880271</link><dc:creator>jeremy_k</dc:creator><comments>https://news.ycombinator.com/item?id=44880271</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44880271</guid></item><item><title><![CDATA[New comment by jeremy_k in "Claude Sonnet 4 now supports 1M tokens of context"]]></title><description><![CDATA[
<p>What kind of security issues are you thinking about? I'm generating UI components like Selects for certain data types or Charts of data.</p>
]]></description><pubDate>Tue, 12 Aug 2025 18:42:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=44880223</link><dc:creator>jeremy_k</dc:creator><comments>https://news.ycombinator.com/item?id=44880223</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44880223</guid></item><item><title><![CDATA[New comment by jeremy_k in "Claude Sonnet 4 now supports 1M tokens of context"]]></title><description><![CDATA[
<p>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.<p>Overall, React / Typescript I heavily let Claude write the code.<p>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.<p>Overall, helpful for Ruby, I still write most of the code.<p>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.</p>
]]></description><pubDate>Tue, 12 Aug 2025 17:47:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=44879612</link><dc:creator>jeremy_k</dc:creator><comments>https://news.ycombinator.com/item?id=44879612</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44879612</guid></item><item><title><![CDATA[New comment by jeremy_k in "Linear sent me down a local-first rabbit hole"]]></title><description><![CDATA[
<p>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.<p>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.<p>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.</p>
]]></description><pubDate>Fri, 08 Aug 2025 14:55:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=44837755</link><dc:creator>jeremy_k</dc:creator><comments>https://news.ycombinator.com/item?id=44837755</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44837755</guid></item><item><title><![CDATA[New comment by jeremy_k in "Ask HN: What are you working on? (July 2025)"]]></title><description><![CDATA[
<p>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.<p>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.</p>
]]></description><pubDate>Mon, 28 Jul 2025 14:57:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=44711518</link><dc:creator>jeremy_k</dc:creator><comments>https://news.ycombinator.com/item?id=44711518</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44711518</guid></item><item><title><![CDATA[New comment by jeremy_k in "Opencode: AI coding agent, built for the terminal"]]></title><description><![CDATA[
<p>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.</p>
]]></description><pubDate>Wed, 09 Jul 2025 20:57:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=44514666</link><dc:creator>jeremy_k</dc:creator><comments>https://news.ycombinator.com/item?id=44514666</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44514666</guid></item><item><title><![CDATA[New comment by jeremy_k in "Opencode: AI coding agent, built for the terminal"]]></title><description><![CDATA[
<p>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!<p>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.</p>
]]></description><pubDate>Sun, 06 Jul 2025 23:59:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=44485307</link><dc:creator>jeremy_k</dc:creator><comments>https://news.ycombinator.com/item?id=44485307</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44485307</guid></item><item><title><![CDATA[New comment by jeremy_k in "How to Write Compelling Release Announcements"]]></title><description><![CDATA[
<p>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.</p>
]]></description><pubDate>Wed, 25 Jun 2025 16:28:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=44379115</link><dc:creator>jeremy_k</dc:creator><comments>https://news.ycombinator.com/item?id=44379115</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44379115</guid></item><item><title><![CDATA[New comment by jeremy_k in "Ask HN: Is there any demand for Personal CV/Resume website?"]]></title><description><![CDATA[
<p>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.<p>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.</p>
]]></description><pubDate>Mon, 09 Jun 2025 16:40:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=44226267</link><dc:creator>jeremy_k</dc:creator><comments>https://news.ycombinator.com/item?id=44226267</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44226267</guid></item><item><title><![CDATA[New comment by jeremy_k in "Ask HN: Is anyone still programming the old-fashioned way (without LLMs)?"]]></title><description><![CDATA[
<p>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.</p>
]]></description><pubDate>Mon, 09 Jun 2025 16:10:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=44225948</link><dc:creator>jeremy_k</dc:creator><comments>https://news.ycombinator.com/item?id=44225948</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44225948</guid></item></channel></rss>