frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Show HN: Pyrig – One command to set up a production-ready Python project

https://github.com/Winipedia/pyrig
1•Winipedia•1m ago•0 comments

Fast Response or Silence: Conversation Persistence in an AI-Agent Social Network [pdf]

https://github.com/AysajanE/moltbook-persistence/blob/main/paper/main.pdf
1•EagleEdge•1m ago•0 comments

C and C++ dependencies: don't dream it, be it

https://nibblestew.blogspot.com/2026/02/c-and-c-dependencies-dont-dream-it-be-it.html
1•ingve•1m ago•0 comments

Show HN: Vbuckets – Infinite virtual S3 buckets

https://github.com/danthegoodman1/vbuckets
1•dangoodmanUT•2m ago•0 comments

Open Molten Claw: Post-Eval as a Service

https://idiallo.com/blog/open-molten-claw
1•watchful_moose•2m ago•0 comments

New York Budget Bill Mandates File Scans for 3D Printers

https://reclaimthenet.org/new-york-3d-printer-law-mandates-firearm-file-blocking
1•bilsbie•3m ago•0 comments

The End of Software as a Business?

https://www.thatwastheweek.com/p/ai-is-growing-up-its-ceos-arent
1•kteare•4m ago•0 comments

Exploring 1,400 reusable skills for AI coding tools

https://ai-devkit.com/skills/
1•hoangnnguyen•5m ago•0 comments

Show HN: A unique twist on Tetris and block puzzle

https://playdropstack.com/
1•lastodyssey•8m ago•0 comments

The logs I never read

https://pydantic.dev/articles/the-logs-i-never-read
1•nojito•9m ago•0 comments

How to use AI with expressive writing without generating AI slop

https://idratherbewriting.com/blog/bakhtin-collapse-ai-expressive-writing
1•cnunciato•11m ago•0 comments

Show HN: LinkScope – Real-Time UART Analyzer Using ESP32-S3 and PC GUI

https://github.com/choihimchan/linkscope-bpu-uart-analyzer
1•octablock•11m ago•0 comments

Cppsp v1.4.5–custom pattern-driven, nested, namespace-scoped templates

https://github.com/user19870/cppsp
1•user19870•12m ago•1 comments

The next frontier in weight-loss drugs: one-time gene therapy

https://www.washingtonpost.com/health/2026/01/24/fractyl-glp1-gene-therapy/
1•bookofjoe•15m ago•1 comments

At Age 25, Wikipedia Refuses to Evolve

https://spectrum.ieee.org/wikipedia-at-25
1•asdefghyk•18m ago•3 comments

Show HN: ReviewReact – AI review responses inside Google Maps ($19/mo)

https://reviewreact.com
2•sara_builds•18m ago•1 comments

Why AlphaTensor Failed at 3x3 Matrix Multiplication: The Anchor Barrier

https://zenodo.org/records/18514533
1•DarenWatson•19m ago•0 comments

Ask HN: How much of your token use is fixing the bugs Claude Code causes?

1•laurex•23m ago•0 comments

Show HN: Agents – Sync MCP Configs Across Claude, Cursor, Codex Automatically

https://github.com/amtiYo/agents
1•amtiyo•24m ago•0 comments

Hello

2•otrebladih•25m ago•1 comments

FSD helped save my father's life during a heart attack

https://twitter.com/JJackBrandt/status/2019852423980875794
3•blacktulip•28m ago•0 comments

Show HN: Writtte – Draft and publish articles without reformatting, anywhere

https://writtte.xyz
1•lasgawe•30m ago•0 comments

Portuguese icon (FROM A CAN) makes a simple meal (Canned Fish Files) [video]

https://www.youtube.com/watch?v=e9FUdOfp8ME
1•zeristor•31m ago•0 comments

Brookhaven Lab's RHIC Concludes 25-Year Run with Final Collisions

https://www.hpcwire.com/off-the-wire/brookhaven-labs-rhic-concludes-25-year-run-with-final-collis...
3•gnufx•33m ago•0 comments

Transcribe your aunts post cards with Gemini 3 Pro

https://leserli.ch/ocr/
1•nielstron•37m ago•0 comments

.72% Variance Lance

1•mav5431•38m ago•0 comments

ReKindle – web-based operating system designed specifically for E-ink devices

https://rekindle.ink
1•JSLegendDev•40m ago•0 comments

Encrypt It

https://encryptitalready.org/
1•u1hcw9nx•40m ago•1 comments

NextMatch – 5-minute video speed dating to reduce ghosting

https://nextmatchdating.netlify.app/
1•Halinani8•41m ago•1 comments

Personalizing esketamine treatment in TRD and TRBD

https://www.frontiersin.org/articles/10.3389/fpsyt.2025.1736114
1•PaulHoule•42m ago•0 comments
Open in hackernews

Storing Unwise Amounts of Data in JavaScript Bigints

https://jonathan-frere.com/posts/bigints-are-cool/
47•Bogdanp•4mo ago

Comments

dleeftink•4mo ago
For anyone interested in this space, Structurae[0] provides a well tested 'binary' protocol for efficiently storing and transmitting well-structured data, among many other useful and compact data structures (BigBitField, BitArray, etc).

[0]: https://github.com/zandaqo/structurae

Klaster_1•4mo ago
Does basically leverage the fact that JS VMs have access to all SIMD instructions for better optimizations and WASM does not? Otherwise, you can do something similar with array buffers, data views and a couple of fast WASM functions.
sltkr•4mo ago
How does this compare to using ArrayBuffer/DataView, which seems like the more obvious choice for this sort of thing?

This wouldn't require any bitwise operations to store/retrieve fields, assuming they are all byte-aligned.

recursive•4mo ago
They are more obvious, but it wouldn't work in Set or as Map keys, which seems to be a design goal here.
sltkr•4mo ago
According to the author that wasn't a design goal:

> While looking all this up, I found Justin Fagnani’s article Composite Map Keys in JavaScript with Bitsets, which is mostly unrelated to what I’m doing here

In fact, the author specifically wants his records to be mutable, which precludes using them as Set or Map keys (at least at the same time).

So immutable bigints seem like sort of the wrong tool for the job: changing any single field requires creating a completely new number (and while in theory a compiler might be able to optimize away the copy, in practice I doubt this happens).

recursive•4mo ago
Oh yeah. Huh. I guess I read that wrong.
dullcrisp•4mo ago
Maybe just implement a hash function and some buckets and return an interned object? You could implement something with the same functionality but have a lot more flexibility if you’re not relying on cramming things into a bigint.
vanderZwan•4mo ago
I suspect the "find all keys with identical values" example would be fastest if they'd use a struct-of-arrays approach where each key gets its own typed array and objects are identified by a unique index. Just iterate over each array and as soon as a value isn't eqoal to the next then that key is thrown out.
LegionMammal978•4mo ago
I'd be skeptical of the performance of any getBits() implementation. With the traditional approach ((X >> A) & B), you'll have to redundantly bit-shift all the data above the field you're aiming for. The other option would be to mask prior to the shift, but then you have a redundant copy of the data below the field.

Also, there's no great story for getting a large byte blob into or out of a BigInt, short of converting it all to ASCII hex and back. I ran into that limitation when attempting to use BigInts for arbitrary-precision arithmetic.

For simple data storage, I'd rather just use a Uint32Array and split/merge bits over element boundaries as appropriate.

Timwi•4mo ago
I do something like this in Kyudosudoku[0] to store the undo history in localStorage, but I took it a few steps further than this author as I was pursuing different goals:

* I don't use bit or byte boundaries. If I need to store a field with 11 possible values, I go (n*11) + value. You'd think that would be a performance bottleneck, but it turns out major browsers are hella fast at this, at least when handling the amount of data in one Kyudosudoku undo item, which isn't a lot. The obvious downside is that you can't index into the data, you can only decode the whole thing, but I always want to decode a whole undo item at a time anyway.

* The main goal was for the representation to be as compact as possible so as to fill up as little of the user's localStorage as possible. Using hexadecimal for this is a massive waste. So I try to use the entire range of Unicode characters that are 16 bits in UTF-16 (that's the BMP minus surrogates, but to be safe I avoid the C0 control characters too). (I reserve the space character so that I can concatenate the entire undo history into a single string and still split it apart later without having to decode all of it.) This means I essentially encode the BigInt in base-63453. Again, dividing and moduloing huge numbers by 63453 seems like a performance nightmare, but it looks like modern browsers handle it fine, as the undo/redo feature is perfectly usable.

[0] https://kyudosudoku.timwi.de/

sltkr•4mo ago
Clever, but it seems like you're still encoding states separately. For an undo/redo stack, you can probably do much better spacewise with some sort of delta-encoding, either by explicitly storing the changes made to the grid (or more accurately, the inverse of changes, so you can undo them) or by comparing the new state with the last one whenever saveUndo() is called and storing only the difference.
Timwi•4mo ago
That is true, and I did think about that, but the current implementation is more than adequate for my years of playing Kyudosudoku, so I considered it not worth the implementation effort.
afiori•4mo ago
I wonder if it would be worth compressing the bigint as an Uint8Array

So app state -> bigint -> bytearray -> compressed bytearray -> bigint -> packed utf16 string.

Probably it would but help much

jcp11•4mo ago
Looks very similar to Flatbuffer. It’s an interesting approach to store immutable data in a memory efficient way and it’s fast to serialise and deserialise.