miniblog.

I'm still figuring out where Copilot fits in my workflow, and I find it works really well *when I know exactly what code I want*. When I have e.g. two lines in mind, I can see if it will write them (saving me the typing), and it's trivial to validate correctness.
When you start a greenfield project, there will be parts of your code that you write and will never need to modify again. It's weird, and I don't think this phenomenon really occurs in established projects.
GitHub tracks download counts for releases, so I can see that macOS releases of difftastic downloaded are downloaded much less frequently! I don't know if it's proportional to usage though. All these operating systems have several package managers.
Photo
Optimising GHC, implementing assembly pretty-printers, and the tradeoffs of implementing against an interface: https://www.tweag.io/blog/2022-12-22-making-ghc-faster-at-emitting-code/
I've released difftastic 0.47! In this release: * Language detection is now completely overridable. You can do things like DFT_OVERRIDE='*.json:yaml' to treat all .json files as YAML. * Added support for the Solidity language.
Photo
An introduction to devcontainers, the advantages of a reproducible local dev environment and where it makes sense:
It's so easy to overlook the importance of tooling around a language, unlike (say) syntax. Are there any languages that explicitly put tooling first? Maybe Kotlin or Pharo?
It's really impressive to see hibernation support on RISC-V land in Linux, when you can't even buy RISC-V laptops yet!
"origin" is such a long default name for git origins. I've started naming all my GitHub origins to just "gh".
One of the challenges with PLs that build on top of others (Typescript to JS, Scala/Clojure to Java, C++ to C) is documentation. You often have to read two sets of docs with two distinct syntaxes. Which languages do this best? Sometimes I wish there was a TS version of MDN.
I certainly see the appeal of ChatGPT as a conversational interface for knowledge questions, but it's wrong often enough that I can't trust it. Prompt: What does :extend do to an Emacs font face? This is wrong (it's confused with :inherit) and it's hallucinated a version constraint.
Photo
On storing ASTs in flat arrays for performance, and the relationship with bytecode interpreters:
A wonderful article explaining how compiler drivers work, clarifying the relationship between the preprocessor, the compiler proper, and the linker:
Reflecting on the niceties and tricky parts of building systems with OCaml: https://borretti.me/article/two-years-ocaml (The author's experience match my own in a bunch of cases.)
I'm never sure what version of Rust to target for my projects. For difftastic I pinned to rust 1.57 and I haven't needed to bump it so far. Debian stable is still on 1.48 though!
Showing 106-120 of 245 posts