This is Jeff Deist, and you're listening to the Human Action Podcast. Ladies and gentlemen, welcome back once again to the Human Action Podcast, the podcast where we are not afraid to read and discuss actual books and to hopefully learn some economics along the way in the process. And I thought this week we might take a little detour in the sense that we are not going to review and discuss the kind of book we normally do, but rather one in which many people in our listenership might find themselves in opposition. And that is Stephanie Keltens, The Deficit Myth, which is kind of the current heavyweight champion in the MMT Modern Monetary Theory School of Thought. Now, this book came out earlier in 2020, and as soon as I saw that it was going to release, I asked our great friend, Bob Murphy, Dr. Robert Murphy, to read the book and provide a review for Mises.org, which he did back in June. It's a thoroughgoing review. It's about 10 pages long. And if you read it, you'll have a really good sense of the book itself, but also the underlying little bit of history and the thinking behind MMT. Now, Bob is particularly suited not only for this review, but also our show today, because he has debated MMT in public forums. He has actually had Warren Mosler, who is one of the modern founders or fathers of MMT on his own podcast. So he understands the back and forth on this. And it really is a fascinating topic. And from my perspective anyway, a bit of a frightening one, because it dovetails, I think, quite well with a lot of the ideological or political movements in this country, which I would characterize as socialist or semi-socialist, and also in the camp of wanting something for nothing. There's an awful lot going around these days at postmodernism, the idea that two plus two might equal five, depending on one's identity or perspective. And so all of this, put it together, creates, I think, a country which might be susceptible to what I would consider false or magical thinking as presented by Ms. Calton, who herself is no firebrand, a relatively likable person, doesn't seem to be angry or full of hate. And so that also might make her book more palatable to the masses. But I'll start with this, Bob. Thanks for your time. And as I went over this book over the weekend on Kindle, it struck me, this is not an academic book. This is almost a book that you could see at an airport. Yeah, exactly. And in the review, that's what I said in the beginning. I kind of made a joke, I'm paraphrasing, but saying there's good news and bad news. The good news is Stephanie Calton has written a very readable, fun book on MMT. The bad news is she's written a very readable, fun book on MMT, meaning that I was when I went into it and saw how inviting it was and punchy and when she has clever little twists and turns here and there's like, oh no, somebody who doesn't have, in my view, a sound background, foundation economics might be easily seduced by this because she presents it in a very fun, quirky way with just enough intellectualism.  But yet, I think very deceptively appealing to people who want the government to spend all kinds of money and not, quote, have to pay for it. Yes. And this is no knock on her. I think she is absolutely smart to write a lay-friendly book or a book actually aimed at a lay audience rather than a technical or academic book. I think she understands the nature of the society we're in, which is based on celebrity and sort of short attention spans and social media. So this is, you know, I think academia is not producing much in terms of, in the public pays attention to, but the public's paying attention to this. Exactly. Right. And I, so I would also, just as a warning, like to Austrian, Austrians and libertarian listeners who might be tempted to dismiss this book and say, oh, come on, MMT, that's for idiots or whatever I'm saying, really in Stephanie Kellan's hands, she does a good enough job where I realized like, that's what you mentioned, how my review was long. I didn't set out to write such a long review. But then when I read the book, I realized I have to because we really need to take this seriously. Again, not because MMT actually is correct, but because I realized that she made a case for it that's way more compelling to the average reader than I had expected going into it. And so yes, you're right. So it's, when I say she wrote a book that's very convincing of the masses, you're right. I don't mean because she would be incapable of something more high brow. I meant this is more dangerous because she went right to the masses instead of just trying to convince, you know, 50 people with PhDs. Well, interestingly about her, she's a prof at SUNY Stoney book for one, but she was also an advisor, a financial advisor to the 2016 Bernie Sanders campaign. And she also worked on the Senate Budget Committee on the Democratic side. So she's got a little bit of a political background. I've noticed though, Bob, over the weekend, Biden has been floating some of his, not only his cabinet picks, but his broader administrative picks and Bernie's not among them. And with some of the economists mentioned for departments like Treasury, for example, I haven't seen Ms. Kelton's name floated either. So I'm not sure what her fortunes might be under a Biden administration. You're right. So I guess I don't have enough of the inside baseball, but my thought would be that yeah, the insiders, the establishment, Bernie Sanders was too nutty for them to, you know what I mean? Like if he got elected, then he might actually put a surtax on millionaires and those are the people making up the establishment. They don't want that.  You're right.  Whereas Stephanie Kelton definitely, you know, she can take a joke, for example. You know, sometimes I troll her a little bit and she at least gets the joke. Well, but I could see this seeming fresh, though, to the AOC end of things. And that's, I think what we have to consider is that there's a lot of people out there hungering for a third way, or a new way, or a new economy, or a new, new do we have to rethink capitalism. And this book is really tailor made for that audience. Let's start with her big sort of initial big picture thought, which is that we shouldn't think about the federal government budget or any government's budget the same way we think about a household budget. So let's just start with that. Sure. So fundamentally, she says that there's a qualitative difference if a government is a sovereign currency issuer, then yeah, this notion that it needs to quote pay for things is completely superfluous. It's missing the point. Because like Uncle Sam, what does it mean to say, oh, if we're going to have like the Green New Deal, can we quote pay for it? Or can we afford it? Or how can we pay for it? And Kelton thinks that's just missing the point. If you go down that path, because again, they can just print up new dollars. So that I mean, as simple as that is, that is the essence of her point. And that's most of the time what she does on Twitter is like retweeting people who are talking about government finances, as if they're talking about a big corporation. And her point is, no, no, no, you're missing the big picture here. The US government prints dollars. And so it doesn't even make sense to say, can they afford something? Of course they can, they can just print the money. So and this goes to a main point in M.M.T., which is that a sovereign government, we have this idea of a currency issuer versus a currency user. And I got bad news for you, Bob. Me and you are on that currency user side of things. It's horrible. I tried getting people to accept the Murphy's, the notes that I printed on my computer, but they didn't like it. Yeah. So the idea here is that a sovereign government, which as we'll get to later is perhaps not as many governments as you think, but a sovereign government can issue its own currency. And so it doesn't need to tax people and it doesn't need to issue debt necessarily to pay for stuff. Right. Exactly. And so there are reasons that they think that taxes are needed for other things, but not the point of taxation in the M.M.T. framework is not so the government can raise funds so that therefore it can go spend money on important things that the government might want to spend money on. That's not the function, as you say, because it issues the currency is that the people need the government to issue the currency so that people can buy things because that's where they get the money from. So it's a you know, when you say it from scratch like that at first, it does catch you off guard like, wait a minute, what, you know, that they're saying it's not that the government needs taxes to afford things because all dollars begin their life cycle in, you know, the bowels of and they're linking that, you know, the government, the Federal Reserve, they're just linking they all together and one is one unified entity for the purposes of this discussion. And so, yeah, their point is that it's the people need the government to issue dollars so people can spend money because any money you have ultimately was created by the government. That's that's the way they're thinking about it. But you point out there's nothing new in this thinking Rothbard and others have talked about basically the three ways government can come up with money. It can print it, which is to inflate, it can borrow it, or it can issue debt. So the idea that she stumbled upon something new, I mean, take us back a little bit through, for example, you've spoken to Warren Mosler whom I mentioned, and then he has a past with functional finance, which which comes from people like Abba Lerner. Can you just talk a little bit about where from whence MMT came? Sure. So as you say, so Warren Mosler and his story, he said he was just working, I think it was in the late 70s, maybe early 80s when his epiphany occurred. But yeah, he was just a financial guy working like in the banking sector on Wall Street, I believe, and was just looking at debits and credits.  He's like an inventor. He makes like boats and new cars and things like that. And I mean, a real clever polymath. And he said he was just, you know, having a thought experiment one day about what, well, gee, like, you know, these credits and debits when this when the central bank does actually because he was like trading bonds or something. And so they always had to watch the news and try to anticipate if the Fed does such and such with this many bond purchases, what's that going to do prices? And we want to be ahead of that and ahead of the trade and that sort of thing. And he just was wondering, you know, where does this come from? Like, where do these debits and credits come from? And that's, as he says, he just kind of invented what we now call MMT on his own. And then it was only as it was established, he started getting more followers and other like Randall Ray and people like that started, you know, joining forces with him. Then, you know, other historians of economic thought kind of placed it in context and said, you know, there's a long tradition as you say, Jeff, what's called functional finance, people like Abba Lerner going back that is very similar. So, so Warren Mosler claims it was an independent discovery. But you're right, this, this idea, it was summed up famously in Abba Lerner's phrase about how, you know, as long as the government, as long as the debt we owe it to ourselves, it's not a burden, right? So that was, you know, a doctrine that Mises even addresses in human action. So this stuff goes way back. And again, the idea being, there's something they tell us that's qualitatively different about a government that it has the ability to inflate. And then as you say too, Jeff, since this doctrine from the people who think it's a great insight that makes government spending, you know, have more to say for it than one might initially suppose, since that goes way back, also the free market economist rebuttals to that go way back. And Rothbard and Man economy and state, for example, I quote from that in the review, saying that I mean, this is standard stuff. I remember this when I was a teenager learning this kind of stuff, saying, Hey, there's three ways government gets money to finance stuff, either through taxation, borrowing, or inflation.  When the government runs the printing press, that still redirects resources from the private sector into government hands.  So they can, you know, they can command less in the marketplace. So the government really has transferred purchasing power from the people to the government when they run the printing press. So this idea that, you know, oh, this is a better way to finance things because unlike taxation, it's not taking from the people that's that's just not correct. And people, you know, free market economists have known about this, the MMT years aren't bringing anything new to the table with this insight that, oh, wait a minute, a sovereign currency issuer can always afford stuff by running the printing press that that's that's not something that surprises free market economists. They've known about that for decades. So in the MMT conception, we have the sovereign currency issuer that that issuer cannot default on its own currency by definition. So we get to this next corollary that it's only limited in this process by inflation. And if inflation becomes a problem, we can remove excess money from circulation by taxation. So that's that's sort of the next argument is that A, their sovereign and B, you can do this as long as there's not inflation. So I talk about that. And then I'd like you to address this concept of slack in the economy. Okay, sure. So obviously stated as boldly as we just did a minute ago about MMT rest on the insight that a government that issues its own currency can always afford stuff like or use you say, it never needs to default, right? There's never a scenario in which the US Treasury is going to say, oh, no, we have all these outstanding bonds that are coming do.  If somebody presents a bond saying, you owe me $1,000, they can just go have the Fed electronically created and give it to them. Well, you know, there's nothing legally stopping them from doing that. They can issue an incident amount. And that's the sense in which saying, can we afford it is wrong, is a nonsense question. So the obvious retort to that is, well, are you guys out of your mind? If you pay for things just by running the printing press, we're going to have runaway inflation, the dollar is going to collapse. What are you thinking? So Kelton gets very frustrated with that. She, you know, she bends over backwards several points in the book to say, we know about that. We know inflation is the problem. All we're saying is, so the MMT will say emphatically, we're not saying we just made it a magical money tree where everything is not, you know, there's an infinite number of resources the government can send people to Pluto, and it won't crimp our lifestyle. They acknowledge there are real resource constraints, but they're saying that's the issue. The point is, when we wonder, can the government afford Medicare for all, stop saying, how are we going to pay for it? Instead say, if we do finance it, then will that cause unacceptably high price inflation because there's not enough real resources to go around? That's kind of what they're saying is we're just reframing the question to be more accurate when it comes to public discussions about what programs should the government fund. And Kelton says, for instance, going back to the crash of 07 and 08, that Obama was too reticent and should have created much larger stimulus bills. And the reason for that, we don't have to worry about inflation, at least right now, and I know that you would say this in 2020 under the COVID economy, we find ourselves, that there's all this slack in the economy. So inflation's the least of our worries. So what does she mean by slack in the economy? Yeah, you're exactly right. So, you know, again, the next element after they try to reframe it and say, we're not saying the government has an infinite amount of resources or this is magic. We're just saying the real issue is, you know, a real resource constraint, not can we quote afford it? Can we come up with enough dollar bills? So then, you know, the next issue is, okay, fine. So the government can't afford this. Like, if you thought that they did have to finance the way a corporation would, and we can see that, no, the public really can't tolerate higher taxes, and they're already borrowing trillions of dollars a year, we probably don't want to press that anymore, right? The MMT people say, no, by running the printing press, look at inflation, by which they mean like increases in consumer and the consumer price index. They're saying, look, that's not been a problem. You right wingers have been warning about hyperinflation for a decade now, ever since QE started. And it's not like gasoline's $20 a gallon or bread's $5 a loaf. And so what are you talking about your crying wolf? Let's at least go ahead and start paying for these important things, give people the health insurance they need, you know, fix our infrastructure, all these other pressing problems where government spending they claim would really help. And yeah, sure, if price inflation does start to get out of hand, then we'll take our foot off the gas.  Clearly, inflation is not our worry right now, that's what they would claim. And so Murphy's response to this uses Austrian business cycle theory to say, hey, look, all this slack or what we might call idle capacity doesn't just fall out of the sky. It's something that was caused by previous boom bus cycles, which were themselves incurred because of money and credit expansion. So they doing more of that just means that we're going to have weird slack down the road. Yeah, so I would make two main responses to that, you know, the words I just put in Kelton's mouth, but I hope the people trust me that I was being fair to her that is what they say. So you're right. Well, one thing, Jeff, as you've mentioned is to say, in the Austrian view, what causes the boom bus cycle in the first place is precisely monetary injections into the credit markets, you know, so this monetary inflation that then distorts interest rates and causes entrepreneurs to make mail investments. So that's why at any given moment, we might have a lot of quote, idle capacity or excess capacity or slack in the system is because it's we're still washing out the after effects of the mail investments from the previous boom period. And so by the MMT logic of just saying, well, as long as there's slack, let's just go ahead and create trillions of new dollars and through inflation and have the government spend it on what we would say are boondoggle projects because they're not, you know, the market wouldn't justify them. That's just going to set us up for another boom bust cycle. And we're just going to keep doing that forever with an increasing amplitude to make it because you got to print more each cycle to get out of the rut you've put yourself in from the last time. But then even beyond that, even just on their own terms, forget the business cycle. Still, like in other words, in the MMT logic, they're saying, oh, look at we created trillions of dollars under the various QEs under Bernanke and CPI didn't go through the roof. Okay. And so that means if they hadn't done all those QEs, then prices actually would have fallen. People might remember CPI was actually falling in late 2008. So yeah, it's true right now gasoline is not $20 a gallon, but had it not been for all the rounds of QE gasoline might have been 75 cents a gallon right now. Because remember, with all the fracking and things like that, I mean US crewed output went through the roof. Like, you know, the US become the world leader in energy sufficient or independent, you know, to use the old phrase. And so that, you know, people didn't think that in the 70s or 80s, they thought the US had to get off of oil and the fact that now we're leading the world. That's that's amazing. So in a normal world, you would have expected gasoline would be a lot cheaper now rather than just kind of bouncing around the same. And yet that didn't happen. So it's still true. When the government creates trillions of dollars that that transfers purchasing power from the private sector to the political or public sector, or government sector, let's call it, regardless of the absolute so called price level, regardless of what CPI does. So even though it's true, we don't have hyperinflation right now, that doesn't mean that QE was benign. No, people who had saved and had dollar denominated assets are poorer now, because in the counterfactual prices would have come down. I mean, historically in the 1800s, that was the typical business cycle prices would go up during the boom, and then they would come down during the bust. And that's how when, you know, currencies were tied to gold, they maintain their purchasing power over the long stretch. It's because they would, you know, the purchasing power would fall and then rise. And yet now we never get the rise we always get it's just a matter of how much is the currency going to be the base this year. It's not a question of might it strengthen a lot. So again, even on their own terms, they're not proving that it's benign. It's still a redistribution of wealth from the private into the government hands. Well, in Kelton's ideal system then, the issuer issues, now that whether that's the central bank or I suppose in her preferences, the treasury itself with the issuer issues, and there's no need for bond debt. But of course what we've seen since 0708 is lots and lots and lots of bond debt. Some of it's held by the Fed. So the Fed is in effect monetizing the debt of the US Congress or even when it's not monetizing it by buying it up, it is providing an implicit backstop for other people who buy treasuries foreign foreign banks, you know, pension funds, hedge funds, whatever, because the Fed is sort of out there as the buyer of last resort. So I guess my question is since 0708, haven't we in effect had a sort of roundabout version of MMT in effect as actual monetary policy? Yeah, I would say so. So I think strictly speaking, the MMT people, and it's funny when you say modern, based on some discussions, I had thought for a while that what they meant was ever since 1971, when all the world's major currencies were no longer linked to gold, that they were saying, okay, now we're in the MMT world, not the old school gold standard. But apparently, what the word modern refers to is like having a nation state issue its own currency. And it's based on some quote from John Maynard Keynes, I think, when he says in the modern age, by which he means with the modern nation state. So I think they would say, no, we've had MMT the whole time. But yes, I understand what you're saying, Jeff, that I would say for sure. Since the rounds of QE, there have been, there were certain years where, yeah, when you look at the increase in federal debt and how much the Fed has expanded its balance sheet, it did come close to a full monetization, depending on what period, time period you're looking at. And so yes, there are middlemen involved, as you say, it's legally speaking, the Fed is not allowed to just directly take treasury debt and buy it. They have to go through the private dealers first. But that's a formality and the private dealers and the auctions, if they know the Fed's waiting in the wings to absorb it, then they have no problem lending money to the government, to the treasury to get the bonds, then turn around and sell it to the Fed, earning a little bit of the cut going through the transactions. So yes, we have had that. And what's ironic is I would say, okay, even on its own terms, it's not like anybody thinks the economy has been doing great since 2008. So it is funny how, to the extent that we could say, all right, they kind of sort of have been doing what you guys wanted for the last decade or so. Does anyone think this is a great economy? And their answer as always is, oh, well, it wasn't enough. That's always the solution. Or the answer is yes, even though we've done an unprecedented amount of the kind of thing we're recommending, it just so happens that this was the time period that really needed our medicine. And so it wasn't enough medicine. But trust us, if we had just done a little bit more, then you would have seen how great it would have been. Well, in her perfect system, would the full implementation of MMT mean the end of central banking and monetary policy? In other words, everything would simply become fiscal and we wouldn't need monetary economists anymore? So here I have to be a little bit careful because I've read different things from different MMT economists. So I might be conflating her with someone else. But yes, in general, I think they are okay. They think it's very confusing in just a shell game. I think it would just be a lot cleaner to just say, you know, hey, here's the spending we want. I'm pretty sure this is in her book and I'm not mixing her up with somebody else. But to say like, hey, we want this spending proposal. Now let's look at the benefits. And then the downsides are let's go look at like how much slack is in the economy and what are the real resource constraints, you know, that sort of thing, as opposed to looking at how much did we spend and what's revenue this period, like the way a corporation would look at its books to see, you know, what's the bottom line? Are we in the red or are we in the black? In her mind, those figures don't have any meaning when it comes to a currency issuer. And so yes, I think you're right, Jeff, that she would say it'd be a lot simpler just to get rid of the Fed has had the treasury directly monetizing the deficit every year and just deciding for each spending program, you know, does this thing, is it merited or not based on stuff like slack in the economy and, you know, whatever the ostensible benefits are. Well, let's just hope Stephanie Kelton and these MMT years are at our next end, the Fed rally, because we need these people on our side. But I would like to walk through some of your tough questions and that you lay out in your review of her book at Mises.org, some tough questions for the MMT people in some places where you think they're simply wrong about money. And let's start with this. You know, that her whole premise is monetary sovereignty, right? The issuer, presumably a centralized national government is sovereign over its own currency and can produce as much of it at will as it cares to. Well, it turns out, as you point out, there's not that many sovereign countries, right? I mean, in terms of their own dollar, look at, we have big countries like France and Germany, which are part of the Eurozone and do not in a sovereign fashion completely control the issuance of their own currency, not to mention lots and lots of small, poor countries that use other currencies or whatever. So it's not so clear how one becomes monetarily sovereign and how one maintains that. Right. And so here, let me just read a brief excerpt. So this is from pages 18 and 19 of her book, because the way she puts it, I think is very revealing. So she says, as you say, Jeff, it's not actually enough, even though the newcomer might think the issue is just, hey, print your own money. Don't use some other government authorities' currency, but you're right, Jeff. That's not enough. And so she says, to take full advantage of the special powers that accrue to the currency issue where countries need to do more than just grant themselves the exclusive right to issue the currency. It's also important that they don't promise to convert their currency into something they could run out of, example, gold or some other country's currency, and they need to refrain from borrowing in a currency that isn't their own. All right. And so there, so what she's getting at just to make sure the listeners understand the issue, there are countries like Venezuela or something that they might even have their own currency and, you know, it's not convertible and I think it's not like they promise to redeem it for dollars or that, you know, they're on a gold standard and yet they clearly get into trouble, you know, and there's runs on the currency. And what happens there, the MIT people says, oh, see some of these countries, they foolishly have a lot of foreign debt that's denominated in foreign currencies rather than borrowing in their own currency. But if you have a country that not only issues its own currency, that's completely fiat, you know, not convertible anything by pledge and all of their debts or the majority of their debts are denominated in that currency, well then, and only then do you enjoy the special status where you don't need to worry about being able to afford anything because you can always just print more, you know, the bondholders coming, you can always just pay them off. And so as I point out, you know, and that's why I wanted to read the excerpt there just so people could realize we're not putting words in Kelton's mouth there. She didn't say, oh, unfortunately, a lot of countries don't have the ability to take advantage of this because of blah, blah, blah. No, she was saying, here's what they need to do. And so my question was, well, gee, if it's this easy, why doesn't every country in the world do it? And in fact, why don't you as a household do it? You know, why don't I issue Murphy's and you issue dice? If it's just a matter of that, and you think about it for two seconds, you realize why? Because real small countries, nobody's going to accept their currency, just like no one would accept Murphy notes, no merchant would take those. And then, you know, why is it that the Venezuelan government couldn't just borrow in its own currency? Because in lenders would know, I don't trust this government. If I have debt denominated their currency, they might just debase it. So that's why they would only, you know, lend them money denominated in dollars or euros or whatever. And so, you know, once you see that, you realize this is what's happening is it's only a select few countries like the United States and Japan that enjoy this status because they have been so responsible over time, at least relative to every other major government. And so, that's why they have this privilege. And if they abuse it, they would lose that privilege, right? So ironically, I argue, if the US government really did take her advice, and as you're right, Jeff, in practice, they basically had been doing the MMT advice the last 10 years, after a while, they would no longer be the monetary sovereign.  And so, it's sort of a self-defeating thing. It's not just this glib, oh, just borrow in your own currency, duh, how come no one else thought of that? Right. And it's not just the profligacy of maybe the MMT spending, it's also the productive capability and relative wealth of a country. In other words, poor countries like the former Rhodesians and Bobway went through its own currency crisis. And it wasn't just because they were borrowing in foreign currencies or allowed exchange or whatever it might be, it's because they just didn't have a lot of productive capability or build up capital in their country and started jacking up the printing presses. So I get her point that all you have to do is not borrow in foreign currency and issue your own and you'll be okay, but that's, I guess, my thought, Bob, is that's easier said than done. I mean, look at Turkey, after the crash of 0708 in the early 2010s, Turkey was being hailed as this miracle with, you know, seven to 10% annual GDP growth. And what was happening though was that the Turkish government was borrowing often in dollar or euro denominations and building out big infrastructure projects, which boosted up its GDP. But now you fast forward eight or 10 years later, and Turkey's had a terrible currency crisis because it has all this foreign debt. So the idea that governments can just do what Kelton prescribes easily requires a discipline which seems inherently at odds with MMT itself. Yeah, I exactly agree with that, Jeff. And you're right, it's, it's, they're overlooking all of the reasons that those countries resorted to those issues.  I forget all the retailers. Barely. But yeah, but they, when they borrow money, instead of borrowing it in dollars, issuing bonds, they could just issue it in terms of store credit at JCPenney. And why don't they do that? And the answer, of course, is because the terms they would get for that would be terrible, right? They could get better terms by promising to pay people back in dollars. And so you're right, it's sort of dodging all of the really tricky problems that's ignoring the issues that are actually facing, you know, it'd be sort of like saying to people who have to resort to payday lenders, just to say, no, just, just go ahead and take out a bank account and just, you know, build up six months of saving and then go, and that's true if they could do it. But the point is people resorting to payday lenders, they're in a dire straits right now. And that's why they're doing what to other people looks like very reckless moves. And so likewise here, yeah, the reason only a few governments can quote be monetary sovereigns, the way she's saying is because they've been doing things the old standard, you know, the old school gold standard way for a long time and they built up this reputation and that's why they can get away with borrowing in their own currency. Again, ironically, because they have been such fuddy duddies and conservative financially, at least with, you know, relative to everybody else. Well, let's talk about this chicken and egg problem, the idea that revenue has to proceed spending, or that in fact, the opposite is true that government funds taxpayers and currency gets its value from this, you know, the requirement that you pay taxes in it. So which is it? Does government fund us or do we fund government? Right. So here's, as I said in the beginning of this discussion, Jeff, this is one of the areas where when you first hear the MMT logic, it's strangely compelling. And you're like, yeah, that's a weird, you know, that's the opposite of what I used to thinking what the experts talk about, the gurus, the conventional wisdom. And it sounds strangely compelling.  Oh, because the government wants to pay for spend things, spend on things and where's it going to get the money? It's got to tax it. Otherwise, how's the government going to afford anything? And yet, as she points out, no, every dollar starts with the government, you know, and so from that perspective, its households need government spending because in the MMT view, how does a dollar enter the economy? It's through government spending. And then how does a dollar leave the economy? It's through government taxation. And so as you alluded to earlier, Jeff, for the MMT people, the only real, well, there's like two functions of taxation. One is in case like things are overheating and they could just, you know, sop up purchasing power that way. But even more fundamentally, as you say, they think the bedrock for why it is that the currency has any value at all. Why, you know, why do people toil to obtain dollars? How does that maintain itself? That's that's strange system where people give up valuable things for green pieces of paper that in and of themselves really aren't useful for much. And the MMTers explained it because of taxation, that, oh, the reason people toil or sell valuable items to get these dollar bills, if we're talking about the US context, obviously, is because every April 15th, you got to hand over a bunch of these green pieces of paper to the tax man.  So there's at least two problems with that narrative. So one is just historically it's wrong. We can go look historically and see, is it the case that dollars were invented when they come into existence when the US government decided to start deficit spending when it decided one year, let's spend 100 billion more than we took it in taxes. And that's how the first 100 billion dollars came into it. No, that's just historically not true.  And so you go back in time and how the dollar was originally defined in terms of gold and silver. And it was only gradually as I'm sure many listeners of this podcast know that the people were weaned off of gold and silver to just be left with fiat money. So just historically, when the MTAs explain this is where money comes from, they are simply wrong demonstrably wrong. And then also to with the taxation stuff. I mean, we have examples that there's a famous one in the POW camps in World War Two, where the cigarettes became money, right? So we have seen in real time the Carl Manger story of how money emerges spontaneously from a state of barter. Not only do I argue that that matches the historical facts for, you know, actual money, but even like in a sort of laboratory experiment, we've seen how it emerges out of barter. And so again, they're just they're not correct. And another thing too is you can look in the 80s when they did the the Kemperoth income tax rate reductions, the value of the dollar rose sharply on the foreign exchange market. And I think everybody realized, yeah, that's because with lower tax rates on the margin, getting into US assets made sense. And so people did that, and that made the dollar go up. So are you saying if we got rid of all taxation of US assets, that all of a sudden the dollar would crash and go to zero because no one needs dollars anymore? No, the dollar would actually soar if we lowered tax rates. So this idea that because you're getting taxed in dollars makes the dollar stronger. No, I would say if anything, it's the opposite. Well, she even has this strange excursion, though, questioning whether money arose out of a market demand to solve the inefficiency of barter. She says, well, there's never really any, there's no real evidence that these barter societies ever existed. Did you catch that? I mean, that struck me as as something that historians could go back and look at and maybe prove her wrong. Yeah, I did catch that. And so I don't remember if she explicitly mentioned him, but this goes back to if you remember the guy David Graber, who was a Marxist, I think he just died. I could be wrong about that. Don't quote me. But he was I think he's literally a Marxist. I'm not using that as a slur. Anthropologist, who he has that he had this book, like called debt the first 5000 years or something like that. And yes, he made a very strong case in that book, arguing that the way economists and he mentioned Manger by name and Adam Smith, the way they try to explain the emergence of money is just wrong, that it wasn't that there was this period of barter. And then because of the inefficiencies, they've, you know, blah, blah, blah, came up with indirect exchange. He said that it started with debt and then, you know, money flowed out of that as a way of like systematizing the process. And so in Graber's account, it's, you know, oh, you can go back to these Sumerian priests and look at their temples and see these abstract markings. So I went and looked at that. And part of the issue, Jeff, is it's kind of like trying to find a society that didn't have language or something.  And I don't mean they would have collapsed and starved. I mean, they would have quickly developed money. And so that's why I think you don't see a lot of evidence. So it's kind of hard to piece it together. But what's interesting is when I went and reviewed Graber's work, the very ancient cultures he points to as evidence of this is how fiat money emerged first, all of the money there, it was tied to it was like temple offerings that were quoted as like shekels of silver. And so as I pointed out, I said, well, if they could have just used arbitrary numeraires, why didn't they just pick, you know, grains of sand or something? Isn't it funny that they tied it to silver, which would limit what they could do? And so to my mind, clearly what had happened is the merchants had first developed silver is something that was valuable in a medium of exchange, and then the temple priests piggybacked their quote fiat system on top of that. Because in general, if you were just arbitrarily coming with a unit of account, you wouldn't have picked something scarce like silver. Why would you have done that if you could have picked anything? You know, Bitcoin's not based on silver. So why would this ancient and so I think that even though she's arguing that Jeff that no, the when you go actually look at the record, I think it still is consistent with like the mangarian story. Because again, it was the precious metals that these ancient priests used, not some abstract unit of account, which according to their story, they could have done just as well. Well, another mistake you claim that MMT years make is that they confuse debt with money. And there's this idea which Kelton promulgates that all the debt, the $27 trillion or whatever of federal government debt is simply money that federal government has given us. And in other words, put into the economy without taking away from us in taxes because it was debt issuance.  Sure. So yeah, here I got a quote right in front of me just to make sure the listeners get what she means. And this is kind of what I mean where it's very clever and seductive at first. Well, yeah, I never thought of it like that. But then the more you think about it like, wait a minute, that doesn't make any sense. That's crazy. So here's Kelton. She's trying to diffuse the hysteria over the national debt. Like she just thinks this is like the epitome of what's wrong with our conventional US politics where we have committees worried about the debt and what are we going to do about the debt? And so for people who don't know, in New York City, on West 43rd Street, there's this big electronic display showing what the national debt is. And obviously, it's really big and it shows it in real time, increasing to try to scare everybody. And so here's Kelton's commentary on that. She says, the truth is we're fine. The debt clock on West 43rd Street simply displays a historical record of how many dollars the federal government has added to people's pockets without subtracting, taxing them away. Those dollars are being saved in the form of US treasuries. If you're lucky enough to own some, congratulations, they're part of your wealth. While others may refer to it as a debt clock, it's really a US savings clock. So you see what she's doing there is relying on this MMT sort of accounting tautology to say when the US federal government goes deeper into debt, the accounting flip side of that is people in the private sector now have more net savings or net wealth. Because for the US government to on net owe somebody means somebody who's not in the US government now has another asset. And so they're trying to say so they're saying the private sector can only save on net if it increases the claims it has on the government sector. And so ironically, the deeper Uncle Sam goes into debt, that means the more the rest of us are creditors. Okay, so there is a certain logic to that. And in the review I linked to an earlier Mises.org where I walked through exactly what's wrong about that or to show why that's misleading, it doesn't actually prove what it sounds like it's proving. But I pointed out in the review Jeff that okay, so if she's right, if actually if anything the US debt, meaning the US government federal government debt is a blessing because it shows how much saving there is because that's how many dollars have been issued, you know, spent into existence. Well, then that means if we paid off the debt, there should be no more dollars, right? Because again, that's the logic the M&T people are using is they're saying how does it how do new dollars get into the hands of the public to be held in private coffers? It's only if the government runs a deficit, because then they're spending more into the economy into circulation, than they're taking away through taxation. So and then she's again arguing just I'm just reiterating this that quote I just said. So if that's what a deficit is, then the debt is simply the historical accumulation of all the prior net deficits, that's what the debt means. That's like, you know, the record of all, you know, going back in time, all the deficits over and above all the surpluses and what's left is the debt. And so if that's a positive number, that means their dollar bills still floating around because they haven't been drained away. And so I'm saying if you buy that logic, then that must mean if the debt were ever paid off, there would be no more dollar bills. And yet I pointed out historically, Andrew Jackson did pay off the debt, he didn't just run a surplus, he literally retired the federal debt. And so according to Kelton, the US should have had no dollars at that point. And yet that's not what happened historically. And again, this is because they are simply wrong when they say historically where dollars came from, they're just wrong. And that's why this is also wrong about saying the US debt is like some sort of measurement of how much net saving the private sector has done that just it's just wrong. Well, but just digging a little deeper on this conceptually, there is something to this notion that the federal government's debt is R, meaning the private sector surplus. So I understand that from a balancing, a double entry bookkeeping idea, that seems to make some sort of coherent sense. But they're going a little farther than that, right? They're saying because all capital, all financial assets are denominated in dollars, the source of all of must be the government that issued those dollars. So is she actually saying that the 27 trillion on the US federal debt clock represents all of the wealth the federal government has given us? But there's private wealth in addition and on top of that? Or is she saying the 27 is it? Okay, great question. So I believe the correct MMT position would have to be the 27 trillion dollars represents all of the net private sector saving. And that word net is doing a very it's doing a lot more lifting there than you might think. Because the ideas. So for example, let's say I lend you $100, Jeff. And so I have an IO, you know, I have an IOU from Jeff Dice. So I have an asset that Jeff Dice owes me $100. But they would say that's not net private sector saving because now you have a debt that you owe me. So it's like your negative 100 balances out my positive 100. And so on net, we haven't saved. I saved and you dis-saved. And so you and me put together as our contribution to the private sector don't doesn't make net saving go up or down. But if the government bar, but if I lend $100 to the government by buying a bond, now my saving has gone up 100. No one else's saving in the private sector has gone down by 100. It's just merely the government's saving that has gone down. And so that's the sense in which they want to say there's something special about government debt that allows the private sector to, you know, accrue assets that don't have any counterbalancing debit anywhere in the private sector. So that's what they mean. And but you're, you're right. So what if somebody just owns farmland and it's valued at whatever, a million dollars, that that's an asset, you know, no one could deny that's an asset. And so what I've seen is some mmt people, I think they say, okay, we're talking about financial assets. Okay. And so that's one thing. But even there, it's it's not correct that you can, you know, you can have equity in a corporation.  But if instead they buy stock, stock equity is not debt. I mean, by definition, you know, on the balance sheet, equity is not the same thing as a liability or as debt. And so it's not true. So when a corporation raises money by issuing stock, the the the assets held by the new shareholders do not correspond to net indebtedness by the corporation the way it would have if it issued bonds. Okay. And so that's another way that I'm just trying to show that no, their their logic is simply wrong. So here's a case where it's not just that yeah, what they're saying is technically true, it's misleading. It's no, it's just wrong depending on how they they framed it. And so it's, it's not the case.  And there's no government at all. Those people can save and accumulate and you can check in on them 50 years later and they could have skyscrapers and, you know, big corporations and investment banks. And you wouldn't say, Oh, it's too bad, there's no government to borrow money from them. Otherwise, you know, this is why they can't engage in net saving and have net wealth. That, you know, clearly, there's something crazy about those, that terminology, you know, to make it sound like you're somehow constraining these people because there's not a government to go into debt to them. So even after all the accounting language, all the tautologies, all the something for nothing thinking, I want to just, as we wrap up here, I want to get to the crux of your argument. You have a section in your review of the book called The Fundamental Problem with M.T. So I just want you to summarize, go a little bit deeper on your sentence here. You say, we can succinctly state the fundamental problem with Kelton's vision, Colin. Regardless of what happens to the price level, monetary inflation transfers real resources away from the private sector and into the hands of political officials. So what you're saying is that it's not just tautological. I mean, MMT would actually make us poor, society-wide. Right, exactly. Yeah. So to me, the essence of what's wrong with it is, yeah, if we take their advice and we say, come on, let's throw out all this worrying and ringing our hands over, how are we going to pay for it? And let's look at what the debt is and so on. And just spend money on these things by running the printing press that full stop, I don't care what happens to CPI, that is clearly transferring purchasing power from everyone else into the hands of the people who are getting that new money.  Or if you don't want to use the word stealing because you don't trust government money, okay, fine. But there is a sense in which the counterfeiter, the private sector kind of is making everyone else poorer. When you see his house and his Ferraris that he got with $100 bills, he prints it up in his basement, you don't need to go check and see what happened to CPI to know if he somehow got rich off of the labor of others. You know that okay, that house and those Ferraris could have been in somebody else's hands and they would have been or the materials that went into them might have made different products. But clearly, he siphoned those resources away from other people who would have had them, had he not printed up those $100 bills and now he's living in the nice house and has those Ferraris. Full stop, I don't care about CPI. This isn't an empirical issue, like just knowing the nature of scarcity and how things work. Clearly, that's the case. And that's why counterfeiting is wrong. It's not that counterfeiting is wrong when we're at full employment. No, counterfeiting is always wrong, because you're taking resources from other people who are working for a living and you're doing it by printing up fake money. So when you have that insight, nothing changes just by changing it from the guy printing $100 bills in his basement to the treasury issuing the money or the Federal Reserve doing it electronically that if they spend money on fighter jets by creating money out of thin air, the resources that went into those fighter jets would have otherwise gone into other products in the private sector. And now they're not. And so that is the sense in which government inflation takes resources from the private sector and puts it into the public sector. Full stop. And that's the fundamental problem. And no amount of rhetoric can get around that. Well, Bob, I think the problem and what makes MMT and Kelton's book so seductive is that that fighter jet is the scene. We can look at that thing as tangible. It goes and drops bombs or whatever. But what would have come into existence or just increased savings is unseen. Yeah, you're exactly right. And isn't it funny that even as we pick a typical example, it's not even obvious that we want more fighter jets like somebody might get hurt. But in fairness, I think Kelton and other people like AOC and whatnot would prefer to spend that on things that seem more benign. But we could say more Ferraris. Sure. Sure. Or healthcare for all or whatever. And so, yeah, you're exactly right. The problem is that's the scene. So you can see that the benefits or the ostensible benefits from the spending. And then it's hard to know what the downside is. And I understand if there's not hyperinflation, it looks like, well, gee, it's not obvious what the problem is, why don't we try printing another trillion dollars because nothing catastrophic happened, right? And I want to say that we know that, yeah, even if prices would have fallen, then that means people would have been wealthier that way. So you're exactly right, Jeff, that they're not seeing the alternate uses of those resources. And that's part of the issue, too. We don't know. Like if you ask me, okay, well, you're so smart instead of building these fighter jets or instead of, you know, giving Medicare to all, what do you think these resources ought to be doing? What would they have done? We don't know. That's the market allocation mechanism. I'm not a central planner. It's not that I'm a better central planner than AOC. There shouldn't be a central planner. So what we don't know, but what we can say is that those resources, yes, would have gone into other outlets. And again, that's why their use of the idle resources claim is so important because they're going to say, no, they wouldn't have gone into other resources. They just would have sat there and to say, no, prices adjust. And the reason you keep getting these periods of quote, idle resources is precisely because of the policies people like you are implementing. If you did what the Austarians or the fuddy-duddy Austrians wanted to do, the hard money people, then you wouldn't have these periods of boom, bust with all these quote, idle resources. Well, Bob, let's finish with your comment on this. You know, this is an ideological book. It is suffused throughout with talk about fairness and equality and justice and healthcare and all kinds of things. As a matter of fact, the subtitle of the deficit myth is MMT and the birth of the people's economy. So that clearly has an ideological bent. And you know, Austrians free market types are often accused of simply providing intellectual or ideological cover for big business and capitalism. I wonder if that same accusation will be thrown at this book. Yeah, you're exactly right. All of the seemingly neutral arguments about just accounting tautology is that they're not using it to justify spending money on, like we say, even the warfare state. They're doing it on things that left wing readers already wanted to have. And so this provides an excuse or the intellectual cover for them to say, no, let's go ahead and spend the money on all these things that typically the opponents of will acknowledge, oh yeah, in a perfect world, we'd have Medicare for all and we would have the Green New Deal and we'd have new infrastructure. We just can't afford it right now. Let's be realistic and practical folks. And so when the MMTers come along, they're basically saying, look, we have this new way that you can get all the spending you want. And the typical objections, we've got the magic bullet for it now. Just tell those people they're engaged in old school thinking, this is new modern monetary theory. They've got to get with the program. And so yes, it gives cover to that. And I think that explains the popularity of this, is that it gives people a reason to say it's not irresponsible to spend the money on all the things we've wanted to spend that on for the last 30 years anyway. Well, ladies and gentlemen, we are out of time. We will post the review with the show notes both on YouTube and at Mises.org. It's called a review of Stephanie Kelton's The Deficit Myth. It's really a thoroughgoing and comprehensive review by Bob of The Book, The Deficit Myth. So Bob, I want to thank you so much for your time. And ladies and gentlemen, I want to wish each and every one of you a wonderful, happy Thanksgiving holiday week. I hope you get to take some time off. We hope you enjoy the show and we'll see you next week. The Human Action Podcast is available on iTunes, SoundCloud, Stitcher, Spotify, Google Play, and on Mises.org. Subscribe to get new episodes every week and find more content like this on Mises.org.


It's a busy week for traffic starting off with Yunhai 103. This environmental satellite launched at 2315 UTC on Tuesday, the 20th of September, from launch area 4 at the Zhiyuan satellite launch centre in China. As usual with Chinese launches, that's all we know.


So I appreciate you guys hanging in there been a lot of questions throughout the day that people wanted to ask the selenium committee So we do have at least four people and we are missing one other person So there'll be five people here who basically Either hold the commit bit on the selenium project or are eligible to hold this commit bit Do you guys want to quickly introduce yourself and then we can get started? I will start my name is Luke Committing to the selenium project for about four and a half years. I work at salesforce.com. I am currently in a UI development role there Dave Huffner I've been teaching about and writing about slain for the last few years and I've recently as of earlier this year become officially a committer I'm Simon Stewart. I created web driver. I'm the current leader of the project. I'm co-editor of the W3C specification And I'm here in India. Hello, India I'm Marcus Merrill. I am actually not a committer I've committed very little, but I've been using web driver since the literally the day Simon debuted at GTAC We started using it the next day I've now implemented it at four separate companies all of which to my knowledge are still using the framework So I had some chops once in a while once once upon a time I'm late Julian and Haven't committed code for several years, but as you can tell there's a long half-life So you get called back for a while and maybe I'll commit some code this weekend Do it. All right How many people have questions for the committee here quick show of hands? Good. This should be a lot more Because we have 45 minutes to kill I know you have a track record All right I'm gonna start with the first question just to lighten up the mood and then we're gonna turn around and get people involved So I would actually expect everyone on the panel to answer this question If you had a time machine and you could go back. What is the one thing you would not do on the Selenium project? Not commit code teasing Yeah, I think I would like to have seen the mobile Selenium mobile web driver continue Is this about the project itself or about my involvement with the project itself? I was gonna say I overwrote the hell out of my first few implementations and I could I wish I could have that back I think I Don't know I might have started The proxy stuff a little sooner Because that's become such a large part of what I need in the project, but I Could have done it. I just Didn't so that's what I'd like to have back Oh, yeah Well, the the glib answer the easy answer is a support library like I take that back It was just meant as demonstration code and it's sort of Metastasized into this incredibly useful pile of stuff that people depend on for their lives Which is confusing and perplexing because I'll be honest some of it was written while I was drunk I think more realistically I Wouldn't have changed much, but I would have gone faster like Selenium 3 we announced it a while ago And it's taken us forever to ship and actually it hasn't been a huge amount of code to get to that point It's been finding the time to do it. And so the thing I would take back is Misspending some of my time and focusing on shipping three I would probably take back implicit weights And just make explicit weights the only option that's a great answer. Can I can I change mine? Yes, that's fine. Okay I Would implement status codes in web drivers get in the sea The other is I've already rewritten history since we use get and it's already there. Huh what I would have changed It's already in history Yeah There's a good nerd chops All right, hopefully that kind of sets the stage for other people to ask questions now, so feel free to ask you know More controversial questions because that's gonna be helpful, right? Who had a question. I think you had a question here Do we have mics here? Simon question to you is If you look at Selenium IDE or Selenium RC, we have command set speed Example that doesn't exist in the driver It will it'll come in Selenium 3.0 just come on that kind of because we need to control the speed For example application heavily loaded. Okay, our network speed is slow See that now our tests are failing. Okay, even however, however you handle how much no Put some delay something something it is failing if you can if we can control the speed speed of execution That Okay, so this is ultimately can you have a set speed command? Okay, no There we go, that's the answer the actual reason for it is Two-fold like you were saying that your application is taking a long time to respond when it's heavily loaded and stuff like that That is precisely why we added the weighting classes and the explicit weights and the implicit weights to handle that case But the application is quite slow. The second reason is because I don't know what language you're using probably Java Yeah, Java in Java it's trivial to wrap an interface And have a proxy implementation that does whatever you want it to like it's literally a few lines of code And so if you wanted to have that level of control you could so there isn't any reason to put it into the core library and the reason why we don't want to put things into the Core library is because every line of code that we write is a line of code that needs to be maintained and worse It's a line of code that needs to be implemented by every single Implementation now you could do the set speed client side, you know on the on the local end of the test right where you are In which case it would be in the support library in which case it would just be something that wrapped a proxy in a way You went and in that case you've already got the augmenter so you could have your own augmentable in the way you'd go And that would be like ten lines of code Or you'd have to do it on the remote end in and in that case each of the browser vendors would have to implement The command themselves and then like what does it apply to does it apply to finding elements or just interactions or certain kinds of interactions And what about when you're using the advanced user interactions API and stuff like that. There's a bunch of decisions And you and your team are probably best placed to make those decisions Rather than ask going like we think this is probably going to be okay No chances are we hit the Pareto point right 80% of the time it would be okay, but 20% of the time You can like nope nope nope and then you'd want like timeouts on every method to be able to control that and then it would just It would cause an explosion and size of the interface for very little benefit over what you can already do Does that answer the question? I Know that's not the answer you wanted to hear You'd like a no-code answer There's no core code either, but you could have the method added to WebDriver technically Cool. All right. We'll move next. Who had a question? Have a very basic question Can you automate so WebDriver Selenium is an API for automating a web browser So anything that happens and the page of a web browser the HTML and CSS You can automate that using WebDriver exactly as a user would if a user can use your angular application Then you can in theory test it using WebDriver and Selenium now The protractor stuff that the AngularJS test runner actually has some hooks into WebDriver in order to facilitate that So the technical answer is yes, if I'm on the side of the question, but Dave do you want to? So ultimately it's WebDriver.js with protractor So effectively WebDriver is automating the testing in Angular But if you're not wanting to use protractor and if the question is can we just use regular old web driver slinging our own Test framework together the answer is yes it just requires more care because You know you'd have to basically use a lot of explicit weights to deal with the dynamic loading page content and you have to You know determine the locator strategy that you want to use and all the stuff that normally goes into testing a web application But there's nothing stopping you. It's just that protractor is you know helpful It's like it just solves all these problems for you because it doesn't it just does the waiting for you because it knows When the page state is ready and then you know if you actually were building the front end and you wanted to do Integration testing and mock stuff out. You could do that as well So like it really depends on what you're doing But if you're trying to do black box testing and you don't want to use JavaScript You could just do it in whatever language you want with whatever bindings you want and there's really nothing stopping you Using most of the ng attributes so in that case we'll end up always writing the locators with the x path So using x path is problematic is that what you're saying? Yeah In terms of performance like getting in the conversation of benchmarks of different locator strategies, I mean Unless you're using a really horrendous X path then the performance that gain is kind of nominal between them I mean IDs and classes will always be the fastest And then if you look at using the CSS selectors and XPath locators That's actually a negligible difference in performance between those two and then the only time is where they're really horribly for you know poor performance are when it's really very large very toothy nested lookups and Then well, I haven't run the benchmarks in edge, but I a last time I ran these benchmarks like eight eight nine ten There's just a couple where I like I won't handle certain lookups Or it's just like an order of magnitude slower, which is like one or two cases which are like locators You just should never use anyway But otherwise across the board. It's typically it's not bad I mean if you look at the benchmark data that was cited like pre selenium 2 it was horrible But everything since Make 2012 and on has been fine really and so if you're trying to look for a performance game you typically get a lot more benefit out of like looking at your your weight strategies and Make sure they like you know throw that sleeps and other kinds of stuff you get a lot more Boost from that then you would just by trying to adjust your locators. Although I will say that Test stability lives and dies by locators quite a bit So I would say that's you're not going to look to get performance in terms of speed game But in terms of reliability of your test results potentially is an improvement So I mean general recommendation is to avoid Using X path because of the stability aspect not so much from a performance game It used to depend on the browser like they used to be super super slow the implementation of X path in Internet Explorer was written in JavaScript the JavaScript engine in IE was slow But it's better now The more important point as Dave says is the maintainability of your tests decreases dramatically with complicated X path expressions Like today at the bug bash somebody was showing me that there's sort of tests And there was a sort of multi-line X path and it's like what that I was and It was clearly like the best thing that they could do to find the element that they were looking for but just looking at it was daunting and Figuring out whether or not it was right was like a real mental exercise Whereas finding by ID finding by even a CSS selector is so much clearer and so much more maintainable One thing that you can do which I don't see people do terribly often is web element Has the ability to find sub elements? So if you call dot find element on a web element you can just search that part of the subtree So what you can do is you can break up these really complicated X paths into well I'll find something by an ID then I'll find it by a class name And then I'm just going to search a tiny subset of the tree for a very controlled X path expression if you do that remember Any X path that begins with slash slash? Searches the entire document so after painstakingly finding a subtree if you then have an X path expression begins slash slash You throw that all away and you go from the top of the tree again, which is hilarious But not what you want So I don't I think that the general thought is that X path is bad, but I don't think that that's really true I think that there are potential misuses of it and the performance though is actually not as bad as it used to be So I think it's actually a fine thing to use when used appropriately.  Who else has a question over there? Thank you Compound class names, but that that will be supported right now. It's not right In future whether it will be so that's called CSS Can you just repeat the question the question was can't do can compound class names? Be used and the quick answer is by class name. No by CSS. Yes So instead of doing a space in between the two class names Just put a dot in front of each of them and you can it's valid CSS to say dot class 1 dot class 2 with no spaces That's yeah, just use CSS instead. Okay. Yeah, thank you Good evening So morning Simon was Referring that started this is a pet project and then Nine years back you didn't envision this kind of a growth Right. So my question today is what kind of a vision that you have for five years from now for selling them Five years from now. Yeah mission. Yeah Actually, can you give a road map with dates? I mean, yeah, so actually a long a long time So long a long time ago when I was at Google my manager at the time when How long do you think it's gonna take until you get like the spec finished and and and Selenium done and I Was an engineer and I had a think and I went it'll take about five years and my manager looked at me and went Doesn't sound unreasonable That was only eight years ago. So as far as engineering estimates go it was pretty accurate So the the other thing is he asked me for the name and I called it the Great Leap Forward Which is not a very good joke There we go. Yeah, nobody ever gets it, but it's the reason why at a W3C meeting. I was asked whether I was a communist Um These things happen So the next five years are kind of interesting as we're closing out as we're heading to Selenium 3 Selenium 4 we're at the point where the specification The W3C spec is almost done. I it's been almost done for a while But actually you can you can see it coming closer because everyone on the working group just wants it to happen when that happens the Selenium project loses control of The level it's got right now And it becomes open to the standards bodies It becomes far more amenable to the browser vendors to make changes that they want to So the interesting thing is the technical side of the project is going to become quieter and more quiescent, but There's going to be the explosion of mobile which is already happening and we're seeing and I'm really hoping that we go from being The kind of documentation which is okay But not great to having like awesome documentation and building the community around it and so the core of the project I think is technically sort of fairly complete But then on top of it, there's going to be all these other bits and pieces that need to happen And I think that's going to be sort of user groups conferences Rapper libraries integrating with the tools such as like Hewlett Packard are producing Better integration with the browser vendors to communicate with them and all sorts of things and mobile will be obviously like the big thing The internet of things people occasionally ask about But nobody says like how would I do browser-based testing of the internet of things? So I'm pretending that's not happening Anyone else have comments they want to add I Think you hit on the the point about other things on top of the technology But I do I do think that better documentation a newer website and I think just general stuff like More of everything basically that's not the technical implementation. So more conferences more meet-ups and all of those things So since morning you would have faced a lot of questions about like what is in there For the users from the selling All right now I ask you this question. What do you expect from the user group of selenium apart from using selenium? To take it to the next level What do I expect from a user group? Like a meet-up or actually users of selenium. I think Users of selenium to take it to the next level. Yeah, read the documentation Yeah, we have to update the docs first so some help updating the documentation so you can then read it would be That would be really good Just like the continued feedback and support like one of the things I really like about this project is In any city I go to there are people who are using it and everywhere I go The community is enthusiastic supportive and happy if you go to the IRC channel It's it's a wonderful place to be right it's just a group of friends talking And occasionally people come in and go like I need a hand and there's no flame wars. There's People are relatively polite. I mean there's loads of off-topic conversations that happen like every Friday I try and link to Rebecca Black Friday On sometimes you're successful. Are you yeah Luke sometimes manages it people have now got wise to the fact that this is what I do So there's things like that But the and the mailing lists Remarkably civil and remarkably polite given the number of people on them and the size of it So the thing that I'd like to see from the user group community is That continued goodwill good spirit and the ability to self-organize Like I went to Tel Aviv. I was invited to Israel to speak at a user group meeting Nobody on the selenium project had helped set that up It was just people who were enthusiastic about selenium had set it up and it turned out there were you know 100 people that would show up to it, which was phenomenal and same thing happened in London New York, San Francisco other cities like people just organize and they communicate and then the other nice thing about that is you have users supporting users and That enables us to have the sort of web of trust and support where you know that if you have a problem You can go for help and that's really important Cool things over there had a question for a long time. Let's go back there after that Hi Simon Actually The question is related to selenium grid Which we currently I'm facing one issue related to that Really I have a couple of around 10 test cases. I'm successfully able to run multiple instance on firefox But I whereas the same result is not in I Test are failing without Reason test isolation. Yes, that's the problem Okay, so certainly Way back in the day internet Explorer used to share cookie jars So the problem is your test run fine in parallel with firefox, but they choke with parallel runs of IE on the same machine I'll see him see him on The same machine. Yeah, okay So this is a test isolation problem Internet Explorer certainly for the long time shared a cookie jar between every instance running on the machine You could fire it up and it would try and isolate itself Jim Evans has done some amazing work to try and enable that isolation and make it good But it's really hard to do and so Probably with IE the the best way to get utilization and isolation for your tests It's a spin up a virtual machine for each IE instance Let that run throw that machine away when you're done with it and away you go now virtual machines Can be expensive to set up. They can be big but you can trim them down and Certainly at Google on the build grid. We were seeing Startup times of under 20 seconds for a VM running on a build grid. You can probably get faster than that with an SSD and decent memory and then You can also put like one VM per core and if you've got spinning discs instead of SSDs You want one VM her spinning disc and that will give you decent utilization and throughput But I think grid they probably have more experience with Dave and Luke have more experience with grid than I do and and Marcus and Marcus in fact everyone here has more experience than I do Virtually no experience with IE and grid I've avoided that like like something you avoid a lot You you answered that correctly the assignment just isolation IE Source labs will help as well and browser stack and You know third companies that provide provisioning in the clouds We have an yeah, we have an amazing grid infrastructure at retail me not it's a little bit homegrown. It's a self Growing self shrinking and we do a hundred percent of our automated IE testing with sauce At my company, we have our own homegrown But we do use virtual machines for IE and all of them are isolated Although we do not tear down between tests, but we'll tear down after a suite but we Don't run nearly as many tests on IE as we do on Firefox or Chrome Mainly because it's the test author's ability to control which browsers they run in and they see a lot of flakiness in IE And so they disabled it All right, cool. We'll go back there. Hi, good evening So selenium three awesome We're what's improved in core? That took a lot of work And obviously understand the reasons why you would want to do that because backwards compatibility You want to make people happy? I was just wondering what the drive was it took a lot of effort Why why didn't you just rip it out? Was there like a huge user base that I just don't know about was where there's some big players that are still using it But what what was the drive? Yes? Yes, there are there are I would probably put it in the millions of tests that still exist out there that are still with the RC based API I know at my company in particular. We have approximately 70,000 RC style or Flavor like basically with the leg RC. We're also lumping not only RC But the WebDriver back selenium into this leg RC package. So both of those combined my company has about 70,000 of those That's that's a massive amount of tests to Attempt to migrate to just WebDriver If I understand it correctly, you're you're hoping to remove it anyway in in two years from now, right? It really depends on which member that that the contributed team you talk to but There are a couple of things that that we have as like fundamentals of the project one of those is Hey, look when we're trying to think of how an API should behave. How would a user interact with a page? How would a user do that? The other thing is I certainly have a strong belief That people have made a massive investment in their testing infrastructure and their existing tests and to say to people That investment is now worthless is not a good thing to do now. What we can do is we can go by the way These things are going to go away. So if you look like the selenium interface is deprecated We've been saying for five years now stop using selenium move on to the WebDriver APIs And we've been trying to encourage people like that and you see sort of bit rotting code bases, right? So You know your tests probably aren't going to be running for 10 years unless you've got some fantastically long-lived product If you take a look at like the Standish report and things like that the average lifetime for a project is about three years So in theory we could roll off However, the problem that we're dealing with is one of inertia like companies that have made a strong investment in RC Continue that investment not because it's necessarily the right thing to do But because that's how they do their testing and switching their APIs is an investment They need to make and so what we want to be able to do is allow people to maintain their existing investment And have a clear roadmap of where they should be going next And where they should be going next is the WebDriver APIs and those WebDriver APIs are going to be stable between two three And probably four but the underlying wire protocol is going to change between three and four just as we removed Selenium core between two and three so like the reason why we went to the effort is because we care about our users and We wanted to do the best job we could The nice thing that we have now is that all the APIs all sit on top of the WebDriver APIs So at least the next time we have to go through this exercise And it's likely that at some point there will be something that's better than WebDriver out there the next time We go through this exercise Everything will be just a simpler job to port and so you'll have this sort of weird stack of Legacy things going all the way back to like RC Does answer the question Okay, good. Does it make sense? Oh You wanted concrete hard numbers like 70,000 existing tests and like and I think last year at selenium com somebody was telling how they were running a million Selenium core tests every single day Like there's just a staggering number of things and I think it might be a bit like PHP Like PHP is the dark matter of the internet Like you can't see it nobody talks about it and yet it's like 60 or 70% of all the code that's out there for service Right, so I think we have an engaged community who are here right now because you're engaged because you're interested You're using almost definitely the WebDriver APIs I think if you went out to companies that made minimal effort with their testing Not because they don't want to care but because they don't have the resources I think you might find a larger percentage using RC, but again Because they don't come forward and because I don't say anything that's just a gut feel But we'll go back there. I think someone's yeah Basically I have a suggestion It is for the element identification just like how we have we got find element by id export and css Why don't we have why don't we expand the portfolio and then have? identified identifiers Basically like right methods so that we can identify element by Title or all text or placeholder which are commonly used in all the browsers mean all the HTML Modern HTML pages also by label text so can we consider that as an enhancement for Selenium 3 Okay, can I just make sure I've understood is that finding an element by the value of an attribute or property? I don't know the difference. No one does No one's rising to that date Property There's a big debate in the project about one of the matters. Um, why haven't we got a locator for that? No one's ever asked for it. No one's ever contributed it And I think at this point Luke right right now I think if you were to say come into the IRC channel and ask that question the answer you'd probably get is you can certainly wrap the The API yourself and create your own Locator and usually that would delegate down to something like execute script if you needed to Although I would say from half of what you've just said it sounds like more complex CSS selectors or expat selectors that you could be using but there's there's nothing stopping someone from essentially implementing their own via the JavaScript executor and Sending us a pull request We would probably decline the pool which we might decline Actually locators is a good thing that remind people of in the w3c world that only ID and CSS and expat remain I believe The others are actually something like finding by class name or finding by tag name Just delegates down into a CSS selector We are actually going to be wrapping each of those calls and sending those for the implementations that speak w3c only Yeah, I mean the surface area of what we do is shrinking Not because we're taking away capability, but because it's possible to do an it but alternative implementation that means we have to require we have to ask vendors to implement less code and It's equally capable But then we care about your test and none of the locators are going away that we currently have they'll just continue delegating down in a sensible way that is equivalent and compatible Okay, cool. Thank you. You've been raising your hand for a while and then we'll come back there. Okay plus there and then come back Good evening again Sorry, if I will be a repeat it. I just joined a bit later I Would like to hear from you Do you think that they're running the selenium's on the headless browser such as the phantom jazz? is really helping us winning at runtime and Another question is one question at a time so we can Related to the same so and if there is other other benefits on running on the headless browser rather than the Running the tests on operation system. That has no UI. I I have opinions is one of the more terrifying things that people here in this project. Yeah It's always willing. I have opinions Headless testing is very attractive, but ultimately pointless I'll do that the sort of strong headline first and now I'll add the caveats Like why do I say that and the reason is Nobody out there uses phantom JS as their primary browser particularly in headless mode Just no one right and so you can see teams spending time and effort Fixing tests that won't fail in the real world and your tip your test automation engineers your software engineers the people Maintaining these things only have a finite amount of time Right and so if you're asking them to fix something that isn't actually going to make any difference Then that's a waste of time now If those tests ran an order of magnitude faster, then it might be worth making that investment But it turns out that it's still got to do Effectively all the page layout Figure out everything run all the JavaScript do all that the JavaScript engine is a few generations behind What is in the latest browsers? So the JavaScript engine is slower And the computational efforts of laying out the page is still required And so the only thing you're saving is painting the pixels to a screen. Well, whoo Like that isn't the thing that takes all the time So from where I sit I would actually prefer to use a virtual machine Spin up a real browser just test with the thing that people use phantom JS is based on webkit So I would probably do something that is a webkit derived browser if I wanted comparable speed or better speed and that kind of suggests Chrome or maybe in the next release of OS 10 or Mac OS is it's now now known the Safari driver But I realized people might not agree with me there. I think we all agree. I Can give some real-world data to that real-world data rather than just anecdotes So we encountered a bug actually in phantom JS especially with the version of webkit that it was running that our app crashed actually in only in the phantom JS version that of webkit that were they were running It didn't happen in Chrome didn't happen in Safari didn't happen in any other real-world browsers and our tests started failing and we We have a gate for every check-in that has I mean some We have a Smokes set a suite of tests that have to pass before any check-in can go into the source tree And these were failing because of this phantom JS bug and so because of that and we weren't able to upgrade and and and We actually switched to Chrome in in those test suites. So The performance difference actually was it's it's slight We added probably probably like two minutes or so I think to the to the 70,000 to the whole suite. Okay, but that It was There's two. I He's asking me time deltas of this thing and I can't tell you because too many other factors were changing all the time But at least it's those tests have become stable and aren't causing any issues because the driver itself Remember 2007 we used to have the web kit about Web driver and that we did a lot of work on they eventually just gave up on that as well So for me again, these headless browsers don't really have much value Much better test with the flaws of the real browsers and they have plenty bugs for us to find Without us testing on something that user don't use Right, I'm guess you're gonna say but I need headless testing because Okay, I just want to say that I asked the question to find out that we are on the same ground and I'm happy that you all all you say I had the same thing in my head Based on my experience because once I just in the morning I woke up and I say why not to run on the headless browser Maybe it's faster or maybe it has some benefit and in the middle I find out that the project will not be succeed and just I drop it and all the problems that you are mentioning I I filled on my skin and Doing all the bags and even I even didn't win any time on running on the headless browser because it's the time was the same the only thing that I find out that is positive thing that you can run on the OS without any UI, but it doesn't work to spend so much time for that the initial The initial thing that we tried to do that. It was like running a test on the phantom. Yes before the pull request Like to make sure that there is no massive failures then have on the real browsers that nitri runs which will give the real real like real Result, but then we drop it I will come over and high five you later for having exactly the right way of thinking Another gentleman over there has been raising the hand for a while Yeah, I want to add one tidbit of information about phantom JS and ghost driver. It's been unmaintained for a few years now so Be anyone who wants to step up and help maintain ghost driver They're looking for people to continue to contribute, but it's become Relatively inactive on the essentially on the web driver implementation in phantom JS I don't say that phantom JS itself has been come inactive. It's our driver implementation in phantom JS has been completely inactive Yeah Okay, so for those of you who are at home Listening because Aaron doesn't have a microphone Chrome are working on a headless implementation when that ships. That's a real browser that people actually use it might be worth testing on But I think we can now leave headless testing Okay, excellent and take the next question Right, so hello. I have a question mainly for Marcus. I'm guessing when building a selenium framework Do you prefer to pay to build it more based on static methods and statically and then not require the user of the framework to actually Initialize anything or do you prefer the more dynamic approach with initializing all the page objects and stuff like that? And if you could elaborate on why? This is a coding preference question. I'm sure If I was being super hip and trendy what I would do is a pure functional approach and Probably write it in like closure or a lisp dialect or Haskell Yeah, do it entirely in Haskell and you know have the test run as a side effect, which is obviously a bad idea My personal preference is I tend to be a fairly Classical OO developer like I like to have objects that do things and I like object orientation. I find statics to be Unpleasant just particularly in the environment are normally run Which is Java because you screw up a whole bunch of things particularly around the ability to run tests in parallel like the singleton Implementation of I'll put the value on a static fields It causes all manner of chaos unless everything is completely stateless if everything's completely stateless. It doesn't matter I just knew things up anyway because then I know that I've got these disposable things and there's no possibility of thread pollution Does anyone else like to do things slightly differently?  So most of us here would avoid statics except oh No, I'm gonna go a level deeper and say dependency injection non-static Give the test or everything they need when they land in the universe I'm maybe more extreme than Simon there Thank you So there is one thing I would add to that which was the original if you go back to like 2007 when I talk about page objects at GTAC So we're now almost 10 years ago. The idea was that a page object was representing the services offered by a page And so you would return from those page objects the next thing that you would navigate to and things like that And therefore It kind of implies that you're newing objects up and you're passing them around because what you're doing is you're saying to a user Here's the behavior of my application and then the app The page object is the only thing that knows about web element and how to find things and how to deal with that And the advantage of that encapsulation is that if you change how the page objects behave If you change how the pages behave then the page objects change on top of that the idea was that you would build workflows Which were more sophisticated Antony and Andy tomorrow I think it is have a talk about their evolution of that pattern into the screenwriter pattern Which seems really interesting as well So if you're interested in writing your own test frameworks and how to do that in a nice way that might be a really good talk to attend tomorrow Cool. You have time for one last question and this Ask your question, please Yeah, so I don't have a question, but I would just like to share my experience with selenium web driver and angular j s applications Since there was a question around so there's something called fluent selenium, which is available Which can be which works perfectly with angular j s applications It's a wrapper over selenium web driver written and it has ng wait as a method which actually waits for the Angular j s page to load and you can you know work with that very well I've been using it in my project and I have not written any thread dot sleep or Implicit weights explicit weights in my in my code. So you can just explore that That sounds awesome. Thank you very much Sorry, what was the name of that frame I can get in your member we can download it from it's fluent selenium Fluent selenium You speak into the microphone place sure the question is Is there any future support for WPF applications? We have just opened that application in Windows machines and we have the browser Interface in it simply we have the same kind of application in Mac as well in Linux So just want to know is there any future support for that? WPF applications. Okay. So selenium is a browser automation framework WPF is not a browser. So technically no In reality, there's been a project that's been around forever called white Which is written here in India actually here in Bangalore. It was started Yeah, it's a dotnet project that that is pretty cool. I think Microsoft have something I Think I'm not sure. I know that eBay. What did what did eBay have? Microsoft has UI automated. Oh, they had they had a runner as well, which they open sourced and things like that Yeah, Francois wrote it There are things out there that allow you to use the web driver APIs or similar APIs to test WPF applications That's sort of moment. We've got an embedded web control is difficult If you were using the original versions of water that could you could say hey look here's a control and then it could hook into it We never implemented that We have implemented something by ourselves. We are customized using see sure See language and we are able to get into that but While switching to one windows to another windows, we are facing issues. That's why okay. Yeah I mean, it's just the devils and the details Okay, excuse me one second if you're having a conversation that's cool But can you make it so we can't hear it here on the stage because I'm trying to listen to the question Thank you Yeah, just it's just a application that you open and we see the browser interface in it So we are able to automate right now. You we have implemented using see language but actually we have implemented through 32 bit and And we have to change it to 64 bit. So we are entirely we are to change the scripts So that is where we are facing issues because we have to switch from a parent to child there Yeah, I mean that just sounds horrible. I'm sorry. I Don't have a good answer for you. I all I can offer is sympathy and support Does anyone else Windows machine the same we are to implement in Mac as well in Linux. That's why okay. Yeah as far as I'm aware There isn't a cross-platform cross-windowing toolkits Automation API that uses a web driver API's Anyway, yeah, sorry. I think it's the best we can do here. Maybe a hug or something All right, awesome, I think we are running short of time. So we'll try and wrap this up So thanks for the Selenium community to come here and answer some of the questions in as entertaining manner as possible Hopefully you guys got some of the answers These guys are around for tomorrow as well. So feel free to grab them and have more questions answered