frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Binmoji: A 64-bit emoji encoding

https://github.com/jb55/binmoji
27•jb55•1w ago

Comments

creatonez•11h ago
> There is a possibility of collisions in the future, we can use the reserved flags as a nonce for known collisions if this ever comes up.

This is a ticking time bomb. Good luck getting folks using this standard to implement this properly when this eventually happens. If this is the contingency for a collision, then a massive non-hash-based list of every combination was probably a better solution to begin with.

Edit: On second look, I'm not sure if binmoji is working properly? The component hash lookup table seems way too short to cover even a fraction of possible combinations, and it doesn't seem like it can properly roundtrip emojis such as this diverse family emoji: https://apps.timwhitlock.info/unicode/inspect?s=%F0%9F%91%A8...

Matheus28•11h ago
Agreed. I feel that a lookup table can probably map all emojis possible to a uint32 (maybe optimistically uint16, [1] says there's about 4k emojis, does that include skin variations?). And you can add new ones sequentially after so IDs remain stable.

[1] https://unicode.org/emoji/charts/emoji-counts.html

AlecSchueler•9h ago
A nonce?
unwind•10h ago
Cool!

I've not had enough coffee to deeply understand this, some parts seem like magic and I'm not sure if the hashing is sufficient.

Anyway, I am eminently nerd-snipable when it comes to reviewing C code, so here are a few comments. Do with them as you wish obviously.

1. C89 is an interesting and slightly depressing choice, it would be interesting to hear one platform where this library would be relevant that lacks at least a C99-compliant compiler.

2. On that note, I don't think `uint32_t` and friends are in C89, so that's a bit strange. Many compilers seem to allow it anyway, but then your code is no longer C89-compliant, of course.

3. I think the constant `num_hash_entries` pollutes the global namespace, it's not `static` and has no prefix.

4. In the header there is the `USER_FLAG_MASK` which is static, but will also clobber any application-defined symbol of the same name. Consider prefixing it.

4. In general please consider writing

    memset(binmoji, 0, sizeof(struct binmoji));
as:

    memset(binmoji, 0, sizeof *binmoji);
it's less error-prone (since it "locks" the cleared size to the actual type of the variable used) while being shorter and typographically less involved.

5. The repeated bitwise-OR:ing in `binmoji_encode()` has extra parentheses on each of the lines.

6. Awesome to see use of `bsearch()` to reduce risk of binary-search bugs.

flufluflufluffy•9h ago
I probably don’t understand something but why is the fact that it is lossless called out as a feature? Wouldn’t the entire thing just break if it was “lossy” (speaking of, what would “lossy” even mean in this context?)

Twake Drive – An open-source alternative to Google Drive

https://github.com/linagora/twake-drive
175•javatuts•7h ago•121 comments

Why formalize mathematics – more than catching errors

https://rkirov.github.io/posts/why_lean/
76•birdculture•5d ago•24 comments

Typst 0.14

https://typst.app/blog/2025/typst-0.14/
367•optionalsquid•5h ago•95 comments

Mesh2Motion – Open-source web application to animate 3D models

https://mesh2motion.org/
117•Splizard•6h ago•28 comments

Asahi Linux Still Working on Apple M3 Support, M1n1 Bootloader Going Rust

https://www.phoronix.com/news/Asahi-Linux-M3-m1n1-Update
168•LorenDB•3h ago•130 comments

Mosquitoes discovered in Iceland for the first time

https://www.cnn.com/2025/10/21/climate/iceland-mosquito-discovery
58•breve•2d ago•18 comments

A “knot dominated era” may have existed in the early universe: study

https://phys.org/news/2025-10-key-universe-1800s-idea-science.html
45•wglb•1d ago•8 comments

Roc Camera

https://roc.camera/
452•martialg•15h ago•399 comments

A sharded DuckDB on 63 nodes runs 1T row aggregation challenge in 5 sec

https://gizmodata.com/blog/gizmoedge-one-trillion-row-challenge
171•tanelpoder•5h ago•92 comments

Disable AI in Firefox

https://flamedfury.com/posts/disable-ai-in-firefox/
131•speckx•48m ago•69 comments

'Attention is all you need' coauthor says he's 'sick' of transformers

https://venturebeat.com/ai/sakana-ais-cto-says-hes-absolutely-sick-of-transformers-the-tech-that-...
128•achow•13h ago•63 comments

Interstellar Mission to a Black Hole

https://www.centauri-dreams.org/2025/10/23/interstellar-mission-to-a-black-hole/
88•JPLeRouzic•8h ago•53 comments

Cheap DIY solar fence design

https://joeyh.name/blog/entry/cheap_DIY_solar_fence_design/
172•kamaraju•1w ago•121 comments

ChunkLLM: A Lightweight Pluggable Framework for Accelerating LLMs Inference

https://arxiv.org/abs/2510.02361
56•PaulHoule•6h ago•5 comments

Public Montessori programs strengthen learning outcomes at lower costs: study

https://phys.org/news/2025-10-national-montessori-early-outcomes-sharply.html
61•strict9•1d ago•17 comments

The Mainframe Six (2022)

https://arcanesciences.com/os2200/app1.html
31•rbanffy•1h ago•4 comments

Counter-Strike's player economy is in a multi-billion dollar freefall

https://www.polygon.com/counter-strike-cs-player-economy-multi-billion-dollar-freefall/
382•perihelions•17h ago•472 comments

Padlet (YC W13) Is Hiring in San Francisco and Singapore

https://padlet.jobs
1•coffeebite•5h ago

Debian Technical Committee overrides systemd change

https://lwn.net/Articles/1041316/
91•birdculture•7h ago•74 comments

VisiCalc on the Apple II

https://stonetools.ghost.io/visicalc-apple2/
62•hggh•5d ago•23 comments

Linux disk I/O diagram (2024)

https://zenodo.org/records/15234151
49•vismit2000•3d ago•1 comments

Why can't transformers learn multiplication?

https://arxiv.org/abs/2510.00184
45•PaulHoule•2d ago•1 comments

When is it better to think without words?

https://www.henrikkarlsson.xyz/p/wordless-thought
216•Curiositry•20h ago•112 comments

Wasp Blower

https://softsolder.com/2025/08/12/wasp-blower/
55•bookofjoe•1w ago•62 comments

Alaska Airlines' statement on IT outage

https://news.alaskaair.com/on-the-record/alaska-statement-on-it-outage/
96•fujigawa•12h ago•87 comments

Random Numbers from Hard Problems: LWE Toy RNG

https://blog.s20n.dev/posts/lwe-rng/
4•s20n•1w ago•0 comments

Where's the AI design Renaissance?

https://www.learnui.design/blog/wheres-the-ai-design-renaissance.html
75•tobr•1w ago•59 comments

Clojure Zippers (2021)

https://grishaev.me/en/clojure-zippers/
33•prydt•1d ago•1 comments

SierraDB: A distributed event store built in Rust

https://tqwewe.com/blog/building-sierradb/
40•tqwewe•3d ago•6 comments

LightlyStudio – an open-source multimodal data curation and labeling tool

https://github.com/lightly-ai/lightly-studio
31•masakljun•3d ago•1 comments