HN user

jbonatakis

78 karma

site: jack.bonatak.is email: sed 's/\./@/' <<< "$site"

Posts1
Comments30
View on HN

I’ve built a similar thing against Snowflake, with one added layer: tenant-scoped views with the ID baked in, and an associated tenant-scoped role that only has read access to its own views.

It also lets you make updates to the underlying table (shared between all tenant views) and then separately update the views. As long as you aren’t making breaking schema changes you can more easily validate the changes before releasing.

A data warehouse on the other hand is an OLAP database and is optimized to work on columns

A bit of a pedantic nit here: a data warehouse is a usage pattern. It’s not necessarily tied to any specific technology, however it is commonly implemented with OLAP systems like Snowflake, BigQuery, etc. But there’s nothing stopping you from building out your data warehouse in Postgres or MySQL. If you’re stitching together disparate datasets to build a unified model for analytics, you’ve got yourself a data warehouse no matter what system it lives on.

Unsubscribing from The Economist was one of the most frustrating corporate interactions I've ever had.

Honestly if it was easier to unsubscribe I'd probably have an on and off again subscription, but I'll never subscribe again because I don't want to jump through those hoops to unsubscribe.

https://pginbox.dev

Repo: https://github.com/jbonatakis/pginbox

Makes reading/searching the Postgres mailing lists easier.

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.

Search is pretty naive right now (keyword on subjects) but improved search is the next big thing on my list.

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.

[1] https://2026.pgconf.dev/sponsor

[2] https://www.postgresql.org/about/servers/

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.

I have been building this in my free time and it might be relevant to you: https://github.com/jbonatakis/blackbird

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.

It’s definitely still got some rough edges but it has been working pretty well for me.

Very much mvp but I just got this all set up: https://www.pginbox.dev/

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.

The repo is public too: https://github.com/jbonatakis/pginbox

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.

[1] https://github.com/jbonatakis/blackbird

GPT-5.4 5 months ago

Well it’s not even performance (define that however you will), but behavior 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.

GPT-5.4 5 months ago

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.

Doesn’t the nature of most open source licenses allow for AI training though?

Example — MIT:

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

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.

I built (using AI) a small cli that provides the breakdown of changes in a PR between docs, source, tests, etc

https://github.com/jbonatakis/differ

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

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 should 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.

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.

Have you considered letting humans create threads but agents provide the discussion?

[1] https://github.com/jbonatakis/panel

The past few weeks I've been building Blackbird

https://github.com/jbonatakis/blackbird

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.

Right now it's BYO-spec, but then it:

* breaks the spec down into a dependent-aware plan (DAG) composed of parent and child tasks

* executes tasks one at a time based on their status (ready to execute if all dependencies are marked as completed)

* allows you to (optionally) pause execution after each task to review, approve and continue, approve and quit, or reject the changes altogether

* (soon) treats parent tasks as an automated reviewer for all child tasks and optionally auto-resume those sessions to address the feedback

* and more

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.

[1] https://jack.bonatak.is/blah/killer-context/

Slop Terrifies Me 5 months ago

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.

What are you building?