Sign in

AapoAlas

@aapoalas.trynova.dev
490 followers 202 following 1K posts

Nova JavaScript engine developer and OSS contributor by day and night. Avid choir singer. He/him. Give me data-oriented design or else (I will cry). trynova.dev

PostsRepliesMedia
AapoAlas @aapoalas.trynova.dev · 28/08/2026
Internet, I need your help with #HTML, #JavaScript, #WebComponents, and printing! So you know how the print() method blocks while the dialog is open? How do you deal with that in an application where you have user expectations of a print button (to select what is being printed), and WebComponents?
121
Reposted by AapoAlas
Rust Language @rust-lang.org · 26/08/2026
We are very happy to announce our first Maintainers in Residence and Maintainer Grant recipients! Read all about the MiR program and the selected maintainers on our blog: blog.rust-lang.org/2026/08/26/a...
blog.rust-lang.org
Announcing our first Maintainers in Residence | Rust Blog
Empowering everyone to build reliable and efficient software.
07517
AapoAlas @aapoalas.trynova.dev · 22/08/2026
Rewatching Hikaru no Go for the first time in ages (though I've read the manga every year or two) is such a nice experience <3 Makes me want to play again! But first I should finish my two go boards!
020
Reposted by AapoAlas
Frans Mäyrä @fransmayra.bsky.social · 17/08/2026
It is great to hold our new book - Cultural Game Studies - on one’s hands, even if the Open Access pdf version will most likely be the most used edition. - Link to the Open Access book page below: www.taylorfrancis.com/books/oa-edi...
A pile of paperback and hardback copies of “Cultural Game Studies” book.Photo of the opened book, showing some black and white reproductions of games as art / art related to games.
24717
AapoAlas @aapoalas.trynova.dev · 17/08/2026
A smallish refactoring in a Node.js server application saved me 272 bytes per HTTP request. That's pretty nice, I think. Or at least it made me happy :)
150
AapoAlas @aapoalas.trynova.dev · 12/08/2026
The reason I've been gathering followers on social media? To share this beauty of course! youtu.be/4bOBMJVFGpU
youtu.be
赤ずきんと健康 英語字幕版 Little Red Riding Hood and Health
YouTube video by Tanoshimida / 井上涼公式チャンネル
010
AapoAlas @aapoalas.trynova.dev · 08/08/2026
I was interviewed at #RustWeek if you want to hear me talk about things :) #RustLang
youtu.be
RustWeek Interview: Aapo Alasuutari
YouTube video by Rust Programming Language
170
AapoAlas @aapoalas.trynova.dev · 03/08/2026
TIL in C++ `BasClass&` can be created from a `Derived&`, thereby it does dynamic dispatch through the vtable instead of the reference being a guarantee that static dispatch is enough. Huh. This proves to be a mild issue with my C++/Rust interop crimes.
120
AapoAlas @aapoalas.trynova.dev · 01/08/2026
People don't change: in my Rust/C++ interop crimes I wanted to build an enum over "one-shot Request" vs "multi-response Request" even though both are just a C++ Request object at its core. An epiphany: this is what I always do in TypeScript as well! No wonder it felt so familiar and safe!
040
AapoAlas @aapoalas.trynova.dev · 20/07/2026
So lately I've been having obscene amounts of fun during absolutely hair-brained and -raising FFI crimes between Rust and C++. "Look ma, no C ABI!" Just going in raw, binding to C++ ABIs, inheriting C++ classes, creating C++ template instances like std::function's, all that good jazz direct in Rust.
292
Reposted by AapoAlas
RustNL @rustnl.bsky.social · 29/06/2026
'Can I borrow that? (Reborrow traits)' by Aapo Alasuutari at RustWeek 2026! www.youtube.com/watch?v=2GE0... @aapoalas.trynova.dev #rustlang #RustWeek
youtube.com
Can I borrow that? (Reborrow traits) (Aapo Alasuutari at RustWeek)
Can I borrow that? (Reborrow traits) by Aapo Alasuutari. Exclusive references make Rust, yet they cannot be built within Rust: the core act of reborrowing, that is giving temporary exclusive access…
061
AapoAlas @aapoalas.trynova.dev · 23/06/2026
So I'm taking a choir conductor camp, and in the same music camp is a man who is a total doppelganger of a coworker of mine, like not just looks similar but they really look like a clone sometimes! Turns out: they're identical twins. I guess that explains that.
000
Reposted by AapoAlas
RustNL @rustnl.bsky.social · 19/06/2026
'Common Pitfalls of Rewriting Things In Rust' by Cliff L. Biffle at RustWeek 2026! www.youtube.com/watch?v=Wv88... #rustlang #RustWeek
youtube.com
Common Pitfalls of Rewriting Things In Rust (Cliff L. Biffle at RustWeek)
Common Pitfalls of Rewriting Things In Rust by Cliff L. Biffle. While a lot of systems code can be expressed easily in Rust, there are common patterns from C, C++, and Go that are just more effort…
0244
Reposted by AapoAlas
RustNL @rustnl.bsky.social · 07/05/2026
The very first RustWeek 2026 badge!
0252
AapoAlas @aapoalas.trynova.dev · 07/05/2026
So in other news today, I had a terrible/fun time with figuring out printing of WebComponent elements in response to a user button click without blocking the event loop! Can't use print() because it blocks, can't use iframe.src URL because it loses DOM state. Painful world out there!
010
Reposted by AapoAlas
Jonathan Pallant @thejpster.org.uk · 03/05/2026
This paper finds that Rust on an microcontroller costs you about 10% extra flash space, actually saves you a bunch of RAM, and takes no extra time to deliver (as compared to C). Seems about right - especially as the C version needed a heap and the Rust version did not. arxiv.org/pdf/2604.25679
arxiv.org
57514
AapoAlas @aapoalas.trynova.dev · 30/04/2026
A night in the light. Terrible photography, but a beautiful scene. Also an obscenely warm end-of-April night that feels nearly tropical.
Full moon reflected off a still night-time lake.A full moon halo reflected dimly off a lake, otherwise mostly enshrouded in complete darkness.A frog rustling in the dry leaves next to the person taking the pictures.
010
AapoAlas @aapoalas.trynova.dev · 28/04/2026
Music for today: youtu.be/-8jFKl0GPh8?... Everything begins with tomorrow
youtu.be
Kaikki alkaa huomisesta
YouTube video by Kuusumun Profeetta - Topic
000
AapoAlas @aapoalas.trynova.dev · 17/04/2026
Morning commute at 5:45 with the birds.
030
Reposted by AapoAlas
Mara Bos @mara.bsky.social · 16/04/2026
I'm *very* excited to report that we got initial funding and have hired our first Rust maintainers! RustNL's Rust Maintainers Team starts out with two full time maintainers, one intern, and five part-time maintainers, now stably employed to continue their work on Rust! 🎉 rustnl.org/maintainers/
Screenshot of the website, listing the eight team members: Oli (full-time), Waffle (full-time), Tiffany (intern), Mara (part-time), Jana (part-time), Nia (part-time), Bjorn (part-time), and Folkert (part-time).
420332
Reposted by AapoAlas
RustNL @rustnl.bsky.social · 15/04/2026
** Speaker announcement ** Aapo Alasuutari has proposed a project goal to make exclusive references buildable within the language. Hear the how, why(-nots), and what's to come at RustWeek 2026! Info & tickets: buff.ly/KExGb22 Utrecht May 18-23, 2026! @aapoalas.trynova.dev #rustweek2026 #rustlang
041
AapoAlas @aapoalas.trynova.dev · 14/04/2026
Out of left field @mattkeeter.com: missed opportunity to name this PR "Make the vibes of task-hiffy less iffy" Also, cool stuff.
github.com
Improve the vibes of `task-hiffy` by mkeeter · Pull Request #2475 · oxidecomputer/hubris
task-hiffy has bad vibes: it uses static mut arrays, and accesses them without an obvious SAFETY comment. The task is necessarily in a weird no man&#39;s land, because the debugger writes to those ...
150
AapoAlas @aapoalas.trynova.dev · 02/04/2026
Oh, here's some music and video for you today: www.youtube.com/watch?v=c2MQ...
youtube.com
WHISPERED - IKIKAERE (OFFICIAL MUSIC VIDEO)
YouTube video by Whispered (Official)
010
AapoAlas @aapoalas.trynova.dev · 18/03/2026
Yesterday I cut a chunk off my finger using just my own bodyweight and a chair with a little play. Nothing else to report.
101
Reposted by AapoAlas
FerrousSystems @ferroussystems.bsky.social · 17/03/2026
Job opportunity: We're looking to add an IDE Compiler Engineer to our team! This is a great role for someone who really knows the Rust compiler and is keen to work with our customers on improvements to our compiler and tooling. Details here: ferrous-systems.com/blog/ide-com... #RustLang #RustJobs
There is some text on a very colourful background. In the top left corner is the Ferrous Systems logo, which is blue with a backwards capital F in the colours light blue, dark blue, green, yellow and red. There is a category headline in a blue box that says: We're hiring! 
Headline says: Hiring: IDE Compiler Engineer 
The text says: Ferrous Systems is looking to hire an IDE/Compiler Engineer to work with us on the overall development of our compiler and tooling infrastructure. This role is open to all genders and could be full- or part-time.
082
Reposted by AapoAlas
Nova @trynova.dev · 15/03/2026
You won't believe it (I'm not sure we do), but Nova is now in the major version era!
trynova.dev
Nova 1.0 · Nova
Entering the major release era.
3369
Reposted by AapoAlas
Love2Code @love2code.bsky.social · 06/03/2026
pointersgonewild.com/2026-03-06-a...
pointersgonewild.com
A Recursive Algorithm to Render Signed Distance Fields
A Recursive Algorithm to Render Signed Distance Fields
0226
Reposted by AapoAlas
Steve Klabnik @steveklabnik.com · 13/03/2026
How to use storytelling to fit inline assembly into #rustlang www.ralfj.de/blog/2026/03...
ralfj.de
How to use storytelling to fit inline assembly into Rust
The Rust Abstract Machine is full of wonderful oddities that do not exist on the actual hardware. Inevitably, every time this is discussed, someone asks: “But, what if I use inline assembly...
0212
AapoAlas @aapoalas.trynova.dev · 05/03/2026
I blogged some more about lifetime contravariance of garbage collected references: trynova.dev/blog/contrar...
trynova.dev
Contrarian thinking part 2 - The Reckoning · Nova
Making sense and finding limits of contravariance of garbage collected handles.
020
AapoAlas @aapoalas.trynova.dev · 27/02/2026
I want a reasonably fast ECMAScript RegExp engine using WTF-8 encoding built in #Rustlang, and preferably without JIT'ing for safety. Is that really too much to ask? /s
180
Reposted by AapoAlas
Marble Sounds @marblesounds.bsky.social · 27/02/2026
EP Release day! "More Memory" is a collection of five new songs that together form the sequel to the previously released album "Core Memory". idol-io.ffm.to/morememory Next week we're on tour to celebrate this! More info & dates at www.marblesounds.com/tour
idol-io.ffm.to
Marble Sounds - More Memory
Listen to Marble Sounds - More Memory
011
AapoAlas @aapoalas.trynova.dev · 25/02/2026
Here's some music for you this night: Toivo Kuula's Rukous (Prayer), not necessarily quite as Christian as you might expect. "I am tired of the lie that is my song: oh lord, make me a child again! I wish to take my broken song to the great tuner."
youtu.be
Kuula: Rukous Op.34b / 1 (Prayer)
YouTube video by The Candomino Choir - Topic
100
AapoAlas @aapoalas.trynova.dev · 25/02/2026
My #JavaScript SoA adventures are bearing fruit: a test creating a data flow graph of 750k nodes, 250k graph entry/exit points ("inputs"), and who knows how many inputs not participating in the graph, it takes <400ms to run. That's ~400ns per node or input, which is pretty cool I think!
010
AapoAlas @aapoalas.trynova.dev · 16/02/2026
Meh, none of my three talks made it past the sieve :D And I had such a banger topic line for one of the talks as well: "Data race you to UB!", I was really looking forward to giving that one. Better luck next time I guess!
130
AapoAlas @aapoalas.trynova.dev · 16/02/2026
ある親切な日本人がフロリダの自然に大変興味を持って、英語があまり出来なかったけれど一人で旅行することにしました。着いたら彼が皆に自然ツアーのことを尋ねて、無視されなっか場合必ず「ありがとう!ありがとう!」って言いました。 やっとあるツアーをやってくれる人を見つけて、2人で沼を見に行きました。沼に着いたらガイドは指差しで興味深いな所を指さして、日本語で「ありがとう」って言いました。日本人が近くに見に行きました。 わにでした。
000
AapoAlas @aapoalas.trynova.dev · 16/02/2026
Fun Finglish thing: "service" seems to conjugate to "servikse-", so it sounds like people are talking about the cervix. "Our cervix did great work in driving our EBITDA up!"
010
AapoAlas @aapoalas.trynova.dev · 03/02/2026
Today's music: an absolute banger of modern choir music.
youtu.be
Jaakko Mäntyjärvi: Väinämöinen uneksii lentävästä veneestään
YouTube video by Kampin Laulu Chamber Choir - Topic
000
AapoAlas @aapoalas.trynova.dev · 02/02/2026
Music for today — Believe every word
open.spotify.com
Usko joka sanaa
000
AapoAlas @aapoalas.trynova.dev · 01/02/2026
#FOSDEM is and was
040
AapoAlas @aapoalas.trynova.dev · 25/01/2026
This weekend I've been (aside from suffering from a flu) having entertaining discussions and semi design sessions on in-place initialisation, out pointers, and such stuff in #Rustlang. It's really quite fun stuff to consider... Maybe there is a place for coroutines in all that as well?
020
AapoAlas @aapoalas.trynova.dev · 23/01/2026
Continuing on my crackpot theories of contravariant lifetimes, here's an interesting alternative formulation of Rust Pin: a pinned type holds a reference to itself (potentially inside a PhantomData). Moving the item invalidates that reference, so it invalidates the type.
310
AapoAlas @aapoalas.trynova.dev · 09/01/2026
trynova.dev/blog/garbage... Last Sunday I discovered that lifetimes on #Rustlang garbage collected handles should be contravariant on their lifetime parameter. This is an open research question, but I think this opens a path to meaningful lifetimes on self-referential structs. Check it out!
trynova.dev
Garbage collection is contrarian · Nova
Modeling unrooted handles to garbage collected data using contravariant lifetimes.
192
AapoAlas @aapoalas.trynova.dev · 06/01/2026
I'm being a total nutcase, but I found what I think is an important discovery about modeling garbage collected handles to the #Rustlang borrow checker: the lifetime of GC handles is contravariant! Instead of validity "rising up the call stack" it "droops down from the heap". Blog incoming!
080
AapoAlas @aapoalas.trynova.dev · 04/01/2026
Masters of Manual Memory Management proudly presents: Fearful heap allocation! Now with 50% more thrill!
010
AapoAlas @aapoalas.trynova.dev · 31/12/2025
A British-Japanese cyborg researcher had a motto that they fully lived by. As their research to the limits of the human body grew ever more gruesome, requiring experiments on living subjects, they kept repeating their motto like a prayer: "More! – モット"
110
AapoAlas @aapoalas.trynova.dev · 31/12/2025
A Thai export show was organised in Tokyo, and was all around well-received except for one part: the shoe fashion show was たいくつ .
100
AapoAlas @aapoalas.trynova.dev · 19/12/2025
In news related to my recent posts, are you a browser engineer? Should I move a virtual scrolling subgrid window using relative positioning and translate, defining a 50 row grid within (columns is subgrid), or should I define a 10x1500 grid at the top level and use grid-row to move the window?
110
AapoAlas @aapoalas.trynova.dev · 19/12/2025
That's some smooth scrolling! This is a list of 16000 items with a virtualization window of 48 rows, 24 visible, and 10 columns, scrolled at top speed using middle mouse click. Each frame at least 6 rows have their contents and order property changed, and the window is shifted using translate.
1100
AapoAlas @aapoalas.trynova.dev · 18/12/2025
I obsessed over this a bit more, and found a way to make this into a two-axis scrolling grid! The linked trivial example doesn't have virtualisation, but that's mostly trivial to add in. This is pretty awesome! I have a feeling this'll see some use in the future. gist.github.com/aapoalas/a47...
gist.github.com
Minimal proof of concept of a two-axis scrolling grid using CSS subgrids - viewport / virtualisation not included but is mostly trivial to add on top
Minimal proof of concept of a two-axis scrolling grid using CSS subgrids - viewport / virtualisation not included but is mostly trivial to add on top - index.html
120
AapoAlas @aapoalas.trynova.dev · 18/12/2025
So here's a #javascript #typescript #css thing I've been obsessed with over the last few days: a virtual scrolling grid using zero a single relatively positioned element and otherwise letting the browser lay everything out. Here's how: a grid of N columns, and a header row and contents row.
150