You're watching FJTN, the Federal Judicial Television Network. The Federal Judicial Center Production, Bankruptcy and Revised Article 9, a program for judges, law clerks, and bankruptcy personnel. Now from the studios of the Federal Judicial Center in Washington, D.C., David Lander. Hello. This month, a quiet but crucial change took place in the practice of bankruptcy law. Revised Article 9 of the UCC, which governed security interests and personal property, became the law in all 50 states, although a handful of those states are postponing implementation. With that change, many of the rules concerning creation, perfection, and enforcement of security interests have also changed. What you need to know about those changes and how they are going to affect your work is the subject of this program. Here to help us sort through the complications of the new law are four of the nation's experts on the subject. Judge William Hillman, Chief Judge of the Bankruptcy Court of Massachusetts and one of the drafters of the revisions will give us an overview of the changes. Professor Bruce Markell of the William S. Boyd School of Law at the University of Nevada, Las Vegas will talk about deposit account, including priority issues and a bit about the consumer changes. Professor Linda Roosh of Hamlin University School of Law in St. Paul, Minnesota will discuss perfection with an emphasis on filing. And Edwin E. Smith of Bingham Dana in Boston, Massachusetts, another of the law's drafters will cover transition issues. Welcome to all of you, and thanks for being here. Before we begin our discussion, let we remind you that written materials for this program and a one-page evaluation form are available on our website. We urge you to fill out this short and simple evaluation and fax it back to us at the number printed on the form. It is the only way for us to know if you found the program useful and if there's any way for us to do it better. Judge Hillman, as I've said, you were on the drafting committee and have been working on the revisions for nearly 10 years. We know it's far longer and more complicated than old Article 9. Will you kindly give us an overview of the highlights of revised Article 9? Certainly, I'd be glad to. Yes, it is longer. That's the first thing you'll notice, 126 sections instead of 55 in the old nine. And the worst part of that, from my point of view, is that you have to learn all new numbers. And that'll take us all a while to get down. You know, when I was a very young lawyer, the president of the local bar stopped me on the sidewalk and asked me to address the bar on the Uniform Commercial Code, which was soon to be effective in that state. The reason he picked me is that I was one of the few people who had ever heard about the Uniform Commercial Code since I'd just come out of law school.  Well, here we are, David, 40 years later. I hope it's not that bad. No, it's not gonna be that bad. Well, it's deja vu all over again for me. The biggest change that you see when you think about the new nine is the simplified filing venues. That's the big, big change. Under Revised Nine, all filings are at the location of the debtor and the location for entities like corporations and limited partnerships, those kinds of entities who have to register somewhere is their state of creation. An individual debtor is located at his or her principal residence. The result of this change is that a single filing will do for most all transactions. Local filings been eliminated in those dual filing states, which is going to save a lot of grief for a lot of people over the years, except for the truly local collateral, such as as extracted collateral, timber to be cut in fixtures. Those filings go where they belong in the real estate records. Other issues on perfection Linda will handle in just a few minutes. Another simplification that's minor but will make our life somewhat easier is that all of the dates which used to be 10 days for this and 21 days for that are now 20 days. So if you remember 20 days, that's the time in which something has to be done. Now the scope of Article Nine's been changed somewhat. One thing is that security interests and payment intangibles and promissory notes have been brought in and added to the old nine coverage of sales of accounts and chattel paper. A payment intangible is a general intangible under which the account debtor's principal obligation is a monetary obligation. An example would be a loan not evidenced by a note or chattel paper. It's a subclass of general intangibles. Promissory notes, which are self evident to I guess most of us, it's a subclass of instruments appropriately. It evidences a promise to pay rather than an order to pay, which would be a check. Certificates of deposit are not promissory notes. Deposit accounts, Bruce will be talking about so I don't have to talk about deposit accounts but that's something new and large brought into Article Nine. Agricultural leans were never covered by the old Article Nine and now they are to some extent. Consignments are also true consignments and now also covered by Article Nine. Ag leans are non-possessory statutory leans on a debtor's farm products in favor of a landlord or a supplier of goods or services to the debtor in connection with the debtor's farming operations. Now, the law outside of nine is still going to govern creation and attachment of Ag leans when you get one. It's not a security interest. Revised nine only applies to the extent that it expressly refers to Ag leans but the holder of the Ag lean is a secured party so when you're looking at enforcement you look at secured parties and you see how it goes. This is probably the only area where you have a statutory lean being defined as a security interest in revised articles. Right, but it works out neatly. I mean this is I think a major improvement in the enforcement of Ag leans which have always been a bit of a problem. There's a new concept in nine for healthcare insurance receivables. Their interests are claims under a policy of insurance that's a right to payment of a monetary obligation for goods or services rendered. Now, you recall under old nine, nine did not apply to a transfer of an interest in or a claim under a policy of insurance except for proceeds to some extent. The new section creates an exception to the exception so that an assignment by or to a healthcare provider of a healthcare insurance receivable and any subsequent assignment of that right is now an article nine transaction and this will certainly facilitate security interests in healthcare receivables held by providers as original collateral and not only as proceeds. Technically healthcare insurance receivables are a subclass of accounts. Commercial tort claims have been brought into article nine to a limited extent. If a commercial tort claim arises out of the borrower's business or profession except for after acquired tort claims which don't come in and claims arising out of personal injury which also don't come in. This inclusion will make it possible for the injured party who holds such a commercial tort claim to borrow against it, perhaps securitize it. I'm not so sure where it's going to go but it's an interesting concept for us to consider. Or that's a lot that they brought in. One commentator has asserted that the effect of revised article nine is mostly to make sure there's no unencumbered assets in a chapter 11 case and no section 544 recoveries in a chapter seven case. What do you think about that statement? Well, no one could deny that there was a strong feeling among those representing secured creditors who were active in the drafting process that trustees should be deprived of assets. But I think when you come down to the bottom line, when you come down to the bottom line, I think we're going to find that it doesn't make an awful lot of difference. For example, now revised article nine says that the secured creditor has a security interest and deposit accounts can have. Well, we could always do that in the past. It just took more paperwork. You might need a lock box or some other kind of device. You could do it. So I think if you look at the practical impact, trustees are not going to be deprived of much, that they weren't deprived of previously by aggressive secured creditors. Judge, the point that you make about how bringing in these additional items of collateral into revised article nine doesn't mean that only now for the first time can you take a security interest in those assets. You just had to do it under other law when we were dealing with former article nine. And other law was often hard to find. It was expensive. So the net effect of bringing in these additional assets may, yes, make it easier and simpler for secured parties to take security interest, but it'll also be cheaper. And hopefully the benefits of having a lower transaction cost will be passed on to the debtors. Well, perhaps so. It certainly will make it simpler. And as an old timey loan dock person, again from my youth, I'd like things that make loan transaction documentation simpler. Although it'll be interesting to test that proposition empirically. I mean, it's unclear to me that you have an economy that can really absorb those kinds of costs in terms of deposit accounts and the other things that are brought in. I think the other point that was made, I think that you made earlier and I think Linda will make later, is when you have a more simplified filing system, you have less opportunities for 544 actions, because there's less opportunities for the secured parties to file in the wrong place, because there is no. It's harder to pick a wrong place. Less random loss. Right. And that I could support. Well, if you look at the 1,000 cases and how to foul up a financing statement, that's 1,000 reported cases. You'll find that very few of them were filing in the wrong place. Most of them were, I didn't spell the debt as name-writer. I got the secured parties addressing correctly, or I picked the wrong generic for the collateral. So you're saying there's still hope out there. I think the learning curve under the old code took, it was about 20 years, I think, before the cases really died off. I think we can look forward to another 20 years of documentation cases under new nine. Why don't we move on to the next? OK, parties, parties. There was this peculiar thing I always considered peculiar under old nine, where the debtor, the word debtor, meant both, or either, the ower of the obligation and the owner of the collateral. And there's one wonderful sentence where the word is used both ways in the same sentence, which was always exciting to teach to students. Now, new nine resolves the semantic problem by restricting the meaning of debtor to the person who has an interest in the collateral. The person who owes the obligation is now the obligor. And of course, one person can be both, but we have the distinction which makes characterization, I think, somewhat simpler to handle. As far as secured parties go, there was this arising issue about who you would name a secured party if the secured party was more than a single entity, either trustees, securitized transactions, syndicated transactions. What name or names did you put on the financing statement? How did you know if the whole group hadn't been brought together yet? Well, to the extent there was a problem there, that has been solved. New nine has an expansive definition of the various interests that fall within the defined term secured party, so we won't have that problem anymore. The next issue, and we're really, we're walking down a financing statement. We've done debtors and creditors. Now we'll go to collateral description. There are certain new kinds of collateral descriptions which one could look at and one should know about. One is embedded software. Software is a new concept for Article 9. A computer program and any supporting information provided in connection with a transaction relating to the program. That's software, and I think that's a good definition. There's an exception to the definition. The term does not include a computer program that is included in the definition of goods. So now we go to the definition of goods and we find the new goods definition. The term goods also includes a computer program embedded in goods and any supporting information provided in connection with the transaction relating to the program if one, the program is associated with the goods in such a manner that it's customarily considered a part of the goods or two, by becoming an owner of the goods, a person acquires a right to use the program in connection with the goods. The last sentence is that the term does not include a computer program embedded in goods that consists solely of the medium in which the program is embedded. If you have software and it's not embedded, then it's a subclass of general intangibles which is where I think most of the pre-new nine cases put it. Just let me give you a couple of examples. I have a microwave oven that teaches me step-by-step how to set the clock. The program that's embedded, literally embedded in the guts of that microwave to teach me how to set the clock is embedded software. On the other hand, this CD, which contains 220 Solitaire games, the contents embedded on the disc in a physical sense. However, the disc is merely the medium and so the software is not embedded for our nine purposes for revised nine purposes. They didn't tell us we'd bring toys. Right. I never go anywhere without my 220 Solitaire games. That's a great example. It helps us learn. There's a looser definition of farm products which is going to wipe out a whole bunch of cases which we're amusing for everyone except those involved which led to substantial confusion in cases concerning, for example, gentleman farmers, bankers who raised horses and the like. Under revised nine, the focus instead is on whether the debtor is engaged in a farming operation and farming operation is very broad. It includes aquaculture. And so now if I were to cultivate a single beanstalk to supply Jack with the way with all for the fairy tale, I would be creating a farm product even though my principal occupation is not agro or aquaculture. So at least we know there are clear rules for Jack to raise financing to have that. Exactly right. It can be securitized now down bean by bean. So it's the harp products but that's another matter. One of the persistent problems under oh nine was credit cards, credit card receivables, that is. What is created when one signs a credit card slip? It really wasn't a big issue in the early years of nine but then as pools of credit card receivables became the subject of secured lending, securitization and other substantial sophisticated financing deals, the issue became more acute. Nine eliminates any issue, I think, by specifically providing that credit card receivables are accounts and we know how to treat accounts. And speaking of accounts, accounts is one of the big changes in definitions under the new nine. Accounts was expanded in 1972 when it picked up contract rights and now it has gone even further. The pre-revision definition of accounts is 36 words long. The new definition is 233 words long and my little calculator tells me that's six and a half times longer. So accounts has drawn in a lot of things including a lot of things that under pre-revision law were generally regarded in the cases as general intangibles. Now they're specifically under nine. Things like, for example, rights to payment, not just the usual kinds of rights to payment but for real property sold, intellectual property licensed, surety ship obligations, policies of insurance, use of a credit card as I've mentioned and government sponsored and licensed lottery winnings. They're all now in the definition of accounts and we know how to deal with them. And as I noted earlier, a healthcare insurance receivable is an account under revised nine. Judge, when you mentioned before that a payment intangible was a subcategory of general intangible where the principal obligation was to pay money, people have to bear in mind that this definition of accounts is expanded and the definition of general intangibles is contracted so that the category of payment intangibles is a fairly narrow one. Most of the types of payment streams that people are familiar with will be picked up in the definition of accounts. Thank you. That's going to be good. It's another simplification device which I do favor. Staying with the definition of issues, it's my understanding that the definition of proceeds has been expanded and changed quite a bit. And I wonder if you could tell us about that and then one of the things I know, one of the places that's most important for bankruptcy judges is that section 552 of the bankruptcy code uses the word proceeds and it's an important section and there's always been this question about whether since you have the word proceeds in the UCC and if you had the word proceeds in the bankruptcy code whether bankruptcy judges should look on proceeds, you should consider their definition altered by article nine's definition being altered. Well, first of all, we have to go back to the basic issue of was old nine the defining source for the definition of the word proceeds in the code? That's an issue. There are cases both ways. I think bumper sales was the only court of appeals opinion that said yes, we'll look to old nine for the definitions. There are cases to the contrary. The worst problem we have is that under the bankruptcy code in the history of section 522, you find this sentence. Legislative history of 552, 552 excuse me, not 22, states precisely that the term proceeds is not limited to the technical definition of that term in the UCC but covers any property into which property subject to the security interest is converted. Well, assuming that you take that as definitive of the meaning of the bankruptcy code then no, proceeds as defined in the UCC were never bankruptcy proceeds. And what were bankruptcy proceeds? Gosh, who knows? Who knows? It's not limited to. So the argument would be, I would think that the UCC definition still had room to grow. In bankruptcy only. Yes. Well, for purposes of interpreting 552. For 552 was broad. Right, so now we get to the new definition, the new expanded definition of proceeds in revised nine and the question is, will the not limited to language sock up the new definition so that new proceeds which weren't old proceeds will now be subject to 552? And frankly, I don't know. And it's even, I was gonna say, I mean, in one sense doesn't that just force a bankruptcy judge to be more honest because even if you do find it proceeds you might be able under 552B to invoke equitable powers to allocate? Well, that's the next thing. The question is how big are the equitable powers going to be? And if I were to guess, I would say that by increasing the scope of proceeds you're increasing the temptation to expand the equitable powers to the extent they're expandable. Under 552, which has a. Under 552. The exception to the exception, exception that says based on the equities of the case. That's right. But that's, it just makes judges more honest. Before they could do a little shifting dance with what the definition of proceeds are and find that the estate gets it. Now if they want that result they're gonna have to justify it under the quote equities of the case. Well, I'm not sure you're going to keep me off the dance floor on that subject. Well, know what I try and do there. Well said. Judge Hillman, what do you make of the fact that there's a different standard for beating the trustee from beating just about anybody else? That's a pretty controversial piece of revise nine from the bankruptcy trustee's point of view. Oh, it is indeed. You mean lean creditors, do you? Yeah. Right. Well, for lean creditors read trustee and bankruptcy. But yes, we know what we're talking about. This is a hot issue right now. As a matter of fact, there's a new law review article called the Anti Bankruptcy Act, revised article nine in bankruptcy. It's in the spring issue of the ABI law journal. And the author of that piece says that the changes incorporated in nine to which David just referred are contrary to bankruptcy law and policy. If that turns out to be the case, you know which way the judges are going to go because the supremacy is still there. The draftsman of the code in an article which follows the one I just quoted, say the following. Subject to extremely limited exceptions, the bankruptcy code offers a blank check to the makers of non-bankruptcy law to define and delineate property law principles that will prevail in bankruptcy. With all respect to my friends, Harris and Mooney, I think they're wrong. Those are the reporters. Those are the reporters. Those are the reporters. Because the rule, everyone cites the Butner case from the Supreme Court as a question of deference to state law. That is the bankruptcy court looks to state law to define property rights. Now I'm not going to get into an academic discussion with respect, my colleagues, about the difference between a property right and a contract right and whether there is a difference for bankruptcy purposes. But there's a big exception in Butner, if you read further on. And that is that deference only applies in the absence of some federal policy requiring a different result. Now when state law does something that changes the bankruptcy distribution scheme, then the federal law, the bankruptcy code, will take, apply its supremacy over the state law. But that's a hard call to make, isn't it? I mean, you can see the federal supremacy in areas, for example, like claims allowance. 502B is full of, chock full of federal overrides of state law, landlord claims, compensation, those types of things. But you don't have a similar statutory directive with respect to lien creditors and judicial liens. To take a position I don't usually find myself on, if in fact the statute treats lien creditors under state law the same way and then gives bankruptcy trustees or state representatives the status of lien creditors, what's wrong with that? I mean, aren't there lien creditors under state law? You get the last answer on this before we move on. You prefaced with if state law treats everybody the same. But we're talking now about specific provisions in Revised 9, which don't treat everybody the same, I think. This will certainly be one of the areas where we're gonna see a lot of interest and a lot of opinions. Oh, I do think so. I just think it's a little extreme though to say that the statute says this secured party defeats lien creditors and treats purchasers differently in every instance. This was something that was carried over from former Article 9. Those distinctions were there. Those distinctions were continued in Revised Article 9. Now maybe they were more finely tuned. But I don't think that this is a radical departure from what we've seen on the difference between reliance and non-reliance creditors. These are strongly held views and we've heard some different pieces and there will be a lot in bankruptcy pieces. Judge Hillman, thank you so much for that excellent review. I know it's hard to do on something like this in a very short period of time. Professor Linda Roosh, Linda, the rules for perfection of security interests and personal property are one of the areas where Revised Article 9 makes considerable changes. Please help us to understand those changes. Well, I'd be glad to. I think that the perfection rules constitute a large piece of the changes in Revised Article 9, particularly in the filing area to make filing easier, I hope. But as we talked about before, there's plenty of opportunity to still make mistakes in the perfection of your security interests. To start at the beginning, perfection means under 9308 of Revised Article 9, the perfection of security interests is the perfection step plus the attachment step. Most of the time, when Revised Article 9 talks about perfection, it means it in the defined sense in 9308. However, there's one area that we're gonna talk about, which is the choice of law rules, where perfection only means the perfection step, not the attachment step. Well, on the first slide here, you can see that the methods of perfection under Revised Article 9 are the same as under old Article 9. Well, that's a good thing, so there's something that is the same. Right, you have basically four categories. You defer to other law, like deferral to federal law, where federal statutes or law preempts, Article 9 for perfection step. The issue in that is that the revision narrowed the exception. In other words, the old exception for deferral to federal law was not key to a preemption analysis. So for those of us who haven't thought about law since law school, we will have to go back and learn what it means to have a federal statute or scheme preempt state law. The second area of perfection is automatic perfection of a security interest, and there has been some additions, but the concept is the same. There are certain types of security interests where it was decided that it wasn't necessary to have some sort of public notice where the filing scheme might disrupt practices, such as in sales of payment intangibles that were brought into Article 9 and then to put them into a filing mode would disrupt the existing commercial practice for really no good reason. All of those methods of automatic perfection are indexed in Section 9310. And Section 9310 is the spot you should go to see all of the perfection steps gathered in one convenient place, and it refers you out then to the other sections for the precise rules. The third major type of perfection is possession or control. Old Article 9, of course, allowed you to perfect your security interest by possessing the collateral or in some instances controlling the collateral, and revised Article 9 continues that as well. Now, there is very few types of collateral that you can't file to, and there's one type of collateral that you must possess in order to perfect, and that is money. Not rights to money, but money, currency, something that's declared by a government to be currency in a country. That's the only thing that you have to perfect by possession, unless it's proceeds, of course, and then you can use the proceeds' perfection rules. Linda, if the secured creditor wants to perfect by possession but doesn't have possession, what must it do under revised Article 9 to show that a possession by a Bailey constitutes possession by the secured party? Well, that's an interesting question because this is one of the fascinating areas of changes in revised Article 9 that when I teach it to my students, I think that somehow it's made a little bit more complicated because you have to actually separate out the steps of possession into four different areas. First of all, if you have a document of title issued for the goods, for goods, a document of title issued for goods, put that aside for a minute. We're not talking about that situation. Second, you have to think about is the third party who has possession actually an agent of the secured party under agency law? And put that in another box. Now you have the Baileys who are not agents who have an issued document of title and for that group of possession by third parties, you have to have an acknowledgement by the Baileys in order to perfect by possession. And that acknowledgement is really in an authenticated record that they hold for the benefit of the secured party. Those Baileys don't have to make the acknowledgement. In other words, they're under no duty to make the acknowledgement, at least by virtue of Article 9. They might under some other contract law have such a duty. And once they make the acknowledgement under revised Article 9, they have no duties because they've made the acknowledgement. They don't have to actually comply with the acknowledgement unless they have an agreement to comply with the acknowledgement. So that acknowledgement idea, I think goes back to the idea of a tournament, but kind of a lesser version of a tournament under the common law. Now for Baileys who have issued documents of title, you separate it into two subcategories. If there's a negotiable document of title or if there's a non-negotiable document of title. If there's a negotiable document title, you perfect by perfecting as to the document. And you can take possession of the document or you can file as to the document. If there's a non-negotiable document of title, then you can perfect by mere notice to that Baileys. It has preserved the same rules as under former Article 9. So I think that those rules make sense when you break them all down. And they're found in 9.3.12 and 9.3.13, but you have to kind of put them in their boxes to have them make sense. Thank you. And you also have to know agency law, and bailment law, and property law. So Article 9 isn't to be all and end all of all this stuff. Well, I guess not. But what I think is fascinating about that is that when we're teaching Article 9 or when you're reading Article 9, you get the sense that Article 9 is the world. But those common law concepts are still there. And under the table and in the comments, it will refer you to the areas of common law that you need to pay attention to. But there are some rules that prior, under old Article 9, the rules were not as clear in certain situations for how you can be sure that a party who wasn't you is determined to be. There were some conflicting cases when the stranger makes the notice, and who is this person, and what are my duties to the person? How do you convince that person who's got it to be your, to be holding for you? It was a confusion in the law of bailment as to what the duty of a bailee was when a third party claimed an interest. And at least that law of bailment tends to be clarified and revised Article 9, but you still have to know the other incidents of the law of bailment and the law of agency in order to have a full understanding of the situation. Can I just wonder to what extent these provisions are going to be all that useful now in practice with the expanded ways in which you can perfect by filing? Well, I don't know. My experience has been that, and one of the ways in which I teach Article 9 is that there are multiple ways to do things, and I think what will happen is it will be the rare and confident lawyer who will say, I can file by perfection, just do that one. In fact, there's another way to do it by possession. Which often beats the filing. A belt and suspenders approach, for example, because as you just said, I mean, you just don't wanna just beat the trustee, right? You wanna beat other parties. Right, and there will be many instances where the method of perfection will determine the relative priority of the parties. And so that's something that actually requires a thorough understanding of the perfection rules as they relate to the priority rules in order to decide what level of comfort you have. Just one quick clarification. David, you said in many instances the party with possession will beat the party out of possession, and that's true, but there are a number of instances where that's not true, where the normal priority rule of Article 9 would apply, which is the same that we had from former Article 9 first to file a perfection. I was thinking about instruments from one of the years. You assume a mortgage warehouse financing. Yeah, documents title. And there are also instances in the other part of possession. I always seem to group possession and control because it seems to me control is a concept like possession, but for stuff that you can't really possess. And the Rez Article 9 allows control as a method of perfection and actually defines control depending upon the type of asset. And I think that's, it's a very important idea. Unlike possession, which requires you to think about the old Article 9 case law on what it took to adequately possess, how much of, you know, you have to exclude the debtor from access or control, escrow agents, third parties who had possession. You have a common law sort of development there. Control is as defined in the statute. You should not or it wasn't intended at least to make up what control is. And control is defined differently depending upon each type of asset. And those definitions are in 9.104 through 9.107 and define control for investment property, deposit accounts, letter of credit rights and electronic shadow paper. And so I think it's very important when you think about perfecting by control that you look at the statute and make sure that you're not making up some concept of control that sounds like possession because it's a defined statutory concept. Electronic shadow paper doesn't quite roll off the tongue. No. But what that is is really the equivalent of electronic form of the paper shadow paper. So you need to have some sort of concept that's the surrogate for possession when you're talking about an electronic record. And that is one of the beauties of revised Article 9s. It takes a number of things that really weren't on the table some years ago and recognizes their development and then comes up with some new rules just as original Article 9 did and does it quite nicely. Right. And I think that the other thing that just so far with Judge Hillman's presentation and what we're talking about now is the need to always go back and look at those definitions because there's a lot in those definitions. A lot of these terms that you haven't heard before are specifically defined terms and it's very important to read through the definitions very carefully. Linda, just a quick aside. You had mentioned we were talking about these daily notices, authenticated record. And one of the things that's probably worth emphasizing is the revised Article 9 is medium-neutral. Everywhere you saw in former Article 9 a writing requirement that now becomes authenticated record. Which means you can have an electronic security agreement, you can have one of these electronic notices as long as there is a record that can be later retrieved and as long as there is a way of authenticating who the sender is, right? Right, right. And I think that that's a very important advancement in practice, although I think it will take us all a little time to get authenticated record to roll off of our tongue as well as signed writing. Right. And perhaps the Secretaries of States to be in a position to deal with some of the authenticated records. Right. I think that the dominant method of perfection where revised Article 9 pushes people is to the filing system to perfect. And the usual rule is that you can file as to every type of collateral and you must file as to every type of collateral except for what's listed in 9-3-10-B, which lists the exceptions to filing. Now we're talking about security interests but I wanted to step back to ag leans because they've been brought in. The revised Article 9 requires ag leans to be filed in the Article 9 system with financing statements. Now I think that might take some ag lean holders by surprise as they won't be used to that. In some states, the states had already incorporated their ag leans into the Article 9 system but in some states that wasn't true. And that includes landlord's leans as well. So there's a lot of folks out there who didn't have to pay any attention to Article 9 before and now if they don't pay any attention to it. Landlord's leans in connection with farming operations given by farmers, not a retail landlord's leans which is still out. Thank you. Right. Thank you. On that, when you're looking at the definition of ag lean which Judge Hillman took us through, part of it is it's not all ag leans that you might think of as ag leans but only again ag leans is defined in Article 9. One of the big changes pushing people to the filing system is that you can now file as to instruments whereas under old Article 9 you could not. And as we've said before, the choice of your perfection method whether filing or possession or control sometimes affects your priority. Very much. So you wanna make sure for instance if you perfect by control, you'll generally beat someone who perfects by filing as to the type of collateral that you can perfect by control. Okay that takes us to the requirements to perfect and on the second overhead, I've listed the issues that you need to think about when you're filing to perfect. You need to think about is this collateral that I can file as to? A must I file as to this collateral and my choice of perfection step on priority. And we've already covered some of that. The other two parts of the filing system that you need to think about is what do I file? What's the appropriate thing that I file and where do I file it? When we're talking about what to file we are filing a financing statement which is a new uniform form of financing statement which I think I hope that all of the filing offices around the country will accept as the dominant form. If they accept the paper form they have to accept this uniform form. If they've passed their statute to, so do that. On that financing statement you will see that there are three things that must be there in order to have it be sufficient to perfect. And right off the bat I wanna separate two things. One is what you need to be sufficient to perfect and what do you need to have on the form to get the filing officer to take it. And those are two different concepts. The sufficient to perfect is in 9.502 and you need three things. You need the debtor's name, you need an indication of the collateral and you need the secured party's name. That's it. If those things are on there and correct and we'll get to that in a minute that's sufficient to perfect. No signature requirement. No signature requirement. Which I think is a good step forward because as I understood the signature requirement was never a bar to fraud before so I don't think it was much of a protection. The sufficient to file is covered in 9.516B and 9.516B lists a bunch of other information that must be on the form in order for the filing officer to take it and gives the filing officer the authority to reject it if those things are not on the form. But if those things are not on the form and the filing officer takes it, it's still sufficient to perfect if it meets the 9.502 requirements. And I think that's a very... And that's a new concept. That's a very new concept. Statutory concept at least. And the purpose of 9.516, as I understood it was to control, for lack of a better word, the filing officer conduct and to try to make it more uniform across the country to keep the filing officers out of evaluating whether it was a sufficient financing statement. That's right. No merit reviews of financing statements, right? Right, right. Now, in the things that are sufficient to perfect which I think are the more important things for bankruptcy judges and people who are evaluating security interests, the debtor name is by far the most important thing followed closely by the indication of collateral. So in the debtor name, to be sufficient to perfect, you have to have the correct legal name of the debtor. Does Revised Article 9 clarify the uncertainty regarding the use of trade names and the financing statements? I hope so. It says that it's neither necessary nor sufficient. And I would make the argument that if you add a trade name to the debtor's otherwise correct legal name, you might be taking the risk that you no longer have the debtor's correct legal name on there. So don't muck it up. Ban the trade names. Right, right. Take them off entirely. Otherwise you don't feel us too strongly. Right. No, I don't feel strongly about that at all. So there's some hundred or however many cases there are that we shouldn't have to have any more of those? I hope so. I hope so. The correct legal name of the debtor is a very important thing because Revised Article 9 I think raises the stakes and this goes back to an earlier point about it. There are going to be plenty of ways to make mistakes and this is one of them. The correct legal name of the debtor is required to be sufficient to perfect. And if you don't have the debtor's correct legal name, it's per se seriously misleading and you have one escape hatch. And that is that if you have a search under the debtor's correct name which brings up the wrong name, that's going to be okay and okay filing. Your name will still be sufficient to perfect. But that's going to depend upon 50 odd places of search logic of the filing officers. And so... So if you litigate that, a relevant fact would be what the search logic of the Secretary of State or whoever accepts filings will be. Right and the question is when it will be when? When you file it or when you litigate it? Right. Which they can change. And there's a wonderful thing in that statute, a statutory sentence about search logic which says if any, it seems to imply that there are going to be some filing officers that don't have any search logic. Well, there may be. There may be a few as we speak. So it raises the stakes. And getting the correct legal name of a register organization which is another new term which means a register organization is an organization where the state maintains a public record of the organization's name or must maintain a public record of the organization's name. Showing that it existed. Showing that it existed. I've heard it sometimes referred to as the state issues of birth certificate. Right. That's a little, actually a little, and I've done that too, but it's a little narrow in terms of what the definition actually is. Right. The state has to maintain a record showing that the organization exists. Right. And so if it's a registered organization, you should use the name that's on those organizational documents. If it's not a registered organization, then you have to figure out what the organizational name is and get that correct. And 9503 has some help in certain sorts of instances for certain types of debtors. I just have a quick question. I think it was the practice in lots of, at least large organizations to do what you would do on a revised article nine under old article nine, which was go to the secretary of state's office, get the articles in corporation and use that name. And for most of kind of the entities use today's limited partnerships, corporations, LLCs. Those are gonna be registered organizations, right? So if you've got a partnership, do you see lenders saying, become a registered organization because as a partnership, we can't be sure what your name is and thus we can't be sure that we're filed. And we don't wanna do all this kind of multiple name thing because we might fall in that trap you called earlier. I can see that being a reasonable request. There are a few lenders that will do that today in a number of different situations, especially where you have oral partnership agreements and they have some concern about the, that's right, whether the agreement that they get is one that's subject to being honesty challenged. And so they may insist on at least the entity, the group forming an LLC. Right, and I think that the place where it's gonna be most difficult is not in the registered organization case because you can cure that problem. It's the individual names, which I think will be most troublesome. For instance, is my name Linda J. Roosh, Linda Jean Roosh, or is it my husband's name? If I use that name socially, what is my name? Isn't it the common law rule? Is there a common law rule? What you're known generally for non-fraudulent purposes. Yeah, well, I won't say my nickname on tape, but I do have a nickname. Is that for borrowing money? We have about five minutes left for this section. All right, the other thing about the financing statement that's really important is the asset description. Can you use all personal property? There was a lot of cases about that all over the place. What do you think? On a financing statement, you may. That's a sufficient indication of collateral, but not in your security agreement. Say that one more time. In the financing statement, it's a sufficient indication of collateral, but not in your security agreement. But there's a wrinkle here, and that is in order to have authority to file the financing statement because there's no debt or signature, somewhere the secured party has to have an authenticated record with the authority. The security agreement is deemed authority to file the financing statement, but only as the collateral specified in the security agreement. So for instance, if my security agreement says accounts and inventory, unless I have also signed a separate authorization, the secured party can't file an all asset financing statement. It can only file an accounts and inventory or whatever I said the collateral was. Because it's beyond the scope of the authorization. So I would suspect that in security agreements, there will be blanket authorizations to the extent that the secured parties can get them to be able to file an asset. That's becoming a very standard provision. We only have a short time left, so I wanna just hit the highlights of where to file. Within the state, it's centralized filing except for the real estate clarify, which is what Judge Hillman said. I just wanna caution you to look for non-uniform amendments there as revised article nine went across the country. There's gonna be some wrinkles in that that you need to be aware of. Which makes the next issue about what jurisdiction to file in very important. And revised article nine changed significantly the choice of law rules. The choice of law sections are 9301 through 9307. Generally the location of the debtor is going to control where you're going to file the financing statement. However, there are a list of exceptions starting in 9301-2 through 9306. And those exceptions are very important. For instance, if you have a possessory security interest, of course you're not filing, perfection is governed by the location of the collateral. For an agricultural lien, you're filing, but perfection is governed by the location of the collateral. The other major part of the rules on location of the debtor is contained in 9307, which sets out where's the debtor located. A registered organization, the debtor is located in that jurisdiction. Where it's organized. Where it's organized. The important thing to also remember when you're reading through the choice of law rules is to notice that some of the rules talk about the perfection step and the priority or the effect of perfection and non-perfection. Sometimes your law will be two different laws. In other words, sometimes you'll file in Jurisdiction A, but the priority rule will be from Jurisdiction B. And instead of lumping them all together. And I think that as you go through hypotheticals, I've tried to find cracks in this system. I think it's going to work pretty well, although it's a little hard to get used to. So that's something to look out for. And that's certainly one of the areas of the greatest improvement, it seems, like that there's many, many transactions where people had to search and file in lots of jurisdictions under old Article 9. And in a vast number of those, certainly there are exceptions, but in a vast number of those, they're both on after we go look at transition for in the future for new transactions afterwards, that should be just an enormous simplification. Once we get through this post-transition period that we'll talk about, yes, you're going to have one place to file and place to search. Do I have time to make one? Yes, one more point. One more point on the post-closing events, which may make you unperfected. Really, Revised Arc Line really simplifies that. And there's really only a couple of points that might make you unperfected. One is if you have a debtor name or structural change, and you should look at 9.507 and 9.508 for those rules. And the second point is if you have the debtor's location moving to a jurisdiction. Or on a certificate of title, you have a certificate of title being issued by another jurisdiction. And those rules are contained in 9.316. So most of the time, if you are perfected, when you file, assuming that you continue your financing statement appropriately with the five-year time period, you're going to remain perfected, except for those two major changes, change in location or change in debtor's name or structural change. Super, that's very helpful for an area that's very, very important. And while there are a lot of complications, there are a lot of enormous improvements in this area of the law. Now we're going to turn to Bruce Markell. Bruce, perhaps the most important type of collateral that's brought within Article 9 is deposit accounts. What kinds of accounts are in? What kinds of accounts are out? What are the rules for perfecting? And the priority is just one issue that Bruce is going to talk with us about. He's also going to talk with us about some special consumer rules, Bruce. Thanks. What I want to do is I want to, unlike Judge Hellman and Linda, talk kind of generally, I want to talk about something really specific, and that's the deposit account, because it's a major change, I think, in revised Article 9. And I want to talk, as you indicated, of kind of what's the coverage, because it's maybe a little bit tricky. How does one create it? How do you perfect an interest in it, some default and enforcement rules? And then I want to kind of conclude, at least that section was some questions that I think the intersection of these new rules and bankruptcy relate. First, if we take a look at a deposit account, in some respects deposit accounts were always in Article 9, certainly as to proceeds. And those rules in the most part don't change, except as Judge Hellman indicated, we got some different rules on proceeds and the like. But those rules, if you were an inventory lender before and your inventory was sold and you wanted to be able to trace that those sell proceeds into account, more or less those same rules are in effect. We did repeal the insolvency process. All right, that's what I said. And those were probably never even going to be effective in bankruptcy anyway, because of preemption. And that's what I said for the most part. So there obviously are going to be some changes. Well, since you're trying to bankruptcy, Judge, is that what I'm saying? That's right. Yeah, 93064 is gone. I mean, it rested. Well, the opportunity for people to write law revutals out of God, is that gone as well? Oh, yeah. 9306 may it rest in pieces. I mean, it was a horrible statute to begin with, and thank God it's gone. When we start talking about bringing our deposit accounts in revised Article 9, also note that at least five states prior to revision had it in, and not some insignificant states, Illinois, California, California's had it in their Article 9 for over 25, 30 years. So it's not exactly like we're moving into a brave new world where no one knows what's going on. And when you step back, you take a look at what a deposit account is. It isn't intangible. It's something that is really just a receivable owed by a bank. When you put money in the bank or when you give them some type of value, they promise to give it to you at some point in some time. If it's a checking account on demand, if it's a time account, when the time is up. But in essence, we're looking at different rules with respect to a certain type of receivable. And what Revised Article 9 does is it takes that concept and basically, and I'll talk a little bit more detail in a second, basically says, okay, to the extent those are commercial accounts, commercial deposit accounts, there in Article 9, as original collateral.  Now- So if somebody's uncle gave him $50,000 in the business and they put it in their account, that'd be part of the collateral. Bingo, if you've got deposit accounts. Now, the exclusion is an assignment of a deposit account in a consumer transaction. If it is an assignment of a deposit account in a consumer transaction under 9109 D13, it is outside of Revised Article 9. Doesn't mean you can never take a security interest in it because there are always common law ways to take a security interest in a deposit account that varied from state to state, but you're certainly not gonna look to Article 9 for it. So it's only, Article 9 only covers the commercial so that person's uncle would have to lend him the money for the business. Yeah, although the definition of consumer transaction is a three-part conjunctive definition. It has to be a consumer transaction involves an obligation incurred for personal family or household purposes, secured by security interest in which the collateral is held for primarily personal family or household purposes. Now it's conjunctive. If in fact I've got collateral that's primarily held for personal purposes, I give a security interest in it, but it's for my business. It's not a consumer transaction and thus the deposit account could be in.  So you gotta be a little bit careful in terms of how, again, Linda made the excellent point, you gotta keep going back to the definitions and hear the definitions of consumer transaction is gonna be very important. On that, I was teaching my students this point and that is that many people don't keep their deposit accounts as we think of them in banks. And deposit account is defined in reference to banks and using the business of banking sort of definition that the banking statutes do. And so if you're keeping your money at a securities firm and you're using that as a checking account, that's not a deposit account and so there is no exclusion for that. It's a securities account and there's no exclusion for that and so. If you've got a money market account, for example, or something like that, I think that's right. This has been aimed at the banking system. Now, before you have a security interest, you gotta have creation. Creation has typically been attachment. Attachment with respect to a deposit account is basically the same as most other things. You gotta have value has to be given, there has to be rights in the collateral, you gotta own the deposit account. But unlike the other rule that you either have to have possession in the collateral or an authenticated record, notice instead of a written signed writing, authenticated record, now you gotta have control pursuant to a security agreement. And if you work through the definitions, this control or this grant doesn't have to be in writing. In fact, can be a war on that could be some problems down the road and some bankruptcies in terms of we lose the evidentiary function there as you go through that. But that brings up the next notion of control. Now as Linda indicated, control is a concept that is gonna be governed by the type of collateral that you're dealing with. And there are three basic ways that the statute says that you can control the deposit account. And by the way, the only way to perfect in a deposit account is by control. That's very important. You cannot file, it's intangible so you really can't possess, there's no automatic, you have to have control. As original collateral. As original collateral. Which is another difference with the securities account where you can perfect by filing. Right. And indeed in California up until revised our client you could perfect by notice. And so there are all sorts of other different ways to do this. But article nine focused on control. And the three-fold way to control the easiest and simplest is if the depository bank is also the secured party. In that case, control is almost, is basically automatic. The, if I give a security interest in a bank account for a commercial purpose and my secured party is that bank, it's automatic. They have control. Secondly, and so that's, that leads me out just in an observation. I think many banks will start putting in their signature cards. Something that says you give a security interest in the account because it's very simple to do. And once they grant the security interest if they hold the account and there's any amounts owed to them they become a secured party with control as to that account. The second way is the way that most non-bank lenders like General Electric Credit and others will control. And that's by a control agreement with the bank. Now a control agreement can have all sorts of language and people have been talking about how to do it. Ed Draft had a really wonderful form which I pirated for an article I wrote. It's too simple though. It'll get you started, right? You pay for the more expensive one. It's like most of those teasers. Here's the free one and then you get more of it. But the essence of any control agreement has to be that the bank holding the account will comply with the secured party's instructions as to that account without further consent of the debtor. And without further consent of the debtor is the part that gives the bank, or excuse me, the secured party the control. Now, a couple things. You can, the debtor can still use the bank account. It can be, for example, the business checking account. They can still continue to use that. There can be events of default or no events of default. The secured party, for example, and I know secured parties never do this, Ed, right? They could ask for the money without the right to do so. There could be at least in reality, no event of default. Doesn't matter. The bank has agreed to comply with the secured party's instructions. If the secured party messes up, then it's a lawsuit between the debtor and the secured party. A contractual lawsuit. This doesn't affect the debtor's right to go against the secured party for breach. But the depository bank is still gonna have to follow. Now, the depository bank does not have to enter into such an agreement, and it doesn't have to disclose the existence of such an agreement. The rules in this area are very protective of the banks with respect to what they need to do. So, if, you know, business B banks at Bank A, and they want to kind of give a security interest to secured creditor C, Bank B doesn't, you know, the bank doesn't have to enter into the control agreement. They don't have to follow the wishes of their account debtor. Now, the account debtor will probably move the account to facilitate it. But the bank, as a matter of policy, could say we just don't enter into these agreements. Bruce, there is one area where revised Article 9 here really does, though, give you the ability to create a security interest that you probably didn't have before. And that is in those states which had not brought in deposit accounts into their Article 9. And where deposit accounts were excluded, you were under the common law rules and the common law rules really required the secured party to have dominion and control over the account, which meant you couldn't really, under the common law, take a security interest in a checking account or a transactional account, which you can do. You're absolutely right. I mean, I don't, in trying to kind of show that a new concept is not that new, I may have kind of overstayed the fact that, I mean, again, it was only five out of 50 states that had brought in, I mean, I think this is a pretty new concept. I think it will, in fact, lead to new problems. The third way, I mean, again, the first way is be the depository bank, be the secured party. Second way is to have an agreement. The third way is to have the secured party be the owner or the person on the account. Now, I don't know, Ed, you may have seen these. I'm not exactly sure how these are gonna work out. They seem to be tailor-made for blocked accounts or investment accounts. They don't seem to work in concept very well for a day-to-day operating account. No, not usually. I think where they're gonna be most useful is in structured deals where you have collateral trustees and money moves into accounts in the name of the collateral trustee. Right, and this is very important because, I mean, to go through these ideas of control because...


good Wednesday afternoon to everyone see I think we're actually doing really good in terms of like content and things that were where we're at I'm super happy so I'll take questions on any class stuff in the next three minutes and then we'll move on forward the what yes so I don't have a question yes so you're checking for double-hatch right so a double-hatch let's see project three so in project three a double-hatch is only to come at the end right after a line okay so double-hatches are only to come at the end of the input right so there's only you know after you've read a whole line of the rule if the next thing is a hash right you read a hash that doesn't correspond to the token so that's going to be an error anyways and you specifically don't have to code in any error cases you can assume that all the input you're going to give it to battle according to our grammar I would say testing first so there's a whole line of testing methodology and actually software development called test driven development where you actually write the test cases first and then you write the code that satisfies that test case when you're done you write a new test case and that way if later you want to decide to refactor or change your code you'll know if anything breaks because you already have a nice test suite so I definitely think that's a good way to go so like write a super simple test case that you want to pass write that add that to the test week so that the scrunch will run and test everything and then just do the development that you need to do to get that to working to get that to work because here's the big thing that people do is if you start just going with monster coding spree and you never actually stop and say a does this compile b does this work what I'm doing right you have to fix every single bug in every single line of code that you wrote but if you write 10 lines of code and then check if those 10 lines are doing exactly what you think they should be doing then move on to the next 10 lines of code right you split it up and now you're kind of building on a good base so over time that's what I code it's like I could basically function wise so I write a function and then write some tests to test to make sure that function doesn't it's supposed to do and I'll write another function and I start piecing the functions together well any other questions project three midterm next Friday correct yes yeah so there will be a so the way the midterm review will work we will post a sample midterm that will be basically last year's midterm and then in the recitation sections they'll go over those midterms so that will be a prep for the midterm cool so I highly recommend attending a recitation section it's gonna be good yeah yes definitely first follow sets predictive revision dissent parsers will also be on there usually I cover right up until the very last day of class before the midterm in this case we're not doing a review and maybe say Monday yeah I don't want to be jammed too much in there but yeah definitely everything we've covered syntax analysis we're gonna finish syntax analysis today we're gonna start moving on the semantics so maybe stuff you can pull from semantics any questions okay so we've talked about we went through an example of doing actually creating a predictive recursive dissent parser and those of you that have checked out homework for you'll see that there's more practice on this here's a grammar do first sets you follow sets and write the whole predictive recursive dissent parser so that's the goal there so that you get to practice with that okay so for a real-world example of this email addresses so I actually think I'm like maybe the first class or maybe when we talk about regular expressions I'm pretty sure somebody I'm also from this side of the room because that's the only way I know you guys just based on what you said I think some of our here brought up the suggestion of using regular expressions to validate emails so why would you ever want to validate an email yeah so why but why validate it why not just try sending you know so you know you know they're sending to the right address that's more like a user assistance kind of feature right it's like if the user may be mistyped or just typing garbage right if we know we can't possibly send an email to that email address then why bother sending it right you should tell the user in the GUI hey this is an invalid email address right it's not maybe in one good reason any other reasons verifying who what's wrong yeah so you could either way right I actually have some emails that I want definitely not to go to spam and so I have special filters or maybe you're trying to figure out the field like what emails are being sent to certain address that's going there's a campaign password validation password validation so I was that useful in it like you know I have any symbols in it if you're not allowed to do it again you know just limit them yeah could actually make a good idea you may want to restrict I think like an email address would be a pretty bad password right because email addresses are publicly available so maybe you want to disallow that in there cool so what makes up an email address a string of texts an ampersand a domain name right so the key question right and so basically this is kind of how email address right so we want to understand either how to parse it to say where it's valid or to validate it in some way maybe you want to get the username or maybe we want to understand what domain does this email address live on right we're trying to analytics over all of our users and trying to say how many of our users are using Gmail accounts versus hotmail accounts right and here we want to parse that email address to figure that out so it seems incredibly easy right tenu with the knowledge you have right the regular expression to parse this email address it was what would it I mean what would that kind of look like let's talk about that so let's write email regex alphanumeric stream so like we'll do like actual email syntax so this is one character group that represents the characters a through z lowercase a to z capital a through z and let's say zero through nine so alpha numeric star which is one or more followed by what yeah what's the domain name this is it that's the only thing yeah dots and domain names are three oh this doesn't mean three this means this means this represents the characters you think a or b or c or d all the way through z capital a or capital b all the way through z zero or nine or dot that whole or expression one or more times whatever like domain like dot com and like that work it used to be yes but now you can buy your own top-level domain you have aya all kind of stuff yeah yeah because it could just be the dot right so this doesn't really capture it but it all depends on how we want to do let's think about it make it even more probably well there's also so when you get an email right so it tells you the person's name usually right how's it actually know that the header information not quite well yes kind of there is a two header and the two header says the email address right but that email address can be in one or two forms you have a name followed by brackets and then email followed by closing bracket so let's think about this regular expression that we've just written and let's think about well if actually we go back to it and the important thing another thing to remember is that email predates the web so before www html all that stuff is in about 91 time frame the internet actually existed and email existed before the web so what this means is I want to send an electronic mail message to the user cse space 340 at the host example dot com and that's how email addresses are basically that's what they mean so if your email is cse 340 student and email dot com that's essentially you're telling the world I am user cse 340 student and my email is located on gmail dot com it used to actually be if you will be a history lesson it used to be to send an email you couldn't just send a specific domain you would have to say food and then you have to say bar pound bass pound email you would actually have to say the the number of hops of servers to get your message from your computer to the other person's computer is that crazy to think about kids these days it's so easy all right so it turns out that according to the email spec double quotes cse space 340 double quotes is a valid email address and then maybe some poor user out there who happens to have to use this because they have an email address with a space in it I think that'd be a terrible idea but as a business and if you're trying to decide to send back emails you're gonna lose these customers because you can't properly recognize their email address you can also do crazy stuff you can include slashes you can click equal signs in here you can even inside double quotes you can include an amperage and you must know you include the at symbol here inside double quotes and you can even use a slash character to try to state you can use you can put a slash character to include a double quote inside the username portion so this would be the user capital ABC double quote at symbol example dot com at example dot and then when we start to add when we talked about adding the user's name this would mean a person with the first name of test a second name of example space at hello with a user with an email address of test example dot com and these are all valid email addresses according to the spec the RFC so there's a document out there that describes exactly and part of the problem is right we didn't just invent this 10 year a year ago 10 years ago 20 years ago this is mentioned like 30 or 40 years ago and so it has to have been back it's a paddle up till then and so so does a regular expression match any of these email addresses no do we want it to yes so actually there's two ways to do that yes there's one way to say no you just check if there's an ampersand and that's it and then you just try sending the email and then if it fails it fails right that's definitely one way to do it a more robust solution right if you don't want to waste a bunch of emails and it's better for your users is to be able to validate these properly so there's a company called mail gun and they provide email services as an API so you can use their services for sending out emails and one of the things they have is really cool tool to validate email addresses and based on their experience sending out and parsing tons and tons of emails so how do you think they implemented their parser was it a regular expression engine was it more complex than that yes what do you think they use almost yes I think it's without the predictive part but they use a recursive descent parser so they use a parse they define the context free grammar for the email language and they developed parser to parse that email so yeah it doesn't have a predictive component and so you guys are going to get out you check out and see what exactly is an email address so what I did is I went through I ripped out their context free grammar that they created for these email addresses from that Python code I think I think it was quite on good in their tool and then I tweaked it a little bit to make it be predictive and so we'll go over this right now I want to go through another example of first following recursive parsers so we're going to go over the grammar and I'm going to leave the rest of this as an exercise for you to practice on but they have things like quoted strings so that would be a token is a string that's inside double quotes so you can define that using a regular expression and the atom is something that does not have quotes around it and dot atom is an atom of the dot character in it so any number of characters with a dot inside of it white space and so they have the rules okay an address is either a name address from the RFC a name address of what they call lax which doesn't actually conform to the RFC but a lot of email servers still produce and accept or it's just an address and a name address is a display name followed by an angle address right with an angle address as we saw as that bracket or an angle address RFC does display name is a word display name RFC list or white space word display name RFC list this is the entire context for your grammar it's kind of cool right we have this is emails so you implement this parser and now you can parse emails oh and then I made it simpler so it didn't have all this stuff so and then if you go through here we can go we're not gonna go through this but you can calculate first sets for this you can calculate follow sets and so then you can finally get all of the parts display names and everything so using all those I think I'll be really good Jack for you to make sure you're on the same page with first follow sets and predict the recursive descent parsers and to also show you that this is an arbitrary stuff that I'm teaching you people I should do this I said I'm technically make money off an open-source library but it's you know from a company that hopefully is making money okay okay so to sum up basically so we talked we've never talked about like a formal algorithm for how to actually calculate the rules for predictive recursive descent parsers we kind of just in some ways intuition our way through it and talked about general rules so at a high level for every non-terminal in our grammar we want to create a function called parse that on term right super simple that's literally the task of writing a parser being able to write this function for every non-term and so for every production rule where we have a goes to alpha or alpha is a sequence of terminals non-terminal just like before if you have in your code basically if get token exists in the first of alpha then choose the production rule a goes to alpha right and this assumes that you already proved that yes I can write a predictive recursive descent parser for this grammar okay then for every terminal and non-terminal a and alpha if a it's a non-terminal you call parse a right for each sequence in order in that function you want to actually call parse that non-terminal if it's a terminal check that get token was equal to a right you want to make sure that get token returns that crack token and then we have to we have to make sure that if epsilon exists in the first of alpha right this takes care of that case then we check and get token exists in the follow-up a if it does then we know that this is the production rule if get token is not in the first of a and then it's a syntax step error otherwise if epsilon exists yeah exactly if epsilon exists in the first of a and get token is not in the follow-up a then there's also a syntax error so it's just like a little more succinct way of describing exactly how you go create these parsing methods any questions on these semantics our streets yeah you make the pastries we'll see in project five it's not it's really like once you have the parser correctly right every time exactly you want to do it but every parse function could return a node like an a node and then when you call let's say parse a in your s you have your s node and you make s is left out to be that a and then you see a little b and so you create that so it's actually really straightforward to do that because the structure of your your function calls is the structure of the tree and so you just have to create a tree from that so you'll get a lot of practice in project five on that never seen the plan to be covered now so watch out cool okay semantics what does semantics mean yes generally semantics means what does it mean right so up until now we've really just talked about kind of basic in some sense mechanics right we talked about lexers and tokens right which says what does this thing look like what do numbers look like what do words look like what do identifiers look like right and then we build that up and we say okay what are valid sequences of tokens right what's a valid sequence of tokens but but is every sequence of tokens actually valid if I have a C program and I have some int foo and then I say well there's more types but foo is equal to bar is this valid syntactically yeah assuming this is inside a function or whatever right valid syntactically is it valid semantically well what does it mean to assign a string to an integer or to get even weirder let's say we have a int foo let's say we have some functions here that do whatever boolean but these are functions and then later on I have variable is equal to foo plus bar it's a valid syntactically yeah does it make any sense oh what does it mean to add to functions together I mean could you think of a program language or maybe this doesn't make sense maybe you're chaining those function calls so you're saying like first call foo and then call bar or like call foo and then pass the output of foo to bar and then return the output of bar you could come up with crazy things that these things do but in a normal C like language this is nonsensical it doesn't mean anything it'd be like trying to call the function 10 right trying to call 10 as a function right this doesn't mean anything so semantics is all about defining this problem what do things actually mean right so we talked about syntax analysis for turning a sequence of tokens into a parse tree semantics really is about what does that parse tree mean so how can we define language semantics so I want you to think back and think about when you were first learning your first program language be a Java or C or C++ or whatever your first language was so how did you learn by learning syntax for how hello world some writing maybe a super simple program maybe from but where's you learn that from like from a blog post or judging just curious this is my example here it is don't worry about this weird art like set up public tag wait me stop just know that this right so you started with an example was that a class yeah what other kind of ways what other people so class would be taught basically you have to kind of talk the syntax a little bit but also the semantics about what things mean it's actually kind of a lot if you think about your first when they show you that first program right there's a lot not only is there a lot of garbage but there's also things like what are these these there's double quotes all over the place there's semi-colons here there's curly braces these aren't even things normal people use on a keyboard right but they mean special things to the compiler so they mean special things to us the programmers right so what are some other ways tutorials yes they're going through some tutorials having your IDE yelling you so just like typing random stuff and hoping that it works yeah books right yes that's seen seems like it's already made and then hopefully having something that tells you kind of what things happen right or what they do and so think back on that and what do you want from language semantics why do you even care about the language semantics to who makes sense to me when I write it to the end user the application yeah it's going for you right actually you have to get past the compiler first before you ever get it into the hands of a user or compiler interpreter right so yeah in some sense you're trying to get past the computer what what what do you want what are some good things when you read it have you read good programming books and bad programming books have you had well maybe I should ask this out loud used resources that are good resources and resources that are bad resources to learn a program language and what's the big difference there like what are some big differences like if I told you here's how to here's how learn some new programming language let's say the language has ever known like a list what would you want from that document or whatever examples okay cool what else definitions of what yeah so you want quite clear I mean do you want the book to just ramble or tell you contrary things or there's no structure yeah because you as the programmer need to be able to write the program and you should know what is good as far as the terms of lexing syntax all that stuff right but we've actually seen there's a formal way to define these things but then we have in addition to that we have what is the program actually do what are good things that the program can actually do and so to do those we really want a clear description of what things do even simple things like what does it mean when you have the plus operator in between two variables what does that actually do and we need something that is clearly defined so that we the programmer can write a program and that the compiler will actually create a program that does what we think it should do right so we need things to be precise right we don't want any ambiguity like oh yeah just add numbers like if you saw that in a c-book I was like it just adds two numbers that doesn't tell you anything about overflow what happens after you get outside of 32-bit integers right very large number plus a very large number and see is usually a negative number because they're gonna wrap around right if you're not aware of that you're gonna think that the program is broken or it's not doing what you think it should right we also want to be predictable right we don't want to have to be well let's kind of get some usability a little bit one think we know what it should do but we don't want to change right if we run and it's important to think about the difference between a language and a compiler right so the scene language is a standard you see 99 and then you have many different compilers that implement that standard right we have visual studios see compilers again with the name of your GCC there's clang now right different compilers and so it should be the case that I write a semantically valid program in this compile and run on this compiler and then I take that program and compile it with a different compiler should still do the same thing should be in the keyboard complete right why we want completeness yeah or you can be predictable and precise about the things that you described but anything outside of that you have no idea what's going to happen right there's actually a big problem in C because some things are undefined by the language spec and it is complete in the sense that it says hey if you ever do this it's who knows what happens the problem is that you as a programmer rely on the specific behavior of one compiler and then we take another compiler that's what breaks things so how do you specify language semantics what are some ways we can do that your language designer you want you've come up with the best language I was gonna say it's gonna make you really rich don't know that necessarily the language designers are super rich but as a boon to humanity you are releasing this awesome program language and you want to describe to me how to write a program in there so how do you actually specify the scent the semantics of the language given these criteria you want to be precise predictable and complete a list of like variable types so what so they hired not specifically what you have to do but what can you do like how can you specify it right some rules right basically what you said right a bunch of rules right and what going on probably English I would say it's the first start right you write in English and you write this huge specification document that's specified the language and specified the exact same things of everything and you give that to me right and then hopefully by reading that document I can know exactly what to do so one of the pros and cons of that it may not be complete yeah hopefully let's say you created it you're gonna make sure that it's at least kind of make a lot of rules yeah it's gonna be long really long and you read any of the language specifications there's like the ECMAS script JavaScript specification there's I think the C99 specification everybody really knows they're super yeah how long in it pretty long are they easy to read to it's kind of like reading a legal document right if it the final returns and be very very precise about what you need is English as we know it's very ambiguous cool so you do that what's the other ways yeah English back right so you're right back any Ruby people how does what's a defined as a Ruby program or originally I guess I think things have changed since now but when Ruby first came out like how is Ruby defined I think Python 2 and it first came out so you create a language you have an idea of how it works but how do you actually implement like when you come with the language just like design it all in your head part of it yes but at that point it's just in your head how do you actually get it to be useful to other people documentation okay so if I just give you a big document that here's how to compile my view awesome Adam language you'll just be able to go right out of one of the programs was that make something with it give examples how but I give you an example what do you do with that example you need a compiler right you need a compiler or interpreter that you can give somebody and say here's my compiler interpreter and so that way you can play with it right I mean you couldn't give somebody just all the dots and say here's here's my awesome language right it's the best language actually this is how early Python and Ruby they basically said the whole English documentation about what a Ruby program is and what a Ruby program does they said here's a Ruby interpreter whatever that does is a Ruby program and that's a reference implementation saying like well here's the implementation of this language here's a compiler whatever that compiler does is good and it's going to that is a Ruby program so whatever you have questions on semantics right here an example and see what it does whatever it does that's what Ruby program should do okay the third one is really crazy so you can actually define it formally with math you can specify exactly what the semantics are for every operation of your program you like to find it formally exactly I think I'm just gonna review what I just said but so I'll show you an example that basically specifies how you define an abstract machine and then you define how the state of that machine changes through each execution step in the program and so then you can do all sorts of you can model everything basically within that that basic idea cool so English specification so the C99 language spec is 538 pages long it's the C language that was spec that was defined in 1999 I think there's an updated one C is it C11 14 or C plus plus 14 is there a new C standard C11 okay yeah so basically like this senior dates back to like the 70s and so every once in a while they like get together and I like okay we should what new features do we want to see so I think maybe C99 may add like rules if that was a big I don't know if that was one of them but I think they added that at that point like this is handy otherwise your language just stays stuck in whatever features that you have any originally start your language and it contains super interesting things like an identifier showed the note an object a function a tag or a member of a structured union or enumeration a type def name a label name a macro name or macro parameter the same identifier to denote different entries at different points in the program a member of an enumeration is called an enumeration constant macro names and macro parameters are not concerned further here because prior to the semantic phase of program translation any occurrences of macro names in the source file are replaced by the pre-processing token sequences that constitute their macro definitions this is just about what an identifier is specified and this gets to preciseness right you have any questions about what identifier is it sure as heck better be in this paragraph or else you're never gonna know right but it's saying a lot of different things so and we can assume also that there's long and complicated descriptions of what an object is what function is a tag a member structure union enumeration a type of name all these kind of things we have all about here about macros and all that kind of stuff right and so so what are some of the pros and cons of English specifications you think maybe it didn't say anything here about what to do for macro names and macro parameters and so if the specification doesn't say but the compiler needs to do something in that case right they have to just make up what they think is right and what they think so there's any beauty comes in and it's really bad because you the programmer may not know exactly the spec is telling you the compiler may not know exactly the spec they say and then maybe multiple compiler writers may all disagree about what the spec should say and do right it's again the horrible situation what else yeah it's like 500 pages right I mean start with me I was like I've never read this entire specification right the K and R book that I recommend that's like what I use for my seat right that's like 100 days that's much more reasonable but this you know it's gonna be so long and so complete that nobody's actually gonna go through except for the compiler writers because they have to right this is their specification so yeah it can be ambiguous not correct or even ignore right this happens a lot on the web where they say HTML is this and the yeah it's cool but I'm gonna do a blink tag and then they go if no we just on the spec and they're like oh we didn't anyway some people are using it and then so eventually after like five or ten years they incorporate these new things into the specification that's honestly why HTML is so crazy because you have people companies doing random stuff and then exactly there's cases that the spec doesn't mention right if the spec doesn't mention anything then how do you know what should happen but it's very good in the case that you can have multiple implementations of the same language right the specification assuming it's complete and it's precise you've actually have multiple implementations okay so reference implementation so reference implementation so up until 2011 the Ruby max is the guy who created Ruby his Ruby interpreter was the reference implementation whatever this thing is a Ruby program whatever it doesn't do is not a Ruby program that's it so what are some of the benefits here yeah it's easy to just run it right oh that's pretty easy way better than 500 pages just run it what else what does another bet it's yeah you want to explain explain that a little bit more yes so that's actually that's a pro I guess if you're the compiler writer right so the idea is let's say it turns out on Ruby for whatever reason there was a bug in the compiler and it turns out that four plus four four plus four is nine whatever but that's what the official reference implementation does and so people say okay well that's the behavior of Ruby they start writing programs that rely on the fact that four plus four equals nine so then you can't ever change it and fix that bug because it's part of the language and so it stays there forever so yes that is one of the huge problems of this as well the goods one of the bad sides that bugs become accepted parts of the language because hey that's what happens what else what are some other either pros or cons either side yeah can't be ignored there's nothing that it doesn't specify right because it's specified everything it doesn't it does it if it works it doesn't that way and the way it did it is how that works if it doesn't accept it then it doesn't accept it right there's no there's little ambiguity in the sense that you if you ever have a question and you can write a program to solve that question you can test it what are some other cons yeah you don't actually I know like how do you study and try to like understand the language right without any other documentation you're just at the mercy of basically generating test cases and saying what happens yeah try on air you're just trying to just stop right what about like doc let's see what some other things here let's hear we talk about yep so yeah it's the benefit it's precisely specified on a given input so if you give me input I know exactly the semantics of that Ruby program is because I have a compiler bugs we have bugs there what about portability what if I wrote my awesome Ruby interpreter in a crazy list language that only runs on list machines that don't even exist really anymore but it doesn't work on yours or let's say a more realistic example like I'm writing a C interpreter in C the compiler in C but I'm using a bunch of Linux features and now we all windows can run your interpreter so they can never understand what this program is okay so formal specification it looks so basically they have multiple different ways of how you do this but you specify formally the semantics of the program and it's that's a lot of benefits because all parts of the language have an exact definition there's no English ambiguity about what things do or not do it's very well specified and it has a side benefit you can actually prove properties about the language and about programs written in the language you can say things like it's not possible in this language to create a program that does x because I have a formally defined language I'm not saying it's easy we can do it it can be kind difficult to understand so I use this example so this is one of the professors at UC Santa Barbara Ben Hardikoff he and his group I'm trying to zoom in so anyway like triple tap or do some weird Apple thing no all my gestures are failing serious zoom see if they don't work okay okay so here we have this is all of their semantics for JavaScript the JavaScript language and so we basically so here we have the state so here we're transitioning this abstract machine into different states from one state to another and depending on what type of rule it is this is how we actually I think this one is how we move this is like the Boolean and this is how you move the states so you could probably spend like a month deconstructing and all the information that's in here but it should map to what the specification is but what's one of the problems with this yes step of it is super weird I mean this is taking a semester class to like kind of understand what's going on in a grad class I'm not putting up here so you understand it I'm putting up here so you understand kind of what it looks like so I'll be some pros and cons of this yes well I mean different is documentation but you need documentation understand it yes or degree in interpretation and program semantics yes yeah so hard to understand for an average developer right at least English that first one that English sentence was very long but at least you understood the words in that sentence right this you have to learn basically a whole new language and even the order to understand what they're doing here also so this is a language for a real programming language that exists so how do we know that they actually did this correct and that there's not a bug in their formalism we don't know we have to hope right yeah if that's you know if there's any problem here and there's nothing execute why do you execute this thing you can write the program and execute this thing right but it's not if you're just giving me this it's like hmm I will use a different language right and actually so what's funny is that the approaches now are kind of merging right because specifications and semantics go beyond like I said program languages right they also cover things like HTML and important file formats and those kinds of things and so what's happening now more often is you have English formals not formal but English specifications like a specification in addition to that you also have a reference implementation so they usually say hey here's this thing and here's C code that's exactly how this thing should work and so they give you both so that way people can use the reference implementation at the starting point and use it in their own projects but they also have the English one to fall back on so that it defines all the cases cool all right so we'll stop on the crazy map and we'll get more into semantics on right