Blog posts
-
2024-03-07 OSPP'2023: The good, the bad, and the ugly
TL;DR: Last year, the MMTk project participated in the Open-Source Promotion Plan (OSPP). We mentored two students and they completed two student projects, which was cheering. But the OSPP’2023 event itself was organised in a way I found frustrating, and even hostile to the free software community. Meanwhile, I realised that there were toxic people lurking in the community, which was worrying.
WARNING: Contains harsh words. Viewer discretion is advised.
-
2023-12-10 SDDM + KDE Plasma Wayland Frozen After Login
I could not log into my computer this morning. I was using SDDM + KDE Plasma with Wayland. When I typed my password and pressed ENTER, it stopped responding. The screen remained on the log-in screen, but the mouse cursor disappeared. I tried to switch terminal using CTRL+ALT+Fx (x = 2, 3, …, 8), but that didn’t work, either. What was wrong with it? I kept trying and eventually got the answer.
-
2023-10-04 eBPF and Perfetto UI proved me wrong
This blog post is about an experience of debugging MMTk using a tracing and visualisation tool based on eBPF and Perfetto UI. During debugging, I tried to guess what went wrong for many times, but the tool showed what actually happened and proved me wrong each time.
-
2023-01-28 MMTk in An Ancient Wuxia World
TL;DR: During last Christmas, I tried to run LSPGDX, a 3D FPS game implemented in Java using OpenJDK with the MMTk binding. It worked, but not perfectly. GC pauses are still a problem.
-
2022-12-08 Chris Seaton passed away
I am very sad to heard about the death of Chris Seaton, our collaborator.
-
I’ll try to use coroutines to traverse nested lists, Rosetta Code style. That means I’ll do it in many different programming languages and libraries, including Ruby, Lua, Python (including greenlets), JavaScript, Rust, C#, etc. This task shows the difference between symmetric vs asymmetric coroutines, and stackful vs stackless coroutines.
Note that this post alone may not be enough to teach you how to use coroutines in all those languages.
I’ll also provide basic information about coroutines, swap-stack, async/await, etc. in the appendices.
-
The
TransitiveClosure
interface in MMTk is confusing. It should have been split into two different interfaces, but not… until now. What’s more interesting is how we ended up having an interface like that 15 years ago, and why it stayed that way since then. -
2022-04-15 Hello world!
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. A erat nam at lectus urna duis convallis convallis. Augue mauris augue neque gravida in fermentum et sollicitudin ac. Ante in nibh mauris cursus mattis molestie a. Cras pulvinar mattis nunc sed blandit libero volutpat sed cras. Duis ultricies lacus sed turpis tincidunt id. Elementum eu facilisis sed odio morbi quis commodo odio. Quisque non tellus orci ac auctor augue mauris. Amet consectetur adipiscing elit pellentesque habitant morbi tristique senectus. Euismod elementum nisi quis eleifend quam adipiscing vitae. Diam maecenas sed enim ut sem viverra aliquet eget. Habitant morbi tristique senectus et netus et. Facilisi nullam vehicula ipsum a. Mi proin sed libero enim sed. Lacus vel facilisis volutpat est.