miniblog.

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.
Photo
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.
I fear software tends towards the slowest tolerable speed. We only optimise when it's hurting us. Perhaps we need less tolerant users? :)
Fascinating: BitTorrent is now dwarfed by Netflix usage, and younger internet users have grown up with good legal options for content! https://www.plagiarismtoday.com/2017/06/01/the-long-slow-decline-of-bittorrent/
Skalpel is a neat project for visualising type errors. Rather than showing where the type checker first found an issue, it highlights all the possible places you could fix the code to make it correct!
Photo
"We've found a bug for you!" — a compiler with a remarkably upbeat personality.
Photo
Component-Based Synthesis for Complex APIs: https://www.cs.utexas.edu/~isil/sypet-popl17.pdf An incredible paper demonstrating synthesis of significantly sized pieces of Java code! You write a test case, and SyPet writes the code.
Photo Photo
Emacs: where functions can be moral! (This screenshot is shows helpful.el in action. See https://github.com/Wilfred/helpful ).
Photo
Lovely introdution to chaining computations in Haskell, and avoiding nesting: https://argumatronic.com/posts/2018-01-23-the-nesting-instinct.html (involves the M word, but in a very friendly way!)
Interesting article of the business dynamics affected by Glassdoor: https://www.newyorker.com/magazine/2018/01/22/improving-workplace-culture-one-review-at-a-time I was struck by how much human moderation is still used despite their size. It's tempting to largely use machines when you have many users.
Photo Photo
Proceedings of the SIGBOVIK 2017 conference (run by 'The Association For Computational Heresy): https://sigbovik.org/2017/proceedings.pdf is fully of excellent nerdy jokes.
TIL there's a fizzbuzz equivalent for computer science: "the rainfall problem". It's a fairly simple programming exercise with pretty thorough research about how tricky students find it: https://blog.acthompson.net/2018/01/how-hard-is-that-programming-problem.html (quite hard!)
Showing 2,901-2,920 of 7,508 posts