HTML and XML are markup languages based on plaintext files. This means that any given character could be part of a syntax form (a tag, a comment, a character reference, etc…) or it could be representing itself the way it reads in the file literally. Whenever a character might be ambiguous, both languages require explicit Continue reading See DATA, CDATA, RCDATA, and PCDATA oh my!
Last week at WordCamp Europe there was a get-together among WordPress Core committers and a question arose concerning the separate Gutenberg npm packages that are built and distributed. I was curious about how frequently they are updated and which ones are most active, so I asked Codex to review git commit activity, gather commits per Continue reading Gutenberg Package Activity
This is a wildly helpful trick: I want to see all the revisions in which a particular line of code changed. In this case, I’m looking at how a property in WordPress’ package.json file has changed since the start of the year, but I don’t want to see every commit that impacted the entire package.json Continue reading Tracing the evolution of lines and functions in git
My mind may be playing games on me, but I feel like I’ve witnessed signs of crumbling software over the past few months. I’m leaving this list to see if it ends up being a big coincidence or whether a pattern develops.
Today someone was discussing the goal of linting HTML, specifically of detecting unclosed attributes. Consider the following snippet: It’s clear that a mistake led to a missing double-quote on the class attribute of the opening p> tag. While WordPress’ HTML API doesn’t directly report this (because “unclosed attribute” isn’t particularly an HTML concept), it can Continue reading HTML API: Check…
This probably isn’t original, but I am declaring that a “slop in the face” is when someone returns a well-considered, thought-out, intentional interaction by pasting in an LLM-generated response, meeting care and diligence with contempt and disregard.
Frequently I want to compare a given git branch or other ref against its “target branch” because I’m reviewing a PR. If the work isn’t fully up-to-date then calling git diff trunk results in a large swath of changes I don’t want because it includes updates on trunk that aren’t in the feature branch. In Continue reading Tip: git diff --merge-base
A number of people have asked me about ways I use git and “stacked branches,” where in-development work depends on other in-development work. Because of this I decided to record an “untangling” of a big “spaghetti” branch and share it with you all — viewer beware, it’s an hour and half long and works with Continue reading Untangling stacked branches in git
A while ago I wrote about Rooting out Gremlins on text which was corrupted in a common way by accidentally double-encoding UTF-8. At the time I wrote that post I had really wanted to automate the fixing of these strings, but I couldn’t think through how to do it; thankfully the right idea finally came Continue reading Un-double-encoding UTF-8
The companies providing LLM services are built upon foundational conflicts of interest. Most of my predictions regarding LLMs are a byproduct of those conflicts. It’s clear to me that LLMs have specific value and are an effective tool in our collective toolset, but it’s also clear to me that we still generally don’t understand their Continue reading LLM Predictions