miniblog.

42
Tectonic is a fabulous new implementation of TeX that doesn't require a large distribution, doesn't write intermediate files, and automatically loops TeX and BibTeX!
Deep dive into netcode in the Apex Legends shooter, respecting fairness between players with different latencies, and choosing server tickrates:
92
Bootstrapping a full GCC toolchain from an extremely minimal hex editor has an astounding number of steps: https://github.com/fosslinux/live-bootstrap/blob/master/parts.rst I didn't realise just how many tools are self-hosting. Not just GCC, but also flex, bison, automake and even perl!
3
What languages have changed the most since their creation? JS? IIFEs and prototypes to modules and classes. C++? Plain pointers to smart pointers. There must be more dramatic examples.
1
Pharo 9 will also be available as a Linux package in several major distros! https://thepharo.dev/2021/04/09/installing-pharo-in-linux-using-the-system-package-manager/ For most languages this is no big deal, but it's much harder for a deeply mutable image-based environment.
1
Pharo 9 refactoring demonstrates some clever analysis: if you extract a method from an expression, it can find other occurrences of that expression in the class hierarchy! https://pharoweekly.wordpress.com/2021/04/01/pharo-90-refactoring-support-improves-steadily/
A clever approach to JS dependencies during development: Snowpack hosts npm libraries which you can reference directly!
31
TIL you can return values from loops in Rust: https://doc.rust-lang.org/reference/expressions/loop-expr.html#continue-expressions I've only ever seen this in Common Lisp / Elisp!
23
Renaming code often exposes further needs for refactoring: https://www.fluentcpp.com/2021/04/23/make-bad-code-look-bad/ (I found the example really compelling!)
It's amazing how quickly leaked credentials get harvested and used to create VMs mining cryptocurrencies: https://johnmathews.eu/i-leaked-credentials-onto-a-public-github-repo.html
1
TIL that &mut [T] in Rust means that you can modify the items in a slice, but you can't change its size. It's surprisingly handy: I'd just been using &mut Vec<T> everywhere previously.
52
Why Lisp? It has its pros and cons.
1
This is the most creative form of Linux usage I've seen in ages! From
Photo
The number of tools a programming language is expected to provide is growing over time. This in-depth article describes what Rust provides: you can't just ship a compiler these days. Source:
Photo
2
Want to move to a code autoformatter, but worried about git history? Black even documents how to teach git to ignore your formatting commit!
Showing 1,216-1,230 of 7,611 posts