A remarkable post introducing a GHC plugin that proves your programs obey laws: https://www.joachim-breitner.de/blog/717-Why_prove_programs_equivalent_when_your_compiler_can_do_that_for_you_
miniblog.
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: https://blog.apnic.net/2017/12/12/internet-protocols-changing/
Why is the git staging area called a cache? https://stackoverflow.com/questions/6716355/why-staging-directory-is-also-called-index-git-index/6718135#6718135
Interesting git archaeology, but I'm not sure that makes it a good name.
Twitter is amazingly, disappointingly ephemeral. We call it 'micro-blogging', but I often read blog posts that are over a year old.
I can't remember when I last read a tweet that old.
A major benefit of writing a changelog is that it shames you into doing a release and bumping the version occasionally.
Both Java and Lisp really need an IDE: I wouldn't want to write Java without a decent .<tab> completion, and I wouldn't want to do a lisp without paredit.
It's funny considering how different the languages are. I suspect both have coevolved with their tooling.
Shower thought: everyone is writing legacy code, they just don't know it yet.
Delimited continuations in emacs lisp! https://lists.gnu.org/archive/html/emacs-devel/2017-12/msg00255.html
(I'm not sure if this is lovely or totally bananas.)
AlphaZero is interesting, but the paper lacks replication details and was not necessarily a fair test against Stockfish: https://medium.com/@josecamachocollados/is-alphazero-really-a-scientific-breakthrough-in-ai-bf66ae1c84f2
Food for thought: are there diseconomies of scale for social networks? https://secretcave.co/decentralized-social-media/
Mastodon definitely has a different social vibe, but I struggle to put my finger on it. Perhaps it feels more like a digital village.
Great overview of file local variables in Emacs: https://jblevins.org/log/file-local-variables
This gives you file-specific settings.
I love that lambda is just another macro in Emacs lisp: https://github.com/Wilfred/remacs/blob/master/lisp/subr.el#L95-L119 -- you could have defined it yourself!
Wondering how many elisp primitive functions have been ported to Rust in Remacs? Here's a plot (from https://github.com/Wilfred/remacs/wiki/Progress).
Free monad considered harmful https://markkarpov.com/post/free-monad-considered-harmful.html
Excellent, pragmatic blog post discussing usage of free monads, performance, and when you can simply use typeclasses.
If you're not using helpful to explore Emacs functions, you're missing out!
It's now possible to set, toggle and customise variables from within helpful! Helpful will even pull out source code of functions have been redefined by edebug!
If you have a CLI tool that outputs more than ~10 lines of info, it should really use bold and colour. It makes a huge difference to readability!
I've learnt a lot from comparing notes with other #AdventOfCode people. I end up going back to old solutions and refactoring to be more idiomatic (and shorter)!
The history of T: https://www.paulgraham.com/thist.html
A remarkable Scheme predecessor with an optimising compiler, a pioneering tagged pointer implementation and a remarkable self-hosting GC!
Showing 3,021-3,040 of 7,508 posts