miniblog.

I loved playing Creatures 3, an ancient game (1999) with some basic neural nets. I'm surprised that ML isn't a bigger deal in virtual pets today! https://en.wikipedia.org/wiki/Creatures_3
Interesting to see that Swift has adopted checked exceptions: https://docs.swift.org/swift-book/LanguageGuide/ErrorHandling.html I haven't seen many languages favour this feature after Java practices have gradually moved away from it.
I've realised the big advantage of teaching OO with physical analogies. It's well accepted that OO isn't just about modelling the eworld. Physical items are great for explaining subtyping. You can view types as subsets, and Ferrari <: Car <: Vehicle is intuitive.
Further optimising rustc, with a mix of direct performance work and improving the toolchain for benchmarking! https://blog.mozilla.org/nnethercote/2020/08/05/how-to-speed-up-the-rust-compiler-some-more-in-2020/
Code completion often assumes that there's nothing after the cursor. For example, when I'm writing CSS: padding-b|: 10px; I should still get completion for `padding-bottom`. This is a hard problem, but I've seen few IDEs handle this well.
My new go-to placeholder CSS colour is `teal`. It's way less garish than red or blue, and it's short to type.
Setting up my new SSD, and I've learnt that TRIM isn't always worthwhile on modern disks: https://www.spinics.net/lists/raid/msg40916.html
Emacs trick I've not seen before: press t in an edebug session! This pauses for one second at every stop point, effectively stepping for you automatically. https://www.gnu.org/software/emacs/manual/html_node/elisp/Edebug-Execution-Modes.html#Edebug-Execution-Modes
DigiKam 7 is out, including a much improved ML model for organising photos! https://www.digikam.org/news/2020-07-19-7.0.0_release_announcement/ Since using Google Photos, I've wanted this feature in all the photo apps I use.
On the typical lisp function taking more arguments than its Haskell analogue: https://chrisdone.com/posts/haskell-lisp-philosophy-difference/
I've read about dematerialisation, but it's interesting to see in a computer context. I've bought an NVMe disk and USB-powered speakers this week. Both had fewer components than the parts they replaced.
Building Docker images with Nix, and a neat discussion of graphing algorithms to decide how to flatten layers: https://grahamc.com/blog/nix-and-layered-docker-images
Rust's backtraces moving to be native Rust: https://github.com/rust-lang/rust/pull/74682/commits/06d565c967bfb7c6ff52a991bbe47b4a2a25de3e This prevents malformed DWARF info leading to security issues, an avenue for vulnerabilities I'd not considered before. https://twitter.com/Brittain_Ben/status/1288193388588740615
I've been doing more functional programming recently, and realised just how general a for loop is. We needed a function `int list -> (bool, int) list` that would mark each item if it was the largest seen so far. Pretty straightforward.
Rewriting, debugging, and fuzzing a new manual format in OpenBSD: https://www.openbsd.org/papers/bsdcan15-mandoc.pdf I particularly enjoyed the root cause analysis of the fuzzing bugs found.
Photo
A fresh linux install also makes me realise how few programs I use regularly. I've only installed Emacs, Firefox, a few interpreters/compilers and vlc. I keep thinking I must be missing something, but I haven't needed anything else yet.
OpenBSD replacing sudo with doas, as a simpler, easier to reason about alternative: https://flak.tedunangst.com/post/doas The motivation resonates with me too: I only ever use sudo for personal usage, not managing complex groups of users with different permissions.
Did a fresh Arch Linux install on a new SSD today. It was easier than I remembered, even with LUKS and LVM set up. Configuring wifi cards has got much easier: it's really important for the initial bootstrap these days.
I'm fascinated to learn that hard disk repair services will replace individual components in disks for you: https://www.youtube.com/watch?v=0iiEKZhDapo Needing a clean room is a pretty major hurdle to doing the maintenance yourself.
# mount /dev/MyVolGroup/root /mnt # mkdir /mnt/home # mount /dev/MyVolGroup/home /mnt/home Unix mounting conventions still feel strange to me. Creating a directory in one mount, only to mount something else at the same path. It feels weird to create a dir in the first mount.
Showing 141-160 of 378 posts