miniblog.

Today I learnt about --ignore-rev with git-blame. Super handy if git thinks moving some code made you the author. $ git blame --ignore-rev abcdef source_file (Turned out I was still the author, but several years earlier!)
LSP is great for providing basic IDE services across editors and language. I do wonder if it limits the best you can do. For example, I'm not aware of any way you can add up/down arrows to the margin for exploring inheritance. Hover text or lenses seem to be your only options.
Photo
A remarkable number of developers continually undo changes or copy-paste code so they can refer to the previous implementation! https://web.eecs.utk.edu/~azh/blog/yestercode.html I definitely use the GitHub web UI as a reference for the current code sometimes.
On the large number of similarities between software engineering and other kinds of engineering: https://www.hillelwayne.com/post/crossover-project/we-are-not-special/
Making the most of Magit, and a helpful pointer to magit-file-dispatch which was new to me: https://emacsredux.com/blog/2020/12/10/essential-magit-file-commands/
Print debugging remains an extremely common debugging technique. This makes me wonder: what's the state-of-the-art for print debugging? Rust's debug! macro prints a bunch of helpful information (variable name, line number) but there must be other nice tools in this space.
I average about two pull requests per week across my personal GitHub repos. It's easy to let them pile up. Easy PRs (uncontroversial fix, green build) are fine, but harder PRs (old project, broken build, complex feature) can be a chore in aggregate. Any tips?
My favourite programming model is single machine, single thread. It's so much easier to reason about when you have fewer failure possibilities.
I really like compiler tools that give concrete lists of the optimisations they do. Binaryen is a great example of this: https://github.com/WebAssembly/binaryen#binaryen-optimizations
Is there a good term for projects that maintain a set of patches, but still track upstream? For example, IceWeasel and Firefox. The term "fork" tends to mean divergence and has a slightly more hostile vibe.
Abusing ELF files to see how few bytes you need for linux to still allow execution! https://www.muppetlabs.com/~breadbox/software/tiny/teensy.html
I wish I had a good solution to link rot on my blog posts. Sometimes I think about saving all the external pages like Google's cache does. I worry about authors who don't want their content copied though.
On developer relations versus developer evangelists, choosing communication platforms, and supporting your external community: https://open.spotify.com/episode/57gbJ9n9XuNdOZxjB8jVt1
A patch to Chromium reduced global root DNS requests by 40%! https://www.theregister.com/2021/02/04/chromium_dns_traffic_drop/ It's also impressive how quickly users updated such that the global services saw a difference.
Best practices with property based testing: https://blog.auxon.io/2021/02/01/effective-property-based-testing/
Avoiding the Maybe/option type to make intent clearer: https://rpeszek.github.io/posts/2021-01-17-maybe-overuse.html
The design of Emacs' transient-mark-mode, and why power users might want to try disabling it: https://spwhitton.name/blog/entry/transient-mark-mode/
Adding a macro system to a compiled lisp seems really tricky. It's a ton easier when you have an interpreter that you can throw the macro definitions at.
The more I learn about register allocators, the less I want to write programs in assembly. It's really nice having a compiler minimise spills.
GitHub actions is really polished: it groups outputs by command, has good support for build matrices, and a growing ecosystem. It's a big feature that lets GitHub avoid being a simple git storage service. Issues are nice, but much more easily migrated.
Showing 301-320 of 345 posts