This week, I learned:

  • tree-sitter is a fast incremental parser generator. That means you can use it to create a parser for any language that works even if there are errors, e.g. malformed JSON, Python, etc. It’s used by most editors. For example, tree-sitter-python is a fast forgiving Python parser. There are official parsers and community parsers
    • Programming Languages: All popular ones, less popular ones like Ada, Fortran, Lua, Zig, … and even niche / domain-specific languages (Gleam, TLA⁺).
    • Markup & Data Formats: HTML, XML, Markdown, JSON, YAML, TOML, CSV, …
    • Query, Scripting & Config: SQL, GraphQL, Bash, Dockerfile, Regex, Terraform (HCL), …
  • Ligature fonts are nice, but it might not be worth forming a habit out of. Claude
  • Cloudflare introduced Markdown for Agents. This converts websites from HTML to Markdown via Accept: text/markdown for any Cloudflare endpoint which has enabled this feature. This requires a Pro account.
  • Microgrants is a list of microgrants programs - where you can give small amounts of money, e.g. $50 - $1K as well as large fellowships over $100K. This includes student grants, creative & community grants, tech grants, social & policy grants, etc.
  • “Animated web formats are simply video codecs … stripped of their most powerful feature.” A .webm file is likely to compress much better than an animated .webp, etc. Gemini
  • esbuild can compile CSS files to support old browsers, e.g. nested rules, custom properties, etc. Usage: esbuild input.css --target=chrome90 --outfile=output.css. Julia Evans
  • New jargon I learnt: Human-On-The-Loop. Treasure In Treasure Out
  • VS Code’s GitHub Copilot extension supports a github.copilot.chat.commitMessageGeneration.instructions setting that lets you add a [{"text": ...}] or [{"file": "path/to/file.ext"}] prompt to the commit message generation. I’ve pointed this to my git-commit.md custom prompt.