HNHacker News
TopNewBestAskShowJobs

benpacker

210 karma · joined April 1, 2022

submissionscomments
benpacker··on Why DuckDB is my first choice for data processing
I get segfaults all the time when using it with Bun and the new Node neo api. What’s your recipe, are you not getting these?
benpacker··on Cap'n Web: a new RPC system for browsers and web servers
Does this have support for generators / streams, or any ideas how you'd do it? With LLMs that an increasingly large part of client/server communication.
benpacker··on Cap'n Web: a new RPC system for browsers and web servers
I think crossing a language barrier here would be hard: you'd need a codegen step to compile the RPC spec to Typescript for the client-side DX and that would need take into account the full range of differences in serializability across the languages.

For cross-language RPC, I think we're still better sticking to a well defined system where the spec is data (OpenAPI, GraphQL, etc.) instead of the spec being code that only one side understands.

benpacker··on Cap'n Web: a new RPC system for browsers and web servers
This seems really cool and I'd be happy to help (I'm currently a pgtyped + Kysely user and community contributor), and I see how this solves n+1 from promise pipelining when fetched "nested" data with a similar approach as Cap'n Web, but I don't we've solved the map problem.

If I run, in client side Cap'n Web land (from the post): ``` let friendsWithPhotos = friendsPromise.map(friend => { return {friend, photo: api.getUserPhoto(friend.id))}; } ```

And I implement my server class naively, the server side implementation will still call `getUserPhoto` on a materialized friend returned from the database (with a query actually being run) instead of an intermediate query builder.

@kentonv, I'm tempted to say that in order for a query builder like typegres to do a good job optimizing these RPC calls, the RpcTarget might need to expose the pass by reference control flow so the query builder can decide to never actually run "select id from friends" without the join to the user_photos table, or whatever.

benpacker··on Priced out of traditional housing, more Americans are living in RVs
Would love to see pics of the interior!
benpacker··on Cap'n Web: a new RPC system for browsers and web servers
My understanding is that your first read is right and your current understanding is wrong.

The client sends over separate 3 calls in one message, or one message describing some computation (run this function with the result of this function) and the server responds with one payload.

benpacker··on Cap'n Web: a new RPC system for browsers and web servers
This seems great and I'm really excited to try it in place of trpc/orpc.

Although it seems to solve one of the problems that GraphQL solved that trpc doesn't (the ability to request nested information from items in a list or properties of an object without changes to server side code), there is no included solution for the server side problem that creates that the data loader pattern was intended to solve, where a naive GraphQL server implementation makes a database query per item in a list.

Until the server side tooling for this matures and has equivalents for the dataloader pattern, persisted/allowlist queries, etc., I'll probably only use this for server <-> server (worker <-> worker) or client <-> iframe communication and keep my client <-> server communication alongside more pre-defined boundaries.

benpacker··on Show HN: Socket-call – Call socket.io events like normal JavaScript functions
You can do with with trpc WebSocket transport
benpacker··on Test Postgres in Python Like SQLite
It’s the same - just saying it works in both.

I like it because I can do full stack development, including the database, with a single system level dependency (Bun).

benpacker··on Test Postgres in Python Like SQLite
I have this setup and integrated for Node/Bun -

This is an example of a unit test of an API route on a fully isolated WASM backed Postgres - very few lines of code, and all your API unit tests can run fully in parallel without any shared state: https://github.com/ben-pr-p/bprp-react-router-starter/blob/m...

This is all of the code needed to use Postgres in prod and PGLite in test/dev: https://github.com/ben-pr-p/bprp-react-router-starter/blob/m...

benpacker··on A critical look at MCP
Cloudflare + SSE with any substantial delay is a nightmare
benpacker··on Nvidia-Ingest: Multi-modal data extraction
All frontier multi modal LLMs can do this - there’s likely something lighter weight as well.

In my experience, the latest Gemini is best at vision and OCR

benpacker··on Hyperview – Native mobile apps, as easy as creating a website
This is more of an HTMX native
benpacker··on Show HN: LogLayer – Unified logger that routes logs to various logging libraries
It’s frustrating that this is necessary but it definitely makes sense, and I will probably add it to several projects soon.

Thanks for your hard work!

benpacker··on Show HN: Houseplant – Database Migrations for ClickHouse
You can connect and run SQL, but there’s no built in support for versioning, testing, and rolling back DDL.
benpacker··on OrioleDB beta7: Benchmarks
Very excited about this and it’s future!
benpacker··on We can mine asteroids for space food
We always have been
benpacker··on Show HN: BemiDB – Postgres read replica optimized for analytics
You can do this with Materialize or Feldera. The keyword to look for is “incremental view maintenance”
benpacker··on Show HN: Rust Web Framework
What happened with PostgresML?
benpacker··on New York Times tech workers union votes to authorize a strike
If they don’t have firing / hiring power, they aren’t management according to US labor law.

Most tech “* manager” roles where the object of management is not a person or team likely qualify.

benpacker··on Show HN: InstantDB – A Modern Firebase
It’s not in core, but there are multiple extensions that provide this functionality
benpacker··on Show HN: I am building an open-source Confluence and Notion alternative
As someone who: - would love to self host, and would much prefer keeping it to Postgres / Redis for which there is widespread knowledge on how to host - would like you to keep your development velocity up

I'd encourage you not to switch databases, or at least to defer this for a while. I can't imagine you'll have issues with the amount of WAL written for quite a while, and by that time, the world could be quite different (OrioleDB might be mature! https://github.com/orioledb/orioledb)

benpacker··on Show HN: I am building an open-source Confluence and Notion alternative
How does it compare to Outline (https://www.getoutline.com/)?
benpacker··on Launch HN: Aqua Voice (YC W24) – Voice-driven text editor
One more piece of feedback: I'd like the new note page to have a unique route so that I can make a shortcut for creating a new note to easily put somewhere else in a document
benpacker··on Launch HN: Aqua Voice (YC W24) – Voice-driven text editor
I would also love to integrate this into text areas in my app, or as an editor of a JSON object.

That would let me quickly build an interface for editing basically any application state, which would be awesome!

benpacker··on Launch HN: Aqua Voice (YC W24) – Voice-driven text editor
This is really great. I was hoping someone would build this: https://bprp.xyz/__site/Looking+for+Collaborators/Better+Loc...

I would really happily pay $10 / month for this, but what I really want is either: - A Raycast plugin or Desktop app that lets this interact with any editable text area in my environment - An API that I can pass existing text / context + audio stream to and get back a heartbeat of full document updates. Then, the community can build Obsidian/VSCode/browser plugins for the huge surface area of text entry

Going to give you $10 later this afternoon regardless, and congrats!

benpacker··on A generalist AI agent for 3D virtual environments
Going to be sharing this snippet with non-technical friends and family:

“ SIMA agents trained on a set of nine 3D games from our portfolio significantly outperformed all specialized agents trained solely on each individual one. What’s more, an agent trained in all but one game performed nearly as well on that unseen game as an agent trained specifically on it, on average”

Many people I talk to assume that when a LLM gets something right, it’s because that specific thing was in the training set. Although the experience of human transfer learning is intuitive to people, I find people have a hard time appreciating that it can happen in algorithms too.

benpacker··on Grats: A More Pleasant Way to Build TypeScript GraphQL Servers
I would choose Garph (Zod + 0 build step or client side codegen) over this (Typescript + two layers of codegen for client side type safety)
benpacker··on U.S. to Build Pier to Allow Aid Into Gaza by Sea
This action undermines Israel’s blockade, and could be seen as an act of war, so it’s important the US lead the effort.

The article does mention that other countries are participating and helping as well though.

What’s embarrassing here for the US is that they have to basically force the aid in. They don’t seem willing to use their full leverage to let the aid in the normal way

benpacker··on Show HN: We built the fastest spreadsheet
Why build a custom arrow based columnar engine in Rust instead of using Datafusion or Polars?
Page 1 of 3Next →