When I started working on my current project at work, I noticed that my colleagues kept saying, “The leadership decided A” or “The higher-ups preferred B” when discussing scope changes. I was ok with the scope changes as we were still early in the process, but not with the lack of specificity and accountability in our language. I found that these vague terms, such as “the leadership” or “the higher-ups,” did not allow feedback or further clarifications because it was unclear who made the decisions.
I pushed my colleagues to be explicit and specific when we discussed decisions. Who made what decision and, ideally, why? I also asked for my manager’s support in persuading the VPs and directors to be more explicit when they want something. After a few weeks of asking for more specifics, my team now knows who made what decisions and, sometimes, why—getting why needs a lot more work, unfortunately.
Software Engineering ⚙️
TypeChat
TypeChat is a library from Microsoft that adds a translation layer between a natural language interface and an API so that you can leverage the existing API. The following diagram is a simplified example of how TypeChat can augment an API for a coffee shop.

Loading & progress indicators — UI Components series
I am working on a complex form with data loading from a few different APIs and have been thinking about how best to display the loading states. This article provided a list of principles for me to consider. My biggest eye-opener was that a UI should use determinate loaders to show progress when the wait time is longer than 3 seconds.
Crockford on the JSON License
The author of the JSON spec talks about how JSON ends up with a license that says, “The Software shall be used for Good, not Evil.” Its vagueness must have annoyed a lot of lawyers. Talking about weird license clauses, Meta’s Llama 2 has a license that prevents companies with more than 700 million MAU from using it.
People ❤️
Chesterton’s Fence
Chesterton’s Fence is a shorthand expression that we should understand past decisions before deciding anew. In engineering, it’s easy but a bad idea to discard the previous codebase wholly. If the old code is difficult to understand, it’s likely because the domain is complex. There is no guarantee that we will get the architecture right this time, not to mention remember all these undocumented bug fixes and features.
Business 💰
North American Startup Funding Fell Across All Stages In Q2
With no tech IPOs, private tech investment also stays suppressed. Venture capital funding in North America fell to $31.8 billion in the second quarter of 2023, the lowest quarterly total in more than three years.
The EU mandates user-replaceable smartphone batteries by 2027
The EU’s mandate is to reduce and recycle battery waste. I am curious if companies will develop separate phones for the EU or make all their phones have user-replaceable batteries.