Sunday, August 25, 2024

The Present and Future State of AI

Business Insider published a story on August 20, 2024 related to internal comments made by Matt Garman, the recently appointed CEO of Amazon Web Services (AWS), to employees regarding AI and its impact on the role of software developers. The comment was:

If you go forward 24 months from now, or some amount of time -- I can't exactly predict where it is -- its possible that most developers are not coding. Coding is just kind of like the language that we talk to computers. It's not necessarily the skill in and of itself. The skill in and of itself is like, how do I innovate? How do I go build something that's interesting for my end users to use?

Apparently, that comment alone wasn't click-baity enough so the Business Insider article referenced additional quotes from other technology executives over the past year for additional impact.

From Nvidia CEO Jensen Huang: Everyone is a programmer now.

Microsoft CEO Satya Nadella in 2023: We have 100 million software developers in GitHub today with this coding assistance. Now that we have CoPilot, I think there can be a billion developers. In fact the world needs a billion developers.

Stability AI's former CEO Emad Mostaque: I think we always have to look at the unchanging versus the inevitable. The inevitable is 41% of all code on GitHub right now is AI generated. ChatGPT can pass a Google Level Three programmer exam and it will run on a MacBook. There are no programmers in five years.

Hmmmmmm.

A billion developers? No developers? All with the same technology? What's going on here?

When you see glaring contradictions like this from top leaders who, in theory, should know better than us rubes what their technologies hold in store, you can be certain at least some are simply talking their book and you can be certain that none of them have a proper perspective on the larger economic forces being impacted by their technology. Before evaluating these comments in detail, it's worth taking a sidebar to describe the siren song of exponential growth (actual and claimed) and why it consistently poses problems for investors and managers in the technology space.


Exponential Growth, Technology and Investing

It was October, 1999. Shares of Sun Microsystems were sitting at $100. The Internet 1.0 bubble was in full swing and new startups and service providers were buying Sun servers like candy. Sun had incorporated in 1982, went public in 1986 and its stock price had appreciated from the $2 dollar range to $11.40 by the beginning of 1996. In 1996, the stock began growing at a steeper rate, reaching $29.10 by October 31, 1998, at which point the stock began growing exponentially. At the same time, Sun began selling even larger, more expensive "enterprise" class servers for large corporations and sales of those units were looking good as well.

Working in an IT role at the time, seeing how many Sun servers my company was buying at the time and noting how the stock had grown from $29.10 to $100 in the past year, it seemed logical to consider buying stock. Then I did some math to look at Sun's current revenues, unit sales assuming an average server price of maybe $10,000, then the price/earnings ratio. At some point, it became apparent to me that for Sun to justify its existing price, investors had to be counting on revenue to continue growing to a point where Sun would have to be selling one of their pizza box servers to nearly every small business in the United States. Every year.

If the product in question was something like a mobile phone which is INHERENTLY a personal device, that might have made sense. But they were selling SERVERS. Servers are an entirely different product. Servers allow workloads to be combined and shared to save costs. The users benefiting from them never see or touch them. There's no brand loyalty from end-users.

More importantly, they deliver value using technologies that follow Moore's law, doubling in processing power / density every eighteen months. That means if you think the market demand for server WORK is W and you have a product with capacity C, today the market needs W / C = N servers. But if performance is growing 100% every 18 months, in three years, servers three years from now will have (C + C + 2C = 4C) capacity so the same workload W can be handled with ONE FOURTH of the server count. Sure, workloads may grow at the same time as people find new uses for computer technology but still, UNIT VOLUMES will never grow unbounded. So if unit volumes won't grow unbounded, revenue cannot grow unbounded so why are investors betting the stock will appreciate exponentially in perpetuity?

After completing that mental exercise, I decided not to buy SUN shares. In the short term, I was completely wrong. From October 1999 to July 2000, SUNW stock jumped from $100 to $253, another 153% from the point I chickened out. Of course, after July 2000, the stock PLUMMETED and Sun Microsystems never regained its footing and limped on for ten years before being assimilated into the borg that is Oracle.

The takeaway from that story is that any business model dependent upon exponential growth to infinity WILL fail. The corollary to that rule is that any INVESTMENT in a business that depends upon exponential growth to infinity WILL lose money. Investors and business leaders alike should KNOW this intellectually, but they FORGET it emotionally, especially when things are going well in the short term. It's worth reading a message that Sun's CEO at the time, Scott McNealy, sent to Sun investors after Sun's stock collapsed in 2000:

At 10 times revenues, to give you a 10-year payback, I have to pay you 100% of revenues for 10 straight years in dividends. That assumes I can get that by my shareholders. That assumes I have zero cost of goods sold, which is very hard for a computer company. That assumes zero expenses, which is really hard with 39,000 employees. That assumes I pay no taxes which is very hard. And that assumes you pay no taxes on your dividends which is kind of illegal. And that assumes with zero R&D for the next 10 years, I can maintain the current revenue run rate. Now, having done that, would any of you like to buy my stock at $64? Do you realize how ridiculous those basic assumptions are? You don’t need any transparency. You don’t need any footnotes. What were you thinking?

Keep in mind, McNealy was addressing Sun's 10x price/revenue ratio at its peak. For context, here are stock prices and P/S (sales being revenue) ratios for leading AI related stocks as of 8/23/2024:

  • Alphabet - share price $167.43, P/S = 6.34
  • Amazon - share price $177.04, P/S = 3.00
  • Apple - share price $226.84, P/S = 9.04
  • Microsoft - share price $416.79, P/S = 12.39
  • Nvidia - share price $129.37, P/S = 40.39

Which leads us back to these quotes from those guiding the development of artificial intelligence technology or applying it to traditional business.

Most developers won't be coding in 24 months?

Everyone is a programmer?

We need a billion programmers?

AI generated code is already 41% of all code on GitHub. There are no programmers in five years?

The fallacy in each of these quotes stems from either a mis-representation or misunderstanding of the nature of development work or of the economics of labor markets and the impact of specialization. In all cases, they have the potential to seriously mislead workers and investors who may lack the historical perspective of past boom/bust cycles or familiarity with current economics.


AI's Boundary Problem

All of these comments referenced developers without providing a definition of development work and how AI technologies can contribute to that work. References were made to the "translation" function developers perform by reading "business requirements" and mapping them to logic that can be executed within computers. What does that translation work look like?

Here's an example of a "business requirement" an analyst might collect from an internal "client" in marketing at a financial corporation and give to a developer:

Read a nightly report extract of account balance statistics and send an email to the contact email on each account offering bounced check protection to accounts with balances less than $500 dollars.

The developer would have to read that prose above and write code that might look like this:

logfileHandler = logging.FileHandler("lowbalanceAlertLog.txt")
logfileHandler.setLevel(logging.INFO)
logger = logging.getLogger(__name__)
logger.addHandler(logfileHandler)  

# balance field is 4th physical field or #3 when 
# array index starts at 0
field_balance = 3
field_account = 0
low_balance_threshold = 500

with open("balancestats.txt") as statsfile:
  for statsrecord in statsfile:
    fields = statsrecord.split(",")
    thisbalance = fields[field_balance]
    thisaccount = fields[field_account]
    if ( thisbalance < low_balance_threshold):
      logger.info("sent alert for account:%s", thisaccount)
      SendLowBalanceOfferEmail(fields)

logger.info("Completed nightly low balance check.")

That's a ridiculously simple example and few companies would likely write a batch-oriented routine against millions of accounts using Python. However, it illustrates how "business requirements" in seemingly simple prose require DOZENS of semantic and logical decisions to be made by a developer such as:

  • what computer language should be used?
  • what variable names should be used?
  • where will my input file be delivered so I can read it?
  • should I expect a comma delimited file, tab-delimited file or some binary format?
  • will the input file be encrypted and, if so, how will my code obtain a key to de-encrypt it?
  • what are the field types and size limits of every field in the input file?
  • how will the "send email" service be implemented?
  • who will provide me the text of the email notice to send?
  • should I use a for loop or a while loop?
  • who should be notified if the script encounters a fatal error during execution?

It is rare for all of those questions and answers to be resolved up front in a complicated development project. That raises a key limitation with current Large Language Model (LLM) implementations of AI. Any software solution generated by an AI is prone to encountering what I will term here a boundary problem. The problem will be explained by analogy.

Imagine a business arranging all of its current and potential processes and systems across a football field. Some of the field might be empty with no running system. Other parts of the field are occupied with systems tied to other systems that might be adjacent to them or connected via plumbing to a distant corner of the field.

If a business request comes in to implement a process completely unrelated to existing systems, the user of an AI can simply post the prose of that new requirement to an AI prompt, take the suggestion spun out by the AI, build it, then deploy it to a vacant square somewhere on the field. Developers call that a "green field" solution (hey, this analogy is working...).

Most large corporations rarely do anything brand new that has no connection to existing systems. Most projects enhance existing systems or, at a minimum, require moving data in and out of existing systems to do something new. Now the user of the AI has a problem. If the new business need involves a system already present occupying one square yard, the AI can likely a proposed solution that's roughly compatible with the code already running within that square yard, whether it's in the endzone, midfield or the sidelines. However, the AI user trying to implement that one square yard sized solution may find the portions of the solution at the edge of the square yard don't mesh well with the surrounding turf (legacy systems) without major changes to either the AI code or the surrounding turf.

So now what?

Since the AI code was so easy to generate, does it make sense to err on the side of using the AI code suggestion and altering the systems outside the original square (the "legacy" systems)? Well, let's define THAT problem and hand it over to the AI and give it a 2x2 yard square to solve in. That may solve the original "border" problem around the original single square yard but now your "legacy" border touches eight linear yards of "integration" to "legacy" turf.

Do you keep going?

How about a 3 by 3 square yard "solution space"? Now your original enhancement requires careful analysis of compatibility between AI suggested code and legacy code spread across 12 linear yards of border.

When do you stop?

Your legacy systems that keep getting pulled into this project scope might have been implemented ten or twenty years ago. The AI being used was NOT likely "trained" on the source code or original requirements and design documents of those systems. Allowing a larger and larger "scope" for the AI to work in expands the boundary area of exposure to things the AI knows less and less about, making it more likely the solution is becoming LESS optimized for simple integration to the legacy systems.

How big is that software change going to be when you finally deploy it if you allow the AI to suggest a rewrite of half the football field? Put it this way... You don't want to be on call in IT the weekend that change goes live. You'll want to be on vacation somewhere out of cell phone range.


AI's Iteration Problem

The boundary problem described previously raises a second problem with current implementations of AI using large language models. A user interacting with an AI system provides it a block of text that, to the human, represents a question or a direction to provide some "answer" or solution to a problem. However, to the AI, the user's prompt is just text. The AI chops that text into characters and tokens then begins using their sequential positions to identify patterns of characters and tokens it has processed in its training and converted to probabilities to rank the token(s) most likely to be seen next, picks the one with the highest probability, then continues that process until its model reaches a limit that suggests the answer is complete.

This algorithm can produce results that are amazingly on point for the human's request but the algorithm and the internal data models for those probabilities calculated from petabytes of training data pose a key problem. Any arbitrary change in the user's "prompt" text can produce significant changes in the final output. Think of it as a "butterfly flapping its wings in China changing the weather in the Rockies" problem.

If using the AI to write a novel, a prompt might be provided requesting the outline of a novel set in Revolutionary America involving a a couple split between Tory and Patriot sympathies and the AI might generate a four page outline placing the couple in Boston operating an inn frequented by Paul Revere. There might be something in the outline that went in an undesired direction. What can be done? If the original prompt is altered with additional details pointing in the desired direction, that new input may cascade through the quadrillions of probabilities in the model and result in a new outline spit out by the AI that still involves "Revolution" and "Paul Revere" but only because the new output involves a TV show in the 1960s featuring musical performances from Jefferson Airplane ("gotta Revolution") and Paul Revere and the Raiders ("kicks just keep gettin' harder to find"). Definitely not the desired result.

This "butterfly" problem from changed inputs is a huge problem if using AI to create software even in a green field environment. Business users are notorious for not identifying all requirements up front. Adding requirements days / weeks / months after a major development effort has begun is difficult for humans to process now. When AI is being used, every new missed requirement added later has the potential to generate vastly different design output incompatible with prior iterations. So should every mismatch between iteration #1 and iteration #2 be fed in as problem #3 for the AI to solve? Doing so will only create more iteration artifacts until someone pulls the emergency brake. In short, AI may be ideal for supporting development of extremely simple, carefully constrained functions but cannot be used to iteratively design arbitrarily large, distributed systems over periods of weeks / months / years.


How Do You Define Development?

So what about the claim there are one hundred million users of the cloud-based source code repository GitHub that Microsoft acquired in 2018? There are 8,172,041,975 people on the planet. Does anyone seriously believe 100,000,000 distinct humans -- 1.2 percent of the entire population -- not only write software but find the need to keep their code in a cloud repository?

That's highly unlikely. First, many developers might have multiple accounts, one used for work, one used for private hobby experiments and maybe others as they work on projects with friends. Second, engineers working in the software industry know they must continually experiment with new tools to keep current on emerging trends, even if they aren't currently using them at work. This results in a lot of stranded accounts that get created and used for a few weeks as they evaluate new tools and technologies before moving on to the next thing.

From another perspective, the comments from both Satya Nadella (billion developers) and Matt Garman (no developers in 24 months) likely reflect seriously flawed definitions of development work. The nature of development work is inherently blurry, not because existing technologies prevent more exact definitions but because current management philosophies cloud the boundaries with layers of process that have nothing to do with moving the work forward but everything to do with calming the anxieties of managers and executives who feel powerless to manage processes and talent they do not understand. There are a lot of people in "development" jobs today not coding. It all depends on how you define "development."

My prior employer had a total of about 110,000 employees. The IT department employed about 1900 people. There were roughly 600 people working in teams responsible for "development." However, I would estimate that only about 210-300 people actual designed and wrote code -- and that includes final system code, test automation code and operations deployment and monitoring scripts.

And that final pool of "real developers"? There is an apocryphal made-up fact that in most organizations, about 10 percent of the developer headcount completes about 70 percent of the work and the other 90 percent of workers complete the remaining 30 percent. Numbers may vary as different people repeat this "fact" but the underlying point is crucial to understand. Productive coding is still a complex balance of reductive science and artful creativity. Managers and executives understand neither the science or the creative aspects but insist on treating the process like a purely reductive science like physical assembly work and impose layers of administration, tracking and inefficiency which impair actual productivity and make actual productivity measurements impossible.

That observation about management practices has important impacts when evaluating the truthfulness of these CEO prognostications.

When you discuss the impact of AI on "developers", who exactly are you talking about? Those NEAR development work (who are just project managers, business requirements writers, technical requirements writers, etc.) or those actually DOING development? By acting as an automated "babelfish" between normal business prose and code, it might be the case that wider use of AI eliminates "developer jobs" for those who focused on attempting those translations by hand for new systems or enhancements and bug fixes. However, as teams encounter the boundary problem described earlier, many of those would-be reductions might be offset by additional secondary development triggered as a project's scope is allowed to grow to attempt to let AI solve more of the re-integration into old systems.


A Billion Developers?

If the boundary problems and iteration problems described earlier were good arguments for why AI will not succeed at driving the developer population to zero, what are the arguments for AI not creating a world of infinite opportunity employing an unlimited number of developers?

First, has there ever been a case where a manufacturer has spend billions of dollars installing robotic welders in an auto assembly plant or auto-insert machines in a printed circuit board factory then told the displaced workers to stay on, move into a cubicle and help with design work?

Absolutely not. Why?

In any highly industrialized business, the balance between specialized labor and automation has been so highly optimized by competitive pressure in the marketplace that any labor being performed has been simplified so each labor step is incredibly simple and requires LESS expertise than it would if a single worker was doing all of the work. More specialization leads to less expertise required per job which requires less training which allows lower-skilled labor to complete the task and lower-skilled laborers face more job competition, lowering their wages. This dynamic makes it very difficult for any specialized physical laborer to move UP the labor ladder when displaced from a lower rung.

The software development craft is very analogous to the auto assembly plant model. It is safe to go out on a limb and state that, as of 2024, there is NO application on the planet being used by more than 10,000 users that has been written and maintained entirely by a single person. This is not only for the obvious reason that no sane company would allow itself to be held hostage to a single employee with knowledge of a mission critical application. It is also because the stakes regarding data security, performance and uptime are so critical to giant companies that no single developer has the expertise to design and code a so-called "enterprise application." Instead, you have

  • browser based user interface developers
  • Android smartphone / tablet based user interface developers
  • IOS smartphone / tablet based user interface developers
  • Windows / Mac user interface developers
  • web service developers
  • data modelers
  • database / big data developers
  • test automation developers
  • deployment automation developers

Sure, all of these jobs involve understanding systems and writing code to accomplish tasks. It IS possible for one person to perform work in each of those specialties. However, the amount of work in each of these areas for a suite of "enterprise applications" required by a typical corporation is so vast that it is not economical to hire generalists who work across all of those disciplines. There's enough work in each discipline to encourage specialization.

The dynamics of the developer labor market are such that any advancement that reduces demand for work hours in a given specialty A will NOT allow a displaced worker to easily find work in specialty B, even if A and B are closely related work areas. Chances are there is at least a one-year learning curve to be proficient -- even for a "developer" who already knows the mechanics of languages, source control tools, etc. -- and no direct employer or contractor firm is willing to eat the cost of that "lost year" of retraining and lower productivity.

No car maker ever invested a billion dollars buying robotic welders for its plants then told all of the displaced welders to hang around and move into cubicles to help model the next pickup truck. We HAVE modelers, the displaced welders are out of luck. For the same reason, no firm that might successfully use AI technology for development is going to KEEP those displaced developers and use them to dream up new features and uses for AI. They think they already have those idea people. And besides, shareholders and the board expected hundreds of millions in savings if tens of millions of dollars were approved to adopt AI technologies. If those savings aren't forthcoming, heads will be rolling. Everywhere AI is leveraged it will be used as a means to drive down human labor rates for any remaining work still left for humans to do.

Who Is Investing in AI?

The second argument against the "everyone's a developer" model stems from a simple question: who is spending the most on AI technology and has the most to gain?" At this point, the biggest spenders on AI technology are existing oligopoly firms who dominate the online services, cloud computing and hardware markets. An obvious rebuttal to the remaining argument below is that of course these are the firms spending the most money. The nature of the technology requires a huge up-front investment in compute and storage and places to run it and these firms are the only firms with the scale required to jump-start the technology.

That being stipulated up front, the point of the question "who is spending the most and who has the most to gain?" is that AI inherently creates monopoly conditions in an information economy, based upon the vast quantity of information collected for training and the computing power required for training and ongoing operations. Any Econ 101 textbook will explain that any monopoly market condition will produce a sub-optimal quantity of a product at a higher than efficient price. The launching of such a crucial technology in a monopolistic mode from Day One itself is already a dire threat to the overall economy.

AI poses additional risks because the firms establishing monopolistic control over the technology are ALREADY in monopolistic positions that have been further exploited to create the new AI monopoly by using customer data for training. These existing monopolies are positioned to earn additional outsized profits from AI and distribute that wealth according to existing heavily skewed patterns benefiting the already obscenely wealthy. None of the firms involved with AI to date have demonstrated any proclivity towards redirecting profits towards research and activities that would reverse the corrosive concentration of wealth produced by their initial decades of operation.


So what is the correct takeaway from these quotes about the present and future for AI?

The easiest conclusion is that competing claims that AI will eliminate all development work and AI will allow everyone to be a developer cannot both be true. That makes it obvious that at least one of the two claims is either click-bait hyperbole, a reflection of someone completely ignorant about economics or a reflection of someone talking their book to prop up their portfolio.

The most accurate conclusion is that AI is incapable of eliminating ALL "development" work because of unique limitations in probabilistic models based on human languages and written inputs that are inherently imperfect. However, there are enough scenarios in which AI can provide illusions of productivity gains in the short term to lead firms to chase the technology as it evolves. These early adopters will generate bubble dynamics in the market that will continue tempting investors with high growth and punishing those with a poor understanding of exponents and history.


WTH

Friday, August 23, 2024

So What Just Happened?

So what just happened? Not just last night on August 22 at the Democratic National Convention but over the past five weeks since Joe Biden decided to exit the Presidential race for 2024 and cede the campaign to another candidate?

Americans of all political leanings should spend some serious time contemplating that question. It is likely the actual answers are materially different than any conclusion people might have had previously, and certainly different than any conclusion reached immediately after Biden's initial withdrawal. The actual answers might be best analzyed by thinking about four key topics:

  • The Nature of Presidential Power
  • Dynamics of the 2020 Presidential Race
  • The Inter-Generational Balance of Power
  • Timing and Talent

The thesis here builds up sequentially so it will be tackled in that order.


The Nature of Presidential Power

The office of President in American government certainly has unique power, particularly as Commander in Chief in a world dominated by nuclear threats. However, those powers were purposely constrained with numerous checks and balances that limit a President's ability to act unilaterally without obtaining legislative approval or at least political buy-in from Congress or judicial review. (At least, until the current Supreme Court began rejecting two hundred and thirty five years of constitutional precedent by limiting or eliminating entirely Presidential accountability for criminal acts...)

As a result, every Presidency involves a continual trade-off between decisions to exercise those unilateral authorities granted to the office with efforts to cajole the legislative branch and the judiciary to assist. That balancing is easier if a President retains some credible claim to having a mandate from voters. Any such claim decays exponentially as the interval grows between the present and the last election. As a result, the actual power of the President is not a fixed constant over a term or an entire (multi-term) Presidency. Instead, it ebbs and flows, partly based on the interval between the most recent election or the next election and partly based on how the President interacts with the other branches.

This point is CRUCIAL to understand because it underpins WHY decisions to RUN for office in the first place and decisions to run for re-election are so crucial not only to the candidate but to the political parties and We The People. No President will ever run for office a first time and WIN having declared up front they will only serve one term. Why? Because that President will never carry the threat through the first term of running for a second term and using any successes in the first term to trigger more losses for the opposing party. The President's power will be crippled from Day One, as allies and enemies alike begin looking past the current occupant to guess who will be next to curry favor with them or plot around the preferences of the current occupant.

Leaders of both parties know this and would NEVER knowingly allow the selection of a candidate who openly claims to be running for a single term. Party leaders are perpetually looking at the next election and grasp the advantages provided to an incumbent so they would never allow their party to nominate a candidate who openly promises to only serve one term. Equally importantly, any potential candidate with any understanding of the Presidency also knows this and even if they wanted to run for a single term, would likely NOT because such a secret would be impossible to keep and, once exposed, would cripple their power in office.

This is also why significant legislation for challenging issues is virtually NEVER enacted during second Presidential terms. Significant changes to the status quo require defeating powerful lobbies which is usually only possible if a President has first-term clout from winning election and carries the "threat" of winning a second election (mid-terms or the next Presidential election) to extract concessions from the opposition to make something happen.


Dynamics of the 2020 Presidential Race

Based on the above theory of Presidential power, calendars and terms, now contemplate the situation leading up to the 2020 Presidential election. The country had experienced four years of chaos from the Trump Administration, including an impeachment and failure to convict over attempts by Trump to extort a US ally for Trump's political benefit. In exchange for delivery of military gear Congress had already approved for Ukraine to defend against a looming threat from Russia, Trump wanted Ukraine's president to announce criminal investigations into Hunter Biden as a means of smearing Joe Biden who was running for the Democratic nomination for President.

As fate would have it, Trump's fixation on Biden as a possible opponent likely made Biden the front-runner and eventual winner. By the time calendar year 2020 arrived, a pandemic came with it and the country faced a political crisis and a human crisis simultaneously, all amidst a Presidential campaign cycle.

In 2020, all of the candidates who made such impressive appearances at the 2024 DNC convention were available to Democratic primary voters. So why did Biden run away with the Democratic primary race? First, there was no way the Democrat's prior top candidate, Hillary Clinton, was going to run again. When you lose to someone like Trump in a race thought to be a blow-out in your favor and that opponent turns out to be FAR WORSE than most imagined, you don't regain stature, you lose more. Clinton likely would not have won a single primary had she run, purely out of "Clinton fatigue" and lingering anger on the part of Democrats for her having lost to such a flawed candidate in 2016.

The likely reason for the truncated Democratic primary race in 2020 was likely due to a hope on the part of Democratic Party leaders that avoiding a contentious primary season lasting through June would make the selected candidate appear stronger and a more inevitable victor against Trump, helping to focus spending on efforts to defeat Trump rather than winning an intra-party war that generated fodder to Republicans to use against the winner in the general election. Ooooooookay..... But why BIDEN?

Despite leading polls throughout 2019, Biden actually performed below expectations in the first three contests in Iowa, New Hampshire and Nevada. Only after winning the South Carolina primary did Biden's arc swing positive, curiously after doubts about Bernie Sanders' age began to take root. Biden was 77 years old at the outset of the campaign. That was "old" even by 2020 standards. By Super Tuesday on March 3, 2020, Biden won 10 of the 15 primaries and Bernie Sanders bowed out a month later, essentially ceding all remaining primaries to Biden.

Certainly, the mix of candidate preferences in the first three states could have been an anomaly and Biden might have always been situated to run away with the race once voting covered more states. However, the country was one month deeper into the pandemic by March 3 as well. Deaths in the US did not begin spiking until later in March but cases and hospitalizations were already growing exponentially. News from other countries confirmed the impacts headed to the US and the US response was already becoming highly politicized and confusing.

Did Democratic primary voters pick up on those omens and internally decide "to hell with politics, let's just pick an adult and get this part of the process out of the way so we can focus on beating Trump?" If that logic affected votes on Super Tuesday, those voters clearly did NOT contemplate the prior analysis about the essence of Presidential power, terms and age. To voters, Biden appeared mentally and physically healthy and that was enough at the time. But more importantly, it isn't clear how Joe Biden reflected those factors in his decision to enter the race either.

By Biden's account, he decided to enter the race from disgust stemming from Trump's remarks about "good people on both sides" after Nazis organized a Unite the Right protest and triggered riots in Charlottesville, Virginia in August of 2017. At that point, the 2020 election was still three years out. The second term election was still seven years away. The end of that second term was still eleven years away.

Biden might have felt in perfectly good physical and mental shape in 2017, but it is impossible to extrapolate actual health three, seven and eleven years into the future. But it isn't hard to extrapolate OTHER PEOPLE'S possible concerns about your age and acuity if you are already 75 years old. Regardless of how you feel or present, it's clear OTHERS are going to have more concerns when you are in your seventies and eighties over the timeframe involved.


The Inter-Generational Balance of Power

Even prior to Biden's horrendous debate performance in June 2024, the Presidential race was shaping up to be a toss-up, a particularly frustrating prospect for Democratic Party leaders who felt the Biden record could have been performing much better had it been attached to a younger candidate. Arguably, a large number of voters who might otherwise have showed up to support a candidate with that record were disturbingly ambivalent in their support, despite the nature of Trump's candidacy and likely policy directions and a landmark abortion ruling already creating anguish for women across the country.

When Biden faced an incredibly low bar -- beat Trump in a debate -- and completely whiffed and appeared unable to complete thoughts or bat back against such obvious lies, Democratic leaders, Democratic candidates up and down the ballot and potential voters had to throw out all prior calculus and re-evaluate from scratch the state of the election and their strategy going forward.

For some contingent of voters, the debate performance was maddening but it didn't change anything. Their thought process was something like this: In a world where the alternative is Trump and his collection of zeros, I have no problem voting for a Biden / Harris ticket because

  1. an impaired Biden is still not a corrupt Trump and a corrupt Trump is far worse
  2. Trump's mental fitness is demonstrably equally impaired, even ignoring his policy fitness
  3. we have clear lines of succession and that's what they're there for

We'll never know exactly what portion of the total electorate that population was because the forecasted margin of victory in this election was and still is so tight that the concerns of the youngest generation of voters grew to dominate all strategy discussions. That generation was already lukewarm in support of an "old guy." After seeing their "old guy" fail to take down ANOTHER "old guy" from the opposition in what should have been a slam dunk debate, that voting bloc was thought to have become despondent to the point of not showing up, swinging the election to Trump. But not only to Trump, but by not showing up to support down-ticket Democrats in federal and state offices, Democratic Party leaders were concerned about a blowout. A blowout that would hurt the country for sure but HURT CURRENT DEMOCRATIC OFFICE HOLDERS as well. Clearly, something must be done.

That fear makes some sense. The youngest generation of voters are routinely stereotyped as being ignorant of basic political processes, appallingly ignorant of history (civil rights, voting rights, labor rights), and blithely unconcerned with anything not involving their social media feeds. But is that true? Despite predictions of a "red wave" in the 2022 midterms, Democrats regained control of the Senate and the House flipped symmetrically, going from a 220/212 Democratic majority in 2020 to a 222/213 Republican majority in 2022. Not only was it NOT a blowout, but the 2012 mid-term election was one of the four best mid-term outcomes as measured by net seats gained/lost in the last one hundred years.

It appears as though any discussion conducted by Biden with those advising him within his family, his campaign strategists and from the Democratic party must have focused on the supposed correlation between age, apathy and fear. Were younger voters now so turned off by their option at the top they would stay away? Were younger voters so blase about the choice at the top they just couldn't be bothered to vote? Or were younger voters still able to parse the existential issues regarding elections, abortion rights, voting rights, assault weapon protections and climate change that they would still show up and vote Democratic?

Timing and Talent

In hindsight, it appears concerns over inter-generational apathy drove Biden's final decision. But what led to the decision being made at such a seemingly late, precarious moment in the process? Some have argued Biden has exhibited these limitations his entire term, this should have been obvious the entire time and he should not only NOT have run for re-election but should have resigned or been removed from office.

In one word... NO. The issues demonstrated during the debate have not been consistently obvious throughout his term. First, by any objective measure, the number of major deals enacted into law despite incredible levels of dysfunction in the House and Senate makes it clear Biden has been uniquely / historically effective in his role. Second, Presidents do not spend 100% of their day in adversarial debate mode, having to alternate between listening to random questions and answering in 1 minute sound bytes. Their day is chopped up into dozens of short interactions and meetings to be sure but the agenda and topics are known in advance. This optimizes the use of EVERYONE'S time. The President can read the prep material BEFORE the meeting to avoid wasting the staff's time coming up to speed and "context switching" while equally busy staff twiddle their thumbs. The President's senior staff can ensure participants did their homework BEFORE the meeting to avoid wasting the President's time with insufficient material. It is an equally chaotic and mentally taxing mode of communication and existence but still vastly different from debating.

It is possible that neither Biden nor his staff recognized his acuity gap for debate performances until the date of the first debate had been set and actual debate preparations began. That would have been mid May 2024. And it might have been later or never if his June appearance was a uniquely acute "senior moment". We'll never know until the memoirs and tell-all books start getting published.

But again, what was the final piece of information or final chat that drove Biden to exit the campaign? It is impossible to endure a run for the Presidency without an outsized ego. You have to believe you bring something truly unique to the table to tolerate the intrusion of the world's media upon your entire existence for a campaign and subsequent term(s). As long as Biden has been in politics, he had to understand the dynamics of Presidential power outlined previously and the precarious balance between age, tenure in office and electoral viability, both for a President and others on the ballot in the same party.

Did Biden mis-read the tea leaves eleven years out when he decided to run in 2017? Maybe, in hindsight. But maybe not. If the dynamics in 2019 and 2020 were such that only Biden would have motivated voters to defeat Trump, his decision to ENTER the race at that time gave the country four years to try to undo the damage from Trump Round #1. Had Trump won that round, we would likely having much different debates right now about far more dire issues.

Did Biden mis-read the tea leaves in 2023 and 2024 by entering the race and running for re-election? If one assumes issues of old age are linear in progression and equally obvious across all areas of activity, maybe he did, in hindsight. But maybe not. Again, legislatively, Biden has accomplished much for his party and its voters in his first term. Had he bowed out in 2023, the paralysis in the House and Senate would be worse, as Republicans hunkered down to avoid wasting time with a lame duck President. While Congress hasn't accomplished anything regarding immigration, assault weapons, etc., it has at least been able to renew military aid to Ukraine and avoid possible defaults from budget battles that would trigger billions per day in additional interest payments on the national debt.

Did Biden do the right thing, considering all facts in evidence available AFTER his poor debate performance? What were the facts in evidence?

  • drop in campaign donations from big donors
  • drop in "energy" among core democrats and young voters
  • a race that was falling below statistical tie thresholds in swing states
  • press coverage fixated on concerns about HIS acuity but not Trump's
  • little sign of policy dissatisfaction, with the possible exception of Gaza

And clearly, Biden had one more fact in evidence in front of him that the majority of the press, the party, the opponents and the voting public were NOT clear on. Biden understood the human asset available in Kamala Harris. The press and public at large thought Kamala had failed to impress as VP. Of course, this ignores the reality that the Constitutional duties of a Vice President are explicitly and intentionally dull to ensure the President slash Commander in Chief has undiluted authority in exercising those powers assigned to the President. There's no "co-Presidenting." And no President with an ego sufficient to trigger a run for office would tolerate a Vice President grabbing the spotlight.

Biden clearly understood her communication abilities, her policy preferences and her resume enough to understand that if he had to exit the race, she was as perfect as anyone could hope for in a replacement candidate. She held the same core positions, had a background as DA and Attorney General to compete on "law and order" issues, had case activity that also cemented her focus on economic issues and was a far better communicator than most realized. And let's not forget, from a state and federal election law standpoint, her name was already on all campaign account balances and she was co-ticket resident on primary ballots and WOULD have a legitimate claim to delegates. And finally, let's also not forget that having the existing VP take over the race rather than some prominent Governor or Senator means no existing role held by a Democrat would be vacated, requiring a replacement candidate or backfill appointment that might trigger other strategic difficulties at the federal or state level.

One additional bit of insight in hindsight from after the convention is that Biden's decision to exit achieved TWO crucial goals. It not only communicated to that fickle demographic that even though they may have thought Biden was a old fogie and didn't get it, he DID get it. He DID "get them" and understood their concerns about him and their issues and reacted accordingly, putting THEIR priorities above his ego. But with the convention in the rear-view mirror, this change also demonstrated to liberal and independent voters how phenomenally deep and YOUNG the Democratic bench is.

Rather than a four night chaotic brawl focused on PARTY issues, the public had four nights to watch a parade of young, upcoming leaders expressing with laser like clarity their support for issues the public cares about. I could easily pick out five or six names that would be equally popular to that same fickle demographic and be solid Presidential candidates TODAY. There were probably three or four more that will reach that point in another eight to twelve years.

Contrast that with any Republican with name recognition today. Cruz? Hawley? Graham? Johnson? Greene? Boebert? DeSantis? Abbot? The only person active in the current Republican Party I could see having the character to compete in a Presidential run would be Georgia Secretary of State Brad Raffensperger. Geoff Duncan? Adam Kinzinger? Sure, but they are no longer holding office as Republicans. John Giles? Sure, but he is mayor of Mesa, Arizona and has zero national profile.

The impact on enthusiasm from these "fickle voters" getting to see the larger bench and seeing the party didn't just swap out one figurehead while the rest remains sclerotic cannot be underestimated, both for the 2024 election and beyond.

Biden saw the political challenge, (finally) assessed it correctly, saw the talent available and made a historic decision. Again, we won't know if it produced the desired result until November but part of the history is already crystal clear. Joe Biden made an incredibly selfless decision and will be remembered and commended for it far into the future.


WTH

Monday, August 19, 2024

A Missed Opportunity - Abortion

In night #1 of the Democratic National Convention, the prime time agenda devoted a segment allowing three different individuals to share their personal stories regarding the impact of abortion bans on women's freedom and health. The stories were very effective at conveying the stupidity and cruelty of abortion bans but the presentation missed an opportunity to make a crucial point regarding the election. The summary tying the three threads together made the point that voting for Kamala Harris is the lynchpin to toppling the state-level abortion bans that have blocked access to critical care for a third of all American women.

That's not actually the case.

The premise of that simplification is that if Harris gets elected, when a bill establishing nationwide abortion rights is passed, she will sign it and the issue is solved.

That's not remotely the case. The manner in which Roe v Wade was overturned was such that it not only threw the issue back to state control, it altered the logical basis by which any future abortion related law would be decided from a mode where the right was presumed (and a case needed to justify why it should be eliminated) to a mode where the existance of the right is NOT the default assumption (and re-establishing it requires finding a constitutional basis). That means ENSURING abortion rights can be re-instituted and retained requires:

  1. winning control of the House
  2. winning 60% control of the Senate to avert filibusters
  3. winning the White House
  4. enacting changes to essentially pack the court with at least four additional justices

Why? Because even if Democrats managed to pull off #1, #2 and #3 and enact a bill that gets signed by President Harris, that law will trigger IMMEDIATE lawsuits that will rocket up the appeals court docket to the US Supreme Court which will immediately rule that the new law is unconstitutional. On what grounds? I have no idea. And frankly, the six existing justices that gave us the abhorrent ruling in 2022 have no idea either. But they will find it. Logic and precedent have nothing to do with the decision, just like they had nothing to do with their 2022 decision.

That means unless the next President has enough of a majority in the Senate to avoid filibusters to enact legislation and prevent filibusters of USSC nominations, nothing will likely change with the current status of abortion rights in America. Possibly for another 20-30 years until the newest justices appointed by Trump age out and exit the bench. That's how legally and politically dire the abortion sitation is in America right now. There's no sugar-coating it.

That means for those focused on the issue of abortion, this isn't a simple decision to vote for Kamala and you're done. Work is required in every US House and US Senate race. And not just in 2024. Focus is required for every House and Senate race until those majorities can be attained.


WTH