This app grew out of a need I had to manipulate color characterization data sets. Characterization data sets are sets of color coordinates, typically measured with an instrument such as a spectrophotometer (occasionally synthetically-generated). For reflective data (i.e. printed colors), each data point is usually an association between a set of device colorants and the…
Author: William Li
Artificial Productivity
Recently I’ve started working on the characterization data (chardata) app and the enclosing website using Claude to handle my workflow. It’s definitely addictive, but there are clear limitations and hazards. I started work on the app as I needed something to do data extraction from CGATS files for another project I’m working on. In the…
My Garden Is Choked with Weeds
My garden is choked with weeds. But you can learn from it and avoid choking your code with bugs. All it took was a season of neglect: \“It\’s raining too much.\” \“It\’s too hot out.\” \“I\’ll take care of it when the weather is nicer.\” It\’s like bugs and issues in software. Unlike gardens, bugs…
The Unexamined Code Is Not Worth Shipping
Socrates famously said “The unexamined life is not worth living.” In the era of AI, we might also say “The unexamined code is not worth shipping.” I used to tell my team that writing a CGATS file parser is a rite of passage for a junior color code jockey. CGATS files are a venerable human-readable…
Fried Dog Sticks, Anyone? Fine-Tuning Isn’t Just for LLMs
At our household, a favorite game is to throw different grocery names at the Alexa shopping list and see what the NLQ interpreter comes up with. For many items, like “milk” or “sourdough bread”, Alexa does pretty well across the household. For others, not so much. For example, “fried dough sticks”, which is an English…
Two Views of Product Management
There are 2 views of PMs I’ve worked with. PM as initiator — PM figures out why, what, and who. Everything else is someone else’s problem. PM as quarterback — PM is responsible for success of product, measured by the product P&L. Responsible doesn’t mean the PM does everything, but they’re responsible for ensuring it…
Difficult employees should make you look at yourself, not the door.
A recent story about an engineer who got fired because she was “difficult” reminded me of another incident from my own distant past, when we were just building up the cloud services dev team by expanding a team who had worked primarily on local apps in the past. At the time, we had a mixed…
Leadership Doesn’t Abandon Team
I read a post recently which was supposedly about where Leadership should spend time. It embodied everything I think is wrong with corporate leadership today. TLDR, the claim was that if I, as a leader, are constantly managing under-performers, I’m not investing in the people who are actually driving the business forward. Leaders who find…
New Year, New Goals, New Strategy
2025 has been an interesting year for me. After a long time in essentially the same company, suddenly I’m loose in the wind. Traumatic as the change has been, it’s really pushed me to sharpen my sense of self, and that has value. I spent years scaling up at a professional level, starting from coding…
Color of Winter
Today in the northern hemisphere it is the Winter Solstice. In many cultures, the Winter Solstice is a time celebrated with family gatherings and feasting, as we celebrate the shortest day of the year and the knowledge that the days get longer and presumably better once we’re past this nadir. There’s a Chinese saying that…







