miniblog.

I've always wondered why more compilers don't use parameters with basic blocks rather than phi nodes. I enjoyed this post discussing tradeoffs, including comments on how GHC and Swift model blocks:
Python's pip is adding a full dependency resolver! https://pyfound.blogspot.com/2020/03/new-pip-resolver-to-roll-out-this-year.html Fun fact: the `pip check` command recommended was originally written by me in 2013:
I really admire projects that put their goal in their name. For example, lastpass. It's a great way of staying focused. I once built a project called "one click deploys" to automate a manual deployment. The name stopped us adding unnecessary clickthroughts on big systems.
In celebration of my Brainfuck compiler being referenced on Wikipedia, I've given it a full website! I discuss the compiler techniques used, tricks for fuzz-testing IR, and even discuss portability for the brave people that actually try it :)
Fun, accessible introduction to metaclasses in Ruby: https://dumas-olivier.medium.com/what-i-didnt-know-about-ruby-classes-9de64ee40d4d
PL module systems impacting IDE design, and how salsa (Rust memoisation library for trees of function calls) is used in rust-analyzer:
One consequence of moving all my personal projects to automatic deploy with Docker: I've started avoiding configuration files. Command line arguments or environment variables are much easier to work with, and don't require fiddling with Ansible or similar.
Contrasting convolution to multiplication, and some great examples to build intuition: https://betterexplained.com/articles/intuitive-convolution/
io_uring enables applications to submit multiple syscalls at once, and eBPF allows arbitrary execution inside the kernel! https://thenewstack.io/how-io_uring-and-ebpf-will-revolutionize-programming-in-linux/
I originally heard about Cranelift in the context of fast rustc builds in debug mode. TIL it was originally written to make webassembly run faster! https://github.com/bytecodealliance/wasmtime/tree/main/cranelift (via https://hacks.mozilla.org/2018/10/webassemblys-post-mvp-future/)
Knowledge work, Getting Things Done, and productivity at an organisational level:
Simple Doom-style FPS written entirely in Awk!
I've worked on apps with really cute custom spinners. They can add a distinct vibe for the app. It's a high risk strategy though. If any part of your system starts running slowly, users develop ban associations with the spinner. I prefer default spinner designs these days.
The Servo browser is going to be part of the Linux Foundation! I really hope it works out, Servo is an amazing project. It's really hard to build custom browser designs and having a good reusable browser library matters.
The GIMP is the only software tool (AFAIK) where selecting content is an undoable operation. I think this makes sense: selecting things in a complex image is a much more involved operation than in text.
Showing 16-30 of 378 posts