TIL that AMD64 instructions generally don't support immediates greater than 32-bit: https://c9x.me/notes/2015-09-19.html
If you really need a large immediate value, you need to use MOV into a register first.
miniblog.
Reflections on the Rust design process: https://smallcultfollowing.com/babysteps/blog/2019/04/19/aic-adventures-in-consensus/
Explicitly configuring a 'hyper' key for global shortcuts, regardless of the current active application: https://prodtyping.com/blog/hyperkey-hammerspoon
Nice idea -- making the desktop more like a modeless UI!
TIL that nasm does optimisation!
It will convert `mov rax, 1` to `mov eax, 1` unless you specify -O0.
Handy, but surprised me when tinkering with some machine code.
It's well known that certain compiler optimisations matter way more than others (e.g. inlining).
Is there a similar principle for linters? I find red squiggles under unused/undefined variables the single most useful check.
Training a public machine learning model on private data can leak the original training data: https://ai.googleblog.com/2020/12/privacy-considerations-in-large.html
My fix for shut-up is now on MELPA stable! It's also a fun example of how painful bugs need long commit messages, even if the the change itself is small.
https://github.com/cask/shut-up/commit/081d6b01e3ba0e60326558e545c4019219e046ce
It's the logical progression of vulnerabilities, but the weaponisation of zero-day exploits with no user interaction is scary.
https://citizenlab.ca/2020/12/the-great-ipwn-journalists-hacked-with-suspected-nso-group-imessage-zero-click-exploit/
A charming web page design: it comes with a battery indicator of the solar powered server!
https://solar.lowtechmagazine.com/2020/12/how-and-why-i-stopped-buying-new-laptops.html
It also makes me realise just how little I think about servers when I'm browsing.
Graydon's presentation is a wonderful romp across different programming language implementations, I really enjoyed it!
https://venge.net/graydon/talks/CompilerTalk-2019.pdf https://twitter.com/anewtf/status/1335230251123826693
I really like the framing of legacy code as "money making code".
Presumably if it wasn't making money (possibly indirectly), it would have been deleted!
Emacs survey results are out! Lots of interesting tidbits: people love magit, ivy and flycheck, and a striking number of respondents are fairly new to Emacs! This seems great for the health of the community.
Installing Linux on a NVMe device today. The naming scheme is helpful: /dev/nvme1n1p2 is the second partition on the device. /dev/sdb2 is little less explicit.
https://wiki.archlinux.org/index.php/Device_file#Block_device_names
If I'm about to run a complex or scary terminal command, I like putting echo in front of it:
$ echo dd if=/dev/urandom of=/dev/...
It's a nice way of having a last check of your command. The command is now in your scrollback, as well as your history.
The Futamura projections are really cool: partially applying an interpreter gives you a compiler!
I'm not really sure what this enables though. You'd get a pretty poor compiler.
Is this idea used much? I've occasionally heard it referenced for RPython.
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:
https://blog.ezyang.com/2020/10/the-hidden-problem-with-basic-block-procedures-in-ssa/
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: https://github.com/pypa/pip/pull/1001
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 :)
https://bfc.wilfred.me.uk/
Fun, accessible introduction to metaclasses in Ruby: https://dumas-olivier.medium.com/what-i-didnt-know-about-ruby-classes-9de64ee40d4d
Showing 1-20 of 378 posts