philpax

creative engineer Β· gamedev/modding, reverse engineering, writing, AI, XR, Rust, etc

a better world is possible Β· πŸ‡¦πŸ‡ΊπŸ‡ΈπŸ‡ͺπŸ³οΈβ€πŸŒˆ

I have mostly made my peace with NixOS today but this remains deeply frustrating discourse.nixos.org/t/rust-ana

nothing like working on a Python codebase you didn't create to make you regret ever using NixOS

always a sad moment when you give in and install GIMP

software that should ship with Claude as a frontend:
- ffmpeg
- NixOS
- virsh

I wish NixOS (the reality) lived up to NixOS (the concept)

incredible how you can break your network with NixOS's configuration and then not be able to unbreak it because `nixos-rebuild` requires the internet and the workarounds for that only work sometimes

rustc is a program for multiplying hundreds of kilobytes of code into dozens of gigabytes of target/ folder

I've been using Mastodon for two years now, but it's still weird to me that boosting a post is an instant action: Twitter and Bluesky have conditioned me to wait for the dropdown. Just one of those weird UX discrepancies, I guess

philpax boosted:
Per Vognsenpervognsen
2024-11-30

matklad's old post on how to stay on top of compile time is still relevant: matklad.github.io/2021/09/04/f. He mentions that at the time rust-analyzer plus its transitive dependencies was 1.2 million lines of code and built in 8 minutes on GitHub Actions (notoriously slow). I just did a clean debug build of the latest rust-analyzer and it's 44s for a debug build on my laptop. A clean release build is 70s. I assume it's quite a bit more than 1.2 million lines now, too.

I've used Syncthing with success, but that's a bit more of a hassle for copies that I only need to do once in a while. (Although, in hindsight, I should have set up automated backups a while ago.)

Is there a modern retake (of the kind written in Go/Rust/whatever) that just Does The Right Thing:tm: out of the box for synchronising content between two folders using the CLI, with one potentially being remote? (I'm just copying from an external disk to an internal right now, so network not needed, but nice to have in future)

`rsync` not defaulting to `-R` seems like a historical mistake. (Guess who just had to redo their backup because rsync dumped the contents of all of the folders I specified into the same destination?)

@tracefree damn, competitive with Java installs!

tried to figure out why I couldn't SSH to my server on a non-standard port. forgot that it was `-p` for `ssh`, not `-P` - silly me, it's only `-P` for `scp`

I wonder how many people that's gotten over the years

I wonder if there's a language solution for this. I can use a match guard here, but it's a pretty ugly solution in comparison.

I think I'll just add a method for getting the first text element and use that instead for now.

I find matching against nested owned data structures (`Vec` or `String` etc) in Rust to not be as useful as you'd hope, as you can't implicitly deref them to their matchable counterparts:
```rust
let children_started_with_text = children.first().is_some_and(|c| {
matches!(
c,
Element::Text { .. }
| Element::Fragment {
children: [Element::Text { .. }, ..]
}
)
});
```
won't work, because `children` is a `Vec`. Ditto with `String`.

one day Rust will ship `futures::future::[try_]join_all` in the stdlib

I can't be the only one who consistently struggles to find the button to update my Plex library in the server UI, right?

@hikari at the same time, I don't know what an ideal solution for this kind of thing *would* be; it's not clear to me that there is a standard suite of tools you could extract, or solutions you could apply across works

for language, I could see it being more of a hypermedia thing - being able to easily access a reference, examples of use, etc - but then you're approaching a language learning platform, and those already have their own solutions in place

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst