The US Is Backing Out Of Europe

That may seem a little extreme to say, but also not extreme enough. Marco Rubio will be visiting Slovakia and Hungary, two European countries that have embraced the far right and are vaguely pro-Putin. Like most authoritarian countries, they have relatively small economies and are performing well below their democratic peers. From the president on down, the message is clear. They want a more divided, more authoritarian, more corrupt Europe. A Europe in their own self image.

This is both a good and a bad thing for Europeans. The fact the Germans were all but disbanding their military less than a decade ago was a stupid idea. A short sighted one based on a false understanding that ties with Russia brings security and cooperation. In 1985, as the US and Europe faced off against the threat of Warsaw Pact forces pushing West across Germany, military readiness was a real concern. The US beefed up its nuclear capabilities using a combination of cruise and intermediate range missiles to blunt what they believed would be an unstoppable roll of red armor. A mere twenty years later, a reunited Germany faced social problems and a Russia more concerned with separatist regions, like Chechnya. The war in Europe was over, as most people believed.

A few years later and people saw a Russia that appeared to have significant, advanced military capabilities. Prior to the invasion of Ukraine, some speculated that Russia’s ability to wage war meant they could drive to the Pyrenees mountains before they could be stopped. With the US presence there as a last resort, the Germans (especially) tried to ensure peace through diplomacy. If Russia sells gas to Europe, it should be invested in a stable and prosperous Europe. It’s much cheaper than trying to counter so mighty a military. But, as was seen in Ukraine, the entire Russian military structure was rotten on the inside. And the Russian army in the 2020s was still driving meat assaults behind artillery, as it had for over a hundred years. Whatever was left after the artillery finished would be murdered or raped by untrained troops that were rioters as much as they were soldiers. They could only get to the Pyrenees if they stole spare parts, gas, phones, televisions, food, equipment, and medicine along the way.

The Europeans have a choice. Do they stay in the American orbit, which is becoming increasingly inhospitable, or do they strike off on their own? If they stay with the US they have to deal with attacks from both Russia and the US on their economic and political union with the express intention to weaken it. Like they did with Russia, they could try to dance diplomatically, trying to spin away the truth. Or they can have a look in the mirror and realize that they are better off in a union, Russia is their immediate threat, and America is on the way to becoming a threat.

Europe doesn’t have to defeat China. They barely have a dog in that fight, except the UK’s sense of solidarity or loyalty with Australia and New Zealand. Nor do they really have to secure the Pacific trade routes, although goods from South Korea and Japan are nice. India and Africa can be low-cost manufacturing hubs for Europe and those are much easier routes to secure. Technology, electrification, and reduced dependence on fossil fuels are in Europe’s interests, along with securing energy arrangements with Africa and the Middle East. Europe doesn’t need eleven nuclear aircraft carriers to deal with Russia. Nor do they need to land forces anywhere in the world within a few hours of getting the word. They need to deal with one threat that has a fraction of their population and a pathetic economy. If Russia did not have nuclear weapons, it wouldn’t be considered a major power.

What most people don’t understand is when you buy a weapon, like a missile or a plane, it needs constant servicing and updates. A missile might need software updates to deal with new counter-measures. The F-35 needs software updates for each mission. It is impossible for any EU country to maintain their F-35s without support from US contractors, manufacturers, and the US government that controls them. What if Russia invades Estonia and the US decides they don’t want to get involved, so they say Europe can’t use the F-35 to fight Russia? It’s not likely, but it’s possible. In part because Russia may not directly attack Estonia, but rather foment insurrection among a portion of the Russian speaking minority and send in “little green men.” Would Trump just say “it’s an internal Estonian matter” and refuse to abide by Article 5? And would certainly not extend the nuclear umbrella to cover an “internal matter.”

If Europeans are hoping other pro-NATO Republicans would step in and stop any serious break in the relationship, they are taking a gamble that hasn’t paid off so far. When confronted about Trump, the first thing the Republicans do is ask to see the proof, as “they haven’t read it.” When you show them the proof of statements made by senior officials and policy documents, they say it’s not serious and look at what the administration does. When you point to actions by the administration, they find some other excuse. That frog has been boiled. It is now Trump soup. And even if the mid-term elections sweep in majorities of Democrats in the House and Senate, there is no guarantee they are going to be worried about Europe. In fact, some of those who get elected will have a “not our problem” approach to foreign policy. Because their electorate doesn’t view it as their problem.

The only real choice is to develop home-grown infrastructure and capabilities they can rely on without participation by the United States. Look at this period as a chance at a transition. The alliance allows countries to specialize, and the US provided a lot of the intelligence, communications, and control infrastructure. And, most importantly, a nuclear umbrella. Europe is going to have to mitigate its loss by developing their own capabilities. This means pushing a European satellite launch program and reusable rocket program (to keep costs manageable). It’s going to mean more nuclear weapons and delivery systems. It’s going to mean replacing US infrastructure, knowing that it could be denied to them, or worse, weaponized against them. It will also mean conducting more aggressive and intelligence and influence operations to help shape US opinion and deal with Russian and US disinformation.

On its best days, Europe is like a super-tanker. It’s slow to turn, but once it has a direction it’s impossible to stop. On it’s worst days, it’s a super-tanker with a stuck rudder. But it has some advantages that the US does not. In Ukraine it has a modern warfare laboratory to develop new weapons and tactics. To take a look at the NATO standard tactics that aren’t working and refine those tactics. It’s a chance to develop weapons for what future combat might look like, and to counter newer Russian weapons. Maybe it’s a dark forest of lurking drones and anti-drones. It also allows space for home-grown replacements to US systems to be vetted and refined. It’s horrible to think of Ukraine as a testing ground, but Ukraine needs more weapons and they need more imaginative to counter the ones Russia is firing at them. And Europe needs to quickly build capabilities.

What I don’t think a lot of Americans appreciate is that US companies they invest in, have in their 401(k), and work for, sell to Europe. Europe won’t just be replacing a few F-35s. It will be replacing Master Card and Visa as payment processors. It will need to replace Meta, X, and YouTube for for social networks. And it will need to replace Amazon, Microsoft, and Google as infrastructure providers. It will need an independent industry to provide semi-conductors and equipment so that a mercurial President can’t suddenly demand those exports are halted. (And a lick-spittle congress does nothing). It will mean moving away from US dollars as a reserve, thereby driving down the US dollar long-term. The US has been the incredible beneficiary of a close alliance with Europe, but they took the benefits for granted.

The Ball of Money Sloshes to the Right

Looking at the 1 month S&P 500 performance, we see money coming out of Software on the left side and heading to the right side into defensives, industrials, real estate, utilities, basic materials, and pharma. It’s coming out of software and hyper-scale cloud operators.

Is Oracle a software company? Meh… sort of? They make more money from infrastructure like clouds and data center builds than they do from software. Remember when they sold databases? They’re racking up debt to build data centers. A pullback in AI would likely be an event that kicks them into re-organization, as they restructure that debt. The cost of insuring their debt has risen as people are getting worried the data center boom is unnecessary and circular.

Proper software is getting hammered because people think you’ll just query the AI for stuff. Except I don’t want a hallucination when I ask a tax question. Or, if the software makers offer AI assistance, it will be a cost they face but not a differentiator. Companies will have to add that support and pay for the service, but it’s because everyone else has it.

There’s greater concern that the investments made by the hyper-scalers will ever come back in terms of revenue. Rather than paving a road to a bright new future, a good portion of a 200 billion dollar capex spend may just be lighting cash on fire. But if they don’t, they will get left behind. If you look at the chart of the S&P 500, you see for the last month or so, it’s flat. Suggesting new money isn’t moving in, but money is just sloshing around.

But what I’m not seeing is a clear message, other than the ball of money looking for someplace else to wallow. A rotation away from growth (like technology) to defensive sectors (like consumer staples), indicates a belief the economy is due for a pullback. You focus on the things people have to buy, rather than the things businesses buy or are optional.

But, if you take a look at consumer discretionary, and remove Tesla1 and Amazon, you see people are buying both counter and pro-cyclical segments. At the same time they’re buying energy producers (pro-cyclical), they’re also buying utilities (counter-cyclical). People and businesses use less gas and other energy during a pull back, while they still have to keep the lights on. It’s not a thesis about the health of the economy, but rather just a re-jiggering of their portfolios.

And while the “vibes” aren’t great, the numbers don’t indicate an imminent collapse. Yes, the jobs numbers for all of last year were low, but the available workforce did not grow that much. There were about 1.7 million new people in America (0.5% growth all from immigration), and assuming they have the same labor participation rate as the broad population, you only needed to create about a million new jobs at the high side (because we’re also aging). We created about 181,000 jobs (20% of that number), but guys in front of a home depot don’t show up in the jobs number. So the economy is probably doing somewhere between “okay” and “well,” with some sticky inflation.

There will come a point where the large areas in the heat map transfer money to smaller areas, bringing up their “multiples,” or the price of the company. It won’t be based on earnings, but rather because you’re trying to fit a big wad of money in a smaller place. It feels like if we had less money sloshing around, we wouldn’t get ridiculous valuations. And maybe the relief value for all this is money moves overseas, pushing the dollar down and other currencies up. But I’m just guessing. My crystal ball is at the shop.

And this is not investing or investment advice to you, or anyone. It’s is provided for your entertainment purposes only. And if you are investing, contact a professional before making any decisions. Buying and selling stocks, futures, or any investment is a risky activity and can cause you to lose money, including the principal which you invest.

  1. Every time someone makes the case for Tesla, I become ever more convinced it’s either a meme stock or a religious conviction. But it’s not based on their actual revenue. ↩︎

A Not So Quick Note on Jobs Report

The fun thing about the jobs report is re-interpreting it to better suit your political leanings. “Yes, but they’re not good jobs.” Estimates were in the 70k ballpark and the number came in at 130k. There was also slight wage inflation. This makes a rate cut less likely in the next few months, Warsh or no Warsh. The bulk of the jobs came in health care and education, with the government losing jobs. We’ve been assuming that the interest rates have been a drag on the jobs market but the economy may have adjusted to having any number other than zero as an interest rate. In fact, there’s a case for an interest rate increase in the coming year.

  1. The last mile on inflation is sticky, which may mean rates are not high enough.
  2. If the economy is expanding and pushing up wages at 3.5% funds rate, the neutral rate may be higher.
  3. Inflation may accelerate if GDP continues at its current clip and wage pressure continues to rise.
  4. Aggressive spending (like a 45% increase in the DoD budget) may fuel more inflation.

But here’s the thing. Don’t read too much into one report. Next month could surprise down by 50k. Who knows why – there are some long-standing data collection issues. The numbers will bounce around, especially as they get revised. There’s the table of year end revisions to the 2025 reports and it’s illuminating.

We created (revised) 181k jobs net last year. Maybe the yardstick of over 100k per month for a growing economy doesn’t make sense in a country that may start to experience population declines (as we shut off the immigration flows). That’s been the number I’ve used to evaluate jobs reports, but net migration to the US (by policy) is intended to be zero. We’re not fucking enough to make enough new kids. In fact, if the population isn’t growing, and it’s just aging. Wouldn’t slight job losses, but more jobs concentrated in healthcare, be a good jobs report? Maybe the yardstick should be net zero jobs near full employment? And only shrinking and growing during recession or post-recession recovery?

As I think about this, I start to think about the elasticity of wages with respect to growth. Once we push up against full employment, wages need to rise to get more workers into the job market. How much do wages need to rise once we get more workers into the job market? If we go from 4.3% unemployment to 4% unemployment (very low, historically), do we see wages shoot up enough to drive inflation? But if we get not much more slack than 4.5%, do we see wages falling? That would suggest wages are inelastic with respect to employment near full employment. I suspect the same isn’t true in a recession, if unemployment spikes to 7% or 8%, and much smaller (if any) increase in wages are needed to bring down unemployment. We go from having a Philips curve to a Philips hockey-stick.

It also has some implications on growth. A shrinking population suggests that growth that’s slightly too fast results in inflation. With a growing population, part of growth simply goes to absorbing new workers. You need to grow, otherwise you quickly accumulate large masses of unemployed people. And I suspect it favors younger, less experienced workers, as you can hire more of them to replace older workers. They are cheaper and plenty of them. But what if a shrinking population size makes you risk averse, preferring to stay with proven workers rather than bringing in new, lower return, unproven workers from a smaller (and therefore not much cheaper) pool? Maybe that’s why Europe has had a persistent youth unemployment problem?

Hear me out on this brain fart. In a fixed population (or shrinking population), you basically trade one worker for another. When Bob retires, Alice steps in. You knew what to expect with Bob. Bob was very well trained. In Bob’s cohort, unemployment is like 2%. To balance that, in Alice’s cohort, unemployment needs to be higher, say 10%, so on average, we have that magic non-inflationary level of unemployment. But Bob is old and Alice is young. Alice would be much cheaper, if we had a larger pool of Alices than Bobs.

But there aren’t a ton of Alices sitting at home, vaping and playing Call of Duty. Alice is a risk. You could bring in Alice, train Alice, and then lose Alice as she’s offered a better job by your competitor. In addition to the fact you need (say) 1.5 Alices to equal one Bob until Alice gets a few years of experience. Whereas they are not likely to poach Bob, and Bob would probably not get a better deal if he moved. You have an incentive to hold on to Bob and only hire Alice, if Bob leaves. And if one Bob leaves, a slightly younger Bob would be preferable.

Once Alice’s cohort comes into jobs, their unemployment also drops to some low number. But in order for that to work, the unemployment among new workers has to stay fairly high. Maybe I just made a realization labor economists have known for years. In any case, I think we’re going to have to get used to flat jobs reports and more of our workforce moving into healthcare. Otherwise you wind up with inflation pressure and Boomers dying on the side of the road.

Fantasies and Grifts

I can’t be arsed to watch Kid Rock. And it turns out what’s been panned as a half-baked alternate half-time show for religious fundamentalism meets misogynistic hedonism, wasn’t even live. What this has to do with the fact of the last four reads on consumer spending have been weak, will not be explained to your satisfaction. But I would say about a series of weaker than expected reads on consumer spending are notable. I would also say there’s no clear answer or indication from this number. No one at the Fed is wringing their hands over this (I hope). For meany reasons I’m bearish on the average consumer, but I think my belief is grounded in murky reality rather than just a fantasy I have great insight.

Which brings me to a meditation on the word “fantastic,” which today means “wonderful1” or “great.” But traditionally meant beyond belief. “That was the most fantastic story,” wouldn’t have meant it was a great story, but that it was wild and fully of unbelievable things. A fantasist is a person who lives in fantasies or promotes them as fact. Someone can be a fantasist can be a fantasist for several reasons. They may actual believe the ideas or not believe the fantastic ideas, and for a variety of reasons. They could range from a poor education to a calculated grift perpetrated on others who find the fantastic ideas alluring.

Which is why we always need to find a yard-stick of reality against which to measure the thing we believe or would like to believe. For example, that idea that Kid Rock has any mass appeal in 2026 and be compared with whether or not he sells albums and sells out large shows. He does not, and his listeners are mostly white younger Gen-X or older millennials. Whereas Bad Bunny (Malevolent Rabbit when he grows up?) has a clear, broad appeal.

Is the weak consumer fantastical thinking on my part? Looking at month over month consumer spending, for the last few months, I think the consumer is weaker than many expect. Profit warnings from consumer exposed companies like McDonalds and Pepsi reinforce this thinking. If we sum up the actual changes, month over month, for the last quarter, we get 0.6. The sum of the expected is 0.9, or about 2/3 of expected. That’s not a bright, flashing light saying the bottom is dropping out of the consumer market. Rather it’s an indication the bias of professionals is toward the upside.

Note that it’s a really noisy number with a lot of seasonal adjustment. The line in blue is the unadjusted number, which can jump around from -17 or -18 percent to +15 percent. The axis for the adjusted number (in dashed red) is on the right, so it’s not “negative”, but it is visually below the unadjusted numbers. Picking three months out of a noisy number is not a great basis for making predictions (especially about the future). And companies like to lower the expectations bar so they can play the “let’s all surprise to the upside” game. Maybe Pepsi, Starbucks, McDonalds and so on are just trying to set a lower target to beat. I could be wrong about the consumer, but if I am it’s not because my thinking is fantastic. Rather I just see the tea leaves slightly differently.

There is a perma-bear grift economy (or perma-bull). On YouTube you can find plenty of “the consumer is collapsing, buy bitcoin now using my proven three step method” videos. Or a depression is coming, buy emergency food for your bunker pantry. I have to think the Venn diagram of people who think a broad audience would really want to watch the TP USA half time show and the people who would buy into a trading grift have a high degree of overlap. They don’t want to see the world as it is, but as they would like the world to be. I’m not happy the consumer is weakening, and I would rather live with broad prosperity, but I don’t think the numbers are lying. Maybe a little misleading, but something is up.

  1. As “wonderful” also once meant full of wonders or amazing things. A wunderkammer is a room full of amazing curiosities, like rare or beautiful specimens. ↩︎

AI Coding Will Become Line-Work

For the sake of argument, let’s assume you can create and to end software machines. Just assume this is true for now.

Right now AI generates code, which is reviewed by a human. The human prompts, provides context, and whatever additional injection, the AI chews on it for something between seconds to tens of minutes, and out pops a module. It could be an API, a library, a command line application, single class, part of a web app or whatever. The human reviews the product, reasoning symbolically over the code, looking for defects of logic rather than text. The LLM is a probabilistic text generator, which is fine, as most new code isn’t necessary novel. There exists a wealth of similar code (text) on which to draw. The human applies a different kind of reasoning, like a pair programming session where one developer knows the syntax and another the algorithm. Is there a race condition here? Could this resource be created once instead of with each invocation of a function? Do the tests check anything meaningful?

The ability to write code, and symbolic – not textual – mental models around that code, are what allow us to evaluate the code. The reason we spend time solving problems like the “dining philosopher’s problem,” or struggle through algorithms, is not to regurgitate that same text ten years later. It’s because we encounter novel problems which are similar to, but not exactly like, well understood problems learned in school. We mash together the novel and well understood elements not by cutting and pasting code, but by applying mathematical logic. Some of us express it more directly in actual mathematical symbols, or tools such as TLA+, but even drawing boxes on a whiteboard utilizes symbolic logic.

Eventually, that mental muscle will atrophy as we read code but produce little. Many AI heavy developers anecdotally report the loss of even basic skills. At some point the loss of skill will become enough of a problem, that code cannot be reliably reviewed. The likely response will be to adopt AI to review the code for the human. At this point it is easy to wonder why a human, with their need for a desk, noise-canceling head-phones, and their expectation they will be served lunch, needs to be paid like a software engineer. Are they an AI engineer? No, they are a machine operator. They are as pivotal to the production of a new piece of software as factory worker is important to stamping out the bit or bob their machine produces. This is what Cory Doctorow calls the reverse centaur, a human who is there because it’s not feasible to automate a part of the process. But the machine is clearly in charge.

What about AI engineers building fantastic AI models? There has been a need for other engineers to produce machines used in factories. Mechanical engineers, electrical engineers, chemical engineers, material scientists, etc. work to design and build better widget stamping machines. But these are nowhere near as common as widget stamping machine operators. And while they make the salary of maybe 5 widget stampers, they are not particularly well compensated with respect to software developers today. It’s likely we’ll need AI specialists to help build better AI machines, but the spectacle of exorbitant salaries is tempered by the realization their jobs will also be more automated. Why would one need hand-made bricks to build a brick factory? You would just buy bricks from another factory.

At this point you might well be wondering why an engineer in the future would make six figures on their first day of work1. Operating the software machine is not about math or programming skills (which average people are excited about for five minutes but then discover learning to code is a non-addictive sleep aid). Operating the machine requires being trained on the machine (likely by the vendor) and feeding in the inputs for the required outputs. This is no longer a prestige or high salary job. Following instructions and not tinkering with the machine are more important to success than symbolic reasoning over concurrent threads of execution. And being the boss of a bunch of machine operators? That’s what we call a shop foreman today.

I’m not saying all programmers drop off the face of the earth. I’m just saying that the ratio of programmers to AI operators drops to something like the ratio of people who can hand-machine a part to those who at most stick a metal blank in a machine and push a button. There are people who build and repair the machines. They aren’t really artisanal craft people. They are machine makers. Often those person is paid somewhat more than the person feeding the machine blanks and pushes the button. Blank, after blank, after blank. But hand machining is not the same skill as feeding blanks into the machine and hand machining is too expensive. Nor does it guarantee of a better part, if you have a well calibrated and maintained machine.

There are plenty of examples of crafts that have been reduced to people feeding machines at various levels. No one spins yarn by hand except for artisanal craftspeople. A loaf of bread from a fancy bakery is more expensive than a mass-produced loaf in a grocery store. IKEA produces a Billy book-book case every five seconds. If any of the workers that operate the machines at IKEA are woodworkers, it is because woodworking is their after-work hobby. But the person operating the bread machine at a bread factory, the person feeding sheared wool into a spinner, or the person feeding sheet goods into a cutting machine at IKEA are not paid as skilled artisans. They are paid as factory workers. The output of craftspeople, like hand-spun wool, hand-made sweaters, or hand-machined Swiss watches, are usually the fetishes of the wealthy. I just don’t see anyone bragging about their artisanal, hand-code, shell script the same way as a watch.

And this world is a different world. In the past, we fixed or extended software because of the cost of re-writing the software. In this world, if you need a new iteration of a storefront for a retailer, you run it through the machine again and make new software. You keep running it through until the machine produces something you want. There is no need to make understandable, modifiable, high-quality software. It will be thrown away every iteration. There is no point in hiring a skilled weirdo, who hand-codes in their parents’ basement, to fix the site or make changes. Maybe in India a few people who hand-code exist to help make the machines, the way IKEA makes their products in other lower-wage countries with the requisite skills. But you wouldn’t pay developed world wages for those skills.

Don’t get me wrong, you are not going to get the average level of quality. You’re going to get shit. A Billy book-case falls apart in the presence of too much humidity because it’s particle board. I’ve had plenty of Billy book cases with flaking laminate or drooping shelves. Do I get rid of them? No, they just continue to be an eyesore until something else forces me to get rid of the bookcase. Just as bad and broken software will sit around until something motivates a broader change. Possibly with no one going into why it was broken other than to stitch together a vague notion from (possibly wrong) tracing and log messages. But no one is going to read all that code, much less edit and debug that code, because (practically) no one will be able to read it. Certainly not the five-figure code machine operator.

But I don’t believe we can build this software machine. I believe there is an upper limit to the complexity LLMs can incorporate in a purely text-based model. (It’s not even text-based, it’s token based, which is why counting letters in words has been such a challenge). LLMs cannot reason (although they can produce text that looks like reasoning). They cannot process categories of concepts, just text about categories of concepts. If it doesn’t already exist, or is not just within reach by mashing more text together, an LLM cannot imagine or create it. And most of the software it does create is not imaginative or novel. It is the same API, using the same authentication, using the same languages, and the same back-end as thousands of other similar examples, code repositories, and text-book descriptions. As long as you want a store-front that is largely like every other store-front on the web today, and prior to LLMs you would have mashed together from example code and Stack Overflow, you’re going to be replaced by a code machine operator. But then again, were you ever really contributing that much?

  1. Rather than a specific number – just assume six-figure salary means well-compensated above the average wage. ↩︎

I Am Exhausted

Maybe it’s the string of cold weather we’ve been “enjoying,” although I don’t mind it. But everything feels exhausting. On the markets side, it feels like we’re one or two events away from something breaking. It could be that the expected revenue from AI for hyper-scalers comes in well below the 1.1 trillion, or 650 billion, or whatever number is currently bandied about. It’s exhausting that no one else sees that as unsustainable and ridiculous. It’s exhausting to see grown people who should be grounded in reality tout the benefits of burning mountains of wealth to build something that isn’t working, but if it did, could lead to existential threats and mass unemployment. But if we accept the fantasy it does work, they become very rich. It’s exhausting to hear we “don’t have the money” for problems such as affordable health care. It’s exhausting to watch someone take seriously the idea that humanoid robots will be a many trillions of dollar industry. It’s exhausting to watch the great big ball of money slosh around, slowly grind away the wealth of retail investors. It’s exhausting to see those investors fail to see the difference between investment and gambling.

On the technology side it’s exhausting to talk about AI and the marginal improvements in each new model. It’s exhausting to see the same lazy, uneducated arguments that it will replace workers, made by people who have little to no idea what those workers do. It’s exhausting to see tech leaders who may be seeing the limits of AI suddenly start to re-hash other technologies to spark a new bubble. It’s exhausting to see formerly reliable products and services suddenly break in strange ways and wonder if someone had vibe-coded that feature. It’s exhausting to spend good money on products that can only be discarded if anything breaks. It’s exhausting to go on the web and realize it’s become more of a data harvesting, surveillance, addiction, and manipulation tool rather than an information sharing tool. It’s exhausting to look at the web, where anyone could create anything they wanted, reduced to four or five destinations for decent people and truly awful places for the rest. It’s exhausting to hear people twist speech to avoid “demonetizing” their content with perfectly normal words, while truly vile people are allowed to spew their hate with impunity.

It’s exhausting to deal with mandates to return to the office, when the office is a room with six-foot wide desks and equally glum co-workers trying to focus by sandwiching their head in noise canceling head-phones, while their dual-monitors serve as blinders to the surrounding motion. It’s exhausting to constantly get prodded with notifications and alerts to pay attention to something that wasn’t important. It’s exhausting to wonder if the next re-org will require me to report to an office thousands of miles away, while the company offers no relocation assistance. It’s exhausting to think about what I’ll do when the bubble bursts and I will lose a job I like. It’s exhausting to look at the options for lunch and realize it’s all various types of slop food where you take a bowl of whatever back to your office break area. It’s exhausting to pass by the well equipped home office you have to leave commute to work, realizing that you are still expected to return to that home office when not at the actual office. It’s exhausting to have your managers start tracking metrics for AI usage, even when you don’t feel like it makes you any more productive.

It’s exhausting to see half the country is happy to be on the way to a racist, authoritarian hell-hole, where the corrupt leader, his corrupt family, and corrupt patrons grossly enrich themselves. It’s exhausting to hear people talk about the constitution that have never read it. It’s exhausting to listen to a court eviscerate the independence of independent agencies, by try to find a carve out for the Federal Reserve (because money must be protected). It’s exhausting to watch law enforcement turned into paramilitaries that intentionally start confrontations, eagerly letting loose tear gas and flash-bang grenades, while arresting people with the intent to subjugate rather than protect. It’s exhausting to see those paramilitaries execute their fellow citizens in the street. It’s exhausting to see Federal law enforcement cover it up and our leaders lie when there’s plenty of contradictory video. It’s exhausting to watch LAPD’s finest, who have judgement after judgement against them from civil rights and abuse suits, unleash a rubber bullet into a woman’s abdomen and laugh. It’s exhausting to see the press and the media white-wash the issue or see it in the leas of traditional politics. It’s exhausting to realize that so many people want a racist ethnic cleansing of the country.

It’s exhausting to watch people abandon reality and honesty, passing around memes and clips that are known to be lies. It’s exhausting to watch people we’ve elevated with massive audiences repeat lies. It’s exhausting to watch the “new media” just regurgitate the facts from “legacy media”, eliding anything that doesn’t fit their narrative, and injecting their own lies. It’s exhausting to have a president who parrots racist, AI generated, slop we know to be lies. It’s exhausting to see the flood of these brainless bits of digital garbage wash up on our shore with the intend to poison our minds, so we don’t know what’s true from what’s a lie. It’s exhausting to know medical professionals who voted for this, because they can’t stand “all the laws and rules” from the “federal government”, but who know that the administration’s vaccination advice is a dangerous lie. It’s exhausting because so many of these people have stopped caring about truth.

Five paragraphs on why I sometimes think this can’t be reality. It can’t be the world we live in. That the real world has to be better than this. The real world can’t be this self destructive, greedy, self-serving, and stupid. That obviously none of this is real. But it is real. It is the daily gristle of our lives we are forced to chew and can’t spit out. It tastes bitter and revolting. We are just forced to quietly to chew and chew because every else sits quietly and chews. Our political leaders, who we trust to voice our concerns, tell us that sitting quietly and chewing makes better people because we want the system to work. And there’s plenty of people on the other side who, off the record, behind closed doors, and very discretely tell us that they also think this gruel tastes awful. They wring their hands in consternation about it all the time. Our leaders say they can work with these people and get real things done. So if we site and quietly chew, don’t disrupt too much, and everything will be okay.

But sometimes go stand on the side of the road with signs and some cars honk at our clever, home-made signs. Other cars give us the finger. I’ve tried understanding the person behind that upturned middle finger, but I’m beginning to think the good I try to find isn’t there. That we are dealing with an irreconcilable vision of the country in which we want to live. That it’s not about taxes, the price of eggs, traditional roles, or their religious conscience. It’s about subjugation, humiliation, and a self-centered disregard for others. It’s dirty, it’s filthy, and it’s twisted. The idea there’s no set of shared values with those people is exhausting.

On Tap for Next Week

Taking a look at the key news items coming up next week:

  • Monday – Nothing
  • Tuesday – Retail Sales
  • Wednesday – Payrolls/Unemployment Rate
  • Thursday – Existing home sales
  • Friday – CPI

One thing to keep in mind about these numbers is their importance depends on what the market news focuses. During the great inflationing, used car prices were a watched number when car prices were a driver of inflation. Now, nobody cares. Of those numbers, Wednesday and Friday are key because of the debate about interest rates. Do rates need to come down more because the job market is weaker, or do they need to hold because we still need to make progress on inflation? I think we’re not paying enough attention to the components of retail sales because if the market tanks, and the top 10% of households no longer want to spend, we could see consumer spending dry up. But that probably won’t be this month’s number.

Another Look at Nvidia

This is not investment or investing advice. It is for entertainment purposes only. Contact your investment or tax professional before making any investment decisions.

A couple of days ago I took a look at Nvidia, to kind of show how I look at where the stock is headed. I actually prefer to buy ETFs or funds than stocks, but I do buy some individual stocks. And some of what I say is also applicable to those funds and ETFs. Although you have to look at them individual and figure out if the ETF or fund matches your objectives. I learned this early on when I bought into some funds to see the sector outperform the fund, only to realize the weighting the fund used wasn’t what I expected.

I use the term support line, but I think of it as more of an area. It’s not that buyers come into the market at 170.95 and lift the price. It’s more that when the stock gets to that price, various people are stepping in to buy. And I use the term people here very loosely. It is a combination of ETFs and funds, along with large institutional investors. It used to be that lunch time on say, Wednesday, you could actually put in a trade that would move a sock price. But I don’t think that’s true any more, mostly because trading volumes are much larger.

Anyway, once prices hit a certain zone, buyers seem to step in and keep the price from falling. It may only be a pause on its way to lower levels. Most support lines are found buy simply eye-balling where a series of lows caused the price action to reverse. It may have dropped below that level for a bit, but quickly comes back up. When the price action drops to the support and comes back up that’s called “testing” a support and the more that happens, the more significant the support area becomes. I picked 171 because I see the price approaching that area multiple times and bouncing back. I don’t think exact numbers are particularly useful.

But the whole market is taking a breather in the morning pre-market session. Nvidia (NVDA) is part of the NASDAQ composite index. (Don’t ask me what NASDAQ stands for). It is a significant part of the index, so it’s behavior will impact the broader index behavior. To me there’s a support area extending from about 600 to 585. (This is the QQQ, which is the cash index for the NASDAQ 100). I view the support areas to be less precise on the cash index because it is the byproduct of a lot of buying and selling, both through the index and its individual components. The line on top is not a support line, it’s a resistance line that suggests most market participants decide anything above 630 drives selling.

The chart of the cash index is different from what most people look at when they look at the NASDAQ, they look at the futures market, as shown below. It is not the product of buying and selling stocks. It is the the prices of the futures market for the index. A different thing is being traded. In the futures market, we see a gap that doesn’t exist on the cash index, and the prices look almost, but not quite, the same.

On the chart of the NASDAQ futures, I see a similar support area but I think they’re actually two support lines. There’s one at 24,937 (remember – not exact) and one at 24,289 (not exact). Remember, I eye-balled the lines and read the price from there. I didn’t pick the price and draw the line. We ploughed right through the first line (which probably means it wasn’t really an area of support). And today, the pre-market is bouncing off the second line, meaning it’s holding. That second line is formed on the basis of it being the bottom of the gap (which was eventually filled). But again, it’s more that zone around 24,289 where a mix of funds, algorithms, and large institutions will see a buying opportunity.

Looking at the S&P 500 Futures I’ve identified what I think is a trend channel. We see a failure to make a higher high at the end of the channel, and a break down from the channel (which we won’t know is significant until we’ve had more than a couple of days trading lower). And we briefly pushed into what I think is a support area. The support area holding means going lower will be a challenge, but the other factors are bearish. (Meaning there’s more interest in selling). But this is just to show the broader market is pausing at some level of support.

To be honest, I have no earthly idea what makes a large fund decide the prices to buy or sell NVDA or the other components of the NASDAQ, a NASDAQ future, or any stock. Maybe they just think we’ve come too far these last couple of days and they’re buying the dip. Maybe it’s just selling or buying to offset options contracts. I really don’t know. And no one knows, except for one thing that investors made clear with Google yesterday and AWS today. They are no longer looking at hundreds of billions of AI investment as paving roads for future growth. They’re looking at it as burning money that may not come back. And because many investors (both small and institutional) use baskets of stocks (like ETFs), stocks are now more likely to move similarly than before.

To wrap this up, I wrote this to clarify my thinking on what’s going on with the market. To remind myself, that even though I drew a line, It should have been a fuzzy, broad line, not a precise, skinny one at a specific number. I also like to see what the giant ball of money is doing today. It’s sloshing away from defensive investments, like consumer staples, and back to risk and tech, now that we had a big move away. That money sloshes back and forth, back and forth, each time allowing the smart money to bleed more and more off retail investors.

And this is not investing or investment advice to you, or anyone. It’s is provided for your entertainment purposes only. And if you are investing, contact a professional before making any decisions. Buying and selling stocks, futures, or any investment is a risky activity and can cause you to lose money, including the principal which you invest.

[Update] The screen shots above are from the pre-market session. The regular session can look a little different, for example, here’s NVDA, note the slightly different representation of today’s candlestick. Which is also a reminder that what you see may be determined by the conditions under which the prices were collected.

My Mental Model of LLMs

Yesterday’s AI sell-off (and today’s weakness in Google because they didn’t get the message that the street no longer wants to see massive AI investments) is a not surprising. I thought some version of that has been coming for a couple of reasons. The first is we’re not seeing the data that shows productivity improvements. Second, we’re not seeing cost reductions. Third, is my mental model of LLMs precludes there being intelligence there at all.

The first two points are the most straightforward. Let’s start with the actual impact on productivity. When I hear someone say they used an LLM to write codes in a couple of minutes that would have taken them a couple of hours, I believe them. But the question is not whether the individual task is more productive, but what is the actual impact on productivity. This is a variation of Amdahl’s Law. The total impact on productivity is the time saved in the one task divided by the total time for all tasks. That has to be weighed against the cost to provide that AI. We’ve only seen anecdotal stories of AI improving specific tasks, which are central to a job, but may only occupy a small fraction of the time in a given month. It’s quite possible a sustainable AI subscription price (not subsidized by investors) is well above the actual productivity impact over a month.

The second item is also straightforward and that is improvements in performance require using multiple stages of “reasoning.” For example, I prompt the AI to write code and it writes the code. It then runs the compiler and tests. It then fixes all the bugs. It then re-runs the tests. It then audits the code. It rewrite some of it, producing new bugs, fixes those bugs, and so on. After a few minutes, it’s finished. I go back in and make some comments about some of the structure and the AI starts churning again. The original code may have been hundreds of tokens. But the entire loop might be tens of thousands of tokens. Even if the cost of one token has dropped to 1/10 of what it was in 2022, we use hundreds of times more tokens. That pushes up the profitable subscription price and meets up against my first point, of the actual value of any savings.

But let’s move on the central reason I don’t believe LLMs are intelligent (which is not to say they aren’t useful – I use them at work). Let’s start by imagining a function (a mathematical machine that produces outputs for a given input), that produces the most likely text given some input text. If we give it the phrase “to be or not to be,” it spits out a meaningful response, such as the rest of Hamlet’s soliloquy. We will never be able to produce this function, because we don’t have a complete model of all human speech and meaning around that speech. While we can’t know this function, we can estimate this function given a lot of example inputs and outputs.

Enter the neural network. One property of multi-layer neural networks is they are excellent function estimators. If you have some function (math machine that makes outputs for inputs) and all you have are example inputs and outputs, a neural network can be trained to act like that function. The bigger the neural network, the better it can estimate a given function1. But the more data it requires to train all the “neurons” in the network. (The neurons are actually weights by which the inputs of the “neuron” are multiplied and then “squashed” as the neuron output for the next neuron in the chain). If you like, each neuron is a function we tune when training the network that estimates some part of the internals of the actual function (which we do not know).

What the LLM estimates is a probability density function over language. This is a fancy way of saying its estimating the probability of choosing a specific piece of text, if you feed it some input text. I send my text into the function and it spits out some output. What context does is to make that probability function conditional. Conditional probabilities are statements like the probability it has rained, given the ground is wet. The “ground is wet” conditions the probability of it having rained. Irrespective of the ground being wet, an any given day it might be a 3% chance of rain. If the ground is wet when we go out, there might have been a 65% chance of rain and maybe a 35% chance of my neighbor watering their lawn.

When we feed an LLM plus some context, what we’re saying is what is the most probable text that follows this text, given the context. It’s no longer examining all possible answers, but only the most likely answers given the context. Hence, the conversation and my prompt files help tune the answer to a better answer. By giving a coding LLM specific examples of what I want, I condition its output to provide the most likely additional text that you would expect to see if other code similar to the examples were already present. That is why I need to spend not just a few minutes, but sometimes significant effort writing and curating the prompt injection files.

Fortunately, for our world, things are rarely unique and novel. If I have to add Passport authentication to an application, it is rarely a completely novel exercise. Chances are, it looks like the vast majority of similar integrations. A machine that generates the most likely text for some input text, and given a context, may produce a working implementation. Even in my day-job, where I work on a novel processor, assembly language and C language code for things like interrupt handlers have not changed much in the last 40 years. For some tasks, an LLM will probably perform to the standards set for an average human practitioner, simply because we have an estimate of what we would expect an average human practitioner to produce.

If we move out of the range of the training data, neural networks can generalize, but they lose their accuracy. A neural network can be trained to within some level of error, but this is only for the the training data and test data. Outside that data, or at the extremes of that data, the performance falls off. Which is why novel languages or truly novel problems are more difficult for a neural network. It can mimic thought as it produces text using its statistical model because that’s what thought looks like to us. That’s how we expect thinking around that topic to appear. Which is why LLMs can even produce mathematical proofs. Just because it completes the idea prompted by “men are mortal and Socrates is a man,” does not mean it reasoned at all.

There is a base-line randomness to LLMs, without which they would be useless. As they produce their output it might not be exactly what was in the training data. But that’s because there’s other training data that expands or contradicts any given example. In addition, without a little injection of randomness (either intentionally or unintentionally) it would lose the illusion of intelligence. If I give it “to be or not to be,” I might get 10 variations on the standard Shakespeare and one odd-ball response, or the wrong play, or a critical analysis of Hamlet. I might get what I view as the “wrong” response. However I use the LLM, I have to accommodate the possibility of getting the wrong answer as part of my cost of using the LLM, which is why I have to review, and often refactor, the LLM code prior to adding it to my code-base.

This is where we come back to my first two points and perhaps the central issue. Is it profitable to use an LLM based system to improve the productivity of a worker to the point it pays for the system? While individual circumstances vary, we need to look broadly. Even with the detailed mental model I painted, we come back to a basic problem of economics. The cost of running the model (or paying API tokens) must exceed the benefits through productivity. That answer is not clear cut. One benefit of writing the prompt files is I work through various ideas I have before writing software, usually in much greater detail than a design document. I have to work in small steps. I need to refactor the code and do more critical reviews. If someone tracking my time said you didn’t actually save three hours, because you spent two hours on writing prompt files, code reviews, and refactoring, I might believe them. And if they then said, the cost of the tokens I burned are equivalent to that hour in savings, that might also be true. And if that’s the case, there isn’t much of a case to use LLMs.

  1. It is possible to over-train networks for small problems, but all of human language is not a small problem. ↩︎

Thinking Through NVDA

With the normal disclaimer that this does not constitute investment advice, it is provided purely for entertainment purposes, and contact a tax or investment professional before making any investment decisions, I’ll take a look at a stock.

Taking a look at Nvidia, we see the 50 day moving average peaked in December and has started a flat to modestly downward trend (yellow line is an eyeball of the trend). The price is approaching the 200 day moving average (orange circle). There is a floor around 170. So what events would I look at, from a technical perspective?

If the price drops below the support at 170, that is significant. In my thinking it’s more impactful than the price falling below the 200 day moving average. The 200 day average is going to continue to move up, even if the price declines, as it catches up to the historical price action. The violation of support that has been in place since September is more critical, in my opinion. As would as a steeper downward slope on the 50 day moving average.

Technical analysis isn’t just tea leaves for investment bros, if you look at it as a pattern of the expression of sentiment about a stock. What do we know about the broader context? For one thing, the current administration has shown a willingness to step in and make decisions that impact Nvidia’s sales. Second, the broader investment community is getting more concerned about circular deals. Third, investors are starting to ask where’s the beef on AI revenue. In the past, when the price has approached 170, buyers came in because they saw value in the stock. Above 190, more people did not see the value in the stock and sold. That range indicates people may be waiting for more information before making a move.

As we can see, all the revenue bump for Nvidia has been in AI accelerators. I’m assuming there’s a role for LLM style AI in the future. If anything, it makes sense for Microsoft to include it in Office to help with writing e-mails, writing Word docs, Spreadsheets, and Presentations. Likewise, Google’s office offerings would benefit. As would ad generation on Meta. The question is if the amount that needs to be spent in accelerators, data centers, and energy makes sense, given the revenue it produces. If it costs Meta $10 of cap-ex and $10 of lifetime energy costs to generate a lifetime revenue impact less than $20, it clearly doesn’t make sense.

What would happen to Nvidia if the GPU sales are cut in half. First, the multiple needs to come down because the expected future growth in sales is at a much lower sales volume. Let’s say it drops to 20 times earnings. Earnings are cut in half. That would mean a share price of around $45 for Nvidia. What does that do to the mag 7? Well, different parts of the Mag 7 are there for different reasons. Apple is not there because of AI sales. Microsoft, Amazon, Google, and Meta have AI exposure but won’t get destroyed. Tesla is a meme stock so this may not change anything for people who believe humanoid robots are a 10 trillion dollar TAM. But there are other stocks, like Oracle, Micron, and Broadcom that take a big gut-punch. (As is happening as I write this).

What may have an outsized impact is the wealth effect that’s given the top 10% to float half of all consumer spending. A drop in the Mag 7 would pull down the entire S&P 500. But it also flips psychology. It would also have an unquantifiable but negative impact on the private equity and banks that have lent money to AI startups and data center build outs. One estimate puts 20% of PE’s loan book on AI related loans. No bueno. Not to mention the hit to all sorts of venture funds and the investors in those funds.

Again, do your own research, consult a professional, this is only provided for entertainment purposes, and is not investment advice.