When I first joined Amazon in 2012, I’d asked a colleague, “What makes Amazon successful?”. “The culture”, she’d replied without batting an eyelid. That year Facebook also published a 148-page Little Red Book, a culture manifesto that “was a declaration of identity, solving the problem of scaling culture during explosive growth.” Netflix had already flashed their cultural badge in a widely shared culture deck on Freedom and Responsibility in 2009.
Culture is the primary tool to scale company operations as economies of scale or network effects (or whatever poison you choose) drives explosive business growth. Culture eats strategy for breakfast, goes the cliche. Maybe what this really means is that no matter what a great business jackpot you might’ve hit, if you don’t scale the way people operate the business, the business is unlikely to succeed.
Now, with all this talk about AI making people many times more productive, companies can afford to stay small and do more with fewer people. If this is true, will culture continue to be as important as it is today? Will we now teach robots our business ‘culture’?
What is culture anyway?
At the risk of repeating the obvious, more than the principles and manifestos that mark the hallways of growing companies, culture is a function of the people, the relationships they choose to form, and the norms they develop to make decisions. New members deduce the culture from the sum of social norms that they observe. We humans are unusually good at mimicking each other and extending our unspoken cultural learning. Leadership principles and manifestos just seem to provide the vocabulary to ramp up new members as quickly as possible.
But humans don’t always blindly accept what they see. Ironically, we rely on unspoken cultural transmission to develop our own filters for fairness. We judge human behavior based on the individual’s intention and the situation, not just the outcome. Most critically, our cultural values evolve fast, especially in the U.S., where diverse individuals meet and find the space to thrive. The culture that evolves fastest is the one that’s most likely to survive.
Soul of a New Machine
What does this mean for the “AIs” and robots joining the workforce? Will we leave them to be mechanistic, like a washing machine? Or would we codify them with our working principles, a la Asimov?
More than adding “personality”, it’s important for us to have the ability to codify our working principles and cultural norms in AI systems. Most of these norms are unspoken and many of us aren’t trained to explicitly communicate these to each other, let alone to AI systems or robots. Anthropic’s work on Constitutional AI [4] comes closest to this, but they seem to have approached it with the goal of training Claude to be innately harmlessness, helpfulness, and honesty.
This is a great baseline, but back to an earlier point, it’s more important to have the ability to tweak and adapt the cultural constitution of AI systems to the more tuned and evolving cultural norms. For example, a company would likely want to customize its constitutional principles. Anthropic’s Constitutional AI blog mentions that they, “are exploring ways to more democratically produce a constitution for Claude, and also exploring offering customizable constitutions for specific use cases.” It’s not clear to me how a different company would imbue Claude with its own cultural values. Would this be a system prompt or post-training and customization? Would the system prompt or training override the values that Anthropic injected into it?
This thought experiment also leaves me with a bunch of broader questions. For example, how will robots change us culturally? If our workforce is set to change radically, what would the cultural values of the new and evolved human and/or hybrid workforce look like?
First Principles
Before we codify anything into AI systems, I want to really understand what dimensions are worth codifying. Over the last few weeks, I’ve been researching how successful organizations “implement” culture, starting with the industry I’m more familiar with i.e. companies in technology and software operate in a fast-changing market with rapidly evolving customer expectations such as Netflix, Pixar, Apple, Walmart, Meta, Amazon. These companies tend to pay obsessive attention to new inventions and reward front-line innovation among their employees. But it starts with hiring the first few people…
The Units of DNA
Combining my interview bar raiser training at Amazon and experience from hundreds of interviews (on both sides of the table), companies that index on innovation tend to focus on three ingredients.
1. Attitude
Recently, a colleague, K, was explaining to me, “One of my most trusted mentors told me that I’m just not a natural fit for product management.” She went on to add, “My instincts are to rush into execution rather than pause to evaluate and assess. That’s why I gave up my career as a product manager and became an engineering manager.”
Whether this was the right decision for her or not isn’t for me to say. But this kind of thinking that strikes out whole areas based on the idea that “I’m built a certain way, don’t have the talent, and can’t pursue proficiency in X” is the kind of attitude that I find difficult to alter. Maybe I’m overly optimistic about human ability. Maybe it won’t even translate into AI ability. But I believe that we are all born with the ability to learn and adapt, and our attitude is the only thing that gets in the way.
2. Intellect
Satya Nadella may describe this as the ability to root cause and create clarity. In Creativity Inc., Ed Catmull describes it as the ability to connect distant, seemingly unrelated patterns. Both seem to converge on the idea that intellect correlates with the proficiency to identify and solve problems, sometimes within the given constraints, sometimes by knowing which constraints to test, and oftentimes by reframing the constraints.
3. Energy
Bill Belichick describes this well in the The Art of Winning. It’s the capacity to “know the job”, “stay attentive”, “stay committed”, and “put the team first”. The first three drive proficiency and the last one drives performance. But energy is the underlying driver for all.
The energy to know the job, stay attentive, and stay committed is like the energy of an athlete. Athletes learn the sport and what it takes to perform competitively. They are self-aware, recognize their areas of improvement, and practice to improve both their strengths and weaknesses. They are disciplined about showing up and being fully present at practice every day so that they can perform when game day arrives.
The energy of putting the team first is like the energy of a parent, who’s patient, authentic, and consistent with their “team”. It’s the curious energy of wanting to know each person and observing what drives them. It’s the caring energy of being kind and considerate. It’s the mental energy for being vocally self-critical. It’s the supportive energy that removes distractions or obstacles. And at the risk overloading the word, it’s the energy that sets the bar and holds it consistently. All this needs effort and practice and can easily tire us out, which is why I call it “energy”. This is the energy that fills the space between people. Like the Japanese idea of “Ma”, it enhances the elements that compose the whole.
Composition of the DNA
Setting aside attitude, which may be non-negotiable, I would hire someone who spikes on either intellect or energy. However, I’ve found that intellect is rarely the constraining factor in team performance. It’s energy. Recognizing the kind of energy that’s missing and addressing its absence is the job of the manager.
Even when AI agents become proficient, I’m guessing that humans may be better positioned to (a) define what performance means, and (b) recognize what’s missing in the team to achieve that performance. If humans continue to own the definition of performance, they are also likely to remain ultimately accountable (and legally liable) for observing, root causing, and addressing what’s not working.
One takeaway for me in this research chapter has been that genuine curiosity about people is so rare that it could be a defining trait of successful leaders in the 21st century. I’d load up on such curiosity, and even more so, the energy to learn and care about the human condition and aspirations.
Friday, July 4, 2025
Living in the Moment
Does living in the moment translate to fewer screen moments in modern human assembly language?
I want to break my addiction to screens but it’s hard, especially when it’s easy to main-line the world wide web all the time.
Is it possible to stay connected but not look at a screen all the time? Particularly a screen that’s designed to deliver distractions in every shape and form?
Well, challenge accepted.
Hello World!
Last week I started a hardware project to capture a photo using a small camera attached to an ESP32 S3 Sense chip that’s just 2 x 1.75cm. My hope is to tape it to a very snazzy pair of sunglasses that my husband won at last year’s airfare.

Touching the camera mounted on the frames would capture a photo of a book or a landmark that’s in front of me, get its rating or fun facts, and play it on the ear-buds, also mounted on the frames. DIY smart glasses, ftw.
What’s working
Last weekend, I was able to get the first leg working: take a photo and get an analysis.
Step 1: Set up a BLE (Bluetooth Low Energy) server on an ESP32 S3 with an integrated camera
The sketch for the BLE server on ESP32 is here. I borrowed a bunch from this getting started guide.

Step 2: Connect to the camera from the accompanying app on the phone. The Xcode project for the app is here.


Step 3: Once connected to the camera, touch the camera to shoot a photo.
Specifically, touching the D0 pin on the ESP32 S3 will trigger a photo capture. The BLE server on the ESP32 will then transmit the photo to the app on the phone.

Step 4: Analyze the photo.
Once the photo receives the photo, the app will automatically invoke the OpenAI API to describe the image.
This weekend (happy Fourth!), I was able to get another piece in…
Step 5: Convert the analysis to speech.
Now, the app will play back the analysis through the audio channel. If you have ear-buds mounted on your frames and paired with the phone, you’ll hear the hear the analysis within a few seconds.
The last step is to power the camera with a battery rather than USB-C and tape it on.
The Bill
Frames: free, but shall we say $20?
ESP32 with Camera: $24
JBuds: $15 (this made me give up trying to DIY these)
3.7V LiPo battery: $9
$68 for a very dorky pair of “smart” sunglasses. My parents would definitely not approve.
Monday, June 16, 2025
Teasers
“I don’t care about what the experts say about the notes of the wine,” our wine tasting host, Tyler, railed passionately. “I’m only interested in what happens in your palatte.” Music to our ears, my husband and I settled back into our seats, mildly pleased with ourselves as the unwashed masses with minds of our own.
As we discovered our taste for French wines, one guy in the audience (let’s call him Sanjay) was rising to the occasion, stepping up to be the born French connoisseur, spitting out acronyms like “GSM” and names of remote French villages that produced $8000 bottles of wine. Between Tyler’s subtle salesmanship and varying shades of our wine appreciation, Sanjay’s loud mouthed commentary briefly threatened to drown the room.
But thanks to Tyler, I ended up enjoying all the teasers of the event. All for $20.
The Job
After it was over, I marvelled at Tyler and how well he’d handled Sanjay. Dealing with such crowd can be hard work, but Tyler poured us wine after wine with rare sensitivity and proficiency. He knew his job, I thought, as I opened up to some self-reflection…
How often do I confuse the job with work? Honestly, all the time. When I’m cooking, I’m grading myself on following the recipe. When I’m hiking, I’m crushing it on the trail ahead of everyone else. When I meet a defect, I want to squarely fix it. When I find a problem, I want to solve it. Work might have a way to pump up the adrenaline. And I’m an adrenaline junkie, it would seem.
Does it make for good work? Sure. Does “facing it squarely” deliver instant gratification? May be. Does it get the job done? Unclear. But if I were an artist, I’d wager that this is the voice that I’ve come to recognize as mine.
The Voice
“The real issue is not how to find your voice, but… getting rid of the damn thing,” Philip Glass once quipped. I’ve tried to get rid of my pestering “face it squarely” voice, I promise you, but the only thing that’s worked for me is to be in the moment. To fill the moment with attention and openness.
Tyler seems to have mastered this, presumably from hosting dozens of wine tastings and dealing with all kinds of characters. I wonder if the wine helps too?
Like the notes of wine wafting to our noses, there’s no intellectual sophistication in the moment, just the experience that no one else can have. And like the flavors dissolving on our tongues, there was no judgement, just a sense of what must be done… attend to your experience and let others attend to theirs.
Tuesday, May 6, 2025
The First Two Laps
A couple of weeks ago, I wrote up a scrappy MCP (Model Context Protocol) Server and Client. Beyond the fact that everyone is creating MCP servers, there were two reasons I wanted to write these:
- I wasn’t able to find a way to test the newly introduced Streamable HTTP transport in the Model Context Protocol, either on the server or client. At the time of writing, the MCP Inspector didn’t seem to support this transport; it supported SSE (Server-side Events) and Stdio transport mechanisms. I was also not aware of a server that supported Streamable HTTP, though this was relatively easy to write. The hard part seemed to be the client app, though it’s entirely possible that I missed something obvious.
- There were even fewer pointers to MCP clients that required authorization support from servers, which had been running mostly on local desktops. Now with Streamable HTTP transport, remote servers were beginning to emerge.
So I prototyped an MCP client that used device flow based OAuth and used Streamable HTTP transport to communicate with servers. As a command line client, it required a custom MCP server with OAuth that was slightly different than anything I could find publicly, either via the MCP Inspector or CloudFlare Remote MCP Servers.
Last week, I prototyped an MCP client that mimicked a browser-based experience similar to the MCP Inspector, but one that supported Streamable HTTP transport. This allowed me to drop down one level to work with the end-to-end sequence of messages exchanged between the client and server, from authorization to tool execution and follow up notifications.
This has been a lot of fun and after the first two laps of this marathon, I’ve been reflecting on what I learned.
Takeaways
The most interesting takeaway was that vibe coding is awesome to learn a new language or programming paradigm. It may also be good enough to build a prototype. However, in this journey, I quickly hit a wall when I could no longer fully follow what was happening and couldn’t get myself unstuck. For example, one day I couldn’t debug why the authorization flow was going into a loop. That day I ran out of my model call limit just trying different guesses. Then I had to fall back on my own understanding and it frustrated me that I hadn’t come to understand what I was doing.
The next day, I built the whole app from scratch myself, one step at a time. I used the code from the prior iteration to fill in the gaps as I went along. When I had it running in a day, I realized this alternative journey had been far more satisfying than the imaginary one, where I’d have been happy to simply have something working one time.
My sense is that most programmers building something meaningful that continously evolves will run into this performance wall sooner or later. They will come to value learning for its own sake as learning can help us get a lot more stuff done.
My growing conviction is that we have a “fast learning” button at our fingertips today not a “generate code” button. Software by definition is meant meant to evolve… and writing software that’s not been written before will likely remain in our own hands.
Next Steps
Could I create a shopping agent that plugs into my Amazon account? Or a Midjourney agent that might help me reimagine my living room? Or a personal agent that could do my taxes? How might multi-modal data travel on the MCP wires?
Thursday, April 3, 2025
It was Apr 2, 2025 when they chose to declare a national emergency. Over a decade in, I’m still adjusting to being an immigrant. At least it wasn’t Apr 1. That would’ve been truly next level.
In this whole emergency thing, I’m trying to put some order to the chaos that are the new U.S. tariffs. Getting past the formulaic comedy is one thing. The tariffs have some math. But what’s the reasoning, I’ve spent the whole day wondering.
You want a reserve currency?
After WWII, the Bretton Woods system established the U.S. dollar as the world’s reserve currency. As the dollar took over the role of gold in the interntational financial system, the U.S. agreed to link the dollar to gold (at the rate of $35 per oz), with all other currencies pegged to the dollar. After the war most countries had transferred their gold to the U.S., which was now closest to offering the most trusted currency, also backed by gold. A key motivation for the Bretton Woods system was to avoid floating, independently-managed national currencies by isolationist regimes, while enabling lightly managed, stable currencies with free convertability and free trade.
Little did they know how this would work out.
When the system became operational in 1958, countries settled their international dues in dollars, which could be theoretically converted to gold. After WWII, as Japan and Germany recovered, their share of world production increased at the expense of the U.S. As the U.S. further extended itself with military spending and foreign aid, the world grew less confident about its ability to convert dollars to gold. As U.S. inflation rose and the risk of a gold run grew, the U.S. unilaterally ended the convertability to gold in 1971, effectively devaluing the dollar.
Devaluing the dollar is a repeating trope, you’ll soon see.
Turns out, gold-backed currencies aren’t the easiest to manage. Moreover, trust can be built through perpetuating belief systems (arguably the greatest human invention). Even without gold convertability, the dollar has remained the world’s reserve currency. But this still has its downsides.
The Downsides
There are at least two downsides that an issuer of reserve currency might bear.
One, each country typically maintains reserves of the ‘reserve currency’. These reserves can act as insurance if bad players try to manipulate the country’s domestic currency. These reserves also allow the country to manage their domestic currency exchange rates to make domestic goods more price-competitive in the international market. To maintain such reserves, countries buy dollar denominated US treasuries, which causes the dollar to appreciate. Unfortunately, a rising dollar makes U.S. goods relatively less competitive. Sadly, this is the curse of a reserve currency.
Two, high demand for treasuries encourages the U.S. government to borrow with abandon. As countries purchase U.S. debt, where does all this borrowed money go? At the risk of gross reductionism, it goes to feed the U.S. consumption beast. Broadly, U.S. consumer habits are funded by savings from developing countries that buy U.S. issued debt. Run long enough, this scheme tends to make the U.S. addicted (entitled?) to debt, making the periodic visit to the rehab almost predictable. First world problems, eh?
Devaluation
To quickly recap, holding the reserve currency gives the U.S. geopolitical power (e.g. through trade restrictions), though it also results in a perpetually appreciating dollar. This happens to enable other countries to improve their competitive strength while undermining investment and production in the U.S.
Apparently, you can’t have a competitive currency and be the reserve currency.
But what if we throw in periodic devaluation? Now, can you do both?
Specifically, can you:
- Depreciate the dollar
- Reduce US debt servicing costs
- Maintain the US dollar as the reserve currency
Yes, we can. Sorry, Barack Obama!
#1 effectively delivers #2 by reducing the value and cost of servicing the current national debt.
#2 increases the chances of #3 by avoiding insolvency.
Bonus: A depreciated dollar makes U.S. production more competitive internationally, inviting capital investment. You like that?
But inflation? And tariffs? Omg, you’re killing me.
Tariffs
Generally, tariffs cause the national currency to appreciate. Specifically, U.S. tariffs would invite countries to re-baseline their currencies to make their exports attractive again. For example, during the trade war in 2018-19, a JP Morgan report recounts:
The PBOC allowed the CNY, which operates within a semi-fixed exchange rate regime, to devalue through controlled FX mechanisms. A weaker CNY partially cushioned the impact of tariffs by making Chinese exports relatively cheaper and preserving their competitiveness in the global market.
Just trade uncertainty can also lead to depreciation of national currencies. Not making this up. It’s in the same JP Morgan report. This would lead to the U.S. dollar appreciating. Wrong direction, you say?
While devaluating individual currencies can partially absorb inflation in the U.S., in the mid-to-long term these countries need to lower their domestic interest rates. This would reduce local production costs, making their exports attractive again. This would also effectively cap inflation in the U.S. Controlling inflation in the U.S. would in turn open the door to lower U.S. interest rates and lower cost of servicing the U.S. national debt. By the way, as individual national currencies depreciate, the dollar also has room to climb down from its overvalued state.
Are we back to our original series of goals or what?
Alternatively, companies from these countries can invest in building production capacity in the U.S.
The U.S. would benefit either way.
But why don’t countries just lower their domestic interest rates without all this drama? Lower interest rates (aka monetary easing) can stimulate growth, but can be risky. Among other things, it can lead to (1) foreign capital outflows, and (2) unwanted inflation, which would hurt the local population. No politician likes this part, especially if you’re a non-elected Chinese official.
When a country isn’t willing to naturally take on these risks, it can enter trade negotiations with the U.S. It’s definitely war time, and negotiations are good, right?
Dare we say that the U.S. would benefit either way?
Overall, I can’t defend the reciprocal tariff rate math by any means, but maybe that’s not the point. Could there still be some order behind the chaos? After all, yesterday’s executive order contains…
the modification authority, allowing President Trump to increase the tariff if trading partners retaliate or decrease the tariffs if trading partners take significant steps to remedy non-reciprocal trade arrangements and align with the United States on economic and national security matters.