Shower thought: in the 80s it was more common to have a protocol rather than a single canonical implementation (e.g. SMTP).
Presumably this was partly due to the diversity of computing platforms then? These days it's often sufficient to have a website and a mobile app.
miniblog.
Comparing WeWork with AWS: https://stratechery.com/2019/the-wework-ipo/
Today I learnt that GNU readline supports editor macros! If you often find yourself typing something, you can create a shortcut.
https://twobithistory.org/2019/08/22/readline.html
There are periodic dumps of usernames and passwords acquired maliciously, forcing people to change passwords.
Presumably it's only a matter of time before we start seeing similar dumps of wi-fi passwords?
Amazing write-up of security exploits found in iOS: https://googleprojectzero.blogspot.com/2019/08/a-very-deep-dive-into-ios-exploit.html
(Found in the wild and used indiscriminately! These weren't targeted attacks.)
I am delighted to announce propcheck, a property-based testing library for #emacs lisp!
https://github.com/Wilfred/propcheck
If you like quickcheck or hypothesis, you should like this too!
I've realised that there are text transformations I can do in markdown that often aren't possible in rich text.
E.g. from
[foo bar](https://example.com/)
to
foo [bar](https://example.com/)
Rich text usually forces me to remove the old link then highlight the new range.
Perl 6 may be moving to a C vs C++ distinction with Perl 5: similar languages, but not the same. https://blogs.perl.org/users/ovid/2019/08/is-perl-6-being-renamed.html
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.
Showing 201-220 of 736 posts