frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

How does a screen work?

https://www.makingsoftware.com/chapters/how-a-screen-works
220•chkhd•6h ago•59 comments

Show HN: A Raycast-compatible launcher for Linux

https://github.com/ByteAtATime/raycast-linux
97•ByteAtATime•4h ago•24 comments

A technical look at Iran's internet shutdowns

https://zola.ink/blog/posts/a-technical-look-at-irans-internet-shutdown
54•znano•4h ago•19 comments

Five companies now control over 90% of the restaurant food delivery market

https://marketsaintefficient.substack.com/p/five-companies-now-control-over-90
24•goinggetthem•41m ago•7 comments

Reading Neuromancer for the first time in 2025

https://mbh4h.substack.com/p/neuromancer-2025-review-william-gibson
321•keiferski•13h ago•279 comments

The Gottorf Globe and its reconstruction

https://gottorfer-globus.de/en/the-gottorf-globe
8•Archelaos•1h ago•0 comments

GLP-1s Are Breaking Life Insurance

https://www.glp1digest.com/p/how-glp-1s-are-breaking-life-insurance
151•alexslobodnik•2h ago•180 comments

Does showing seconds in the system tray actually use more power?

https://www.lttlabs.com/blog/2025/07/11/does-showing-seconds-in-the-system-tray-actually-use-more-power
96•LorenDB•3h ago•84 comments

The North Korean fake IT worker problem is ubiquitous

https://www.theregister.com/2025/07/13/fake_it_worker_problem/
91•rntn•8h ago•76 comments

Show HN: Learn LLMs LeetCode Style

https://github.com/Exorust/TorchLeet
89•Exorust•8h ago•10 comments

C3 solved memory lifetimes with scopes

https://c3-lang.org/blog/forget-borrow-checkers-c3-solved-memory-lifetimes-with-scopes/
63•lerno•2d ago•57 comments

Axon's Draft One AI Police Report Generator Is Designed to Defy Transparency

https://www.eff.org/deeplinks/2025/07/axons-draft-one-designed-defy-transparency
180•zdw•2d ago•117 comments

Hungary's oldest library fighting to save 100k books from a beetle infestation

https://www.nbcnews.com/world/hungary/hungary-pannonhalma-archabbey-beetle-infestation-rcna218539
48•rntn•2h ago•17 comments

Infisical (YC W23) Is Hiring DevRel Engineers

https://www.ycombinator.com/companies/infisical/jobs/qCrLiJb-developer-relations
1•vmatsiiako•4h ago

Fine dining restaurants researching guests to make their dinner unforgettable

https://www.sfgate.com/food/article/data-deep-dives-bay-area-fine-dining-restaurants-20404434.php
20•borski•5h ago•60 comments

The upcoming GPT-3 moment for RL

https://www.mechanize.work/blog/the-upcoming-gpt-3-moment-for-rl/
153•jxmorris12•4d ago•59 comments

Most people who buy games on Steam never play them

https://howtomarketagame.com/2025/06/03/most-people-who-buy-your-game-wont-play-it/
149•3Samourai•3h ago•130 comments

How to scale RL to 10^26 FLOPs

https://blog.jxmo.io/p/how-to-scale-rl-to-1026-flops
13•jxmorris12•3d ago•0 comments

Holographic ribbon aims to oust magnetic tape with 50-year life span and 200TB

https://www.tomshardware.com/pc-components/storage/holographic-ribbon-aims-to-oust-magnetic-tape-with-50-year-life-span-and-200tb-capacity-per-cartridge-holomem-says-optical-ribbon-based-carts-work-with-some-components-of-existing-systems-reducing-fricition
10•freddier•1h ago•5 comments

The Robot Sculptors of Italy

https://www.bloomberg.com/features/2025-robot-sculptors-marble/
38•helsinkiandrew•3d ago•7 comments

Local Chatbot RAG with FreeBSD Knowledge

https://hackacad.net/post/2025-07-12-local-chatbot-rag-with-freebsd-knowledge/
45•todsacerdoti•7h ago•3 comments

Notes on Graham's ANSI Common Lisp (2024)

https://courses.cs.northwestern.edu/325/readings/graham/graham-notes.html
80•oumua_don17•3d ago•28 comments

The Decipherment of the Dhofari Script

https://www.science.org/content/article/mysterious-pre-islamic-script-oman-finally-deciphered
51•pseudolus•10h ago•17 comments

Monitoring My Homelab, Simply

https://b.tuxes.uk/simple-homelab-monitoring.html
69•Bogdanp•3d ago•25 comments

Understanding Tool Calling in LLMs – Step-by-Step with REST and Spring AI

https://muthuishere.medium.com/understanding-tool-function-calling-in-llms-step-by-step-examples-in-rest-and-spring-ai-2149ecd6b18b
69•muthuishere•11h ago•20 comments

Bypassing Google's big anti-adblock update

https://0x44.xyz/blog/web-request-blocking/
934•deryilz•1d ago•803 comments

Lua beats MicroPython for embedded devs

https://www.embedded.com/why-lua-beats-micropython-for-serious-embedded-devs
60•willhschmid•12h ago•54 comments

Let me pay for Firefox

https://discourse.mozilla.org/t/let-me-pay-for-firefox/141297
675•csmantle•12h ago•517 comments

Edward Burtynsky's monumental chronicle of the human impact on the planet

https://www.newyorker.com/culture/photo-booth/earths-poet-of-scale
102•pseudolus•18h ago•16 comments

Gaming cancer: How citizen science games could help cure disease

https://thereader.mitpress.mit.edu/how-citizen-science-games-could-help-cure-disease/
96•pseudolus•10h ago•41 comments
Open in hackernews

Lua beats MicroPython for embedded devs

https://www.embedded.com/why-lua-beats-micropython-for-serious-embedded-devs
60•willhschmid•12h ago

Comments

jacknews•7h ago
Lua is just a much simpler language at heart.

Python does have the 'there should be one, preferably only one, way to do it' mantra, but to me it utterly fails at that, and is in fact a bit of a 'kitchen sink' or 'armchair' language.

That is it's strength in some ways, it's easy and approachable, and has more libraries than perhaps any other language, so you can usually get something working fairly quickly.

But it's not so suited to sparse environments. You can't easily turn a plump armchair with automatic footrests and telescoping side-tables into a plywood Eames.

qznc•7h ago
Python is easy. Lua is simple.

The problem of "easy" is that it implies hidden complexity for its magic. The problem of "simple" is that it requires more work from its users.

3036e4•4h ago
Python also seems to have more issues with stability, in the sense that things randomly stop working when you upgrade from version 3.x to 3.x+1. Lua might not be perfect either, but at least it seems common that a platform supports a range of Lua versions instead of forcing an immediate upgrade.
marky1991•30m ago
Could you give some examples?
smohare•7h ago
What’s the dev experience actually like for serious Lua? I’ve only used it for some basic neovim configuration. The dynamicism and lack of type hinting in Python that was the norm when I started having to review professional code, after transitioning from pure mathematics, was a major cognitive blocker for me. With a math paper I could typically skim the first few pages to map the author’s particular symbology (if non-standard) and know exactly what was being expressed. I could never do that with untyped code.
unleaded•6h ago
Lua can be quite an elegant language once you get to know it well, but you can still use it like most other programming languages, it's not that weird. There are quirks like arrays starting at 1 (and all arrays being hash tables) but they don't take that long to get used to. The real strength is in the ecosystem and implementation itself, it's designed to be easily embedded into applications and there's not really much else like it. Some developers want to incorporate a scripting language into their project and get turned off by Lua's quirks and choose something else, but it usually ends up causing more problems than it was meant to solve.

On typing, there's only a few main ones you need to worry about—strings, functions, tables and numbers. I don't think it does weird things like JS where it converts between them without asking. Luau adds some type hinting if it's a big point of concern but I haven't really looked into it much.

SV_BubbleTime•5h ago
> There are quirks like arrays starting at 1

I know it’s probably and overreaction, but this was a compete non-starter for me.

Lyngbakr•4h ago
While I understand the aversion, I can't help but think that people miss out on some really cool experiences when they balk at stuff like 1-based arrays or parens in Lisp or whatever. Sure, those quirks may remain deal breakers after you've given the language a thorough try, but you may also gain super interesting new perspectives in the process.
docandrew•4h ago
Not having to put length-1 everywhere is a good thing, actually.
pmarreck•5h ago
There are languages that transpile to Lua that get you things like typing…

https://typescripttolua.github.io/

I’m personally a fan of YueScript which is basically an evolution of MoonScript (but it’s not typed).

https://yuescript.org/

LuaJIT has ridiculously easy C interop.

mdkdjdnffn•5h ago
> What’s the dev experience actually like for serious Lua

The dev experience for lua is f-ing awful.

The language is small, but not “simple”; it’s stuck in 1985.

The tooling is nearly non-existent and the stuff that does exist is a joke.

The few libraries that exist are awful and barely maintained; the maintained libraries are maintained by neckbeards with a god-complex.

The community is “reimplementing everything by hand is the right way to do it AND ALSO you’re an idiot doing it wrong” toxic. There are a million good reasons why it’s only has a foothold in nginx and Roblox territory.

It’s not a joke to say that it’s f-ing terrible all the way around.

uamgeoalsk•4h ago
It might not be a joke, but it is just your fucking opinion, man. Seriously, this kind of vitriol is uncalled for and only serves to make you look pathetic as fuck.
docandrew•4h ago
nginx and Roblox and redis and nmap and neovim and cryengine … the list goes on

There are a LOT of tools with embedded Lua scripting capabilities.

giraffe_lady•1h ago
8 years of full time professional lua development experience here and unfortunately I agree with all of this. I use fennel when I can; it doesn't improve any of the library or tooling problems but it doesn't make them worse either and addresses several of the problems with the language semantics itself.
delduca•7h ago
When I decided to create a game engine where the game could be entirely scripted in a scripting language, I was choosing between JavaScript (QuickJS), Python (Boost.Python), and Lua (Sol2).

The ease of embedding Lua, even with a C++ wrapper, is incredible. With little effort, I now have something I consider “ready”.

Not to mention, it’s a very lightweight VM.

https://github.com/willtobyte/carimbo

triknomeister•5h ago
Boost.python is not the best scripting tool to be honest. So, that might affect your judgement as well.
UncleEntity•4h ago
I've yet to find an even decent python binding generator, TBH.

Generally, I use pybindgen to get the basic module and then hack on that by hand. The main problem is most C(++) libraries aren't designed to interoperate with managed memory languages so most of the work is figuring that out. Don't get me wrong, I've tried to work within the binding library (with pybindgen at least) but the amount of work for anything even slightly complicated isn't really worth it.

For a project with a major python API (like blender) you're better off crafting your own python class generator (again, like blended does, and even that has some major issues around object lifetime management). Best would be to design the underlying library/application with python integration in mind but that's not always possible if you want to include other libraries.

I can say I did mess around with using lua as an embedded scripting language within an application years ago and it wasn't too difficult from what I remember. It was only ever a proof-of-concept and didn't go too far so I never ran into the inevitable edge case as one always does with these sorts of things.

triknomeister•4h ago
That's very true actually. Boost.Python is not good, but the alternative then is actually doing everything ourselves which seems worse in short term.
miguel_martin•2h ago
See pybind11 or nanobind
conaclos•5h ago
Is Sol2 a Lua VM or just a wrapper to the standard Lua VM?
delduca•3h ago
It is a wrapper, in next months it will be also a luau wrapper
3036e4•4h ago
A nice thing about seeing an engine or application support Lua for scripting is that it implies Fennel can be used (and transpiled to Lua). Or at least that is highly likely unless something unusually weird is going on.

https://fennel-lang.org/

Palomides•7h ago
is anyone "serious" using micropython or lua for embedded work?
qart•6h ago
The embedded world is really vast. If it's something safety critical, regulations won't allow it. But the regulations say nothing about all the test rigs you'll be building. IoT is another domain where people do whatever they find convenient.
matt_trentini•6h ago
Yes, we use MicroPython for medical device development up to class B.
zevv•5h ago
I have been developing Lua-heavy embedded products as a freelancer for about 20 years now, including VoIP devices, home automation controllers, industrial routers, digital video recorders, and more. These systems typically consist of a Linux kernel, some libc implementation, the lua interpreter and a few 3d party libs support libs to help building the app. The Lua apps ranges from 30k to 100k lines of code, depending on the application. Some of these devices can be considered 'small' in 2025 terms: 8MB of flash, 64MB of ram. Lua is doing great here.

All of these products are still alive today, actively supported and making my customers good money.

Some things come very natural to Lua: Lua <=> C interfacing is a breeze, and while some modern languages are still struggling to figure out how to do proper async, Lua has been able to do this for decades. The language itself is minimal and simple but surprisingly powerful - a few smart constructs like coroutines, closures and metatables allow for a lot of different paradigms.

For new projects at this scale, I would still choose Lua + C/C++ as my stack. Over the last few years I have been visiting other ecosystems to see what I'm missing out on (Elixir, Rust, Nim), and while I learned to love all of those, I found none of them as powerful, low-friction and flexible as Lua.

conaclos•5h ago
I am currently working on an embedded system with 264Kb of RAM and 4Mb of flash. Do you think Lua could be used in such limited settings? I am also considering the berry scripting language [0].

[0] https://berry-lang.github.io/

mjevans•4h ago
I haven't worked on a system that limited (not even OpenWRT routers) since a dev board in college.

The experience I had there might be your best bet for something productive. That board came with a 'limited C-like compiler' (took a mostly complete subset of C syntax and transcribed it to ASM).

You'll probably be doing a lot of things like executing in place from ROM, and strictly managing stack and scratch pad use.

The 64MB of RAM and 8MB (I assume that's 64Mbit) of ROM allow for highly liberating things like compressed executable code copied to faster RAM, modify in place code, and enough spare RAM otherwise to use scripting languages and large buffers for work as desired.

zevv•4h ago
That sounds like something the size of an ESP32.

Assuming your flash allows XIP (execute in place) so all that memory is available for your lua interpreter data, you should at least be able to run some code, but don't expect to run any heavy full applications on that. I don't know Berry but it sounds like a better fit for the scale of your device.

But sure, why not give it a try: Lua is usually easy to port to whatever platform, so just spin it up and see how it works for you!

conaclos•3h ago
It is a RP2040. We plan to eventually upgrade to RP2350B.
zevv•3h ago
Well, there you are: https://github.com/MicroLua/MicroLua
pmarreck•5h ago
there are thousands of products that use Lua underneath or in some capacity. I investigated LuaJIT these past few months and I think it is underrated.
joezydeco•3h ago
Define "serious"?

Every so often I have a need for a small cheap device interoperating with a larger system that I'm developing. Like something that sits on MODBUS and does a simple task when signalled. I've taken the RP2040 and Pico board and spun it into a gizmo that can do whatever I want with Micropython, and it's an order of magnitude cheaper and faster than trying to spin it up in STMCube.

rgoulter•6h ago
> [bolded] Lua isn’t just a high-level language. It’s an embedded dev strategy.

I find it difficult to take any writing seriously when it uses phrases like this.

epcoa•6h ago
This is just an ad in a trade rag masquerading as an article or something. It's an ad for that Xedge Lua framework.
stinos•6h ago
The whole article gives me a 'I know LUA and have been using it for years, I also tried MicroPython for a couple of hours, so now I'm ready to draw conclusions' vibe. With some 'Python vs C' on top of it. Not everything written about MicroPython is factually incorrect, but some of the things are so over the top to the point that it becomes ridiculous. Just one example:

MicroPython can be equally readable, but in practice, many projects end up with blurred layers between system code and scripting. That creates a maintenance burden as projects grow.

Yeah, right. Even if this is the case (I find it hard to belive the author has really seen 'many' sort of professional MicroPython projects), where's the proof the language used was the deciding factor in that. And not the project management for instance. Or simply the dev's architecturing abilities.

thomasm6m6•5h ago
Much of the article resembles chatgptese... though I suppose for adslop it doesn't matter whether it's written by a human or an llm
AlecSchueler•3h ago
"It isn't just X, it's Y" is textbook ChatGPT.
KaiserPro•6h ago
With respect that sounds like marketing fluff.

You use micrpython when you have lots of horsepower and need something fairly robust on the network.

You use C/C++ if you need precise control over power, memory or CPU. Even though if you're doing network stuff its much harder to do quickly and securely. (THere might be better embedded TLS support now)

Lua is frankly just sparkling C. Sure if someone has create a bunch of libraries for you, then great, if not, you've now go to support lua toolchain, and your own microcontrollers toolchain, and port what ever control lib the manufacturer provides yourself.

Or, as this is a marketing page, pay https://realtimelogic.com/products/xedge/ to do it for you.

Archit3ch•6h ago
> You use micrpython when you have lots of horsepower

It runs on a 2350.

blackguardx•5h ago
Cortex-M33s are decently powerful in the non-Linux embedded world. Micropython isn't competing with Linux, it is competing with bare-metal code.
KaiserPro•5h ago
the 2350 is huge compared to an STM8, or atmega.
analog31•4h ago
Is there a way to try out embedded Lua within the Arduino dev environment? Yeah I know, friends don't let friends, but I'm still curious.
7thaccount•1h ago
Actually I haven't heard this. Does Arduino have a bunch of controversy now?
analog31•35m ago
It evokes the "real engineers don't use it" reaction, similar to any tool that's perceived as being of primary interest to hobbyists and students.

Some concerns are valid: Arduino doesn't have as much flexibility for digging really deep into things like pin and memory assignments and what happens when a microcontroller starts up. Also, the quality and documentation of Arduino support can vary from one MCU family to another.

There's a concern about the quality of libraries and code.

It doesn't support hardware debugging.

Granted, the embedded community has good reasons for being conservative, especially for critical applications.

theoutfield•4h ago
Another scripting language that I’ve been using in embedded systems with a little more memory is AngelScript. It’s underrated in this space. It’s very easy to extend and has the advantage of being a subset of C/C++.
skybrian•3h ago
As a hobbyist I just use Arduino (via platformio). I don't think I need an interpreter of any sort for microcontrollers because recompiling and uploading the flash on hobbyist boards is quick and easy.

But I'd like to try some other compiled language someday because I'm not a big fan of C++. Any recommendations for something that works well with a Raspberry Pi Pico?

Rebelgecko•3h ago
I'm not an expert but from what I've seen Rust is one of the big alternatives. It's new enough to be trendy and fixed a lot of C++ issues whole being mature enough that the tooling is ok.

I'm also intrigued by Zig. I haven't used it for anything yet but the language looks fun and I believe platform.io supports it

Raspberry Pis are beefy enough that you could also get away with less systems-y languages. I like Kotlin. By default Kotlin needs a JVM but I think it's usable if you build native executables. However if you want to fiddle with GPIOs you might have to do it by manually setting things on/off in the filesystem (edit, sorry, just read you're using a PICO. Not sure how well Kotlin is supported)

20after4•2h ago
The Pi Pico is a microcontroller, not a full linux-capable SBC. The confusion is helped by the fact that Raspberry Pi has a bunch of variants and almost all of them are SBCs.
miguel_martin•2h ago
Nim is a likely a pretty good option, see https://github.com/EmbeddedNim/picostdlib/tree/master
jacobgorm•1h ago
Toit from the v8 devs is also pretty cool.
jokoon•3h ago
I dislike how the syntax of lua feels, maybe the same for its semantics

gdscript is so awesome

ycombinatrix•21m ago
"Serious embedded devs" are probably using a compiled language.
jononor•41s ago
Lua is a great language, including for embedded. And I am sure that their Lua-based product is good also. But this article was not very convincing as to why it "beats MicroPython". Extending MicroPython in C is quite easy, and one can implement third party modules in the same way all the official modules are made. There is build variable to set for including that into your custom firmware build - nothing particularly tricky about it. The article goes on to lament that popular libraries from Python world are not available, including numpy. But actually there is a very good reimplementation of numpy (and parts of scipy), called ulab.