Simon @simonask.bsky.social · 16/06/2026It can also be null, the empty list, and the set of all sets containing all sets. 030
Simon @simonask.bsky.social · 05/03/2026Went deep into this rabbit hole making Werk, and kind of concluded that PTY is never the right answer. Just bite the bullet and deal with the chaos of environment vars. Unless you plan to actually emulate a terminal (you don’t). 000
Simon @simonask.bsky.social · 07/09/2025Ever found yourself allocating altogether too many strings, just to get human-friendly output? crates.io/crates/liter...crates.iocrates.io: Rust Package Registry 020
Simon @simonask.bsky.social · 21/08/2025Ah right. Yeah, the only way I’ve gotten that to work has been by severing the other dependency. It *should* work to have two shim crates both reexporting all symbols, then use some custom line flags like `whole-archive` etc to actually include everything in the static variant. Maybe you tried this? 210
Simon @simonask.bsky.social · 21/08/2025Normally I would say it smells like an X/Y problem, but since it’s you, I’m curious… what linker crimes are you up to? 100
Simon @simonask.bsky.social · 04/08/2025But if you do it anyway, I salute you for not using AI to “polish” your work — it makes it much easier for other non-natives to detect that you are human, and therefore may have interesting things to say. 010
Simon @simonask.bsky.social · 04/08/2025As a non-native casual user of the English language, I feel like I can probably say this: If communication and writing are not skills you have or want to practice, how about… not writing blog posts? What is this obsession with creating an online portfolio of mediocre “articles”? 120
Simon @simonask.bsky.social · 21/06/2025Very early work in progress atm, but I’m optimistic! Here’s a wild thought: if facet provides a way to invoke arbitrary function pointers, this could even automatically wrap them so they’re callable from JS. 🤯 010
Simon @simonask.bsky.social · 19/06/2025The only thing I miss from C++ is the drama. Oh, and specialization. 010
Simon @simonask.bsky.social · 14/06/2025The obvious workaround is to keep using good old em-dash, but introduce a light sprinkling of spelling errors or non-idiomatic phrasing. Non-native speakers finally have an advantage! The Uncanny Valley of language is our only hope. 000
Simon @simonask.bsky.social · 02/06/2025WASM is so close to being actually good. Just give me any kind of dynamic linking. Please. 🥺 000
Simon @simonask.bsky.social · 17/04/2025Been trying out unsynn for my own projects. I have to say, it’s actually quite pleasant, but I really wish the library would commit to a bit more stability. The current design seems fine. 110
Simon @simonask.bsky.social · 08/04/2025Most hated by people who actually use it: C++ Most hated by people who don’t use it: Rust Least hated by people who actually use it: Rust Least hated by people who don’t use it: C++ 080
Simon @simonask.bsky.social · 27/03/2025I made a new ultra-efficient string interning library for fun and profit. Pretty proud of the amount of magic here, not gonna lie. simonask.github.io/introducing-...simonask.github.ioIntroducing Stringleton 021
Simon @simonask.bsky.social · 02/03/2025I think the point isn’t “this was possible for all”, but rather “this was possible at all”. 010
Simon @simonask.bsky.social · 14/02/2025Build scripts and proc macros are not rebuilt on every check. R-a today caches them quite aggressively (and often actually needs a full restart when they change, at least in VS Code). They do need to *run* though, and that’s a good point. 010
Simon @simonask.bsky.social · 14/02/2025More generally, LSP servers can be structured very differently from a compiler (and r-a is, to my knowledge), and can choose very different tradeoffs, because interactivity is more important, and passing stuff to codegen is a non-issue. 100
Simon @simonask.bsky.social · 14/02/2025I mean, for sure there’s a lot of overlap, but codegen is very, very slow (kind of intrinsically). 100
Simon @simonask.bsky.social · 14/02/2025I’m willing to bet that these issues would be way less important to people if rust-analyzer was actually fast. 100
Simon @simonask.bsky.social · 04/02/2025There’s probably a niche for a less ambitious rand crate, but should anybody use it? 110
Simon @simonask.bsky.social · 04/02/2025Thought: If the goal was stated as “generate a pseudo-random number”, I would agree. But it does a lot more: crypto-suitability, max performance, choices of distributions… hard things to get right. And still not suitable for something like games. 110
Simon @simonask.bsky.social · 01/02/2025Thanks! Yeah, I’ve been debating it, so it’s kind of “intentionally left blank” at the moment. Since it is a tool, not a library, I’m considering something a little less permissive, but I’m still not sure. 100
Simon @simonask.bsky.social · 24/01/2025Was literally looking at this yesterday for werk, and it turns out to be another surprisingly deep rabbit hole. 🥵 060
Simon @simonask.bsky.social · 24/01/2025I mean… not disagreeing, but it’s kind of hard to get the terminal size without at least windows-sys and libc. Cargo does it that way, but also contains logic to handle additional platform-specific oddities. 110
Simon @simonask.bsky.social · 14/01/2025That’s right, sorry for overpromising in docs! I’ll build out this and more small things in the next couple of days. 100
Simon @simonask.bsky.social · 12/01/2025I made a thing: simonask.github.io/introducing-...simonask.github.ioIntroducing Werk 450