miniblog.

Here's a wonderful example of live programming in an introspectable system like Emacs. Emacs lets you customise ('advise') any function. Today I advised code evaluation! With a record of code snippets recently executed, I can make my code completion smarter.
Finding a security bug in CouchDB due to different JSON libraries interpreting repeated keys differently!
Programming in the debugger: https://willcrichton.net/notes/programming-in-the-debugger/ Discusses how notebooks enable incremental program writing, and contrasts with REPLs. Makes some interesting points regarding persistence, although resumable exceptions have similar upsides too.
Grasshopper is a super cool app for teaching programming to novices. It combines elements of Logo (visual feedback) with a great little editor that works well on touch screens.
PhotoPhotoPhoto
Understanding surprising JS syntax by visualising the parse tree:
One weakness of online discussion is protracted debates or arguments. What if commenting systems only allowed one comment per user? (Assuming a robust mechanism to prevent duplicate accounts.)
'Golden tests' are tests that deliberately save expected output to a file, to make them easy to examine or regenerate. https://ro-che.info/articles/2017-12-04-golden-tests I'm familiar with the concept, but it's nice to see a handy label for it.
If you're interested in alternative approaches to computing, I strongly recommend exploring the ideas in the Tunes project. There's a good overview here:
GitHub is exploring some really interesting editor designs with Xray: https://github.com/atom/xray/blob/master/README.md It uses CRDT to represent text (rather than rope data structures) and mixes web tech (primarily JS) with Rust to produce a design that's fast but still extensible.
Whilst I've seen many teams use monorepos successfully, it assumes that there's a common contribution process for everyone. A PL community needs to have different projects with different processes, and that requires packaging tooling. I wonder what the size upper bound is.
Thoughtful criticisms of git from the sqlite developers:
Great introduction to the AV1 video codec, inter/intra frame compression, and exploiting correlations to save bytes: https://people.xiph.org/~xiphmont/demo/av1/demo1.shtml The Xiph posts are always good with great explanatory diagrams/sample pictures.
This is very cool: dynamically adjusting an Emacs theme based on the amount of ambient light:
Wow, gcc's codebase is amazingly lispy in places: prefix syntax with parentheses, foo_p for boolean functions.
It's natural to worry about the practicalities of new designs. There's a wonderful discussion in https://medium.learningbyshipping.com/nikon-versus-canon-a-story-of-technology-change-45777098038c about camera owners worrying about *batteries* being unreliable. Times have changed!
Showing 2,926-2,940 of 7,613 posts