please welcome our next speaker. Adam is going to be talking to us today about revolutionizing authentication with oblivious cryptography. Take it away, Adam. Thanks, Rihanna. Good evening, everyone. Thank you for coming to the Crypto Village. Thank you for coming to see my talk. And I'm going to talk about a technique that we call oblivious password hardening. Oblivious password hardening or oblivious password protection. All right, first some introductions. I'm Adam Emberspaw, Ohio. I'm a cryptography expert at a software technology company called Uptake in Chicago. But what I'm presenting today is some work I did when I was a Ph.D. student at the University of Wisconsin. And that's joint work with these gentlemen. Some of these folks are here. Sam Scott is here in the audience. And all these folks are now at Cornell Tech. And lastly, I'm going to give a live demo of implementation of this technique later in the talk. And that live demo was developed by Virgil Security, which is an open source version of this. And the founder of Virgil is here. Demetri Dain is here. So if you have any questions about the software or the technology, come talk to me afterwards. I'll introduce you to Demetri. So we use passwords every day to authenticate to our devices and to online services. But the way we store those passwords is fundamentally broken because databases are compromised. And when they are, there's no way to stop offline dictionary attacks. Today I'm going to present to you a new direction. A solution that not only eliminates these attacks, but also enables compromise recovery. Let's start with a concrete example. All right. So maybe you've gotten an email like this. Scumbag polar bear wants to connect with you on LinkedIn. He sends you an email. You navigate to a website that looks like this. Now in order to log into LinkedIn, you must provide an email address and a password. And of course LinkedIn has to store that password in some way so they can tell if it's the same password every time. Here are the typical ways that websites store passwords. They either store passwords in plain text. No joke. This happens as Twitter. They perform a hash of that password and store the hash. They perform a hash with a salt and then they store the salt and the hash in the database. Or they do something kind of like an iterated hash function. Like you may apply the hash function say 10,000 times in a row and then store the salt in the hash. Okay. So pop quiz. There's a little bit of a trivia. Who here knows how LinkedIn was storing passwords in 2012? Two people. Somebody I don't know right there. You want to guess? Unsalted hashes. That's true. Now the reason we know this is not because LinkedIn had a press release. It's because attackers broke into LinkedIn in 2012. They stole something like 100 million passwords. They leaked some of those online. Those hashes online. And when they did, security researchers had a field day. They were able to crack most of those passwords in just two weeks with off the shelf hardware. Now the reason those attacks were so devastating and so fast was because they were using unsalted hashes. But what I want to point out to you is those attackers have 100 million passwords. Even if LinkedIn was using what's considered like industry standards today, like the best protection, which is some kind of iterated hash function or hard hash function, this doesn't actually stop offline attacks. It just slows them down. Which means attackers just throw more iron at the problem. So all the techniques that are storing plain text passwords would basically call hash and hope.  All right, so I'm picking on LinkedIn. But let's just say password database compromises are really not that uncommon, right? And what I want to point out is these aren't just like fly by night startups. These are sophisticated technology companies. They're repeatedly breached. These passwords are stolen. They have the technology. They have the motivation. They have the skill set to stop these database breaches and yet they are often unable to do it. Okay, so of course we want to limit these breaches whenever possible. But even when they do occur, we want some kind of protection, right? We want to move beyond hash and hope. So let's look at a different way to protect passwords. In January 2015, Facebook presented this slide at Real World Crypto Conference in London. This slide is pseudocode of how password, of how Facebook processes a new or changed password when you log into Facebook. All right, so I'll give you a minute to take a look at it and then we'll talk through it. Okay, so this is what Facebook does. They take your password. They run it through a deprecated hash function called MD5. They choose a random 20 byte salt. They take the output of MD5 plus the salt. They run it through a deprecated hash function called HMAC SHA-1. They take that result and it's a remote machine. It applies remote HMAC SHA-256 with a secret sensor result back. They run that through a memory hard function called S-Crypt. Take the output of S-Crypt run through HMAC SHA-256. Got that? All right. So it's a little confusing. You might be wondering, why would Facebook who presumably knows something about security do something like this? Well, the reason they do this is historical. Once upon a time, Facebook had 800 million passwords sitting around a database protected by MD5. Security said, holy F, we have 800 million passwords sitting around a database protected by MD5. How are we going to fix this? Well, Facebook doesn't want to make you change your password. They don't want to wait for all 800 million users to log in so they can rehash those with say HMAC SHA-2. So instead, the security team says, let's do this. Take all the existing passwords, choose a random 20-byte salt, run them through HMAC SHA-1, write that back to the database. Cool, we're done, right? Two years later, they got 1.1 billion passwords. They say, holy F, we got 1.1 billion passwords stored in HMAC SHA-1 of the database. What are we going to do? But look, we solved this problem before. Add HMAC with a secret. Doing good, right? All right, so sometime later, they want to do something better. They add S-crypt. Now the output of S-crypt is really long. So finally, they run it through HMAC SHA-2, literally just to compress it, literally just to compress it down so it fits in the database better. Okay, so what we're left with is this pseudocode, which is now an archaeological record of Facebook struggling to protect passwords. All right, but I want to point out something interesting here. Something most technology companies do. Most of this processing happens on the same server. But at some point during this processing, Facebook reaches out to a second server. That server applies in HMAC SHA-2.6 with a secret held only on that server and sends a result back. And that's actually really neat. That's neat because it leads to a different kind of architecture. At a high level, the architecture looks like this. Users submit a password. Web server does some local processing. Connects to the crypto server. Crypto server applies. It sends it back. Now the reason we like this architecture, this is now critical information is split between at least two different machines. So if I break into a web server, I get passwords but no key. If I break into a crypto server, I get a key but no passwords. Okay, this is already better. But there's still some problems with Facebook's implementation. First off, there's a cryptographic key, right? Security people might say, how do I rotate that key?  It's in the middle of a bunch of one-way functions. If you change that key, you effectively delete all two billion passwords in that database. So if you want to change the key, you have to keep adding these like HMACShot 256s to the end of the process. Okay, so that's not good. Secondly, because of this particular API, the way requests come in, it's really difficult. It's actually impossible in some cases for a crypto server to tell the difference between a large volume of legitimate requests like 10,000 different people are logging in with different passwords versus one attacker sending 10,000 guesses for a single sysadmins account. Okay, so for the rest of this talk, I'm going to leave behind the state of the art. I'm going to talk about our contribution to this problem. So we like this architecture. We're going to start with this architecture. I'm going to rename the crypto server to the PIVIA server and we're going to fix some of those problems. We're going to change the API. We're going to change it in a way that allows the crypto server to detect online attacks. We're going to build in support for key rotation and key rotation is going to be really powerful. This is going to allow us to recover from compromises and also proactively rotate keys. And when we rotate keys, it's actually going to allow us to cryptographically erase information that's been stolen. Alright, finally, we want to design a service that's not just for Facebook or people who have these huge security teams and they can run their own service. We want to build a modern multi-tenant web service that allows even small companies to take advantage of the system. Alright, so let's see how it works. I'm going to talk through how a PIVIA query works when a new user logs onto a website and the website's using PIVIA. So user logs are in the normal way. User name, password, send via HTTP posts protected by TLS. Web server chooses a random value. We'll call that value T. This is going to be a user writing. He then takes that password and passes it through what's called a cryptographic blinding function. Think about this as encryption. It actually is. It's key homomorphic encryption. We'll get into the details later. But just know that this protects the password. Web server sends a query. The query has these components. It has the web server's ID. It has the user's ID. It has a blinded password and a cryptid password. A PIVIA server pours the key out of a database that key is associated with only this web server. It then applies a cryptographic PRF, a keyed PRF with that key and uses those inputs, the user ID and the blinded password. We'll call that result Y that result gets sent back to the web server. The web server then applies the unblinding function. And then stores those. We call the unblinded value, the final value, the protected password. Think about this as the same output from the Facebook algorithm when you've applied S-crypt and a bunch of other deprecated hash functions. And then of course when the user logs in, web server does the same thing again. Produces a new value Z prime. If the new value matches the date of the database, the password is the same. If it doesn't match, it's the wrong password. All right. Let's talk about how Compromise Recovery works. So let's say a attacker breaks in, steals a copy in the database. Well this web server is in a better position because the attacker can't do offline dictionary attacks without that key. Now he does have enough information to do online accounts, online attacks. But notice that the API has changed. The API requires the requester to specify the user ID. If you specify the wrong user ID, you get the wrong result and your guesses aren't going to work. This means the Pythia server can now tell if you're getting 10,000 requests for a single user account and it can do something, right? It can throttle requests, can lock accounts. It can send out alerts to SysAdmin to say, hey, someone else has your password database. All right. So Admin goes in, he cleans up his SQL injection. And instead of the normal process of email all your users, tell them they're screwed, they have to go change their Instagram passwords even though you're not Instagram. Instead he does something different. He contacts the Pythia server and says, hey, I need to do a key rotation. I need a new key. Pythia server generates a new key and sends to the web server. We'll call it update token. And this update token allows the web server to update the existing protected passwords from the old key to the new key. And the important thing is here, the web server doesn't have to know the original password. I don't wait for the user to log in. I can do this whenever I want. And also, the underlying password hasn't changed. We're just changing the key that's being used to protect that password. All right. The web server finishes updating his database to make sure it works. Contacts the Pythia server and tells them I'm done, erase the old key. If that key is gone and there's no copy of that key in anywhere else in the HSM or anywhere else in the memory, that password database is useless, right? It's based on encrypted values for which there is no key. So even if you break into the Pythia server, if the key is gone, you don't have enough information to cover those passwords. We say that password database is cryptographically erased. You now have a big blob of useless data and some user names and user IDs. Okay. So there may be some cryptographers in the audience. Even if you're not, we're going to talk about the properties that we need to build this kind of a service. So we need a scheme that's going to be deterministic. Even the same key, same user ID, same password, needs to produce the same result every time. That's how we know if we got the password correct. We need a scheme that's pseudo-random. And really by that, I mean passwords should look like random numbers. They shouldn't leak, sorry, protected passwords should look like random numbers. They shouldn't leak anything about them. We need this weird property. It's like partial message privacy. I want to hide the password, but I want to require you to specify in the clear the correct user ID. And finally, we need key rotation. Hopefully it's obvious how very powerful that is to operators. Okay, so when we started doing this work in 2014, we looked around at existing schemes. There's things like pseudo-random functions like HMAC. There's oblivious pseudo-random functions. Partially blind signatures. Let's give you this kind of partial message privacy.  But in 2014, at least, when we were working on this, actually 2015 we were working on this, there actually was no scheme that provided all four of these properties simultaneously. So we, uh, the authors of Pythia, we had to invent a new scheme. We called it a partially oblivious PRF. It's a sexy name, right? Forgive me, I'm a cryptographer, I'm not a marketer. All right, so let's go through, let me give you a high level intuition about how we're going to build such a scheme. So, how do you build an oblivious PRF? Well, the first thing we need is a secure, uh, a secure reversible blinding function. So I can apply some function, some blinding function usually with some random input. Think of that as like a key. And of course, if I apply the un-blinding function, that should give me the original value back. Now I need a secure reversible blinding function that commutes mathematically with a pseudo-random function. And by that I mean, if I blind the password and apply the pseudo-random function, it's the same as if I were to do it in the opposite order. I applied the pseudo-random function first and then blinded it. If I have these three things, I can build an oblivious PRF. So I blind a password, the client blinds the password, sends it to the server. Server has the key, applies the key pseudo-random function to the blinded input. Sends it back to the client, the client applies the un-blinding function, right? And then it should be clear that we can rewrite it like this, and hopefully then it's still clear that un-blinding cancels out. At the end of the protocol, the client who initiated the protocol learns the output of a key pseudo-random function of a password, but he doesn't learn the key. And on the server side, the server side can apply the key, but never sees the password. Okay, so that's an oblivious PRF. Uh, math warning, I have one slide of math. So for those of you who need to check your email and don't like math, go into it. For those of you like math, sorry it's only one slide. Alright, so here's our partial oblivious PRF construction. There have actually been sort of a number of similar constructions in the academic literature since, but this is my talk, so screw you guys, I'm presenting mine. Alright, so we need to use something called a bilinear pairing. And by that I mean three elliptic curves, we'll call them G1, G2, and GT, and a function that takes inputs from two and maps them into the third. And this function has this property. If I take A to the power x, B to the power y, run them through the blinding function, it should be the same as if I were to send A and B through the blinding function and raise that to the power x, y. Okay, with this we can now build our Pythia protocol. It works like this. The web server hashes a password turns it into a group element, an elliptic curve element, raises the power of r where r is just some random integer. This is a blinding function and this is really strong. It's got information theoretic security. Okay, so here's our blinding function. Send those values to the Pythia server. Pythia server then hashes the user ID, passes the user ID and the value x through the pairing function, raises the whole thing to the power of k. That's our keyed pseudo random function. The unblinding function is then I compute the inverse of r and I raise the whole thing to the power of r. If I write it out it looks like this. And then, hopefully it's clear that you can see that the blinding factor and the unblinding factor cancel out and what I'm left with is hash of the user ID, hash of the password, pass the repairing function, raise the power of a key k. And this thing is deterministic right? The same inputs it always produces the same outputs. Okay, the rest of you guys who don't like math and are busy checking email you can wake up. All right, so that was a deep dive. Let's pop up to the high level and let's talk about what this construction gives us. On the Pythia side, using this construction means the service has enough information to detect online attacks. You have to specify the user ID and you have to be right about it. Can't play shenanigans with it because if you specify the wrong user ID you get the wrong output every time. But importantly he can apply the pseudo random function never learns anything about the password. On the web server side he can compute through this protocol this keyed pseudo random function but he never sees the key. This is key because if you break into the web server, you scrape memory, you steal the disk, you know everything the web server knows and if the web server has the key anywhere then the attacker probably has the key too. All right, so our goal was to, as an academic my goal was to publish this paper but now our goal is to kind of get this into the world and get people to use it. And so a company called Virgil Security has built sort of our production grade, not sort of, it built a production grade version of Pythia that's way better than my research prototype. You can find out more about it this website, Pythia.VirgilSecurity.com. They have a full open source implementation, you can get hub, the code is very good. And I'm going to give you a demo of this. If anyone is brave enough and has goaling on your computer you can follow along in this demo. And I promise that there's no shady stuff in this code. I've never looked at the code but I promise that there's no shady stuff in it. Okay, what I'm doing is downloading via goaling, I'm downloading the package for this sort of demo version of Pythia Client but it hits a real live Pythia server and it's running the Pythia protocol. And now I'm going to set up a client ID. So all I'm doing here is choosing a random ID and this is going to be my web server ID. This is my random web server ID. So there it is, very exciting. So here's the tool. It's designed to be very simple obviously, right? You can get help, you can protect a password and you can check a password, right? This is really all we need to do. Okay, so what I've done is said I want to protect a password. Here's the username, of course my voice is my passport and then it's hard to see but I've redirected the output to a file. And what the client is doing is exposing the standard error, a little bit of demo information so we kind of get some idea of what's happening, right? So the first value is that blinded password that we talked about. This is the response we get back from the server, at least the first part of it, the response we get back from the server and the finally is the de-blinded value of the protected password. Okay, so here's my protected password. It's not obvious but this first part here should match. It's possible I use the one file here. But the first part is a password and the second part is zero knowledge proof and some other fancy information which I totally skipped over because we don't really have time to cover that stuff. But essentially this is the protected password. Big surprise, password matches. All right, so now let's insert an error. Let's say your voice is my password. Okay, password does match, right? Big surprise. All right, so let's do this a bunch of times. Right, if the pithiest server has some policy on it we should only get a certain number of these queries before we get some kind of response. Okay, so there we go. So the pithiest server is monitoring these inbound user IDs and after you get say 10 or so checks they put a throttle on and they say, okay great, you have to wait 60 seconds or so, right? This is a very sort of simple policy that allows us to quickly slow down any kind of online attacks. All right, so that's the totality of the demo. Let's go back and talk a little bit more. Okay, so that's how it works. There's some deep theory going on in there. There's a very cool very simple interface to use it but let's talk about performance, right? So if both the pithiest server and the web server are on the same local error network and that's important because then network latency sort of doesn't factor into these numbers then one can execute a pithiest query in about five milliseconds, right? So you're probably thinking, what does that mean, right? So let me give you some context. If you're following the latest guidelines from NIST which is to use say shot 256 hash, not say, it is to use shot 256 hashing with at least 10,000 iterations on the same hardware that takes nine milliseconds. If you're using an even fancier function, B-crypt is one, S-crypt is another. Let me give you an example, B-crypt set with a work factor of 11 which is kind of a popular setting for obvious reasons, takes about seven milliseconds, right? So pithia today is already faster than the current versions and you get things like protection from online attacks and key rotation. And I want to point out that as computers get faster, we actually make B-crypt slower, right? Because as GPUs get faster, we're processing these things on CPUs, so we keep turning up the work factor, so seven milliseconds is kind of like the least amount of processing time, but as CPUs get faster, pithia just gets faster, right? So we're already ahead of these faster protection mechanisms and pithia is going to continue to outpace them. Some of the notes about performance, on the 8 core machine that we tested in EC2, a pithia server, a single pithia server, they have about 1300 queries per second. If you do more queries per second, you throw more iron at the problem, right? You put a load balance here and a couple more servers. Storage is excellent for a pithia server, right? Pithia server doesn't store information about users, it stores information about web servers, right? So let me give you an example. If a pithia server is serving 100 million web servers, each of those web servers with an arbitrary number of clients say 100 million clients, pithia server needs about 20 gigabytes, right? That's enough information to store keys for individual web servers and a little bit of extra information for rate limiting. Then information is ephemeral. All of this is to say we can deploy pithia today on standard hardware. Alright, so most of this talk has been about web servers, that's kind of a very compelling use for pithia, but really pithia is really good whenever you have a password and a network connection and also like pithia. So let me give you two more examples just at a high level. First is file encryption, right? Commonly today you log into a MacBook or a Windows machine, you type in a password, it grinds away on your password, uses that for a key. That's good unless you lose your password and you're worried that someone's going to crack it. Now, if it only has like say your Instagram photos on there, that's not a big deal, but it's got like client data, health information, financial records that might not be pithia, use it to generate a hardened password and then use that for an encryption key. And then if you lose your device or say the FBI takes it, if you can get to the pithia server and say, hey, I lost my device, will you please delete that key? That means you can actually cryptographically erase that device, even if that device is offline or powered off, right? Because it needs a key and that key is not on that device. Alright, so the last sort of compelling use is something called a Bitcoin brain wallet, right? So Bitcoins are very valuable, sorry Bitcoin wallets tend to be very valuable because of the sort of skyrocketing price of these things. And then there's a question of like sort of how do you protect this digital asset, right? So you can imagine I could take generate a very complex password, run it through S-crypt, make it grind away for a long time and just hope that somebody else out there doesn't grind away harder and find my password in the blockchain. You can imagine using pithia for this, right?  Okay, so let's wrap this up. Password storage is broken because databases are routinely compromised and when they are using current techniques there's no way to prevent offline dictionary attacks. But what I presented today is a new solution, an architecture for protecting passwords built around the pithia PRF. And pithia's design is a modern web service. It lets clients of this service inherit the security of the service provider without just handing over sensitive information to the service provider and just hoping for the best. And with that, thank you and I'd love to hear any questions.


In this module we will again talk about the medium sterilization, but actually in this module we will take, we will talk about the rapid method for the designing of the sterilization cycle following by the Richard methods. So, as concern the Richard 1968 he proposed a rapid method for the designing of the sterilization cycle avoiding the time consuming graphical integration as we have seen ever our previous module. So, the method assumes that all this pore destruction occur at the temperature above 100 degree Celsius and that those part of the heating and the cooling cycle that is above 100 degree Celsius are linear. So, when we go beyond 100 degree Celsius it mean the destruction is linear. So, the both these assumptions reasonably valid and the technique loses very little in accuracy and gain considerably in simplicity. Furthermore, based upon these assumptions Richard has presented a table of the del factors for Bacillus stereothermophilus pores which could be obtained in heating and cooling a broth up to and down from the holding temperature. If we say that the holding temperature is 101 to 130 degree Celsius based upon the temperature change 1 degree Celsius per minute. I mean when we go beyond 100 to 130 as we have discussed in later modules in our previous module about that 30 is the suitable number to increase the temperature. So, if we go and rise the temperature from 100 degree Celsius to 130 degree Celsius overall there is a 30 increment and per minute rise is 1 degree Celsius then this information is also we can see in our next when we know that the specific death rate for Bacillus stereothermophilus pores are different temperature ranges. So, in this table we can see that this is the temperature if we go increasing the temperature from 100 to 130 just by increasing the 1 and the specific death rate is you can we can see here that 0.019 and then 0.02125 and 0.032, 0.04 and so on and then when we calculate the del factor. So, there is also a gradually increase in the del factors. So, if we go from 100 degree Celsius to 115 degree Celsius the rise in the specific death rate from 0.019 to 0.666 as concerned the del factors you can see here that 0.044 in case of 101 and 3.154 in case of a temperature when there is a 115. So, when we go from 160 to 130. So, the specific death rate gradually increase and maximum reached up to 17.524 as concerned the del factors we can see here that that rises up to 90.591 mostly when we say that in autoclave process when the temperature is mostly kept at 121 degree Celsius then the death rate is 2.538 at that time the del factor is 12.549 just keep in mind this situation when the temperature is 121 degree Celsius and specific death rate which we called as K and this is the temperature and this is the delta factor. So, if we just focus on this then we can easily understand the next. So, the rate of temperature change from 1 degree per minute the del factor of heating and cooling as we seen that directly from the table. So, the temperature change deviate from 1 degree per minute. So, the del factor may be altered by the simple promotion. So, as the temperature increase del factor also increase with some specific proportion. So, if you take an example that if the fermentation growth were heated from 100 degree Celsius as I have already pointed out that try to focus on 121 degree Celsius. So, if we say that 100 degree Celsius to 1 day in 30 minute and the cooling from 121 to in 17 minute. So, the rise in temperature in temperature takes more time rather to be the cooling in just an example. So, if the rise time is 30 minute and the down and cooling time in 17 minute. So, then the del factor for heating and cooling cycle may be determined by this. So, from the table as we have seen if the change in the temperature has been 1 degree per minute then the del factor for both heating and cooling cycles as we have seen that when we talking about the 121 degree Celsius from the table then the del factor was 12.549. But the temperature change in the heating cycle was 21 degree in 30 minutes. So, therefore, the del heating this is the del factor multiply by the time need utilize to raise the temperature up to 120 degree Celsius this is the term basically to 121 degree Celsius. So, in 30 minute the overall rise in the temperature in 21 degree. So, just by dividing this 21 degree then the del factor of heating actually is 17.93 by the same case when we are talking about the del cooling. So, as we seen in our previous example if the rising time from 100 degree Celsius to 121 degree is 30 minute and if we say that the cooling time is 17 minute. So, the cooling from 121 degree Celsius to 100 degree Celsius and the cooling time is 17 minute then the del factor easily. So, the del factor at 121 degree Celsius multiply by the time and then the overall decrease in the temperature then 10.16 is actually the del factor for the cooling cycle. So, having calculated the del factor for heating in the cooling periods the holding time at constant temperature may be calculated as we have discussed in this modules. So, by this way when we kept the temperature constant then we can calculate the increase and the decreasing temperature mean the heating and the cooling del factors.


So, thank you for being here. My name is Guilherme, and I'm representing QCCS, the Quiet Universal Circuit Simulator. As I know, the first name was actually QT, from the QT framework, but they got a message that, well, it's not related to QT, please change the name, so they changed to Quiet Universal Circuit Simulator. So, my talk is about an overview and the status of the development and some remarks, and if time allows, I will show you some short demo of what the tool is about. So, the project started in 2003. It was created in T.U. Berlin by Michael Magraff and Stefan Jan. The first one created the user interface. The second one created the solver or the engine. It was from the beginning, GPIO 2+. To date, it has more than 20 contributors. It's translated into about 20 languages. It's cross-platform, and the user base is varied. It's from education, from researchers, hobbits, and even the industry. You have some stats here for the website that was there from 2005. Number of downloads. This is from Sourceforge, where the code is hosted since the beginning. The binary is in the source, the tar balls. On the graph below, we have the account for Windows binaries that were released 13 days ago. So, we have roughly 400, 300 downloads weekly for this part with the Windows binary. I mentioned that the original creators, they are no longer active on the project. Around 2011, 2012, they dropped the project, so it went orphaned, and the community adopted it. The main features. It's basically a schematic capture, a simulator, and it has data visualization built in. It has an equation system for pre- and post-processing of the signals. It has a component library, which is also parameterized with common components. It has also design and synthesis tools. For modeling, if you want to write models, it has some features to import. It's quite limited on the constructs that it can handle. It has a built-in component that's called Equation Define Device, which is quite powerful because you can really rewrite the equations for, say, a transistor model in this kind of even graphical fashion, which is quite handy for development. It also has a very low-gay model builder or loader, and it has some post-processing capability that you can export data in NuCap or Python or Octave. The dependencies that we have, it's C++, Qt4. We're still struggling to remove Qt3 from the source, but we are working on that. It builds with AutoTools and CMake and GIPR for the simulator, and the parsers are also written in FlexBison. We depend on ADMS for the VeryLogA part, and the documentation, most of it is written in LaTeX. There is some experimental work, or I would say external work that's not in the mainline, which is this fork. It's called QXS, which is by Vadim Kuznetsov and Mike Brinson, the first one from Russia, the second one from the UK, which is a pretty full-featured spice front-end based on the QX schematic capture. It can work with NG Spice, Zeiss and Spiceopus. They made up VeryLogA generators that work with these Equation Define devices that you can make your device graphically and then generate a VeryLogA code. They also made recently some extensions for X Spice, so they can also, in a similar fashion, make C code that can be linked into NG Spice, for instance, and Spiceopus, I guess. The previous speaker, Felix, mentioned Gnuk Satter, which is one effort that he started to make a replacement engine based on Gnukap for QX Satter. There is also an effort that we saw this year. This user, he has a tool that translates into G-Schem, and he managed to import the schematics from QX into a G-Schem, so that's interesting. For support for the project, we have the main website. At the moment, we have account six active maintainers or developers. It's me. It's Claudio. That's Nitaly. Vadim in Russia. Felix, that's here. That's located in UK now, but from Germany. Andres, that's in Spain. And Mike Brinson, that's in UK. I think it's a quite good documentation, especially the tutorials and the technical manual. You can find on the website. They are very well written and cover quite a lot of ground. We have, yeah, a tradition. We have most things on SourceForge, for example, the binaries. We have the Git repository, but we are gradually phasing it out in favor of GitHub. We still have the issue tracker enabled there. And the form is sometimes active, and the mailing list is also hosted there. On GitHub, most of the work is happening there now, and most of the issues are also there. We ported the wiki from SourceForge when it was disabled into GitHub, and from there, we also enable continuous integration with Travis and Upvail for Linux, OS X, and Windows. So if you look into the package, what kind of tools do you have there? As graphical interface, you have Qt, which is the schematic capture, and then you have design tools or helpers that is for active filter attenuators, passive attenuators. It has a beauty editor that we are phasing out as well. It has a tool for developing passive filters. There is a small help tool that's being also phased out in favor of read the docs documentation online. There is a matching tool. There is the library, and there is a small resistor to color conversion codes that's useful for students. And there is also transmission line calculator. In Tota, we have, now it's less, but it was 170 components. We removed some non-GPL components recently, but we are adding new components for RF, so the count is about the same. From the common line, you can access Qt, which is the interface, the schematics. You can use the Qxator, which is a simulator, and Qxconf, that converts between formats, also imports the spice netlist into the Qxator native netlist. And we also interface to third-party tools, like ASCO, which is an optimizer, ADMS XML, which does the Verlach A to code, or C++ conversion that we need to run the models. We can run from the schematic, Verilog, free HDL that we are working to replace by GHDL, hopefully for the next release. And there are some conversion tools from PSPies to Spice, and then you can also run, there is a dock where you can run Octave directly from the user interface, and Python is mostly script for parsing the data. I will show quickly these screenshots, but I also brought them in the end. So this is the main interface you have on the left. You can have many projects, as many projects as one. This reflects your working directory, you sync with the file system. You can have different contents for each project. And then on the right, you can have either circuits or in-line visualization, or you can have also separate tabs only for visualization. So you can make quite nice looking documents to document your simulations or models. So we have a component tab where you can drop down most of the building components. And you have libraries which are either Spice-based or parameterized, parameterization of the building components. And yeah, as I said, you can have a nice separate documentation or visualization tab for documenting, if you like, or simply to look good. A few of the tools, this is merged on the latest release. It's for developing or designing active filters. So you input the parameters and then it visualizes for you the schematic. And then on the press of calculate and copy to kilter part, you can just paste it into your schematic and have it running on the simulator. Similarly, you have these passive attenuators that there is a whole range of simulators that you can input there and get the schematic ready for simulation. We had that, which is the help, very simple, like introductory help that's now migrated to that website. This is going to be removed. Then we have also these matching ports that then you have the library where you have, you can drag and drop the components from this dialogue or from the doc that you have on the user interface. And this is the calculation from colors to value or value to colors. It was okay. Then you have transmission line calculation. There are new components that are coming on for the next release, but it has a dozen of components that can be already now used for transmission lines calculations. Then you have also the passive filters. And as I said, what can you do? You have what can you use from the common line? So the user interface can be used for generating the net list for a schematic. It can also print the schematic. And there are some comments to dump the components that we have. So this could help if you are looking to extracting the component descriptions. You can hack into that to do it. The simulator supports DC transient AC S parameter. And harmonic balance is just for resistors, capacitors and inductors at the moment. I highlighted here S parameter because this is, to my knowledge, one of the only tools that does that on the open source directly. You can do with AC simulations, but this is a built-in feature of the tool that's it's where it started also. The first comments of the simulator and the user interface were to accommodate S parameter. And the Quaxconf is a tool that converts between a few formats that I used to visualize or to convert net lists and library components. And yeah, this is a bit of the problem that we might talk later on the panel that we have custom file formats for the schematic, which is the same for the library. And also the net list and the data files. There are plain text files that are also custom. So we might work on that to collaboration. It's a bit difficult. It makes more difficult because of that. Okay, on the front of Verilag A, we had quite a lot of models. We still have quite a lot of models. However, due to licensing issues, we had to remove three of the industry standard models. They were a bit like BSD, three clause licenses which are incompatible. And we stripped them out from the repository. We are now moving them to a non-free repository. You got a bit of a backlash from the model developers, but there is nothing you can do. It's incompatible. We removed. Same thing with ADMS. There were headers that were proprietary to Accelera, which is the organization that handles the standard. So me and Felix, we stripped those headers and we rewrote new headers. And we re-licensed ADMS to as a GPL 3 plus. Considering Verilag A and QX, there is a limitation that this construct is not yet supported. But for most things, you can compile BCM6 and some other very complicated models. Okay, they run slowly because our engine is kind of slow, but it runs. And it's mostly accurate compared to commercial simulators. We might have to compare against a new cap now. And, okay, I have a demo, but I will just close this slide so I will go as time allows to the demos. These are the same demos from last year, but just for the ones that are here to get a feeling of how the tool behaves. So I have this circuit with a parameter sweep, a macro model, optimization. That's a kind of thing that would be interesting to see as an output to a layout tool because these micro strips are basically traces on a PCB or another substrate. So this is something that we could work with a layout tool to get it exported. That's quite interesting. So how you can do some Verilag and VHL simulations. And, okay, to wrap up the slides, .19 was released. Mostly bug fixing, cleanups, ongoing parting from Q3 to Q4. There is this new tool that's the main new thing that we have. We did integration, a bit of regression testing. We removed the non-GPL. We adopted a new git branching model because before that we were merging everything into master and it was kind of untidy. Now we have master only for releases and we have develop for development. And on this release cycle we closed roughly 160 issues, regressions and things like that. For the next release we coordinated a bit better the efforts and we are prioritizing some RF components and microwave components that were developed by Andres. And there is also a tuner feature that you can slide values and rerun the simulation. As I mentioned, removal of Quax editor and Qx help. We hope for a quick release, but there is also other things that are on the pipeline like Felix is implementing a way of loading similar to NuCap things into the user interface which might help us on the future. And this is the status for the development. And okay, I just put it here for the PDF. You have all the links you might want here. This is also interesting. We are now getting more and more translations on this translation platform which is nice as then helps us on localization of the tool. And the final remarks, the project as a whole aims to be very user friendly. We have advanced components and modeling features. We are open to collaboration. We hope to use more of the tools that we have available and enter into the flow of the working flow of more people. And your help is most welcome. I do have a few examples I would just show. So as I mentioned, we have this tab here with the projects. Then I have five minutes, right? Just show one example. So ideally you pick up your components from here. We have a library of components. But this is already configured. So we have on the contents this schematic. I will close this now. So yeah, this is a simple example where you can enable and disable parameters like that. So in this moment the value of this resistor is being picked up from this equation. These equations can be quite complicated. They are pre-processed and then sent to the simulator. And then you can run this NAC simulation. You get a short transcript of this over. And then just like that you can toggle that parameter into a parameter sweep and then rerun it. Then you get this visualization online here. I will show you maybe another project. This is how we skip. This is the one I mentioned about micro strips. So this is perhaps not the best frequency. This is for 10 gigahertz. But you can also do micro strips at lower frequencies that can be easily manufactured on PCBs if you want. And this is something I would like to see pushed forward on the layout side. And it's quite quick to run. So this is the SP parameters of this bandpass filter. The window. Then we have, yeah, the intention. This is a very log. It can also, so in this case we have this very log file here. And here you have the description of the very log. Then it wraps it into a test bench and it ships it to Icarus. And then you can run it. Yeah, it has some warnings because the wrapper is not properly done. But then you have the counter here. It's visualized here. I have to fix this. Never tried a small screen. And a simple example of very log A. Here we have the equations defining a resonating tank because we don't have the V assignment. We do a trick here to transform the inductor as a gerator. But that's beyond the point. And then you can basically build this model. So it's going to kick in ADMS in the background, generate C code, C++, then run the compiler. And then you can, you predefined the symbol for this text. Then you can load it. Then you can assign an icon to it. And then you can now open this schematic. Let me full screen this. So here we have the equivalent into primitives. And here you have the equivalent from the very log A. And then you can just run it. Then it runs some warnings. And yeah, it is just the error from the two curves. But this is the idea is to have a very streamlined workflow to load components into the user interface as well into the simulator. But that could be streamlined further because these manual steps, they're not necessary. As Felix showed before, we can have comments on your net list that make this machinery all into the simulator itself. So we are working to either replace that or to streamline this process. So as a closing note, QXIS is about schematic and simulation. We don't have any PCB. We don't have the concepts of footprints. So to do that, we have to interact with other projects. And if you want to see that happening, please help us. So if you have questions. So the question is, to what degree our custom net list is compatible to Spice? It's not. It's a different format altogether. Worse than that, our components are primitives of our simulator. Our components or the models are only available at the moment. Some of them are only available into QX. So if you want to run that into a Spice-like, you have to first move it, the components to a Spice engine. So it's a dual problem. It's not only the net list description but also the availability of the underlying models that are not there. So yeah. Can you work with vendor models? So the question is if you can use vendor models. That depends. If you can import Spice descriptions, sometimes you can translate into the built-in components of QX, then it works. But as long as you have more complicated Spice descriptions like those poly functions there, we don't have the conversion built-in so that will not work. So for simple models, yes. Do you have a release schedule for removing the QT? The question is if we have a schedule for removing the Q3 support. No, because we work on our free time. So the release is ready when it's ready. Not for the next release. The next release is a short one. It's mostly for merging these RF features that Andres needs for his work. So maybe for the next release, I have an experimental branch where most of these Q3 things are removed but they need work. They need work. They need fine tuning. So maybe one year. Can you repeat the question? Do you discuss those RF and microwave tools that you plan to add in the next release? So the question is what are the tools for RF and microwave that are going to be introduced on the next release? I don't know them all but I know that there is a tapered waveguide. There is a circular transmission line, a cylindrical transmission line. There are mostly new components. There are no new tools so to say but there are new components that are going to be integrated. So the question is about the micro strips. What would take it to make a transient signal integrity simulation like? Most of the RF components are only defined in frequency domain. So you would have to have some way of converting that back to time domain. So that's not there. So the question is if you extract parameters from the board. If you do as parameter extraction, you could do signal integrity analysis, for instance. If you want to evaluate the signal integrity at the pins of your chip and you do the extraction of that, you get as parameter or yeah, then you can do signal integrity on that. I saw people from history doing that. We had a request to increase the number of ports on the SP files that we could handle just to run this kind of simulation on these multi-pin chips that they're out there. Students, my main question is why would I invest time in learning kukes instead of spending time on just standard spice? What does kukes offer me that spice will not? So the question is why invest time in kukes instead of using a spice? Note that spice is the engine, right? So we have, there is a divide between the schematic entry and the engine, right? So yeah, if you want to really, that's also a problem for me.  So at the moment we are working together to be able to port one schematic to one project or another as it should be, right? But what can I say? If you need the tools that we have, maybe other tools don't have it. Like the modeling capabilities that we have, for research it's interesting. So as a hobbyist that you need to get the models from the internet, maybe it's not the best use case. We run out of time but I think this will be a subject of discussion in the discussion session after the next talk. So thank you again.


Alright I'm here with Faye and Sebastian and Vila in Stockholm in Sweden and Spurs got three points today. Yeah we're talking, he's talking about my football team, so this is a cool area of Stockholm but it's a bit quiet now because it's a Sunday night and Faye we've had a big night tonight haven't we? And how much? Big night out. Massive night out. We've had Swedish meatballs, we've had fish and we've had water and we also had ice cream. That's right we did. It's a perfect night. Perfect night. What more can a girl ask for? That's right. Well I don't know, what else did you do? I don't know, I don't know. I have no idea. I have no idea. I have no idea. I have no idea. I have no idea. I have no idea. I have no idea. I have no idea. I have no idea. Massive fat, yeah. Massive fat. We're talking football here, the Americans don't understand any of this stuff. What about Christian Ericsson? I love Christian Ericsson. He's the best player in Spurs. That's right, he's Swedish right? He's Danish. He's Danish. Oh is he Danish? Yeah but that's sort of the same thing. I'm just getting ideas where the scenes are. Here's some locals having a good time and we're going into Sturigallarien, I think it's the name of the place here. What do I got to do? Show my ID. I think they want to see the ID here. I don't think they need to see your ID. No? Why not? I don't need it? How come I don't get to show my ID? I don't understand. Sad face. Does it because I look old? I feel like I almost forced him to look at my ID. Is it because I look older? Yeah it is. Yeah it is. I went to summer ones and I went to the train and I was 25 and then I just said that the guard at the front door told me to take it cool tonight. Take it cool tonight. Take it cool. No let's just go here. Okay. And then I went on the train. Good music. I went on the train and this woman asked me how old are you? No I'm having a water see. How do you water? This is how I roll. I go out in Stockholm and I order waters all night. Where are you Kate? Water. So here you go. The cool kids are drinking water here. This is the way we have looked at how healthy our skin is.  They're aged before that time. Hey sing us something Kate. This is what happens when you drink. Sing us a little ditty. Sing us a little tune. No. Do it. Just give us one. Just give us a sound of your voice. Just sing one little thing. Sing me a song. Go. One. Two. Three. Go. I was trying to make you do that. No. She doesn't perform on command. What are you ordering? I'm ordering two beers and two waters. So how much does the beer cost here in Stockholm? Two thousand dollars. I'm thinking it's about ten dollars a beer. Ten dollars a beer I think. You tried everything but you won't let go. There you go. She just needed a little bit of warming up. She just needed a bit of warming up but she didn't. Check her out. Bay. Bay Mendelssohn. She's got an amazing voice. About to blow up. So anyway how much does this cost? Probably about ten dollars a beer. Okay. And how many beers would you have on one night out? Maybe ten. Maybe ten. So you're spending about a hundred dollars? Yeah on a bad night I think. If it's a night I regret the morning afterwards. It's probably about ten beers a night. So about a hundred dollars? Yeah. Is it worth it? Yeah. How come? What do you like about it?   I would say. Do you think it's possible that I could have a fun night without drinking beer? Yeah because you probably experienced that. You were very certain. You sounded very experienced when you said I'm only having water. Yeah so the way I delivered it when I said I only drink water made me seem that I had a very strong conviction. You know what you were doing. So you didn't feel like I was embarrassed by the fact that I was not drinking. Not embarrassed but not uncertain. You were a pro. So there you go. All you have to do is just be certain about it. Be confident. See no one cares. Do these guys care that I'm not drinking? They don't care. Do you care? I don't care. Cheers. How are your water? Thank you sir. Appreciate it. Oh this is Swedish water as well. The cool kids. The cool kids James and Faye are on the waters. The cool kids but not as cool. Sebastian and Villa are on the beers. They're on the beer tree. We've spent zero dollars. These guys will be on about a hundred bucks by the end of the night. That's alright. Cheers. Cheers. It's gone. It's gone. There you go. Say hello. It's on beer for you. I can take a picture of you guys. I can take a picture of you guys. Swedish girls always so helpful. Yeah. We're great people. This is a video. I see that actually. I can take a picture of you guys if you want. You guys are so happy. Thank you. We're okay though. We're all so happy. We're all so happy here in Stockholm, Sweden. Cheers one with podcasts. There you go. There you go. Cheers. Cheers. Subscribe. Subscribe. Subscribe. Subscribe. Subscribe.


there are fresh agitations over the zoning formula proposed or proposed by the governor of why he led people's democratic party zoning committee. Now reports are telling us that while the party members in the north are yet to agree on which zone should produce the next national chairman, the predominant opinion favors the north central.  Felly, rwy'n meddwl am y cyfrifeddau. Mae'r cyfrifeddau sy'n gweithio ar y gweithio yma yn ei ddweud yn y cyfrifeddau. Ac mae'n meddwl am yma yn ei ddweud yma. Mae'n meddwl am y cyfrifeddau ac mae'n meddwl am y cyfrifeddau. but then, certain people in the north are saying that they want it to be thrown open so that anybody can decide to be the chairman of the party. But again, we also understand that within the party manifesto, there are rules. If a person from a particular zone is the party chairman, then of course automatically the presidential tickets can not also come from a similar zone. Am I right? Maen nhw'n gweithio?  Yes, what you see playing out initially when the section of the PPP pushed to remove the conduct is over the presidential elections in 2023, a section of the party desires of shifting the term hardship to the not on purpose so that they could present a candidate from the party. While that push was going on, knowing that the condos would not bow out easily, it was very important for them to ensure that whether the condos leaves or not, they then have to do it again and resolve the party's term hardship to the not. Again, against the currency of what is going on within the country, the PPP again resolved the term hardship back from the south to the north. After doing that, we now have, we thought is all set to, but until when the not on government met with their emir, and took a decision that the south will not necessarily have the ticket, and also they would have a field in not on candidate. We believe that the majority of the board that will be cast in the party will be in favor of the candidate from the north. Of course, this is not acceptable to the other party within the PPP, so invariably many persons will be over that. So given the situation currently, what they are trying to do is to figure out how to manage the price by throwing up the tickets open, either for the chairmanty or the presidential candidate, hoping that at the end of the day the north will favor a south candidate to emerge as a candidate in order to ensure that a not on a margin are the candidates of the PPP. You and I know who the not on a E, but there is a bigger problem, which is the cohesion and the unified position of the south and government, if they should insist that a sub-economy comes from the south, then we are heading for a new job right now. The same thing is played itself out in a way in the 80s, where some of the governors are already saying, particularly from the north, that it is not yet given that a south candidate will emerge as a candidate. So what is playing out in PPP at a higher level is more intense than the prices within the UPP. Obviously, they have not been able to manage that. They have already created a factual life party by ensuring that two shaman ship candidates are floating somewhere, hoping that the cost will eventually be covered. For PPPs as it may, what is clear is that it is zoning or whoever will emerge as a presidential candidate, not that it is in convention. And those who are insisting that it has to come from the south are very active within the party. They have asked some of the governors, including Wiki, saying that they don't even know how to campaign for a north candidate to sell a north candidate after a boy to their own voters. And don't forget, PPP has a zoning formula. They've always been with each other, so it will be very strange if they depart from that. Well, when you look at the currency of thinking within the country and the sharp division within the country, what would have expected that the north hand government will settle for a far-time presidential candidate? Well, it remains to be seen whichever way it should go. I spoke with the Deputy National Publicities Secretary for the PDP last week, and he did say that the governors, the southern governors, do not necessarily have a right to dictate to the party where they would want to zone the presidential ticket to. That, of course, that naturally they have the rights of say, but they do not necessarily or cannot, in fact, if I'm quoting him directly, twist, untwist the party to change things in their favor. But you're saying that these people are very influential as to their stance and what they're asking for. But he, on the other hand, is saying that these governors do not have that kind of right. Again, he pointed to the fact that these southern governors were not only from the PDP, but they were also from the APC. So for him, he said, it was just the mere sentiments that they were expressing. But you're saying that this is a very good stand and it might have an effect of sorts on the party's decision later on. Well, whether the southern governors have a right to demand or not, whether the northern governors are right to say that well, they need to lobby not to demand that the south should present the next presidential candidate. The fact of the matter is, what's on the ground in the country is that the country is so badly designed there along the north and south lines, which is the fourth fourth line. You also have a second fourth line, which is middle belt north north north north north north. So the northern governors cannot assume that when it comes to voting or hitting candidates, they are bound to have them in the pipeline. I doubt that. I cannot see how autumn, given the position he has made very clear, would go along with the voting for the northern presidential candidate. As a matter of fact, middle belt is also mostly not the waters by demanding that the middle belt has the right to present the presidential candidate. But they are considering that to the south, that after the south, they should be the next one to go. So I think some of the northern governors are also very apprehensive. Even what has happened under Boris Johnson, where ethnic division became so prominent to the extent that people are now agitating for suppression. So they are also anxious about what will be the fate of the country and their region in the contentious way. Don't forget, the issue of the VAT is also their understanding, which in any case will make fiscal federalising a reality. And because of that, in many states where they are not thought, they will not be able to pay their bills. So given that situation, they would rather have a strong way, they have a presidential candidate from the north who is able to act as an leverage that will enable them to maintain the system or negotiate a new VAT theory, which cannot be submitted to the Supreme Court as a consent judgment. So these are the issues at play currently. And in closing, because we're almost out of time, there are certain people whose names have been thrown up in the midst of these agitations within the PDP. The likes of the former Senate President, David Mark, Senator Tunde Weha, former governors of Kogi State, Idris Wada, Ibrahim Idris, and of course, Professor Jerry Ganna and former Niger State governor Babangkida Aliyu. And as you see, that list probably teals to a certain part of the country. But from the analysis that you've given, which person, I mean, we're not speaking for the PDP, but from an outsider's view, who's more viable or more of a person that would be picked, a better pick for that chairmanship position? For the chairmanship position. Yes. Well, this is very clear. There are so many, not others, also ancient for the chairmanship position, knowing that it will automatically mean the presidential candidate will be zoned to the south. Some of them are designed to reality. They know that, look, when the issues are put on the table, eventually the moral way and the argument based on the PDP constitution will ensure that the presidential candidate comes from the south. So there are also two things along that line for that very position. The position of the chairman is so powerful. He's the one to style the papers and forward the candidates, you know, to mine it. And they're fully aware of that. So given that situation, they're likely going to see the interpretation of the battle on two fronts. One, the agitation, you know, to ensure that in Osana or in South Osana, you know, the terms of the presidential candidates is the one part. For the chairmanship also is not good to the left. Just like that. There will be other concerning parties that will come out from the north. If you notice so many people in the south, things not to be interested in the chairmanship of PDP. It's only one format of law that brings out, you know, as a possible candidate. For so far, he has not indicated any interest in it. And therefore, one can safely conclude that the decision to pick the chairmanship for PDP would really fall on the north. I cannot see anything happening on that. Because when it comes to voting, we are likely going to have the southern delegates actually voting for the candidates from the north and the German authorities. So it's a kind of eye-wire politics which they are hopefully in. Many of the key actors, like Obrehar, like Edith Bach, they are also from the middle class. They are not happy about what is going on, but they have not said anything over the years, you know, about the division, the problem between the middle class and the corner. So I guess we're going to keep our fingers crossed to see what happens in the coming days. Beg yw'r pattyn? I guess we'll keep our fingers crossed to see what happens in the coming days. Absolutely. So it just begins to be saying, where to keep all folding up things to go wrong. Okay. Well, I want to say thank you. Be able to show me as a political analyst. Thank you so much for speaking with us. We appreciate it. Thank you. I want to say thank you to everyone who's been a part of the conversation. We will take a quick breakdown to hear what Nigerians believe. The region where Nigerians think the party ticket should be zoned to, of course, we're talking about the presidential ticket here. When we come back, I'll be saying my goodbytes. Right now to me I have no any choice, but I need a good person to be lead by us. Honestly, sincerely speaking, as a good citizen of this country, I think the next presidential come from the south. Although I'm from west, you understand. But I think the south deserve to lead us. We don't know what will happen. So I think we should give them a chance. Let's come from the south, because the Nordiners have dominated Nigeria for a while. And we are not seeing the impact of them. So I don't want to, let's try another way and see how it goes. It doesn't matter where the president actually comes from, but what matters is what is being done in the country. The provisions, the empowerment and the provision of jobs for the youth and everything. So whether you're from the north or south of the east, it doesn't matter as long as you provide what needs to be done in the country. What matters is the person that will take Nigeria to a greater level. No matter the zone it comes from, whether from the north, south, east. So what is the matter? Another thing is we are tired of this old man. We need youth. It's not as south as it's supposed to be. Maybe that's how it can be Igbo, it can be Yoruba, but it's supposed to be south. Now this turn around, 2023, it's supposed to be south. To me, I prefer from the south because the power has been given to them. I think for the past eight years or there about, Nigeria have not really achieved anything. So we want the president that will know that, let me fight for Nigerians and this is what Nigerians are passing through. For example, the sake of the kidnappers and all, the president is there and he's from the north. He has not done anything because I need this. So that's the reason why I said the president should come from the south. Well that's the show for tonight. Let's keep our fingers crossed and see how events unfold within our major political parties as we look to 2023. I am Mary Annacole. Have a good evening.


Girls Hoops number seven in class A Big Fork at Deer River tonight first half all Huskies Brianna Haley spots up the top of the key and buries the three they're up by 16 and later Desiree Cobra misses but Haley Grover there for the rebound and put back that'll stretch the lead to 18 and they get it done defensively forced the turnover in transition Lexi Becker finds Kia Tower for the easy bucket all big for tonight on the road they go on to win by four if you enjoyed this segment of Lakeland news please consider making a tax deductible contribution to Lakeland PBS