frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Start all of your commands with a comma

https://rhodesmill.org/brandon/2009/commands-with-comma/
85•theblazehen•2d ago•19 comments

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

https://openciv3.org/
649•klaussilveira•13h ago•189 comments

The Waymo World Model

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

What Is Ruliology?

https://writings.stephenwolfram.com/2026/01/what-is-ruliology/
37•helloplanets•4d ago•35 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
117•matheusalmeida•2d ago•28 comments

Unseen Footage of Atari Battlezone Arcade Cabinet Production

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

Jeffrey Snover: "Welcome to the Room"

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

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

https://github.com/valdanylchuk/breezydemo
225•isitcontent•13h ago•25 comments

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

https://github.com/pydantic/monty
217•dmpetrov•14h ago•110 comments

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

https://vecti.com
327•vecti•15h ago•143 comments

Sheldon Brown's Bicycle Technical Info

https://www.sheldonbrown.com/
377•ostacke•19h ago•94 comments

Hackers (1995) Animated Experience

https://hackers-1995.vercel.app/
485•todsacerdoti•21h ago•239 comments

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

https://github.com/microsoft/litebox
359•aktau•20h ago•181 comments

Vocal Guide – belt sing without killing yourself

https://jesperordrup.github.io/vocal-guide/
21•jesperordrup•3h ago•11 comments

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

https://eljojo.github.io/rememory/
283•eljojo•16h ago•167 comments

An Update on Heroku

https://www.heroku.com/blog/an-update-on-heroku/
407•lstoll•20h ago•275 comments

Dark Alley Mathematics

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

PC Floppy Copy Protection: Vault Prolok

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

Delimited Continuations vs. Lwt for Threads

https://mirageos.org/blog/delimcc-vs-lwt
28•romes•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/
249•i5heu•16h ago•193 comments

Introducing the Developer Knowledge API and MCP Server

https://developers.googleblog.com/introducing-the-developer-knowledge-api-and-mcp-server/
56•gfortaine•11h ago•23 comments

Was Benoit Mandelbrot a hedgehog or a fox?

https://arxiv.org/abs/2602.01122
14•bikenaga•3d ago•3 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/
1062•cdrnsf•23h ago•440 comments

Why I Joined OpenAI

https://www.brendangregg.com/blog/2026-02-07/why-i-joined-openai.html
140•SerCe•9h ago•127 comments

Learning from context is harder than we thought

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

Understanding Neural Network, Visually

https://visualrambling.space/neural-network/
286•surprisetalk•3d ago•40 comments

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

https://infisical.com/blog/devops-to-solutions-engineering
145•vmatsiiako•18h ago•67 comments

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

https://github.com/phreda4/r3
71•phreda4•13h ago•14 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...
29•gmays•8h ago•12 comments

FORTH? Really!?

https://rescrv.net/w/2026/02/06/associative
64•rescrv•21h ago•23 comments
Open in hackernews

Mruby: Ruby for Embedded Systems

https://github.com/mruby/mruby
141•nateb2022•1mo ago

Comments

nateb2022•1mo ago
Also worth a mention: mruby/c (https://github.com/mrubyc/mrubyc), which is an even smaller ruby for single-chip microprocessors
sillyboi•1mo ago
Let's call it Murby :)
shevy-java•1mo ago
I think the name mruby kind of makes sense; we have MRI (matz ruby implementation) so the leading "M" there; we have jruby too. We also have truffleruby which is a bit against that name scheme ... but we could call it truby. Nobody does that, but we could. And MRI could also be called c-ruby. These are not great names though. Murby is also not a great name; it reminds me of Murphy from Robocop though.
Broussebar•1mo ago
The best use case for Mruby I saw is this talk: "Developing your Dreamcast games with mruby"[0] by Yuji Yokoo

[0]: https://m.youtube.com/watch?v=ni-1x5Esa_o

shevy-java•1mo ago
I'd like mruby as some kind of fail-save boot system. Ruby powering the operating system as much as possible (ultimately ruby is just syntactic sugar over C, though, so I am fine using C of course).

The lack of documentation means that I'd just waste my time though. Not going to do that.

Also, I think mruby and MRI should not be separate. It doesn't do the project any good. It should be as modular as possible but one code base only.

BenjiWiebe•1mo ago
I know both C and Ruby, and Ruby is far more than syntactic sugar over C.

Like not even close.

pansa2•1mo ago
Mruby isn’t aimed at embedded systems, it’s “lightweight Ruby” intended to be embedded within a lower-level application. The language it’s most similar to is Lua.

My gut feeling comparing the two is that mRuby is a better (or at least less “quirky”) language, but Lua has a better (more robust) implementation. I don’t know how the two compare in terms of performance or “lightweight-ness”.

Lua definitely seems to be more widely-used, at least outside Japan.

shevy-java•1mo ago
Agreed. Lua is older though. It was created in 1993.

mruby was created in 2012.

I have only two gripes with regard to mruby.

1) The primary users are C hackers. That's ok, but it means it also leaves out many other people. (Lua has the same problem of course.)

2) Documentation. This is something that really plagues about 90% of ruby projects. And it's not getting any better. It is as if in ruby, only 10% care about documentation - at best. Look at rack, opal, wasm for ruby - the documentation is TOTAL TRASH. Non-existing; look at rack. What a joke.

Now that ruby is following perl in its extinction path (sorry, the numbers are hard and real, there is no way to deny it), the ruby community should instead try to reverse that trend. Instead you see mega-corporations such as shopify pwning the remaining ecosystem and cannibalizing on it or people such as DHH rant about how Europe is collapsing (what the actual ... https://world.hey.com/dhh/europe-is-weak-and-delusional-but-... - we need an alternative to rails, how can anyone still work with DHH? Lo and behold, another shopify guy. The message is so clear for everyone to see now). None of this will of course revitalize ruby. Without an active AND actively growing community, ruby is set to die. I say this as someone who still uses ruby daily; I am tired of the "rumours of ruby dying are exaggerated". Yes, the rumours are exaggerated - but they are not rumours. The numbers are solid. TIOBE alone, with its 10000 faults, shows this trend clearly.

evolve2k•1mo ago
Hanami remains a bright spark as an alternative growing Ruby app framework to Rails. The project is under active development, I’ve met the core dev and they are lovely and much more humble than DHH and the project aims to stick much closer to the Ruby ways of doing things as opposed to the rails way.

Sure the project just can’t be as mature as Rails but it deserves a look and we need to get behind projects like this if we do indeed want to see Rails alternatives flourish and grow.

https://hanamirb.org/

peteforde•1mo ago
It's genuinely wild how many times people feel the need to declare that Ruby is dead.

If our competitors voluntarily choose to use tools that are demonstrably less productive, that's great news for us.

So yes: Ruby is totally dead. No question. Without a doubt.

getdoneist•1mo ago
Ruby was used in Japan before Rails appeared, and it will continue to be used after Rails dies.
vinceguidry•1mo ago
> look at rack. What a joke.

Yeah, I think the Ruby world burned out of the whole "make everything nice" aesthetic when they alienated the everloving fuck out of _why. Now it's a post-apocalyptic wasteland where if you want nice things, you better be prepared to become a right expert because you will have no one to turn to when it breaks. I don't mind, I don't make money coding anymore and the challenge makes me feel alive again.

If I ever get to the point to where I gotta learn the C API, I'll do it through mruby. But it'll be a much easier path to systems work to interop with Rust instead.

nateb2022•1mo ago
> 2) Documentation. This is something that really plagues about 90% of ruby projects. And it's not getting any better. It is as if in ruby, only 10% care about documentation - at best. Look at rack, opal, wasm for ruby - the documentation is TOTAL TRASH. Non-existing; look at rack. What a joke.

Are you familiar with the Ruby ecosystem?

You can easily view documentation for all installed gems using yard like so:

  yard server --gems
or from the command line you can look up a class like so:

  yri Rack::Request
or a method:

  yri Rack::Response#set_cookie
Levitating•1mo ago
There's no need to compare to Lua directly, there many similar languages. Notably TCL, or more recently Rhai for Rust.
publicdebates•1mo ago
I've used Ruby and Lua for about 15 years now, and looked at mruby (and possibly used it, I don't remember) about 10 years ago. Having little else to contribute to society anymore, perhaps my insight on these two languages might be of some use to some.

IIrc, Matz designed Ruby as a pet passion project, and its design was reactionary against excessiveness found in other languages, hence its minimalism in arguably excessive syntax and notation. Otoh, Tegcraf designed Lua out of pure necessity, adding only the features needed to satisfy its clients' needs.

In my opinion, necessity always leads to the better product than desire, hence C is still unbeat, having been formed under similar circumstances. Lua's C API is copied by nearly every other embeddable scripting language, including (I think) mruby. Yet they were the first to come up with it, a testament to their creativity under pressure.

Ruby (and mruby) takes the Smalltalk approach, and asks, what if everything was an object and every function call is a method call? Lua takes a less extreme approach, and merely asks, what if every data structure was built on a hashmap?

Other than that, Lua takes a very minimal approach, having break/goto but not continue, if/elseif but not switch, metamethods but not inheritance. It gets to 90% of the functionality of JavaScript with 10% of the spec and 1% of the code. You can read the entire Lua manual in one Saturday. You can read its grammar in under five minutes.

For all its cleverness, and as a price for its concise implementation and design, Lua is inconvenient to use. Hence the plethora of languages that compile to Lua and try to make it more convenient to use. One comes to mind but I can't remember or google the name successfully.

actionfromafar•1mo ago
There are Javascript to Lua compilers, used by Roblox programmers.
paradox460•1mo ago
And moonscript, which does a decent job as well
MyOutfitIsVague•1mo ago
The MRuby embedding API isn't a whole lot like Lua's. Lua is a fantastic experience to embed. You might have to futz with the registry to store Lua objects in a C struct, but the abstraction allows you to almost never have to actually worry about the VM internals or the GC directly. Mruby is a lot more like MRI Ruby's API. Raw objects are exposed to you, you have to turn off strict aliasing because inheritance is implemented by the old "common meta struct as first member" idiom, you have to manually trigger VM collecting in long-running C code ( https://github.com/mruby/mruby/blob/master/doc/guides/gc-are... ), getting args in a C function involves a variadic scanf-style function. The most striking difference is documentation. The documentation of the mruby C API is actually "read the headers". There are many seemingly redundant functions that look like they do the same thing, completely without explanatory comments, or minimal inscrutable comments:

    /* mrb_gc_protect() leaves the object in the arena */
    MRB_API void mrb_gc_protect(mrb_state *mrb, mrb_value obj);
    /* mrb_gc_register() keeps the object from GC. */
    MRB_API void mrb_gc_register(mrb_state *mrb, mrb_value obj);
    /* mrb_gc_unregister() removes the object from GC root. */
    MRB_API void mrb_gc_unregister(mrb_state *mrb, mrb_value obj);
I'd rather work with Ruby as a language than Lua, but I'd much rather work with Lua than Mruby for the documentation and API alone. If mruby had anything close to the Lua reference documentation, I'd be all over it. As-is, embedding mruby kind of sucks, which is a real shame.
debugnik•1mo ago
> you have to turn off strict aliasing because inheritance is implemented by the old "common meta struct as first member" idiom

You shouldn't have to turn off strict aliasing for that, struct pointers are allowed to alias pointers to their first member. Unless I'm missing some awkward compatibility rule that mruby breaks.

MyOutfitIsVague•1mo ago
You do need to turn off strict aliasing for that, because mruby uses `struct RObject { RB_OBJECT_HEADER; ... }` and `struct RHash { MRB_OBJECT_HEADER; ... }` (where MRB_OBJECT_HEADER begins with `RClass `). You can alias objects of both types as an `RClass `, but you can't alias them as one-another, converting RHash to RObject. According to my reading of the strict aliasing rules[0], the aliasing would be legal if one of the types literally contained the other, or if they were being accessed through a union. The "compatible types"[0] section requires the types to be exactly the same in layout, not just starting as the same. It's not safe to cast incompatible structs to one another just because they have the same initial members, unless you are accessing them through a union (C11 6.5.2.3p6). Optimization can cause UB when working with mruby if strict aliasing is enabled.

[0] https://en.cppreference.com/w/c/language/object.html#Strict_... [1] https://en.cppreference.com/w/c/language/compatible_type.htm...

debugnik•1mo ago
Oof, I get it now. I was expecting RHash to start with an actual RObject, not just the same members. I too read the "compatible first member" rule as not applying here, so I agree it breaks strict aliasing.
bryanrasmussen•1mo ago
how is Lua quirky? I've looked at it once and I didn't see anything that I thought was weird, although that was on the syntactical level.
pansa2•1mo ago
Syntactically: From `~=` instead of `!=`, and no support for `+=` or `continue`, to free-form syntax with no statement separators - except in that one place where they're necessary.

Semantically: Conflation of arrays and maps, conflation of `nil` and empty (both in tables and in function arguments), and the perennially-unpopular 1-based indexing.

grimgrin•1mo ago
also possibly interesting to some is the cosmopolitan libc inclusion:

https://github.com/mruby/mruby/pull/6681

sethammons•1mo ago
/me tips fedora: "m'ruby"

I'm sorry, first thing that came to mind.

riffraff•1mo ago
IIRC MRuby is also used as the implementation for the DragonRuby game engine[0]

[0] https://dragonruby.org/

weakfish•1mo ago
Wow, that looks cool. I’ve been wanting an excuse to learn Ruby, this might be it.
vidarh•1mo ago
It's great, and has a very active and friendly discord.
Asmod4n•1mo ago
The one thing I like the most about mruby is the way you can ship apps.

When you normally want to ship apps which are written in Java, C#, python etc. you have to tell your users they have to download that runtime and your deps and how to start the runtime and which args to start your app from the command line.

With mruby you can just ship one file and everything is self contained.

smarx007•1mo ago
For dotnet, there is a built-in flag "--self-contained".
vips7L•1mo ago
For Java, there is a built-in command: https://docs.oracle.com/en/java/javase/17/docs/specs/man/jpa...
Alifatisk•1mo ago
This feature alone is a reason why I in some occasions use MRuby, when I have a Ruby script I want to share as standalone binary. I sometimes don't even have to rewrite anything, it just works.
sea-gold•1mo ago
Previous discussions:

April 2012 (55 comments, 174 points): https://news.ycombinator.com/item?id=3866555

js4ever•1mo ago
Looking for a good tutorial about Visual Basic for Real time rocket guidance, any repo you can recommend?
aidog•1mo ago
Noteworthy in the MRuby universe, which is all about lightweight Ruby implementations is picoruby. You can get an integrated ruby shell on a Raspberry Pi Pico:

https://www.youtube.com/watch?v=WiJC_v5Lus8 https://picoruby.org/

moth-fuzz•1mo ago
I love Ruby and have tried to use mruby several times, but the one thing that always becomes an issue is that it uses Ruby’s own native-extension build system for compilation, which is configured in Ruby itself. It makes it a total pain to include in other build systems, or when compiling to other targets (i.e. WASM)

Frankly, I love Ruby as a language, but if it were as easy to embed as Lua I would have no reason to use Lua.

flakiness•1mo ago
I believe even in Japan Lua is more popular because of the reasons mentioned in other threads. When I worked at a game studio there Lua was the script engine of the choice, mostly because other companies are also using it and there was a tribal knowledge of the language.

Mruby was a good attempt but I don't think they have become a competitive options.