frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Show HN: Whosthere: A LAN discovery tool with a modern TUI, written in Go

https://github.com/ramonvermeulen/whosthere
82•rvermeulen98•4h ago•28 comments

Show HN: Zsweep – Play Minesweeper using only Vim motions

https://zsweep.com
8•oug-t•5d ago•5 comments

Show HN: isometric.nyc – giant isometric pixel art map of NYC

https://cannoneyed.com/isometric-nyc/
1130•cannoneyed•23h ago•208 comments

Show HN: S2-lite, an open source Stream Store

https://github.com/s2-streamstore/s2
44•shikhar•1d ago•11 comments

Show HN: BrowserOS – "Claude Cowork" in the browser

https://github.com/browseros-ai/BrowserOS
77•felarof•23h ago•26 comments

Show HN: Txt2plotter – True centerline vectors from Flux.2 for pen plotters

https://github.com/malvarezcastillo/txt2plotter
33•tsanummy•3d ago•7 comments

Show HN: Text-to-video model from scratch (2 brothers, 2 years, 2B params)

https://huggingface.co/collections/Linum-AI/linum-v2-2b-text-to-video
93•schopra909•23h ago•21 comments

Show HN: I've been using AI to analyze every supplement on the market

https://pillser.com/
80•lilouartz•1d ago•41 comments

Show HN: AskUCP – UCP protocol explorer showing all products on Shopify

https://askucp.com/
10•possiblelion•4d ago•4 comments

Show HN: Interactive physics simulations I built while teaching my daughter

https://www.projectlumen.app/
83•anticlickwise•4d ago•21 comments

Show HN: A social network populated only by AI models

https://aifeed.social
7•capela•4h ago•6 comments

Show HN: Synesthesia, make noise music with a colorpicker

https://visualnoise.ca
34•tevans3•1d ago•13 comments

Show HN: First Claude Code client for Ollama local models

https://github.com/21st-dev/1code
40•SerafimKorablev•23h ago•22 comments

Show HN: Sweep, Open-weights 1.5B model for next-edit autocomplete

https://huggingface.co/sweepai/sweep-next-edit-1.5B
521•williamzeng0•1d ago•143 comments

Show HN: CLI for working with Apple Core ML models

https://github.com/schappim/coreml-cli
45•schappim•20h ago•5 comments

Show HN: Bible translated using LLMs from source Greek and Hebrew

https://biblexica.com
46•epsteingpt•1d ago•62 comments

Show HN: Rails UI

https://railsui.com/
202•justalever•1d ago•108 comments

Show HN: C/C++ Cheatsheet – a modern, practical reference for C and C++

https://github.com/crazyguitar/cppcheatsheet
7•crazyguitar•11h ago•3 comments

Show HN: ChartGPU – WebGPU-powered charting library (1M points at 60fps)

https://github.com/ChartGPU/ChartGPU
661•huntergemmer•2d ago•208 comments

Show HN: I'm writing an alternative to Lutris

https://github.com/navid-m/styx
13•death_eternal•19h ago•4 comments

Show HN: Mastra 1.0, open-source JavaScript agent framework from the Gatsby devs

https://github.com/mastra-ai/mastra
213•calcsam•2d ago•69 comments

Show HN: yolo-cage – AI coding agents that can't exfiltrate secrets

https://github.com/borenstein/yolo-cage
59•borenstein•2d ago•74 comments

Show HN: Figr – AI that thinks through product problems before designing

https://figr.design/
10•Mokshgarg003•20h ago•5 comments

Show HN: Wake – Terminal Session Context for Claude Code via MCP

https://github.com/joemckenney/wake
2•baobabmeeko•9h ago•0 comments

Show HN: Retain – A unified knowledge base for all your AI coding conversations

https://github.com/BayramAnnakov/retain
45•Bayram•1d ago•16 comments

Show HN: ObsessionDB – We rebuilt ClickHouse infrastructure to cut our costs 50%

https://obsessiondb.com/
7•keks0r•4h ago•0 comments

Show HN: Extracting React apps from Figma Make's undocumented binary format

https://albertsikkema.com/ai/development/tools/reverse-engineering/2026/01/23/reverse-engineering...
2•albertsikkema•11h ago•3 comments

Show HN: See the carbon impact of your cloud as you code

https://dashboard.infracost.io/
66•hkh•2d ago•27 comments

Show HN: High speed graphics rendering research with tinygrad/tinyJIT

https://github.com/quantbagel/gtinygrad
29•quantbagel•1d ago•10 comments

Show HN: The firmware that got me detained by Swiss Intelligence

https://github.com/seabass011/davos-incident-firmware
5•reutinger•12h ago•16 comments
Open in hackernews

Show HN: S2-lite, an open source Stream Store

https://github.com/s2-streamstore/s2
44•shikhar•1d ago
S2 was on HN for our intro blog post a year ago (https://news.ycombinator.com/item?id=42480105). S2 started out as a serverless API — think S3, but for streams.

The idea of streams as a cloud storage primitive resonated with a lot of folks, but not having an open source option was a sticking point for adoption – especially from projects that were themselves open source! So we decided to build it: https://github.com/s2-streamstore/s2

s2-lite is MIT-licensed, written in Rust, and uses SlateDB (https://slatedb.io) as its storage engine. SlateDB is an embedded LSM-style key-value database on top of object storage, which made it a great match for delivering the same durability guarantees as s2.dev.

You can specify a bucket and path to run against an object store like AWS S3 — or skip to run entirely in-memory. (This also makes it a great emulator for dev/test environments).

Why not just open up the backend of our cloud service? s2.dev has a decoupled architecture with multiple components running in Kubernetes, including our own K8S operator – we made tradeoffs that optimize for operation of a thoroughly multi-tenant cloud infra SaaS. With s2-lite, our goal was to ship something dead simple to operate. There is a lot of shared code between the two that now lives in the OSS repo.

A few features remain (notably deletion of resources and records), but s2-lite is substantially ready. Try the Quickstart in the README to stream Star Wars using the s2 CLI!

The key difference between S2 vs a Kafka or Redis Streams: supporting tons of durable streams. I have blogged about the landscape in the context of agent sessions (https://s2.dev/blog/agent-sessions#landscape). Kafka and NATS Jetstream treat streams as provisioned resources, and the protocols/implementations are oriented around such assumptions. Redis Streams and NATS allow for larger numbers of streams, but without proper durability.

The cloud service is completely elastic, but you can also get pretty far with lite despite it being a single-node binary that needs to be scaled vertically. Streams in lite are "just keys" in SlateDB, and cloud object storage is bottomless – although of course there is metadata overhead.

One thing I am excited to improve in s2-lite is pipelining of writes for performance (already supported behind a knob, but needs upstream interface changes for safety). It's a technique we use extensively in s2.dev. Essentially when you are dealing with high latencies like S3, you want to keep data flowing throughout the pipe between client and storage, rather than go lock-step where you first wait for an acknowledgment and then issue another write. This is why S2 has a session protocol over HTTP/2, in addition to stateless REST.

You can test throughput/latency for lite yourself using the `s2 bench` CLI command. The main factors are: your network quality to the storage bucket region, the latency characteristics of the remote store, SlateDB's flush interval (`SL8_FLUSH_INTERVAL=..ms`), and whether pipelining is enabled (`S2LITE_PIPELINE=true` to taste the future).

I'll be here to get thoughts and feedback, and answer any questions!

Comments

shikhar•2h ago
Shoutout to CodesInChaos for suggesting that instead of a mere emulator, should have an actually durable open source implementation – that is what we ended up building with s2-lite! https://news.ycombinator.com/item?id=42487592

And it has the durability of object storage rather than just local. SlateDB actually lets you also use local FS, will experiment with plumbing up the full range of options - right now it's just in-memory or S3-compatible bucket.

> So I'd try so share as much of the frontend code (e.g. the GRPC and REST handlers) as possible between these.

Right on, this is indeed the case. The OpenAPI spec is also now generated off the REST handlers from s2-lite. We are getting rid of gRPC, s2-lite only supports the REST API (+ gRPC-like session protocol over HTTP/2: https://s2.dev/docs/api/records/overview#s2s-spec)

michaelmior•58m ago
> We are getting rid of gRPC

I'm curious why and what challenges you had with gRPC. s2-lite looks cool!

shikhar•42m ago
We wanted S2 to be one API. Started out with gRPC, added REST - then realized REST is what is absolutely essential and what most folks care about. gRPC did give us bi-directional streaming for append/read sessions, so we added that as an optional enhancement to the corresponding POST/GET data plane endpoints (the S2S "S2-Session" spec I linked to above). A nice side win is that the stream resource is known from the requested URL rather than having to wait for the first gRPC message.

gRPC ecosystem is also not very uniform despite its popularity, comes with bloat, is a bit of a mess in Python. I'm hoping QUIC enables a viable gRPC alternative to emerge.

DTE•2h ago
Love this. Elegant and powerful. Stateful streams are surprisingly difficult to DIY and as everything becomes a stream of tokens this is super useful tool to have in the toolbox.
arpinum•1h ago
Would be useful to have SlateDB WAL go to Valkey or somewhere else to reduce s3 put costs and latency.
shikhar•1h ago
It seems SL8 supports writing the WAL to local disk already https://github.com/slatedb/slatedb/issues/162

Will look into how to enable that option from s2-lite

csense•58m ago
When someone says "stream data over the Internet," my automatic reaction is "open a TCP connection."

Adding a database, multiple components, and Kubernetes to the equation seems like massively overengineering.

What value does S2 provide that simple TCP sockets do not?

Is this for like "making your own Twitch" or something, where streams have to scale to thousands-to-millions of consumers?

shikhar•53m ago
This is fair question. A stream here == a log. Every write with S2 implementations is durable before it is acknowledged, and it can be consumed in real-time or replayed from any position by multiple readers. The stream is granularity of discrete records, rather than a byte stream (although you can certainly layer either over the other).

ED: no k8s required for s2-lite, it is just a singe binary. It was an architectural note about our cloud service.

shikhar•46m ago
> Is this for like "making your own Twitch" or something, where streams have to scale to thousands-to-millions of consumers?

Yes, this can be a good building block for broadcasting data streams.

s2-lite is single node, so to scale to that level, you'd need to add some CDN-ing on top.

s2.dev is the elastic cloud service, and it supports high fanout reads using Cachey (https://www.reddit.com/r/databasedevelopment/comments/1nh1go...)

maxpert•57m ago
Kind of what I've been working on to build tenancy on top of SQLite CDC to make it a simple repayable SQLite for Marmot (https://github.com/maxpert/marmot). I personally think we have a synergy here, would drop by your discord.
shikhar•21m ago
Very cool! Looking forward to catching up. Also checkout https://s2.dev/blog/kv-store