How's everyone doing good just curious if this is yeah, who here is this is your first DEF CON? Oh Oh Look around But those of you this is your first DEF CON Welcome welcome Each and every year well except for last year when we run talks they ask this question and The numbers are usually anyway between like 70 to 80 percent So the numbers are pretty consistent So for those of you if you're you know, just your first DEF CON welcome It can be a little overwhelming let's be honest about it, but my biggest advice is Take every opportunity that you can This is an opportunity for you to learn as much as you as much as you can and also do yourself a favor Learn from other people including strangers here as well, too You may never never know that person that's going to be speed you speak to that could be a lifelong connection actually speaking of Speaking of the next speaker and start a lifelong connection how I got to meet you and You'll be on in two minutes So make sure you enjoy DEF CON and Learn as much as you can Let's get started. Hello everyone good now. Yes. Good afternoon everyone. Good afternoon Welcome to DEF CON 31 and Welcome to talks presented by the packet hacking village since 2013 been a long time the packet hacking village has presented a track of talks so and the whole premise is people who Go to talk And you walk away You should be able to take away something immediately to use after the talk So that's the whole premise of packet hacking village talk and each and every year they're well attended and First want to say thank you. Thank you for for being here for Actually, our final packet hacking village talk for today And it is my honor and privilege to introduce someone who has given a few talks in the past and quality world-class talk to the packet hacking village for years Mike Rago and Chet Hosmer So I'll let Mike give a little background about about him and his talk is on open-source intelligence open open-source intelligence and physical physical threat intelligence, so My pleasure to introduce an old friend Mike Rago Thanks Ming really appreciate it and super excited to be back Thanks for having me and huge shout outs to the packet hacking village for everything they do over the years My name is Mike Rago My good friend Chet Hosmer couldn't be here today some family-related stuff We wish them well send our thoughts and prayers Chet and I Co-present quite a bit at a variety of conferences around the world. So we share a lot of the same information in terms of our research and Look forward to sharing that with you This particular research and title of this presentation is oscent for physical threat intelligence We know that a lot of people In the security community today are leveraging oscent intelligence in a plethora of ways Whether it be for a person of interest or an organization of interest Whether it be for pen testing and going out there and gathering any public information they can find our particular focus of research for the last few years is Physical threat intelligence and we'll talk a little bit more about what that means and what it applies to in the real world And how organizations and people use this today So Chet and I as I mentioned have collaborated for many years We've written books together and we both have been professors with the University of Arizona Aside from our full-time jobs and it's been a great research ground for a lot of the things We do over the years further more we've presented out a variety of conferences including def con hat con in Norway and many other conferences in addition a lot of this research we collaborate on Allows us to work with a lot of organizations and understand a lot of their needs So as we go through this there'll be a lot of applied aspects and real-world scenarios and how we use this physical threat intelligence for situational awareness Chet has authored even more books than I have and again just a variety of research over the years in In addition, he does a lot of coding and runs Python forensics.org So Chet does a lot of research and a lot around Python So I think most of us here are familiar with open-source intelligence or OSINT Again, what we're trying to do here is apply that wealth of information To meaningful intelligence that we can apply in a physical way whether that be Concerns around business risk. Are we building a store in you know a foreign country? And are we concerned about someone targeting that store either while it's being built? Or the first day it opens with some kind of flash mob that destroys the store or things like that or maybe it's applies to in organization that provides Help for people around the world Our thoughts and prayers go out to Maui and everything that's occurred there But there's a wealth of data and pictures and information people are posting that can be leveraged to determine Where to mobilize help next and really provide that help to people that are in need So this data can be applied in a variety of a lot of ways Furthermore, it can be very cutting edge in terms of collecting it in a streaming format or live So it can be very actionable We'll talk about the overwhelming wealth of data out there and how to better curate that So you don't spend 99 percent of your time trying to find those needles in the haystack That are most helpful for situational awareness, but actually flip that model upside down to Pre-curate that data and make it far more actionable in a very timely manner as we mentioned here in the slide We also want that to be a key decision-making piece of information that we can use but it doesn't displace Information you may receive via private channels or other channels you have and how you collect that intelligence and use it for situational awareness Bottom line. It's meant to complement that data The applied aspects of it could be related to threat assessments and business risk Could also be related as I mentioned to disaster response In this particular talk we expose a lot of the research we've done around the Ukrainian war to actually identify different attack patterns Paths that troops are moving what things are being destroyed how to profile tanks and other Equipment out in you know the Ukraine and other areas and it also can be used in more Geopolitical type situations as well So this data is becoming more and more helpful But again one of the big concerns may be around misinformation and disinformation and we'll talk about that too Lastly before we get into how we actually perform this and some of the Python scripts We've created for the collections and weeding through that data is as I mentioned can we trust this data? one of the things that we do is by collecting it in a live and streaming format But furthermore Pinpointing a geo and collecting what we call ground truth for a bounding box or a radius from which those posts are emanating from We're not collecting data from around the world. We don't want data from around the world It's littered with misinformation and disinformation So you can leverage a technique that we'll talk about more here shortly where you can create a radius Or a bounding box around a city such as Kiev within the Ukraine You could do it around an area that you know has been impacted by an unfortunate disaster This will give you much more legitimate posts that are again Originating from that area giving you that ground truth and we have found bottom line that that data is Increasingly helpful and weeds out more than 99 percent of the misinformation So in getting to what we mentioned earlier about being proactive and pre curating that data So you don't have a huge data warehouse of useless data. This is one of the preliminary things you can do So you don't end up in that scenario So let's talk about the tradecraft and then we'll talk about our research and a lot of the interesting findings So conducting this Involves a lot of data sources. It may be social media It may be other sources as well and understanding the chemistry of these different social networks and other mediums that provide this information For example, if you're gonna take a look at discord on discord There are a variety of servers and channels that are focused on the Ukrainian war that are focused specifically on nothing But tanks and other things that people are passionate about that they're posting a Lot of those posts are also non-bias So there are pro-Ukrainian and pro-Russian posts going on But again, we want to collect ground truth So we want stuff originating from that area not across lines not from other portions of the world in addition That helps with countering all that counterintelligence misinformation and disinformation So when we perform these analysis techniques We also are profiling and understanding which of these accounts over time are actually spreading misinformation We'll talk about how we profile those so that we understand the top Posters or people that may be posting legitimate information from that ground truth and people who are Basically muddying the waters with that misinformation So in this case we want less data not more most people will get on social media Leverage a hashtag or a keyword and just start collecting a whole ton of data Oh, if you talk to anyone that basically takes that and tries to Automate that there's just so much data collected you end up spending too much time Analyzing all that data you can actually get ahead of the curve in a variety of ways Also, you know as a long time ago when I started out as a Unix system administrator You know my boss told me listen There's a lot of things to manage here on the network at the NASDAQ stock market, you know laziness breeds efficiency Focus on the most important things, you know, try to focus on you know Less data not more in how we pre-curate that so we'll talk about that too Also, we want to respect the terms of service these vary based on the website based on the social network Make sure you're familiar with what those are some of them have very important privacy policies We're not exposed to expose the accounts from which this data may be coming from also scraping and other things Sometimes they're not allowed But as you interact for example with these social networks, there are exposed API's for example with Twitter Those have changed quite a bit recently and now also there are tiers You have to pay for to get some of that data that otherwise with a free account you wouldn't get so understanding that too is going to help enrich your data and also ensure that you're within the terms of service so as We collect based on a different methodology rather than keyword or hashtag. We actually collect by geo again We get that ground truth data that's emanating from within that particular radius or bounding box in addition We increases the authenticity of it because we're collecting not only posts, but we want those images videos and even emojis and We pump those emojis actually through some ML that actually helps us in an automated way Understand the sentiment to which also helps us determine whether or not this information can be trusted So we created a Python script that allows us to perform this collection this allows us to either pick from a particular city or location and Select the bounding box or radius for that location Or you can actually put in the latitude and longitude and then define the radius or bounding box for what you want to collect That fundamentally performs the collection by basically eliminating all the rest of the data from around the world Are we gonna miss a few important things? Yeah, but what I will say that's a lot easier than collecting data from all around the world And trying to find those needles in the haystack Instead we're weeding out all those needles and we're getting roughly 90 percent of them and that is far more actionable and Timely in terms of leveraging this data for all of those applied aspects. We mentioned earlier We can additionally Put in keywords and hashtags even in other languages and this will help further curate a lot of that data There may be stuff within a radius around Kiev that have nothing to do with the war So if we're looking to collect stuff related to the Ukrainian Russian war there may be stuff That's irrelevant as we perform the collection then we're collecting each post it could be a tweet It could be a post it depends on the social network and collecting those images and Collecting those videos We'll talk next how that stuff is really important for cross correlating that data We also take a look at the accounts that are posting this information So as we categorize them and determine who are the top people that are posting legitimate and very helpful Information we can actually focus on those and eliminate a lot of the other accounts What we have found is of the data that normally emanates from a bounding box that there are about 10 to 20 people That dominate those posts with a wealth of positive helpful information But they're also about 10 to 20 that are littering it with misinformation But again knowing these from the get-go As you're collecting this data and weeding that out again helps curate the data in a very automated way So we've gone we've collected the data. We've done this in a very automated fashion again leveraging geolocation information And leveraging this in a chronological way So that you know we have a timeline as well of the events and we can use this for predictive analysis So let's talk about how we leverage this data Now as we look through the data We can see all the posts all the tweets and furthermore any of the information and referring links if it may point to Twitter if it may point to discord if it may point to telegram And as we look through the data that we've collected we start to find some really interesting information If you're using some form of computer vision in your favorite cloud vendor You can automate the analysis of these images and we've done that So if you're using optical character recognition you may start to notice here on the screen that there are serial numbers on these military vehicles and by knowing we collected that information for that vehicle at that location at that point in time We know that that vehicle was located there But if we're monitoring multiple locations around the you the Ukraine for example Kikarev that they targeted first Then moved on to Kiev if we saw that military vehicle in Kikarev and then later Kiev We're starting to see a motion on the map right of where these Where this equipment is going where the troops are going and potentially where they may go next Really interesting sliver of information. I'll show you later that was something that we found that we completely did not expect So there's a lot of Related data here across these devices if you're using optical character recognition whether it be an image or a video It'll go ahead and scan all those images and actually gave us Chronologically in time and location wise where those where that equipment was and You may have heard you may or may not have heard the terminology then Chrono Locationally, so we're taking a look at it chronologically, but also locationally as well So kind of a new term that's been floating around chronologically So to recap before we get we delve deeper into the data is we're performing live Streaming collection Secondly by geo to help pre curate that data We're not running a vacuum and collecting data from all around the world based on a keyword a hashtag We're not Doing that from the get-go. We're saying we want ground truth from this radius from this location In addition since we're getting the location information we can plop this on a map One of the frequently asked questions we get is how are you getting the location information? Then if that privacy is shut down or people don't have that enabled on their mobile devices when it's posted It comes from the apis and how these social networks are collecting the data They know that it's been posted from when it's in that bounding box They won't say that that person is specifically on this street on this corner in Kiev or San Francisco Or Chicago or wherever, but it's definitely within that region and in this case We don't care exactly where it's pinpointed on the map We can build a one-mile radius around a region and get all that ground truth from there And that's good enough for making these very important decisions in terms of mobilizing troops or mobilizing help in the event of a disaster So again, we're not collecting this from the device This comes directly from the social network telling us that this person with this device Posted from within that region or that bounding box This takes us to another piece of really interesting information a lot of activity going on in the war Initially the knee-jerk reaction is let's collect everything we can around tanks and troops and what's being bombed and targeted And that's great, and that's absolutely important But when we started to kind of take a look at the data in a different way Leveraging transforms we actually discovered a completely different narrative going on and that narrative involved places of worship So we found that churches synagogues mosques across the Ukraine were being destroyed as troops move through those areas So if we set aside all the data around what we knew about the troop movements and military equipment and things like that We also started to see Some very important trends of all of these places of worship being destroyed We would not have seen that had it not been for some of the automation We'll talk about next which is why now with you know the invent of AI chat GPT Co-pilot and those things that you can now have a right hand virtual person if you will to Have you or have them look at it in a completely different way, and this is how we found this very important artifact Why is that important? Well as we started to map this out You could use something as simple as Google Maps if you wanted to you could go in here and plot these on a map and In addition with the automation You can also include the initial post or tweet or whatever and in addition that image So now as you start to bring this intelligence together if you want to look at it on a map You can start to see in this case all the places of worship that unfortunately have been destroyed during the war and If you start to now look at the look at that chrono locationally or a chronological timeline by location There's some very important predictions. You can make here about where they might target next We did that and we found out we were a hundred percent spot on not by tracking the tanks Not by tracking the troops, but by tracking the churches Synagogues and mosques all these places of worship that were actually being destroyed So we take all that data and then plot that on a map The captured image the tweet or the post if it's from a sort another social network and what we found Is as we start to go through this we then said okay, we have another whole You know lump of data here around troop movement and tanks We'll plot all that on a map too and you can do layers You can do layers within Google Maps to help layer that or look at that data individually by type So here we mapped all the tanks These were some of the tanks with the same serial numbers that we saw at different locations at different points in time So what's going on with this particular one? The first one you'll see the tank here just out just outside Kiev But if you then look at the next tank, it's heading towards the area of Donetsk What we learn later is that attacks from the Russians then occurred, you know from the Donetsk region from the water from the west side of the country and Basically what we're able to predict is that a lot of this military once it had targeted Kiev Started to move in the direction of Donetsk and we also started to see movement from the water hitting land targeting Donetsk Bottom line all of this military equipment and troops were converging on Donetsk This tank that we show here is that that piece of military equipment We showed earlier with that serial number B 23 and we showed it first next to Kiev Then moving towards Donetsk and then further, you know closer to Donetsk So you could leverage Twitter for this and some other social networks if you go for example to discord There are some amazing servers out there with a ton of information around the war as I mentioned some people are just passionate about Plains or tanks or you name it So there is a wealth of data out there that we leverage with this to you know cross correlate the data We're getting from multiple social networks again, whether it be leveraging the API's we're doing this within the terms of service What was really cool about that then is as we start to merge that data on a Google map We can basically enable all of those layers to now look at this in the context of everything going on whether it be military equipment troops churches and places of worship being destroyed and many of the other activities by different categorizations This definitely starts to build out a storyline Chronologically to help understand what might happen next as we showed with that piece of military equipment There's a lot of different ways you can dashboard this and this can be very helpful for an analyst There are lots of either free tools or free trial tools you could use in this particular case I used power bi we took all the data and with a Azure logic app Fed this automatically into power bi Initially, I created all these dashboards for all this data. Why is this important? Well over on the far right, you'll see a filter this filter allows you to search against the data You can either automate that or if an analyst needs to investigate something for example the serial number of that military Equipment or Mention or other things that are going on it gives you full sorting capability built right into the tool in In addition to this you can also filter the tweets filter things by emojis. There's a wealth of things you can do with this Now with things like co-pilot or other things is the ability to say hey I want to incorporate some prompt engineering I want to ask it some questions and when I do I want to say hey build me a dashboard based on the intelligence You're seeing and it'll build another tab with that additional intelligence from a completely different viewpoint Giving you other analytics and data points. You didn't even think to look for so when you start to map it out in this way and You know a lot of these tools even have a free trial You can go in there and leverage these to get some really cool actionable and very short timeline type data There's also a plethora of widgets, you know built into a lot of these tools What I had used within power BI allowed me to not only do a lot of the mapping with Arc GIS Which is fed by Ursa. I believe But also other forms of word widgets like a word cloud This became really informative too because based on the data. There was a whole bunch of different keywords that popped up So I can see a variety of things there the obviously popular You know used word and Ukrainian and Russian and they start to look at some of this other data When I started to take a look at the top 10 words one of the ones that popped up was oblast Which I believe is a region within Kiev I had no idea that things were going on at that point in time within Kiev but This actually told me that through the word cloud through the widget through all this active data So again another data point I would not have looked at by doing human analysis of all of this But leveraging the widget and the automation in your favorite dashboarding whether it be Grafana whether it be power BI Whether it be whatever name your tool So then we start to get into extrapolation and prediction We've already got some really interesting data points that we didn't even think to look for but with the automation With a lot of different perspectives with the AI with chat GPT with prompt engineering We got a lot of additional very helpful data and got that in a very timely manner The data is automatically fading into it and analysts can be right there doing searches creating reports and getting that data on demand So as I mentioned we're able to track some of the Russian troop movements based on the data. We collect it And in addition We also found you know certain areas as I mentioned places of worship that were being destroyed Location the time at which things were occurring and other interesting data points the question here then was if I look specifically at these places of worship being destroyed Can I predict where the troops might be next? So if I'm on the defense or counter, I and I need to figure out where to mobilize my teams We were able to actually use this data to do a variety of prediction up the top you can see a trick nerve and Before that we actually had key correct where the troops were moving based on the chronological timeline And we could see they were moving closer and closer to Kiev It was pretty much expected they were in a target key of but these data points proved that and it gave us some really Interesting data points to actually say yep, they're on the move. They're all converging on Kiev Then you'll see a splinter of you know Some troops in a completely different direction One of the main highways in the eastern lane direction and we showed you earlier Where some of the other troops splintered off and started going towards the nest where they also converged So a lot of this data definitely can be used for predictive Extrapolation type of analysis and we proved it But we would not have known to look at just places of worship to get that data So the automation the prompt engineering and a lot of these things are what actually got our laser focus on some of these Other areas we weren't focused on so a lot of us are starting to mess around with things like chat GPT and What's kind of nice about it is a lot of vendors have taken this and basically Isolated it in a tenant for you so that you're running it only against your data and not exposing that data or that analysis to the external world This prompt engineering as I mentioned can allow you to put in a variety of different prompts to look at just this data in a lot of unique ways Tell me what are the top trends? We're seeing at this point in time. What are they? Are they places of worship? Are they troop movements? Are they posts from? people that are suffering damage and need help You know on the ground within this geo location within this bounding box Through this we basically said let me go ahead and put in a variety of questions And then once I got this honed in on what I want I basically can say build me a dashboard So whereas the previous dashboard I had was built manually by myself I can now have the AI and the automation and build it for me and when it did It looked completely different and that was really cool So we have that as a second tab looking all all of this data in a different transform in a different way Bottom line it helped us identify a plethora of things we had missed So how can we use this methodology? It can be applied to not only war but disaster response. There are a lot of organizations that want to know Hey, we're having all of these California rains. There are dams building up with water People are starting to post that the water is going over the dam and destroying some homes Also help us, you know find people in need within that geo bounding box of that region that we weren't focused on someone just you know posted a Something about their home being destroyed and there's a bunch of flooding from a river that overflowed or the things that were going on in Sacramento so this will obviously give you a variety of really interesting data points to help with the Situational awareness and mobilization of help for these individuals Another thing that we frequently do is the account profiling as I mentioned We basically whittle this down so that 50% of the data we're getting are from the top 10 to 20 People that are posting on that social network versus the whole gamut of that entire region that provides us about 50% of the data and also helps us further read out misinformation and disinformation Because we also profile those accounts that are spreading misinformation or disinformation and profile those top 10 accounts as well So we can say exclude that data. I don't even want that included with it So hope you found this talk informative I'll hang out for a little bit if you have any questions about this happy to chat about it Hope you enjoyed it. We spent a few years if you're interested in a copy of the research report It's available at our site listed there silent signals calm You can download it for free and see a deeper analysis around the research report. It's free And we also are looking for people at any time that may want to get involved with the research So if you are interested, we have an email there And then we also have our Twitter account where we post some of the latest information around some of our research So thanks so much for your time today. I hope you enjoyed it Mike we go everyone If you have a question from Mike, yeah, we can hang out here. We got time I don't think you need to use a microphone, but yeah, thank you so much for being here Tomorrow we will have two more talks sponsored by the presented by the packet hacking village in the afternoon Thank you again I've got a question What level of Twitter API were you using to gather your data? Can you clarify I'm sorry I caught the part around whether it's like a free version. It's limited There's like a five thousand dollar a month fire hose version Yeah, um the last That we were you know doing our you know updates related to it. There were multiple tiers So the free versus the other three tiers There's like don't quote me on this and it may have changed again, but there was basic I forget the middle one and then like enterprise the basic I believe the last I checked was a hundred dollars a month Yeah, and and that's what we've used and we've gotten like a wealth of data. Yeah Yeah, but we did have to move from free to a paid version But the basic did give us a wealth of data if you go on the Tweepy API website it'll list out the different tiers for you in different tabs so you can see exactly what API's are available Good question Well, I'll hang out for a few more minutes if you have any questions feel free to to use the mic Or if you want to come up and chat privately, that's fine, too, and thanks again. Hope you enjoy the show


Hi, and welcome to this video about Wolf Boot. And this is presented in conjunction with ST. And today we're going to show you the out-of-box experience using Wolf Boot, which is a secure bootloader developed by Wolf SSL. My name is David Garski, and I'm a software engineer with the company. We're going to go over all the aspects that you need to download, configure, build, sign an image, do some testing and debugging. I will talk about the boot update process and how you would implement it. And then I will also cover some really great STM32 security features that we support and that are available. First, we'll talk about how to configure and build it. Today, I'll be using the STM32G0, the 7.1 RB nuclear development board. This is a lightweight Cortex M0 running at 64 megahertz. It has 128K flash and 36K of RAM. It's a perfect target for demonstrating Wolf Boot's small size and capabilities. So we use a make file based build system, which means you'll need some kind of Linux style environment to build with. If you're on Windows, there's a Windows subsystem for Linux known as WSL that you can use. You could also use MinGW or something like that. So all of our source code is available on GitHub or our website for download in its GPLv2. The first thing you need to do is set up a configuration, which defines the target, the type of architecture, and how you want to partition this board. We have some really great examples that are available already. And in this case, if you go and you download Wolf Boot inside the config examples directory, you will find some of these templates. In this case, what we'll do is we'll actually take a copy of this. So we'll take a copy of the config examples, STM32G0, and we'll put a file in the root of Wolf Boot called .config. You also have the option to do something called make config, which will actually prompt you for each of the settings. I'm not going to do that today. So this defines the architecture, the target, the signing algorithm. We also support ECC, so you could put ECC256 in there, or you could put RSA2048 or 4096. And we support hashing with SHA256 and SHA3. Let me go back to the slides real quick. So I covered these things, so the .config file. These are some examples of the configurations and the algorithms. One thing to note is the image header size, which is basically how much size you reserve for all of the configuration details, like the signature. And for some of the algorithms like RSA4096, but you may need to actually increase the header size to 1024 just to be able to fit the signature. So another important thing is the partition configurations. And this varies based on target. In this case, with the G0, there are two case sectors. And the way it's been set up is I reserve 32K for the boot loader, which is more than required. The boot loader itself is actually only about 11 or 12K in this case, and it can go up to 14. But with debugging symbols turned on for what I'm doing today, I want to reserve some space. Now with this 120K flash, I set up an additional 44 and 44, so the update and application partitions. And then there's one sector reserved at the end for the swap, the swapping. So we have the ability to roll back if there's a failure. So again, it's a make file based system. There are these different targets. So one thing we have is the key generation and assigning tools. By default, it'll use our Python version of those, which requires our WolfCrypt Pi module. I recommend just doing make key tools to build those C versions first. And then the default make does a factor.bin, which builds the WolfBoot binary and the signed application. And it combines those together into something you could use in the factory. Right, and this is an example of the output. So I want to go back to the console right here real quick. And I want to do a make key tools first. So it'll build a signing tool and the key gen tool, which I'll go into a little bit more detail next. And then I usually like to do a make clean and I'll just do a make clean and make. And so you can see in this example, the output of the WolfBoot image was 11.5. But, you know, almost 12K. Now, one thing that is interesting is it's really easy to actually change the signing algorithm. So let's say we wanted to change it to ECC 256. And we'll do another make clean and make. And I just wanted to compare the difference, so 11.5 to 14. And the ECC one is faster in this case. RSA is actually the fastest, but the code size goes up a little bit more. I'll show you that one real quick. RSA, 2048, if I type it right. We'll do a make clean make. So this one is, oh, it's actually a pretty good compromise. It's pretty fast and it's only 13K flash, so. As you can see, our WolfBoot image is really quite small. I'm not going to test with the RSA because I believe that the memory on this may have an issue. So I'm going to go back to 25.19 and I'll fire off a make clean and make. And then we'll go back to the slides. Okay, so another thing I want to talk about is the key generation in signing. So again, we have a C version of the tools and the Python version of the tools, which are both equally capable. It's just that the Python one did not run very well on Windows. And so we wrote the C version and we set up a Visual Studio project for that, which is available. For the key generation, WolfBoot expects there to be a private key in the root for signing. That's just the way it does it by default if you use the make. If you wanted to generate your own key and put that public key into the bootloader, you could do that. If you wanted to use your own external HSM for signing, you can do that as well. And there are instructions in this signing markdown file. So if we go into the docs directory, there's all kinds of documentation. Those two that are most commonly used, I would say it would be targets, which describes each of the boards that's supported and how to use them. And then the other one is the signing tool documentation. And towards the bottom here, there's a section specifically for how to sign with an external HSM. So it's something else that it has a private key where WolfBoot doesn't directly have access to it. It's basically just signing the hash of those things and then putting that signature into the signed firmware image. So I wanted to go into how to program, test and debug it here. I would recommend using the SDM32 cube programmer tool. They have a command line version of that tool. And you can just specify the binary file in the destination address. So what that looks like here and don't have the copy paste handy. This is what the targets.md looks like. And I'm gonna go to the G zero section and it covers all of these steps about how to program it. And some of the other things we're gonna talk about in debugging. So this is the command that does the programming. And you can't see it, but the LED four lit up basically indicating that the boot was successful. And I'm gonna move on here. It says LED three, but yeah, it's LED four actually. Another thing is testing. So the normal update flow basically looks like you make changes to your application, you build your application, and then you would sign it against that key and you would specify a version number in the signing tool and that all gets embedded into the header which goes on the front of your application. Now a couple of things to note is Wolf boot also supports things like encryption of the update and Delta update. So you can actually provide it the old and the new version. It'll create a differential file and it'll sign the version going both ways that allows you to do rollbacks still even with the differential updates. I'm not gonna demonstrate this, but you would sign that new version and you would program it down and it would update and you'll be able to test that yourself. So with debugging, we have a make debug equals one which basically includes the debug symbols. You'd go ahead and program that factory dot in down again and then you would start up a GDB server. You have a couple options. So ST has their official ST link GDB server inside the QBiDE and by default that GDB uses port three through three. So that's all you're specifying there. There's also some open source ST link tools where there's a GDB server. For me on my Macintosh here, it's actually a little easier to use the ST new tools that are open source. This is what the command ends up looking like for me to start a GDB server. Let me make that a little bigger. So I can fire up GDB and it's basically listed on that port. The next thing I can do is I make clean and make debug equals one and you'll see the size of this image is a little, the boot loader is a little larger, it's 23 K. And then the next thing I'll do is go ahead and program that. I did this in the wrong order. We'll do this one more time. We'll program that, start up the GDB server. And then the next thing we do is basically load up GDB. I'm using one of the ones I already have on my system here. And another thing you can do is add the symbol file from the elf of the application that was built, which is handy. And then I could do something like mon reset init and continue. Yeah, yeah, that's right. So you can see it's running here. So right now it's actually going through the ed 25519 verification process and eventually it'll finish. So I'll wait till the LED, yeah, the LED's on and there it is. I'm at the application, you know, LED on wait loop. So that's an example of how you do the debugging on it. You shouldn't have to do it very much, but sometimes during initial setup and partitioning that can be handy. So now I wanna describe for you a little bit more what's going under the hood when you do a boot and I wanna tear down a little bit on what that image header looks like.  And then there's the size of the actual firmware file. And then you get a tag and tag length and data. And that just repeats in that pattern. It'll include things like the version timestamp, the hash of the partition and the signature of it that's expected. And the signature, you verify it using that public key that gets embedded into the boot loader. So this kind of describes the mechanism here, which is basically, you know, over the year updates come down. We put them in the update partition and then the boot loader itself will handle the verification and the swapping. So normally, you know, at the factory, we program our initial factory dot bin, just like this, we'll sign it, deploy it and then we'll lock down the JTAG, right? And the regular process of booting after that will verify the signature of that current firmware. So the next thing would be an over the year update. So, you know, when you're in your application code, you would download new firmware, you would program it into the update partition. Now that update partition could actually be external spy flash as well. We support using that on all these targets. The next thing is that wolf boot is notified about the update and it checks, and this is actually on reboot. It actually checks the new image, make sure the version's valid, it does the whole signing, you know, it verifies the signature on that update and then it'll do the swap. So, and then it'll swap the two partitions. The cool thing about that is that the integrity of both of those partitions are fully remained intact and you can roll back if there's a failure with the update. So once the next boot happens, the application will actually call an API that says wolf boot success and it'll flag that that update was done completely and is okay. Otherwise, if that flag isn't set on reboot, it'll do rollback, you know, and this is one of those great features. Yep, so it would roll back and retain the old version. So, yeah, and it could boot normally again. Okay, so I went through those slides pretty well, but you know, the whole idea is that you have the ability to never break the device. So you have at least the last known working configuration is always available. So some of the SCM32 security features, we support some of them and specifically the secure user memory feature, which is really neat because you can basically program what you would define as the bootloader region and as soon as the bootloader jumps out of that region, the application no longer can read the memory from the bootloader space until the next reboot, which is pretty cool. And this can be programmed using the CUBE programmer and it's programming the SEC underscore size option bits. And it's basically programming it with a value of 10, which is saying offset the start address by 16 2K sectors, which is 32K that we defined in the configuration. And like I said, WolfBoot will actually say that it's done and it'll fire off the application and then that address space where the bootloader resides will no longer be accessible. So these are some additional features that the SCM32G0 has that we're compatible with, but we haven't built in support for. And after you, if you develop a product and then you want to put it in the field, these are some things you want to do, right? So write protection, readout protection and bootlock, all these things, right? So you want to make sure you disabled internal boot ROM, the JTAG, the ability to debug in the RDP level two, what that means is that you disable debug and the ability to program the option by specifically the one with a secure user memory that cannot be cleared. And that is a irreversible operation. So once that gets programmed to that level two, then that device is all locked down and no more configurations can be changed. So I hope you enjoyed this. This is part three of the video series that we're doing with ST. There will be another video coming soon. I believe it will be for the SDM32 U5. So stay tuned. Thank you very much.


We are very privileged to have today Mr. Steve Manson, who will give two guest lectures in this course. And today is the first one. So today he will review the topic of photoionization in which he has expertise for a very long time and anybody reading literature in atomic physics would have come across his papers for well over four decades now. So, over to you Steve. Thank you. Whether it's a privilege or not, you'll decide after the lecture and you may not agree. Well, today what I'm going to do is enlarge on what you have already learned about photoionization, starting perhaps with some things that you already know. As a matter of fact, the first invited talk I ever gave, never mind how long ago it was, the gentleman who invited me gave me some very useful advice. What he told me was, your audience is always grateful for anything that you tell them that they already know. And that's extremely good advice because it connects with the audience. If you start off too high, you've lost them to begin with. Now, I am hoping that some of the things that I say in the beginning, you've already had in this course and know something about. So, let's start. This is very, you know, from my point of view, it's very low-tech. There's a piece of chalk and a blackboard and some note scribble to keep myself more or less in order. Okay, photoionization. That is the interaction of ionizing radiation, light, ionizing electromagnetic radiation with matter. And we're going to talk specifically about photoionization in atoms because that's what I know about. And to begin with, light and matter, the coupling goes something like this.  And then e to the i k nu dot r p dot epsilon. And what these things are, this is the wave number of the light. This is the momentum of the electron. That's the polarization of the light. This is hard. And so we simplify things. And if the wave number of the light is small enough, that is if the photon energy is low enough, then for the typical size of an atom, this is a small number. What do we have when we have e to a very small exponent? You can make a Taylor series expansion, you know, like e to the x is 1 plus x plus x squared over 2, etc. And okay, how far shall we go to truncate it? You know, you don't want to go to infinity. How about 1? That makes it a lot easier. This, for historical reasons, is known as the dipole approximation. Now, there are several important things about this interaction Hamiltonian, aside from this dipole approximation. Number one is that it interacts with a single electron. It doesn't interact with two electrons. It doesn't interact with three electrons. It's a single particle interaction. That is very important. Secondly, this is small. As a matter of fact, it's of the order of alpha, the fine structure constant. Now, the fine structure constant is what? It's roughly 1 over 137. Or, taken roughly, it's 1%, 0.01. And so, remember, when you get a probability or a cross-section, which is the absolute square of a matrix element, you get alpha squared in there. So, light really doesn't perturb the system very much. So, it's an excellent probe of the properties of the target system. You see, when can you use other probes? Electron or proton. They're in the coupling, instead of being of the order of alpha, they're of the order 1. So, when you use those as a probe, you get kind of a concatenation of the properties of the target and the properties of the interaction. Here, you can get rid of the properties of the interaction because they're really, really small. That's another very important thing about photoionization. Okay. Then, using angular momentum rules, you get selection rules in photoionizing transitions. In other words, if you start it, if you are photoionizing an nL electron of an atom or molecule or anything, actually, you have certain selection rules, namely that this can go to a final state. I write epsilon, meaning it's ionized. There's some energy in the continuum. Epsilon L plus 1 and epsilon L minus 1. In other words, you can have, that's the selection rules, L to L plus or minus 1. And the cross-section, or the probability, is made up of the sum of the absolute squares. So, in a general sense, the cross-section for photoionization is, again, a bunch of constants. We don't want to worry about the constants for now.  And if you're doing a calculation, this is what you have to do. O in many electron atoms, it gets messier. And if you put in relativity, it gets messier. But this is the fundamental idea. It's the sum of the absolute squares of the various matrix elements. We sometimes call them amplitudes. Now, at this level of approximation, I want you to understand the approximations that we've made. This is first-order perturbation theory. However, with this alpha here, first-order is really very, very good because the next order is down by another factor of alpha and alpha is smaller than 1%. So first-order perturbation theory is good. And if you're at low energy, this is very good. So while it's not absolutely exact, it's pretty close to exact. And so using this for the hydrogen atom, you can do the calculation we say exactly. However, exactly, it's kind of exactly ish. And what ish means is... But anyway, at this level, we can do hydrogen exactly, the hydrogen atom exactly. And we find a cross-section, or probability, with energy. This is the photon energy. This is the cross-section. And it looks something like this. Whoops. This is supposed to be a much straighter line. It has some threshold energy. And it falls off monotonically. It was originally thought that for all atoms, things behave this way. Not true. If you do a hydrogenic model of an atom, that is, assume an effective z, and do the calculation, well, this thing scales with z, but everything looks like this. However, with real atoms, things are different. Experiment tells us that. You see, to do even approximate what happens in a real atom, you have to take the electron, or the electrons of the atom, in some realistic potential. Now, a realistic potential, let's say you have some many electron atoms, charge z. You kick out an electron. That electron, when it's out here, sees a singly ionized system. So it sees a z of 1. When it's all the way in here, right next to the nucleus, it sees a z of capital Z. So you need a potential, v of r, which goes as capital Z over r. r goes to 0, and goes as 1 over r, actually minus its tractive, for r goes to infinity. This too is really important. If you use a potential which does not have those properties, you can get complete nonsense. And if you look back in the literature before people use this and just use the effective z's in the calculations, that's what they got. Okay, so in order to calculate this, you have to calculate an amplitude, a matrix element as it were, of this thing. I'm not going to go into detail about how you do it, but look, the matrix element from some state i to some final state is just the initial state, the interaction, the final state. Now, as I mentioned, this is nearly exact. So if you get an initial state wave function and a final state wave function that are close to exact, you get a very good answer. However, for real systems, for multi-electron systems, getting initial state wave functions and final state wave functions, which are nearly exact, is really, really difficult. So one has to make some approximations. You see, the Schrodinger equation, I'm going to do essentially everything non-relativistically. We're going to talk about the Schrodinger equation rather than the Dirac equation. Well, the Schrodinger equation is a partial differential equation. Fundamentally, we know two ways of solving partial differential equations exactly. One of them is separation of variables. The other one is guessing. If you can't do either of those two, you have to use approximations. Now, sometimes we can get very good approximations, but let me mention that for more than one electron, we know no way of separating, of separation of variables. Maybe there's some coordinate system that we haven't figured out yet, maybe you can, but nobody's figured that out. So one has to use various kinds of approximations. Anyway, we'll come to that. Now, so the electron moves in some potential, like this. However, if you remember, if you make this approximation of a single particle potential, that is just a function of scalar r, very important scalar r, the Schrodinger equation is then separable. However, you get kind of a funny, equivalent one-dimensional equation. Why is it funny? Because you have an extra term in there. How should I call it? An effective potential, which is the actual potential plus the centrifugal potential. I mean, that's just like in classical physics. If you have a rotating coordinate system, and you're just looking in the radial direction, they used to call them fictional forces. I don't think they do anymore. I'm very old, and that's what they used to call them. Anyway, so you have this v effective, which is the v of r, plus l, l plus 1, h bar squared over 2m r squared. Now, this is just like in classical physics, where the kinetic energy due to rotation is the square of the angular momentum over the one-half square of the angular momentum, one-half l squared over the moment of inertia. What's the moment of inertia of a single particle? It's just mr squared. That's what this is. That's all. However, just considering this, without doing any detailed calculations, just considering this has some consequences because this v of r is attractive. This is repulsive. Anybody who has ever swung something around knows that that force is repulsive because it tends to, you know, if you've ever seen in the Olympics, the hammer throw, would they go like this? I mean, they're just using this. Okay, clearly at small distances, since v goes as 1 over r, and this goes as 1 over r squared, that dominates. At large values of r, 1 over r, 1 over r squared, this dominates. So, what do we know? If I draw v effective versus r, we just show it at least for non-zero l. Talk about that for a moment. You get something at small r which goes like this. Because it's just this behavior. Something at large r, on the other hand, this behavior dominates. And you notice that minus sign here, I wrote it small, but it's really minus. It is attractive, so it looks like this. And how they meet in the middle is of importance. So, you know, it might be something like this. Just to give an idea. So, the electron moves in the field, a potential, an effective potential, something like this. As l gets larger and larger, this gets bigger and bigger. And so what this means is that it's some given energy. So, like this. The wave function, let's talk about the final state for the moment, the wave function of the final state, which is the classical turning point. It doesn't mean that there's no wave function inside it, of course. However, what it does mean is that in the classically forbidden region, the amplitude of the wave function is small. In other words, this angular momentum barrier pushes the wave function amplitude out. What is the consequence of that? Let us consider a particular transition, one that I happen to know about, and we're going to talk about argon 3p. Now, in argon 3p, the major transition is going to be to epsilon d. It turns out that in almost all cases, the major transition is l to l plus 1, as opposed to l to l minus 1. Both are allowed, you need to have both, but that's the major transition. Now, what happens on a graph something like this is the following. 3p wave function looks maybe something like this. However, the d potential, and so at say, right at threshold, the d epsilon d might look like this. And what you see here is very, very little overlap here. This is what we got. If the initial and final state have no region of overlap, the matrix element is going to be zero. If they have a small region of overlap, it will be small. And what happens as the energy goes up? Well, as the energy goes up, like if it's up here, it will look more like this. Ooh, big overlap here. What does that mean? It means this matrix element is going to increase with energy. Remember, well, I've erased it, but the cross-section, the sum of the absolute squares. So what that means, as far as across the cross-section or probability is concerned, it's going to be smaller. This is as a function of e. Let's say this is the threshold energy. This is h nu. It's going to look something like this. And then eventually, as it moves in, energy gets higher, it moves in further, it oscillates in this region, and it kind of oscillates itself to death. So rather than this kind of behavior, we get this. This thing is known as a delayed maximum. It was first discovered about 45 years ago. I'm old enough to remember when it was discovered. And explained. And you can have much more dramatic cases. A really dramatic case is the 4f state of mercury, because the main transition is 4f to g. And in that case, the cross-section looks something like this. This is then hg4f. It actually drops off a little from threshold, but that's due to the f to d, the l to l minus 1. But you see the g. That's l equal 4. That's really large, and it pushes the wave all the way out. And it looks something like this. And this maximum, rather than being at threshold, is I think it's about 140 eV above threshold. That's a lot. You remember when people first saw this. You know, they did, the cross-section was so small here that when they looked around here at this energy, they couldn't see anything. But when they got up here, they saw the 4f photoelectrons. Their explanation was, these were experimental, as you understand, their explanation was that the threshold energy was photon energy dependent. That's obvious nonsense. It does not... Oh, there were very well-known people who had that in their papers. It was obvious nonsense and didn't fit with quantum mechanics. As I say, these were just people who measured it. And they said, you know, how can it... Because, you know, from measuring around here, remember the Einstein relation. If you know the photon energy and you measure the photoelectron energy, then you know the binding energy. But they measured it above the binding energy here and they couldn't see anything. They say, ah, the binding energy must have changed. I want to take them and slap them. I mean, it was just... elementary quantum mechanics shows that that could not possibly be. Anyway, so this business of a... the laid maximum is ubiquitous. It's all over the periodic table. I mean, the only case you don't see it is for a wave that, like for a P to S transition, because S, L equals 0, you don't have this. And so what's interesting here is that with a very, very simple model, you could explain this phenomenology. Some phenomenology. There's another interesting thing that we find. It was actually first found experimentally. I think it was in 1928. Now that I don't actually remember. It wasn't around in 1928. And that is some cross sections were found to behave like this. As a matter of fact, it was the outer shell of the alkalis. Sodium, et cetera. And the cross section behaved something like this. It was a minimum. It wasn't quite zero, but awfully close. It was first discovered by a British experimentalist by the name of Ditchburn. In 1928, he went back to it in the 40s. And it was explained in the later 40s by a very well-known British atomic theorist by the name of David Bates. And the explanation was the following. This was the outer shell of sodium, the sodium 3S, which looked something like this. 3S has two nodes and that kind of thing. At threshold for zero energy, the continuum wave function, it's kept out a little bit because you have centrifugal repulsion, but it's only l equal 1, so it's not tremendous. But it looks something like this. What happens out here doesn't matter because the important thing is the major overlap is this region. Positive initial state, a negative final state wave function in that region. The product is negative. If you go to higher and higher energy, this moves in and eventually you get something like this. Where the main overlap is positive. Aha! You go from negative to positive, somewhere, if it's continuous, somewhere in the middle it goes through a zero. Aha! And this was the explanation. And this remains an isolated curiosity for a number of years. We were in the late 40s when Bates explained it. There were other developments about why it didn't actually go to zero and that's because there were relativistic splitings. That was explained by a man by the name of Mike Seton in 1952. But then in the early 60s, some calculations by a man by the name of John Cooper found that this was not an isolated curiosity. It happened for almost every valence level in Adam as long as the valence wave function had a node. So it didn't happen for 1s, 2p, 3d, 4d, but it happened for all the higher ones when they were valence, when they were out of shells. And then it became to be called a Cooper minimum. Sort of an interesting story because John Cooper did not have a PhD in physics. He had a master's degree in music. He had an undergraduate degree in physics. He was hired as a programmer to work with a very well-known scientist at the National Bureau of Standards in the United States by the name of Hugo Fano. And when Fano found out he knew a little physics, he gave him real physics to do, and he was the one who found all these minima and it got named after him. Anyway. So this is something which is found all over the periodic table and it's simply an overlap effect. There is no classical analog of this. It's not a resonance effect. It's just an overlap between wave functions. And this shows that they really are wave functions. They're not a figment of our imagination. They're not just a mathematical construct. They really exist and their phases and overlaps really do have consequences. Okay. All of this can be learned from a model like that. I mean you can do better and get things more exactly but qualitatively if you've got it. However, real wave functions are not simply single particle wave functions. They're more complicated than that. And this too is important in the following sense that when you know that one of the postulates of quantum mechanics says that you can always expand the wave function in any complete set and sometimes we pick a set and we try to do that. We write a wave function as a sum of terms. There's a name for this. This is called configuration interaction for historical reasons. But it merely is expanding a wave function in a complete set. Of course, complete sets are generally infinite and we can never do an infinite set so you do a finite one you truncated. And this can be done for the initial state and it can also be done for the final state. For the final state it's a little bit messy because remember, in the final state you are dealing with an unbound electron, a continuum electron. As opposed to the initial state when you're dealing with a bound electron or discrete electron. Now, discrete wave functions are normalized to unity. Continuum wave functions aren't. They are normalized to the delta function normalization. Delta function is infinite and so mathematically it's a lot messier. The idea is exactly the same but mathematically it's a lot messier and we call that interchannel coupling. Nice fancy phrase. But it really is the same thing as we have in the discrete but it's in the continuum. And again, the mathematical methods are different. The fact that you can write wave functions like that and need to is important because remember the interaction of a photon with an electron is just a single particle interaction. However, experimentally it is found that you can get ionization plus excitation. In other words, one electron ionized and the other excited with a single photon or you can get two electrons out with a single photon. As a matter of fact, about a decade or two decades ago there was a big flurry of activity in the double photoionization of helium since it only has two electrons. And trying to calculate that and do things about that. However, how can that happen if the photon only interacts with a single electron? Well, obviously then if it really does happen and it does, we measure that experimentally. Remember ultimately the only arbiter of whether or not we're doing a good job, whether or not we're right, is experiment. What we do has to agree with experiment. At least qualitatively if it's to have any validity at all. Okay, so we see say double ionization and we know the photon interacts with only a single electron. There's only one conclusion then. The electrons have to talk to each other in some general sense or their motion has to be correlated. We call this correlation. There's lots of other names for it. Multiparticle interactions, electron-electron correlation. It's called a number of different things, but that's what it is. Think of it as electrons talking to one another in electron ease, whatever that happens to be. So what we try to do is understand this electron ease, understand the language of electrons. Again, one of the ways to put this into the calculation, not the only way, is by expanding in a complete set. Or again, you can never expand in a complete set, so a truncated complete set. And that's the way you can get ionization plus excitation. Because then, let's say a simple case. How can you get ionization plus excitation in helium? Well, helium, as you know, ground state can be written 1s squared. However, it's not exactly that. If you just take two 1s type wave functions, however you pick them and take the product, you can get reasonable results for many things, but not for everything. And if you try to expand that in a complete set, you might have something, a wave function, which is at the initial state, alpha 1s squared plus beta 2s squared plus gamma 2p squared, say. Alpha, beta, and gamma are some coefficients. And you see, these are different configurations. And that's why this expansion is sometimes called configuration interaction. And typically, for the helium atom, this is close to 1, and these two are small. Now, let me show you why you need to do this if you're going to consider ionization plus excitation. Because ordinarily what you get is just from this, you get a final state 1s epsilon p. In other words, the photon comes in, hits a 1 electron. But you can also get 2s epsilon p and 2p epsilon s and 2p epsilon d. How do you do that? Well, from here to here, it's a 1 electron matrix element from 1s to 2p. From here to here, either those, it's a 1 electron matrix element. So expansion of the wave function like this, to be a more exact wave function, gives you the possibility of multi-particle. And so these beta and gamma are small, alpha is close to 1, but this beta and gamma somehow result from the electrons talking to each other. And exactly how you get these wave functions is a whole lecture in itself, and we're not going to do that today. So this, and also you can put the continuum in here so you can get double ionization. So electron correlation is part and parcel of multi-electron transitions. Without electrons talking to each other, without electron correlation, it is not possible. And so looking experimentally at multi-particle transitions with a single photon in is in effect measuring this correlation or giving a measure of this correlation. Paranthetically, there is another process which can give you multi-electron ionization having to do with inner shell. And it is called, well, it can't even be outer shell, there's another process which we call autoionization. It's not exactly the same thing, but it's related. In other words, let's say we start off with this. This can not only be depending on the photon energy knocked into the continuum, but it also be just excited. So instead of like this, you can go to a state, say, 2s, 2p. You can get there from here with the right energy. The 2s remains the same, and the 2p, 2s, the other 2s goes to 2p. That's a perfectly valid dipole transition. And this actually happens as one of the first, was one of the first ones discovered. But what happens when you have this? You see, let me show you here, this is a photon energy scale, and here is the cross-section. What you get is helium. It's binding energy is of the order of 25EV, and it goes dropping down. And all of a sudden, at about 60EV, you find something like this, a resonant. And what that is is that discrete-like state which lies well above the ionization threshold. Well, this lies well above the threshold of 1s, epsilon p. So what happens is that the same energy can get a transition between them. The 2s goes down to the 1s, and the 2p, it takes the energy of that and goes without any radiation and goes out. That's called auto-ionization. And again, this is only possible if you allow the possibility of a more complicated wave function, more complicated than a single particle. Moving right along, there are a couple of other things I would have liked to have talked about, but don't have that much time. So let's talk a little bit about photo-electron angular distributions. Because when you do a photo-ionization, you can measure the probability or the cross-section, but you can also measure the angles at which the electrons come out. And it turns out that you probably know this formula that the differential cross-section, sigma over 4pi, 1 plus beta p2 of cosine theta, where p2 is just the second order of the congeal polynomial, 3 cosine squared minus 1 over 2, I believe, and beta is the so-called asymmetry parameter. And you can work out an expression for this beta, which tells you something about the angular distribution.  And so if I call the amplitude for this m plus and the amplitude for this m minus, you get an expression for beta that looks something like this. Again, this just means some coefficients over something, never mind. This part we already know about is like the cross-section. But look at this. There's the magnitude of the matrix elements times the cosine of the difference in the phases of these matrix elements, phases. We didn't learn anything about them from the actual cross-sections, but they appear in the angular distribution. In other words, there is interference between these two amplitudes. Now, wait a second, though. Time out for a second.  This is angular momentum. Angular momentum are good quantum numbers. So how can you mix them? And you have to think about what you're measuring. To measure the angular distribution, what do you do? You look at the angle and the energy of the photoelectron. By the way, the angle, the way I've written it here, this is assuming linearly polarized electrons, photons, I mean, and this is the angle with the polarization vector. So the symmetry is not around the photon direction but the photon polarization vector. And so you measure the energy and the angle. Effectively, what that means, the angle is the direction. You're measuring the momentum. Okay. What are the angles? Now, you'll recall from elementary quantum mechanics the eigenfunction of a system if you measure a particular quantity. At the moment you make the measurement, you force it into an eigenfunction of that quantity, a particular one. All right. I mean, you change the wave function? Yeah. Exactly what it means. What is the eigenfunction of momentum? You know that. It's a plane wave. Aha. What's a plane wave look like? Let's say one in the z direction because it's easiest. It's not a special case. I just take my coordinate system and put it. So whatever direction the electron is moving, I call that the z direction. And what is that equal to? You may have seen this in scattering theory. It's i to the l 2l plus 1 jl of kr pl of cosine theta. Very well-known expansion. If you haven't learned about this, you will. But in any case, notice what it's assumed. So if you measure momentum, you no longer are in a fixed angular momentum state. Why? Momentum and angular momentum do not commute. I mean, quantum mechanics really, really does work. And so by measuring this, you are measuring a mixture. You are forcing the wave function into a mixture of different l states. And that is how this interference arises. But now, the study of beta is very useful from the following point of view. From the cross-section itself, you learn only about the magnitude of matrix elements or amplitudes. And fundamentally, the most fundamental information you can get about a process is the matrix element. And a matrix element has two attributes. It's magnitude and it's phase. The angular distribution allows you to get information about the phase. There are very few processes which give you information about the phase. This is one of them. And so this is a really interesting one to study. And a great deal of work has gone into over the years studying angular distributions. And unfortunately, my time is limited to a last minute. And so what happens is these betas, since the matrix elements are energy-dependent and the phases are energy-dependent, these betas are energy-dependent. And by measuring them, you learn particularly, if you measure them and the cross-sections, you know something about some of these and about the phases. And so this can give you, ultimately, as a matter of fact, there are some experiments that are called complete experiments where they measure all of the magnitudes of the matrix elements and all of the relative phases. Because you only get phase shift differences here. So you get the relative phases. And this is known as a complete experiment. And I guess since my time is pretty much up, I will stop here. And, well, I feel it's been a privilege to talk to you, whether you feel it's a privilege. I have no idea. Thank you.


everyone and welcome to Norris Cove. I'm Yoshida. Here at the Cove we do budgeting, finances, DIYs, minimal and functional planning, also cash staffing. If that is something that you would be interested in, I would hope you would consider subscribing to my channel, also hitting that notification bell. So we're going to hop right in. I'm not going to hold you as I try not to do. We are budgeting for the week. I'm a day late. So let's run over the last week. Matter of fact, let me get my other planner and I can update the total. I think it was $6.55. I want to just double check. Yeah, $6.55 is what we made. We anticipated $7.50. And I know it seems like, yeah, you could have worked with these things or she did. So I still didn't pay to shop a file. Okay. That didn't get paid. I talked about that in my cash staffing video. My car note did get paid. Let me get my highlighter. And I have a note here for myself is that a customer, actually, I ended up getting double. So what is that $190 last week from her, her payment didn't come through the week it was supposed to. It came through this week. So we're actually with that. That's included, I believe. So any who lists, we did car note HP. I didn't see it come out. I have to double check. I'm going to cross that out. I did PayPal PayPal. Excuse me is actually 30. And they came out this week. So and we did get boots right paid. Let's go over here to cash envelopes. We didn't get to do 50 in emergency fund. We did do five savings didn't get anything planning guide. I think 10. I should have updated. Let me matter of fact, I can tell you how much see the purpose of the envelope planning that five. So let's just cross that out. Eating out didn't get anything. And while I'm at it, let's talk about these cash envelopes. So last week, we only stuff with this week, the only stuff $25 from, you know, last week. And business supplies got five week ahead, got five planning, got five emergency fund, got five and the $1 challenge got five. So we had a total of $25. And yeah, so let's hop into this week. And I'm gonna probably have to look at the dates. Oh, I know, I kind of know the dates. It's the 26th through the second. Yeah. Also, if you like these inserts, they are listed below in the description box, you can find them on my website. And I'm feeling a little pinkish, you know, every now and then I will not every now and then I love pink. So we're gonna do that. And I was thinking, again, I haven't talked to my graphic designer, I think I'll be on my own with this, which just takes me forever.  Okay, we are doing September 26 through October. Second. Okay, if you are new here, my sources of income is here, Norris Cove. And I'm not really doing nails right now for customers. So I just hit miscellaneous. And I think that miscellaneous, well, no, they can't be her because that was last week. This week, again, is looking kind of slow. So I'm going to put 650 Norris Cove. It's hard to guess because I'm trying to do better about promoting Norris Cove. I'm just I just slack because I don't know, maybe because I have an income, I don't know. But we're going to leave everything alone. And we're just going to focus on here this week. And as usual, our review of what we made if anything from other sources. Also, my Etsy is back open. I'll try to remember to list that below. But if not, you can just go to Etsy, put in Norris Cove, and you'll find me there. Okay, let's see what bills we have this week. I'm going to pull out my A6 here. And go to the monthly, because it's just easier sometimes than pulling out the big half letter. So let's see what we have this week. Today, actually, it's my son's birthday. I'm filming on Tuesday, the 27th. So it's my son's birthday. We have car insurance on the 28th, which is tomorrow, which I already know probably won't be there. But it's supposed to be 211. So I have GoDaddy down here on the 29th. So let's put GoDaddy, oh, this camera's shaking again, but y'all excuse me. And GoDaddy is only $7.41. And that is for my email. Then on the first, which is Saturday, no, yeah, Saturday, we have Amazon. And then on the second, we have community. Now, here's the thing with these, I can just prepare the money to be there, but Amazon is definitely going to come out. Community, if I set it up to pay, it'll come out probably Tuesday. But I'm going to write it down anyway. So we're going to give community $40. Amazon, I think Amazon is about $15.77. And then our booth rent, well, my booth rent. And that will be on the first as well. And I'm trying to give her some extra money. So that'll be 300 opposed to 250. So let's calculate. And today I'm going to be using the white calculator, the calculator for my different friend, Anika. Okay, you guys, the total is 604.18. I added $30 for Shopify because I need to pay that. I'm gonna put that down for the 28th. I'm gonna pay them tomorrow and that's 30 because I have to have it in by the end of the month. I've just, I've had it, I've just been, you know, selecting. So I said 604.18, which I'll just round it off to 604. It's just easier. So with 604 subtract 650, that leaves us with $45.82. Not a lot to do. So I'm going to do my best to donate to my emergency fund. I'm going to put $10. And that will leave me with $35.82. That is really cutting it close. And I don't like to cut it that close, but emergency fund is getting something. So as y'all saw in my life's cash stuffing, sometimes only can stuff $5. Hey, it may even be a dollar. I'm cool with it because your girl is just trying to stack that up. I was thinking I have to get an oil change this week. Let me make a note of that real quick. So basically what I wrote here is to get an oil change this week. Also, I have T-Mobile due, which they were supposed to get somebody today. It's not going to be there because I just don't have it. So I might have to probably make some type of arrangement with them or give them something. I know that I'm going to have to give them something. I really don't want to go into my emergency fund for that. But I'm praying I don't have to, but I may have to just take out some envelopes just to make some things happen.  You know, I just am no longer worried about it. I'm really just focused on my emergency fund. I'm just praying that I don't have to take from my emergency fund because it's no fun. I really wanted to see that grow, but it just is what it is. You know, at this point it just is what it is. So, but I'm definitely trying not to take from the emergency fund. So I hope you guys enjoyed today's video. If today's video was your first time watching any of my content and you enjoyed today's video, please do me a favor, hit that subscribe button. Also, hit that notification bell. And I hope that you will come back for more. And I'll see you in my next video. Bye.