miniblog.

IDE/editor polish makes a huge difference, and having great individual tools is not the same as everything working together nicely. A great comment from
Photo
Interesting approach to emulating sum types in Go: define an interface with a placeholder function on all of the relevant types! https://www.jerf.org/iri/post/2917 Includes an example with an AST type. You can even stop people extending your interface by making your placeholder private.
Shower thought: I can't remember the last time I had to wait for something whilst surfing. On a 56k connection this was common, but pipes today are much fatter and buffered streaming with adaptive rates is the norm. Big downloads still happen, but casual surfing is different.
Windows Defender learns new malware definitions without a human involved at all! Really impressive analysis of the arrival of a new piece of ransomware: https://blogs.technet.microsoft.com/mmpc/2017/12/11/detonating-a-bad-rabbit-windows-defender-antivirus-and-layered-machine-learning-defenses/
Syntactic aware transformations of JS source code: https://www.graspjs.com/blog/2014/01/07/refactoring-javascript-with-grasp Really impressive and very general!
A remarkable post introducing a GHC plugin that proves your programs obey laws: https://www.joachim-breitner.de/blog/717-Why_prove_programs_equivalent_when_your_compiler_can_do_that_for_you_
Great post on how to use union types effectively: https://robots.thoughtbot.com/modeling-with-union-types (has a lovely example of modelling a deck of cards: how do you handle suits and jokers?)
Rewriting loops in JS to prevent users crashing their browser tab: https://repl.it/site/blog/infinite-loops It's a neat use of Babel, but it shows the value of sandboxes that expose this feature.
Fascinating post on future developments of Internet protocols and preventing implementations from making assumptions that prevent future changes: https://blog.apnic.net/2017/12/12/internet-protocols-changing/
Why is the git staging area called a cache? https://stackoverflow.com/questions/6716355/why-staging-directory-is-also-called-index-git-index/6718135#6718135 Interesting git archaeology, but I'm not sure that makes it a good name.
Twitter is amazingly, disappointingly ephemeral. We call it 'micro-blogging', but I often read blog posts that are over a year old. I can't remember when I last read a tweet that old.
A major benefit of writing a changelog is that it shames you into doing a release and bumping the version occasionally.
Both Java and Lisp really need an IDE: I wouldn't want to write Java without a decent .<tab> completion, and I wouldn't want to do a lisp without paredit. It's funny considering how different the languages are. I suspect both have coevolved with their tooling.
Shower thought: everyone is writing legacy code, they just don't know it yet.
Delimited continuations in emacs lisp! https://lists.gnu.org/archive/html/emacs-devel/2017-12/msg00255.html (I'm not sure if this is lovely or totally bananas.)
Showing 3,016-3,030 of 7,508 posts