frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

OpenCiv3: Open-source, cross-platform reimagining of Civilization III

https://openciv3.org/
612•klaussilveira•12h ago•180 comments

The Waymo World Model

https://waymo.com/blog/2026/02/the-waymo-world-model-a-new-frontier-for-autonomous-driving-simula...
917•xnx•17h ago•545 comments

What Is Ruliology?

https://writings.stephenwolfram.com/2026/01/what-is-ruliology/
30•helloplanets•4d ago•22 comments

How we made geo joins 400× faster with H3 indexes

https://floedb.ai/blog/how-we-made-geo-joins-400-faster-with-h3-indexes
102•matheusalmeida•1d ago•24 comments

Unseen Footage of Atari Battlezone Arcade Cabinet Production

https://arcadeblogger.com/2026/02/02/unseen-footage-of-atari-battlezone-cabinet-production/
36•videotopia•4d ago•1 comments

Show HN: Look Ma, No Linux: Shell, App Installer, Vi, Cc on ESP32-S3 / BreezyBox

https://github.com/valdanylchuk/breezydemo
213•isitcontent•12h ago•25 comments

Monty: A minimal, secure Python interpreter written in Rust for use by AI

https://github.com/pydantic/monty
206•dmpetrov•12h ago•101 comments

Show HN: I spent 4 years building a UI design tool with only the features I use

https://vecti.com
319•vecti•14h ago•140 comments

Jeffrey Snover: "Welcome to the Room"

https://www.jsnover.com/blog/2026/02/01/welcome-to-the-room/
5•kaonwarb•3d ago•1 comments

Microsoft open-sources LiteBox, a security-focused library OS

https://github.com/microsoft/litebox
355•aktau•18h ago•181 comments

Sheldon Brown's Bicycle Technical Info

https://www.sheldonbrown.com/
361•ostacke•18h ago•94 comments

Hackers (1995) Animated Experience

https://hackers-1995.vercel.app/
471•todsacerdoti•20h ago•232 comments

Show HN: If you lose your memory, how to regain access to your computer?

https://eljojo.github.io/rememory/
268•eljojo•15h ago•158 comments

An Update on Heroku

https://www.heroku.com/blog/an-update-on-heroku/
400•lstoll•18h ago•271 comments

Delimited Continuations vs. Lwt for Threads

https://mirageos.org/blog/delimcc-vs-lwt
25•romes•4d ago•3 comments

Dark Alley Mathematics

https://blog.szczepan.org/blog/three-points/
82•quibono•4d ago•20 comments

PC Floppy Copy Protection: Vault Prolok

https://martypc.blogspot.com/2024/09/pc-floppy-copy-protection-vault-prolok.html
55•kmm•4d ago•3 comments

How to effectively write quality code with AI

https://heidenstedt.org/posts/2026/how-to-effectively-write-quality-code-with-ai/
243•i5heu•15h ago•183 comments

Was Benoit Mandelbrot a hedgehog or a fox?

https://arxiv.org/abs/2602.01122
9•bikenaga•3d ago•2 comments

Introducing the Developer Knowledge API and MCP Server

https://developers.googleblog.com/introducing-the-developer-knowledge-api-and-mcp-server/
51•gfortaine•10h ago•16 comments

I spent 5 years in DevOps – Solutions engineering gave me what I was missing

https://infisical.com/blog/devops-to-solutions-engineering
138•vmatsiiako•17h ago•60 comments

Understanding Neural Network, Visually

https://visualrambling.space/neural-network/
275•surprisetalk•3d ago•37 comments

Show HN: R3forth, a ColorForth-inspired language with a tiny VM

https://github.com/phreda4/r3
68•phreda4•11h ago•13 comments

I now assume that all ads on Apple news are scams

https://kirkville.com/i-now-assume-that-all-ads-on-apple-news-are-scams/
1052•cdrnsf•21h ago•433 comments

Why I Joined OpenAI

https://www.brendangregg.com/blog/2026-02-07/why-i-joined-openai.html
128•SerCe•8h ago•112 comments

Female Asian Elephant Calf Born at the Smithsonian National Zoo

https://www.si.edu/newsdesk/releases/female-asian-elephant-calf-born-smithsonians-national-zoo-an...
28•gmays•7h ago•10 comments

Learning from context is harder than we thought

https://hy.tencent.com/research/100025?langVersion=en
173•limoce•3d ago•93 comments

Vocal Guide – belt sing without killing yourself

https://jesperordrup.github.io/vocal-guide/
7•jesperordrup•2h ago•4 comments

FORTH? Really!?

https://rescrv.net/w/2026/02/06/associative
61•rescrv•20h ago•22 comments

Zlob.h 100% POSIX and glibc compatible globbing lib that is faste and better

https://github.com/dmtrKovalenko/zlob
17•neogoose•4h ago•9 comments
Open in hackernews

Writing your own BEAM

https://martin.janiczek.cz/2025/11/09/writing-your-own-beam.html
268•cbzbc•2mo ago

Comments

macintux•2mo ago
Now I'm curious whether Joe Armstrong's original Prolog implementation of the VM is available anywhere, but I doubt it.
rramadass•2mo ago
The next best thing : Implementing a Functional Language for Highly Parallel Real Time Applications by J.L.Armstrong et al. (pdf) - https://www.cs.tufts.edu/~nr/cs257/archive/joe-armstrong/erl... Seems like this is the design behind the original JAM VM. The "References" section cites more early work.

See also The Erlang BEAM Virtual Machine Specification by the OG Bogumil Hausman himself ! Note: This document describes BEAM as it was in 1997. BEAM has grown and changed significantly between then and the time this note was added (2012). This information is mainly for historical interest. - https://www.cs-lab.org/historical_beam_instruction_set.html

Together, they should provide a lot of insights into ERTS/BEAM.

lukego•2mo ago
Joe used to have all that code in his world-readable NFS-mounted home directory. He would just create a new directory for every idea or project. Take it with him from one computer to the next.

I hope that's preserved and one day published as e.g. the old MIT AI lab file system snapshots were.

(Robert Virding or Bjärne Däcker might well have a copy of the Prolog code to share if asked nicely.)

FredPret•2mo ago
I have learnt to love and embrace the BEAM.

Wikipedia says "Originally BEAM was short for Bogdan's Erlang Abstract Machine, named after Bogumil "Bogdan" Hausman, who wrote the original version, but the name may also be referred to as Björn's Erlang Abstract Machine, after Björn Gustavsson, who wrote and maintains the current version."

Whether the B is for Bogdan or Bjorn, there's something really fun and Space Quest-y about it.

DrewADesign•2mo ago
I like to think the B stands for BEAM.
yas_hmaheshwari•2mo ago
Same here! I also don't want "the facts to come in the way of a good story", and want to believe B is BEAM.
DrewADesign•2mo ago
Sounds like it’s time for your nap.
IshKebab•2mo ago
Very cliché.
DrewADesign•2mo ago
Hey it’s a classic for a reason.
IshKebab•2mo ago
Because people are unoriginal.
DrewADesign•2mo ago
edgy
drob518•2mo ago
I, for one, appreciate the classic sensibilities.
Y_Y•2mo ago
It obviously stands for "Benoit B Mandelbrot"
Alupis•2mo ago
The BEAM is fascinating for many reasons, including being register-based.

I really just wish the BEAM was portable in the way the JVM is. The BEAM hooks into so many system libraries, you must compile it on every flavor of linux instead of just unpacking a tarball.

This means you either must use your distro package manager's version, or compile from scratch. If you want to control the exact version that's being used across your team (via `asdf` or similar), this practically means you'll end up compiling the BEAM over and over...

hamandcheese•2mo ago
Perhaps you should give Nix a try :)
Alupis•2mo ago
Correct me if I'm wrong, but you'd still have to compile it from source on nix, no?

On my relatively powerful workstation, Erlang/BEAM takes about 7 minutes to compile.

We're working around this currently by having a fat devcontainer image, pre-built with Erlang inside (from source) by our CI. It chews through CI minutes unavoidably due to how docker layer caching works.

It would be awesome to just download and unpack a tarball, regardless of which distro you're using.

Cyph0n•2mo ago
Nix is centered around the local Nix store and binary caching.

As long as the specific version of Erlang you’re using is present in either your Nix store or the global cache for your OS and arch (at cache.nixos.org), you should not need to compile anything.

And if you rely on custom builds, you can just setup your own binary cache. This is similar to remote caching in Bazel.

Some more details on Nix caching here: https://zero-to-nix.com/concepts/caching/

hamandcheese•2mo ago
We do exactly this at my dayjob - we have (multiple) very specific combinations of (erlang, elixir, hex, rebar3) that we use which are pinned to exactly the versions we need. We have a private Nix cache so we only have to build them once.

https://www.cachix.org/ simplifies running a custom cache. Well worth the money, IMO.

That said, learning nix and setting up a nix cache is still a lot of work. Docker buildx might offer you some more knobs to cache portions of your build in a finer-grained manner without having to take the nix plunge.

IshKebab•2mo ago
Nix is enormously complicated, kind of unstable and not well documented.

I get that if you've gone through the pain of learning it you get a system with some very nice properties. But casually suggesting "maybe try nix" is a bit like telling someone who wants to listen to Mozart "maybe try playing a piano".

331c8c71•2mo ago
How is it unstable? It's one of the most reliable pieces of software I have used honestly.

In any case 'nix-shell -p erlang|elixir' does not seem too complicated to me.

IshKebab•2mo ago
Flakes is still experimental despite being very widely used.
hamandcheese•2mo ago
Flakes is also more stable than many "stable" projects. Flakes is more stable than Python 3, for example.
hamandcheese•2mo ago
OP is already trying to do something pretty un-casual:

> If you want to control the exact version that's being used across your team (via `asdf` or similar), this practically means you'll end up compiling the BEAM over and over...

So I think it is perfectly appropriate to suggest a sharp tool.

valorzard•2mo ago
You want https://github.com/burrito-elixir/burrito
harrisi•2mo ago
Burrito works very well in my experience. I've used it for distributing an implementation of breakout in Elixir with OpenGL and Metal rendering backends as a binary. Pretty neat!
Alupis•2mo ago
This is very neat, thanks for the link!

Digging into it, you can get "universal" BEAM tarballs from here[1]. It links against muslibc and appears to bring it's own openssl. Very cool.

[1] https://beammachine.cloud/

lpil•2mo ago
> The BEAM hooks into so many system libraries, you must compile it on every flavor of linux instead of just unpacking a tarball.

This isn't true, one can statically compile the BEAM for Linux exactly the same as the JVM. Here's an example: https://github.com/yoshi-monster/static_erlang/

MisterTea•2mo ago
> The BEAM is fascinating for many reasons, including being register-based. > I really just wish the BEAM was portable in the way the JVM is.

Inferno is both register based and highly portable using the same tool chain as Plan 9 which runs seamlessly across multiple architectures. This eventually evolved into the Go tooling as Rob Pike came up with the Plan 9 design and worked on it with Ken Thompson. https://seh.dev/go-legacy/

Unfortunately Inferno was never fully completed and bit-rotted a bit but it still builds on systems with 32 bit support. There are various forks and even an attempted 64 bit version. To me its a great design as it not only runs on bare metal but also has a hosted option so it runs under Plan 9, Windows, MacOS/Unix/BSD/Linux. Talk about a portable OS...

ux266478•2mo ago
To be clear, Inferno is the operating system. The virtual machine is Dis. There exist a few examples[1] of 64-bit Dis, but usually the problem people run into is making the Limbo[2] compiler spit out 64-bit code.

It's rather unfortunate, Inferno is a really nice system with a lot of interesting reference stuff implemented like a typed shell[3]. It's also Plan 9 in a box with all the accoutrements, and knowers will have jumped out of their seat at the implication. I can't understate how cool the Inferno system is.

[1] - https://github.com/Plan9-Archive/9ferno

[2] - https://en.wikipedia.org/wiki/Limbo_(programming_language)

[3] - https://inferno-os.org/inferno/man/2/alphabet-intro.html

MisterTea•2mo ago
I dunno what happened to the 64bit port, the author just up and deleted it with no reason given AFIK. Thankfully someone had a recent clone and uploaded it to the archive.

Limbo is incomplete, forget what exactly but a few people on the 9fans discord recently ran into issues. Always remember, Inferno was forced onto the Labs people by Lucent in an attempt to compete with Sun's Java and built in a year. Bell Labs did not do marketing and Lucent fumbled the whole thing.

Plan 9 in a box is only useful if you MUST use a foreign host like Linux. Otherwise I would much prefer the machine actually run Plan 9.

rramadass•2mo ago
Nice. Have to spend some time reading it but i really like the minimalistic and clean design of your site content. No unnecessary colors/asides/verbiage/etc. nonsense but THE content and only the content presented directly.

A suggestion: Please add a "Overview" section in the beginning to provide the big-picture architecture since without that it would be hard to understand your code.

PS: In case you didn't see it, my comment here mentions some documents that you might find useful for your implementation - https://news.ycombinator.com/item?id=45883694

sublimefire•2mo ago
Did not know about it much before but apparently was doing something similar (in spirit) when experimenting with simple task execution queues in go. This is quite interesting and given that hot code reloading is a thing in beam it might be something to explore further.
malkosta•2mo ago
Beautiful! :clap:
shreddit•2mo ago
Clicked on the link because I don’t know what a “BEAM” is, was not disappointed