<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: jbonatakis</title><link>https://news.ycombinator.com/user?id=jbonatakis</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 17 Apr 2026 10:20:13 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=jbonatakis" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by jbonatakis in "A new spam policy for “back button hijacking”"]]></title><description><![CDATA[
<p>> We believe that the user experience comes first<p>Bold coming from the company who gives me the most confusing “Open in app” prompts that are designed to confuse you and get you to use their app rather than the web<p><a href="https://mjtsai.com/blog/2024/03/29/those-obnoxious-sign-in-with-google-prompts/" rel="nofollow">https://mjtsai.com/blog/2024/03/29/those-obnoxious-sign-in-w...</a></p>
]]></description><pubDate>Tue, 14 Apr 2026 12:15:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=47764613</link><dc:creator>jbonatakis</dc:creator><comments>https://news.ycombinator.com/item?id=47764613</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47764613</guid></item><item><title><![CDATA[New comment by jbonatakis in "Ask HN: What Are You Working On? (April 2026)"]]></title><description><![CDATA[
<p><a href="https://pginbox.dev" rel="nofollow">https://pginbox.dev</a><p>Repo: <a href="https://github.com/jbonatakis/pginbox" rel="nofollow">https://github.com/jbonatakis/pginbox</a><p>Makes reading/searching the Postgres mailing lists easier.<p>I’m polling a Fastmail inbox to nearly instantly receive and ingest messages. Anyone can browse without an account, but registered users can follow threads to be notified of new messages, threads in which your registered email is found are auto-followed, and there are some QOL settings.<p>Search is pretty naive right now (keyword on subjects) but improved search is the next big thing on my list.</p>
]]></description><pubDate>Sun, 12 Apr 2026 21:03:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=47744446</link><dc:creator>jbonatakis</dc:creator><comments>https://news.ycombinator.com/item?id=47744446</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47744446</guid></item><item><title><![CDATA[New comment by jbonatakis in "What game engines know about data that databases forgot"]]></title><description><![CDATA[
<p>CMU very recently had a seminar [1] with the founder of SpacetimeDB, which was very interesting. The recording should be up in the next few days I expect<p>[1] <a href="https://db.cs.cmu.edu/events/pg-vs-world-spacetimedb-tyler-cloutier/" rel="nofollow">https://db.cs.cmu.edu/events/pg-vs-world-spacetimedb-tyler-c...</a></p>
]]></description><pubDate>Thu, 09 Apr 2026 19:08:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=47708259</link><dc:creator>jbonatakis</dc:creator><comments>https://news.ycombinator.com/item?id=47708259</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47708259</guid></item><item><title><![CDATA[New comment by jbonatakis in "Ask HN: What are you building that's not AI related?"]]></title><description><![CDATA[
<p>I’ve been working on a site that makes it easier to follow the Postgres mailing lists, which can be a bit of a firehose<p><a href="https://pginbox.dev" rel="nofollow">https://pginbox.dev</a></p>
]]></description><pubDate>Thu, 09 Apr 2026 16:50:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=47706007</link><dc:creator>jbonatakis</dc:creator><comments>https://news.ycombinator.com/item?id=47706007</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47706007</guid></item><item><title><![CDATA[New comment by jbonatakis in "Google Cloud: Investing in the Future of PostgreSQL"]]></title><description><![CDATA[
<p>Yet I don’t see Google listed as a sponsor for this year’s pgconf.dev [1], which is the main developer-focused conference in the Postgres community. All the other major players you’d expect to see listed are there. And they aren’t listed as a provider of servers for internal Postgres usage [2]. Perhaps they’re supporting the community in other ways I’m not aware of, but these seems to be some conspicuous areas where other companies are involved and Google isn’t.<p>[1] <a href="https://2026.pgconf.dev/sponsor" rel="nofollow">https://2026.pgconf.dev/sponsor</a><p>[2] <a href="https://www.postgresql.org/about/servers/" rel="nofollow">https://www.postgresql.org/about/servers/</a></p>
]]></description><pubDate>Wed, 01 Apr 2026 23:19:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=47607881</link><dc:creator>jbonatakis</dc:creator><comments>https://news.ycombinator.com/item?id=47607881</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47607881</guid></item><item><title><![CDATA[New comment by jbonatakis in "Ninja is a small build system with a focus on speed"]]></title><description><![CDATA[
<p>Postgres uses Meson+Ninja in their builds. That seems like a pretty big endorsement.</p>
]]></description><pubDate>Mon, 30 Mar 2026 15:27:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=47575543</link><dc:creator>jbonatakis</dc:creator><comments>https://news.ycombinator.com/item?id=47575543</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47575543</guid></item><item><title><![CDATA[New comment by jbonatakis in "Astral to Join OpenAI"]]></title><description><![CDATA[
<p>I don't know about OpenAI using a lot of Python, but Astral builds all their tools in Rust and just exposes Python bindings. Codex is all Rust. It feels like a reasonable acquisition from that perspective. They're banking on at least in part on the Astral team being able to integrate with and supercharge Codex.</p>
]]></description><pubDate>Thu, 19 Mar 2026 19:13:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=47444405</link><dc:creator>jbonatakis</dc:creator><comments>https://news.ycombinator.com/item?id=47444405</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47444405</guid></item><item><title><![CDATA[New comment by jbonatakis in "Kotlin creator's new language: a formal way to talk to LLMs instead of English"]]></title><description><![CDATA[
<p>I have been building this in my free time and it might be relevant to you: <a href="https://github.com/jbonatakis/blackbird" rel="nofollow">https://github.com/jbonatakis/blackbird</a><p>I have the same basic workflow as you outlined, then I feed the docs into blackbird, which generates a structured plan with task and sub tasks. Then you can have it execute tasks in dependency order, with options to pause for review after each task or an automated review when all child task for a given parents are complete.<p>It’s definitely still got some rough edges but it has been working pretty well for me.</p>
]]></description><pubDate>Thu, 12 Mar 2026 16:20:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=47353176</link><dc:creator>jbonatakis</dc:creator><comments>https://news.ycombinator.com/item?id=47353176</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47353176</guid></item><item><title><![CDATA[New comment by jbonatakis in "Ask HN: What Are You Working On? (March 2026)"]]></title><description><![CDATA[
<p>Very much mvp but I just got this all set up: <a href="https://www.pginbox.dev/" rel="nofollow">https://www.pginbox.dev/</a><p>Downloaded and parsed a bunch of the pgsql-hackers mailing list. Right now it’s just a pretty basic alternative display, but I have some ideas I want to explore around hybrid search and a few other things. The official site for the mailing list has a pretty clean thread display but the search features are basic so I’m trying to see how I can improve on that.<p>The repo is public too: <a href="https://github.com/jbonatakis/pginbox" rel="nofollow">https://github.com/jbonatakis/pginbox</a><p>I’ve mostly built it using blackbird [1] which I also built. It’s pretty neat having a tool you built build you something else.<p>[1] <a href="https://github.com/jbonatakis/blackbird" rel="nofollow">https://github.com/jbonatakis/blackbird</a></p>
]]></description><pubDate>Mon, 09 Mar 2026 02:31:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=47304215</link><dc:creator>jbonatakis</dc:creator><comments>https://news.ycombinator.com/item?id=47304215</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47304215</guid></item><item><title><![CDATA[New comment by jbonatakis in "GPT-5.4"]]></title><description><![CDATA[
<p>Well it’s not even performance (define that however you will), but <i>behavior</i> is definitely different model to model. So while whatever new model is released might get billed as an improvement, changing models can actually meaningfully impact the behavior of any app built on top of it.</p>
]]></description><pubDate>Thu, 05 Mar 2026 23:18:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=47268594</link><dc:creator>jbonatakis</dc:creator><comments>https://news.ycombinator.com/item?id=47268594</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47268594</guid></item><item><title><![CDATA[New comment by jbonatakis in "GPT-5.4"]]></title><description><![CDATA[
<p>Google is already sending notices that the 2.5 models will be deprecated soon while all the 3.x models are in preview. It really is wild and peak Google.</p>
]]></description><pubDate>Thu, 05 Mar 2026 22:26:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=47268149</link><dc:creator>jbonatakis</dc:creator><comments>https://news.ycombinator.com/item?id=47268149</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47268149</guid></item><item><title><![CDATA[New comment by jbonatakis in "Show HN: Steerling-8B, a language model that can explain any token it generates"]]></title><description><![CDATA[
<p>Doesn’t the nature of most open source licenses allow for AI training though?<p>Example — MIT:<p>> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions</p>
]]></description><pubDate>Tue, 24 Feb 2026 18:20:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=47140596</link><dc:creator>jbonatakis</dc:creator><comments>https://news.ycombinator.com/item?id=47140596</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47140596</guid></item><item><title><![CDATA[New comment by jbonatakis in "Show HN: Micasa – track your house from the terminal"]]></title><description><![CDATA[
<p>Just want to say, I appreciate your work on Ibis. I’ve been looking into building sort of a dbt-esque alternative on top of it and noticed how involved you’ve been with its development. I think it’s a cool piece of tech that deserves more attention.</p>
]]></description><pubDate>Thu, 19 Feb 2026 19:26:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=47077974</link><dc:creator>jbonatakis</dc:creator><comments>https://news.ycombinator.com/item?id=47077974</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47077974</guid></item><item><title><![CDATA[New comment by jbonatakis in "Show HN: GitHub "Lines Viewed" extension to keep you sane reviewing long AI PRs"]]></title><description><![CDATA[
<p>I built (using AI) a small cli that provides the breakdown of changes in a PR between docs, source, tests, etc<p><a href="https://github.com/jbonatakis/differ" rel="nofollow">https://github.com/jbonatakis/differ</a><p>It helps when there’s a massive AI PR and it’s intimidating…seeing that it’s 70% tests, docs, and generated files can make it a bit more approachable. I’ve been integrating it into my CI pipelines so I get that breakdown as a comment on the PR</p>
]]></description><pubDate>Tue, 17 Feb 2026 13:40:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=47047376</link><dc:creator>jbonatakis</dc:creator><comments>https://news.ycombinator.com/item?id=47047376</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47047376</guid></item><item><title><![CDATA[New comment by jbonatakis in "Anthropic tries to hide Claude's AI actions. Devs hate it"]]></title><description><![CDATA[
<p>(Mildly) shameless plug, but you might be interested in a tool I’ve been building: <a href="https://github.com/jbonatakis/blackbird" rel="nofollow">https://github.com/jbonatakis/blackbird</a><p>It breaks a spec (or freeform input) down into a structured json plan, then kicks off a new non-interactive session of Claude or codex for each task. Sounds like it could fit your workflow pretty well.</p>
]]></description><pubDate>Mon, 16 Feb 2026 16:56:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=47037330</link><dc:creator>jbonatakis</dc:creator><comments>https://news.ycombinator.com/item?id=47037330</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47037330</guid></item><item><title><![CDATA[New comment by jbonatakis in "MySQL foreign key cascade operations finally hit the binary log"]]></title><description><![CDATA[
<p>This is excellent. In the past when replicating via Debezium from a system making heavy use of cascade deletes I’ve had to write a layer that infers these deletes by introspecting the database schema, building a graph of all cascades (sometimes several layers) and identifying rows that <i>should</i> have corresponding delete records. These can then be excluded in whatever downstream system via an anti-join. It works but it will be better to not have to do that and instead have first class support for cascades.</p>
]]></description><pubDate>Sat, 14 Feb 2026 06:56:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=47012295</link><dc:creator>jbonatakis</dc:creator><comments>https://news.ycombinator.com/item?id=47012295</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47012295</guid></item><item><title><![CDATA[New comment by jbonatakis in "Show HN: Agent Alcove – Claude, GPT, and Gemini debate across forums"]]></title><description><![CDATA[
<p>Neat. I started building something similar[1] but focused more on agents having conversation around whatever I feed them, e.g. a design doc. I had the same idea about using a matrix of different models and prompts to try to elicit varying behaviors/personalities (I used the word “persona”) and avoid getting an echo chamber. It seemed to work well-ish but after the POC phase I got bored and stopped.<p>Have you considered letting humans create threads but agents provide the discussion?<p>[1] <a href="https://github.com/jbonatakis/panel" rel="nofollow">https://github.com/jbonatakis/panel</a></p>
]]></description><pubDate>Wed, 11 Feb 2026 23:16:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=46982603</link><dc:creator>jbonatakis</dc:creator><comments>https://news.ycombinator.com/item?id=46982603</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46982603</guid></item><item><title><![CDATA[New comment by jbonatakis in "Ask HN: What are you working on? (February 2026)"]]></title><description><![CDATA[
<p>The past few weeks I've been building Blackbird<p><a href="https://github.com/jbonatakis/blackbird" rel="nofollow">https://github.com/jbonatakis/blackbird</a><p>At a high level it's my take on how the execution aspect of spec-driven development should be handled. Where as most tools that are popular right now break a spec down into a task list and instruct your agent to work through it in a single session, I am treating agents as stateless. By this I mean a separate (headless) session is started with selected context for each task. This avoids context exhaustion, compaction (and the resulting confusion that can occur), and means that Blackbird can work through effectively an arbitrarily large task list.<p>Right now it's BYO-spec, but then it:<p>* breaks the spec down into a dependent-aware plan (DAG) composed of parent and child tasks<p>* executes tasks one at a time based on their status (ready to execute if all dependencies are marked as completed)<p>* allows you to (optionally) pause execution after each task to review, approve and continue, approve and quit, or reject the changes altogether<p>* (soon) treats parent tasks as an automated reviewer for all child tasks and optionally auto-resume those sessions to address the feedback<p>* and more<p>It's entirely bootstrapped, and so far I'm quite pleased with it. I also wrote a post[1] today about some of the concepts I had in mind as I was defining the architecture.<p>[1] <a href="https://jack.bonatak.is/blah/killer-context/" rel="nofollow">https://jack.bonatak.is/blah/killer-context/</a></p>
]]></description><pubDate>Mon, 09 Feb 2026 00:32:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=46940124</link><dc:creator>jbonatakis</dc:creator><comments>https://news.ycombinator.com/item?id=46940124</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46940124</guid></item><item><title><![CDATA[New comment by jbonatakis in "Slop Terrifies Me"]]></title><description><![CDATA[
<p>I agree completely, and I’m doing the same thing. Good tools that help produce better outcomes will have a multiplicative impact as models improve.<p>What are you building?</p>
]]></description><pubDate>Sun, 08 Feb 2026 20:31:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=46938214</link><dc:creator>jbonatakis</dc:creator><comments>https://news.ycombinator.com/item?id=46938214</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46938214</guid></item><item><title><![CDATA[New comment by jbonatakis in "Porting 100k lines from TypeScript to Rust using Claude Code in a month"]]></title><description><![CDATA[
<p>> I have never written any line of Rust before in my life<p>As an experiment/exercise this is cool, but having a 100k loc codebase to maintain in a language I’ve never used sounds like a nightmare scenario.</p>
]]></description><pubDate>Mon, 26 Jan 2026 15:57:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=46767226</link><dc:creator>jbonatakis</dc:creator><comments>https://news.ycombinator.com/item?id=46767226</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46767226</guid></item></channel></rss>