unrelenting.technology

Hi! You are viewing the archive of unrelenting.technology. This website is no longer updated, my current one is val.packett.cool. Check it out instead :)

Notes

TIL: in Docker, “layers” are… the dockerfile commands / the snapshots that are created after each command?! Why. The only things that should be called “layers” are filesystem union mounts. Because they’re literally like layers of filesystems.

Compiling a color emoji font is slower than compiling a JavaScript runtime. Oh, the world we live in.

TIL OpenBSD’s default login.conf sets memory limit per process to 512 MB. That’s… surprising. I guess there’s a lot of “Why does my Firefox crash?”

Protip: don’t bind Ctrl+H to a function in your shell. Terminal emulators will send Backspace or Ctrl+Backspace as Ctrl+H.

lol computers

#wikifinds: GML, the markup language from 1969 that eventually became SGML (which got the <tag attr="ibute"></tag> syntax), looks like a modern hipster-syntax for HTML (Haml, Jade, etc.)

Also, this was a thing: Information Structure Identification Language (ISIL).

Somehow I missed this: generated fake git manpages. “git-channel-head channels any unstaged heads from a few quiltimported non-added applied remotes, and the cleaned stashes that were previously imported inside the staged tags are exported to a passive archive.”

OS X El Capitan has a LOT of high-CPU-usage bugs! The last one I’ve experienced is the firewall checking Xcode’s signature for no reason. Before that, notifyd 100% CPU caused by tmux.

Feels like OS X is turning into Windows.

Pebble’s online color picker for developers looks amazing. I want to steal that SVG to add a color picker to my watchface‘s new shiny Polymer-based settings app :D But I probably shouldn’t.

Facepalm of the day: I didn’t realize Pebble’s TextLayer could do word wrap, spent an hour writing a function to split strings without breaking UTF-8 sequences.

Introducing freepass, the free password manager for power users!

Written in Rust, uses libsodium, derives things from one password using the Master Password algorithm. And by “things” I mean not just passwords, but also Ed25519 keys for SSH, signify, SQRL

Find-and-replace mistake I almost committed to Sweetroll: “category” → “dataegory” :D

Wow, turns out vim-gitgutter is super useful. Not because of the gutter, but because of staging and reverting hunks directly in Vim.

In other Vim news: fzf demonstrates the idea of using an external fuzzy finder for opening files and searching across files in Vim. So I wrote a tiny script to do that in a simpler way and with any fuzzy finder program (I propose the $MENU environment variable to specify a preferred one.) But only with Neovim’s :terminal.

Just spent an hour trying to figure out why ~/.Xcompose doesn’t work. Turns out it’s actually ~/.XCompose, with the capital C. I usually like case sensitivity… but this ∉ good things! ✗

By the way, you can use ~/.XCompose on OS X (by converting it to DefaultKeyBindings.dict using a perl script) and on Windows (using WinCompose).

Apple doesn’t allow content blockers on 32-bit devices “for performance reasons.” How is string matching slower on a 32-bit CPU? It’s the ads that result in worse performance! That’s not “performance reasons” – that’s “buy our new hardware” reasons.

Which isn’t too bad though… It’s a reasonable way to push new devices to customers – they get the latest version of iOS with security patches (and old features still working) – just not the new shiny features. Want new features? Get a new device.

You can write bugs in any language, just like you can accidentally injure yourself without doing any ridiculous things. But writing C feels like walking with a gun in your pants.

(I’m kind of doing it too, but now that lang/rust is in pkg, I might just rewrite it in Rust.)

Trying to switch from Lightroom to Darktable. The UI is mostly… not as good, but the color correction module, which also does split toning, is just brilliant.

A rectangle grid of colors with a draggable thing

Also, built-in WebP export is nice.