<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: Winsaucerer</title><link>https://news.ycombinator.com/user?id=Winsaucerer</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 07 Apr 2026 05:59:31 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=Winsaucerer" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by Winsaucerer in "I Audited Three Vibe Coded Products in a Single Day"]]></title><description><![CDATA[
<p>This was a great read, thanks.  Definitely provides evidence for my fears about vibe coded projects built by people who lack expertise to guide AI well.  And if these are the issues you can see, it makes you wonder about what's hard to discover.  Security to me is one of those things you want to be thinking about throughout the whole process of building it, not something you tack on at the end.</p>
]]></description><pubDate>Fri, 20 Feb 2026 15:22:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=47089137</link><dc:creator>Winsaucerer</dc:creator><comments>https://news.ycombinator.com/item?id=47089137</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47089137</guid></item><item><title><![CDATA[Show HN: Spawn – PostgreSQL migrate/test build system with minijinja (not vibed)]]></title><description><![CDATA[
<p>Hi! Very excited to share my project spawn, a db migration/build system. For now, it supports PostgreSQL via psql to create and apply migrations, as well as write golden file tests. It has some innovations that I think make it very useful relative to other options I've tried.<p>GitHub: <a href="https://github.com/saward/spawn" rel="nofollow">https://github.com/saward/spawn</a><p>Docs: <a href="https://docs.spawn.dev/" rel="nofollow">https://docs.spawn.dev/</a><p>Shout out to minijinja (<a href="https://docs.rs/minijinja/latest/minijinja/" rel="nofollow">https://docs.rs/minijinja/latest/minijinja/</a>) which has made a lot of the awesomeness possible!<p>Some features (PostgreSQL via psql only for now):<p>- Store functions/views/data in separate files<p>- Git diff shows exactly what changed in a function in new migrations<p>- Easy writing of tests for functions/views/triggers<p>- Env specific variables, so migrations apply test data to dev/local db targets only<p>- Generate data from JSON files<p>- Macros for easily generating repeatable SQL, and other cool tricks (e.g., view tear-down and re-create)<p>I started this project around two years ago. Finally have been able to get it to an MVP state I am happy with. I love using PostgreSQL and all its features, but current available tooling makes utilising some of those features more challenging<p>I created spawn to solve my own personal pain points. The main one was, how to manage updates for things like views and functions? There's a few challenges (and spawn doesn't solve all), but the main one was creating and reviewing the migration. The typical (without spawn) approach is one of:<p>1. Copy function into new migration and edit. This makes PR reviews hard because all you see is a big blob of new changes.<p>2. Repeatable migrations. This breaks old migrations when building from scratch, if those migrations depend on DDL or DML from repeatable migrations.<p>3. Sqitch rework. Works, but is a bit cumbersome overall with the DAG, and I hit limitations with sqitch's variables support (and Perl) for other things I wanted to do.<p>Spawn is my attempt to solve this, along with an easy (single binary) way to write and run tests. You:<p>- Store view or function in its own separate file.<p>- Include it in your migration with a template (e.g., {% include "functions/hello.sql" %})<p>- Build migration to see the final SQL, or apply to database.<p>- Pin migration to forever lock it to the component as it is now. This is very similar to 'git commit', allowing the old migration to run the same as when it was first created, even if you later change functions/hello.sql.<p>- Update the function later by editing functions/hello.sql in place and importing it into your new migration. Git diff shows exactly what changed in hello.sql.<p>Please check it out, let me know what you think, and hopefully it's as useful for you as it has been for me. Thanks!<p>(AI disclosure: around 90% of non-test code by me, AI was used more once the core architecture was in place, and for assisting in generating docs)</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47055579">https://news.ycombinator.com/item?id=47055579</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 18 Feb 2026 00:46:52 +0000</pubDate><link>https://github.com/saward/spawn</link><dc:creator>Winsaucerer</dc:creator><comments>https://news.ycombinator.com/item?id=47055579</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47055579</guid></item><item><title><![CDATA[New comment by Winsaucerer in "150k lines of vibe coded Elixir: The good, the bad and the ugly"]]></title><description><![CDATA[
<p>Some database tests can't be done within transactions.  With postgres, I create a copy of the database via WITH TEMPLATE, and each test runs in its own copy of the database.  Then it can use or avoid transactions as it pleases, because the whole thing is local to that one tests anyway.</p>
]]></description><pubDate>Mon, 26 Jan 2026 01:11:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=46760563</link><dc:creator>Winsaucerer</dc:creator><comments>https://news.ycombinator.com/item?id=46760563</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46760563</guid></item><item><title><![CDATA[New comment by Winsaucerer in "Sequoia backs Zed"]]></title><description><![CDATA[
<p>That makes sense.  The rest of us left ST a long while ago, and the rest remain because they're happy with it and have been for a long time.</p>
]]></description><pubDate>Thu, 21 Aug 2025 13:20:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=44972434</link><dc:creator>Winsaucerer</dc:creator><comments>https://news.ycombinator.com/item?id=44972434</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44972434</guid></item><item><title><![CDATA[New comment by Winsaucerer in "Australian court finds Apple, Google guilty of being anticompetitive"]]></title><description><![CDATA[
<p>I heard they are targeting Andromeda with the next round of tariffs.</p>
]]></description><pubDate>Tue, 12 Aug 2025 14:21:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=44876555</link><dc:creator>Winsaucerer</dc:creator><comments>https://news.ycombinator.com/item?id=44876555</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44876555</guid></item><item><title><![CDATA[New comment by Winsaucerer in "Do not download the app, use the website"]]></title><description><![CDATA[
<p>I hate Imgur.  Even with the app installed I find it doesn’t work well.  I don’t understand why people use it — does it just work for them in a way it doesn’t for me, or are they more tolerant of its terrible usability?</p>
]]></description><pubDate>Sat, 26 Jul 2025 01:42:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=44690557</link><dc:creator>Winsaucerer</dc:creator><comments>https://news.ycombinator.com/item?id=44690557</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44690557</guid></item><item><title><![CDATA[New comment by Winsaucerer in "Nobody knows how to build with AI yet"]]></title><description><![CDATA[
<p>What sort of code are you writing?  I find a lot of my stuff requires careful design, refactoring an existing system to work in a new way.<p>If the code I was writing was, say, small websites all the time for different clients, I can see it being a big improvement.  But iterating on a complex existing platform, I’m not so sure that AI will keep the system designed in a maintainable and good way.<p>But if your experience is with the same sort of code as me, then I may have to re evaluate my judgments.</p>
]]></description><pubDate>Sun, 20 Jul 2025 14:20:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=44625458</link><dc:creator>Winsaucerer</dc:creator><comments>https://news.ycombinator.com/item?id=44625458</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44625458</guid></item><item><title><![CDATA[New comment by Winsaucerer in "AI capex is so big that it's affecting economic statistics"]]></title><description><![CDATA[
<p>I'm one of those people who thinks simultaneously that (a) current AI cannot replace developers, it just isn't good enough (and I don't think it's good for it to write much code), and (b) AI is simply an incredible invention and will go down as one of the top 5 or 10 in history.<p>I've said the same thing as you, that there is a LOT left to be done with current AI capabilities, and we've barely scratched the surface.</p>
]]></description><pubDate>Sat, 19 Jul 2025 09:44:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=44614001</link><dc:creator>Winsaucerer</dc:creator><comments>https://news.ycombinator.com/item?id=44614001</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44614001</guid></item><item><title><![CDATA[New comment by Winsaucerer in "Computer Scientists Figure Out How to Prove Lies"]]></title><description><![CDATA[
<p>Presumably more questions can cover a wider variety of skills/techniques/topics.  If the student doesn't know in advance which 10 will be selected, they either have to pray they're lucky, or work diligently on all problems.</p>
]]></description><pubDate>Thu, 10 Jul 2025 12:38:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=44520316</link><dc:creator>Winsaucerer</dc:creator><comments>https://news.ycombinator.com/item?id=44520316</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44520316</guid></item><item><title><![CDATA[New comment by Winsaucerer in "Tell HN: I Lost Joy of Programming"]]></title><description><![CDATA[
<p>I would love someone to do some research on attitudes towards how self-driving AI is, compared to factors like:<p>- Type of dev work (infra, frontend, backend, etc)<p>- Programming language<p>- Level of experience<p>- Quality expectations of project/work environment</p>
]]></description><pubDate>Thu, 10 Jul 2025 02:55:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=44516753</link><dc:creator>Winsaucerer</dc:creator><comments>https://news.ycombinator.com/item?id=44516753</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44516753</guid></item><item><title><![CDATA[New comment by Winsaucerer in "Tell HN: I Lost Joy of Programming"]]></title><description><![CDATA[
<p>The main problem I have with auto-suggestions is that they distract my flow of thinking.  Suddenly, I go from thinking about my code carefully, to reviewing someone else's code.  To the point where I get a bit stressed typing, worrying that if I go too slow, the suggestion will pop up.  As you may guess, I therefore have them turned off :)<p>I am playing with Zed now though, and it has a "subtle" mode for suggestions which is great.  When I explicitly want to see them, I press option key.  Otherwise, I don't see them.</p>
]]></description><pubDate>Tue, 08 Jul 2025 13:47:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=44499940</link><dc:creator>Winsaucerer</dc:creator><comments>https://news.ycombinator.com/item?id=44499940</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44499940</guid></item><item><title><![CDATA[New comment by Winsaucerer in "Tell HN: I Lost Joy of Programming"]]></title><description><![CDATA[
<p>Is AI genuinely that good for you all?  I can't leave it to its own devices, I have to review everything because (from experience) I don't trust it.  I think it's an amazing technological advancement, perhaps will go down as one of the top 10 in the history of our species.  But I can't just "fire and forget".<p>And that's not just because its output is often not the best, but also because by doing it myself it causes me to think deeply about the problem, come up with a better solution that considers edge cases.  Furthermore, it gives me knowledge in my head about that project that helps me for the next change.<p>I see comments here where people seem to have eliminated almost all of their dev work, and it makes me wonder what I'm doing wrong.</p>
]]></description><pubDate>Tue, 08 Jul 2025 13:00:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=44499546</link><dc:creator>Winsaucerer</dc:creator><comments>https://news.ycombinator.com/item?id=44499546</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44499546</guid></item><item><title><![CDATA[New comment by Winsaucerer in "Why I left my tech job to work on chronic pain"]]></title><description><![CDATA[
<p>I am also a fellow human.</p>
]]></description><pubDate>Sat, 05 Jul 2025 13:01:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=44472526</link><dc:creator>Winsaucerer</dc:creator><comments>https://news.ycombinator.com/item?id=44472526</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44472526</guid></item><item><title><![CDATA[New comment by Winsaucerer in "A proof-of-concept neural brain implant providing speech"]]></title><description><![CDATA[
<p>Without having RTFA, I'd guess/predict that it will be possible to learn to only do this intentionally, much like we can think about raising our arm without actually raising it.</p>
]]></description><pubDate>Wed, 02 Jul 2025 14:28:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=44444158</link><dc:creator>Winsaucerer</dc:creator><comments>https://news.ycombinator.com/item?id=44444158</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44444158</guid></item><item><title><![CDATA[New comment by Winsaucerer in "What happens when clergy take psilocybin"]]></title><description><![CDATA[
<p>My own view is an idealist style one, where I think God impresses experiences upon us, and the experiences we have are determined by physical states.  On this view, it's impossible to have a religious experience without there being appropriate physical states in place.  In other words, agreeing with your conclusion.</p>
]]></description><pubDate>Tue, 17 Jun 2025 04:30:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=44295786</link><dc:creator>Winsaucerer</dc:creator><comments>https://news.ycombinator.com/item?id=44295786</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44295786</guid></item><item><title><![CDATA[New comment by Winsaucerer in "Generative AI coding tools and agents do not work for me"]]></title><description><![CDATA[
<p>There's a difference between reviewing code by developers you trust, and reviewing code by developers you don't trust or AI you don't trust.<p>Although tbh, even in the worse case I think I am still faster at reviewing than writing.  The only difference is though, those reviews will never have had the same depth of thought and consideration as when I write the code myself.  So reviews are quicker, but also less thorough/robust than writing for me.</p>
]]></description><pubDate>Tue, 17 Jun 2025 04:10:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=44295684</link><dc:creator>Winsaucerer</dc:creator><comments>https://news.ycombinator.com/item?id=44295684</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44295684</guid></item><item><title><![CDATA[New comment by Winsaucerer in "Generative AI coding tools and agents do not work for me"]]></title><description><![CDATA[
<p>This kind of thing is my main use, boilerplate stuff  And for scripts that I don't care about -- e.g., if I need a quick bash script to do a once off task.<p>For harder problems, my experience is that it falls over, although I haven't been refining my LLM skills as much as some do.  It seems that the bigger the project, the more it integrates with other things, the worse AI is.  And moreover, for those tasks it's important for me or a human to do it because (a) we think about edge cases while we work through the problem intellectually, and (b) it gives us a deep understanding of the system.</p>
]]></description><pubDate>Tue, 17 Jun 2025 04:00:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=44295643</link><dc:creator>Winsaucerer</dc:creator><comments>https://news.ycombinator.com/item?id=44295643</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44295643</guid></item><item><title><![CDATA[New comment by Winsaucerer in "Musk-Trump dispute includes threats to SpaceX contracts"]]></title><description><![CDATA[
<p>Some people really do act like that, in my limited experience.  Trump's opinion changes and lo and behold their beliefs have updated to the same view as Trump's.</p>
]]></description><pubDate>Sun, 08 Jun 2025 04:08:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=44214489</link><dc:creator>Winsaucerer</dc:creator><comments>https://news.ycombinator.com/item?id=44214489</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44214489</guid></item><item><title><![CDATA[New comment by Winsaucerer in "Medieval Africans had a unique process for purifying gold with glass (2019)"]]></title><description><![CDATA[
<p>I actually do think of him as a candidate for wealthiest person to have ever lived.</p>
]]></description><pubDate>Sat, 07 Jun 2025 15:34:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=44210328</link><dc:creator>Winsaucerer</dc:creator><comments>https://news.ycombinator.com/item?id=44210328</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44210328</guid></item><item><title><![CDATA[New comment by Winsaucerer in "Medieval Africans had a unique process for purifying gold with glass (2019)"]]></title><description><![CDATA[
<p>That's definitely a reasonable way to think about it.  Another though is in terms of social status and ability to direct human labor, in which case most people are not more wealthy.</p>
]]></description><pubDate>Sat, 07 Jun 2025 11:39:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=44208978</link><dc:creator>Winsaucerer</dc:creator><comments>https://news.ycombinator.com/item?id=44208978</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44208978</guid></item></channel></rss>