miniblog.

Apparently FizzBuzz is a spelling used by programmers, and it's "Fizz Buzz" in other contexts: https://en.wikipedia.org/wiki/Fizz_buzz Perhaps programmers favour camel case more often?
Solving Fizzbuzz using Euler's totient theorem rather than conditionals: https://philcrissman.net/posts/eulers-fizzbuzz/
Copilot was super helpful for changing some locals to lazy_static!: let integer_re = Regex::new(...) // old static ref INTEGER_RE = Regex::new(...) // new Unfortunately, it added a $ to the end of my first regex! It saved me a ton of keystrokes, but needed careful checking.
On building a full-featured REPL, handling errors, and the different REPL APIs in the Clojure ecosystem:
Displaying value information in an IDE is tricky. For union types, it's more helpful to see the inferred type (Option<Player> versus null). For product types it's often nicer to see an example value. For primitive types I almost always want a value (0 versus int).
Software is typically malleable. What software is the hardest to change? For me, the obvious cases are APIs near the bottom of the stack (e.g. imagine changing a Linux syscall) or systems with a large number of users (due to Hyrum's Law).
I really appreciate that GitHub has separate icons for pass and fail in CI. I've worked with Jenkins plugins that rely on red/green colour too much.
Photo
TIL that you can give your threads names!
I've released difftastic 0.44! In this release: * Support for Racket and Newick * Better handling of parse errors * Nicer syntax highlighting
PhotoPhotoPhoto
A surprising amount of important software functions by developers doing each other favours by reviewing pull requests.
Generated Code Generates Overconfident Coders: https://www.deeplearning.ai/the-batch/issue-180/ A study of programmers found that using a LLM for completion produced buggier code but users were more confident in it. I wonder if this generalises to other completion techniques?
TIL that coreutils has a lightweight version of the `finger` command, appropriately named `pinky`!
Another unusual feature of Elm's error messages: it uses the first person ("I was partway through parsing a record, but I got stuck here"). It reads pretty well to me, but this is a surprisingly divisive topic.
https://elm-lang.org/news/compiler-errors-for-humans mentions the importance of layout and paragraphs for compile error messages. Perhaps tools should do line wrapping if the terminal is very wide? It's definitely more comfortable to read.
I think GitHub Copilot (and LLMs for coding more generally) are best seen as a complement to traditional IDE completion. Textual word completion is useful even when you have type-aware method completion. Copilot feels like a more powerful case of word completion.
Showing 166-180 of 245 posts