Be kind to people, be ruthless to systems. Concurrent Computing ← Programming Language Design ← WebAssembly and Rust at Microsoft ← u(๑╹ᆺ╹)
Public Key
npub1u86g6tc80vx4zt5xv6lh5rwammfwgs7envxf9nk02aa5u59cv43shd6gze Profile Code
nprofile1qqswrayd9urhkr2396rxd0m6phwaa5hyg0vekryjem84w76w2zux2ccpz3mhxue69uhhyetvv9ujuerpd46hxtnfduqs6amnwvaz7tmwdaejumr0dspw2x52
Show more details
Published at
2026-07-28T19:28:01+02:00 Event JSON
{
"id": "0117840780e4f5fd082c9b802e2cee0a4dd6d86f31211df586bf095c1a1fdc48" ,
"pubkey": "e1f48d2f077b0d512e8666bf7a0dddded2e443d99b0c92cecf577b4e50b86563" ,
"created_at": 1785259681 ,
"kind": 0 ,
"tags": [
[
"proxy",
"https://toot.yosh.is/users/yosh",
"activitypub"
],
[
"client",
"Mostr",
"31990:6be38f8c63df7dbf84db7ec4a6e6fbbd8d19dca3b980efad18585c46f04b26f9:mostr",
"wss://relay.ditto.pub"
]
],
"content": "{\"name\":\"yosh (is out of office)\",\"about\":\"Be kind to people, be ruthless to systems.\\n\\nConcurrent Computing ←\\nProgramming Language Design ←\\nWebAssembly and Rust at Microsoft ←\\n\\nu(๑╹ᆺ╹)\",\"picture\":\"https://cdn.masto.host/tootyoshis/accounts/avatars/109/287/818/892/608/836/original/06b092f832af242e.jpeg\",\"banner\":\"https://cdn.masto.host/tootyoshis/accounts/headers/109/287/818/892/608/836/original/0c93d475439bd8ae.jpeg\",\"nip05\":\"[email protected] \",\"fields\":[[\"Blog\",\"https://blog.yoshuawuyts.com\"],[\"Pronouns\",\"He/They\"],[\"Location\",\"København, Danmark (9F7JMHJM+28)\"],[\"Timezone\",\"CEST (UTC+2)\"]]}" ,
"sig": "f8a8e9b48d18427d940a67f03510cc94f9e8f2ce7f16b1211639ee9999401dc7a58a8ac5b2e193c1502dc9dcc03536b49636942ecf8666e8460dd61b022390f6"
}
Last Notes npub1u86g6tc80vx4zt5xv6lh5rwammfwgs7envxf9nk02aa5u59cv43shd6gze yosh (is out of office) In case people are wondering why GitHub has been having some issues as of late - the GitHub COO recently shared that they're handling up to an order of magnitude more traffic than they were a year ago. It's not like GitHub is just serving up pictures and text - things like the core git backend and actions are quite complex to host at scale. Idk, I guess I'm not surprised there are some stability issues when they're going from handling 1 billion commits/year to 14 billion commits/year. https://cdn.masto.host/tootyoshis/media_attachments/files/116/487/778/101/627/582/original/12f22c6eba6a04e6.png npub1u86g6tc80vx4zt5xv6lh5rwammfwgs7envxf9nk02aa5u59cv43shd6gze yosh (is out of office) I'm legit really curious what will happen should bleeding-edge memory, GPUs, and hard drives become inaccessible for regular consumers. Speculating, my hunch is: 1. Most consumers will simply not upgrade unless things break 2. Instead of buying new, more people will buy refurbished instead 3. This will open up the market for new vendors selling hardware 5-10yrs behind the bleeding edge 4. We'll start hearing more about performance-per-dollar npub1u86g6tc80vx4zt5xv6lh5rwammfwgs7envxf9nk02aa5u59cv43shd6gze yosh (is out of office) @nprofile…pvnt what printer is that? npub1u86g6tc80vx4zt5xv6lh5rwammfwgs7envxf9nk02aa5u59cv43shd6gze yosh (is out of office) @nprofile…50zr ohhh, that sounds like a perfect spot for cats honestly. I'm 100% going to remember this for when we buy a house! npub1u86g6tc80vx4zt5xv6lh5rwammfwgs7envxf9nk02aa5u59cv43shd6gze yosh (is out of office) Absolute monsters https://mastodon.energy/@Sustainable2050/115091141825847037 npub1u86g6tc80vx4zt5xv6lh5rwammfwgs7envxf9nk02aa5u59cv43shd6gze yosh (is out of office) On the topic of Vim: I'm back behind my computer again today after having touched grass for a week. And yeah no, I don't think I actually like Lazyvim that much? I feel like it messes with too many of the default settings; in particular overriding the `g-n` bindings to mean something else. Lazyvim very much feels like a neovim-based editor, rather than a "configured neovim” instance. Kickstart vim seems much better for what I want imo! https://github.com/Simpaqt/kickstart-vim npub1u86g6tc80vx4zt5xv6lh5rwammfwgs7envxf9nk02aa5u59cv43shd6gze yosh (is out of office) @nprofile…h04a @nprofile…ppkq Already using both ^_^ npub1u86g6tc80vx4zt5xv6lh5rwammfwgs7envxf9nk02aa5u59cv43shd6gze yosh (is out of office) Attention all rail fans: they've made the video game equivalent of multi-track drifting! https://youtu.be/o_Xmv9eAIZA npub1u86g6tc80vx4zt5xv6lh5rwammfwgs7envxf9nk02aa5u59cv43shd6gze yosh (is out of office) I'm half expecting someone to come out of the woodwork to tell me that their $7000 Sausage King smoker/grill hybrid is great actually. And I have no doubt. But I'm talking about the average barbecue experience. I've been stacking coal for an entire week here and - while it's been great fun - the food itself kind of sucks. npub1u86g6tc80vx4zt5xv6lh5rwammfwgs7envxf9nk02aa5u59cv43shd6gze yosh (is out of office) @nprofile…46gt oh hah, yeah no I didn't mean support for buffers — I meant "tabs" as in the UI element. E.g. having a visible tab bar at the top of the editor. npub1u86g6tc80vx4zt5xv6lh5rwammfwgs7envxf9nk02aa5u59cv43shd6gze yosh (is out of office) Had trouble* falling asleep, decided to prep tomorrow's dinner today. * fell asleep for 3hrs, woke up - couldn't fall asleep again. Not too bad overall tbh. npub1u86g6tc80vx4zt5xv6lh5rwammfwgs7envxf9nk02aa5u59cv43shd6gze yosh (is out of office) Made butter bean purée with chicory for dinner today! Followed by an eggplant parm. The latter still needs some work, but I think I got the former down well tbh! # butter bean purée - two cans of butter beans - 2 onions (finely minced) - entire head of garlic (pressed) - butter or olive oil - veggie stock or fond - lard (optional, omit for a veggie/vegan version) - Parmesan cheese rind (optional, omit for vegan version) # boiled chicory - chicory npub1u86g6tc80vx4zt5xv6lh5rwammfwgs7envxf9nk02aa5u59cv43shd6gze yosh (is out of office) Bahn mi croissants are so good! — If you have a chance, I can definitely recommend it. Ingredient list if you want to try it: - 1 fresh croissant, ideally from a bakery - a bunch of home-made do chua pickles - kewpie mayo - slice of cheese OR omelet OR fried tofu - optional: coriander for added freshness The hardest part is making the pickles; this is the recipe I use: https://gist.github.com/yoshuawuyts/399ec6ec197fc0e6c5f9c50ce547953f npub1u86g6tc80vx4zt5xv6lh5rwammfwgs7envxf9nk02aa5u59cv43shd6gze yosh (is out of office) @nprofile…46gt hah, not sure if this is a setup for a joke? "Whose there?" I guess lol npub1u86g6tc80vx4zt5xv6lh5rwammfwgs7envxf9nk02aa5u59cv43shd6gze yosh (is out of office) @nprofile…hu2s the only thing I use discord consistently for is voice chat from my PS5 with pals who are on Xbox and PC. Not sure if that qualifies me as their target demographic lmao. npub1u86g6tc80vx4zt5xv6lh5rwammfwgs7envxf9nk02aa5u59cv43shd6gze yosh (is out of office) @nprofile…pf0n so many people in the comments begging them to use Wasm instead too hah. I don't really get it tbh. npub1u86g6tc80vx4zt5xv6lh5rwammfwgs7envxf9nk02aa5u59cv43shd6gze yosh (is out of office) Found out the other day that the IETF uses Zulip too. So does the Rust project. So does the Bytecode Alliance. Do I have issues with Zulip? Yes, plenty. Does Zulip send me notifications to buy "orbs"? No, never. And I'm glad. npub1u86g6tc80vx4zt5xv6lh5rwammfwgs7envxf9nk02aa5u59cv43shd6gze yosh (is out of office) Oh fun lol, that was the wrong link everyone read. I tried updating it, two hours ago, but it didn't go through. ANYWAY; here is the right link: https://blog.yoshuawuyts.com/placing-arguments/ Oops. But also: lol. npub1u86g6tc80vx4zt5xv6lh5rwammfwgs7envxf9nk02aa5u59cv43shd6gze yosh (is out of office) @nprofile…eww9 yes I did, updated the link - ty! npub1u86g6tc80vx4zt5xv6lh5rwammfwgs7envxf9nk02aa5u59cv43shd6gze yosh (is out of office) New blog post: Placing Arguments https://blog.yoshuawuyts.com/placing-functions/ Placing arguments sound like a promising idea, but it turns out they’re fundamentlly different from regular arguments in subtle ways. Enough so that I don’t believe we can introduce them in a way that would be practical. So then the question becomes: what can we do instead? npub1u86g6tc80vx4zt5xv6lh5rwammfwgs7envxf9nk02aa5u59cv43shd6gze yosh (is out of office) New blog post: Placing Arguments https://blog.yoshuawuyts.com/placing-functions/ Placing arguments sound like a promising idea, but it turns out they’re fundamentlly different from regular arguments in subtle ways. Enough so that I don’t believe we can introduce them in a way that would be practical. So then the question becomes: what can we do instead? npub1u86g6tc80vx4zt5xv6lh5rwammfwgs7envxf9nk02aa5u59cv43shd6gze yosh (is out of office) boooo, Kakoune bindings (which Helix uses) don't provide a reflow operation. E.g. there is apparently no built-in equivalent to `gq` in vim. I can obvs create my own bindings, but I really expected that to be a built-in? npub1u86g6tc80vx4zt5xv6lh5rwammfwgs7envxf9nk02aa5u59cv43shd6gze yosh (is out of office) The `gh` command line tool is actually really well done. Imo one of the better command line tools out there; with every operation structured as a noun-verb. We used it a bunch to automate the release process, and it worked well! Unfortunately it still required a couple of `sleep` calls in between to work consistently. But as far as issues go: that's easily worked around! npub1u86g6tc80vx4zt5xv6lh5rwammfwgs7envxf9nk02aa5u59cv43shd6gze yosh (is out of office) One of the fun things about using the terminal more again is that it's much easier to go back and write shell scripts. In which: @nprofile…47hf and I spent a bunch of time automating the WASI release process today! We already had everything neatly packaged up as actions, but those had to be manually triggered. Well so… not anymore! npub1u86g6tc80vx4zt5xv6lh5rwammfwgs7envxf9nk02aa5u59cv43shd6gze yosh (is out of office) Zellij's support for stacked windows is so nice! I now have a setup where my main pane has my editor, but my right pane has a stack of three different programs I can rotate through: - a regular terminal session - a tui-based git client (lazygit) - a tui-based file explorer (yuzi) In the future I plan to configure this further by creating additional, project-specific panes too. For example: dedicated `cargo test`, `cargo check`, and `cargo run` panes. https://cdn.masto.host/tootyoshis/media_attachments/files/115/012/073/027/370/819/original/d2ecac755347aae3.png https://cdn.masto.host/tootyoshis/media_attachments/files/115/012/073/383/310/575/original/39e4c5288ba9081c.png https://cdn.masto.host/tootyoshis/media_attachments/files/115/012/073/754/662/556/original/d841e67d9e69f4a8.png npub1u86g6tc80vx4zt5xv6lh5rwammfwgs7envxf9nk02aa5u59cv43shd6gze yosh (is out of office) Remember I was telling that story a couple of weeks ago about the awful frijoles refritos that I had? Yeah, so I found out last Friday that that's hyped as some of the best Mexican food in town, courtesy of ex-Noma chefs. Lol. Lmao. npub1u86g6tc80vx4zt5xv6lh5rwammfwgs7envxf9nk02aa5u59cv43shd6gze yosh (is out of office) @nprofile…e7zl Wish we would have gotten more of those unnecessary allocations tbh 🫠 https://blog.yoshuawuyts.com/the-waker-allocation-problem/ npub1u86g6tc80vx4zt5xv6lh5rwammfwgs7envxf9nk02aa5u59cv43shd6gze yosh (is out of office) I installed Aerospace today too, which is giving me an i3-like experience on macOS! My 2017-2020 setup is so coming back; I can't wait to restore my status as resident terminal demon. https://cdn.masto.host/tootyoshis/media_attachments/files/115/006/883/776/137/880/original/7c129c3e0b013141.png npub1u86g6tc80vx4zt5xv6lh5rwammfwgs7envxf9nk02aa5u59cv43shd6gze yosh (is out of office) I was wondering whether the receiver chipset was maybe too bulky to include in phones; but I don't actually think so? Check out this LoRa cover for the PinePhone: https://pine64.com/product/pinephone-pinephone-pro-pindio-lora-add-on-case/ If you disregard the size of the dedicated antenna, the actual chipset doesn't seem unmanageably big? For a 15KM-range P2P radio/network protocol? I can see that being worth it? This is *fascinating* to me. I really wonder what the catch is with LoRa; surely there must be one? npub1u86g6tc80vx4zt5xv6lh5rwammfwgs7envxf9nk02aa5u59cv43shd6gze yosh (is out of office) Ohhhhh, actually!!! I just found one! https://www.seeedstudio.com/Loko-GPS-Tracker-p-6261.html This is from Seeed Studio, which manufacture some really interesting micro-controllers. This is so sickkkkk! npub1u86g6tc80vx4zt5xv6lh5rwammfwgs7envxf9nk02aa5u59cv43shd6gze yosh (is out of office) Free Palestine npub1u86g6tc80vx4zt5xv6lh5rwammfwgs7envxf9nk02aa5u59cv43shd6gze yosh (is out of office) ohhh, actually: zellij layout files might be one good reason to stay on it! https://zellij.dev/documentation/layouts.html Using this looks significantly nicer than what I was doing with tmux back in the day: https://github.com/yoshuawuyts/dotfiles-linux-2019/blob/master/bin/mx npub1u86g6tc80vx4zt5xv6lh5rwammfwgs7envxf9nk02aa5u59cv43shd6gze yosh (is out of office) booo, zellij doesn't have an equivalent to tmux's link-window functionality. That means you can’t have shared tabs between multiple sessions. And also: its default keybindings just don't work on macOS at all. I'm actually wondering now whether switching to zellij is a good idea at all? I mean: yes, Rust good. But I'm not sure what else tbh. npub1u86g6tc80vx4zt5xv6lh5rwammfwgs7envxf9nk02aa5u59cv43shd6gze yosh (is out of office) phew, dodged having to flash my keyboard! Ran into an issues where zellij was intercepting the commands I was trying to send to jj. Which I didn't notice, because my setup's colors are somewhat broken lol npub1u86g6tc80vx4zt5xv6lh5rwammfwgs7envxf9nk02aa5u59cv43shd6gze yosh (is out of office) I can’t quite get over the color schemes yet - but at least structurally this is starting to resemble something I can work with! https://cdn.masto.host/tootyoshis/media_attachments/files/115/000/035/099/197/398/original/eec53ca1d7453102.png npub1u86g6tc80vx4zt5xv6lh5rwammfwgs7envxf9nk02aa5u59cv43shd6gze yosh (is out of office) I've been messing around a bit with my terminal prompt (starship.rs). I'm quite happy with where I’ve landed! I now have a vertical line separator between each command invocation, which matches the window zellij separators. As well as some basic information about the current project. I still need to work on the color schemes. But imo the basic shape of this is something I'll probably want to stick to ^^ https://cdn.masto.host/tootyoshis/media_attachments/files/114/999/365/938/766/890/original/0fe55a5448b8764a.png npub1u86g6tc80vx4zt5xv6lh5rwammfwgs7envxf9nk02aa5u59cv43shd6gze yosh (is out of office) Annnnd merged! `core::mem::DropGuard` will be available starting from the next Rust nightly! https://github.com/rust-lang/rust/pull/144236 npub1u86g6tc80vx4zt5xv6lh5rwammfwgs7envxf9nk02aa5u59cv43shd6gze yosh (is out of office) I'm learning about the US-EU trade deal and oh my god. Asymmetric 15% tariffs in favor of the US. And why? So the EU can get Ford F-150 trucks killing children here too? So we can buy US arms? Make it make sense. I hate neolibs so much oh my god. npub1u86g6tc80vx4zt5xv6lh5rwammfwgs7envxf9nk02aa5u59cv43shd6gze yosh (is out of office) New blog post: Syntactic Musings on Match Expressions https://blog.yoshuawuyts.com/syntactic-musings-on-match-expressions/ In this post I cover some of the oddities of Rust's match keyword, and discuss ways in which we might be able to make these both easier to learn and use. npub1u86g6tc80vx4zt5xv6lh5rwammfwgs7envxf9nk02aa5u59cv43shd6gze yosh (is out of office) On vacation, and I've performed repairs on 2/2 places I've stayed at so far. They'll ✨ never know ✨. npub1u86g6tc80vx4zt5xv6lh5rwammfwgs7envxf9nk02aa5u59cv43shd6gze yosh (is out of office) Air quality geekery intensifies: we now have a radiation meter in our living room! npub1u86g6tc80vx4zt5xv6lh5rwammfwgs7envxf9nk02aa5u59cv43shd6gze yosh (is out of office) Reminder: the term “annexation” is used instead of “invasion” to make the threat of war sound less hostile and more palatable. You are always free to reject framing of this kind. It’s not a “special operation” or “proposed annexation” — it’s a ground invasion. A threat of war. Call it what it is. npub1u86g6tc80vx4zt5xv6lh5rwammfwgs7envxf9nk02aa5u59cv43shd6gze yosh (is out of office) @nprofile…j7g3 oh interesting; yeah I’ve heard that term before but didn’t quite understand what it meant. How would you describe what the purpose of an exokernel is? npub1u86g6tc80vx4zt5xv6lh5rwammfwgs7envxf9nk02aa5u59cv43shd6gze yosh (is out of office) I should really get flatpak Linux to run on my Raspberry, install Wasmtime (or Spin or Wasmcloud) on it, and start compiling packages for it. My guess: putting this into production won’t be practical until we have existing software that can run on this. And a lot of that software will depend on threads. But then again: (virtual) threads for Wasm Components don’t seem to be that far away, and it would be nice to hit the ground running. npub1u86g6tc80vx4zt5xv6lh5rwammfwgs7envxf9nk02aa5u59cv43shd6gze yosh (is out of office) New blog post: a survey of every Iterator variant. I spent a good chunk of my winter break on this post, enumerating all Iterator variants that have come up over the years, in an attempt to get a handle on the entire problem space. https://blog.yoshuawuyts.com/a-survey-of-every-iterator-variant/ npub1u86g6tc80vx4zt5xv6lh5rwammfwgs7envxf9nk02aa5u59cv43shd6gze yosh (is out of office) @nprofile…qa44 ohhh, congrats! 🎊 npub1u86g6tc80vx4zt5xv6lh5rwammfwgs7envxf9nk02aa5u59cv43shd6gze yosh (is out of office) @nprofile…rnsd ha yeah that’s exactly it — I like having tactile bumps there and the clear caps I use didn’t have a version with that. npub1u86g6tc80vx4zt5xv6lh5rwammfwgs7envxf9nk02aa5u59cv43shd6gze yosh (is out of office) I thought my reading setup this morning was rather cute. Spent a little bit of time transcribing my reading notes as well ^___^ https://cdn.masto.host/tootyoshis/media_attachments/files/113/810/551/554/312/430/original/2fcd7b7266f34afb.jpeg npub1u86g6tc80vx4zt5xv6lh5rwammfwgs7envxf9nk02aa5u59cv43shd6gze yosh (is out of office) I remember I went most of my high school scoring grades that were barely passing. I had so much trouble focusing, it was like, really hard. One of the few times I ever got top marks in class was on an economics exam where I asked the teacher whether I could listen to music during the exam — and she agreed. Anyway, I just heard the phrase “sensory needs” and like, yeah I can’t for the life of me work with constant noise around me. But take that away, and I tend to do rather ok ^^ npub1u86g6tc80vx4zt5xv6lh5rwammfwgs7envxf9nk02aa5u59cv43shd6gze yosh (is out of office) What %/yr is considered workable for a wealth tax? 0% is what most places seem to have today, and rewards infinite hoarding which clearly isn’t working well. But on the other end 100% seems like too much because it punishes all degrees of saving and planning. I imagine something in between those two, probably progressively bracketed? Idk, I imagine people have thought about this – but I haven’t really read much about it? npub1u86g6tc80vx4zt5xv6lh5rwammfwgs7envxf9nk02aa5u59cv43shd6gze yosh (is out of office) Look at how goofy these look though! - I want some! https://www.thingiverse.com/make:1009222