frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Package managers keep using Git as a database, it never works out

https://nesbitt.io/2025/12/24/package-managers-keep-using-git-as-a-database.html
254•birdculture•4h ago•149 comments

LearnixOS

https://www.learnix-os.com
83•gtirloni•3h ago•20 comments

Show HN: Private blogging and journaling with a simulated audience

https://tempblog-psi.vercel.app/
19•beerd•1h ago•18 comments

High School Student Discovers 1.5M Potential New Astronomical Objects

https://www.smithsonianmag.com/smart-news/high-school-student-discovers-1-5-million-potential-new...
52•mhb•1h ago•49 comments

Show HN: AutoLISP interpreter in Rust/WASM – a CAD workflow invented 33 yrs ago

https://acadlisp.de/noscript.html
11•holg•1h ago•6 comments

Joan Didion and Kurt Vonnegut had something to say. We have it on tape

https://www.nytimes.com/2025/12/19/books/james-baldwin-joan-didion-92ny-recordings.html
44•tintinnabula•4d ago•6 comments

Maybe the default settings are too high

https://www.raptitude.com/2025/12/maybe-the-default-settings-are-too-high/
777•htk•17h ago•257 comments

Unix "find" expressions compiled to bytecode

https://nullprogram.com/blog/2025/12/23/
33•rcarmo•4h ago•2 comments

The Algebra of Loans in Rust

https://nadrieril.github.io/blog/2025/12/21/the-algebra-of-loans-in-rust.html
121•g0xA52A2A•3d ago•63 comments

An 11-qubit atom processor in silicon with all fidelities from 99.10% to 99.99%

https://www.nature.com/articles/s41586-025-09827-w
42•giuliomagnifico•5d ago•27 comments

Rob Pike Goes Nuclear over GenAI

https://skyview.social/?url=https%3A%2F%2Fbsky.app%2Fprofile%2Frobpike.io%2Fpost%2F3matwg6w3ic2s&...
496•christoph-heiss•2h ago•460 comments

Steve wants us to make the Macintosh boot faster

https://www.folklore.org/Saving_Lives.html
49•maayank•2h ago•41 comments

TurboDiffusion: 100–200× Acceleration for Video Diffusion Models

https://github.com/thu-ml/TurboDiffusion
167•meander_water•13h ago•31 comments

I'm a laptop weirdo and that's why I like my new Framework 13

https://blog.matthewbrunelle.com/im-a-laptop-weirdo-and-thats-why-i-like-my-new-framework-13/
179•todsacerdoti•4h ago•166 comments

ChatGPT conversations still lack timestamps after years of requests

https://community.openai.com/t/timestamps-for-chats-in-chatgpt/440107?page=3
134•Valid3840•4h ago•69 comments

Overlooked No More: Inge Lehmann, Who Discovered the Earth's Inner Core

https://www.nytimes.com/2025/12/20/obituaries/inge-lehmann-overlooked.html
33•Hooke•3d ago•6 comments

Geometric Algorithms for Translucency Sorting in Minecraft [pdf]

https://douira.dev/assets/document/douira-master-thesis.pdf
44•HeliumHydride•7h ago•17 comments

Show HN: Gaming Couch – a local multiplayer party game platform for 8 players

https://gamingcouch.com
326•ChaosOp•5d ago•102 comments

Bedlam Cube Solved (ALL 19,186 solutions)

http://scottkurowski.com/BedlamCube/
6•kristianp•4d ago•2 comments

Building an AI agent inside a 7-year-old Rails monolith

https://catalinionescu.dev/ai-agent/building-ai-agent-part-1/
77•cionescu1•9h ago•37 comments

Show HN: Xcc700: Self-hosting mini C compiler for ESP32 (Xtensa) in 700 lines

https://github.com/valdanylchuk/xcc700
6•isitcontent•1h ago•0 comments

MiniMax M2.1: Built for Real-World Complex Tasks, Multi-Language Programming

https://www.minimaxi.com/news/minimax-m21
182•110•15h ago•68 comments

How to Reproduce This Book with LaTeX

https://github.com/BenjaminGor/Latex_Notes_Tutorial
57•nill0•1w ago•8 comments

Hardware Touch, Stronger SSH

https://www.ubicloud.com/blog/hardware-touch-stronger-ssh
34•furkansahin•4d ago•23 comments

The First Web Server

https://dfarq.homeip.net/the-first-web-server/
15•giuliomagnifico•5h ago•4 comments

Python 3.15’s interpreter for Windows x86-64 should hopefully be 15% faster

https://fidget-spinner.github.io/posts/no-longer-sorry.html
384•lumpa•1d ago•130 comments

The entire New Yorker archive is now digitized

https://www.newyorker.com/news/press-room/the-entire-new-yorker-archive-is-now-fully-digitized
460•thm•6d ago•61 comments

Tiled Art

https://tiled.art/en/home/?id=SilverAndGold
214•meander_water•1w ago•12 comments

Fahrplan – 39C3

https://fahrplan.events.ccc.de/congress/2025/fahrplan/
338•rurban•22h ago•157 comments

Understanding the Northern Lights

https://www.historytoday.com/archive/feature/understanding-northern-lights
11•benbreen•6d ago•0 comments
Open in hackernews

MicroPython v1.25.0

https://github.com/micropython/micropython/releases/tag/v1.25.0
103•todsacerdoti•7mo ago

Comments

est•7mo ago
offtopic I am curious anyone tried using micropython to replace CPython o x86 servers?
analog31•7mo ago
I've not used MicroPython, but its fork, CircuitPython. My impression is that it's essentially a Python that doesn't interact with an operating system. Thus if there's a reason for a server to have an OS and interact with it, the regular Python would be preferable.

I also don't know how much of the more advanced optimizations of Python are built into MicroPython. There's always a dilemma between making it performant, and making it micro.

matt_trentini•7mo ago
Yes, although MicroPython is focused on running on microcontrollers it can be useful if you want to reduce memory consumption, flash space and even startup time on servers.

The challenge is that MicroPython has many fewer standard libraries:

https://github.com/micropython/micropython/wiki/Standard-Lib...

And so many Python libraries targeting CPython won't work out-of-the box and you'll need to modify them or use alternatives that do work on the MicroPython subset.

jononor•7mo ago
Only really feasible if your program does not have any CPython C module dependencies. As there is no API compatibility with those.
thaliaarchi•7mo ago
I find it interesting that MicroPython's `re` module[0] is implemented with a backtracking regular expression engine from re1.5[1], instead of one of the linear-time engines from the same library. (Russ Cox covers the various engines in the excellent blog series[2] which re1 is a companion to.) I figure the choice was made due to binary size or memory constraints, though they're all quite small.

[0]: https://github.com/micropython/micropython/tree/master/lib/r...

[1]: https://github.com/pfalcon/re1.5/tree/v0.8.2

[2]: https://swtch.com/~rsc/regexp/regexp2.html

matt_trentini•7mo ago
Yes, it was chosen for low size and memory constraints. But it is limited in features (like counted repetitions):

https://docs.micropython.org/en/latest/library/re.html

so alternatives to provide additional features have been discussed... Either extending the existing module or swapping to a more feature-rich library. Possibly even doing so for larger micros that can afford the additional flash/memory, though that makes support more challenging.

thaliaarchi•7mo ago
I was talking about the performance, not the feature set. Russ Cox's re1 and the re1.5 fork have several engines for different implementation strategies. re1 was written for primarily pedagogical reasons, so its minimality comes from that.

The engine chosen by MicroPython is vulnerable to catastrophic backtracking and switching to the Pike VM implementation would fix that. Instead of backtracking in the text when the pattern doesn't match, the Pike VM iterates each char in the text only once, visiting the states valid for that position in lock step. Consequently, it allocates a list of “thread”s, proportional in length to the number of states in the pattern (though usually patterns have relatively few states). Many security issues have resulted from regexp denials of service, so this slight memory tradeoff might be worthwhile.

Since recursiveloop.c has been changed by MicroPython, those changes would need to be ported to pike.c. The fixes are small and none of the extra features exploit the backtracking, so this should be easy.

pjmlp•7mo ago
Lots of cool improvements.
antirez•7mo ago
Background for folks that are not into MicroPython. This release is so important because MicroPython is almost completely able to replace lower level languages like C for many embedded use cases on the RP20[45]0 and ESP32 and other MCUs at this point, being very solid, fast enough (and thanks to Viper and inline assembly abilities even super fast for critical code paths), portable across MPUs (super important: you can change MCU without rewriting everything), has very good support for SPI and other protocols, and so forth. But... the problem is, before this release MicroPython suffered not the CPU shortage, but RAM shortage: the bytecode needed to stay in memory, and once the program becomes big enough, memory is the bottleneck that limits the project size. To avoid that, you could build your own MicroPython binary with your frozen bytecode inside, in the device flash part, but... if I need to rebuild MicroPython part of the advantage of using it is gone (super fast development cycle is one of those). Well, now, with ROMFS, this is no longer true, MP itself is able to store bytecode in the device flash and execute from there. This makes MP a lot more practical for large embedded projects.
aero-glide2•7mo ago
Is there still any point in learning Rust then
actionfromafar•7mo ago
You are downvoted, but for some things, no there isn't. MicroPython can be very useful for some use cases and it's safer than C.
pjmlp•7mo ago
Depends on the point of view regarding using languages with automatic resource management.

I learn all languages that I find interesting, even if I don't use them, because I am a systems programming nerd, in languages, graphics and operating systems.

So it is always interesting to have an understanding of what Rust is all about, even if I will never work professionaly with it.

whytevuhuni•7mo ago
Imagine trying to make some sort of MP3 player using an MCU. You’d be able to use MicroPython for the controls, but for decoding you won’t be able to get away with it, and you’ll need something like C/C++/Rust.
pjmlp•7mo ago
Like in the home computing days, you could use inline Assembly for the decoding loop.

We used DATA blocks, now they can use @micropython.asm_thum.

anotherpaul•7mo ago
Thank you for explaining and giving context.
pjmlp•7mo ago
I see it as another take on BASIC for microcontrollers, like BASIC Stamp or mikroBasic, with a language that is more appealing to current generations.

We were able to already do so much on home computers back in the day, in an interactive development enviroment, no need to reach out for C in hardware that is x times better than those home computers.

sitkack•7mo ago
> MicroPython's inline assembler now supports 32-bit RISC-V assembly code via the newly implemented @micropython.asm_rv32 decorator. This allows writing small snippets of RISC-V machine code that can be called directly from Python code. It is enabled on the rp2 port when the RP2350 is running in RISC-V mode.

Exciting!

joezydeco•7mo ago
I needed to whip up a small embedded hardware widget for a very large machinery project and with an Adafruit Feather + MicroPython I had the thing working in a day and respun the schematic into a working board by the end of the week. An RP2040 plus QSPI flash is a freaking dollar in the BOM, and that's priced in onesies from DigiKey.

I'm never going back my old standby (C on an NXP LPC4). This is the new normal and it's fantastic. I'm really excited to see ROMFS working on this part soon.

antirez•7mo ago
The best part of this is that, imagine tomorrow you want it running on ESP32 because out of the blue your board is now costly too much (this is just hypothetical: I'm for RP2040/50 for ALL uses but the most cheap requirements that need WiFi). Well, you can adapt it in 5 minutes.
joezydeco•7mo ago
I agree and that's going to be the biggest appeal: we can bury the HAL down into a library and you never have to deal with it again.

Adafruit did an incredible job putting all that abstraction across their products into a single "import board" statement.

jononor•7mo ago
Strong endorsement! I would like to add that MicroPython can also be extended in C by writing small (or large) modules in C that one can call from Python. There is a module variant that can be installed at runtime (via package manager) called dynamic native modules. This enables extending with native code without having to rebuild or reflash the firmware.
mrheosuper•7mo ago
I want to integrate MP to my project. The core FW is still in c/cpp, but the UI/UX and some logic could be done in Python. But i feel like MP want to be the center of FW.
jononor•7mo ago
MicroPython can be used either as the top-level entry point, with your C/C++ code being modules (callable from Python). Or you can embed the interpreter into a C/C++ program - see the "embed" port for an example.
BoingBoomTschak•7mo ago
Seems pretty cool. As someone who never did anything on such low specced hardware (so not knowing if it's truly comparable), I also found http://www.ulisp.com/ quite interesting to look at.
stdbrouw•7mo ago
I'm a bit confused about the Pyboard. Do people buy Pyboards instead of ESP32 in order to support the project, or because they are more featureful, or both? Why does the Pyboard have a CPU in addition to the microcontroller, does the microcontroller only deal with IO?
Neywiny•7mo ago
Quick search shows the v1.1 at least it's just a microcontroller and a uSD slot. So I'd imagine it's just about support. With all the ESP32 boards out there, sky's the limit on word behavior you could get from flaky hardware.
stdbrouw•7mo ago
Ah yes, I read "STM" and immediately figured it was one of those old school very low MHz microcontrollers but apparently those are available with ARM cores too... possibly had 'em confused with AVR/ATmega.
Neywiny•7mo ago
As a habitual STM user professionally,... Yes. Not the highest performance but high enough and good peripherals. The blue pill is a STM.