Top
Best
New

Posted by david927 3/30/2025

Ask HN: What are you working on? (March 2025)

What are you working on? Any new ideas that you're thinking about?
390 points | 996 commentspage 58
boznz 3/30/2025|
Retirement.
franze 3/31/2025||
a childrens book about GPT and a biomorphs/biocrabs habitat simulation
yencabulator 3/31/2025||
I'm writing a brand-new OLTP database with Rust, DataFusion and RocksDB (to be replaced with something in pure Rust later, hopefully). It's still very early days, but I'm soo close to finally being willing to share it.

Close enough to Postgres that apps think it's Postgres, but also runnable as a library like SQLite -- best of both worlds! And then if you're willing to not limit yourself to Postgres compatibility, you also get fancy new technologies like unsigned integers in a database! (Old SQL ecosystem is sometimes ridiculous.)

My personal journey goes something like this:

I've always suffered from both SQLite and Postgres idiosyncrasies, and almost always when deploying I've wanted to start out small, not have a big dedicated database server, and have meaningful tests that don't have multi-gigabyte dependencies and runtime assumptions. The idea of having something "close enough to Postgres to not have to learn much new" database with the low-end abilities of SQLite is something I've been wanting for roughly as long as I've known about SQLite -- even more so if it could also replace Postgres and remove the fear of differences between dev/early-stage vs later.

Much later, I learned about the newly-fashionable OLAP-over-object-store architectures, and I learned about Parquet. That lead to discovering Arrow and DataFusion. Arrow is an in-memory data format intended to be a standard interchange layer. It's basically array per column, which isn't exactly point-query oriented but helps make modern-day CPUs happy; quite well aligned with SIMD processing. DataFusion is a Rust framework that's essentially a query engine, and it has a decent query planner (arguably the hardest part of writing a database). RocksDB supports transactions and does MVCC, which is probably the second hardest part of writing a database. The rest just fell in place: sqlparser-rs is a Rust SQL syntax parser with Postgres etc compatibility nicely worked out. pgwire implements the Postgres wire protocol. Non-legacy clients can use FlightSQL and Arrow IPC for faster data transfer (Postgres wire protocol kinda sucks, it's that old). In-process use from Rust is darn trivial with DataFusion, and other languages can be dealt with by writing a C bridge -- once again, Arrow is an inter-language standard already, so all we need to do is to shove the result data buffers over to a more native "dataframe" library. It looks like I can actually glue these things together with less than a decade of effort!

There's lot to still worry about, but I'm feeling pretty positive about the project. And if and when I get to replace RocksDB with a pure-Rust data store that has all the right bells and whistles (in-house or not), the end result will be pure Rust, and aligned for modern world of NVMe, io_uring, and what not. That's a world I definitely want to live in.

Current status: Getting rid of the last `todo!()`s, unwraps etc that would distract from the "look at how robust this thing is" Rust evangelism too much. I need to put in stress tests and fault injection and make sure I'm configuring RocksDB right for transaction isolation and disk persistence. There's tons of missing features, but very few bugs-as-such (0 known that aren't about C++ integration), and missing features all return a decent explanatory error message instead of eating data. The darn thing already works as a SQL database -- largely because it's just DataFusion's query engine and me feeding it table scans. I wrote a SQL database without ever debugging a JOIN! The shortcuts I've been able to take due to help from preexisting projects are huge. For someone who grew up in the world of "every C project has to write basic data structures for themselves because C isn't very modular", it's downright amazing!

twistedcheeslet 3/31/2025||
I’m working on yet another markdown, FOSS, self hostable personal note taking web app.

Check it out at https://panino.sh

jddj 3/31/2025|
Fyi the three dots menu popover for the documents opens up mostly off screen to the right.

Firefox android

GalahiSimtam 3/31/2025||
Right now, a video game. If there ever will be AI that does the particular assignment no worse, I'll consider it the coming of the age of AGI. (modulo my game getting sucked into the training set, of course)
Roger-L 4/4/2025||
Read Article:https://nhchealthscience.com/posts/Autistic-children/
gdiamos 3/30/2025||
ScalarLM.com
sambaumann 3/31/2025||
Right now I'm learning Clojure/script - at the moment I'm just building a toy Sudoku app as a learning exercise, but the eventual goal is to build a fully featured web game
johnjungles 4/1/2025|
I built https://skeet.build which lets your connect your favorite tools via mcp to Cursor. We focus exclusively on developers and dev tools to build high quality “it just works” experiences for mcp because we found that community mcp quality is low, many mcps were not useful for devs, and SSE remote mcp took a lot of effort to get it to a point where it’s reliable and working well.

[Sequential thinking](https://skeet.build/docs/integrations/sequentialthinking) - it’s like enabling thinking but without the 2x cost

[Memory](https://skeet.build/docs/integrations/memory) - I use this for repo / project specific prompts and workflows

[Linear](https://skeet.build/docs/integrations/linear)- be able to find and issue, create models a branch and do a first pass, update linear with a comment on progress

[github](https://skeet.build/docs/integrations/github) - create a PR with a summary of what o just did

[slack](https://skeet.build/docs/integrations/slack) - send a post to my teams channel with the linear and GitHub PR link with a summary for review

[Postgres](https://skeet.build/docs/integrations/postgres) / [redis](https://skeet.build/docs/integrations/redis) - connect my staging dbs and get my schema to create my models and for typing. Also use it to write tests or do quick one off queries to know the Redis json I just saved.

[Sentry](https://skeet.build/docs/integrations/sentry) - pull the issue and events and fix the issue, create bug tickets in linear / Jira

[Figma](https://skeet.build/docs/integrations/figma) - take a design and implement it in cursor by right clicking copying the link selection

[Opensearch](https://skeet.build/docs/integrations/opensearch) - query error logs when I’m fixing a bug

More comments...