Make sure to read Nicholas Nethercote’s Twenty years of Valgrind to learn about the early days, Valgrind “skins”, the influence Valgrind had on raising the bar when it comes to correctness for C and C++ programs, and why a hacker on the Rust programming language still uses Valgrind.
Last week, my Roosevelt colleague Mike Konczal said on twitter that he endorsed the Fed’s decision to raise the federal funds rate, and the larger goal of using higher interest rates to weaken demand and slow growth. Mike is a very sharp guy, and I generally agree with him on almost everything. But in this case I disagree.
How come? Rather than explaining on Twitter (which is great for sharing interesting material, but not ideal for sustained argument) I’ve written this rather long post.
The disagreement may partly be about the current state of the economy. I personally don’t think the inflation we’re seeing reflects any general “overheating.” I don’t think there’s any meaningful sense in which current employment and wage growth are too fast, and should be slower. But at the end of the day, I don’t think Mike’s and my views are very different on this. The real issue is not the current state of the economy, but how much confidence we have in the Fed to manage it.
So: Should the Fed be raising rates to control inflation? The fact that inflation is currently high is not, in itself, evidence that conventional monetary policy is the right tool for bringing it down. The question we should be asking, in my opinion, is not, “how many basis points should the Fed raise rates this year?” It is, how conventional monetary policy affects inflation at all, at what cost, and whether it is the right tool for the job. And if not, what should we be doing instead?
AtPowell’s press conference, Chris Rugaber of the AP asked an excellent question: What is the mechanism by which a higher federal funds rate is supposed to bring down inflation, if not by raising unemployment?1 Powell’s answer was admirably frank: “There is a very, very tight labor market, tight to an unhealthy level. Our tools work as you describe … if you were moving down the number of job openings, you would have less upward pressure on wages, less of a labor shortage.”
Powell is clear about what he is trying to do. If you make it hard for businesses to borrow, some will invest less, leading to less demand for labor, weakening workers’ bargaining power and forcing them to accept lower wages (which presumably get passed on to prices, tho he didn’t spell that step out.) If you endorse today’s rate hikes, and the further tightening it implies, you are endorsing the reasoning behind it: labor markets are too tight, wages are rising too quickly, workers have too many options, and we need to shift bargaining power back toward the bosses.
Rather than asking exactly how fast the Fed should be trying to raise unemployment and slow wage growth, we should be asking whether this is the only way to control inflation; whether it will in fact control inflation; and whether the Fed can even bring about these outcomes in the first place.
Both hiring and pricing decisions are made by private businesses (or, in a small number of cases, in decentralized auction markets.) The Fed can’t tell them what to do. What it can do – what it is doing – is raise the overnight lending rate between banks, and sell off some part of the mortgage-backed securities and long-dated Treasury bonds that it currently holds.
A higher federal funds rate will eventually get passed on to other interest rates, and also (and perhaps more importantly) to credit conditions in general — loan standards and so on. Some parts of the financial system are more responsive to the federal funds rate than others. Some businesses and activities are more dependent on credit than others.
Higher rates and higher lending standards will, eventually, discourage borrowing. More quickly and reliably, they will raise debt service costs for households, businesses and governments, reducing disposable income. This is probably the most direct effect of rate hikes. It still depends on the degree to which market rates are linked to the policy rate set by the Fed, which in practice they may not be. But if we are looking for predictable results of a rate hike, higher debt service costs are one of the best candidates. Monetary tightening may or may not have a big effect on unemployment, inflation or home prices, but it’s certainly going to raise mortgage payments — indeed, the rise in mortgage rates we’ve seen in recent months presumably is to some degree in anticipation of rate hikes.
(As an aside, it’s worth noting that a significant and rising part of recent inflation is owners’ equivalent rent, which is a survey-based measure of how much homeowners think they could rent their home for. It is not a price paid by anyone. Meanwhile, mortgage payments, which are the main housing cost for homeowners, are not included in the CPI. It’s a bit ironic that in response to a rise in a component of “housing costs” that is not actually a cost to anyone, the Fed is taking steps to raise what actually is the biggest component of housing costs.)
Finally, a rate hike may cause financial assets to fall in value — not slowly, not predictably, but eventually. This is the intended effect of the asset sales.
Asset prices are very far from a simple matter of supply and demand — there’s no reason to think that a small sale of, say 10-year bonds will have any discernible effect on the corresponding yield (unless the Fed announces a target for the yield, in which case the sale itself would be unnecessary.) But again, eventually, sufficient rate hikes and asset sales will presumably lead asset prices to fall. When they do fall, it will probably by a lot at once rather than a little at a time – when assets are held primarily for capital gains, their price can continue rising or fall sharply, but it cannot remain constant. If you own something because you think it will rise in value, then if it stays at the current price, the current price is too high.
Lower asset values in turn will discourage new borrowing (by weakening bank balance sheets, and raising bond yields) and reduce the net worth of households (and also of nonprofits and pension funds and the like), reducing their spending. High stock prices are often a major factor in periods of rising consumption,like the 1990s; a stock market crash could be expected to have the opposite impact.
What can we say about all these channels? First, they will over time lead to less spending in the economy, lower incomes, and less employment. This is how hikes have an effect on inflation, if they do. There is no causal pathway from rate hikes to lower inflation that doesn’t pass through reduced incomes and spending along the way. And whether or not you accept the textbook view that the path from demand to prices runs via unemployment wage growth, it is still the case that reduced output implies less demand for labor, meaning slower growth in employment and wages.
That is the first big point. There is no immaculate disinflation.
Second, rate hikes will have a disproportionate effect on certain parts of the economy. The decline in output, incomes and employment will initially come in the most interest-sensitive parts of the economy — construction especially. Rising rates will reduce wealth and income for indebted households. 2. Over time, this will cause further falls in income and employment in the sectors where these households reduce spending, as well as in whatever categories of spending that are most sensitive to changes in wealth. In some cases, like autos, these may be the same areas where supply constraints have been a problem. But there’s no reason to think this will be the case in general.
It’s important to stress that this is not a new problem. One of the things hindering a rational discussion of inflation policy, it seems to me, is the false dichotomy that either we were facing transitory, pandemic-related inflation, or else the textbook model of monetary policy is correct. But as the BIS’s Claudio Borio and coauthors notein a recent article, even before the pandemic, “measured inflation [was] largely the result of idiosyncratic (relative) price changes… not what the theoretical definition of inflation is intended to capture, i.e. a generalised increase in prices.” The effects of monetary policy, meanwhile, “operate through a remarkably narrow set of prices, concentrated mainly in the more cyclically sensitive service sectors.”
These are broadly similar results to a2019 paper by Stock and Watson, which finds that only a minority of prices show a consistent correlation with measures of cyclical activity.3 It’s true that in recent months, inflation has not been driven by auto prices specifically. But it doesn’t follow that we’re now seeing all prices rising together. In particular, non-housing services (which make up about 30 percent of the CPI basket) are still contributing almost nothing to the excess inflation. Yet, if you believe the BIS results (which seem plausible), it’s these services where the effects of tightening will be felt most.
The third point is that all of this takes time. It is true that some asset prices and market interest rates may move as soon as the Fed funds rate changes — or even in advance of the actual change, as with mortgage rates this year. But the translation from this to real activity is much slower. The Fed’s ownFRB/US model says that the peak effect of a rate change comes about two years later; there are significant effects out to the fourth year. What the Fed is doing now is, in an important sense, setting policy for the year 2024 or 2025. How confident should we be about what demand conditions will look like then? Given how few people predicted current inflation, I would say: not very confident.
This connects to the fourth point, which is that there is no reason to think that the Fed can deliver a smooth, incremental deceleration of demand. (Assuming we agreed that that’s what’s called for.) In part this is because of the lags just mentioned. The effects of tightening are felt years in the future, but the Fed only gets data in real time. The Fed may feel they’ve done enough once they see unemployment start to rise. But by that point, they’ll have baked several more years of rising unemployment into the economy. It’s quite possible that by the time the full effects of the current round of tightening are felt, the US economy will be entering a recession.
This is reinforced when we think about the channels policy actually works through. Empirical studies of investment spending tend to find that it is actually quite insensitive to interest rates. The effect of hikes, when it comes, is likelier to be through Minskyan channels — at some point, rising debt service costs and falling asset values lead to a cascading chain of defaults.
A broader reason we should doubt that the Fed can deliver a glide path to slower growth is that the economy is a complex system, with both positive and negative feedbacks; which feedbacks dominate depends on the scale of the disturbance. In practice, small disturbances are often self-correcting; to have any effect, a shock has to be big enough to overcome this homeostasis. Axel Leijonhufvudlong ago described this as a “corridor of stability”: economic units have buffers in the form of liquid assets and unused borrowing capacity, which allow them to avoid adjusting expenditure in response to small changes in income or costs. This means the Keynesian multiplier is small or zero for small changes in autonomous demand. But once buffers start to get exhausted, responses become much larger, as the income-expenditure positive feedback loop kicks in.
The most obvious sign of this is the saw-tooth pattern in long-run series of employment and output. We don’t see smooth variation in growth rates around a trend. Rather, we see two distinct regimes: extended periods of steady output and employment growth, interrupted by shorter periods of negative growth. Real economies experience well-defined expansions and recessions, not generic “fluctuations”.
This pattern is discussed in a very interesting recent paper by Antonio Fatas,“The Elusive State of Full Employment.” The central observation of the paper is that whether you measure labor market slack by the conventional unemployment rate or in some other way (the detrended prime-age employment-population ratio is his preferred measure), the postwar US does not show any sign of convergence back to a state of full employment. Rather, unemployment falls and employment rises at a more or less constant rate over an expansion, until it abruptly gives way to a recession. There are no extended periods in which (un)employment rates remain stable.
One implication of this is that the economy spends very little time at potential or full employment; indeed, as he says, the historical pattern should raise questions whether a level of full employment is meaningful at all.
the results of this paper also cast doubt on the empirical relevance of the concepts of full employment or the natural rate of unemployment. … If this interpretation is correct, our estimates of the natural rate of unemployment are influenced by the length of expansions. As an example, if the global pandemic had happened in 2017 when unemployment was around 4.5%, it is very likely that we would be thinking of unemployment rates as low as 3.5% as unachievable.
There are many ways of arriving at this same point. For example, he finds that the (un)employment rate at the end of an expansion is strongly predicted by the rate at the beginning, suggesting that what we are seeing is not convergence back to an equilibrium but simply a process of rising employment that continues until something ends it.
Another way of looking at this pattern is that any negative shock large enough to significantly slow growth will send it into reverse — that, in effect, growth has a “stall speed” below which it turns into recession. If this weren’t the case, we would sometimes see plateaus or gentle hills in the employment rate. But all we see are sharp peaks.
In short: Monetary policy is an anti-inflation tool that works, when it does, by lowering employment and wages; by reducing spending in a few interest-sensitive sectors of the economy, which may have little overlap with those where prices are rising; whose main effects take longer to be felt than we can reasonably predict demand conditions; and that is more likely to provoke a sharp downturn than a gradual deceleration.
One reason I don’t think we should be endorsing this move is that we shouldn’t be endorsing the premise that the US is facing dangerously overnight labor markets. But the bigger reason is that conventional monetary policy is a bad way of managing the economy, and entails a bad way of thinking about the economy. We should not buy into a framework in which problems of rising prices or slow growth or high unemployment get reduced to “what should the federal funds rate do?”
Let’s come at this another way. Rents are rising rapidly right now — at an annual rate of about 6 percent as measured by the CPI. And there is reason to think that this number understates the increase in market rents and will go up rather than down over the coming year. This is one factor in the acceleration of inflation compared with 2020, when rents in most of the country were flat or falling. (Rents fell almost 10 percent in NYC during 2020, perZillow.) The shift from falling to rising rents is an important fact about the current situation. But rents were also rising well above 2 percent annually prior to the pandemic. The reason that rents (and housing prices generally) rise faster than most other prices generally, is that we don’t build enough housing. We don’t build enough housing for poor people because it’s not profitable to do so; we don’t build enough housing for anyone in major cities because land-use rules prevent it.
Rising rents are not an inflation problem, they are a housing problem. The only way to deal with them is some mix of public money for lower-income housing, land-use reform, and rent regulations to protect tenants in the meantime. Higher interest rates will not help at all — except insofar as, eventually, they make people too poor to afford homes.
Or energy costs. Energy today still mostly means fossil fuels, especially at the margin. Both supply and demand are inelastic, so prices are subject to large swings. It’s a global market, so there’s not much chance of insulating the US even if it is “energy independent” in net terms. The geopolitics of fossil fuels means that production is both vulnerable to interruption from unpredictable political developments, and subject to control by cartels.
The long run solution is, of course, to transition as quickly as possible away from fossil fuels. In the short run, we can’t do much to reduce the cost of gasoline (or home heating oil and so on), but we can shelter people from the impact, by reducing the costs of alternatives, like transit, or simply by sending them checks. (The California state legislature’s plan seems like a good model.) Free bus service will help both with the short-term effect on household budgets and to reduce energy demand in the long run. Raising interest rates won’t help at all — except insofar as, eventually, they make people too poor to buy gas.
These are hard problems. Land use decisions are made across tens of thousands of local governments, and changes are ferociously opposed by politically potent local homeowners (and some progressives). Dependence on oil is deeply baked into our economy. And of course any substantial increase in federal spending must overcome both entrenched opposition and the convoluted, anti-democratic structures of our government, as we have all been learning (again) this past year.
These daunting problems disappear when we fold everything into a price index and hand it over to the Fed to manage. Reducing everything to the core CPI and a policy rule are a way of evading all sorts of difficult political and intellectual challenges. We can also then ignore the question how, exactly, inflation will be brought down without costs to the real economy, and how to decide if these costs are worth it. Over here is inflation; over there are the maestros with their magic anti-inflation device. All they have to do is put the right number into the machine.
It’s an appealing fantasy – it’s easy to see why people are drawn to it. But it is a fantasy.
A modern central bank, sitting at the apex of the financial system, has a great deal of influence over markets for financial assets and credit. This in turn allows it to exert some influence — powerful if often slow and indirect — on production and consumption decisions of businesses and households. Changes in the level and direction of spending will in turn affect the pricing decisions of business. These effects are real. But they are no different than the effects of anything else — public policy or economic developments — that influence spending decisions. And the level of spending is in turn only one factor in the evolution of prices. There is no special link from monetary policy to aggregate demand or inflation. It’s just one factor among others — sometimes important, often not.
Yes, a higher interest rate will, eventually reduce spending, wages and prices. But many other forces are pushing in other directions, and dampening or amplifying the effect of interest rate changes. The idea that there is out there some “r*”, some “neutral rate” that somehow corresponds to the true inter temporal interest rate — that is a fairy tale.
Nor does the Fed have any special responsibility for inflation. Once we recognize monetary policy for what it is — one among many regulatory and tax actions that influence economic rewards and incomes, perhaps influencing behavior — arguments for central bank independence evaporate. (Then again, theydid not make much sense to begin with.) And contrary to widely held belief, the Fed does not have a legal responsibility for inflation or unemployment.
That last statement might sound strange, given that we are used to talking about the Fed’s dual mandate. But as Lev Menand points out in an important recent intervention, the legal mandate of the Fed has been widely misunderstood. What the Federal Reserve Act charges the Fed with is “maintain[ing the] long run growth of the monetary and credit aggregates commensurate with the economy’s long-run potential to increase production, so as to promote effectively the goals of maximum employment, stable prices, and moderate long-term interest rates.”
There are two things to notice here. First, the bolded phrase: The Fed’s mandate is not to maintain price stability or full employment as such. It is to prevent developments in the financial system that interfere with them. This is not the same thing. And as Menand argues (in the blog post and at more lengthelsewhere), limiting the Fed’s macroeconomic role to this narrower mission was the explicit intent of the lawmakers who wrote the Fed’s governing statutes from the 1930s onward.
Second, price stability, maximum employment and moderate interest rates (an often forgotten part of the Fed’s mandate) are not presented as independent objectives, but as the expected consequences of keeping credit growth on a steady path. As Menand writes:
The Fed’s job, as policymakers then recognized, was not to combat inflation—it was to ensure that banks create enough money and credit to keep the nation’s productive resources fully utilized…
This distinction is important because there are many reasons that, in the short-to-medium term, the economy might not achieve full potential—as manifested by maximum employment, price stability, and moderate long-term interest rates. And often these reasons have nothing to do with monetary expansion, the only variable Congress expected the Fed to control. For example, supply shortages of key goods and services can cause prices to rise for months or even years while producers adapt to satisfy changing market demand. The Fed’s job is not to stop these price rises—even if policymakers might think stopping them is desirable—just as the Fed’s job is not to … lend lots of money to companies so that they can hire more workers. The Fed’s job is to ensure that a lack of money and credit created by the banking system—an inelastic money supply—does not prevent the economy from achieving these goals. That is its sole mandate.
As Menand notes, the idea that the Fed was directly responsible for macroeconomic outcomes was a new development in the 1980s, an aspect of the broader neoliberal turn that had no basis in law. Nor does it have any good basis in economics. If a financial crisis leads to a credit crunch, or credit-fueled speculation develops into an asset bubble, the central bank can and should take steps to stabilize credit growth and asset prices. In doing so, it will contribute to the stability of the real economy. But when inflation or unemployment come from other sources, conventional monetary policy is a clumsy, ineffectual and often destructive way of responding to them.
There’s a reason that the rightward turn in the 1980s saw the elevation of central banks as the sole custodians of macroeconomic stability. The economies we live in are not in fact self-regulating; they are subject to catastrophic breakdowns of various forms, and even when they function well, are in constant friction with their social surroundings. They require active management. But routine management of the economy — even if limited to the adjustment of the demand “thermostat,” in Samuelson’s old metaphor — both undermine the claim that markets are natural, spontaneous and decentralized, and opens the door to a broader politicization of the economy. The independent central bank in effect quarantines the necessary economic management from the infection of democratic politics.
The problem is, there is a basic conflict between the expansive conception of the central bank’s responsibilities and the narrow definition of what it actually does. The textbooks tell us that monetary policy is the sole, or at least primary, tool for managing output, employment and inflation (and in much of the world, the exchange rate); and that it is limited to setting a single overnight interest rate according to a predetermined rule. These two ideas can coexist comfortably only in periods of tranquility when the central bank doesn’t actually have to do anything.
Coming back to the present: The reason I think it is wrong to endorse the Fed’s move toward tightening is not that there’s any great social benefit to having an overnight rate on interbank loans of near 0. I don’t especially care whether the federal funds rate is at 0.38 percent or 1.17 percent next September. I don’t think it makes much difference either way. What I care about is endorsing a framework that commits us to managing inflation by forcing down wages, one that closes off discussion of more progressive and humane — and effective! — ways of controlling inflation. Once the discussion of macroeconomic policy is reduced to what path the federal funds rate should follow, our side has already lost, whatever the answer turns out to be.
Mike notes that the current situation is different from the end of 2015, the last time the Fed started raising rates. This is true. Headline unemployment is now at 3.8 percent, compared with 5 percent when the Fed began hiking in 2015. The prime-age employment rate was also about a point lower then than now. But note also that in 2015 the Fedthought the long-run unemployment rate was 4.9 percent. So from their point of view, we were at full employment. (The CBO, which had the long-run rate at 5.3 percent, thought we’d already passed it.) It may be obvious in retrospect (and to some of us in the moment) that in late 2015 there was still plenty of space for continued employment growth. But policymakers did not think so at the time.
More to the point, inflation then was much lower. So, ok, yes, if inflation control is the Fed’s job, then the case for raising rates is much stronger now than it was in December 2015. And while I am challenging the idea that this should be the Fed’s job, obviously most people think that it is. I’m not upset or disappointed that Powell is moving to hike rates now, or is justifying it in the way that he is. Anyone who could plausibly be in that position would be doing the same.
So let’s say a turn toward higher rates was less justified in 2015 than it is today. Here’s the thing: Did it matter? If you look at employment growth over the 2010s, it’s a perfectly straight line — an annual rate of 1.2 percent, month after month after month. If you just looked at the employment numbers, you’d have no idea that the the Fed was tightening over 2016-2018, and then loosening in the second half of 2019. This doesn’t, strictly speaking, prove that the tightening had no effect. But that’s certainly the view favored by Occam’s razor. The Fed, fortunately, did not tighten enough to tip the economy into recession. So it might as well not have tightened at all.
The problem in 2015, or 2013, or 2011, the reason we had such a long and costly jobless recovery, was not that someone at the Fed put the wrong parameter into their model. It was not that the Fed made the wrong choices. It was that the Fed did not have the tools for the job.
Honestly, it’s hard for me to see how anyone who’s been in these debates over the past decade could believe that the Fed has the ability to steer demand in any reliable way. The policy rate was at zero for six full years. The Fed was trying their best! Certainly the Fed’s response to the 2008 crisis was much better than the fiscal authorities’. So for that matter was the ECB’s, once Draghi took over from Trichet. 4 The problem was not that the central bankers weren’t trying. The problem was that having the foot all the way down on the monetary gas pedal turned out not to do much.
As far as I can tell, modern US history offers exactly one unambiguous case of successful inflation control via monetary policy: the Volcker shock. And there, it was part of a comprehensive attack on labor.
It is true that recessions since then have consistently seen a fall in inflation, and have consistently been preceded by monetary tightenings. So you could argue that the Fed has had some inflation-control successes since the 1980s, albeit at the cost of recessions. Let’s be clear about what this entails. To say that the Fed was responsible for the fall in inflation over 2000-2002, is to say that the dot-com boom could have continued indefinitely if the Fed had not raised rates.
Maybe it could have, maybe not. But whether or not you want to credit (or blame) the Fed for some or all of the three pre-pandemic recessions, what is clear is that there are few if any cases of the Fed delivering slower growth and lower inflation without a recession.
According to Alan Blinder (who should know), since World War II the Fed has achieved a soft landing in exactly two out of 11 tightening cycles, most recently in 1994. In that case, it’s true, higher rates were not followed by a recession. But nor were they followed by any discernible slowdown in growth. Output and employment grew even faster after the Fed started tightening than before. As for inflation, it did come down about two years later, at the end of 1996 – at exactly the same moment as oil prices peaked. And came back up in 1999, at exactly the moment when oil prices started rising again. Did the Fed do that? It looks to me more like 2015 – a tightening that stopped in time to avoid triggering a recession, and instead had no effect. But even if we accept the 1994 case, that’s one success story in 50 years. (Blinder’s other soft landing is 1966.)
I think this is the heart of my disagreement with Mike: whether it’s reasonable to think the Fed can adjust the “angle of approach” to a higher level of employment. I don’t think history gives us much reason to believe that they can. There are people who think that a recession, or at least a much weaker labor market, is the necessary cost of restoring price stability. That’s not a view I share, obviously, but it is intellectually coherent. The view that the Fed can engineer a gentle cooling that will bring down inflation while employment keeps rising, on the other hand, seems like wishful thinking.
That said, of the two realistic outcomes of tightening – no effect, or else a crisis – I think the first is more likely, unless they move quite a bit faster than they are right now.
So what’s at stake then? If the Fed is doing what anyone in their position would do, and if it’s not likely to have much impact one way or another, why not make some approving noises, bank the respectability points, and move on?
I think that it’s a mistake to endorse or support monetary tightening. I’ll end this long post by summarizing my reasons. But first, let me stress that a commitment to keeping the federal funds rate at 0 is not one of those reasons. If the Fed were to fix the overnight rate at some moderate positive level and leave it there, I’d have no objection. In the mid-19th century, the Bank of France kept its discount rate at exactly 4 percent for something like 25 years. Admittedly 4 percent sounds a little high for the US today. But a fixed 2 percent for the next 25 years, I could sign on to.
There are three reasons I think endorsing the Fed’s decision to hike is a mistake. First, most obviously, there is the risk of recession. If rates were at 2 percent today, I would not be calling for them to be cut. But raising them is a different story. Last week’s hike is no big deal in itself, but there will be another, and another, and another. I don’t know where the tipping point is, where hikes inflict enough financial distress to tip the economy into recession. But neither does the Fed. The faster they go, the sooner they’ll hit it. And given the long lags in monetary transmission, they probably won’t know until it’s too late. People are talking a lot lately about wage-price spirals, but that is far from the only positive feedback in a capitalist economy. Once a downturn gets started, with widespread business failures, defaults and disappointed investment plans, it’s much harder to reverse it than it would have been to maintain growth.
I think many people see trusting the Fed to deal with inflation as the safe, cautious position. But the fact that a view is widely held doesn’t mean it is reasonable. It seems to me that counting on the Fed to pull off something that they’ve seldom if ever succeeded at before is not safe or cautious at all.5 Those of us who’ve been critical of rate hikes in the past should not be too quick to jump on the bandwagon now. There are plenty of voices calling on the Fed to move faster. It’s important that there also be some saying, slow down.
Second, embracing rate hikes validates the narrative that inflation is now a matter of generalized overheating, and that the solution has to be some form of across-the-board reduction in spending, income and wages. The orthodox view is that low unemployment, rising wages, and stronger bargaining power for workers are in themselves serious problems that need to be fixed. Look at how the news earlier this week of record-low unemployment claims got covered: It’s a dangerous sign of “wage inflation” that will “raise red flags at the Fed.” Or the constant complaints by employers of “labor shortages” (echoed by Powell last week.) Saying that we want more employment and wage growth, just not right now, feels like trying to split the baby. There is not a path to a higher labor share that won’t upset business owners.
Similarly, if rate hikes are justified, then so must be other measures to reduce aggregate spending. The good folks over at the Committee for a Responsible Federal Budget just put out a piece arguing that student loan forbearance and expanded state Medicare and Medicaid funding ought to be ended, since they are inflationary. And you have to admit there’s some logic to that. If we agree that the economy is suffering from excessive demand, shouldn’t we support fiscal as well as monetary measures to reduce it? A big thing that rate hikes will do is raise interest payments by debtors, including student loan debtors. If that’s something we think ought to happen, we should think so when it’s brought about in other ways too. Conversely, if you don’t want to sign on to the CFRB program, you probably want to keep some distance from Powell.
Third, and finally, I’m concerned that by reinforcing the idea that inflation control is the job of the Fed, signing on to rate hikes undermines the case for measures that actually would help with inflation. Paradoxical as it may sound, one reason it’s a mistake to endorse rate hikes is that rising prices really are a serious problem. High costs of housing and childcare are a major burden for working families. They’re also a major obstacle to broader social goals (more people living in dense cities; a more equal division of labor within the family). Rate hikes move us away from the solution to these problems, not towards it. Most urgently and obviously, they are entirely unhelpful in the energy transition. Tell me if you think this is sensible: “Oil prices are rising, so we should discourage people from developing alternative energy sources”. But that is how conventional monetary policy works.
The Biden administration has been, I think, actually quite good at articulating an alternative vision of inflation control – what some people call a progressive supply-side vision. In the State of the Union, for example, we heard:
We have a choice. One way to fight inflation is to drive down wages and make Americans poorer. I think I have a better idea … Make more cars and semiconductors in America. More infrastructure and innovation in America. …
First, cut the cost of prescription drugs. We pay more for the same drug produced by the same company in America than any other country in the world. Just look at insulin. … Insulin costs about $10 a vial to make. … But drug companies charge … up to 30 times that amount. … Imagine what it’s like to look at your child who needs insulin to stay healthy and have no idea how in God’s name you’re going to be able to pay for it…. Let’s cap the cost of insulin at $35 a month so everyone can afford it.6
Second, cut energy costs for families an average of $500 a year by combating climate change. Let’s provide investment tax credits to weatherize your home and your business to be energy efficient …; double America’s clean energy production in solar, wind and so much more; lower the price of electric vehicles,…
If you’re serious about managing destructive price increases, these are the kinds of policies you should be talking about. The interest rate hike approach is an obstacle to them, both practically and ideologically. A big part of the argument for the progressive supply-side approach to inflation control is that the old approach doesn’t work. Forward or backward? You can’t have it both ways.
The Commodore 1670, also known as the “Modem/1200”, is Commodore’s first Hayes-compatible modem: It connects directly to the phone line and supports pulse and tone dialing for 1200 and 300 baud duplex connections. There were two revisions, the original 1670 and the “new” 1670, a.k.a. CR-1670. (The unit in this article is the later revision.)
connected to phone’s handset connector; manual dialing through phone; Motorola MC14412
connected to phone line, pulse dialing in software
There is a speaker glued to the top shell that allows monitoring the audio data on the line.
The modem comes with a phone cable.
More Box Contents
The Hayes/AT Interface
ATI/ATI0 (product code) prints
ATI1 (ROM checksum) prints
The manual defines registers (ATSn=a, ATSn?) 0-8, 10-12 and 16. Except for 16 (self test), they are identical to other U.S. Robotics modems – as late as the 1997 Sportster Flash x2!
Register 9 is undocumented. Later U.S. Robotics manuals document it as:
Sets the required duration, in tenths of a second, of the remote modem’s carrier signal before recognition by your modem. (default: 6)
On the 1670, register 9 reads back as 6, so it may as well be the same feature.
The registers just seem to map to the 128 bytes of RAM of one of the 80C49 microcontrollers, they wrap around at 128, e.g. 130 is the same as 2. Here is a complete dump after power-on; much of the data may be random, but note the current AT command (S19?) starting at register 0x11 (17):
Like all Bell 212A-compatible modems, when on a 1200 baud call, the data rate between the modem and the C64 is actually 1219 bits/sec. The manual states that it is necessary to specify this manual bitrate when using the KERNAL’s software RS232 implementation:
After two days of debate on the Senate floor, the Democrats’ Hail Mary push for voting rights came up short, as Sens. Kyrsten Sinema and Joe Manchin joined with the GOP to block a rules change to the filibuster. Republican politicians quickly deployed the procedure to squash the John Lewis Voting Rights Advancement Act and the Freedom to Vote Act, the paired bills that aimed, among other things, to stem gerrymandering and voter suppression across the nation.
The defeat of the two bills had been all but inevitable since at least last week, when Sinema announced that she wouldn’t vote to curtail the filibuster to protect voting rights. However, the Democrats did manage to make an impassioned case for the legislation, which they cast as crucial to counter efforts by Republicans to suppress minority votes, gerrymander congressional maps, and even seize control of election boards. In addition, progressives and moderates alike, from Bernie Sanders (I-Vt.) to Amy Klobuchar (D-Minn.), emphasized that the filibuster is an arcane rule, applied selectively to block broadly popular legislation.
Republicans, on the other hand, argued that the Democrats were inventing a crisis and claimed that expanding the right to vote was tantamount to a Democratic power grab.
“This party-line push has never been about securing citizens’ rights,” said Senate Minority Leader Mitch McConnell (R-Ky.). “It’s about expanding politicians’ power.”
The topic of racism loomed over the proceedings: Some of the GOP’s most blatant attempts at gerrymandering have centered on majority-minority districts. One of the most impassioned disagreements occurred between two of the Senate’s Black members: Sens. Cory Booker (D-N.J.) and Tim Scott (R-S.C.), who argued vehemently over whether the GOP’s efforts at voter suppression should be compared to Jim Crow. Scott claimed that the characterization was overblown and offensive, while Booker responded that it was all the more shocking that voter suppression efforts continue in the present day.
The Democrats’ voting rights push may have ended in bitter failure, but the final vote on the filibuster also showed how far Democratic thinking on the procedure has shifted. Forty-eight out of 50 Democratic senators opted for reform, including moderates like Jon Tester (D-Mont.) and Mark Kelly (D-Ariz.), a number that would’ve been unthinkable just a few years ago. This week, Democrats managed to unite progressives and most of their moderates around a new consensus: For the health of democracy, the filibuster must go.
Recently a security hole in a certain open source Java library resulted in a worldwide emergency kerfuffle as, say, 40% of the possibly hundreds of millions of worldwide deployments of this library needed to be updated in a hurry. (The other 60% also needed to be updated in a hurry, but won't be until they facilitate some ransomware, which is pretty normal for these situations.)
I have a 20+ year history of poking fun at Java in this space, and it pains me to stop now. But the truth is: this could have happened to anyone.
What happened was:
Someone wrote a library they thought was neat
They decided to share it with the world for free
Millions of people liked it and used it everywhere
Some contributors contributed some good ideas and, in this case, at least one bad idea
Out of a sense of stewardship, they decided to maintain backward compatibility with the bad idea
The bad idea turned out to have one or more security flaws that affected all the users
The stewards responded quickly with a fix
From this, if you believe the Internet Consensus, we can conclude that open source doesn't work, people don't get paid enough, capitalism is a sham, billionaires are built on the backs of the proletariat, your $50 Patreon donation makes a real difference, and Blorkchain Would Have Solved This.
(Miraculously the Internet Consensus is always the same both before and after these kinds of events. In engineering we call this a "non-causal system" because the outputs are produced before the inputs.)
Nevertheless, I have been dared to take my take on the issue. It, too, was the same before and after, but the difference is I didn't write it down until now, which makes this journal a causal system. You could probably write an interesting philosophical paper about observations of a non-causal system nevertheless being causal, but mercifully, I will not.
Free Software is Communism
So anyway, meandering gently toward the point, let's go back in time to the original Free Software movement. Long ago, before the average reader of this sentence was born, a person whose name is now unpopular was at a university, where they had a printer, and the printer firmware was buggy. This person firmly believed they could quickly fix the printer firmware if only they had the source code. (In the spirit of every "I could do this better in a weekend" story, I'm not sure whether we ever confirmed if this was true. In any case printer firmware is still buggy.)
As a result, they started a nonprofit organization to rewrite all of Unix,
which the printer did not run and which therefore would not solve any of the
original problem, but was a pretty cool project nonetheless and was much more fun
than the original problem, and the rest was history.
This story archetype is the Hero's Journey that inspires all software development:
I have a problem
I do not know how to solve that problem
But I strongly believe, without evidence, that I can solve a generalized version of that problem if I form a large enough team and work at it for 35 years(*)
We are now accepting donations
(*) initial estimate is often less than 35 years
Now, you have probably heard all this before, and if you're a software developer you have probably lived it. This part is not really in question. The burning question for us today, as we enjoy the (hopefully) peak of late-stage capitalism, is: ...but where will the donations come from?
Before we get back onto communism, let me draw an important distinction. Most communist governments in history ended up being authoritarian systems, which is to say, top-down control. Ironically, the people at the top seem to have more power than the people at the bottom, which at first seems like the antithesis of communism. This is not the place to claim an understanding of why that always seems to happen. But one has to acknowledge a pattern when one sees it.
On the other hand, it's easy to find examples of authoritarianism outside communism. Our world is filled with top-down control systems. Many corporations are in many ways, top-down controlled. The US system of government is increasingly top-down controlled (ie. authoritarian), despite the many safety measures introduced early to try to prevent that.
When politicians rail against communism it is because they don't want you to notice the ever-growing non-communist authoritarianism.
Authoritarianism is self-reinforcing. Once some people or groups start having more power, they tend to use that power to adjust or capture the rules of the system so they can accumulate more power, and so on. Sometimes this is peacefully reversible, and sometimes it eventually leads to uprisings and revolutions.
People like to write about facism and communism as if they are opposite ends of some spectrum, but that's not really true in the most important sense. Fascism blatantly, and communism accidentally but consistently, leads to authoritarianism. And authoritarianism is the problem.
Authoritarianism is about taking things from me. Communism, in its noncorporeal theoretical form, is about giving things away.
I read a book once which argued that the problem with modern political discourse is it pits the "I don't want things taken from me" (liberty!) people against the "XYZ is a human right" (entitlement!) people. And that a better way to frame the cultural argument is "XYZ is my responsibility to society."
As a simple example, "Internet access is a human right," is just a sneaky way of saying "someone should give people free Internet." Who is someone? It's left unspecified, which is skipping over the entire mechanism by which we deliver the Internet. It's much more revealing to write, "To live in a healthy society, it's our responsibility to make sure every person has Internet access." Suddenly, oh, crap. The someone is me!
Healthy society is created through constant effort, by all of us, as a gift to our fellow members. It's not extracted from us as a mandatory payment to our overlords who will do all the work.
If there's one thing we know for sure about overlords, it's that they never do all the work.
Free software is a gift.
I would like to inquire about the return policy
Here's the thing about gifts: the sender chooses them, not the recipient. We can have norms around what gifts are appropriate, and agreements to not over-spend, and wishlists, and so on. But I won't always get the exact gift I want. Sometimes I didn't even want a gift. Sometimes the gift interprets JNDI strings in my log messages and executes random code from my LDAP server. This is the nature of gifts.
On the other hand, the best gifts are the things I never would have bought for myself, because they seemed too expensive or I didn't even realize I would like them or they were too much work to obtain, or because someone hand-made them just for me. These feel like luxuries of the sort capitalism cannot produce, because deciding, going out, and buying something for myself isn't luxury, it's everyday. It's lonely. It's a negotiation. It's limited by my own lack of creativity.
The best part of free software is it sometimes produces stuff you never would have been willing to pay to develop (Linux), and sometimes at quality levels too high
to be rational for the market to provide (sqlite).
The worst part of free software is you get what you get, and the developers don't have to listen to you. (And as a developer, the gift recipients aren't always so grateful either.)
Paying for gifts
...does not work.
You don't say to someone, "here's $100, maybe this time get me a gift worth $100 more than you'd regularly spend." It's kind of insulting. It still probably won't get you exactly the thing you wanted. Actually, the other person might just pocket the $100 and run off with it.
We already have a way for you to spend $100 to get the thing you want. It's a market. A market works fine for that. It's not very inspiring, but most of the time it's quite efficient. Even gift-givers will often buy things on the same market, but with a different selection criteria, thus adding value of their own.
When you try to pay for gifts, it turns the whole gift process into a transaction. It stops being a gift. It becomes an inefficient, misdesigned, awkward market.
There's research showing that, for example, financial compensation in a job is more likely a demotivator than a motivator (ie. if you pay me too little, I'll work less hard or quit, but if you double my pay, it won't double my output). If you tie cash compensation to specific metrics, people will game the metrics and usually do an overall worse job. If you pay someone for doing you a favour, they are less likely to repeat the favour. Gifts are inherently socially and emotionally meaningful. Ruin the giftiness, and you ruin the intangible rewards.
So it is with free software. You literally cannot pay for it. If you do, it becomes something else.
This is why we have things like the Linux Foundation, where the idea is you can give a gift because you appreciate and want to support Linux (and ideally you are a rich megacorporation so your gift is very big), but it dilutes the influence of that money through an organization that supposedly will not try to influence the gift of Linux that was already happening. You end up with multiple gift flows in different directions. Money goes here, code goes there. They are interdependent - maybe if one flow slows down the other flow will also slow down - but not directly tied. It's a delicate balance. People who keep receiving Christmas gifts but never give any might eventually stop receiving them. But might not.
Anyway, gifts will not get you 24-hour guaranteed response times to security incidents.
Gifts won't get you guaranteed high quality code reviews.
Gifts will not, for heaven's sake, prevent developers from implementing bad ideas occasionally that turn into security holes. Nothing will. Have you met developers?
I've avoided the term "open source" so far because it means something different from the original idea of Free Software.
Open source was, as I understand it, coined to explain what happened when Netscape originally opened their Mozilla source code, back at the end of the 1990s. That was not a gift. That was a transaction. Or at least, it was intended to be.
The promise of open source was:
You, the company, can still mostly control your project
Customers will still pay you to add new features
Actually customers might pay other people to add new features, but you can still capitalize on it because you get their code too
Linux distributions only package open source code so you'll onboard more customers more easily this way
You can distance yourself from this anti-capitalist gift-giving philosophical stuff that makes investors nervous
Plus a bunch of people will look at the code and find bugs for you for free!
Maybe this sounds cynical, but capitalists are cynical, and you know what? It worked! Okay, not for Netscape Corporation (sorry), but for a lot of other people since then.
It also failed a lot of people. Many developers and companies have been disappointed to learn that just uploading your code to github doesn't make a community of developers appear. (It does make it more likely that AWS will fork your product and make more money from it than you do.) Code reviews are famously rare even in security-critical projects. Supply chain issues are rampant.
In fact, we've now gotten to the point where some people hesitate to give away their source code, mainly because of this confusion of gifts and customers. If I spend some spare time hacking something together on a weekend and give it away, that's a gift. If you yell at me for making it, that makes giving less fun, and I will spend fewer weekends making gifts.
Whereas when a company has a product and open sources it and you complain, that's customers giving valuable feedback and it's worth money to learn from them and service them,
because you eventually earn money in exchange (through whatever business model they've established). No gift necessary.
Call it cynical or call it a win/win relationship. But it's not a gift.
The startup ecosystem
Since the creation of the open source designation 20+ years ago, software startups have taken off more than ever. I attribute this to a combination of factors:
Cloud computing has made it vastly cheaper to get started
Incubators like YCombinator have industrialized the process of assembling and running a small software company
Megacorps have become exponentially richer but no more creative, so they need to acquire or acqui-hire those startups faster and faster in order to grow.
Although a lot of startups open source their code, and they all depend heavily on open source ecosystems, the startup world's motivations are amazingly different from the free software and open source worlds.
Gifts exist in the startup world. They are things like "we were both in YCombinator so I will intro you to this investor I like" or "I got extremely rich so let me invest in your startup and incidentally I get a lottery ticket for becoming even more rich." These absolutely are still gifts. They each strengthen social ties. The startup world is a society, and the society is built up from these gifts. It's a society that largely ignores the trials and tribulations of anyone who isn't a rich software engineer insider, but history has hosted many past societies of that sort and it takes a long time to build and deploy enough guillotines, and anyway they are having fun and producing a lot and surely that counts for something.
If free software gifts are communism and open source is cynically capitalist exploitation, then startups may be, weirdly, the democratization of capitalism.
Hear me out. Big companies don't care what you think; you can't pay them enough to care. Gift givers care only a little what you think; if they gave you what you wanted, if wouldn't be a gift. But startups, well, there are a lot of them and their mantras are "do things that don't scale" and "focus on the customer" and "build rapid feedback loops." What that spells for you is a whole bunch of people who want to give you what you want, in exchange for money, and who are excited to amortize the costs of that over all the other customers who want the same thing.
It's kind of exciting, conceptually, and more self-optimizing than untuned gift giving, and so it's not super surprising to me that it has started to eclipse the earlier concepts of free software and open source. More and more "open" projects are backed by small companies, who have financial incentives to make their users happy because some of the users turn into paying customers. They'll even provide the uptime SLAs and security fix turnaround guarantees you wanted so much. Our company,
Tailscale, is unabashedly one of those. Nothing to be ashamed of there. The system works.
What doesn't work is assuming those startup mechanics apply to everyone out there who gives you a software gift. Not every project on github is the same.
Not everyone has the same motivations.
Giving them money won't change their motivations.
Trying to pay them or regulate them taints the gift.
If you wanted to pay someone to fix some software, you didn't want a gift. You wanted a company.
But if there is no company and someone gave you something anyway? Say thanks.
This isn't where evolution stops. There's a lot more to say about how SaaS taints the unwritten agreement of open source (because you don't have to give back your changes to the code), and how startups tend to go bankrupt and their tech dies with them, and how the best developers are not good at starting companies (no matter how much easier it has become), and how acquiring a startup usually destroys all the stuff they innovated, and how open source is often used as a way to exfiltrate past those kinds of disasters, and how simultaneously, whole promising branches of the "gift economy" structure have never been explored. But that's enough for today. Maybe another time.