miniblog.

Not all feasible technology will be built. It takes a strong advocate and big engineering push to bring it to reality. Thoughts from Bill Joy in
Photo
Emacs is huge. Today I realised that I had reimplemented a built-in command, and even given in the same name!
Today I learnt that Emacs defines a ring structure using just a fixed size array, to give you the convenience of circular structures and dynamically sized arrays!
Opaque types in JavaScript: https://codemix.com/opaque-types-in-javascript/ Shows a nice compromise between wrapper types (stronger type guarantees) and primitive types (lots of functions already defined on the type).
A hierarchy of data cleanliness/readiness for training ML systems on: https://towardsdatascience.com/ready-set-ai-preparing-nhs-medical-imaging-data-for-the-future-8e85ed5a2824 Includes an interesting argument for centralising data sharing/cleaning at the NHS level.
Superb blog post contrasting the goals of VCS with git gotchas, comparing with hg, and making interesting suggestions: https://gregoryszorc.com/blog/2017/12/11/high-level-problems-with-git-and-how-to-fix-them/ Distinguishing hard forks from collaborative forks is a really nice idea.
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:
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:
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:
Showing 3,091-3,105 of 7,584 posts