Welcome to this lesson on the WordPress file structure. Like most software applications, WordPress is made up of a collection of files organized into a specific structure. Because WordPress is open source, when you download the archive of the latest version of WordPress, you're able to see and inspect all the files. Let's explore the root directory of a WordPress installation in Visual Studio Code, a free and open source code editor. The root directory of a WordPress site contains three top level directories and a series of files. First, let's look at some of those files. The hdaccess file is a special file that is used to configure the Apache web server for a specific WordPress installation. It is essentially an extension of the Apache virtual host configuration that you looked at earlier. Any valid Apache directives can be added to this file and will be applied for this WordPress installation. It's worth noting that nginx does not support the use of an hdaccess file like configuration on a per WordPress level. Instead, the configuration is done in the main server block configuration file. This is one of the reasons that nginx is considered to be faster than Apache, but also what makes it less configurable by the site owner. The license.txt file contains the open source license information for WordPress. WordPress is licensed under the open source GNU general public license, version two. This license allows anyone to use, modify and redistribute WordPress. The readme.html file contains information about WordPress, including sections on installing and updating WordPress, system requirements and links to various online resources. As an HTML file, it's best viewed in a web browser. Now let's move on to the PHP files that control a typical WordPress request. As you learned in the web service lesson, the index.php file is the directory index file and it is executed where the user visits the root URL of this WordPress site. When the code in index.php is executed, it also includes the code in the wp-blog-header-php file. As you can see, wp-blog-header includes wp-load, which in turn includes the wp-config file. The wp-config file is the main configuration file for a WordPress site. It contains all the configuration options that are required to run WordPress, like database connection information, security keys and any custom configuration options that you may want to add. wp-config then includes the wp-settings file, which sets up all the WordPress core functionality. There are some additional PHP files in the root directory that perform specific functions outside of regular WordPress requests. These files are usually accessed directly by either a user or some other function and are not included in the normal WordPress request flow. wp-activate.php is used to confirm the activation key that is sent in an email after a user signs up for a new site. Typically this would be used if you were setting up a WordPress install yourself or managing a multi-site network. wp-comments-post.php is used to process any comments that are submitted on a WordPress site. wp-cron is used to run any scheduled tasks that are set up on a WordPress site. This file is executed every time a WordPress page is requested and checks to see if there are any scheduled tasks that need to be run. If there are, it runs them. The wp-links-opml file is used to generate an XML list of links. This was used by a link manager feature that was removed in WordPress 3.5. However, it's still possible to enable this functionality using the link manager plugin. And so this file is still included for backwards compatibility. wp-login.php is used to display the login form for a WordPress site. It also processes any login requests that are submitted. wp-mail is used by the post via email feature of WordPress. This feature allows you to publish posts to your WordPress site by sending an email to a specific address. If enabled, this file is executed every time an email is received to create a new post. wp-signup is used to display the signup form for a new site on a WordPress multi-site network. wp-trackpack is used to process any trackback requests that are sent to a WordPress site. Trackbacks are a way for one website to notify another that it has been linked to, usually in a post content or in a comment. Finally, the XMLRPC.php file is used to process any XMLRPC requests that are sent to a WordPress site. XMLRPC is a remote procedure called protocol that allows software to make requests to a WordPress site. This is used by the WordPress mobile app, but you can disable this functionality if you don't use that app to manage your site. Above these files, the root directory of WordPress installation also contains three directories. wp-admin contains all the files that power the WordPress admin interface. Whenever you're interacting with a WordPress admin, you're using files from this directory. wp-content contains any files that can be added to a default WordPress install. This includes any plugins, themes, and uploaded files. Any directories that plugins need to create to store additional files are also created in this directory. wp-includes contains the bulk of the core WordPress files. This includes all the PHP files that make up WordPress core, as well as any JavaScript and CSS files that are required to run WordPress. Common functionality like the database API, HTTP API, and plugin APIs are all included in this directory and are used by both the WordPress admin and most front-end requests.


In this video, we provide the solution to question number 10 for the practice final exam for math 1050 We're given a polynomial function. It's factored. We have 2x cube times x minus 1 squared times x plus 3 times 2x minus 1 to the fourth power At which x intercepts for this polynomial do we touch but not cross the x-axis? So we're looking for you know, if we want to touch but not cross we're looking for even multiplicities here And so that's going to happen at x minus one and at 2x minus One you have even multiplicities there. So the root associated to x minus one would be positive one The root associated to 2x minus one would be one half And so we see the correct answer the choice e x equals one and one half


1. Ceramic technology in dentistry has advanced significantly over the past 40 years with new materials and techniques being introduced regularly. 2. These advancements have improved the strength and toughness of ceramics, allowing them to be used for a wider range of dental applications such as long-span fixed partial prostheses, implant abutments, and implants. 3. This review provides an overview of the current state of ceramics in dental applications. This article was authored by Julie A. Holloway and Isabel Denry.


The three pillars are still valid today. Processes, people, and technology. You know, if you have weak processes, you have huge gaps. If you have unintegrated technology, you have huge gaps. If you don't have the right skill sets for your people, you have huge gaps. Hi, this is your host Sophan Bhatia and welcome to another episode of TO4. Let's talk and today we have with us once again Steve Winterfell, advice you see so at Akumaya and I'm looking forward to another exciting discussion today, Steve, great to have you again on the show. Yeah, I enjoy this. I'm glad to be here. Thank you for having me. And today we are going to talk about a recent report from Databracks that shows, you know, of course cyber attacks leading to IT downtime, data loss. Last time you and I said, don't we talk a lot about ransomware, you know, the report that Akumaya came from. So it's going to be like, when we look at security, there is not one, you know, it's a very wide, the bandwidth is so wide, you know, how bad actors will exploit anything or something. It's a big topic. But before we go into the broader topic, just like, let's look at this report.  Or like, yes, we expected that kind of things to happen. When I was the CSO for Nordstrom Bank previously, I owned disaster recovery and business continuity. And really it is true. You know, you have hardware fails at 21%, you have cloud outages at 12%, natural disasters at 5%. And those are things that happen. And you lose your physical asset and then you need business continuity. You need operations to keep your business going while you restore that technology. And I think the difference here is resiliency talks about the fact that I have an active adversary, a thinking adversary trying to take me offline. And so, you know, they may do it with a denial of service and there are multiple types of denial of service. And that's a short period of time, a disruption. There are ransomware, which is a serious loss of access. We've seen, you know, and so I think, you know, 10, 15 years ago, there weren't a lot of cyber outages that truly could put a business at risk, that you may go out of business, but now it is. And so it really is not a surprise. We are seeing this driven to forces to take more actions. Can you talk about what is, especially as I said earlier, it was not the case. Now cyber attacks can lead to downtime and data loss. What is the reason? We have a couple of things. You know, the first is our environments are so complex. And so if you have data in a third party, if you're dependent on a third party, if you have data out in a cloud, it's transformation. And so, you know, when we see a growth rate in let's say something like API attacks, a huge growth rate change there, it's because we're moving to APIs. That transformation is there.  And all of this is leading to hackers having a motivation to get revenue off of this. You know, they're stealing data through abuse. The classic attacks could be gaining access to X-FIL data, but really we're seeing more and more where we're actually having them completely take us offline. And that is where we get into this, you know, what I call this flash to bang. You know, when you hit with ransomware or DDOS, if you see a flash of lightning and you count five seconds, that's one mile away. So a flash, 15 seconds, three miles away. You know, DDOS and ransomware, the flash to bang is zero. There's no getting ready. You're just suddenly not working.   But there are a lot of industries which are mission critical or very sensitive, financial can be one, healthcare can be one. So talk a bit about what kind of industries that you see are more susceptible or more prone to these kind of attacks and also more vulnerable. We put out multiple of these research reports state of the internet. We do some of them on topics like API or ransomware, we do others that are more industry-focused, commerce or financial services. And this one is around financial services. And so what is interesting exactly what you said, when I need access to my wealth, when I wanna get access to my money, it could be critical, it could be life-changing. If I'm running a business and I can't pay my employees, again, huge. And so this is what is financial services. So it's banks, it's insurance, it's capital markets, it's trading, it's FinTech. So this broad category, what we looked at is we said, you know, first of all, talking to my CEO or talking to my leadership, they're asking me questions from the board like, where does our industry compare to other industries? And I can say, well, you know, the top most attack are probably things like high tech and commerce and gaming.  In fact, you know, I would say last year and this year, phishing, we were number one, financial services were number one attacked. DDOS last year was number two, this year financial services was the most attacked. And last, we were third in APIs in this year, you know, behind other groups in APIs. But then within financial services, the board's gonna ask, well, where does my business rate to the others? And their banking was the most hit. So some of this is understanding is our risk portfolio appropriate? How much should we invest? Because how heavily were we attacked? When we look at some of these threats, do you see a pattern where they are limited to specific regions or they're like global? Because sometimes incentives are also different for bad actors. Absolutely, and different business models. And so, you know, we often find by industry, by region, different changes. So, you know, if we looked at something like, what is driven for, let's say, attacks, most API attacks, well, it would be within Europe or EMEA, it would be the UK. Within APJ or that area, it's Australia. And so, sometimes it's the country that's most attacked. Other times it is, you know, we said, fishing may not be the most attacked here, we're in a different region, it is the most attacked. One of the biggest changes we've seen over the last two or three years is this shift towards DDOS moving. So, the US used to be the most attacked for denial of service, and that's gone over to the EU. And we see a lot of that, we believe driven by the war in Ukraine. We see some, you know, threat actors that are almost moving over to what I would call a privateer to harken back to the days of sailing. You know, a pirate ship could be commissioned by a government to become a national asset and a privateer. We see criminal groups now with political motivation. So, again, business model and legislation, you know, all of this, we see legislation like Dora coming out. And that is a digital resiliency act coming out of the EU. And that's gonna be driving, you know, going back to that first topic we covered, legislation is now gonna be driving some of the activity around resiliency. Going back to the point of, you know, these new kind of attacks, one more technology that is very, very hot these days, which is Genitive AI. How do you see Genitive AI is going to either enable, you know, bad actors because it has so many capabilities, especially if you're talking about social engineering and all those things is what are your thoughts on Genitive AI from the perspective of being used for attacks or being used for defense? We have to remember Genitive AI is simply one of the three disciplines within artificial intelligence designed to tell you what the next most likely word is. And so, you know, it doesn't tell the truth. It doesn't lie. It generates a probability factor for a word. And so if you are running a security operation center and you wanna reach out into do some research in your private large language model of all your policies, I think it'll be great. I think it's very helpful. It's letting people to be more responsive to quickly gain knowledge there. I think eventually we'll be tying that into some of our automation. I think there's some real potential for the defenders to get better information faster. You know, we've been using machine learning for a long time. We're doing great things with that. I expect to see us continue to drill down there for private on the security side. On the threat side, I think it's gonna make one discipline much easier to make revenue on. And that's business email compromise. I think they can, you know, go out and use this to create a better social engineering engagement. We've seen a branch of this where they're getting actually reinforcing what telephone calls and, you know, almost getting into that deep fake area where they're creating a much deeper richer social engineering experiment. What kind of new emerging threats that you're seeing which are still, you know, at a very budding stage of surface, they have not like, you know, taken over where you're like, hey, these are the new generation of attacks that we are not prepared and they are coming. HTTP DDoS attacks just came out. We have server-side request forjury is coming out. We're seeing a lot more in moving back towards technical attacks. We're seeing more innovation there of hackers paying for zero days. And so we kind of have this constant shifting back and forth. I will tell you that I think, you know, that we have constant stressors on access to talent. We have constant stressors around federated legislation. You know, if you're a global company and even if you're not keeping up with all the changes in legislation, that's a constant challenge, how we're doing that. The bigger things I'm seeing is, you know, we're taking more and more effort to get deep visibility in complex environment. I have stuff in the cloud. I have stuff on-prem. I have stuff using a function as a service or serverless. I have, you know, third parties. How do you get visibility across all that? And how do you minimize dwell times? Kind of a long answer, but those are some of the stressors I see us dealing with next year. And then we look at some of the stressors. Some can be technical, technological, but some can be purely people and cultural. We talked about that last time also, but I want to once again talk about it, that technology is easy part. People, culture is difficult part. How much do you see cultural changes are also responsible for this? We have been talking about DevSecOps for so long, ship-left movement, but in reality, companies, they don't have resources or they don't have mindset to actually do that. The three pillars are still valid today. Processes, people and technology. You know, if you have weak processes, you have huge gaps. If you have unintegrated technology, you have huge gaps. If you don't have the right skill sets for your people, you have huge gaps. And one of the things that drives a lot of this is what you said is culture.  I think culture is getting harder and harder for us to actually manage. And then that, within that culture, developing cyber evangelists, cyber champions, teaching that culture of a risk that manages the risk appetite we want within our culture, those are phenomenal challenges. And I see us continue to work on those through a lot of collaborative ways. But yeah, those, I agree are fundamental. The interesting thing, the culture and I may be wrong, you can correct me, is that sometimes the right technology, right tools can bring the cultural changes that are needed within industries because, you know, they enable that, they empower that kind of, you know, communication cooperation with organizations. If you look at Akamai, talk a bit about how do you folks not only offer tools to organizations to protect themselves, but also sometimes you feel like, hey, you know what, through these tools, through these processes, did you also bring the cultural change that is needed within those organizations? We spend a lot of time, first of all, making sure that our tools are able to adapt to your risk appetite. So, you know, when we provide you capabilities, first of all, we've heard from our customers, you don't just want a tool, you want us to give you a tool and say, I will run the tool, second option is I want you to bring engineering hours to help me optimize the tool. Third option is I want you to manage the tool and for me to give you guidance and governance on how you manage the tool. But the next part is how much friction do you want between you and your customer? So our tools are also designed to make sure, you know, if you want less risk, lower fraud, but a little bit more friction, you can set that within the perimeters. If you want a higher customer experience, then I think those are the cultures that we want to be able to support. And then the last conversations like this, putting out our blogs, putting out our state of the internet reports, we want to tell you what we see your peers doing, what we see the threat doing, and engage you in a discussion of how do you think about risk? How are you going forward with this is where I would say most of our work is. Before we end this up, last thing I want to ask is that what advice do you have to other CISOs to not only security teams, but in general developers team, because we talk about the whole shift left movement and developers, we are focusing a lot on developers again, so that they can at least ensure that they are well prepared for attacks. For me, I think, you know, two things, one, on the developer side, we love to build. And when I build something, I'm very proud of it. And it's hard, but I need to pause and say, how will people abuse this, misuse this and break it? And so as a builder, I need you to design in, how am I going to audit this? How am I going to do access control? How am I going to do an investigation to find out how people are abusing this? Those are critical things, so don't be evil, but think evil on the developer side. And then on with my peers, I continue to have discussions where it's more about minimizing dwell time. How do I have visibility? How can I interrupt their attack sequence before it's complete? And so you see more of a shifting towards lateral movement detection, looking for rogue APIs, being able to technically enforce that discipline that we need. So yeah, again, visibility really is the watchword and situational awareness is a goal. I'm asking you though, hey, what kind of thing they should do? There may be a lot of things that they should not do. What are those? They're like, hey, these are nays, you should never do those things. On the developer side, really, I think what you shouldn't do is why we have the OWAS top 10. So if you look out, we have the OWAS top 10 for webpage, the OWAS top 10 for APIs. We now have the OWAS top 10 for large language models. We have so many people making the same mistakes that we've published what the most common ones are. So when you want to know what you absolutely shouldn't do, I think the OWASP is a fantastic opportunity to go look at it. On the CISO or the leadership side, I don't think you should allow complexity. I really think we need to move away from complexity. Fewer vendors, better standards, better integrations. As you move forward, figure out, not do I need a new tool, but can I re-optimize current tools? Can I use current vendors? How can I reduce complexity would be my advice on that side? If you talk about organizations whether they're big or small, if you look at developers, once again, if they work on big companies or smaller companies, they do want to dip their toes in new technology. They don't want to be left behind. They do want to know where the word is heading and how prepared they are. At the same time, maintaining what is stable and not taking risks, how should they maintain the balance there? We have betas for new products all the time. So we're in that same boat of we have some customers that are want to be involved in a new product, want to be involved in shaping things. Others want to know when it's mature and ready for mainstream. I think part of that goes back to our earlier discussion about culture and risk. And so if you have a culture where you think innovation is going to give you an advantage, then great. If you have a culture or a business model where you just think it's cool, but it's not giving you an advantage, it's not really changing your risk portfolio. That's when I would urge caution. But it's very true that I think this kind of goes back to culture and risk appetite. Steve, thank you so much for taking time out today and talk about this as we discuss an interesting topic. And I would love to have you back on the show. I feel that we should start a regular monthly show to talk about cybersecurity. But I really, really appreciate your insights and thoughts. Thank you. I always enjoy this conversation and thanks everybody for listening. Have a great day.


Hi, everyone, Joe for Jaspy's casebrates.com. Happy Monday coming at you with 2021 Panini Select Baseball Serial Box, Random Team 4 with six dynasty spots being given away. That's going to be a good break. That's a full case of dynasty as well. We're going to do the break first, as always. So big thanks to this group for getting in on it and all the teams are in. So the first dice roll, four and a one, five times. Different dice roll for the giveaway. So five times for names and teams. Two, three, four, and fifth and final time. Four and a one, five times for the teams. One, two, three, four, and a one, fifth and final time. All right. So no trade windows here. Here's just the first half of the list. There's the second half of the list. It's alphabetized by team. And let's just print and rip. And here's the final printout. Hot off the presses. Thanks, everybody, for taking the chance on this. Taking the risk. So there's Hari. We've got Jamiah Jones, Rookie Silver, a couple other rookie cards there as well. Nothing too crazy, but obviously winning those dynasty spots is a whole point of this. So let's gather everybody's names again. Let's flip over here. Let's gather everybody's names. New dice, new lists. And let's roll it, randomize it. Two and a one, three times. So top six after three. Good luck. Fingers crossed. One, two, and three. So from seven on down, there's going to be seven through 30 sad times. And Michael Lose, saddest of all because he's just on the outside looking in. But thanks to you, thanks everybody for giving this a try. Happy times for the top six because you're in that dynasty break. Carl, Barry, David, Carl, Michael Lose got in, so did Michael Logue, and Carl again. So Carl with three of the six spots. And there you have it. I'll put you in the list. We'll put serial four next to your name. And then I think we've got to do, if you're watching live, I think we have to do two more of these, sell a few spots straight up, and then we're in Breaksville on a really fantastic break, dynasty baseball. So we'll see you for that. Hopefully, later tonight, jaspercasewrakes.com. Bye-bye.


The Brainerd American Legion is making sure that no one goes without a meal this Thanksgiving. Volunteers have been busy in the kitchen preparing for tomorrow's big feast. Our Logan Gay has more on the meal. For over nine years, the Brainerd American Legion has been participating in the community Thanksgiving. This year they are expecting to feed over 600 people. It seems to get bigger and bigger. It seems like we're jumping about 100 every year is what we're anticipating. So it's great. They have been preparing for the big meal for over a week. I had 20 cases of turkey in my freezer and like 12 cases of mashed potatoes and just stuff everywhere. So we started actually pulling the turkeys out and thawing them this past weekend, started cooking them on Monday. We'll slice the turkeys tomorrow. So, what's on the menu? The other dishes are going to be coleslaw stuffing, which stuffing is being made over the VFW already. We have to make the green bean casserole. And of course the turkey, which is being prepared by volunteer Cook, DeWayne Collins, who said that it's being cooked with love. They're going to taste great because I prepared the food if I was going to eat it. And everyone's invited. Anybody's welcome. If you just want a place where you can fit your whole family, like if you have 12 to 15 people coming in a table for six, come down. And new this year, the Legion has decided to donate any extra funds from the community meal. People have been so gracious with the funds that they've been giving. We decided that we're going to be giving it to the food shelf. The community Thanksgiving dinner will begin at 11 a.m. at the Brainerd Legion in Brainerd, Logan Gay, Lakeland News. The Brainerd Elks, VFW and Eagles are also helping to provide the food for the community meal. If you've enjoyed this segment of Lakeland News, please consider making a tax deductible contribution to Lakeland Public Television.


Hi, this is Steven Esheba and I just want to help you out with the interpretation of a profile that one has obtained for finding the energy of activation. And I'm picking up on a previous video where we generated a profile, and I'm assuming that you've got that, and so you've loaded it back up. From this point it's pretty straightforward. What you'll want to do is go over here to this icon, and we want to go to Add, and the most convenient one I find is to go to this thing called Molecule List, and there you see it says Relative energies and kilojoules per mole, and so that loads that up, and so you can see it here. And then to make a graph of it, what we'll go here is now say plus, and hopefully that item shows up for you on the right, where you can do it that way, and now we have that graph on the right. I kind of like to use this icon to superimpose it on here, and now what we can do is we can essentially play, and you can see how the reaction is taking place, bond forming on the left and breaking on the right, and so on, and the other thing to take notice, in this case for the level of the B3 lip calculation that I did, the energy looks like from here, the starting place up to here looks like we have to go up to about 50 kilojoules per mole, so that would be the energy of activation for this reaction.


Welcome to the stage dear party people this is the chaos west stage self-organized sessions and the next talk will be held by Injun a very good friend of mine as you can see he makes funny face movements it will be about scripting and he has a special effect for us the so-called ring of fire one yeah there it is all right I sit down but I will stand up soon so Nanook asked me to tell me something about this absolutely brilliant title which is called habitual automation what I mean by this is actually that I at some point in my life realized that I can't help it but like this your microphone is off all right that I can't help it but start to script stuff instead of just doing it so I ended up wasting days of my life or wasting away days of my life to script very simple tasks to automate them like creating a curriculum vitae instead of just writing it down a small table have a curriculum vitae in the next time I need it which is not that often just do it again and work it over and at another point somewhere later I realized I actually didn't waste that time it was actually time well spent and everybody who is not doing it the same way is losing out so I at some point created this table which this title which actually should have become a whole table around here but well that will come up next time and at that point I decided I want to share this with all of you because maybe some of you are in the same situation or some of you are even in a situation that you're still thinking that you're wasting away your time scripting stuff and the other thing is that I want to motivate you which is probably preaching to the converted but that's the most fun because you don't get that many arguments from them and you don't get hurt all right and then I thought all right let's hijack my own talk and that's what I'm doing now the other thing we wanted to do around here is has actually to do with scripting and automating stuff that should not be automated and that we called the ring of fire for reason that will become obvious to you in a few minutes or in a few seconds the first thing I need you to do and you can do that over the next 20 minutes is to start your engine which is your computers as long as you don't have a free BSD running around because tests failed on every free BSD and if one of your computers is failing the whole ring of fire will be failing which is probably the thing that has to do with the structure of a ring if you have a ring a ring of fire for example if any of the ring links is failing the whole ring is failing so the general idea of this ring of fire is that we do something very non-secure and are very important it is sending around packets and we only want to send around one package which is a UDP package and the content is I can disclose this to you is fire because every one of you is seeing it on your screens very soon at the end of the talk so please open up your computers open up a command line interface if you have so if you have not installed so cut I have not written it down here but if you know what if you don't have installed so cut which is the thing you find on the upper right here then please install this and if you have not installed TCP dump which is the thing down here then please do so over the next 10 minutes the other thing you should do is join the IRC chat on the hack int which you should do nonetheless because the 34c3 chat is also situated there do you want to take the call okay thank you and then post your IPv4 address sorry no v6 around here yet in the internet relay chat that's not a really private data set because well you will be changing your IP address soon afterwards can everybody who has a anybody who has a computer on his lap that is somehow able to run so cut raises hand alright thank you then proceed okay in the beginning of everything you all probably know was the command line the command line I'd like to argue is much much much more superior over the things that you find around offices everywhere in the world which is the graphical user interface the thing we use this tally thingy around here and actually only one finger of your five digit hand I mean you could nail down your hand on your mouse and have some clicking item around here but you only need one finger so what you have if you use a command line obviously is much much more control and a much higher input bandwidth because you have ten fingers around there you have a lot of keys so you should at least be much faster but you also have more control in terms of doing knowing known what you're actually doing because when you click on some icon that you have on your your graphical user interface you actually executing some kind of command but I doubt that most of the people who do the do so know that they actually just firing up a command on the command line or on some command line sensitive thing the other thing is you have a much more interesting learn curve if you have a graphical user interface everybody of you probably has observed this you can do quite a bit on the graphical user interface from the start it looks very fascinating and everything is fine you fire up your graphical user interface and you just click to something and something is happening then you move your mouse around and the move mouse is moving around and you are actually able to do stuff not much but you're able to do stuff if you start up a command line interface it's quite the opposite if you set sit a put a kid in front of a command line interface it probably will not be able to do anything from the start except maybe at some point it will start typing stuff and then it will get one response from the computer which is command not found so this is kind of disappointing from the start but if you then proceed on the command line maybe finding out your first command which is probably show me the contents of this directory and move to that directory you slowly but continuously progress on your learning curve while using graphical user interface you at some point will hit something that feels like a wall because you will not be able to parameterize your your clicks you have only one finger after all you will not be able to do anything beyond clicking some somewhere there and if you want to advance from there you have to learn something completely new some kind of shell command line interface for example where you have much more control over your commands where it can use something like loops like conditions and all the stuff and from there on you can progress but first you have to get beyond this wall so why in the beginning start to learn one interface when you can just directly start with the other interface that is much much more better so sorry it is ring of fire has everybody found the the IRC channel yet all right I just go forward and go back to this slide every now and then you don't have a computer on your lap why okay the last reason why you actually should use your command line interface is because manuals on the graphical user interface suck I don't know if you have realized this but if you try to teach somebody probably on the internet on your web page how to actually use some kind of Windows machine or so you actually end up posting a set of screenshots with your mouse pointer conveniently situated on some on some knob and after a while you can you are able to follow all these images you have to find where is this mouse point on this image then you have to compare this with the image you have actually on the other screen and then you have to move your mouse pointer to the to the button can click the button and then you proceed to the next step the problem is this changes frequently because it's it's only the display this show of the the buttons and everybody changes the look and feel of his graphical user interfaces now and then so you find a lot of lot of aged manuals on how to use the graphical user interface of 10 years before which actually doesn't help you with now as compared to manuals on the command line which provide to you if you're lazy some some list of command that you can just copy and paste put into your command line and you're done or on the other hand something that you can grow on learn on what is this command doing what is that command doing can I can I change it and if you need something else you can just start from this set of commands and figure out how to make it red instead of blue or blue instead of red so as it happened to be I as probably many people of you had at some point do work and the command line interface brings it to to the point where you not that fast when you do things for the first time so if you start to work you have to somehow put yourself to the task of automating stuff but once you automated stuff you have them in your at least external memory and that is another problem I have I cannot remain remember much of the programs and commands I ever used but if I made the five minutes effort to put them into a shell script I just have to look up the script which is somewhere in my binary directory and which I can somehow find so what what I found by by looking at my binary directory was a lot of interesting scripts at that one point helped me to learn actually stuff so I learned to calculate interest rates somewhere in my life because I borrowed money from a friend and I want to pay him back some some money and there's a script telling me how to write interest rates that's not very interesting but at another point I found out how to copy files without deleting all the doplicates or without without deleting duplicates or copying over stuff that is already there so that's very useful but I probably have forgotten how to do it I just have to look up my script hello hi call you I hope you haven't been in cognitive here all right other things that are very important is for example other script that I found myself looking up now and again is how to get a video into some kind of music did anybody of you know YouTube they're nice videos they're very bulky if you download them and if you don't need the music you can just comp encode them into into a music file but and then Coda or mPlayer has a lot a lot of parameters so if you found your set of parameters and you can remember them two years after you're lucky I am not so I have them in a script probably the most important script was to get my calendar dates which you often get by email in ICS into my task warrior which is managing all my tasks or has been managing all my tasks or you want to kill all the people who is who are tedious and are sending you email probably with a nice message telling them back that you don't read their emails anymore which is a little bit more polite so you put this in a script wasted two years of your lifetime but from that time on you don't have to read all these emails from tedious people you don't want to read emails from and you're not even impolite because well you tell them that you don't read the emails every time they send you an email or very easy if you have kids children they need a command that says hello to them on their computer that isn't simple alias one liner well and the most fascinating thing I probably ever did was writing a markdown EU research proposal and working it over with a bash script to make a really actual PDF out of it and collaborate with 12 people the script is still somewhere around and I got some kind of praise for that that's nice but it's more or less kind of one liners if you go on from that you find yourself probably sometimes having talks somewhere to present somewhere here and you have yourself traveling so you need your computer to be in a certain state and the thing that evolved with me over a certain time is the shell script that actually set this screen up there I well you cannot read it but it's not important you don't want to read shell code on in a talk nonetheless so what what do you do you have a shell script let's call it shim scheme punked as hard and this can do everything from setting up your X Randa to present actually these slides to bring up your office setup if you have a coffee machine that is internet aware probably to cook your coffee making your screen being upside down because I don't know how many of you remember the correct parameters to make your screen upside down but now you have your one customized script to do so and being mobile in general for example switching off your top proxy because it's draws your battery and so on and you can put up everything on that on github so everyone else it can be completely confused by your shell code what did I learn but from that actually I had to learn how to find out which monitor on my computer automate in an automated way is actually the presenting monitor on which one is the monitor up there and now I have forgotten how to do so but I have a script to look it up again which brings me probably to the most useless thing I've written up to now which is the science organizer I'm probably like many people meeting people sometimes I am actually people at least the last time I looked into the mirror I was no robot I go to conferences not every now and then like those here and I meet people there people write text they sent me email they make pictures they create stuff and I have a problem with people because I cannot actually remember very well who I met every time I meet somebody when I met them and what they did so I wanted somebody to help me with this and this somebody has to be my computer because there's nobody else around and so it all began in a sense it's completely unfinished I have to add so I started with an RDF database because I mean linked data is hot shit so we have to use it it makes things couple more complicated but at least you have one format how to do all your stuff and I wanted to try that so we go there and the simplest thing you can have to can do is do an address book after all I wanted to remember people so I have some text file in there which is in a turtle format and a lot of people in there which I still have to add manually which is a hassle but after all you don't your at least you're not forgetting how to write your RDF data then I needed a curriculum vitae and that is actually something that it can do it needs all my addresses that I had in the past I don't want to delete stuff so I put in all my addresses every address has some kind of begin and end date because sometimes I move and then I leave my thing you need all the events and you will find out that all the RDF people had not yet defined all your curriculum vitae in that detail so you have to put them in yourself if you write stuff you have publications you want them to show be shown on your CV or in your web page and so on so you have to put everything in there in your database so creating your database actually it already takes a lot of time instead of well firing up word creating a table use it once and next time you need a CV created again it works kind of nice it works kind of nice in the sense that my current address is actually my current address in my CV it works less well in the sense that my publications actually come from a big big taking file that I have to convert into RDF and then have to convert into my CV but well it kind of works last time it took me let's say four hours to rework my scripts and then 10 minutes to have my CV ready and it took me two minutes to enter my new address so science organizer it's called you find it actually on github because I am very afraid that at some point my hard disk will break down and I will not find it again so I put it up on github it's not that complete but you probably want to use it what it can do is actually create my CV I used it at least twice in my life yet so it probably saved me about minus 20 hours and it can do a friend of a friend enriched web page for me which is probably read by nobody because it's somewhere in the me.rdf file that nobody will be searching on my web page but it's nice nonetheless to have something like that and after all the European research proposal I wrote had something to do with that so I needed to create something to be a little bit more coherent with which what I wanted to research but what it should be in the end is a complete social network plug-in most of you like me probably have one or two identities on social networks and I want to distribute everything to those social networks because I'm lazy and I don't want to write everything twice have anybody of you ever written a publication and then find himself writing it in a BipTec file then on his I don't know social network A list social network B list and in the end in his company on this publication list I did so I wanted to make things easier but it's not yet working but nonetheless I get my publication file and I write them still manually I actually wanted to do a contact publication graph it's in the making and I want to find out who I met at conference XY that someone in 1960 whatever it could have been I met you I probably recognize that what actually was created is the thing you cannot see out there on that the code on the right side is creating my curriculum vitae so that is working it's working kind of kind of nice you only have to write down the sections you want to have and then you're finished if you entered your data beforehand and nothing breaks down which brings me back to the original reason I actually learn kind of a bit on that for example on writing the science organ or still writing the science organizer I learned programming Haskell up to a level that I now want to rewrite everything I wrote up to there because in the beginning everything was kind of modeled I learned quite a little bit of bash scripting I learned kind of a little bit of Ruby because my email client was written in Ruby at that time I learned kind of a bit of Python and in the end I never lost contact to my computer which happens if you write papers and not code so that brings me to the conclusion that probably hopefully nobody of your needs if you learn to code you can put stuff into algorithms if you can stop into algorithms then you in the end can test whether you finally half understood what you have been doing because as Richard Feynman put it you only understand and yeah what you cannot create you do not understand or the contract point is if you can create it you probably have understood it so if you try to create stuff like your curriculum vitae you at the end will recognize that your CV is nothing more than a list of sections that somehow has to be compiled if you knew that beforehand you're lucky I actually learned it there so now we come to the final point can I get a show of hand who has fired up a computer and somehow find himself able to connect to the IRC client all right one two three four five six seven all right if I leave myself out we are seven potential points of failure let me switch switch to the can you hold that for me okay yeah can you can you enlarge this can you can you enlarge this this in any way all right you're all in the IRC chat so the title of the IRC chat is the actual line that you have to insert into into your shell it's actually the the last input I put in there if you want to watch what we're doing now you need sorry you need this last line here okay you try try to me does that work you probably can read that now this is the final test of a very useless exercise so what will happen if if we if you can paste your IP address in the in the IRC then we create a list of IP addresses you local I locate your IP address in the chat window and below your own IP address you find the next IP address the next IP address you insert here after UDP for datagram and before the seventy seven seventy three port number this is the peer that you will forward your packets to then you fire your shortcut line maybe maybe uh Yannick can you put up your email your IP address in okay I'm not seeing it it's not working shit yeah but it it's not helping obviously my internet failed yeah I'm completely offline okay can you can you start this okay of the people who have half the IP entered the IP address can you find your IP address Yannick can you insert your your IP address as the last one now I'm online again I okay who has I started this shortcut line with the correct IP address now this is yeah correct we will see in a second two I need three down there somebody's typing I never wanted to comment sports so that's Yannick is done who has the TCP dump run in that's the only way you see something because my computer off obviously is offline I need I need some some line from down there still hello ah Yannick just try it does anybody need another explanation I need all the IP addresses but I don't have them in the ISC chat anymore so we lost that we had interconnection when I started to talk whoever heard of lost internet connections on the on the con it works you have send the packages coming round are you seeing packages no you're seeing packages once or twice four times so it came around four times four who's who is seeing packages or every time you see a package raise your hand six it works what did work actually so what happened who wants to know what happened all right some volunteers I don't have a graph but we can't can imagine some kind of a circle so we had a bunch of volunteers here everybody with armed with a computer and computer a set up a proxy port something that receives messages on one port and sends them forward to the next let's call it computer B computer B did nothing else than sending the packages it's receiving to computer C to computer D and computer D decided that it's very intelligent to route them back to computer A so what happens if anybody has the clever idea to insert a packet at any point of the ring well the packet starts to go from A to B to C to D and then starts again to A to B to C to D to A to B to C to D at infinitum if you're lucky so in the end if your message contains for example the word fire you're now entitled to listen to Johnny Cash until you stop your computer I thank everybody who participated I wanted to make that work in some way and by the way you learn to to use so cut in a some kind of way to forward your packages and I hope you learned something new if not you hopefully learned something like that it's not very useful to link your computers in a circle it still works I keep it up any questions by the way Nanook it's your task and thank you for listening questions from the audience nah I didn't expect questions then I will what's the most useless thing you ever coded oh actually that code is not from me it's from you once on the congress I left my computer open just like that yeah and then you open the terminal and add it to my bash file to say you should lock your computer every time you leave your computer that's not useful that's a very useful reminder so if we do not have any questions from the audience my last question is where can we find you if we have questions concerning so-called CVs rich data text files ah yeah I forgot my well you you find me on the internet somewhere um yeah I'm from Bremen and you probably find me around there or if you're very lucky you find me down in the kids space where I'm lounging around in some of the hammocks or in the what's Bella but in English bowl bath with all the funny balls nah okay yes thank you again for your for for listening for coming here and good luck wasting your time on code it's very very very very funny thank you


Welcome back everyone today. We're going to talk about how to acquire a disk image using EWF acquire in Linux Now the goal of EWF acquire is usually to make Expert witness format images or easy row one. So the easy row one file format is really common Format that a lot of tools and a lot of investigators use It does have some built-in Consistency checking mechanisms check sums within the actual file itself So it is pretty useful and a lot of investigators or even a lot of police officers or even Judges or courts often want The disk images to be an easy row one format Yeah, so basically today I'm gonna show you how to collect an easy row one file from command line using the tool EWF acquire In Ubuntu or any other Linux distribution that supports it, okay? So the first thing we need to do is install it and in Ubuntu And I believe in Debian you can install EWF tools so we can do pseudo apt get or apt install EWF dash tools pseudo apt install EWF To dash tools and then it should go out and download everything for us Okay, so now we have the newest version. We can also build from source. I'm just gonna use the tools from From the package manager right now. We can see that it's installing EWF tools 2014 0608 I'm sure that there's actually a newer version But I'm just gonna show you from the Repository right now because it's fairly easy fairly straightforward to do so once we install EWF tools You can type EWF and then do tab and you can see a couple Utilities that are included in the EWF tools packages. So EWF acquire is what we're gonna focus on today EWF acquire stream is pretty much what it sounds like you can make a stream and send it to EWF EWF acquire stream and it will Convert it to whatever format. You're trying to save to EWF debug EW export info Mount I may also show you how to use at a later date. It's also quite useful EWF info Shows you about the disk image. It's also pretty handy EWF recover and verify verify obviously checks the checksum or the the hash value that's actually inside the disk image so Expert witness format files are not like raw disk images raw disk images are just a bit by bit copy only Whereas expert witness files actually have a little bit of a data structure They add some extra information in the disk image in the form of a header And a footer and then some checksums in between data segments. So Yeah, there's actually just a couple more features in some ways this makes it a little bit Better than a raw disk image because we can actually figure out which data segment has changed if some data does change If you just have a raw disk image Unless you have hash values of each piece or each section of the the raw disk image You won't know which section has been modified if there is data that changed Of course in digital forensics. We hope that none of this data changes, but it's always a possibility. So EWF formats Kind of supports checking or doing some other verification within data segments itself So what we want to do right now is a choir and image using EWF a choir So we've already installed EWF tools. We want to use EWF a choir to Copy a disk image. Okay now EWF a choir comes with a lot of Options it's really powerful tool. I'll just go through the main options right now and we can image a disk So the first thing we need to do is List the disks that we might want to image. So the disks that are installed in this system There's a couple ways I can do that the normal or a very common way I guess I should say in Linux to list your disks From command line is to do sudo f disk f disk Dash L and that will list all of the disks using the f disk Utility the problem with f disk is that you do have to use sudo to run it to get access and then whenever we look through here Let me see if I can quickly find the disk I want. So basically I want to image this 3.8 gigabyte Just a USB stick in my system. I can see that it is assigned As dev SdE. So this is the physical disk indicator in Linux It's 3.8 gigabyte. So I know that's the one that I want We can see the sector size which might be interesting to us later and we can see that it has here basically two Kind of like partitions basically so SdE one would be logical disc one and SdE two would be logical disc two Logical disc two is formatted as it looks like fat probably 32 So we get a little bit of information here But what I really am interested because I want to make a physical disk image not a logical disk image I want to acquire the entire USB stick not just a partition on the USB stick. So then I need to focus on Dev SdE, which is the indicator or the kind of the address for the physical disk Okay, so dev SdE And then dev SdE one and two I'm not going to worry about too much because whenever we collect the data We're also going to be collecting those partitions. Okay So now that I know that it's dev SdE just really quickly another way to list your disks without Having access to root or pseudo is LS BLK So LS list and BLK is block and then that will tell us the Block devices that are available and I hope it lists it here Yeah, so here we get a little bit more information where it's mounted at so I have this SdD basically all of these other ones are built into my system or their external drives I'm interested in SdE with SdE one and two and we can see that SdE one is Mounted as Linux Mint. This is the volume label actually for this. Okay, and where it's mounted on Right, so now we know Dev SdE is the disk that I'm into it interested in we can list the disk with either LS block or LS BLK or pseudo F disk dash L. Okay, so now I'm gonna clear I'm gonna clear that out Now we want to use EWF acquire and I think I have to use pseudo so I'm gonna go ahead and do it pseudo EWF a EWF acquire pseudo EWF acquire and then I want to give it the device that I want to image now If I just do pseudo EWF acquire, it will give me a long list of all of the options that I can put in with EWF acquire and This makes the tool really flexible basically Now it also has kind of a menu. So if you don't fill all of these All of the required values in then it will ask you for all of the required values So I won't go through all of these right now, but there is a help menu. Just run EWF acquire Without any any extra commands and it will show you the help menu. Okay, but for now we're going to do pseudo EWF acquire and I'm gonna give it Slash dev slash sd e now this is the disc that I want to image. This is our target disc So dev sd e Okay, and then it's now saying okay, we found it the bus type is USB. That's correct The vendor is SMI model USB disc. Okay serial number. Okay So all of this we would want to record in our documentation So I've already started I've identified I've you know, plug the disc into a right blocker The right blocker is plugged into my system. It identified as dev sd e EWF acquire recognized the the disc and it gives me this information So I want to make sure I document that now So storage media information type device media type removable media size 4 gig and bytes per sector 512. Okay So now the image path and file name without Extension so I'm actually right now in the media Joshua storage temp folder. So I'm gonna copy that I've already pre set up pre planned out where I want to store everything I'm gonna put it this time in the temp folder that I'm already in and I need to give it the disc image name. So I'm currently in this Storage slash temp folder. So temp is a directory name. Then I want to give it another An actual file name so in this case I would need to give it something relevant to to the disc itself, so let's say it's a kind of a Let's say 2017 to give it a date. It's a USB it's gold and On the disc it actually says for gig. So I'm gonna name this 2017 USB gold for gig. I need to be able to identify, you know, with a physical device With just an image name. So some some way to tie this together You could also include for example the case number. Whoops So I could call it, you know 4g and then maybe the case number is zero zero one something like that So I would usually have, you know, like case number Date and then some sort of identifier and the type of drive and then if I know the size the size as well Okay, so something like that think about a File name that lets you understand very quickly what the image is. Don't make it a generic file name.  For example, I would never in a real case Put this in a temp folder. I would always put it in a special case folder dedicated to that individual case. Okay Right, so next to hit enter and then we've set the image path now with the case number itself and this information So the first thing it's asking us for is where are we actually gonna save the data to so I'm saving the data to my computer Now it's asking for the case number and this information is case Metadata that will be stored inside the expert witness format header So basically the beginning of the disk image will have all of this extra metadata that we're entering now So I'm gonna give it a case number of zero zero one Description like I said gold four gig USB from, you know case I don't know murder something like that. Okay Evidence number so in this case, this is my first piece of this is my first exhibit So I'm gonna give it an exhibit number of zero zero one and then examine her name Joshua You should put your full name by the way any extra notes. So again, you know, if this was related whatever I knew about this This device I would have that information in my documentation But I would also usually give some notes as an indicator not very Very long notes, but at least some notes to kind of give some indication about what I know The media type. This is a USB stick. So it's removable Media characteristics logical or physical now remember I Said we wanted to do a physical disk image. So we want to do physical Use EWF file format so we can choose here EWF, which is the expert witness format Smart, which is a different format that I think is mostly used just in the US if it's even used anymore. I don't really know FTK formats Basically they have their own format that also supports encryption. So I think EWF and FTK both support Compression and encryption and then the different versions of in case linen And by default it's using in case six. So we're just gonna keep the default for now Compression method Deflate I'm just gonna choose deflate and then compression level. I'm gonna choose fast Compression is a pretty handy feature. I think that's why most people Prefer to use these types of formats rather than raw because raw again like bit by bit copy It means that if you have a one terabyte hard drive, you have to copy one terabyte In this case, we're copying all of the data, but we're also compressing it So here we're gonna do fast compression. So hopefully it's pretty quick Start to acquire At offset so you can also set the offset in the disk where you actually want to acquire at And this is very similar to using DD. So in DD you can also say You know, where do you want to start? How much data do you want to copy? So this is a pretty handy feature as well to be able to set the Offset to acquire. I'm just gonna start at the I'm gonna copy the entire disk So I'm gonna start at zero and end at the end and Evidence segments evidence segment size defaults to 1.4 gigabytes and we are going to say Let's do 10 10 gigabits, okay Number of sectors 512 Number of sectors to read at once. Let's do 64 just defaults Sectors to use error granularity Let's do yeah default again retries whenever an error occurs So basically from 0 to 255 Default is to will set it at that if you set the error retries really high then imaging will take a very long time But you might all you might be more likely to get the data, but it will take a lot longer Wipe sectors on read area. So in this case If there's a read area, what do we actually want to do with those sectors? Do we skip them? Do we do we default to zero? Do we default to one and in this case? It's mimic in case like behavior So we are just gonna accept the default and do no And then this gives us a so zero sectors on read error. We're doing no And this gives us kind of an overview of our entire disk continue Acquisition with these values just hit yes and then It should start going okay, so now it's copying and it will give you the status menu the entire time So we started looks like a 730 to acquire and then One of what this is done. I'll come back and and talk a little bit more about the resulting files Okay, so now that the data is finished copying we can see that we got All of the all of the data how long it took But the average copy rate and then MD5 hash calculated over all of the data Which will be stored in the expert witness format footer if we look let me get the data here real quickly if we look we have a Single image because I set the split size to be 10 gigabytes and this was only a 4 gigabyte image So with now we have a 4 gigabyte e01 image or expert witness format image that we can load up into basically any Forensic tool because most forensic tools support the expert witness format. So It's pretty easy to use EWF acquire to To analyze that are sorry to collect the data Just while we're here We will also use EWF So in the folder. I have the image that I've just collected. I'm going to use EWF verify Against the disk image. Let's let's run it with without any commands first. So it also has Basically the same or some Extra options you can use I'm just going to take the defaults because it's just going to treat it like a normal e01 image So let's do EWF Verify I probably have to be pseudo. I have to be pseudo because the I don't have access to the image because I copied it as pseudo. So the first thing I need to do is probably change the Permissions on the file, but we can do see that pseudo EWF verify and then the image file that we just copied hit enter and then now it's going through and Rehashing everything so it takes the hash value from the footer It hashes every all of the data again and then compares it and we get a success Okay, so that's how to use EWF acquire and EWF verify from Linux command line. Thank you very much If you like this video, please subscribe for more


So GDPR, the General Data Protection Regulation, was passed by the EU in 2016, in May of 2016. It is, as Ronald was saying, it's four basic things. The right to privacy, the right to be forgotten, privacy built into systems by default, and the right to data transfer. It takes effect next year. It is already in effect. GDPR took effect in May of 2016. The enforcement penalties take place on the 25th of May, 2018. Now here's where there's two things on the penalty side that are important for everyone to know. Number one, GDPR is extra-territorial, which means that an EU citizen anywhere on the planet has GDPR goes with them. So say you're a pizza shop in Nebraska, and an EU citizen walks in, orders a pizza, gives them the credit card, stuff like that. If you, for some reason, store that data, GDPR now applies to you, Mr. Pizza Shop, whether or not you do business in the EU because an EU citizen's data is with you. Number two, the penalties are much stiffer than they ever have been. In the old days, companies could simply write off penalties as saying that's cost of doing business. With GDPR, the penalties are up to 4% of your annual revenue, or 20 million euros, whichever is greater. And there may be criminal sanctions against the charges against key company executives. So there's a lot of questions about how this is going to be implemented. But one of the first impacts you'll see from a marketing perspective is all the advertising we do, targeting people by their age, by their personal identifiable information, by their demographics. Between now and May 25, 2018, a good chunk of that may have to go away because we may not, there's no way for you to say, well, this person's an EU citizen, this person's not. People give false information all the time online. So how do you differentiate every company, regardless of whether they're in the EU or not, we'll have to adapt to it or deal with the penalties? Think about the principles that GDPR gives you. Look at that, I think. Some of these are just good data management practices and principles. It happens to be around personal data for GDPR right now, but those principles are just valid for probably any kind of data. So if you're on a digital transformation journey with all the change and with all the opportunity that brings, actually these practices and principles from GDPR, they should be helping drive things like your digital transformation. And for a lot of our customers, change is the only constant they've got. So actually managing all this whilst everything is changing around you, it's tough for a lot of them. How are people thinking about the data layer, where it lives, on-prem, in the cloud, think about GDPR compliance, all that sort of good stuff. How are you and Red Hat, how are you asking people to think about that? So data management is a big question. We build storage tooling. We understand how to put the bytes on disk and persist and maintain the storage. It's a different question, what are the data services and what is the data governance or policy around placement. And I think it's a really interesting part of the ecosystem today. We've been working with some research partners in the Massachusetts Open Cloud and Boston University on a project called Cloud Dataverse, and it has a whole policy question around data. Because there, scientists want to share data sets. You have to control and understand who you're sharing your data sets with. So it's definitely a space that we are interested in, understand that there's a lot of work to be done there. And GDPR just kind of shines a light right on it. It says policy and governance around where data is placed is actually fundamental and important. And I think it's an important part because you've seen some of the data issues recently in the news. And we've got to get a handle on where data goes. And ultimately, I'd love to see a place where I'm in control of how my data is shared with the rest of the world. GDPR provides for two types of things that a business must do. It must provide insight into the data that it's created, that it's captured about a business or an individual legal entity. And it must also then provide the processes for mediating or taking action against that data according to whatever the customers want. Tell us a little bit about that. So these are two important features because of GDPR. First thing, GDPR has 99 articles and 173 articles and 99 term technological ways. There are other ways, legal ways to do it, but technologically what they want. Like if Peter decides that I need to know from this bank or this social media company how much information you have about me and what are you doing with it. They have to provide that information in 30 days. That is called right to access. And the second thing is you can come and say, well, I'm not using these five things which you sold me earlier. I don't want you to use that information or even have information on that for me or my son or my kid. So you can tell them, delete that information or mask that. And that's all the right to? Right to erasure, right to remove the data. And these two things are very important. This gives customer, they make customer the king. They make the individual the king. He can say, tell me what you have on me and delete what you have on me. Now the laws have been in the books, at least in the EU for GDPR for a while. But the fines start getting leveled in May. Now we've heard that there... GDPR is a big thing for us and our customers and prospects as well. So we are actively working on getting GDPR compliant. Today our platform is FIPS compliant. So that's already a big stepping stone to getting there. So we look at GDPR in one of... in two ways again, right? One is the solution that we provide to our customers. The data platform and the data protect, as we call it, being GDPR compliant. Meaning the data that lands on that system, the ability to delete the data, the ability to say who has access to the data, role-based access, things like that. The second aspect is our support and the fact that, you know, we have access to a lot of customer information ourselves, right? The fact that, you know, we can, you know, look at their systems and make sure that everything that we do internally is also GDPR compliant so that the customers and our support systems and our Salesforce database is all GDPR as well. So both those elements come into play and we are actively working on all of them.