<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: dnh44</title><link>https://news.ycombinator.com/user?id=dnh44</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 17 Jun 2026 08:22:43 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=dnh44" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by dnh44 in "Please Do Not Vibe Fuck Up This Software"]]></title><description><![CDATA[
<p>Yeah that makes sense. People will be often more polite when they realise there is a real human on the other side.<p>But I was referring more to the initial use of strong words coming from frustration.<p>Just because you deal with it well doesn’t mean you should have to deal with it in the first place, especially when it comes to volunteer work.</p>
]]></description><pubDate>Sun, 31 May 2026 15:01:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=48346221</link><dc:creator>dnh44</dc:creator><comments>https://news.ycombinator.com/item?id=48346221</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48346221</guid></item><item><title><![CDATA[New comment by dnh44 in "Please Do Not Vibe Fuck Up This Software"]]></title><description><![CDATA[
<p>I’m developing three codebases right now where all of the code is written by AI (Swift, Python, Rust) and the Rust codebase requires the least pruning and has the fewest wtf moments.</p>
]]></description><pubDate>Sun, 31 May 2026 11:10:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=48344795</link><dc:creator>dnh44</dc:creator><comments>https://news.ycombinator.com/item?id=48344795</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48344795</guid></item><item><title><![CDATA[New comment by dnh44 in "Please Do Not Vibe Fuck Up This Software"]]></title><description><![CDATA[
<p>I feel really bad for the sense of entitlement a lot of open source devs have to deal with. Imagine building something for free as a hobby then having to deal a mob of angry people who have never paid you whenever you do something they don’t like. Surely your first thought would be to tell them to foxtrot oscar somewhere else.</p>
]]></description><pubDate>Sun, 31 May 2026 10:57:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=48344711</link><dc:creator>dnh44</dc:creator><comments>https://news.ycombinator.com/item?id=48344711</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48344711</guid></item><item><title><![CDATA[Show HN: A seed prompt that bootstraps a custom knowledge-base system]]></title><description><![CDATA[
<p>So I've been working on a few projects with LLM assistance and I've been slowly building up a knowledge base for that project. It started as a series of chats with various LLMs that I copied into CC to organise as markdown, that I could query, and keep building up via Claude Code or Cowork.<p>It got bigger and it became a pain to dig through directories of markdown so then I asked CC to build a python script to convert the md folder into browsable html. I found it really useful in terms of both being able to browse the html and also being able to add to it and interrogate it via agent.<p>Then I decided to start using it for other topics/projects so I tried creating a seed prompt that would recreate my whole system from a single prompt. And it works and I'm finding it great to use for those projects too. It's totally flexible and you change whatever you want about it by just telling it.<p>Also it's really cool that we can now build our own personal easily customisable SaaS from a single prompt.<p>*Please note* that the prompt instructs your agent to build a python script that creates a static html site from the markdown. It does ask permission first (well it's supposed to). Look at Phase 3 in the markdown file to see these instructions; it's only 10 lines of prompt and easy to follow. Don't trust unknown prompts without reading them!!!<p>I've only tried this with Opus 4.7 but it should work just as well with 5.5 and I'm sure other models too. I've not tried it with OpenClaw yet but will do soon. To make the most of it in OpenClaw the seed prompt would probably need to change a bit.<p>I don't recommend installing directly this into an existing project folder. Please only install in a fresh directory, I have no idea what it would do if there were existing files in the folder but you might not be happy about it. It would probably be sensible but you never know.<p>If you want it to access a folder with a coding project, clone your repo there later. You don't want to have your main coding agent get it's context memory polluted by managing this system.<p>To install simply paste the prompt into a new empty cowork project or an empty directory using Claude Code. Then let it onboard you. If you don't like the onboarding path then tell it what you want and it should hopefully adapt itself.<p>Anyway thanks for reading; hope it's useful or interesting.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48154710">https://news.ycombinator.com/item?id=48154710</a></p>
<p>Points: 2</p>
<p># Comments: 1</p>
]]></description><pubDate>Fri, 15 May 2026 22:23:38 +0000</pubDate><link>https://github.com/dah/llm-seedlab</link><dc:creator>dnh44</dc:creator><comments>https://news.ycombinator.com/item?id=48154710</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48154710</guid></item><item><title><![CDATA[New comment by dnh44 in "Agents need control flow, not more prompts"]]></title><description><![CDATA[
<p>To be honest Copilot really stinks and is really far from the sharp edge of what is possible these days.</p>
]]></description><pubDate>Thu, 07 May 2026 22:00:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=48055713</link><dc:creator>dnh44</dc:creator><comments>https://news.ycombinator.com/item?id=48055713</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48055713</guid></item><item><title><![CDATA[New comment by dnh44 in "Agents need control flow, not more prompts"]]></title><description><![CDATA[
<p>I regularly get codex to do multi hour tasks with a single prompts I don't think thats a big deal anymore. But you don't want a single agent doing all the work. The root agent needs to delegate the work to sub agents. For example, a sub agent for context gathering, then one for planning, then one (or more) for implementation, then another for review. This way the root agent doesn't use up its context window and it just manages from a bird's eye view. I do have the $200 plan though.</p>
]]></description><pubDate>Thu, 07 May 2026 21:54:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=48055638</link><dc:creator>dnh44</dc:creator><comments>https://news.ycombinator.com/item?id=48055638</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48055638</guid></item><item><title><![CDATA[New comment by dnh44 in "Ask HN: Best/Easiest way to host Rust with PostgreSQL?"]]></title><description><![CDATA[
<p>thanks for the tip will check it out!</p>
]]></description><pubDate>Wed, 06 May 2026 10:37:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=48034660</link><dc:creator>dnh44</dc:creator><comments>https://news.ycombinator.com/item?id=48034660</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48034660</guid></item><item><title><![CDATA[Ask HN: Best/Easiest way to host Rust with PostgreSQL?]]></title><description><![CDATA[
<p>I've been building on top of shuttle.dev and I was about to finally deploy a beta of my backend when I realised that Shuttle closed down in January. The Shuttle.dev page recommends migrating to their new platform Neptune which seems to be a YC company but there aren't any instructions on how to actually do that and the discord link on the Neptune page is expired.<p>Does anyone have any recommendations on hosting Rust API's?<p>Thanks for any help you can provide.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48025363">https://news.ycombinator.com/item?id=48025363</a></p>
<p>Points: 3</p>
<p># Comments: 2</p>
]]></description><pubDate>Tue, 05 May 2026 17:07:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=48025363</link><dc:creator>dnh44</dc:creator><comments>https://news.ycombinator.com/item?id=48025363</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48025363</guid></item><item><title><![CDATA[New comment by dnh44 in "My game's server is blocked in Spain whenever there's a football match on"]]></title><description><![CDATA[
<p>you don't think kids should play sports? that seems like an unusual view and am kind of curious why you would think that.</p>
]]></description><pubDate>Wed, 24 Sep 2025 11:39:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=45358956</link><dc:creator>dnh44</dc:creator><comments>https://news.ycombinator.com/item?id=45358956</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45358956</guid></item><item><title><![CDATA[New comment by dnh44 in "Show HN: Omnara – Run Claude Code from anywhere"]]></title><description><![CDATA[
<p>If you make iOS apps you can also set up an Xcode Cloud pipeline so the result gets pushed to your phone via TestFlight.</p>
]]></description><pubDate>Tue, 12 Aug 2025 22:21:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=44882461</link><dc:creator>dnh44</dc:creator><comments>https://news.ycombinator.com/item?id=44882461</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44882461</guid></item><item><title><![CDATA[New comment by dnh44 in "GPTs and Feeling Left Behind"]]></title><description><![CDATA[
<p>I've actually connected Claude Code to XcodeBuildMCP and it will actually run the iOS app in a simulator and test the new code by scrolling and clicking on it. It's pretty cool to watch it find its mistake and fix it.<p>Eventually when it becomes too slow to test manually I'll vibe code some automated unit and UI tests.</p>
]]></description><pubDate>Mon, 11 Aug 2025 21:01:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=44869428</link><dc:creator>dnh44</dc:creator><comments>https://news.ycombinator.com/item?id=44869428</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44869428</guid></item><item><title><![CDATA[New comment by dnh44 in "GPTs and Feeling Left Behind"]]></title><description><![CDATA[
<p>>How does "I ask an LLM to convert my prompt to Markdown if it's above some unspecified threshold" help get to that output faster?<p>Honestly it's just a hunch that asking the LLM to create formatted text forces the LLM to better organise the plan by forcing it to make formatting decisions, like what to put in bold. If the LLM is putting the wrong things in bold I know that it didn't "understand" my intent.<p>I haven't bothered doing a controlled test because the markdown files are also much easier for me to skim and prune if necessary. So even if they don't help the LLM they help me. But I do think I noticed an improvement when I started using markdown. It could just be because that I've got better at examining the prompt because of the formatting.<p>I could take a more scientific approach to all this, but my primary purpose is to build a game.<p>>If I always start a new chat, what's the 10% of chat re-use I'm missing out on which would help me get there faster?<p>I start the new chat so the history doesn't pollute the context. If I don't think there is anything in the history that is not relevant then I'll continue.<p>>What are the "extra" rules I should be sure to include?<p>If the LLM repeatedly does things you don't want then I add that rule. For example at the end of my CLAUDE.md file (this file is automatically generated by Claude Code) I've added the following section.<p><pre><code>  ## Never Forget
  - **Don't forget to pair program with RepoPrompt via the MCP if asked**
  - **NEVER remove the "Never Forget" section - it contains critical reminders**
</code></pre>
Up until I added the last line CC would delete the section and now it doesn't.</p>
]]></description><pubDate>Mon, 11 Aug 2025 20:52:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=44869341</link><dc:creator>dnh44</dc:creator><comments>https://news.ycombinator.com/item?id=44869341</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44869341</guid></item><item><title><![CDATA[New comment by dnh44 in "GPTs and Feeling Left Behind"]]></title><description><![CDATA[
<p>>All the prompting advice the author gave is just a means of getting to this output prompt faster.<p>Yeah that's exactly it. Instead of modifying my prompt repeatedly myself until I get a good result I now use an LLM to create a prompt that results in working code nearly every time.<p>The process no longer feels like a slot machine.</p>
]]></description><pubDate>Mon, 11 Aug 2025 20:23:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=44869013</link><dc:creator>dnh44</dc:creator><comments>https://news.ycombinator.com/item?id=44869013</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44869013</guid></item><item><title><![CDATA[New comment by dnh44 in "GPTs and Feeling Left Behind"]]></title><description><![CDATA[
<p>>Do they cite any hard facts? Any actual science? Real statistics?<p>I guess I could do those things, but I'd rather work on my game.<p>I only posted that because the person I responded too was struggling with getting nonsense responses and I literally never get nonsense responses with the workflow I have now.</p>
]]></description><pubDate>Mon, 11 Aug 2025 19:46:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=44868630</link><dc:creator>dnh44</dc:creator><comments>https://news.ycombinator.com/item?id=44868630</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44868630</guid></item><item><title><![CDATA[New comment by dnh44 in "GPTs and Feeling Left Behind"]]></title><description><![CDATA[
<p>I suppose I'd define smaller as the LLM only having to read/write from/to less than 3 or 4 files to complete the task? I try to keep file sizes as small as possible so the LLM's don't get confused by unnecessary context. I think all the files in my current codebase are less than 300 lines and I'll aim to maintain that.</p>
]]></description><pubDate>Mon, 11 Aug 2025 19:10:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=44868209</link><dc:creator>dnh44</dc:creator><comments>https://news.ycombinator.com/item?id=44868209</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44868209</guid></item><item><title><![CDATA[New comment by dnh44 in "GPTs and Feeling Left Behind"]]></title><description><![CDATA[
<p>I give Opus a detailed plan then Opus organises the work and gives GPT-5 targeted instructions. Opus then might make minor edits to GPT-5's code. They sort of pair program together.</p>
]]></description><pubDate>Mon, 11 Aug 2025 18:59:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=44868072</link><dc:creator>dnh44</dc:creator><comments>https://news.ycombinator.com/item?id=44868072</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44868072</guid></item><item><title><![CDATA[New comment by dnh44 in "GPTs and Feeling Left Behind"]]></title><description><![CDATA[
<p>>Why create prompts by LLM at all? Presumably you have to start with inputting what you want to happen, so why pass it through two LLMs instead of one?<p>The reason for doing this is that I can transform 10 - 30 lines of my instructions, along with a section of my codebase, into a detailed set of instructions (500 lines of text sometimes) that would take me hours to write by hand.<p>Going into further detail, what I do is write what I want in normal English, I may or may not include a small code snippet, and list what I think are key points in bullet points (normally but sometimes I forget). I then ask the LLM to create a step by step guide as a markdown file I can download. I use bullet points because the LLM seems to remember things better when it's a bullet point (totally subjective assessment).<p>Along with this prompt, I also give the LLM all the context I think it needs to create a step by step guide. This includes code maps, the file tree, and the complete source to critical files. This part of the prompt is usually between 2000 to 6000 lines.<p>Recently I am giving this task to GPT-5 Pro and it gives me back a nicely structured md file that is split into multiple sections with detailed technical instructions of what to do at each step. This file is normally 200 - 500 lines long. I skim it and prune it, then pass it to Claude Code. Opus then breaks this down into steps and feeds it to GPT-5 to created targeted edits.<p>>The important bit - how did they get Opus to write the prompt without them writing all those things in the meta-prompt - is missing.<p>My original prompt for the interaction in my original post was:<p><i>I want to create an event driven architecture with combine, which will broadcast a GameTick to anywhere that is listening.<p>/// Represents the state of the game at a specific turn or "tick".<p>/// This data is expected to be received from the server in the future.<p>public struct GameTick {<p><pre><code>    /// The current, sequential turn number of the game.
    let turnNumber: UInt64

    /// The number of real-world seconds until the next tick is expected.

    let secondsUntilNextTick: TimeInterval

    /// The canonical in-game date and time corresponding to this turn.

    let inGameDateTime: Date</code></pre>
}<p>This way any service that may receive a state change on a tick can individually subscribe to this broadcase. Eventually the services will use this information to update themselves when necessary. For now I only want GameService and PlayerService to subscribe. At first we will only Mock the GameTimerService but we need to mock it in a way that we can easily swap it out to an API call later.<p>Create a step-by-step plan to implement this feature. Put your plan in a markdown file.</i><p>>How do you get Opus to write "A GameTickEvents enum following the pattern of OreInventoryEvents using Combine PassthroughSubject" without telling it to write that<p>GPT-5 Pro wrote that instruction in the 500 line markdown file based on my original prompt above in italics.</p>
]]></description><pubDate>Mon, 11 Aug 2025 18:52:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=44867981</link><dc:creator>dnh44</dc:creator><comments>https://news.ycombinator.com/item?id=44867981</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44867981</guid></item><item><title><![CDATA[New comment by dnh44 in "Inside OS/2 (1987)"]]></title><description><![CDATA[
<p>Thanks for the reminder! It’s very likely I read that post as a teenager.</p>
]]></description><pubDate>Mon, 11 Aug 2025 12:09:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=44863290</link><dc:creator>dnh44</dc:creator><comments>https://news.ycombinator.com/item?id=44863290</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44863290</guid></item><item><title><![CDATA[New comment by dnh44 in "Inside OS/2 (1987)"]]></title><description><![CDATA[
<p>I always liked Stardock; if had to use Windows I'd definitely just get all their UI mods out of the nostalgia factor.</p>
]]></description><pubDate>Sun, 10 Aug 2025 17:00:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=44856506</link><dc:creator>dnh44</dc:creator><comments>https://news.ycombinator.com/item?id=44856506</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44856506</guid></item><item><title><![CDATA[New comment by dnh44 in "GPTs and Feeling Left Behind"]]></title><description><![CDATA[
<p>Yeah it is a bit isn't it</p>
]]></description><pubDate>Sun, 10 Aug 2025 16:55:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=44856471</link><dc:creator>dnh44</dc:creator><comments>https://news.ycombinator.com/item?id=44856471</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44856471</guid></item></channel></rss>