As a kid I didn't particularly like bosses in games: they were a bother that you couldn't skip. Now, I see so many bosses with *amazing* designs.
I think I'm just less intimidated. Platformers also let you wait until you're ready more often too.
It's surprisingly fiddly to build a lint engine that warns on unused suppressions. Plenty of established linters don't have this feature.
I carefully document `cargo install --locked` for difftastic users, I carefully use `--locked` for CI, and I've just realised that all my release builds totally ignore it! Oops.
Anyone using my prebuilt binaries have been getting different Unicode width calculations in display.
Today in cursed C code:
void foo(int32_t int32_t, int32_t bar);
Since C puts identifiers and typedefs in the same namespace, this code just produces a confusing compile error about the type of bar!
(This occurred in some real code after macro expansion.)
I've learning more about Zellij, and it increasingly feels like a nice tiling window manager for working in terminals.
My mental model for tmux and screen was that their main focus was persistence (detach/attach between SSH sessions). Zellij seems to focus on layout.
I find myself just taking photos of documents for submitting forms, rather than scanning.
Scanning still feels more 'official' (a PDF instead of a JPG) but the sheer convenience of using a phone wins every time. I've rarely seen organisations complain about photos.
Playing with Zellij this week (a terminal multiplexer like screen/tmux) and it's worked great so far.
It's nice having many short-lived, named terminal sessions on a remote machine. Normally I'd have multiple iTerm windows, but they end up with huge histories.
Compiler error messages is such a deep topic. Even in rustc, a mature compiler that invests effort in diagnostic quality, I find interesting issues every few months.
(The majority have been fixed pretty quickly, so it's really rewarding to file issues.)
Today I learnt about yamllint: if you're using YAML, you can at least ensure you're not suffering from the 'Norway problem':
I'm reaching a point where I want a declarative, GitOps style workflow for DNS for my personal projects.
Anyone have opinions? The obvious options seem to be Terraform or DNSControl.
I'm surprised there aren't more interpreted languages with a first party type checker.
Python has several good type checkers, Ruby has Sorbet, and there are others.
Having zero compilation time *and* a full IDE seems like such a compelling design, at least on paper.
I had a third attempt at porting difftastic from Dijkstra to A*, and I've eventually concluded that A* just isn't worth it for the implementation complexity.
I had fun writing it up though, and I've even attempted ASCII art for building intuitions:
I periodically see "diffstatic" as a typo of difftastic. I quite like it: makes me think of 'ecstatic' rather than 'fantastic'.
I've eventually configured typos CLI to prevent this spelling on the difftastic repo, but it makes me smile every time.
It's really satisfying fixing crashes in rust-analyzer. You can start from a panic message and dig until you've got a tiny Rust program that triggers the problem.
(It's usually an issue with incomplete source files breaking invariants.)
Semver has a really odd relationship with software maturity. I'd take a v0.21 project over a v1.0 project.
Showing 16-30 of 125 posts