The Nintendo Switch has a clever way of preventing firmware downgrades: upgrading the firmware blows an internal fuse!
https://news.ycombinator.com/item?id=27202766
This means that the hardware knows a newer firmware exists.
miniblog.
Writing a REPL that evaluates-as-you-type, keeping the UI responsive and staying defensive against runaway memory usage: https://scattered-thoughts.net/writing/making-live-repls-behave/
It's a really hard problem for PLs, but even this small live demo has a lot of complexity.
An amazing font concept: adjusting letter size based on how you typed then!
https://jonathanzong.com/projects/biometric-sans
The OCaml compiler saw a huge jump in contributors after moving to GitHub, and the effect has persisted.
Source:
This is really neat: an online collection of programs that can pass the type checker but fail at runtime, in a bunch of languages (Java, Scala, OCaml, Haskell, Rust): https://counterexamples.org/runtime-misinformation.html
It also discusses the design tradeoffs that led to these behaviours.
You can go so far with simple data in Rust that it's kinda surprising when you start learning about interior mutability: https://doc.rust-lang.org/std/cell/index.html
If you give a function a value of &T, they can actually mutate any cells within it. It's not sufficient to look for &mut T usages.
I keep forgetting how powerful phones are: here's a demo of using external peripherals and developing applications on the device itself!
https://puri.sm/posts/the-simplicity-of-making-librem-5-apps/
pledge() and unveil() are gradually being adopted by operating systems other than OpenBSD: https://awesomekling.github.io/pledge-and-unveil-in-SerenityOS/
@kensanata@octodon.social My suspicion is that once you can self-host, it's tempting to only maintain one version.
Hosting a tech conference inside Animal Crossing! https://aparker.io/posts/deserted-island-devops/
Super creative idea and seemed to work reasonably well.
It's a real shame that GitHub doesn't run CI against PRs from new contributors any more: https://github.blog/2021-04-22-github-actions-update-helping-maintainers-combat-bad-actors/
Preventing arbitrary cryptocurrency mining code is incredibly hard though. It's increasingly common: https://layerci.com/blog/crypto-miners-are-killing-free-ci/
JS projects can accumulate a ton of dependencies, but TIL that npm can explain why you have them. `npm explain foo` or `npm why foo` shows the dependency path to foo.
Super handy when you weren't expecting to depend on something.
TIL that `cargo t` and `cargo r` work as `cargo test` and `cargo run` respectively. Several keystrokes saved!
Python is discussing an elegant approach to tracebacks, where the subexpression that caused the exception is highlighted: https://www.python.org/dev/peps/pep-0657/
How do you randomly sample from non-uniform distributions? This is a common problem when computing random numbers.
TIL about rejection sampling, where you randomly sample within an area that includes the distribution, until you hit a value inside: https://towardsdatascience.com/what-is-rejection-sampling-1f6aff92330d
How to make Rust code faster, including profiling, LLVM whole-crate optimisation, and avoiding costly error checks: https://likebike.com/posts/How_To_Write_Fast_Rust_Code.html
Would it make sense for compilers to have a gas model for optimisations? It would enable speculative execution of transforms that are sometimes expensive.
TIL that Rust's dbg! macro also works in release builds, so you can debug issues when you need the perf of a release build.
This differs from debug_assert! which is ignored in release builds.
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!
https://tectonic-typesetting.github.io/en-US/
Deep dive into netcode in the Apex Legends shooter, respecting fairness between players with different latencies, and choosing server tickrates: https://www.ea.com/en-gb/games/apex-legends/news/servers-netcode-developer-deep-dive
Showing 221-240 of 345 posts