Okay, alright. So, good morning. We are glad that there are some people here this morning after the cheese and wine party. Anyway, so, this is Nicolas. I'm Ralph. And we are going to talk about, in stereo, in fact, about shell scripts. Shell scripts in general and Debian maintainer scripts in particular. So, let me first start by reminding you what this is. Maintainer scripts in Debian, most of you will probably know this very well. So, this is a citation from our create policy and we will have quite some citations from the policy. So, a depth package contains two sets of files. In general, the first is a set of files to be installed on the system when the package is installed, which we call the static contents of the package. And then you have a set of files that provide additional metadata about the package or which are executed when the package is installed or removed. Among those files are the package maintainer scripts. So, these are the scripts we are interested in and we are talking about today. And these maintainer scripts, you might have up to four of them in any single binary package. These are the pre-inst, post-inst, prm and post-rm. And their function is very roughly, well, when you install a package, then first you execute the pre-inst script if it is present in the package. Then you unpack the static contents, the table, and then you execute the post-inst script. And when you remove a package, it's to reverse with the rmscripts. So, first you execute the prmscript. Then all the static contents of the package is removed from your file system and finally you execute the post-rmscript. And the situation is a little bit more complicated when you upgrade the package or when you downgrade the package because then there's a mixture of these scripts of the old and the new version of the package which are executed with additional arguments passed to these scripts in order to indicate to them what precisely is happening. So, these are the things we would like to analyze formally to know whether they are correct. Before looking more into what this means, a breakdown of what we have currently about maintainer scripts. So, these are numbers from which are more or less recent from May. We had at that time about 50,000 binary packages in SIT and counting all the maintainer scripts we arrived at about 30,000 which means that not every package has them. About these 30,000, well, you probably know that many of or large parts of these maintainer scripts are today automatically generated by the paper stuff. But anyway, we find among these 30,000 about one-third which contains at least a part of the script which has been written by hand. So, which has not been introduced, inserted by some of the debt helper stuff. And by the way, we did some similar stuff, more basic analysis some 10 years ago in the Mankusi project and we obtained similar figures about the number, about the portion of maintainer scripts which are partially written by hand. So, apparently this doesn't move too much over time. So, about 10,000 scripts are at least partially written by hand which means they potentially contain bugs and contain errors. And this is something we should worry about because these maintainer scripts are executed as route when you install a package on any machine. So, we should be defensive in writing these scripts and we should be sure that they are correct. A breakdown by language. So, almost all of them are POSIX shell with a few exceptions. So, there are about 230 batch scripts, bin batch, bin batch. 16 batch scripts. There are five ASCII files. These are the findings according to the file utility and ASCII files means these are shell scripts which do not have the shebang. And we will come back to this case a little bit later. And there are even two ELF executables and these are in fact for the packages of batch and of dash and this is quite normal because obviously you cannot write their pre-inst scripts as a shell script because you don't have an interpreter when you install the stuff. Okay. So, what the policy says about maintainer scripts is, well, they are not required to be shell scripts as we already have seen on the previous slide. C shell and T C shell are discouraged for various reasons. So, there are several papers and documents available on the web which explain to you why it is bad to program in any of these languages. The policy says that they should start on a shebang and indicate the type of the language which is used in the script. They should use set minus E, set minus E, puts the shell into a mode which we call in DBR and the strict mode which is not a posix terminology. The strict mode means that when there is a command which fails then the shell script itself will fail and it will not continue execution of the script. This is what you usually would expect from maintainer script because if something unexpected happens you want to fail it noisily so you see that something went wrong. However, the set minus E, the strict mode, one has to know that it is temporarily disabled in certain situations and it went during execution of a shell script and we will also come back to this. The posix standard for a long time, in fact when we started our project the version of the posix standard which was mandated by policy was an old version and quite recently this was updated so the policy now talks about the version of the posix standards of 2017 which is great, thanks a lot for that. Unfortunately, posix recently updated to a 2018 version so we probably will have to try to update this again. The policy also says that any shell interpreter should implement the posix standard with some additions with some DBR-specific embellishments and this concerns the echo built in. If it is implemented it should support the minus N option. The test when it is in build-in it should support the minus A and minus O option we will also come back to this. It should support local scopes and the local keyboard and we will also talk about this and also some stuff we don't care about in the context of our project because in our project we will ignore concurrent stuff and signaled stuff. Okay, so we will look at posix shells with these DBR-specific extensions. Now what we are trying to do in this project globally is to get a formal assertion of the correctness of these maintainer scripts that is an assertion that they are behaving correctly on a semantic level. In fact, to those of you who have been in Cape Town two years ago at Debcon I gave a talk at that occasion where I presented the project and I gave an example of one of my own maintainer scripts which was wrong and which did terrible stuff because it removed too many files when you removed the package. Okay, so these are the kinds of bugs we would like to find at the end of our project. I tell you right away we are not there yet. So we took a lot of time by working on the front end of our tool chain and this is in fact what we are going to talk about today. So this is about formal analysis. Formal analysis in the sense of program verification, formal program verification, this is not testing. So we would like to get by formal analysis really an assertion of the fact that our scripts behave correctly in any possible legal situation. So it's much stronger assertion than only testing. So possible outcomes where we would probably get an assertion of correctness but there one should also be aware that all one can hope for is to obtain an assertion of correctness in some abstraction of the model of the system since anyway what you have on a real unique system is a quite complex thing and you probably won't be able to model all of this completely in something which can be handled by program verification. Another possible outcome and this is probably something which will be much more useful for Debian is bugs and finding possible bugs in packages and we have already found quite of them for the moment on a quite trivial syntactic level. Okay and this is what we talk about today and the first step to obtain a tool chain which does all of this is to start with passing of shell scripts to obtain a syntax tree for shell scripts and this is what we did first. Thank you. So that was already the topic of a talk that Ralf and Jan, another colleague had in MididebConf Hamburg about why parsing POSIX CELL is hard and how we did it in our project. The problem with POSIX CELL is that it's not designed to be to allow parsing of whole files. It's designed to, you should pass first one complete command then execute it and then you can go back to parsing which means that when you want to pass a whole script you can get into trouble. Also, in order to have nice features like being able to write makedir4 or things like that you have a parser that must be speculative and maybe promote keywords to keywords and try things and if that doesn't work try something else which is also hard to write. Yes. And one specificity of POSIX CELL is also these here documents and the difficulty about parsing here documents is that they are not local things. So first you pass a command and when parsing that command you discover that there will be a certain number of here documents that you will have to pass afterwards and so you have to keep information about what you will need to do after passing your command. And in fact, in general, parsing statically one full script is indecidable because you can have aliases maybe in branching conditions which makes it hard even in a syntactic level to know that to pass the full file. So we have a parser that's called Morbic. It's available in GitHub if you want. It's written in the language OCaml and it uses one parser generator many years. So this is something we are proud of, the fact that we use the parser generator. The usual parsers for dash and bash are in fact pieces of C code handwritten working on a character level but basis. And in our case we were able to use the grammar that was in the specification of POSIX. The many a parser generator is a great tool that allows us to not only write the grammar but write the exceptions in the grammar that are required in order to have these speculative parsing that Shell requires. It allows that by giving you a way to introspect the status of the parser and to maybe update it yourself if you want. That is, you can look at the parser, say, oh, it's starting to pass, I don't know, a new command. So this is a place where if you read four this might be a keyword. When you are somewhere else you say I already have started parsing my command. When I read four I will keep it as a simple word and work that way. So this is something that is provided by these many a parser generator. This allows us to have mainly really high level codes that you can easily relate to the standard. So you take the grammar that is written in the standard, you take the grammar that is written in our tool and you can see that they do the same thing. And if you want to know more about all the things that happen inside this tool there is already probably the mini-depth talk that has been recorded. What more big produces is what we call a concrete syntax tree. This is a huge tree in our case with more than 50 recursive type definitions. And in fact what this tree represents is all the grammar rules that have been used to pass the script. So I don't know if that's readable on the slides but you have like one type pair grammar rule so a complete command, a C list and all and then one constructor of type pair, sorry about that, pair rule of the grammar that you applied in that case. So this corresponds directly to the grammar of the project standard once again and so you can work on really what has been used. In our case we would want to crawl through these trees to traverse them to look at certain places like what happens in redirections, in function definitions and so on. Since it's a huge tree we would have to code functions for all the cases of the tree saying mostly just keep going down in the tree and traverse the tree. So that would be really painful. Hopefully we use something called the visitor design pattern. So there are what we call the visitors and you have several kinds of visitors that are generated automatically so we don't do that in the more big parser and there are objects that just do nothing but traverse the whole tree and it means that you can later just inherit from these objects and overwrite just the part that is of interest and it makes it really easy to write something that go look into only simple commands not touching the rest. We'll have an example in a moment. So once we have this parser and these nice tools we've written a tool just that runs statistical analysis of shell scripts because we wanted to know what was in these shell scripts because that would guide our intuitions and what we would do in the project. So this is another tool that is also available in GitHub. We call it SHStats. We didn't have a fancy name for it but it's nice. It worked directly on the syntax tree that's more big outputs. It has a preprocessing phase for the scripts where it tries to expand the parameters that you can know locally that if you have a constant that is defined at the beginning of your document you are able to replace it everywhere in the document. I'll talk about that later. And because of the visitor design pattern it's easy to add an analyzer module. And here is an example. So it's quite a lot of stuff but let's break it down to pieces. Quite fast. So Analyzer, you just have to give it a name. You give it a name and the command line options that it requires. That's just for SHStats to know who this analyzer is. And then you write a process script function that will just be the way SHStats provide the scripts to the analyzer. And in that case it's a simple analyzer that just tries to see if you can find $ the character $ in the words. And what you do is you create an object so it starts here, you create an object you inherit from one of these visitors and you just have to override one method and this is what is here. You just override the method that visits the words. So all the other functions will still be the same and will just crawl the CST. And this specific function will just test whether you have $ in the word. Which makes it like in 10 lines you've written something that goes down the whole tree and read at a certain place in the grammar if there are dollars. All right. And then what you do is you just ask this object to crawl the whole tree and if it returns that yes indeed I found a dollar you add the file name into a list of files that contains dollars. I think. And then you have just to be able to output a report about what the analyzer did. In that case you just write here is the number of scripts containing a dollar and then the list of scripts if you want to see why they are here and what kind of dollar they are. Right. In that case, just counting dollars have been done with grep and actually that's what I was doing like two years ago a lot of grep things. Except that then you see that you have detected dollars that were in commons so you have to remove commons you can still do that with said maybe and then inside quotes and then there are here documents that are not expanded so you shouldn't count the dollars in there and then so each time you see that I can't hear you. Please go to the mic. So I think what then we're saying if you do a grep you get only one occurrence per line which is counted but I think there are options to grep which allow you to count all the occurrences on the line. Well the point is grep is limited because well limited it does what it is supposed to do but we need more than that here and in this case so first having really this parser and this street traversal allows us to have this expansion phase that help us like expanding variables we'll talk about that I think in the next slide and then you can do much more complicated things like if you count the dollars but you don't want to count a dollar that is a variable bound by a for loop for instance we can do that easily in our tool and grep through completely well it's not made for that and I'll leave Ralph to talk about this expansion So I would like to talk a little bit about this expansion which might seem trivial at first sight so what it does is I'll record you that we try to analyze the script statically that is without executing it however there are some when we do that often when you write a shell script you do definitions bindings of variables which are in reality constants so you bind them once and then you use the same value for the same variable all the time and you would like to exploit this in our analysis so stuff like this so you define a variable x and then in the branch you define a variable y so you would find in line 4 in fact statically even that x must be 1 and y must be 2 and on line 7 you would find that x still must be 1 and now y must be 3 because now you executed the else branch not the send branch however if you drop out of the conditional then you know still that x has value 1 because you haven't changed it anyway during the conditional however you don't know now what value of y is it could be 1 of 2 or 3 but we are doing not this kind of set based analysis now we just would exploit the fact that we know that x has value 1 and y we know nothing about y ok so this looks quite easy however it is shell and shell is weird and well let's start to explain why why we think that shell is weird let's do a little quiz so imagine you have a shell script and in the shell script you have these 3 lines written on top of the slide so x is 1 then you have something like x equals 2 and a call to something foo whatever and then you do echo dot x so what should in your opinion be the value which is printed by this so possible choices I give you 5 choices the choices are 1 2 73 syntax error or it depends ok any other opinions 5 so 2 people are saying it depends very good it depends on what ok at x equals 2 that variable setting is scoped to the line so at first when you are just learning shell and learning it well you would say oh well because that variable it goes out of scope after the command is executed x must equal 1 however it's not that you can't be so sure because foo might be something that sets x and then re-exports it to the environment that's true too ok so it depends ok thank you so it depends in fact on several things the first thing it depends on is whether foo is a function or a special built in of the shell on the one hand or whether foo is an external command which will be spawned as an external process so if foo is something like bin whatever which spawns a process then in fact the assignment of x to 2 is local to this line so in this case you would see the value of 1 however if foo is a special built in of the shell or is a function then the assignment of x to the value of 2 will be global to the context of the shell and in this case you will see the value of 2 however if foo is a function foo itself can also set a variable x as you correctly pointed out and then you could indeed obtain the value of 73 in this case however the oldest shells didn't have functions so it must be 1 if you're using the oldest shells well we are talking about posic shells and posic shells have posic shells have master functions so this is definitely something in all the shells which are permitted by policy something which is possible and special built in anyway and special built in ok so I think we have to hurry up a little bit so just to show you that this is a more complicated case so this is kind of surprising in case you don't know what it means so here you have a prefix then you have here something which will spawn a process and then you echo something and in fact what happens here is well I can execute it stage assignment process what it does is it prints A so this is the first line this prints A which is kind of surprising because in the prefix you said that x is B and y is something and also C gets an assignment by parameter expansion here however this is not yet visible when you expand the suffix of the command which is kind of surprising ok then we have seen the spawn a process so all the assignments which have been done by the prefix should not be visible after execution of the process however what we see this dash and it will be the same this batch in the posix mode is we see A and C which means that y is the assignment of y which is not visible here however the assignment of C of offset is so it's kind of weird so the semantics is weird and the syntax is weird and we are having a lot of fun of discovering various features features of the shell here so it's not trivial at all so now what we found effectively on analyzing the corpus of maintenance scripts first we found some really really trivial things that have required a parser at all so this was really really easy the first thing is missing she-banks in maintenance scripts in fact policy says they should be there in the maintenance scripts and we found about 40 packages which did not have them and then we did according to our regulation to our rules what has to be done so we announced a mass bug filing there was some discussion about the severity it was appropriate for this and we settled on important and almost all of them have been fixed so far, so thanks for that there are only five remaining of them and these five are precisely the five ASCII scripts ASCII files I talked about when I did the breakdown according to language then Z-E Z-E is necessary to make shell scripts fail in case one of the commands in the shell script itself fails and they should it's written they should be there this should be done by any maintenance script either by setting Z-E this is the normal way to do it or by taking care of the way how you invoke external commands and make them fail fail with and with an exit one in case there is something not expected so we found again some 50 packages which do not follow this policy all of these cases to ensure that the maintenance did not something else to make it fail as it should and we did some mass bug filing again after discussion and about a quarter of them have been fixed so far then we have the case of local maybe we should skip over this because we are already a little bit short of time local is also strange in shell everything is strange in shell the reason why local is shell just very very quickly is local does not have an end as in Java where you have a bracket group and you have a local variable local in shell is just this from now on that variable is local ok and then you made stuff something like this which makes a variable X local dependent on something which happened before and this means that the parser if you imagine that you would like to add a compiler for shell the parser cannot know whether a variable is local or not and that's strange and we found indeed that there are some cases we did it just yesterday so this we didn't look into this in detail but there are 280 cases indeed where there is a local inside a control structure for a while sometimes even and we have to look more in detail into this to see whether this is a problem then we have more stuff I think we should skip also over this then we did an analysis of the commands and I give back to Nicola of the commands and we did this in fact because we just wanted to know which commands are mostly used in the script in order to know how we should build up our model I was just checking you weren't seeing the results so in your opinion what would be the three most used so maybe we won't do that we don't have time but you can just imagine what would be the three most used do you really see that alright it's visible so the first one is tests which occur in like half of the scripts but then more than in average four times the script people seem to like tests that's good then you have sets which is presented in most scripts which is something we almost already said the third one is true actually there are differences not files because people love to do or true just to forget about a mistake so there are not so many files using them but when they do they do use them a lot and then you have others so we have interesting maybe you have which that is not so here you have which which is present in like half of the files so if we were to order them by files then test then which and we see dpkg main script helper that's good to say that or depth system developer and maybe we won't pass so much time on this slide so we have an analyzer that gives us which command are used and in which way so for instance if you look at in which way set is used you see that in a huge amount of cases it's for the minus e flag which once again is not really surprising if we look at like potentially dangerous commands like remove you have that most of the time it's the force flag that is used and sometimes recursive and force which is like the frightening part and if you look at for instance dpkg you can see that so four out of five cases of dpkg are just there to list the files of the of the package probably to remove some of them maybe I'll just do it and yes when you look at that so the first thing you have to do is you look at what is used the less because it's sometimes where weird things happens and for instance this is how you can see that you discover make dir minus f you say what is it you check that it doesn't exist and we find a few bugs like that in that case it was pkg then we looked a little bit more in detail on tests we did a little we wrote a little parser for the test expression itself and so we have here some statistics about different comparison operators and tunery file test operators we won't talk about this I would like to talk about something else which is more interesting in fact well maybe here you see these are the binary operators which are mostly used luckily for us the last two ones are not POSIX they are supported by CNU CNU test and in fact NT is newer than comparing the timestamps and EF this would be troublesome for us for doing theoretical mobilization of file systems because it means comparing whether two parsers point to the same I node and if this were used a lot it would mean that you would have to model file systems like DAX like graphs and the fact that this is not used means we can just model them as trees and just ignore the cases where something like EF is used I would like to talk about minus A and minus O why because they are mentioned in the policy so policy again says test if implemented as a built-in must support minus A and minus O minus A and minus O are for end and for all to combine complex tests however when you look at what POSIX says POSIX says well it's obsolete first of all it's an extension only it's not in the core of the POSIX standard and furthermore it's mentioned as being obsolete and it's recommended not to use it why in fact the CNU page says exactly the same thing and the reason why both POSIX recommends not to use it any longer is the same because it's ambiguous and why is it ambiguous well this comes from the fact that test expressions contain also a special case which allows you to write a test without any operator in fact if you write in the test expression only one single word it is already a test in fact it is a test whether that word is not empty or not minus N in front of it in this case you can just drop the minus N and that makes the rule thing completely ambiguous for instance a valid test expression is something like this parenthesis equals parenthesis and there are two ways to read this and first of all you might find strange that someone would write it but maybe someone didn't write it directly but he wrote parenthesis dollar one equals dollar two parenthesis so the parameters are expanded to nothing and then you obtain what you have written here in fact you can read it either as left parenthesis is the same as right parenthesis, this would be false or you could read it as the string equal is not empty and this test is written between parenthesis and this would be true so it's ambiguous in its structure and in fact this can also lead to an ambiguity in the result and then you can do funny stuff like this this is in fact legal, a legal test minus A minus A minus A minus A for me there's only one possible reading but apparently there are other opinions because in fact dash says the result of this is zero and bash even in posix mode says it's one so it's weird again and maybe this is a good reason why we should not really use this and in fact you can of course replace it just by the end and or operators of the shell which is a much safer way to do this okay another interesting thing is and this again a design flaw of the shell is that we found almost ten errors in the test explorations in fact syntactic errors in the test explorations in the maintainer scripts and now one has to understand why this hasn't been detected before one would expect that if someone does a syntactic error in the test exploration then the first person who installs the package will find this error and complain and send the bug report this hasn't happened, why? in fact the shell confuses the boolean conditions to and falls with persons and absence of errors okay and this is the problem if you have a syntactic error in the test exploration the test operator fail and the shell sees it at false you might get an error message printed to standard error but this is easily ignored if you install a lot of stuff and the result is just that the test does not behave as you would expect it to do okay so I will show you some of these of these things we have found stuff like this, this of course is false pass find would be a function in this case you would want to apply the function pass find to the argument so this should be something like this this is something we found several times in scripts here what is missing is just an or operator between the second and the third sub-expression why hasn't this been found before one might ask well the reason is that in fact this test will succeed in case the dollar one is removed and in all other cases including disappear and purge it will just fail so it does something but it does not what the maintainer intended this is another one, a classical one of course this is a problem with cutting, with decomposing the input into tokens what is missing here is the space before the break it everybody has done this mistake and then again the test just fails, it always says false this one, there is a missing continuation line for the same reason this also fails just miserably and we found something like this the less simple is not even a post-ex-test the backslash is probably not necessary and anyway the person probably intended here to do a DPKG compare so stuff like this we found nine of them I think and of course we filed bugs against all of them and then we have redirections yes that's a we should maybe hurry because ok this is something we found recently by just saying our redirection used yes probably but what's in there and actually you can see a lot of these where you with these two redirected to one and then one redirected to DevNul do you know what it does I I should know what it does so what it does is first it takes whatever one was writing to and say two should write to the same thing right so if one was writing to standard output two is now also writing to standard output and then it tells you and now one should write to DevNul but that means and this is probably not what is intended when writing something like that if this full command here logs something on the standard error this is not redirected to standard output instead of flushed away and you probably mean the reverse that is first your redirect one to DevNul and then two to the same thing as one right and actually there are like more than a hundred occurrences of that possible problem so we should discuss probably at some point if we should do a mass bug filing and also you discover like useless redirections like one should redirect to the same thing as one or one should redirect to the no yeah wait yes one should redirect to the same thing as two and then one should redirect to DevNul so we can detect a few so these are like non dangerous bugs but still bugs not so maybe to conclude really fast in order to have a few questions maybe so we are in the Koli project launched by Ralph here and we aim at like checking the correctness of Linux scripts in general and in fact Debian packages in particular this is a project founded by the Agence Nationale de Recherche which is just something founding research projects in France we still have two years to have fun with shell scripts you can check the main page and in the future we want to go further and not only on the syntactic level but look at things with funny names like treat transducers, symbolic execution to check more interesting properties of scripts and I think we have like a short time for questions thank you for your attention Hi there I haven't done any packaging in a while but we used to have .config scripts which were also shell scripts and they interacted with debconf are they still around and if so shouldn't you expand the scope of your searching to gather those as well possibly well you have seen that in our project we are already late now and it's quite complicated so I think for the moment we prefer to focus on the maintainer scripts they are all doing similar stuff config scripts are maintainer scripts or at least they were 10 years ago 10, 13 years ago it's 2018 now they belong to the package they go into var, lib, deep package scripts, oh my gosh I'm an old timer I used to maintain x386 back when x386 was a thing I'm sorry what's your name oh Brandon Robinson I've got a lot of painful experience with shell scripts I love what you're doing this is excellent work in fact these config scripts are just present statically in the archive too and we can probably just copy their contents when you do the source it's basically just copying the contents and then handling them it's probably not much of a problem to work on these config scripts they're just named package named .config and mostly they just do reads and writes I don't understand .config yeah it's a debcoff thing so that was the last like maintainer script that was added it started happening about 2000 we still have a lot of .doc base files there and of course we should include them in the analysis because they are setting variables which are used in the script and the debcoff don't call it a registry I saw your set minus z apparently nobody's ever using the earliest the original idea of set set the positional parameters they're just setting the options nobody's setting a 1 and 2 and 3 positional parameter so we didn't see this in the script well we have the results if this is used this is like in less than 0.4% of the cases of set so this is really not so much used indeed alright I think we are out of time anyway yes he agrees so thanks again


Hi everyone, Joe for Jaspy's casebreaks.com coming at you with another fanatics under wraps autograph baseball break This is break number 26. You can see the next one is already in the store One spot gets you nine players. Remember there's one spot that also has any and all multi-signed autographed baseballs Now big thanks to this group right here for making it happen. Now. Let's multiply that by nine. There's one already two three five six seven eight And ninth and final time you can see there's gonna be 171 on each randomizer list So let's get your names first. That was the original 19, but let's delete that There we go. Now. There's the whole big list there. Let's grab all the player names Put them into this list right here, and then we'll roll the dice and put the results of the randomizer in there Good luck. Let's roll it randomize it four and a five five and a four nine times one two three four and Ninth and final time After nine we got Jake all the way down to Jake five and a four nine times for the players one two three Four and a ninth in final time after nine We got a mr. Mike trout On top down to you on Moncada All right, so I'm going to show you the list just as is Just to get this on the on the video on the recording just get it on wax as they say back in the day And then I'll show you the and then I'll alphabetize by your first names Just so you can see all of your players grouped together So thanks everyone for making this happen. There's the rest of the list right there Now let's sort by column a so Brian There are your groups of players right there. Oh one more. That's Brian B Brian C last spot mojo Nice good group of players Eugene all the way down there. They're your players from Walker Bueller through Jonathan India Jake has a lot of players there's your first group right there Jake and of course you can pause the video You can pause the live stream just to Catch up on some of your names if you need to if but if you do just remember to make sure you go back live Otherwise, you'll be lagging behind Don't want that to happen. You want to be at the current point of the stream. There's Jeremy pork You don't want to miss Trade windows. Oh Jeremy also has the any and all multi-side baseballs You don't want to miss trade windows you want to miss You know stuff that you need to be at the current point in the conversation There's the rest Jeremy Josh There's your group of players right there and last but certainly not at least Oliver and his group of players There you go. We're gonna pause the video when we come back We're gonna see if there's any trades and then we'll have the break stick around BRB All right. Welcome back everybody. No deals were done. So the list from the previous little bit remains the same Now let's pop these open And get your thinking caps on because we'll play America's favorite game Who am I or I give you the clues and you try to guess the player Unless in some multi autograph ball then then you'll know right away This is a retired baseball player retired outfielder retired centerfielder switch hitter throws right played for one team at my entire career Lifetime 297 batting average two thousand three hundred and thirty six hits two hundred and eighty seven home runs 1257 runs batted in a five-time all-star a four-time world series champion an ALCS MVP a four-time gold Glover a silver slugger and AL batting champion My number retired by this team Those are you those are your initial clues nice car chart It is indeed Bernie Williams. What gave it away? I Guess switch hitting centerfielder who's won four world series Does that make sense and played for one teams and there are tons of inscriptions here, too That's cool. Look at that. So first of all you get your fanatics and MLB signature right here. You got four-time world series champion five-time all-star batting champ I Mean basically he took the the Wikipedia accolades and To put him right on there That was gonna be my second set of clues Mike. So that's for Jake Good guess Jake. Is this is he saying this is only ball nine out of 51 might be hand hand number as well So yeah, he's great. My second set of clues would have been going through all the music stuff that would have really Really made it easy for everybody, but There you go, Jake. All right next baseball Got another three ball break in the store right now if you want to get another one he's going and Play a little trivia for bragging rights another retired player Kind of in the same Bernie Williams era Played for two teams my entire career a right-handed pitcher But apparently he batted left-hand I don't think I've ever seen him bat because he played for two AL teams had a lifetime to 70 win 270 wins to 153 losses a lifetime 368 era almost got 3000 strikeouts. He has 2813 That's right. He's five all-star appearances seven gold gloves Was an MLB wins leader with his first team and was a six six the Ballot Hall of Famer with 76.7% of the vote Got in a few years ago back in 2019 which might give that away Who am I not Andy Pettit Played from two nineteen ninety one two thousand eight Yeah, there you go, David. I was gonna say he played for Baltimore and then the Yankees David's got it moose Mike Musina and on a Hall of Fame baseball nice That was their last summer Really nice part of the world Cooper's town You got the HOF inscription Got all the information right here. I wonder if that MLB Go to mlb.com slash authentication you can punch in those letters and numbers and I wonder if he signed it during induction day I think it's JD eight three six Five seven four. I'm gonna look. I'm not authenticate authentication mlb.com slash authentication. Yes, there we go JD eight three six three six five seven four. I'm not a robot authenticate Mike Musina. No did not send it at During induction day. He said it just says Mike Musina dash fanatics date November 20 2019 So the year he got His Hall of Fame induction, but but in November later on maybe at a signing event or at them specifically for future products like this Brian Croft Get sad. I wish it was if it was like July or whenever they do it July or August or whatever I would have been like hey, maybe he did it while he was in Cooper's But whenever you see those MLB Logos, it's always worth looking looking it up Especially if it's like a game-worn Jersey and like a future group break or something like that It's really cool. We've we've looked some up and we've seen some not all the time But we've seen some pretty cool stuff where it's like, oh this guy hit for the cycle that day or another retired player Older school guy. He's currently 71 years old and played between 172 to 1994 really long career Right-handed pitcher Had 124 wins to 107 losses a 301 eRA 1500 strikeouts in his career 310 saves so if you know your saves list Then you'll know a nine-time all-star world series champion three-time AL saves leader and a ninth ballot Hall of Famer with 85.8% of the vote Played for a lot of teams white Sox pirates Yankees Padres Cubs Giants Yankees a Japanese team the Fuku Fukuoka Dai Hawks back in 1990 came back to the States Texas Oakland for a couple years and spent a season with the with the Mariners in his last year of his career and apparently he According to Wikipedia a pioneer of the closer role not Lee Smith He retired to Colorado Springs, Colorado his son Todd is a professional baseball player played for Some semi-pro teams here. He's got a plaque in Monument Park Yep, Haley's got it Goose gossage. All right, so there's your fanatics and MLB Hologram sticker great penmanship from goose on a Hall of Fame baseball Little inscription right there Who's gonna get the goose? Goose gossage Jake Smith Goose gossage. There you go gang another three ball break in the store right now jasky's case breaks calm I'm Joe. I'll see you next time for the next one. Bye. Bye


Hello and welcome once again to the rugged rockhound today. I'm back up at Glade Park so some of you remember this road here parked right off to the side right here and Yeah, my wife is actually here with me today But depending on how she feels she may or may not get out rockhounding with me. Yeah, we'll see But yeah, so those I didn't think I was gonna come back here until I cut that agate open Remember and it looks so nice inside and I was like, okay Let's find some more of those and it was right around here It was just over that hill where I found that one. So it's coming out here somewhere close Maybe maybe I'll even check the other side of the road. I don't know. We'll see so wish us luck today Oh, and as always here's the GPS coordinates to this place. Okay, let's go see if we can find some of those agates Right off the bat. There's the car There's some agate just sitting on the road right there. Doesn't look very very good though I'm looking more for those nodules I don't know. We're down the hill. All right. There are a number of small ones just sitting around here See they kind of got that white out Exterior these are very small. So I don't think there's gonna be much inside those And there's ones kind of more like this Okay, that one's big enough that might be willing to cut might be something good in there And right here you can always see one that's just broken Interesting Don't see anything good in it, but maybe it looks like one right there maybe Well, we'll take and cut it and see not sure if you can tell but if you look in there you can see some Transparency and some colors going in there like little balls inside of it It's very interesting those fears Huh, that looks like one of those larger pieces. Let's take a gander at it Hmm Don't see anything quality from the outside. Maybe I should keep a couple of the big ones and just cut into them and see There's anything better further in here's this one washed off Not much inside that one just pulled this out from under that bush Looks right Yeah, we'll cut into that one. Oh, and I'm just gonna quickly bring up So I'll take these home and cut them and then if you don't see It cut open and if it just goes to the next one It's because I cut it and there really wasn't anything in it and it just kind of save time I'll just jump into the next one just reminding you about that. Okay. I just saw that look it looks kind of like a Jasper Although on the outside You don't see much Hmm, that might be worth cutting. Yeah, well, here's this one cut open Ooh some colors in there. It's like a Jasper Really cool Okay, now we're down at this secondary road There we go. That looks right That has that outside look Like the last one All right, I think I saw something else over here This is kind of interesting Hmm, yeah About that, could that possibly be something? Mmm, that's hard to tell but because it might be something we'll take that back as well Now that one looks nice and white Mmm pretty flat though We'll still try it And is that one next to it? Maybe That's the thing is a lot of these are very hard to tell like you'll see the white on the outside You're like, oh, I think that's one and then when you cut it open you just have a chance that it'll Look nice. Yeah, it looks like one potentially Maybe not good, but we'll try it. It looks like one Yeah, cut it see there's one Don't know until we cut it Maybe not very good though that one looks like it might be Now I'm pretty sure most of these are gonna end up being duds and it's just every now and then you get one That's really nice But that's okay as long as you get some nice ones. It's worth it There's a Thicker one right there. That's a big chunk Okay Looks like there might be some blue in that actually. Okay, that's one I'm gonna take home and really clean off and maybe cut This will be a good one to really test and see if these big chunks like this are worth anything Here's this washed off. There really wasn't much in that one. Oh well It's like another large piece right there Mmm. This one doesn't look nearly as good though. Yeah, I'll leave that one I'll just go with that other one. I just found That looks like one that might be a little bigger maybe Worth cutting at least so the road's up there and as I walk down I found an old road that just goes like that and Definitely not used anymore. So this might be a really good spot to look for this stuff And we see anything right off the bat Well, that looks promising Okay I'll take and cut that one too Looks like it might actually have some different color in it like yellow That's interesting. It's just to kind of a solid chunk of the kind of agate Yeah, see it's not very good color. It's not terribly clear, but it is agate Hmm. This looks like it might have some darker stuff on it. It's definitely bigger than I thought it was Now it looks like it's some lichen growing on it. I don't know though Okay, we'll take that one home and wash it off really good. Okay a couple of interesting things here Okay, there's some more of that stuff And there's that Maybe We'll take it back It's got an interest interesting shape to it Hmm maybe Looks like something that would be worth taking back and cutting Yeah Yeah, we'll take that one back. That looks like maybe something there and it's better size than some Okay, we'll take and cut it maybe No something's going on there Okay, and Maybe again, okay, so right up there is that old road and I came off it here and there's a lot of white right here so That's hopeful. Yeah, we're gonna really scour this spot. There might be some stuff here. Look at that a bullet Don't care about that. Um Hmm This one's very weird We'll cut it Yep, good white one can hear maybe Maybe All right, definitely looks like some good potential here. So this looks very interesting Yeah, I think I'll cut that What is this? Hmm Once again, I think I'll cut that Yeah, I think that's worth taking Okay, that's just a quartzite stream pebble Well, that's a pretty stream pebble, isn't it? So when I say true stream pebbles, I'm talking about this is a layer of conglomerate So the actual rock unit is a conglomerate which used to be a river Delta well, I'm not Delta like a close to the mountains type river So but yeah, there might be some really cool rocks in it There's another possibility Is that another possibility? Hmm, probably not but ah, we'll cut it anyway. Okay, let's move up this way Maybe this one I don't know This looks really big right here Wow Man, can you imagine if that's an agate? What you kind of looks like from the outside that's by far the biggest one I've seen out here That's kind of in that nodule shape Oh fingers crossed this ends up being something really good. Oh, please be please be an awesome agate Okay, right through here. I'm seeing a lot of the vein stuff That one looks kind of interesting Maybe I'll cut into that so Here's a big chunk of it Is that anything? Hmm, maybe Here's a nice big chunk of it. There's a big chunk of it Is that a chunk of it right there? And some more chunks here, so it's definitely coming out right here That one looks like it has a little bit of red in the top and bottom Hmm So if you decide not to spend too much time washing this one off You can pretty much see what it looks like Interesting though When any of this vein looking stuff like this, there's a lot of this out here. It's just not really good quality But there's definitely plenty of it. That looks like it might be one Yeah, that could be one Here's an example of one broken open as you can see not looking that great, but you can tell it's kind of got that Cal Sydney Look to it So I saw the tip of this poking out like that so I grabbed it and it turned very dark And I'm intrigued. I don't know It could be nothing. It could be like a a worn chunk of the salt But you know what? Why not just give it a cut? We'll see maybe there's something in it. Maybe there's nothing that looks intriguing right here All right, you can even actually see a little bit of the agate going through that although Doesn't look terribly good, but there's enough there. It's worth Cutting into and taking a closer look a lot of the ones you'll find will be very flat like that And there's probably not enough there to really make them worth keeping Now what do we have here? It's a broken one.  Look at that orange. It's just In your face Okay Maybe there's color out here Just showing you this after I kind of washed it off a bit didn't really need it, but it's just so cool I had to look at it again. That's probably orange all the way through It's just so cool Here's another vein piece Which looks decent enough. I'll probably take that one back and wash it off. Maybe cut it Here's this one washed off See cool little dots and patterns inside some of it Neat that one's not too bad either So i'm i'm definitely seeing better stuff as I come down So the road is probably a good 150 feet up from me and I've come down a ways and the wash is just below me so Yeah down here further definitely getting some better possibilities Oh, is that something else I see right there? Yeah, that looks right Yeah, that looks good. We'll take that one back. It looks like one right there Yep, that's probably one. We'll take that back and cut it open That's nice and white Very small one. It looks nice That looks right Yep And over here probably Got a little one down here Now we're finding a bunch of little ones and somebody lost a lens to their glasses And here's another one broken open. This one's dark inside. So there's quite a variety of what can be on the center of them Maybe it's just worth keeping all of them because what what if you find another one of those orange ones? Yep Little tiny one there Another tiny one here. You can see a little bit in there. Ooh, there might actually be some color in that one Nope Nope, not that one. That one's very round So this one was very fractured. So I just broke it open and you can see some kind of pastel colors through that one Interesting here's some more of the banded stuff, but look at those really thin lines of red That's cool Okay, I've actually walked further now. So I was just over there And then as soon as I came across this wash area and came over to the other side, they're gone You don't see them anymore. I've seen nothing since basically where that tree is So Something's going on here. I think there is a fault. So there's probably a fault along here The layer that we are getting him out of which seems to be the conglomerate layer Disappears here and now we have sandstone Just stumbled across that first at a distance. I thought it was just like some melted aluminum or something, but then now that's a rock Just has a funny pattern to it Hiking back up the old road And that looks like one right there A little bigger than I thought Good. Anyway, I found this one. That one's kind of cool. A little bit of orange in there Fun Okay, once again, I've lost the layer. We're back into the red stuff So I'm looking over on that hill and I'm thinking I think the top is sandstone I think this little bit of white is a thin layer that might actually be the conglomerate and then it's red So I wonder if you just kind of have to try and find that thin layer of it possibly I'm not going to go over there today though. I'm just going to go back up to the road and look on the other side of the road Oh The rain's coming down It's a light rain, but it's raining And I think I'm going to go up and check on the far side of the road And then that'll probably be it for today All right. I'm now on the other side of the road to the east side Look at that. That's a good size right there It's one of the bigger ones I found Very good. Hey, look at that I can already see a little bit of banding on the outside. So That one could be good. Just found this one. Nice big one. It's already broken. So it looks like maybe not good, but I'll cut it anyway just because it's big and this little Got a car coming up Okay, so I've been collecting along the side of the road and it's done pretty well as well So if you do come out here Um, and you find it hard going into the bushes and going down the hills and stuff You can collect stuff along the side of the road for a fair distance. So I'm parked back there And I've come over here and this is about where it ends here as well What if you remember this is where that ravine is kind of going down where I got stopped down there So this is pretty much like a cut-off zone You're probably not going to find anything that way So it's probably mostly all in that direction I did collect a lot of small ones And ones that just look all the same. So I didn't film that So I'm going to cut them all open and I might find some good stuff So I'm going to put that all right here. So all this stuff I didn't film but I did cut open Here you go. Here's the montage Here's this one cut open Hey, it's got some patterns in there Not great colors But it is very interesting Here's this one cut open A little bit of it broke off Oh interesting it does have kind of the same color and pattern of the the vein daggots Here's this one cut open Okay Got some cool patterns going on in there All right, this one shattered when I tried to cut it But it's got some kind of jasper colors in there Here's this tiny one cut open Nice I know the lighting isn't the best but just wanted to quickly show you all of these I cut so many open You can see that volcanic rock there I just cut all these open half of them are like volcanic rocks that Don't look like much other than volcanic and half of them are more of a they're like a flint They're just like a white gray So many of them were just white gray Very disappointing. I was really hoping for more But alas it looks like the vast majority of the stuff out there is not what you're hoping for So I have a suspicion because all of that stuff yielded almost nothing but yet remember this one That was just amazing What I think happened is that Most of what I cut open is volcanic rock and other things and They weren't really the agates and then the ones that were these Nodged like things a lot of them are just white or gray. That's just the way they are What I what I think it is is there's probably these veins of agate that are in the conglomerate layer And there's a lot of those But in the conglomerate you get these which are part of the conglomerate And if you think about it, it's a bunch of pebbles in a river that got pushed downstream So very few of what you're looking for is going to be this And I think they may be farmed in the volcanic unit because a lot of the ones I cut open were volcanic rock And you just basically hoping to get lucky In finding a little bit of agate that formed in maybe an air bubble inside of the volcanic unit And you're basically just trying to win the lottery kind of so Yeah, probably not many of these out there And I'm heading back to the vehicle So I don't know what I got I hope I got some amazing stuff, but I don't know that orange one though that little teeny orange one that just screamed orange That got me excited. So who knows You guys know, of course, you know, I don't know yet until I cut everything open But I have a feeling there's going to be some interesting stuff And I can't wait to cut it because it could be stunning I don't know. Keep in mind though, this area does seem to be fairly small It's a fairly thin layer It may continue further north. I don't think there's anything heading south further up the road I think you kind of have to go back the way you came Probably more on the west side That's my guess, but I don't know for sure. So Yeah, there might be more out here. Who knows? Anyway, I hope you enjoyed and if you like the spot come check it out. It's really easy And until next time remember there is treasure everywhere


We are Purdue. We're not an east coast Ivy League school, although we do think we're pretty elite. I have a president who could have been president. I am proud of my school's athletic and academic accomplishments. And I can beat the world's largest drum. I believe that fountains were meant to be run through. That is totally fine to experience all four seasons in a single day. That it's okay to take classes in both beverage tasting and thermodynamics. That buildings should be made of red brick. And that Purdue Pete may be the strong silent type, but he sure knows how to throw down the hammer. And when it comes to fashion, old golden black is the new black. And your 500 may be little, but my pre is grand. Purdue is the top ranked public university in the state of Indiana. The cradle of astronauts and quarterbacks and the best school on earth. I am a boiler maker. www.mooji.org


Hello, everyone. I'm here with Dr. Peter Smith, who is the author of Free Range Learning in the Digital Age, as well as a former congressman, former higher ed administrator, founding president of the Community College of Vermont. And looking forward to talking about how this book can be useful for educators, as well as students and policymakers and pretty much anyone who's interested in learning and helping adults have access to higher education. So Dr. Smith, would you like to tell the audience a little bit more or tell me a little bit more about yourself and your background and what interested you in writing free range learning? Well, what happened, it is the fourth book I've done. And what happened to me was I come from a very fortunate background. And during high school, I was able to go to something called Outward Bound, which was a month in the woods learning survival training. And I had a profound experience there. I was from Vermont. I knew about the woods. I thought, this is going to be a breeze. But what I learned was that you need to be on a team with people and the guy who can light the fire in the rain is just as important as a person who can hike all day. And you have the slow walkers and the faster or the long walkers. Well, what you need is to know that someone has to be able to read a map. And everybody's got something to contribute. And we had to keep a journal every night. And that experience got me going on a path of what I call experiential learning. I wanted to pay attention to the learning that people do in their lives, whether it's in a union hall or a corporate setting or personally on their own or whatever. And that was when I got going, it was the late 60s. So this was a long time ago. And that got me into the community college of Vermont. And I was the founder of that college when I was 24. It's a very unlikely story. And the only reason really I think I got the job was because no one else wanted it. Because nobody thought it would work. It was going to be adult community-based learning in rural Vermont. Because there are not enough people in Vermont to have a campus. And so we were going to do it differently. And we're going to use experience. So we started with Head Start Mothers. And they were having a personal experience of raising children. But they were also reading books and going to training. And it just rolled out from there. And I'd been involved in what would be called an assessment of experiential learning ever since then. And that led to this book. It's been as circuitous as most life paths are. And I wasn't politics for a while. But when I left politics, which is what you say when you get beat, I went back in the higher end. And I really think that's where I was meant to be. And this book is the outgrowth of my third book, which was called Harnessing America's Wasted Talent, A New Ecology of Learning. And that was in 19-2010. But it was so early in this revolution that we're experiencing now. It was so early that it was a more of a prospective book. And then, so three years ago, I said, I want to bring that up to date. But the way I'm going to do it is I'm going to talk to people. And so that's the short version of how I got where I am. And I believe, as I say in the book, average adult spends more than 700 hours a year learning things purposefully. And that learning affects them. And we in college need to learn how to recognize it, value it, and put it to work. And that respect of the individual, the ending of knowledge discrimination, I say, we value learning today based on where you learned it, not how well you know it, and what you can do with it. I want us to go to that respecting all learning. And that's the tenor of the book and the stories of the learners who got left out the first time around or got a degree but now need something else. And they can't because they're trapped. And I wanted those stories to go out to people so they would know they're not alone and that there are opportunities. So there are some of the opportunities that are laid out in the book as well. And you mentioned knowledge discrimination. That's one of the key terms that you use in your book as well as hidden credentials, which I think are kind of related. Would you talk a little bit more about those? Sure. Hidden credentials was actually the title of my first book. And the whole notion was that we were seeing people walking around with talent and ability, but they weren't. And so they knew how to do things, how to apply things, but they couldn't get the chance to do it because they didn't have a formal credential. So as I've gone through the years, knowledge discrimination was the word that came to me or the phrase when I was doing these interviews because as I'm listening to people and there's one fellow in the book who says, I think he actually emailed me. And he had this guy three different times. He had done his supervisor's job when the supervisor left and he did it very well. And his employer said, yeah, you did it fine, but you're never gonna get the job until you get a baccalaureate degree. And he couldn't get it because he had to work and he had a family. And he said, I'll leave the profanity out. But he said, I drive by that college every day, going to work and coming home from work. That's no shining city of opportunity on the hill. That's a castle of exclusivity with the drawbridge drawn up. He was furious, he was bitter. And that is knowledge discrimination because he knew how to do something but he couldn't get his ticket stamped. And so that's where the phrase came from. And there is, around that section of the book, you talk about the remoteness, the facets of higher education that can be remote to adult learners. How can higher education fix that? That you would think that that would be something that they would be interested in considering that the market for adult learners, people who have some college and no degree is 10 times as large as the market for people who are coming straight out of high school going to school. You would think that wouldn't you? The thing of the matter is, and this is a very important point, I think many, many institutions are either gonna learn how to respond to this change. I mean, it's a technologically enhanced change. It wasn't possible to do it with thousands of people or tens of thousands of people, even 15 or 20 years ago. But in places like Sailor, who are offering the resource for learning and people are coming and using it every day, thousands of people, I'm sure, that wouldn't have been doable 25 years ago. And so higher education in many regards, better watch out because the only thing they can't do is stand still. Now, the whole notion of disruptive change, we talk about disruption these days, and the fact that what's hard about colleges changing is that their academic structure is an economic structure as well and the campus is an economic reality and the faculty by history run the curriculum and it all happens on the campus. Well, now we can have a college degree at the University of Maryland University College, we have 90,000 students on four continents and it's online and blended and they're place-based as well as online, but the fact is the curriculum is consistent and it's high quality and so you don't have to do it the old way. And I think the thing that's interesting is that higher education historically has been able to control the change that comes to it by language and because if you think of colleges even 20 years ago as an oasis of information in an information poor desert, the community around it, you had the libraries but that was about it and you had to go to a college or continuing ed to get something. Now that desert has gone green. There's information everywhere and learning anytime, anywhere, anything with some limitations but not many is possible and so you have new nonprofits and new businesses like DeGreed and Portfolium which I write about in the book as well as college, what I call adult friendly colleges so four or five presidents that I talked to are in the book. So the fact is there's about 10 different ways now and I think there'll be many more to skin the, if you will, skin the learning cat. That's not a very nice metaphor actually I don't think but there's many ways to do it and so what's disruptive is if you think of a college as having its alumni and its faculty, they're happy with the way things are that's what they know how to do but along comes a UMUC or sailor or other combinations of who can do something just as good or better in terms of content and quality for a fraction of the price or in your case for the content there's no price at all and that's a great place to start. So if you were a higher administrator now and you were trying to change a traditional campus and make it more adult friendly, what would you do or what changes would you advocate for? Or what advice would you give? And I write about this in the book and I use what was really interesting as we talked to five or six college presidents independently they all said different versions of the same thing and which was really amazing and they're all doing business quite differently but first of all, I would look for data analytics to help me understand every week how engaged students are, the learners are in the curriculum so and that is possible today and some colleges are doing it and I write about some of the nonprofits and for profits that are helping do those data analytics but high support you need to have high support and that is more than me just holding your hand that is giving you good information about jobs, good information about the value of the curriculum so you understand if you do these things it'll lead to that future and then keeping you on that path and not asking you to do things that are extraneous or not pertinent to where you wanna go. So there's good information, high support and then content and evaluations that are adult friendly and respectful of the learning you bring with them I would assess the learning you bring with you it's something we do at UMUC and write about Kale in the book C-A-E-L I helped found it 50 years ago that's a national association committed to assessing your prior learning and then there are models and I would say there's the online model or what's called blended so I could go to school every other Saturday all day long and then during the next two weeks I would have material that was available to me online that I would do and it's like listening to the material, taking notes, doing whatever and then I go back every other Saturday all day or two nights a week or you can do it but it's called low residency and I think that's gonna be more and more popular and it's cheaper and it's a different use of the property if you have the campus or I think you're gonna see learning in union halls and I think you're gonna see learning in the workplace and I know there's learning going on in some public libraries where you can actually run a class or run a college program in the back room of a library with computers where people don't have to leave their community to go to school so I think what's gonna be under pressure is the notion of a full-time student going to school 20 hours a week living on a campus or commuting who's the 18, 19, 20, 21 already 75% of the learners in America who are involved in higher education are over the age of 24 so that's changing and that means the campuses have to change because if I'm 30 years old, I've got a life and a family maybe and a job and kids and other things going on so I can't, parking matters, child care might matter. Absolutely. Distance to the campus might matter, time of day matters so now we can do something about all those things. And let's talk a little bit about the students so in your book you feature a lot of student interviews. What's the common arc that you see in each of these students' journeys? Are there certain paths that the students end up taking? The first thing that happens is for whatever reason and it ranges from my parents never went to college so it never occurred to me to go to college too, I tried to go to college and flunked out one guy left four times or there's all sorts of reasons why people missed the boat the first time around, okay? Then what happens is they're going along, working usually in this case that there, I'm sure some who don't are unable to and then they come to what I call a turning point and I write about turning points and it's an aha moment when you say, I don't wanna continue like this and so the woman who heard two people talking about her at work and she'd applied for another job up the ladder and they were saying she's not gonna get the job because she doesn't have a baccalaureate degree and she just said that was it. I was my own worst enemy, my kids were in college, I loved to read when I was a kid, I went into the military, I came out, I didn't spend my education benefit money well, nobody really helped me think that through and so I just never did it and now my younger daughter is about to finish college and I just said I'm doing it and that was for her the turning point and what happens after that and I write about this as well is a transition in which you say I'm going and you experience the notion of a change in your assumptions about yourself, about your view of the life path you're on and you move to a new place for you a more powerful place, a more assertive place in terms of wanting to get and working to get things that you need in order to live a better and I'm not talking just about working life but your social life, your community life, your civic life, we know that people with the more education you have the more involved you are in politics, in your community, in issues and you vote more, you're healthier, you live longer and there's pretty good reasons to change your path. So there's this missing the opportunity the first time around then there are these turning points that happen then there's doing something with them and if my term is if you have come to a turning point and don't do something about it you become a prisoner of your own experience in other words you're really caught and it's never too late but you've got to be able to go through the transition and get the resources and then proceed and so that is really the steps that I walk people through with the stories the stories that I got from real people. And so I've noticed in the stories that there's also something transformative that seems to happen with the students who are doing the prior learning assessment process itself. Each student seemed to talk about some intangible that they didn't realize they had whether it was assertiveness, kind of a new sense of self accomplishment or self confidence. Is there a way that that process or something like it could be used for traditional ages? Well, I think it's, if you're under 25, you've had less experience unless you went into the Army or the Peace Corps or something like that. I think you can use reflective assessments much earlier but the thing that is great about the assessment of prior experiential learning like there's the fella who got credit for I'm gonna call it a computer 101 class and he went into computer 202 and that wasn't the title of the course. And he said, I knew everything that the people who took computer 101 knew except I had learned it at work so I know how to employ it. So it wasn't just knowing about it I had actually used it and that was much more powerful than fellows who had men and boys and girls in this case who had done it but they hadn't ever done anything with it. And so that what happens and the other thing he said and you saw it again and again in the book I had no idea how much I actually knew and what happens is we know people learn 700 hours or more a year, that's the average. But the other thing is that they take in this learning and they essentially forget that they did it. So it's just in there influencing them and they're using it but nobody ever put a pin on it and said, oh, by the way you just learned a lot about Brazil and speaking Spanish because you decided you wanted to go to Brazil and in Brazil's case it probably Portuguese but anyway. And so what happens when you go through this assessment process it's a class and you build a portfolio and you have there's a rigorous way of going back and inspecting all the jobs you've held all the things you've done that are important to you remembering them and then getting inside them and really pulling out the pieces. And it blows people's minds and they say, oh my God. And I had this first experience when I was at the Community College of Vermont we had our first graduation in 1973 maybe, maybe of 72 and this woman, we had eight graduates, okay? Oh, big day. And this woman came up to me, one of the graduates and she said, thank you for the degree and thank you for the college and all of that. But she said, what I really wanna thank you for is putting together my experiential learning. She ran a childcare center. And she said, I really wanna thank you for the assessment of my prior learning the portfolio course we'd call it today. I said, why? And she said, because now I know I'm a learner and I've always been a learner and I'll never stop learning. And I thought, oh my God. You know, I was thinking of it as a fair thing to do and an academically appropriate thing to do but I hadn't thought about it as a transformational experience in a person's life. And that is what you hear in the book and the story is again and again is I'm in charge of my own life now. I know and people become very conscious about the learning they're doing every day. It was one of the most powerful parts of this. I've always known that but it's one thing to know it up here, it's another thing to know it down here. And I really, my appreciation for the power of this stuff and assessment of your experience for learning value really deepened with the writing of this book. So say you were giving advice to somebody who wants to start this process. What would be the kind of, what would be the four or five steps that you would have that or however many? How would you break it down into bullet points? What should someone do? Well of course if they were, I mean the first thing I'd do is say check out the University of Maryland University College because we do this. But you know, not everybody wants to go to the same place. And so depending on where they lived, I would say probably the thing I would do would be most helpful is say go to Kale, it's C-A-E-L, go to their website, kale.org and look at the colleges in your state. And I talk about this in the book, so it's all how to do it. In your state that are members of Kale. Kale is the council for the assessment of experiential learning, okay? So if somebody's a member, college is a member of that group and they're in your state or in the region of your state within 30 miles of where you live, that may be a place to just find out what they do. Now maybe they don't do what you need, maybe, you know, because everybody has a different approach and some people frankly say they do it and then really not so much, you know, kind of. And so you need to sort those things out for yourself. But some people I think a lot of people are gonna be very interested in either a topic and they wanna find a college that is the best at that topic and maybe online or another might be interested in a college that's local within 25 miles of where they live with a distance learning or remote learning where you come to campus once every two weeks. And they do these assessments. So people need to sort through what is most, like if somebody wanted to do this and it was in cybersecurity, I know we're at UMUC really, really strong, award-winning in cybersecurity.  But I write about it in the book because there is now increasingly there are ways to really find out where the best fit for you with a college or a learning program of some kind, how to get that best fit.  Maybe that's good, maybe it's not. And you wanna be a discriminating thinker about like that when you're putting your life on the line, if you will, to change it. Absolutely. And so I'm gonna play devil's advocate a little bit. So if I were a faculty member or someone in charge of reviewing whether or not credit should be assessed for or should be granted for something, I would probably argue that personal learning experiences are very nuanced, it's very difficult to, how can you standardize it? Everyone understands something differently. Everyone's definition of mastery is different. How would you counter the, how do you really attach academic rigor to, of course people are learning, you have to continue to learn and evolve to survive. How do you really attach academic rigor to that? What would your response to that be? Response would be good question and you're right. It's hard, I mean it's, but the fact is every course you have in your college has a curriculum and it has a set of assumptions about what somebody needs to know at the end of the course. And historically we would line those, the personal learning that you're putting together in the portfolio in the class, you're putting it against courses. So you're saying this equals that and there's a faculty member teaching the course that's helping you do that. That faculty member does not review your portfolio. You have a separate content expert or multiple content experts depending on how many courses you're claiming, looking at your assertions. It would not surprise you that most learners who go through this, well one, it was really cool, most learners who go through this graduate, finish their programs at like 60% higher rate than adults who don't go through it. So it really helps. But also most people who finish a portfolio and get it assessed, they claim more credit than they get. I mean, so I think it's usually, the awarding of credit is sometimes between 60 and 70% of what all the claims were. And what happens now with computer or technologically enhanced and algorithms, we can begin to do these comparisons with a high rate of validity using technology to get you 80% of the way there and then having a subject matter expert do the final okay. And that's a very complicated topic but we're gonna be able to, what matters is, in my mind, we have accounting one and accounting two and accounting three and accounting four. If you say you can do one and two and we agree, the question is, can you succeed in accounting three? If you can't, we need to go back and look at the process. The way it happens now is, if you don't have accounting one or two, we just assume you need accounting one. And you're bored to death and may quit. Two thirds of the adults that leave higher education without their completion do so for non-academic reasons. Two thirds. And it's like, wait a minute, I know this.  So I turn the proof around. If we can legitimize your claim, let's give you the shot at accounting three. If you can't do it, we can always move you back to accounting two. We don't have to charge you more, we'll just move you back to accounting two and say, no. So the point is you've got to perform according to the award of the credit once you go to school. And what I think colleges have to learn how to do is not take your money and then charge you again or make you finish the course. With good data analytics, I would know at the end of the third week, whether you're participating actively and substantially with the material and whether you're over your head and move you right back to accounting two. Boom. And so this also has, not only does it have implications for higher education, but this has implications for employers, people who are looking at workforce development. They kind of, there's always a lot of talk going around about the skills gap. And you are in the book, you argue a little bit of the skills gap and the credential gap. And I would say the communications gap or a candidate's ability to communicate that they have the skills that are needed in a way that an employer would accept are all related. Could you talk a little bit about that? Well, that's the new frontier that's getting worked on right now. And I'm hoping that I'll be able to be part of that. And it's really what I talk about in the third section of the book, which is that I say a GPS for learning and work. And essentially, if you think about, I've got a portfolio and it's all my formal learning and my informal learning and it's all been validated by a third party or a college. Here's all this information. And then I've got academic standards over here and I've got employment standards over here. I can take this and we know it can be done and apply it to the academic standards. I can take the same information and apply it to the employment standards. They're different standards for different purposes. But when you create those translations, you're then hooking academic level to employment readiness. And so that's where I think a lot of the AI and data analytics are gonna become incredibly helpful. And I think we'll see models like that operating at least as model demonstrations within 18 to 24 months. And so you're absolutely right. And I think you'll see employers, like I was talking to someone the other day and she said, we have warehouses in 20 states. And we've got men and women driving forklifts and I know in those people, there are future managers of the warehouse. I don't know how to find them. What are we gonna, can you help us look at those? We're gonna put together a cohort of learners and then find out whether they're ready to learn about management and be ready to get promoted when the time comes. So I think, and I talk about some of the innovators, portfolio, degree, cred-link, what degree does, for instance, is you say what you wanna learn and they just start throwing learning resources at you. And then when they keep what you've done and read and then they connect to employers and say, Peter Smith's ready to do this. And they've got several hundred employers that are considering that. So it's all gonna get better and better. And then beginning these things can be raggedy because it's never been done before. I mean, Columbus sailed in a 93-foot, three-masted galleon and now you can fly to Paris on a 787. Things get better, things change, but you gotta start somewhere. And I think there's gonna, the world, the whole HR world and what it means to be successful in school and be successful at work is going to be redefined and how to do those and be those kinds of successes is gonna be reinvented in the next. And I think it's already started, but whether it's a three-year horizon or a five-year horizon, you're gonna see amazing, just take sailor, there's gonna be amazing uses that sailor's courses are put to and things that people who dream this place up may never have even thought about. That's cool. I think I agree. So if you were, well, that wasn't, I'll come back to that question. For employers, what are some things that they could implement that would be able, that would allow them to be able to accommodate free-range learners now and be able to hire them efficiently in the future without using a bachelor's degree as a screening tool? I don't think the tools really exist yet, but I think we were just talking about the kinds of translation algorithms that will make that possible. I think the thing that employers right now need to do, frankly, is be much more assertive with colleges or other sources of training about telling them what it is they want, not just taking stuff off the shelf. And when I say what it is they want, that means they have to look at their jobs and they have to look at their jobs three ways. And jobs are, there's vertical and there's a horizontal and then every job. So depending on where you are. So I'll say you're a GS, we're in DC right now, so we'll use general services.  A GS8 all the way across the government is assumed to know and be able to do a certain level of performance. That's what makes them an eight. But in their agency or in their unit, they have a vertical set of skills and they are not a nine or a 10 or 11 or 12, they're an eight. So say they're in the EPA or wherever, the National Science Fund or wherever they are, there's a horizontal standard they have met that is peculiar to being an eight and then there's a vertical standard they have met that is peculiar to their unit. And if you can take those two things and understand those two things in three ways. One is what are the skills? Okay, that's like screwdriver screw or writing a code or that's a skill. Then what are the cross-cutting intellectual abilities like problem solving and critical thinking, numbers, math, writing that you need? What level of that sophistication do you need to do this job well? And then finally, there's the issue of values and teamwork and your behavior. In other words, that's, and what are the behaviors you're looking for that are desirable to teamwork, leadership, diversity, whatever it may be. And so you've got to, I think we're gonna see is people coming at all three of those things. Right now we do the skills and we don't do, it's like I remember that the Civil War was in the 1860s. Well, what did it mean to the country? How can I describe that? How do I write about it? Think critically, what did it mean? And then what were the behaviors that people were exhibiting that got us into it, got us through it, got us out of it? See, it isn't about liberal, I found of saying it isn't occupational or professional versus the liberal arts. It's both because you need this problem-solving, critical thinking, writing, numeration, the ability to work on a team. These are things that we associate with liberal arts education. There are other ways to learn them, but they need to be learned. And so it isn't a choice. You've got to do both, got to do all three things. So that's, and that's where we're going, but it's going to require employers and HR people to get much more granular about who it is they're looking for, what are the skills and abilities and behaviors, and live with that, which makes a lot of them pretty antsy, frankly, today, and then asking colleges to do this. This is what we need. We don't need what you have on the shelf. We need this, and getting colleges to do it. So if you were a policymaker now, what advice would you give to people who are policymakers now, who are looking at the issue of how do we get people out of industries like trucking that may be automated out within the next three or four years when they're fairly lucrative for getting a credential that didn't necessarily require an associate's degree or a bachelor's degree? What advice would you give to policymakers now? One of the things, we're right at the beginning, but I think we've got to change the way we spend money. Now, institutions need financial support, and I believe that public higher education and private higher education, but public, I'll stick with that for now, is part of the checks and balances of a civil society. In other words, we all think about that as the government and the constitution and all that. Yes, but more broadly, in the society, there is a check and a balance around people's lives, social, civic, and economic lives and the overall good of the society. And I think that's what's at stake here. I think we're going to see a movement. I read an idea today that some of the federal funding, I think it was Title IV, the idea was it might be put into personal learning accounts. There may be ways to alter tax policies so that when you spend money on yourself in specifically pre-approved programs or pathways, you get a tax break. But I think, so I think if I were a policymaker, that's one thing. The other thing with accreditation and federal regulation, I would promote what I call innovation contracts. And that's my term, there's nothing special about it. But what I mean by that is if a college sees a way they want to change the way they do business, maybe they want to affiliate with a boot camp. Maybe they want to do something else. But it will be in violation or it will rub up against the federal regulation or their accreditation. So this would be a way for them to approach the accreditor and say this is what we want to do and the accreditor has five criteria and you have to meet these criteria and then we'll give you five years to try it. And if it works, by the end of third year you're going to build it out and at the end of the third year if it isn't working you're going to put it to bed. But giving people the ability to experiment without losing their accreditation. And if the accreditor says it's okay then the federal government says it's okay. That would be my, that way I'd do it. So I think there are things we can do that loosen up the reins of authority on what is quality higher ed and what is not to let people experiment. Because some of them are going to succeed and some of them are going to fail. But if we can't experiment and try new things we're not going to get out of the box. So I would think, I guess the last thing I'd say is innovation contracts, that's my term for it. I think, and changing the way the money flows a little bit I think those things are going to happen. Okay, well thank you for that. What about for entities like Sailor Academy and as you already know Sailor not only provides free courses for anyone anywhere to learn but we partner with colleges particularly a lot of the adult friendly colleges that you mentioned in your book to provide credit pathways and lower cost pathways to a degree. What advice would you give Sailor Academy and entities like ours who are working to lower the, to partner with higher education, lower the cost to education and create opportunities and access to education worldwide? I think I'm not as comfortable talking about that just because it's not where I have lived my life. But I think it's the same as what I would say to a college and that is in the world we're going into nobody's going to be good at everything. So you need to decide at Sailor what it is you want to be world-class at. And then you look for partners. Wherever they may be academic partners, employment partners, data analytics partners, to maximize the value of what you do very, very well and don't make the mistake of thinking you can be all things to all people or you can control all of the drivers of quality because nobody's going to be able to afford to control all the drivers of quality. So you gotta sort of see, where do we want to be in five years? And then you sort of reverse engineer back to today and say, where are we now? And so then that will tell you do we deepen our partnerships with higher education? Do we find someone who wants to do this job conversion translation to the workplace? Like Burning Glass or MC are two companies that are really doing great stuff with job information. Or do we want to create a personal pathing application so when somebody comes to Sailor and I only get content but they get a chance to try out different career paths and educational paths in a game like atmosphere without having to risk their skin. So, you know, but the main thing is to decide the one or two things you want to be good at, decide longer term, what is the impact you want to be part of and then find the partners because it's all going to be partners. Awesome. Any other parting thoughts about either the book or what you've learned from kind of the journey that you've taken that you'd like to share? Yes, I think, I didn't know you're gonna ask me that question but there are two or three things that come to my mind and I'll try to be uncharacteristically brief. One is that I think of people getting the learning they need and having it valued as a social justice issue of the first rank because we have been very good in our society at telling people that they didn't go to college, it's their fault and even more implying that they're stupid. It's just not the case. We have talent and capacity walking around this country that is unrecognized and potential that is unrecognized and we need to tap it and we need to do that for their good and for the society's good because everybody when you make more money you spend a little more money and that's good for you and good for the people who are giving you the services of the food or the haircut or whatever it is you want. So I think there really is a compelling social issue as well as a fairness and respect issue. This is about respecting if I am an indigenous, come from an indigenous background, I have history, I have culture, it should be respected. We should find ways to count my life experience, anybody's life experience in a legitimate way but there's respect and all the things we're talking about I'm respecting the life. We are respecting the lives of people who come to us. So I think that's really, really important and I think the last thing I'd say is that if we can make, that this is, I'll put it in, what I learned personally I'm pretty much what I look like, okay? I was born unfortunately not to a lot of money but to a lot of privilege and I have redefined privilege having done this work. My privilege is that I've never lost a fight that I didn't choose and I've chosen some and I've lost some but I chose them. These folks were losing fights before the turning point they're losing fights every day they never asked for and that's what this is about is saying we've got to get straight with these folks. It's not a personal blame, it is a condition of life and we have an obligation to do something about it with them and that to me is what has motivated me for 50 years but I really got it much deeper doing these interviews, much deeper. You see kind of a common thread of people realizing or having heard or having told themselves that they're not necessarily college material which I hate that term but then kind of taking almost a harder path because they're not being pushed through a path or facilitated through a path they're having to initiate it on their own and coming out of the process even more empowered and able to self-actualize. And they exactly and it is harder because you and that's where the high support doing this is hard enough all by itself so what we need to do is make the adult friendly college the experience itself. Think of this, when you go to Nordstrom's or shop on Amazon, they give you a cause here. It's a friendly user experience. They want you in there and at colleges we've made it historically hard and the term we use for graduation is persistence. Well the whole image is that it's like going uphill in the winter in an ice storm. Well no, we want the learning itself is hard enough so let's make it as user friendly as we can so that you can get to the learning and stay with the learning and complete the learning. To me that's the key. Absolutely. Thank you so much Dr. Smith, really appreciate your time. Thank you, thanks Salem. Yes, absolutely. Well please do, if you are an adult student know an adult student or think you might be interested in any facet of learning, please do check out free range learning. We'll include a link as well. And Dr. Smith, thank you so much again for your time. My pleasure, my pleasure. Absolutely.