We just migrated Roto to @Codeberg!
You can find the new repo here: https://codeberg.org/NLnetLabs/roto
And read the announcement here: https://community.nlnetlabs.nl/t/roto-has-moved-to-codeberg/79/1.
We'll migrate more projects soon!
cc @nlnetlabs
We just migrated Roto to @Codeberg!
You can find the new repo here: https://codeberg.org/NLnetLabs/roto
And read the announcement here: https://community.nlnetlabs.nl/t/roto-has-moved-to-codeberg/79/1.
We'll migrate more projects soon!
cc @nlnetlabs
RE: https://social.tchncs.de/@partim/116096802757484741
We need to pick a behaviour for Roto! Help us out with your opinions!
cc @nlnetlabs
https://galerie.urbach.nl/roto-2/ De laatste restjes #roto #deventer #stentor #vk
You can now learn how Roto's integration with Rust works under the hood from the comfort of your own home (instead of a very crowded campus), because my FOSDEM talk has been published!
Props to the @fosdem team for publishing the videos so quickly! It's very impressive!
https://fosdem.org/2026/schedule/event/DS7LFX-rust-roto-calling-jit-compiled-scripts/
2026 verjüngt sich die Traditions-Klasse der Sloepen. Gleichzeitig kommen robuste offene Boote aus Polyethylen auf den Markt. Was sie eint, ist ihre einfache Nutzung.
#3DTender #Interboat #Lowlander #Roto #Seastorm #Voog
https://floatmagazin.de/boote/premieren-2026-die-entdeckung-der-einfachheit/
We tagged version 0.10.0 of Roto!
For those who are unfamiliar: Roto is a statically-typed, compiled, embedded scripting language for Rust by @nlnetlabs.
You can view the full release notes on our forum: https://community.nlnetlabs.nl/t/release-roto-0-10-0/61.
I'll summarize the most important features in a thread!
1/8
RE: https://infosec.exchange/@joshbressers/115882839519372006
Roto mentioned! And it's a good podcast episode on top of that!
https://galerie.urbach.nl/roto-deventer/ Aanvullingen gedaan met foto's van mijn analoge Hasselblad #ROTO #Deventer #archief
Barra libre para Forcén en el Parque Grande
https://fed.brid.gy/r/https://arainfo.org/barra-libre-para-forcen/
The next version of @nlnetlabs 's scripting language Roto (to be released sometime in December) will include a much-requested feature: lists! Below is a small example of lists in action, showcasing how easy it is to pass them to and from a Roto script. It will print `Result: [0, 1, 2, 3, 4, 5]`.
I'd like to take a moment to explain why lists were so hard to include in Roto in a thread!
1/6
https://play.google.com/store/apps/details?id=com.amoledwatchfaces.roto
Falls ihr eine #Smartwatch auf #WearOS nutzt und Bock auf ein wirklich total außergewöhnliches #Zifferblatt / #Watchface habt: #Roto von #Amoledwatchfaces ist aktuell umsonst zu haben. Die Minuten und Sekunden auf der Einen und die Komplikation auf der anderen Seite drehen sich im Verlauf einer Stunde einmal komplett außen im Kreis. Mir persönlich hat noch kein anderes Zifferblatt so gut gefallen.
roto - The strongly-typed, compiled #embedded scripting language for #Rust, used by Rotonda
Introducing #Roto: A Compiled Scripting Language for Rust (May 2025):
https://blog.nlnetlabs.nl/introducing-roto-a-compiled-scripting-language-for-rust/
Repo:
https://github.com/NLnetLabs/roto
This looks awesome! I love strongly typed scripting languages! :awesome:
And the fact that it integrates with Rust so seamlessly... ✨
#RustLang #ProgrammingLanguage #Scripting #ScriptingLanguage
I collaborated with Conrad Irwin at EuroRust to make a Zed extension for Roto! This is based on the tree-sitter grammar and supports syntax highlighting and generating an outline of your code. It can be installed via Zed's regular extension manager.
cc @nlnetlabs
Planning a live demo with bevy-powered visuals for my #eurorust talk and it's starting to take shape. I might be procrastinating making an outline, but hey, it looks cool!
cc @nlnetlabs
España bloquea el paso de armamento estadounidense hacia Israel por las bases de Rota y Morón
España ha decidido vetar el tránsito de aviones y buques estadounidenses cargados con armamento y equipos militares destinados a Israel a través de sus bases de Rota (Cádiz) y Morón de la Frontera (Sevilla). Esta medida se aplica tanto a los vuelos que se dirigen directamente a Israel como a aquello... [Ver más]
I'm toying with some new ideas for registering functions in Roto and it's starting to look quite nice! Here's a before and after screenshot. The advantages are:
1. You no longer need to pass the runtime around everywhere. You can create the module structure separately and pass it to the runtime as a single unit.
2. You can write doc comments as doc comments instead of strings.
3. There's no proc macro anymore (the new `item!` macro is declarative).
Another reason the previous ASN->string->AhoCorasick thing doesn't quite work is because the pattern matching is a partial match. Thankfully, there's a StringList type I export to #roto, with a .contents() method, so:
let asn = ASN
.as_asn_matcher()?
.lookup(request.header("x-forwarded-for"))
.to_string();
if BANNED_ASNS.contains(asn) {
return garbage("banned-asn");
}
...this will work correctly, though, it will be slower than an AhoCorasick match if the list is longer than about a dozen ASNs. And the string conversion is comparatively expensive.