miniblog.

The only reason I sometimes use `more` instead of `less` is that `more` doesn't clear the screen, so you can see output in your scrollback. Turns out that `less -X` does this! Handy.
An actively exploited security issue in keyfobs that work by proximity: malicious users can replay signals from the house to the car! https://geekologie.com/2019/08/gone-in-thirty-seconds-doorbell-cam-foot.php Newer cars use rolling keycodes so you can't replay the same code after locking, but this seems harder to defend against.
Measuring performance of different distro package managers, with a big range of install times and even package size for the same program! https://michael.stapelberg.ch/posts/2019-08-17-linux-package-managers-are-slow/
Designing effective delivery robots seems to require making them really cute: https://www.sfchronicle.com/business/article/Kiwibots-win-fans-at-UC-Berkeley-as-they-deliver-13895867.php Mixing ML with human driver supervision is an interesting design too.
It's weird removing syntactic features from a programming language. Do you provide tests? The odds of regression are small (unlikely to accidentally reimplement it unless there are bad merges). I feel it's good to exercise the change somehow though.
Signify, OpenBSD's alternative to GPG, is really elegant: https://www.openbsd.org/papers/bsdcan-signify.html No key servers, a simple CLI, a crypto algorithm without random inputs that you can screw up, and readable keys!
Benchmarking web assembly, and discussing its maturity for large projects: https://www.pdftron.com/blog/wasm/wasm-vs-pnacl/ While it's viable for many purposes today, wasm still feels like it has a ton of potential to grow and evolve.
I still love the demo of abstract types for hash map access. If you have a function K -> Map<K,V> -> V it's almost certainly looking up the key. It's nifty because there are very few other implementations that fit this signature.
Amazing story of how Coinbase detected and responded to a sophisticated attack using two Firefox 0-days and spear phishing: https://blog.coinbase.com/responding-to-firefox-0-days-in-the-wild-d9c85a57f15b
Adding machine learning to technology design wisely: https://www.mindtheproduct.com/2019/08/5-machine-learning-lessons-for-product-managers/ (Includes a cute example of faking an AI chat bot with real people to see if a chat bot is a good solution!)
How Rust models generators and async functions as memory efficient state machines: https://tmandry.gitlab.io/blog/posts/optimizing-await-1/
Merge any sequence of patches (e.g. rebasing a branch) feels like it relies on hope. Whether or not you get conflicts, whether or not the output is syntactically valid or does the right thing: sometimes the computer does too little, and other times it does too much.
A significant part of development practice is trying to work out "should I manually change this, or should I write a complex editor macro / sed/awk script / program using an AST and refactoring library?". It's easy to make the wrong decision in both directions IME.
One of the most un-Emacsy things I've done to my configuration is binding C-x C-g to 'find all files in this repo' command. It's really useful (right next to C-x C-f!), but binding C-g (quit) feels like bad practice. Emacs doesn't judge though :)
It's such a shame there isn't structured data in commit messages. I can't query for the commit that fixes the most bugs or filter commits to only show feature additions. We need a JSON of commit message syntax so we can start building tools.
Bitbucket is dropping support for Mercurial: https://bitbucket.org/blog/sunsetting-mercurial-support-in-bitbucket They report declining usage with <1% of new users using it. Given the additional work required to support both, I understand. VCS variety is worthwhile though: perhaps hg-only platforms are easier to support.
GitHub is adding more permission levels! You can now give people the power to close issues without giving commit rights: https://github.blog/changelog/2019-05-23-triage-and-maintain-roles-beta/
It's fascinating to see the adversarial relationship between the developers of Incognito Mode and those trying to detect it. JS is a very rich environment with a ton of options. https://www.bleepingcomputer.com/news/google/google-chrome-incognito-mode-can-still-be-detected-by-these-methods/
I think it's only a matter of time before we have programming languages that hard enforce a standard formatting. For example, suppose a compiler only accepted formatted code when it's optimising.
This is a really neat alternative to find: it honours .gitignore and makes it way easier to combine filters (tricky in find). The docs argue SQL syntax is easier, which I totally agree with. I do wonder if SQL is ergonomically optimal though: is it the qwerty of query syntax? https://twitter.com/xenozoid/status/1161210113669156864
Showing 1,801-1,820 of 7,508 posts