Quicktype is a nifty project that generates type definitions from sample JSON examples: https://github.com/quicktype/quicktype
It's often easy to overlook parts of software development that can be automated.
miniblog.
Clojure provides a mechanism for early termination from reduce expressions with 'reduced': https://clojuredocs.org/clojure.core/reduced
It's unusual to see a special early termination function: most PLs only provide general control flow constructs like exceptions.
Where static analysis can't work, the JS community is exploring libraries declaring that they're pure: https://github.com/webpack/webpack/blob/master/examples/side-effects/README.md
Today I learnt that make has a --dry-run option! Tools that want to discover project includes, such as rtags, use this to discover how your project is built: https://github.com/Andersbakken/rtags#setup
elisp-def is now feature complete! You can jump to local definitions, global definitions and distinguish functions from variables, even when you're using macros! https://github.com/Wilfred/elisp-def
Augmented intelligence by building UIs that are backed by ML models: https://distill.pub/2017/aia/
Crellvm: verifying LLVM optimisations with Coq: https://sf.snu.ac.kr/crellvm/
Impressively, they find bugs with optimisation passes which showed no bugs with fuzz testing!
Another interesting remark from the Go 1.10 changelog: they suggest you don't enforce that your code has been gofmt'd in your CI tool! https://golang.org/doc/go1.10#gofmt
Go 1.10 has a number of dev performance improvements. One interesting unusual choice is that 'go test' caches the test result: https://golang.org/doc/go1.10#test
If you run the same passing tests on the same binary, you just get the cached output by default. Perf vs flakiness.
Current status: working on crazy go-to-definition tool for elisp: https://github.com/Wilfred/elisp-def
It understands let, let*, global vars, functions and even macros that introduce bindings!*
*Some terms and condition apply.
Today I learnt that you can do music lessons over Skype! This seems like a brilliant way of connecting students and teachers without needing to be in the same location/country/timezone.
When you're writing static analysis tools, should you make your analysis flow or path dependent? What is the accuracy/performance tradeoff?
https://www.youtube.com/watch?v=JpK9e__q5Ts shows an elegant approach using monad transformers to make this pluggable.
Common types of implementation bugs found by RISC-V formal: https://github.com/cliffordwolf/riscv-formal/blob/master/docs/examplebugs.md
Names are hard: they're not unique and they can change. Apparently there's a scheme to assign numbers to researchers to identify them across different platforms! https://en.wikipedia.org/wiki/ORCID
git-worktree has been a big positive change to my git workflow. You only have one .git directory (so you only fetch once), but you have multiple branches checked out! https://github.com/Wilfred/dotfiles/blob/master/.gitconfig#L11-L14
This is really helpful for comparing code across branches.
Showing 2,896-2,910 of 7,508 posts