miniblog.

Amazing Clojure REPL demo, with integrated docs, search, multiline editing and inline evaluation. Pythonistas are spoilt with ipython, but this compares very favourably! https://twitter.com/bhauman/status/959170037025329153
I stumbled across a copy of 'Computers For Seniors For Dummies' today. 'Using Windows Help' comes several chapters before introducing web browsers!
Even new projects include a significant amount of shell code! A good reminder that our base abstractions matter.
Photo
Macro-expanded lisp works surprisingly well as an intermediate representation for some tasks. Today, I was able to enumerate all the bound variables pretty straightforwardly, because elisp only has four ways of introducing bindings! (let, let*, lambda and condition-case)
Going beyond QuickCheck: using an SMT solver (based on Rosette) to intelligently generate test inputs that are diverse and hit interesting code paths! https://youtu.be/Br16rvT_C00
GHC can now offer type-aware suggestions for holes in code, even suggesting functions that you could use if you just passed an additional argument! https://twitter.com/tritlo/status/958783134627135489
Impressive (if somewhat intimidating) blog post showing how to reason from assembly back to the equivalent C code: https://kakaroto.homelinux.net/2017/11/introduction-to-reverse-engineering-and-assembly/
Measuring programming language popularity based on the number of unique users on GitHub: https://www.benfrederickson.com/ranking-programming-languages-by-github-users/ Whilst this gives the dataset a FOSS bias, it's much cleaner data than e.g. a keyword search of job postings which some other metrics use.
Graydon (creator of Rust and Monotone) has this excellent post discussing the importance of running tests on the code after merge, so the build stays green: https://graydon2.dreamwidth.org/1597.html What you may not realise is that he advocates for an even stronger CI guarantee in the comments!
Photo
Writing macros in lisp is straightforward, but providing good error message is much trickier. The Racket docs have an excellent discussion of writing a mylet macro with clear errors that reference which part is wrong: https://docs.racket-lang.org/syntax/stxparse-intro.html
Code Completion with Statistical Language Models: https://www.cs.technion.ac.il/~yahave/papers/pldi14-statistical.pdf This amazing paper trains a language model on a Java corpus, then builds a code completion tool that can write whole snippets of code!
Photo Photo Photo Photo
I've been enjoying learning about git worktrees: https://spin.atomicobject.com/2016/06/26/parallelize-development-git-worktrees/ When you regularly work on several branches, it's really nice to have separate folders for each branch. You can easily compare files across branches, and you need far less stashing!
Lovely blog post discussing what compilers actually do with the `inline` keyword, including relevant source code from Clang, LLVM and gcc! https://blog.tartanllama.xyz/inline-hints/
Today I learnt that elisp has first-class bool vectors! https://www.gnu.org/software/emacs/manual/html_node/elisp/Bool_002dVectors.html
Really interesting overview of Iron, Jane Street's code review tool: https://youtu.be/MUqvXHEjmus It makes a compelling argument for tracking diffs over time, nested feature branches, and encouraging reviewers to add their own patches.
Showing 2,926-2,940 of 7,508 posts