frontpage.
newsnewestaskshowjobs

Open Source @Github

fp.

Open in hackernews

Show HN: Stream live open data in two commands

https://docs.hypermass.io/docs/cli/
6•gardensalad•7h ago
A service and open source tool to get open data streams in two commands. No sign up needed for subscribing.

Streams to try:

- https://hypermass.io/stream/_J0fm450s - extreme UV images of the sun from SOHO - visual data

- https://hypermass.io/stream/_ATtCoEK - GDACS live disaster data (filtered to just the ongoing items)

The CLI (Apache 2.0, https://github.com/hypermass-io/hypermass-cli) tool allows you to subscribe to multiple live streams of files, with the files arriving in a local folder. The filenames are ULIDs so they can be easily sorted into time order in scripts and code. Publishing works similarly - drop files into a folder and they get read, published and deleted locally. The idea is that by being highly opinionated about the shape of the data (files, delivered in sequence, in real time) a bunch of the logic and edge cases get handled well in one place (things like ordering, retries, hash verification, reconnection, etc) - rather than requiring every subscriber to implement it themselves for every source.

A high-speed version for things like departure boards, train positions is in the pipeline.

Background: About 10 years ago, I worked for a few years supporting and developing some of the UK Rail Open Data systems. As a developer I was frustrated at how fragmented the open data space was, and how every open data system was designed as a blank-page exercise. I realised that a lot of data falls into an odd middle ground, too infrequent to economically poll on a large scale, too large for messaging protocols, but in some sense still real time. For example transport schedules, periodic solar imagery, disaster alerts - real-time but infrequent.

Fairly often I just wanted a "just give me the data" option when the solutions I found were static catalogues with no nod towards real-time use, bespoke APIs, analytics systems and other things I didn't need. I couldn't find a simple approach that leaned into what I saw as the data's strengths (simple files, delivered in order, as/when they are published) - so I built it.

About me: Solo founder based in the UK, full time for just over a year.

Sustainability: Initially a "heavy users pay for more data allowance" model with a decent free tier. Ideally we later shift to institutional publishers pay to keep their streams free to download. Possibly a paid data marketplace to support costs, but the main focus would always be the free and open data.

What I'd like to know:

- Does the CLI approach solve any real problems for you?

- Is the technical approach sane?

- Would you use a service like this to publish data?

- Recommendations to bootstrap users (particularly publishers)?

Comments

gardensalad•7h ago
Some more technical details.

CLI

The CLI is written in Go. Interpreted/VM approaches (specifically Python/Java) felt more involved (particularly at install time) for what was intended to be a lightweight, easy to install utility. Being able to output executable binaries was really important, and the high level language looked nice (I'm new to Go).

There's no library (yet) - it's a CLI tool. My thinking is that a lot of the file management functionality has to talk to the file system (gigabyte files are technically doable, currently capped at 100MB while we work out the issues). The more I thought about adding multiple programming languages and flexible (stream to file, to string, to byte array) interfaces, the harder to use it looked; offloading concerns like memory usage and hash verification to the developer. With that said, there will be an API (I'm working on it now), and it'll have all the capabilities/interfaces of the CLI, but obviously be a roll-your-own logic situation. On the CLI, I really like how minimal the integration is - you write one file poller (examples in the docs) and you're basically done with the "get the data" problem and onto the more interesting "use the data" problem. It is a bit of an unusual approach though.

I'm considering adding a callback command to the CLI that triggers after each payload is written, that would make integration even simpler and help scripts trigger appropriately.

API

The clients (just the CLI at the moment) subscribe to a websocket to listen to files being published (one for each subscription). This is the one technical decision that took me the most time. Long poll / regular poll were both considered and discarded due to the fairly heavy impact it has on LB billing when scaled out, particularly for heavy clients with high frequency polls. Directly exposing a Kafka queue had its own issues, and would have pushed the architecture to be a shape I wasn't a fan of for a public service (less auth control, looser control of server balancing, client version tie-in, etc).

Downloads are via a signed link - this allows us to control access to the CDN and prevent us being flooded with requests from a given IP or account. I'm solo and self-funded so controlling spend is critical for us at the moment.

Validation

We do some basic checks for XML and JSON (e.g. XXE and other attacks) in all published files and we'll build up more checks and more data types over time. No file is visible to subscribers until it has passed validation.

What's planned

Priority 1 is on-boarding publishers so we have useful data on the site.

General polish is high on the list (anything UX or DX - CLI, API, site usability)

I have a few plans for different types of stream - high speed feeds being the main one.

Supporting emerging (schema) standards is a consideration too (e.g. a community authored schema repository, being able to search by schema for similar data types)

Show HN: Guitoro, a virtual guitar you strum with your keyboard

https://guitoro.com/
60•talccc•1h ago•17 comments

Show HN: Spotatui, a Spotify TUI/GUI without web API rate limits

https://github.com/LargeModGames/spotatui
16•LargeModGames•9h ago•0 comments

Show HN: XY Music Notation

https://music.xy.dev/
27•jmole•2h ago•21 comments

Show HN: How Random Are You?

https://lab.specr.net/rigged-draw/
49•vunderba•3h ago•24 comments

Show HN: Deslop – Oxlint rules for AI-generated TypeScript

https://github.com/maharshi365/deslop
13•maharshi365•2h ago•2 comments

Show HN: Stream live open data in two commands

https://docs.hypermass.io/docs/cli/
6•gardensalad•7h ago•1 comments

Show HN: Use your OpenAI subscription to create audiobooks

https://pdftomp3.com/connect-ai/
149•janpmz•10h ago•77 comments

Show HN: Open-source Mac menu bar app for Claude, Codex and Cursor

https://agentmuster.app/
3•josefchen•19m ago•0 comments

Show HN: Parsimony – an open-source benchmark for how much code AI models add

https://parsimony.lasu.dev/
2•lasu•49m ago•0 comments

Show HN: Watch RL-trained squads play a 2D battle royale (full match replay)

https://123wwwa.github.io/survevbot-demo/
2•123wwwa•50m ago•0 comments

Show HN: Tern – Native macOS SSH Client in Rust/GPUI (76 MB vs. Tabby's 580 MB)

https://github.com/your-moon/tern
2•moon11s•1h ago•0 comments

Show HN: BitRun – Run 1-bit LLMs on CPU at 98T/s without compiling

https://github.com/IshekKhal/bitrun
2•ishekofficial•1h ago•0 comments

Show HN: My live 3D satellite tracker, now with asteroids and a UAP archive

https://skylens.yantraai.app/app.html
3•skylensspace•1h ago•0 comments

Show HN: CoreXTrader – A cross-platform Trading DSL and Voice AI terminal

https://corextrader.com
2•ask4abusaidu•1h ago•0 comments

Show HN: Opensidian

https://opensidian.org/
26•jpzk•8h ago•18 comments

Show HN: PanamaKVM – direct-booting Linux from Java 25 via FFM/KVM

https://github.com/rusanoph/panama-kvm
2•rusanoph•1h ago•0 comments

Show HN: Factory DS, A Factorio-Like Game for the Nintendo DS

https://ronangaillard.github.io/posts/factory-ds-a-factory-game-for-the-nintendo-ds/
2•j_leboulanger•1h ago•0 comments

Show HN: Hatoba, an open-source SSH client with an AI assistant and E2EE sync

https://github.com/scarletkc/Hatoba
2•scarletkc•2h ago•0 comments

Show HN: SolidCraft – Open-Source Parametric CAD in Rust (With MCP Support)

https://github.com/bherbruck/solidcraft
129•bherbruck•20h ago•37 comments

Show HN: FandomMap – a map of 700 fan conventions, with their guest lists

https://www.fandommap.com/
3•marcandremongeo•2h ago•0 comments

Show HN: Sayso, free open source dictation for Mac, Windows, and Linux

https://github.com/watzon/sayso
9•watzon•4h ago•4 comments

Show HN: Knitting – A shared-memory concurrency runtime for Node.js,Bun,and Deno

https://js.knitting.run/
6•mimiMonads•5h ago•3 comments

Show HN: An experimental pattern-first DAW that supports MCP

https://github.com/andrewfader/blokkily
82•androsynth89•21h ago•33 comments

Show HN: Treesum – Replace MS Excel/Project with a Code Editor

https://www.treesum.app/
2•mallahan•3h ago•1 comments

Show HN: Atticus – Hold-to-talk voice assistant for macOS that runs on Claude -p

https://github.com/SaarthurR/atticus-mac
113•SaarthRanka•1d ago•24 comments

Show HN: Lowlight – Dim your MacBook keyboard backlight below the macOS minimum

https://github.com/Isaac-Harper/lowlight
3•isaacharper•4h ago•0 comments

Show HN: pg_vectorsearch: Scalable Open-Source Vector Search in PostgreSQL

https://github.com/timescale/pg_vectorsearch
3•enordstr•5h ago•0 comments

Show HN: OpenMCX – An open source mission critical communications stack

https://openmcx.com
2•abdan15•5h ago•0 comments

Show HN: Pi-Infinite-Context

https://github.com/fdietze/pi-infinite-context
2•manx•5h ago•6 comments

Show HN: RSI-Anything – JEPA world models for self-improving agents

https://github.com/Gen-Verse/RSI-Anything
2•mrkn1•5h ago•0 comments