She's so humble to stand up in front of the staff and help plan Pro-D. There's a lot of people looking to you to lead. That took quite a lot of courage. She has a very strong future. She will bring people together. She does things that inspire others. She makes us all want to do a better job. She'll go far. Eventually, I'm hoping she'll take over what I do in time. It feels weird because I'm getting nominated for this award, but the reason why I even get to do stuff like that is because I have such an amazing group of people that I work with at the school. Continuing to try new things and learn new things from other people I think is very important and I value always continuing to learn. I love my relationship with my students. When you have that genuine connection with someone and you get to see it one-on-one with a kid and it just shines out, you're just like, wow, this is what it's for.


Welcome to our box. Come on in So we're here at our tourdex headquarter in Lausanne, Switzerland And I really wanted to show you a little bit around a what we have going on and also show you our new location So first of all just want to quickly say hi to Tori. He's our mascot usually stays with us and dresses up for the occasion He's still in summer mode, but let's walk through and I'll show you a little bit how we have everything organized here Come on in So first I want to quickly talk a little bit about how our office layout is organized So we can start with sales here all the way on top. These are the people who talk to our customers It's very important for us that we're in direct contact with most of our customers and Then furthermore also product management right next to sales. It's important So we get that customer feedback back to our R&D teams But really let's walk down and we talk a little bit about how we develop our products so in here you're coming into our R&D area and Similar to The entrance in the sales we have this organized in different departments So we basically start up here with our software integration and test automation team and if we walk down We just kind of go down and we'll come back here So no worries we get time to talk to some more people our Linux engineering and Verizon core software development teams are here and If we go further down it gets interesting you'll see some hardware So here is where we design and test and validate all our hardware. So first I Want to show you a little bit what's going on under the hood to actually develop an embedded product and for that We're gonna be talking to Peter Hey Peter So here we're just gonna look a little bit what it actually means under the hood to design a product So for that Peter is really the best guy to do that life for you So I'll be handing over to Peter and he can walk you through a little bit. So what do we see here? Well, we see one of our designs here so the goal of Toradex is of course to make sure that the complexity of our modules Is on us and not on the customer. So when you look at this is one of our modules. It's the Apollis IMX 8m 8 quad max and It's one of the most Complex designs we have done so far and I'm really proud of it because I was working in the team which was developing this module here and Yeah, what I have here in the back is actually the design of that module and I have now enabled All the layers of the module. It's a 14 layer board so It looks quite complex but what I can do is I can actually only show single layers. So what we see here is the What is going on on the top? But the complexity is actually in the middle because the really complex part about this module is Not all the truth or to make sure that all the signals are connected correctly It is mainly to deliver all the power that the module needs When you look at the module, there's so many buck converters in here on this model. So we have one PIMIC here, which has a Lot of buck converters here, but we have on the flip side We had another one which has a lot of buck converters and that is kind of the challenging thing on on that board and I can show Shortly how it looks like in the inside here because I have the design open here So we are here on the top layer then we go in that we have ground on the next layer Then we have some signals, especially some high-speed signals here, which are rooted impedance controlled Make sure that all the signals are arriving at the correct timing For the RAM here, for example, then we have some more signals Then we have ground here and then it's really coming in the power So to deliver all this power into the into the SOC is kind of the challenging thing So that's why we have not only one layer of power. We have actually four layers of power on this this module Until we go back to ground again some signals some signals ground Until we are on the back of the module here. So what what does a customer able to see? Do you have like a special way they can? They can they can see all this or they get the files or not on the module itself I mean, that's our our IP. So what the customer does is They're doing our their carrier boards So the idea is that you take the module put it into it to the carrier board and you have the full system So we are not only developing the the module. We also developing some carrier boards some reference designs here like this one here and That is the boards that you see now here and again on that board I have enabled right now all the layers So you see all the layers that board has and that board only has six layers So it's not even half of of the layers that the module has Because we take all the complexity on to the module so the customer can build its carrier board On an easier way. So when when you look at this one here, I'm again, you can just show The individual layer so that is top layer pretty easy Then we have an internal layer then we have some power here It's also way way easier and we have the bottom layer Here on that one and the cool thing is here We provide the full 3d model or the full design including 3d models To our customers of these boards. So Yeah, that's what our customers are getting and then they can use it for creating their own Designs. So what is a customer experience, but your whole platform here? So really the idea for us is to make Designing embedded systems easy. So we encapsulated in the two parts that it just saw the system a module which we do very Complex designs we integrate all the high-speed signals We optimize then and then we provide reference designs easy simple reference designs where the customer can build their carry board Which kind of makes up the functionality that specifically tailored to the customer. We're on the song We really focus on very general purpose features and computing Architectures so the idea here really is doing you decapsulate those two components in the disarm of the carry board And then that allows the customer to easily customize on a simpler design with the carry board And that's really that's really the beauty of this approach And this is really if you look at the volume This is actually making a lot of sense all the way up to kind of mid volumes some of our high-stand customers They run this type of systems in the 30 to 50 thousand pieces a year And that's still very cost-effective doing that But what also goes in and so that's where I would like to continue is how we validate our hardware So if you continue to walk a little bit over here I'll show you a bit how we actually do all the validation of the hardware design because designing the hardware is one part But the validation is the other part, which is important. So let's go over here. We quickly check the Our tests it up. So if you go into this room I'll show a little bit what it means to validate and better boards So in here you see two temperature chambers and so what's going on here is you think about any change on the hardware We have to make sure it runs robust through the full temperature cycle Whether it's a medical device or whether it's an automotive application a test a measurement equipment So how we do this is we have these test boards. So you see it over here. So this is a board where we can plug in Seven units on the test. So in here you plug in the Torrex module and then this board slides into the temperature chamber Which I show you in a little bit and then we can do power cycling. We can do test the if the interfaces Run stable or if the software boots stable through the whole temperature range and we do this validation Basically for any change any major change that we do on the hardware So what's a major change on the hardware in the current chip shortages? We may not get an EMMC or we may have to change the memory chip So if we put a new memory chip on our SOM, this means we have to go back into the temperature chamber and validate that Change in the bill of materials through the full temperature cycle. So right now over here. You actually see We're down at like six degrees Celsius And in here you have seven boards. They're currently being chilled down and then later up They're going to be baked up again up to 85 C and we're logging and making sure they run stable over the whole temperature area So this is a very important part for us to really provide robust Computer platforms that are fit for the demanding applications that our customers have So if you go back and we talk a little bit more about what's actually going on on the software side So over here as part of the validation process. It's also the factory programming and testing So if you come in here a little quick You'll see the first step of production testing that we do for an NPI a new product introduction So when we design a new product in the first step of testing is we test all the interfaces on our own reference designs so basically you see here our new verdine 8 and plus module and We flash the software and we boot it up and we validate all the different interfaces So this is our basically our development board it's the same board that we give to customers to actually design their product and in here you see our psalm and We're now booting this up to the software and a little while you actually see both monitors lighting up And we know basically that that hardware is doing its first test So it's very important to understand this is really only the first level of testing for new products I'll show you a little bit later when we go downstairs what it means to mass produce This and how testing works in the mass production. So let's go back here and We talk a little bit about software Many of you may not know what Toradex is really actually a software company so 90% of our engineers are software engineers and You see the shot a little bit of what we do on the on the hardware side But the maturity here on this floor and I would say probably about 80% here on this floor is software engineering So for that I would quickly walk you through and here and we'll talk to Marcel from our embedded Linux team Who will be showing you a little bit or explaining why it's so important to do software? Mainline and for that we're gonna talk to Marcel So yeah, let's let's quickly Marcel if you can maybe explain a little bit You know how we do Linux software development What are our approaches and in particular why mainline is is important for the work that we do? Hi So can you explain what's going on around here? Well, I have various sports running For our example our latest Edition the word in either the MX-8M plus It's just running our standard multimedia image anyway, but Actually, I'm working on upstreaming the Yubu part there and Upstreaming stuff just it's just the most future-proof option basically for our customers If you have any kind of a you know technical details we work on if we solve them upstream that that just means It's once and for all properly solved Yeah, it's basically a way of future-proofing your software stuff because You know if you have Hardware that you want to support for many years, which is what we want to do for our customers then You will have eventually will you will run into issues and stuff and if you don't have Solve those properly upstream then you will struggle over and over with that Yeah, maybe can you also talk a little bit about the long-term maintenance? I think it's an important topic exactly what are our really commitments for customers and you know How do we help customers that they will be able to support their devices for? Three four five ten years in that area. Yeah, we have Basically all our modules we shipped them for 10 to 15 years and over that period of course we also try to to really Do a maintain that stuff and as you can imagine There can be cases where we need to actually also do Modifications on the hardware level because some chips. I mean especially now It's very hard to to procure certain chips and then maybe we're forced to to change a little bit of the design and that can of course also lead that the software need to have some adjustments and And and that's exactly the point then you need to maintain that and if you're not upstream Then it means that you have to maintain all these various kind of quirks in some downstream stuff And then it's a never-ending story basically if you upstream it you really solve it just once and for all Perfect. Thank you. So let's go on a little bit and we'll walk back and also check out some of the other areas Especially also go downstairs later and give you some insights into our operational setup At Toradex how we procure parts in these difficult times But maybe just a little quick if we turn around one more time This is really just a typical setup for an embedded developer if you work in this industry You will be close to the hardware every day You basically will be debugging on boards hardware boards as you can see and that's how we help customers That's how we develop in in-house and and that's how we help customers and that's really how things working our industry So you have a lot of hands-on exercises even though you're a software engineer In the embedded industry. It's very common that you're still close to the hardware so let's go back we'll walk a little bit back and Talk about how we connect with the customers and how we do product management. So if we go back here I want to quickly show you here Is our area where we have our field application engineers and Solution architects so their job is to basically support our customers designing with Toradex And what does that mean is so our customers they will buy our module as you can see here This is our Colibri Amixx ULL and then they built that carrier board that we just heard from Peter They customize that to their own needs and of course sometimes they need some help that help can be in the form of a Schematic review that help can be in the form of helping them debug a custom driver Of a peripheral that they put on their board and we can do that here And so sometimes we work together with the customer on their hardware our engineers So that's that's very important because of course we're selling a complex product and part of making that easy is of course helping The customers integrate those products and also the product management side again I said a little bit we have our our sales team our account managers and technical sales engineers They're also close to the product management team which is basically next to them So the feedback loop for us is very important even though we're an industry that sometimes a little bit slow-moving Technology is evolving very fast and for that We really need to make sure that the customer feedback from our solutions engineering team as well as of course from the from The people who talk to our customers gets quickly back to product management and then back into R&D So in those last 18 months, you've not slowed down, right? Of course we had to adjust a little bit how we work together But one fun fact the tortoise is we're already distributed teams so our software engineers They are we have offices as you know, Japan China Vietnam we're in Eastern Europe in the Ukraine You're here today in Lausanne, Switzerland where you see about half of our engineering staff but we also have offices in some Paolo Brazil or also in in Seattle and of course We we really try not to slow down. I mean the logistics right now is a little bit And especially also the supply chain situation is really what's holding us up But there is nothing in the in the technology side that that would slow us down and we actually have Have in the meantime in the last 18 months launched Our most recent additions of the Verizon platform, which we talked a little bit about later So we're offering software services today And so that was actually nice for us that we could actually catch up So maybe also this dislike 18 months has brought new ideas and new requirements, right? Of course also for our customers so I can give you a little bit an example We just talked about To rise and platform what we're doing is actually providing a software platform for customers where they can update Monitor and remote manage their devices So as you know, we have travel restrictions right now But our customers still have to find a way to support their devices in the field And that is actually where this need of what we're doing on the software side The demand gets greater and greater also the software as you know Software is complex. There are software vulnerabilities You need to patch your software while your devices are deployed in the field and with our Verizon offerings We're addressing that need from our customers. I can imagine that Toradex is a perfect partner to do something Quick and custom and special and getting to market more Rapidly and exactly it's all about Basically accelerating the customers time to market creating extra value and then of course also simplifying things So if you if you look at these three components is you can today start your embedded development with a starter kit from Toradex You can then basically do some field trials on your software based on our hardware While you're designing your own product and that all that you can do with the same software And you can then once you deploy your pilot run in the field still update that software that you're working on It's very common today that you actually start shipping a product early and then do the later improvements down the road What have been Publishing in in terms of they're not really being trade shows in the last 18 months You've been doing more webinars or yeah That's actually and of course Daniel from our marketing team would be very excited to talk a little bit about that But we had to adjust and we found some new Models and new form formats that our customers like we actually became a little bit more intimate with our customers in that time So we had more personal interactions with them virtual but more personalized So that being said is for us it was actually quite a nice exercise and and a nice evolution for us how we work together with the customers and We can do a few more videos here to headquarters talking about different things exactly We'll sit down later on in our meeting room a little bit and talk about what we actually have going on on the road map and the Technology stack but before that let's head downstairs and we quickly check out our operational setup here at the Swiss office Right So you have two floors in this building correct? Yeah, we're over two floors. Unfortunately because Yeah, one floor wasn't enough so we're split up But because of the break here are being upstairs and the coffee machine We make sure there is a good interaction going on between the sales R&D and the operational teams So let me get you in here So this is our downstairs areas We're gonna walk over and talk quickly with procurement and to show you what's going on there And then we come back and I'll show you a little bit our local warehouse What's very important for you to remember is here. This is really just our central setup in in Switzerland We're a global company our main warehouse is in fact in Germany So what you're seeing here is really just our our central office But as a company we're scaled over multiple countries and locations So this is our operations team. So what you see here is we have all the way down We have our procurement team Unfortunately also a little bit reduced in staff here as we're still being a little bit careful So our procurement team does the sourcing of all the key materials so one really important fact about toward exists that we We control the sourcing of all the key materials single source components as well as all the critical parts process if flashes memory We source in-house and we distribute those raw materials across our two production sites our production is outsourced so we actually produce with contract manufacturers in Germany and And our procurement team basically manages that then next up is our customer support or inside sales team They capture all the orders to do all the scheduling Unfortunately right now with the current allocation situation. It's a quite a heavy workload. So we're very constrained Luckily with our setup and we hope for customers to also understand the situation we can manage that What's the flexibility you have in terms of people can work from home and stuff like that? We're fairly flexible. I mean there's really only a few jobs where I mean if you think about logistics or testing What I just showed you those are two things that you really need to be physically present But for engineering and for most other administrative jobs. There is really not much In much limitation however, of course It's still nice if you can be in the office because the interaction between the teams is definitely helpful when you're when you're present So we have a flexible setup. I mean people can basically tell us how they would like to work and we try to make it happen So now let's quickly look at our just local warehouse here and here I will show you a little bit more about that mass production testing that we're doing morning So as you already saw before we have this manual tester station, which I already explained you upstairs So this is the first level of testing we do for a new product However, when you want to scale up mass production, especially when you have your production outsourced It's going to be very important that you actually have a tester set up This is our functional tester that we then deploy at our EMS So what you see here is an in-house developed custom tester We have different adapter boards that you put on top depending on which modular test and then you have a generic Tester platform For us and so the way we do this when we ramp up the product stage number one is the manual tester stage number two is Here where we have engineering basic provision the mass production testing and then step number three is when you really ramp up production in 10 20 50 000 that's when you deploy this particular tester setup at the EMS So that's really one of the key Important facts for us at Touridex how we control quality even though we outsource production We control testing and with that we have full traceability every module goes through a full functional test Basically all the interfaces you talk about camera interfaces GPIOs really from A to C. We're testing you have a test log file You have a serial number to track that module down if it later comes back through RMA So all the way down here. We have our RMA department who really inspects if products ever come back from the field We look at them try to find out what what's going on and again this is happening here in switzerland So we're close to the r&d teams. We can have that feedback loop from quality to our r&d and product management teams So without that quality loop There can be some some kind of like a nightmare scenarios out there in the iot world where people have Some issues with the device and it's hard to figure out which one it's absolutely I mean if you of course we are We are only supplying one core element of an actual iot device If you think about let's just say a remote gateway that's somewhat deployed In the remote mountains of switzerland or maybe even worse somewhere in the desert or somewhere You know somewhere very remote in in in not easy to get to areas if those products fail It's going to be very costly for you to actually send someone out to service them So for us quality is really a number one You know initiative here and call it toradex to make sure we have the highest quality And yeah, if you look here, this is just how we sell those products. Ultimately, they're boxed up This is really just a small-scale warehouse again our main warehouses in in germany And that's where we you know turn around hundreds of thousands of modules and send them to custom making sure that can have a reliable dependable iot and medical products in the field Nice All the way down there. We were there just before yes Yeah, so with this we actually are at the end of our tour We're going to go back up and maybe do a little sit-down But yeah, I hope I could give you a good little first insight of what we do Of course, there is also finance and hr. We also have here on this floor But I would suggest we go back up and maybe continue our discussion there Great


So the project for today is this room. This is sort of my room It's the spare room where all of my stuff goes because my wife gets the master bedroom closet Well, this is mine. I Also dry my laundry. You guys know as I hang the dry in here. These all need to be put away a lot of her stuff in here too, but This is where I'm supposed to fit my stuff and I've got to make it a lot neater than this by the time She gets home from work. She comes to home. It's she's done work at 6 30 She might have to stay later if she has to then she has to be home probably between 6 37 By that time I want to have this room All set up and looking nice. We got this Closet or this shelf here the closet there all needs to be organized a lot of this stuff needs to be brought out To our shed and locked up there See if I can get that That done One big project for today and that's it. That's the whole house guys That's the whole thing Wow So Brits dad and step mom stopped by just for a quick visit on their way home I believe they were just getting their campsite south of Steinbeck already for winter and then on their way home They swung past here. It's good to see them again and I Got distracted. I'm supposed to be cleaning up that room back there, but I I ended up cleaning all the windows Inside and out. I'm turning into a regular host husband. It's happening to me. I Need to get back to work Speaking of have I told you guys already my load is a little different than we expected It does end off in British Columbia But the first drop is only on Tuesday in Yorkton, Saskatchewan, which is like seven hours from here Seven hours not even seven is like four hours five hours just into Saskatchewan from Manitoba So I don't have to leave until Monday midday around noon Monday is Canadian Thanksgiving For my American friends. It is exactly like your Thanksgiving except it's better No, it's not really better. It's exactly the same thing Except we do ours in October and you do yours in November because we we have to be different from you We are too similar in so many other ways. We have to make ourselves different And that is one of the ways we did that we will celebrate Thanksgiving a month earlier because we are more thankful I'm just joking. Yeah, our Thanksgiving is in October and yours is in November. I get it But it is Canadian Thanksgiving on Monday. We're the same people and Say we have the same history as the United States as the Americans except the Americans Split away from the British Empire and they did things on their own and they've done a very good job of it They've made a very beautiful country Canada We stayed with the British so we are what America would have been had they not gone independent and America is what we would have been if we would have joined them. That's how I see it I mean, there's a lot more history involved in there. There's a lot more to it than that But that's why we're so similar Canada and the US were very similar because we're the same people with different histories America is just there are the rebels that decided to move out of the house and we stayed living with mom and dad for a while and Now we're our own independent country But the Queen is still our head of state and you have the president as your head of state You get to vote on your head of state every four years. We do not however, we have a prime minister that we get to vote on every four years and Him or her and their party get to govern Canada without interference from the throne in British in Britain in British in the British the British throne You know what I meant So Honestly, the Queen could come in here. She still does have a full veto in Canada Just like the president does in the United States. She could but she hasn't we have governed ourselves without interference. We've Crafted our own constitution and our own Charter of Rights here in Canada without interference from the throne However, we're still tied to them. It's anyway. That's not what this is about our Thanksgiving usually lines up and our holidays in general Usually line up with British holidays More so than America in November is our remembrance day, which is the same as the US Veterans Day But again, you'll see similar similarities with Canada and Britain We have the poppy that red flower that we wear on remembrance day that reminds us of the fallen soldiers that died to give us our freedom and It's very similar. Yeah, but November is remembrance day and then right after remembrance day We kick it into full gear for Christmas at least in this house. We do so remembrance day and the day after remembrance day Christmas begins now not every Canadian is as gung-ho about Christmas as we are but hey I may not speak for all of them But I'm one of them and we love Christmas It's our favorite time of year and it's coming closer and closer a few more holidays first and then we'll start talking about it more Anyways back to the room. We got to finish this. It doesn't look any different. I moved those blankets. That's progress Yeah, we won't look at that There's not very much storage at this place. I mean in our backyard here We have that big shed, which is actually very big. It's bigger than it looks on camera and That tin shed which is also bigger than it looks like on camera and Then we have this here.  We're getting rid of that though But for the time being we're using it for temporary storage Until we can figure out what else we want to get rid of we have to get rid of a lot that carport is It's pretty full. It is what it is, right?  I won't even go into it. I Will not touch it because I am a smart husband. You don't touch your wife's stuff Okay Let's continue trying to organize this this has to especially this this has to be cleared out. This has to be This has to be better than this amazing how fast I can just run out and get gas now All right, I think it looks better. It is what it is. It's about as neat as it's gonna get I think But it's just getting off work. She's on her way home So I can stop pacing around aimlessly not knowing what to do with myself. What's she doing over here? Trying to cook dinner What are you doing? I'm feeling the world's smallest Carrots at a mom's garden. Well, those are natural grown right in your garden. They look delicious, but there's a lot of work Diesel and Chevy They all agree. They look very delicious Okay, you guys can you can have the first one can't rest for me and dad While I've been working here this morning Someone went and got Tim Horton's breakfast. I made breakfast. Oh, you are such a good cook Wow, just the way I like it Thank you Anyways, we didn't really have an end to the video yesterday, so I'm just putting it together for you here It was a short video today Not much going on, but I did get that room all cleaned up. You saw it. What did you think? Let's get the wife. Let's get the wife's opinion. What do you think of the room? I cleaned up Hashtag impressed That's that's that's that's more impressed than diesel would be if you gave him a bite of your hash brown Yeah, but somebody over here is gluten-free, so we can't be playing favorites plus None of you are my favorite. You're all my favorite My son is gluten-free Impulatory free and poultry free. He's allergic to everything Seriously, if you if you give it to him, he'll have The runs for days and skin rashes and skin rashes. Yeah. Oh, here comes another one. Oh, man.  No, I think they like Timmy's. They just don't have access to Timmy's unless they're in the northern Northeastern states. There's a lot of Timmy's there, but there they're competing with Dunkin Donuts, which is like American Timmy's It's really good though. Dunkin Donuts pretty but the food at Dunkin Donuts isn't nearly as good as the food at Timmy's The coffee's pretty much on par But if you add expresso shot to it, whoo, I gotta end this video here. It was short. I know but Tomorrow's another day and happy Thanksgiving. Tomorrow is a Monday Thanksgiving here in Canada, so Talk to you later. I hope you guys are all enjoying family and Taking it easy


Good morning everyone, happy Monday. It is eight, it's not 8.43. It is 6.02 AM and I am just coming out of my bedroom. I'm ready for work, so I need to feed the dogs, pack my lunch, make my breakfast and then get on the road. I decided to sleep in a little bit today because I slept really bad last night and last week when I left at 6.30, I still made it to work before 7.30, so I'm thinking maybe if I do sleep in, I'll shoot for leaving around 6.20. So I have plenty of time to do all that, so I'm gonna get my chores done and then hit the road. 7.22 and I just got here. Normal, not much earlier than I'm here now, but let me explain. So I got out into my car this morning, it started just fine, my husband left it full of gas, but there was low tire pressure, of course. And I left later than normal, I left at like 6.25-ish. So of course I was like, crap, now I have to go get air in the tires. No big deal, I'm not gonna let it ruin my day as long as I get to work before 8 o'clock, I'm happy. Because I'm fully prepped for the week, all I have to do during any prep time this week is prepped for next week. So anyways, I go to my normal gas station, the one where I have the least amount of luck and there's no tire pressure thing, like it's out of service. It says out of service right on there. So I have to go to a different gas station. So I went to a different gas station, put air in the tires, and the light still was on. So I'm like, okay, I'm just gonna go to work because I know I filled it. I put air in the tires, so there's not really much more I can do at this point. I have to just kind of trust that there's enough tire, there's enough air in the tires to get me to work. Okay, I'm gonna show you guys my outfit today because I haven't been doing outfit of the days, but I would really like to, even though I don't think my outfits are that great. I like the shirt that I have on today.  I'm wearing jeans because we have a free jeans week since it's a short three-day week due to Thanksgiving. And then I just have on my chestnut teakies and then this pink cover-up thing from Target. This isn't gonna stay on all day because I high today 75 and I'm not wearing this all day. Also, I'm super, super pumped because the last time Lipstick and Littles had a pre-order sale, I bought a bunch of t-shirts for all the people that I work around. I bought some for my teammates. I bought some for my aide that comes in every day and works with my students. I bought one for my librarian because she's just so amazing and then I bought shirts for my avid team, the girls that went with me to the avid conference. So I'm gonna actually deliver those to them right now. I also, because I worked at Princess Party this weekend, I got a little extra money, so I decided to buy myself a coffee pot for my classroom. And I just got this cute little five cup coffee pot and that way it's just one less thing that I have to do in the morning. So I brought two coffees. These are the black rifle coffees that my husband buys and since he subscribes, he gets way too many coffees than we drink at home, so I just brought one of those. And then I have this one from TJ Maxx. It's just this like pumpkin pie flavored coffee blend. So I'm gonna actually go deliver some shirts right now and then I'll come back inside and get this all set up and ready to go. Hi guys, so it is three and the kids are now gone. And I didn't get a chance to vlog at all today because I had lots of behavior issues. So I had students in here during recess. So I did get my little coffee station set up and I have my Brita and I do have an ice tray that I'm gonna make some ice cubes with. But yeah, overall the day was good. A lot of behaviors that I needed to take care of, a lot of talking, just a long day.  And then I need to go to Target or Ulta or one or the other to get a few things like body wash, face wash, stuff like that. So busy afternoon. Hey guys, so Scott and I are gonna do something a little bit crazy. We ordered a couple of packs of these spicy Korean fire noodles and we're getting ready to film the challenge. So these are the Samyang fire noodles and we actually Googled it. Am I doing this right? I was just on the doodles. We Googled the spicy Korean, Korean, that's probably what's gonna happen.  And so we ordered these from Amazon and they were what, like three bucks? Yeah. Hot chicken flavored ramen. In five minutes. So we're boiling those now and we're getting our filming space set up. We have like ice cream and water and it's gonna be crazy. So that video will be coming up.  Good morning guys, happy Tuesday. I know I look like I'm wearing exactly the same outfit as yesterday, but yesterday, but I promise I'm not wearing the same outfit. I'm wearing the same pink sweater, a different gray shirt, different jeans and some boots because it's gonna be 78 today. So it's gonna be cold. So no cart problems this morning, thank goodness. Last night, Scott and I did the noodle challenge as you guys saw like seconds ago. And it was pretty intense, definitely spicy. We survived it. We finished the bowl. That video will be posted pretty soon following this one. But yeah, so I just walked into work and I have duty at 8.05 and it is seven, looks like almost 7.15. I have a few things I need to do before the day begins. Yeah, it's 7.15. And then I wanna sit down and actually start planning for next week. I have everything printed that I wanna use for reading. We're doing reading standard RI-9 and that is comparing and contrasting informational texts. So I have a few things here and I'm just gonna show you what I found, the resources I'm planning to use and then I'm gonna run and do my errands this morning. Okay, so the first resource that I purchased is by Jamie Jacobs and that is on Teachers Pay Teachers and I believe this one was free and it just has two little short informational texts and then you do the compare and contrasts Venn diagram. I don't know if I wanna use the Venn diagram because I would rather do like a two column note since we're an avid school. We like to do two column notes so we might do three column notes instead. So I might actually just take the text and chop these off and it actually came with two stories. So this one's on wolves and this one's on coyotes. So that would be a great introduction to comparing and contrasting and then I also found one by Marissa Gaines and it's all about the winter and summer Olympics. So same kind of deal. Having two texts and then comparing them, finding both of their main ideas, their supporting details, information that's similar, information that's different and then just comprehension questions. So those are really nice as well. I also love, I think I've shared this with you guys before, but I love the Common Core Kingdom resources. This one came with a bunch of texts and then they come with questions and I like them, the kids love them because of these colored, color coded. So they have to go back into the story and highlight their evidence for each question using the coordinating color. So I really like those. So these are just the resources that I have for next week. I'm also going to start using, we use the, as our district growth assessment, we have been using the Stars School City Stars test and last night at leadership, they told us that our district is really, really looking at our stars data and we actually have another benchmark assessment coming up in the next couple of weeks, but they also told us that there is a possibility that Arizona is going to ditch AZ Merit and move into more of like a menu for school districts to choose from instead of having like a giant space wide, statewide assessment, it will be like a district choice and our district will probably choose the stars test. So what I'm going to start doing is, and I know everybody says don't teach the, don't teach to the test, don't teach to the test. Yes, that's exactly true, but when your students have no clue how to navigate a test or what types of questions are on a test, it makes it really difficult for you as a teacher to A, have your students show growth that the district's expecting because that's the data they're looking at and then to AZ Merit, the state assessment. If your students can do a great job in class, but they're not proficient on a standardized test, I feel like it's like, are they really proficient in class? I don't know. That's just kind of like a personal like battle that I always go through. You know, don't teach to the test, but the tests are really important. And even though they don't measure all of a student's abilities, they do measure the standards. So I'm going to start using our stars assessments. We are able to access those, print them and use like an item bank to help assess our students. So I decided that every week I'm going to use our stars assessments as like my common formative assessment and use that data and information for grading, for data collection, for planning purposes, for small group. And that way I can just get my students exposed to the vocabulary that they're going to be seeing on these tests. That way they can feel more successful. So I'm going to do that. I'm going to pull all of the items for that reading standard, R-I-9 from stars, print it out and then go through and see what types of vocabulary I need to make sure to include what I'm teaching that standard and then being able to assess them in the same way. So I'm going to go run and get these stapled and then I will be back to plan. Hey guys, so it is prep time. The kids are at PE and I am just sitting down because I already copied everything for next week. So all I have to do is type up my lesson plans and then I am all set for next week. Super, super exciting because I don't want to be spending any of my holiday break doing lesson plans. So Scott and I I think after school today we're going to go and buy our Christmas tree which is super exciting because we're finally going to get a really nice, we're going to get a fake tree just because with cash he's going to be pulling on it a lot and we just want to be able to use the tree over time and it's just better for us as a family. We've had real trees in the past and they've been really like they smell really great but they've been just kind of a pain in the butt. So we're getting ours from Costco and I'm just really pleased. I'm really excited about that. I'm just really excited. I love the holiday season. I'm sure all of you do, but I am planning. I'm trying to find it actually. It's a writing up assignment and it's if you were trapped in a snow globe. So I'm going to see if I can find that and then it's cute.  So it looks like I found a, if I were trapped in a snow globe writing prompt and graphic organizers and this is by Kelly Malloy and it's a free resource. So I'm loving that. I'm thinking I want to do something wintery when we come back from Thanksgiving break just to kind of get the kids inspired and engaged. Hey guys, it is lunchtime and I am super excited to eat today. So I'm going to copy Mr. N and do a what's in Mrs. Valdez's lunch box. Today we have a Ready Pack Foods organic Southwest salad. I like these because they're organic. They're chopped and they come with the dressing. And then I brought a big bowl to mix it in with some homemade shredded barbecue chicken. And I just put it in this little container that I got from my beach body program. I don't use them a whole lot, but I like it when I have to pack like sides of stuff. So I'm going to go grub on this. Good morning guys. Happy Wednesday. It's Thanksgiving Eve today and yes, I am working. Unfortunately, we had to work all week this week except for Thursday and Friday, obviously. I just got to work and it is 7.08. I did stop at Starbucks though because I'm treating today like it's Friday. I am almost done with all of my grading. I think I have like three things left and a couple of them are like multiple choice items. So I can definitely have a kid grade those. I just need to enter a few more grades into the grade book and then my progress reports are finished. So I splurged and got a peppermint mocha this morning because I haven't had one yet this season and I love them, but they're so full of sugar. So I just saved it for a special occasion. And then I also got my favorite ham and cheese croissant and my favorite egg bites. So I'm gonna eat breakfast. I'm gonna do some grade book stuff and then I'm gonna finish up my lesson plans for next week. I have my reading plans written. I just have to write my math plans and then I'm done. So math plans should be pretty easy since I already know what I'm teaching. I already know where everything is. So I just have to type it. Hi everyone, so the week has finally come to a close and it's Wednesday, so Thanksgiving's tomorrow. Super exciting. I read my students a nice little letter from Santa Claus this afternoon. So it looks like we are going to be getting an elf on Monday when we return from Thanksgiving break. So I put the letter up here so that it's able to be seen by all and we're pretty excited for our elf to arrive. So I'm just cleaning up. I hear there's a rumor going around that we get to leave early today. Hopefully this rumor is true because I would like to go by find myself a Thanksgiving day dress and maybe some other fall-ish clothing since I don't really have a whole lot. Every year I tend to get rid of things and then I just start slowly dwindling down. But yes, I am cleaning up, throwing away anything that was unused, recycling some things. I found this cute little morning, elf morning report thing. So I made my students, they're gonna be elf morning report books and there's just five of these with two on each side. So there's 20 days worth and then I'll make them a cute little cover and staple them together. So every morning when they come in and they're eating their breakfast, they'll do a morning elf report. And then we might do the inferencing thing from pocket full of primary. That sounds like fun. Just maybe some other things since the elf is coming, we'll try to kind of use her for some of our activities. I think that would be really fun. So I'm just gonna clean up. I'm gonna end the vlog here. Thank you guys so so much for watching. I really appreciate you guys being here. I just, I'm glad to be back on YouTube, glad to be vlogging again and I will see you guys after Thanksgiving. Bye.


Welcome ladies and gentlemen to our next final demonstration that is on what is your risk of developing a cardiovascular event in the next five years. So this is a program which I have created using the parameters from the American Heart Association and you will find that it is very easy to use. So first you are open, you are given this page here. You click on the link here which says click here to start the risk assessment. So this is something which I will be doing on you also. Let's say you are between 40 to 49 years of age, therefore your code here is D. Let's say you are a diabetic, so DY, and let's say you are also a smoker. So your code is DYS. So we click on DYS. Now that will be seen to the next page and let's say you have been sitting in front of your computer 18 hours a day and therefore your blood pressure is very high. It's 108 by 105 millimetres of mercury, 180 by 105 millimetres of mercury and your cholesterol is also very high because you are eating junk food. So 180 by 105 and cholesterol 8 you click here and you find that your risk of an event in the next 5 years is 15 to 20 percent which is very high. So let's try one more risk assessment.  So we click here CNT. Let's say your blood pressure is rather reasonably well maintained. So hence 140 by 85 millimetres of mercury and your cholesterol HDL is 4. So 140 by 85 and cholesterol level is 4. We click here and we find that your risk of a cardiovascular event is 2.5 to 5 percent which is rather mild. So this is a very useful system which I have used on my patients and my students and they found it very useful. I have created this program using scripts, ActiveX controls, bookmarks, hyperlinks and this has been rendered in a single file webpage. Thank you very much for watching, ladies and gentlemen. Have a nice day. If you have any questions or comments, please contact me, Dr. Sanjay Sanyal, Sanyi Out.


What's good y'all? Chris from JaspiersCaseBrates.com doing our second team random for our Topps Chrome Jumbo PRT number five this time. So two little randomizers here. First off, we're gonna give away three free early bird spots. Our first nine spots here qualified. So we'll take our nine names, our fresh dice, and our fresh names here from Chad, Jeremy, Adam, Emory, Brian, John, Riley, and Nicholas with the last spot mojo on the early bird special. And then after that, we'll take those top three names. We'll put them into this list with our 12 names and give away these teams in one box. So Royals, top second spot gets a sealed box of Chrome hobby. Orioles, Tigers, Cubs, Yanks, Cardinals, Ashles, Dodgers, Twins, Meds, White Sox, Cardigans, Rockies, A's. And after that, we will get rockin' and rollin' on right below me that Jumbo Chrome box. All right, case. Here we go. Let's do it. Our first dice roll for the three early bird spots, two and six, eight. Eight times for this first one. Good luck. Here is one, two, three, four, five, six, seven, and last one, eight. Top three. Good luck. Thanks again, y'all. Emory, Adam, and Chad. Very nice, y'all. Congrats, eight times. So we'll take those last three names and put them here. Eric will become our legit last spot mojo now for this team random. So Emory and then Adam and then Chad. And this next dice roll will be for this randomizer. Y'all, thanks again. Good luck. Top spot gets the Royals. Second spot gets a box. Everyone else gets a team. Five and one is six. So six times on this one. Thanks again. Good luck. One, two, three, four, five, and the last one. Six. Good luck. Six times. Adam with that early bird free spot will grab the Royals and Jeremy will get the box. So let's grab this. Let's let's make it look nice and pretty for the people to see all over the world. Live and in living color in this order. So Adam will grab the Royals. Jeremy, I'll grab you that sealed box of 2022 tops chrome hobby. John gets the O's. Nicholas gets the Tigers. Riley gets the Cubs. Eric with that last spot mojo gets the Yankees. Emory will get the Cardinals and Astros. Chad gets my Dodgers. Jeremy with the twins. Ryan with the Mets. Adam with the White Sox. Ryan with the Guardians. Chad with the Rockies and Emory with the A's. Thanks again, y'all. Next time you see me, we'll be ripping open an eight box case of 2022 tops chrome jumbo. Thanks again, y'all. Be right back.


And he said, well, I'd better tell you something about what's going on. He said in Chicago, where's he at? He always said, but he desperately said, no, not this time. If Marshall feels, he said, I found out that she could find her way in. I was dressed for it. If you started with where it was in relation to Marshall. Rob, I could say that the speech is over. I'll speak today. He thought he was talking somewhere. So did I. Well, you tell your friend the speaker. He's on my list. Yes. We were supposed to be on our way to the ranch. I was coming with you, but I'm looking forward to it tomorrow. Please do. I think there's a point. Well, I apologize. It's 24 hours. It's true. Good to see you, sir. Well, there's probably a mixed emotion here. Well, anyway, I feel very strongly. The whole time, I'm looking at everything else. Militates against the present amendment that is in the construction deal and the amendment that they've offered by Scott and it was all of them. So we got a time under the law and the certainty of it that did pass where the current instil leaves it out there that the countries are going to have to go for months wondering whether they're going to get the money because of that second boat issue. Time is of the essence with them. They're hurting for ammunition. And we just believe that the whole development is taking place now. The four other democratic nations, now Honduras, Costa Rica, El Salvador, and Guatemala, the, we've heard from all four of the heads of the government, are solidly behind this. Hi, Mr. President. Hi. My volume tuned up too high here. Yes. It squeals when it's... I can hear it. It's still squealing. I must be in a comfortable field. More just squealing that close in here. Oh, wait a minute. That's why I did that. I just turned it the wrong way then before. There we are. All right. Well, come in and take a chair. Thank you. Thank you. I think these are the most wonderful, remarkable things. What I have is one bad air in the gun shop that was, didn't hit me. I was in a picture some years ago with the gun right up on my ear and fired it. Then they knocked my head off with a concussion. And over the years were the nerves deteriorated. So I knew I was one year that wasn't doing right by me. And I got, this is a brand new type of thing. And then the doctor taught me into balancing it. The other years I was right. You're here when you're talking into balancing it up. But that's all there is. That's the total, the whole of the hearing aid. No more wires and panels or anything like that. And obviously you can hear quite well except for the scales. As I say, I should know when it's done. Well, I know we've talked before and talked about the submarine bases and so forth down there. I think we're down to now really, I might say almost last chance, and I just want to talk to you about that. It was a skeleton chamber amendment. That this is the way to go. It provides over a period of time the stones and the military aid and some humanitarian aid to be conscious. And then a great feature that carries out the purpose of the mission of the mission. Quite some time ago in all of Central America, three hundred million numbers in economic aid to those four.


InfoSake Island always sends the best people, so to Black Hat Europe, they're sending me! I'll bring you interviews and exclusive coverage of the whole event. What do you mean I'm not going? Why are you sending me? I'm going to speak to somebody on NetPeace. This is unfair. Catch InfoSake Island's exclusive coverage of Black Hat Europe 2012 live romance for damn, sponsored by NetPeace.


Let me see. Actually, those shorts look nice. Who is she talking to? Not us. We're nobodies, remember? Oh yeah. Well, I just don't understand. What's to understand? Why you would ever want to quit soccer. You love soccer. I just do, okay? Is this about the lucky socks mistake? No. But how could you pack my leprechaun socks? Those are for St. Patrick's Day. I didn't know you had two different pairs. Whatever. It doesn't matter anyway. Oh honey, I think if you just stick with soccer, you'll be fine. Fine, mom. I'll try it one more time. Understand, KB. I know just how you feel.


Thick columns of black smoke hung over Gaza's skyline on October 10, as rockets were launched into Israel and Israel bombarded the coastal enclave following Hamas' biggest attack in years' footage from Gaza showed dark plumes of smoke rising from buildings, as sounds of large explosions could be heard from a distance. The video also showed rockets fired from the Gaza Strip into Israel.Gaza's health ministry said at least 687 Palestinians had been killed and 3,726 wounded in Israeli airstrikes on the blockaded enclave since Saturday.


Hello everyone Right, so just get started so you know who I am and why I'm standing here I work on both post-crash QL and for enterprise DB. I've been the PG admin project lead for About 19 years now since the project started Also work on the core team of post-crash QL the web and sys admin teams and a couple of our non-profit organizations And the EDB for my day job My official title is vice president chief architect tools and installers What that basically means is I answer questions about code most of the day and commit stuff and occasionally make a cup of coffee So that's me PG admin 3 who's used that before? Yeah, pretty much everyone in the room apart from the sound guy So what is it? What was wrong with it? How do we fix it? Well for many years it was the leading open source GUI management tool for post-crash QL We had millions of downloads a year It was the third generation hence the three Replaced earlier tools that were written in visual basic PG admin one in 1998 which was really my first attempt at any real programming Then PG admin 2 which was me correcting all the mistakes. I made in PG admin 1 We wrote PG admin 3 in C plus plus a couple of reasons for that we wanted to make it cross platform We wanted to be able to handle Unicode multi-bike character sets and so on which is pretty much impossible in VB 5 and 6 And you can you can download PG admin 3 standalone or with the one-click post-crash QL installers from EDB We Supported a number of post-crash databases unlike most of the other community projects We were actually quite friendly towards the the commercial derivatives and had first-class support for EDB's post-crash plus advanced server and Green plums database which is now from Pivotal So I guess everybody's seen a screenshot like that before For those that haven't that's what PG admin 3 looks like kind of dated Which is really the first thing that's wrong with it. It is very dated. It's C plus plus code that goes back to about 2002 Grown quite messy over time One of the one thing that you might not realize is actually really hard to find C plus plus developers in the post-crash community So it was largely maintained by for many years just by a small group of four or five people Which at any one time probably only two or three at most are active The look and feel is kind of dated WX widgets hasn't really changed in many many years And we kind of inherit the look from that And these days there's a lot of lot more people are working on the web, of course You've got cloud installations of databases You're not necessarily doing everything on a desktop and talking to a big box in the server room behind you You know, you might have many people that are working on a cluster of servers that are actually out in Amazon or Azure or somewhere like that We also had problems with the dependencies on some of the third-party libraries in particular WX widgets, which of course we were completely dependent on as some examples there are some bugs that Got reported regularly to us There was very little we could do about them because they were in the underlying WX widgets code I could have patched it for some builds that I do myself, but if you're running on a build For example on Fedora, you're dependent on the WX widgets libraries that ship with Fedora So there's no way for me to get patches into there unless the WX widgets team actually accept them upstream, which Never seems to happen So that got to the point where it caused us so many problems. We were tearing our hair out and not just losing it through old age So we thought about how do we fix this? And eventually decided well, we've really got no choice but to change the whole technology stack That'll make it easier to find developers if we choose something that's more relevant and more widely used in the Postgres community We could make it web-based to satisfy those users that are running out in the cloud and in other environments other than their desktops We can make it easier to change the look and feel HTML CSS we can restyle it change colors change the border radiuses on things move things around really easily compared to WX widgets where we would end up editing XML files that defined the layout of the form But didn't give us the flexibility to change the look and feel of individual controls for example We could also get rid of the very complex and Buggy underlying libraries, which would cause us so many problems The downside of that of course is it means a complete rewrite Which as you can imagine after 15 years of development is a fairly large amount of work So we came up with a plan for PGM in four We had some basic expectations. We want to be able to run in both web and in desktop modes So we want to be able to support the users that are Developing code on their laptops and just want to sit on a plane or on the train or at home Hack on their databases while they're developing their applications just locally on their machines But we also wanted to support the the web use case the cloud use case Obviously we needed a technology stack that was familiar to to Developers and contributors in the Postgres community because that's where we're most likely to get additional contributions from We know the basic functionality of PG admin was what people wanted, you know, it was the most popular management tool and that Spoke well that we wouldn't you know had the features that people needed Maybe not designed in the ideal way But the the basic functionality was pretty much right We did know that there were some features in PG admin 3 that people just didn't use I mean, I'm guessing nobody in this room has ever used PG admin to create an operator family I'm looking for hands, but I'm not expecting to see any In Pete. No, you do use p-sql. I know yeah So so there are a bunch of features like that that we we knew people just were never ever gonna use And they seemed little point in spending the time and effort to rewrite them So We settled on eventually using Python for the back end. It's very mature language. It's been around since the early 90s It's used extensively in the postgresquail.org infrastructure. So whenever you're on any of the postgres websites that we've developed as part of the project You're probably running on it. You're probably looking at a Django based website the Deployment and management platform that the sysadmin team for use for all the servers underneath is written almost extensive exclusively in python And it works very well with postgres. There's a good choice of drivers out there Psycho PG2, which we ended up using is very solid very reliable and Has a very responsively developer who's always open to helping us out with problems On the front end we went for JavaScript jQuery and bootstrap they're fairly Common technologies lots of people know them. They're tried and tested loads of developers out there and To pin it all together on the python and we use the flask micro framework, which is it's sort of like Django, but it's much more lightweight and Where Django is designed for building data-driven applications Flask is more focused on just building the core of an application Now we obviously had a number of both non-functional requirements and functional requirements that we wanted to meet We wanted pg out meant to be a framework primarily so that It can be easily extended So if the postgres guys want to add a shape load or something like that they can very easily do that They've got the apis there. They can write a module drop it into an instance of pg admin in a way you go So what we've ended up with is all the individual tree view nodes of plugins Use case for those is the extensions to support green plum an advanced server both of which have Object types that are not in postgresql The individual tools of plugins so things like the query tool the grant wizard and so on are Using a plug-in API that lets you just add more tools hook them into the menus Get access to the database connections very easily and the database drivers themselves are also plugins so that we can extend the driver to include green plum specific functionality or advanced server functionality or Whatever comes next year We wanted it to be deployable on the desktop as we said and on a web server for multiple users That's a key point When you're running on a web server You don't fire up an application on the web and just start using it like you do on your desktop It's open to the world probably so you're gonna need authentication user accounts and things like that that we never had to deal with before Packaging wise we wanted Windows and Mac packages. We wanted Linux RPMs and Debian packages and a Python wheel for deployment using pip And we need to support all versions of Python that are commonly found on Operating systems used by our users Unfortunately, that's quite a wide range. So if we look back at rail six for example sent us six. It's still using Python 2.6 and yet other more modern Operating systems like the up-to-date fedoras are using the later three series of Python So we had quite a lot of compatibility issues there to deal with We also needed to make sure that we could support one or more servers Simultaneously that was a key feature of Pgabin 3 Pgabin 2 and below really can only connect to one server at a time We wanted to support all Postgres data types As well as ones you can plug in and add to the system Full support for Unicode. So if you're working in Hebrew or Chinese or Japanese or Russian We don't want you to have any problems. We want it to work perfectly for you as well and we want to support Localization internationalization so you can it feels familiar. It's in your home language, you know, eventually we'll have support for Displaying numbers and things with dots or commas as appropriate to your to your particular locale We don't have all of that just yet. Unfortunately, but we're getting there Obviously we want it to be speed to be speedy Fast response. It feels like a desktop application. We don't want it to feel like a website when it's running on your on your desktop and Key to that is having No full page reloads. So everything we do is Ajax base. So If you if any of you have ever used the old Pg out a PHP Pg admin application that was released years and years ago Pretty much every time you did anything in that it would reload the whole page and show you the new view We didn't want any of that We want it to look and feel like it's running on the desktop even though it's in your browser and a number of functional requirements Support for all the common database object types. So this is the bit where we dropped Stevens operator families sorry Query tool Pg admin 3 had two separate tools query tool and the view data tool You could run queries in the query tool and see the results You could view the contents of tables in the view data tool and edit those query results directly in the grid Essentially, though, they're basically one tool So we wanted to merge them together and over time add more and more smarts to it So that we get to the point where you can run an arbitrary query And it will figure out on the fly if you can update the results or not Not quite there yet. You know, we're out as I say, we're adding more and more smarts But we do we have done it as one tool to begin with that just runs in two modes at the moment We wanted some dashboards for simple real-time monitoring something Pg admin 3 never had Procedural language debugger, which a lot of people find very useful grant wizard for Managing the access control lists on your objects and the ability to run things like backup and restore The ability to do maintenance operations run vacuum analyze and so on As well as various small utilities, you know being able to pause and resume while replay or add named restore points Allowing users to understand what they're doing is critical. So we've got online help for The actual use of the application then describing what the different dialogues do and how to use each of the buttons and so on but what we also have is links to The the documentation for for either PostgreSQL or advanced server as appropriate So when you're editing a table, you can press a button and get straight to the create table SQL syntax documentation to help you understand Not just how the the application is working through the application documentation, but also what the underlying SQL is doing We also needed a user manager with self-service password management and so on so that when you're in Multi-user mode you can log in and the system is secure so How do we build all of this? So for the first year or so I was just developing code and sort of prototyping and building the core infrastructure And then at that point once I got it the way I wanted it. I was able to use a bunch of staff at EDB and That really helped because I was able to boss them around basically One of the problems you often have with open-source projects is people don't tend to work for you. They're all volunteers so actually having a Well-defined project that you're trying to get x y and z done in a very short time frame Unless you've got very cooperative volunteers is very hard to do So it made it much easier because I was able to use some of the staff at work To do much of this work for us We had a fairly large team that so the guys worked on this for about a year Probably about nine months until we got the first release out Three developers and committers who'd worked on PG admin for a long time That's myself a Shesh Vashy and Akshay Joshi And then there were six other developers a designer project manager for QA people two technical writers the lead one of which wrote the Basically the first ever PostgreSQL book that was released Three guys working on the packaging And then in the community we have we've had something like 40 Individual contributors just with anything from typo fixes to two more complex changes And that was our first sign that this was a good move because all of a sudden we've gone from a C++ app that rarely had anyone writing any fixes To the first version of an application having nearly 40 people Actually helping us get it right that were outside of the core development team We had about 75 people as well reporting bugs which Bugs are inevitable. We want to know where they are and how to trigger them We had a couple of constraints that we had to work within The team that we're doing the work mostly were the PostgreSQL Enterprise Manager team at EDB That's our enterprise management tool So they needed to start work after PEM 6 was released Finish in time for the PEM 7 work that they're currently doing right now Also allow needed to allow time for any updates that we had to do in the meantime And also allow time for any support escalations within the company We also needed to make sure that the code was ready to go out in the PostgreSQL 9.6 installers Because we've always released new versions of PG admin with the new version of PostgreSQL So it was a fairly heavy set of constraints to try and meet And as such it took a fair amount of management to figure out how we could get everything done in that time frame We used fairly traditional methods. We weren't using a full agile Method or anything like that because it makes it very difficult to predict where you're going to be in a year's time When you're using agile methodologies So we were using a product called project manager where we As you would expect estimated each individual task figured out what they all were assign them to people Sequence did all up and so on When we came to patch management that also proved to be difficult because At the beginning I was the only one dealing with patches and I might get 20 30 patches a week Which is a fairly significant amount for one person to deal with So we ended up using a camera and chart to actually manage the patches through the various stages of review Back to developer in review again, and then committed and so on then once we actually released we moved everything across to the community's red mine installation Which is where we where we have things like the bug track as now there's a Quick screenshot of the the project management plan I think there was if I remember rightly there was something like 400 tasks on there For the whole project just to build the basic features that we needed and it spanned about nine months So as you can imagine that was a pretty complex plan to manage and there's the just a screenshot of the Kanban chart that was used for the Patch review so we've got the in development column review committed bugs transferred to red mine I think there were a couple of others that you can't see on there now But we've basically stopped using this now that we've got the the first version out the door One of the key things in getting a project out so quickly is that we have good quality assurance You know we don't want to just write code and throw it out the door And there were various things we should to try and make it as high quality code as possible So I managed to steal some of the QA team at EDB and In getting them in testing as we went through they developed manual test cases based on the Code that was being committed and the individual tasks that were being done and Used the system that they they use generally called test rail which allows them to track test runs and passes and failures and so on One of their guys also built our first automated test framework which was built on Python 2's unit test module that allows us to do testing of the REST APIs that the Python code provides for the front-end code and we've also Added automated testing and I've given this talk before and in previous slides It used to say coming soon now or something like that But as of this morning it now says framework developed post one by post one point two by pivotal labs Well, I'll talk more about later on But that's integrated into the Python test framework and uses Selenium so that we can run tests that literally go right from the browser through to the back end We also had quite a bit of community testing the problem with that is it tends to be very ad hoc You know, there's no People playing with the code in the community literally would just download it and play with it They're not going to go through any test plans They're not going to go through any rigorous process to make sure there's good coverage of everything and so on So whilst it's greatly appreciated and essential We can't rely on that sort of testing alone We did get a lot of very good feedback from the testers. We did get some negative feedback as well We'll talk about some of that in a little bit But you always get negative feedback. So we you know, we carry on regardless and we we take on board what we're told And there's a just a quick screenshot of the regression tests, which just run automatically One after the other across multiple databases depending on how you've got the system configured so Give you an idea of the release timeline the first time I gave this talk. There was about two lines on this slide This is probably the last time I'm going to give this talk as it is now I think I've done it three times around the world now and this slide's got a little bit bigger each time We've just released 1.3 on the 10th of March about three weeks ago As you can see, we're actively fixing bugs in each new version and Adding new features, which is something we never did in PG admin 3. We were very strict about never adding new features Because PG admin 4 is so new and because a lot of users are used to all the features in PG admin 3 What we found is some of the ones that we thought we need didn't need we actually do So we're being a bit more relaxed about adding new things now And again, we'll talk about it tomorrow on one of the later slides That was a little screenshot. I took on Sunday I know it says as of 10th of March, but I guess that's the last time open hub scanned the repo So you can see the the activity throughout 2016 just basically shot up and the Size of the code base increased drastically as the project progressed The open hub site I haven't included a screenshot of it But open hub actually reckoned the project is worth about three and a half million dollars at this point based on estimates The reality is there's some libraries in the source tree, which are not ours if you take those out It's probably a down to about two million But it's a pretty large number. I was very surprised when I saw that. I know we put in a lot of effort, but it's Still surprising a number Give you an idea of how much code there is now One of our audience members and I were just talking about the ratio of Python to JavaScript in the code base earlier I originally thought it was going to be largely Python probably, you know, 75% Python and 25% JavaScript It's turned out and as I was rightly corrected earlier. It's such a UI in front-end heavy app that it's It's no real surprise when you think about it that actually most of the code is JavaScript so 152,000 lines and When I took that I did Try and exclude all the libraries that were not ours that we were just using So about 44,000 lines of Python You add all of that up and over a quarter of a million lines of code Now obviously we should all get paid by lines of code. We write right So I reckon I'm do a pretty big bonus so post release and Anyone who's seen this talk before you won't have seen this bit because this is the bit I wrote at the weekend while I was sat in my hotel room all day The teams expanded a lot The pivotal labs have started working on PG admin now because they want to add green plumb support And they also want to contribute to further enhancements and improving various features the application They're not just providing development Expertise, but they've got project managers looking and looking at User stories understanding what the users want by interviewing them and talking to them Doing workshops and similar things And then designing features based on that feedback We're hoping to do more and more of that as we we move forward so that when we improve PG admin It's not based on what we think people want anymore But it starts to become more and more based on what the users tell us they want Aside from that I mean it's great having the pivotal guys on board because they've really diversified the experience in the PG admin team Most of whom have come from PG admin 3 originally have been learning new technologies The the pivotal team have a lot more experience than we do on the the web code And have been able to bring some some really good new ideas to the to the table They've also provided additional test suites the selenium based one that I mentioned earlier and another jazz Test suite based on Jasmine for unit testing the JavaScript code And obviously I work here on features fixes and helping us Work with more of formal design process You know we we obviously have to run the original project in a fairly formal way Otherwise we wouldn't have been successful, but moving forward. We're trying to improve now In PG admin 3 we were just design features based on what we want and as I said where we have the benefit of People now looking and really and trying to understand what users need We're also syncing up between the teams regularly, which is which is good So it's not just a collaboration on the mailing list, but we're you know We're also talking to each other and Really planning in depth where we're going which is great There's a little screenshot of some of the work that has been done What we've found is users want various things out of the history and the query tool And this apparently is proving to be pretty popular A feat and pretty popular feature request So what we have here is basically a mock-up of the new history that would eventually be persistent So instead of just being for that session you're currently running you could go back and look at the queries you ran last Tuesday for example You can see very clearly the error messages that came any notices at the bottom that came when you ran it as Well as the full query text which you can just copy and paste back in and run again if you want to So there's one example of the great work that the guys that pivotal have been contributing Not sure what release this is going to be in just yet. It's still being fine-tuned and worked on But I'm hoping to see it in the next couple of months I'm looking for nods from the back corner of the room Sorry Couple of weeks next couple of weeks, please guys So some of the things we've learned bugs are inevitable You know, we have professional QA people that have been helping us with PG admin But no matter what you do how much you test there will always be bugs in horrendously complex bits of software like this You know, we've got hundreds of features If you count up every little last thing you can do every bit of sequel that you can generate through the UI and so on Thousands of options if you think you can all the different data types You could create on columns and whether or not their primary keys or whether or not they're unique and all the constraints you can put on them Supporting six versions of Python 10 supported databases 11 when the the Green Plum compatibility work is finished and Five core browsers each of which have lots of different versions out there and some of which evolve very very rapidly So you can imagine there are millions of combinations of things you can do and run PG admin in so there's no way you're going to do a manual a fully comprehensive manual test of all those possible combinations of Of options and software versions and so on and there's no way you're going to do it in an automated fashion either But we needs to do Whatever we can to try and minimize those bugs of course regardless so testing PG admin 3 never had any test suites at all it was Released every time with us just clicking through trying it. Can I connect to a database? Yep. Can I run a sequel query? Yep, can I open the help file? Yep done release it, you know, it literally was Sort of Saturday afternoon hobby hacking. I mean, that's how the project started Nowadays we've got The three automated test suites They are being run for every check-in there's a Jenkins server that I'm running That is building everything it can possibly build running all of the automated tests against every supported database on every single version of Python And we're continuing to add to that suite as and when we find bugs We're going to be enhancing the suite to make sure those bugs don't come back as and when we build new features We'll be enhancing the suite to make sure that those features work as they're supposed to so We're never going to get it perfect But we're really concentrating on Testing these days and making sure that everything we write is going to be testable moving forwards We found there were performance issues shock horror Who'd have thought something might be slow on a computer these days So pgm-in4 in a desktop app is always going to be slower than a native application Right It's a web app. It's running in a Python interpreter and it's being rendered on what basically as a web browser With the best will in the world is never going to be as fast as a native C++ app But we never really expected it to be a problem practically speaking and in most cases it actually isn't what we found though users are actually very sensitive to To delays that they perceive when they're running there at the application if the query tool takes a second to load Practically speaking it doesn't stop you doing anything. It's not going to slow you down because You that second is when you're figuring out where to put the mouse next and what you're going to type, right? The reality is that the perception of Slowness is something that tends to annoy users regardless So we're doing a lot of work at the moment to try and address that and make everything as optimized and as fast as possible Interestingly, I've never heard anyone complain when they are intentionally running in web mode. I Think it's because people expect websites to be slow and expect things running in their web browser to be slow. Yes We have the desktop mode Primarily because we we don't expect everybody to be running a web server if you're if you're running a Windows machine You don't want to have pg. I've been running as a server behind a web Server all day long every day. So we wanted it to be a Design such that you could just open it like a regular application run it close it and it stops again So The desktop runtime that does that for us is basically some C++ code that glues together A browser engine and a Python interpreter into one app. So it starts up. It loads the Python code and then it renders it so One of the changes that we have made to improve the speed already is We've rewritten the query tool and the way the results are handled and the data is transferred back to the query tool for rendering in the grid We basically redesigned the JSON data structure that she used behind it and of in some cases Reduced the amount of data that's transferred by up to 70% And that actually had a fairly noticeable Performance improvement with it. We've also got various ideas that we're we're playing with at the moment and I think pivotal are doing some work on this right now to optimize the JavaScript css and HTML So that we can minimize the data transfer size for that and the number of round trips and the amount of template rendering that We do and so on now. We spoke about the desktop runtime. We've had a number of problems with that as well, which we've Primarily found when it's been in the hands of users. We found that it tends to work well for most people but we have a There are a number of situations where it just doesn't seem to work so well We found first of all that embedding browsers and applications is actually hard to do and to get right We've also found that Qt web kit has got rendering bugs We use Qt web kit in the first two versions of pgabin 4 It has now since been deprecated in Qt 5.5 in favor of Qt web engine, which is based on chromium However, that can be significantly slower for some users and makes them complain It can also have some fairly nasty rendering issues over RDP connections. That's the Microsoft remote desktop protocol We think it's to do with the graphics cards on the server It's running on but some users report seeing a blank just a black screen when they load the application There are other reports of people also using Qt web engine for other applications that have seen the same issues We also run into problems with the visual studio run times newer versions of Qt web engine are dependent on Visual C 2015 which is Because chromium the underlying browser on which it's based has moved to that as its minimum browser because I think they use some some of the C++ 2011 spec code these days or functionality However, that's incompatible with the edb postgres packages, which use Visual C 2013 As does Python 2.7, which we use underneath Now for those of you that are not familiar with C and C++ you basically don't want to mix runtime versions in a single application Because if any pointers or data structures get passed between the two seriously bad things can happen so that causes us Pain, you know, we can make things work But the whole ecosystem of other things that we rely on suddenly becomes this incompatible mess And makes it very difficult Solving that problem. We've looked at some other options Chrome embedded framework, although that also requires visual C 2015 But it does potentially solve some of the speed and rendering issues We looked at whether or not we can securely launch an existing browser. So when you start the app It's basically just the Python interpreter that then runs your existing browser on the system The problem with that is we need to pass a security key to the browser So that only you can connect to the server that's running if you're on a multi-user system You don't want somebody else pointing their browser at your PG admin server The difficulty there is the only way to pass that key is on the URL that you pass to the browser and That means it's going through the command line, which on Windows is not a problem But on Linux system anyone who can PS minus EF Then gets to see that URL with the security key in it So that's that's a fun problem Well, I also found though on Sunday when I was sitting in my hotel room being boring That a bunch of guys have actually started a project called QT webkit reloaded They've also run into the QT web engine issues that we've run into so they've taken the old QT web code they've brought it up to date with the latest versions of Webkit and made it a lot more stable fixed a number of bugs and so on I Tried it on my Mac and it actually seems to work really well So as soon as I get home, I'm hoping I can get it to work on Windows as well And maybe that will solve our problems We also found unicode support is really hard in Python Because we're supporting both Python 2.6 and 3.3 and above and 3.3 and above We have to deal with the different ways that unicode is supported in those two versions of Python Python 2 doesn't use unicode by default Although it can do and Python 3 does it does use unicode by default So you'd think with a few if statements here and there you could deal with that Unfortunately, it's not quite that simple because it never is What we found was that Python 2 uses the ANSI API calls on Windows So when you're executing executing external processes like PG dump and PG restore through Python You can't pass unicode characters to to those utilities So you can't PG dump a database with a Chinese name, for example Because Python is using the ANSI version of the API instead of the wide character version So that's a difficult problem as well We're probably gonna have to figure out how we can build the packages for Windows using Python 3 and deprecate Python 2 on that platform Postgres also supports lots of other character sets and they're not all 100% compatible with unicode Which was specifically UTF-8 Which also potentially causes us some some much more limited problems, but still ones that we need to solve We also found that some users missed features You know, we dropped various features that we thought people didn't use You know, we had fairly limited audience that we were able to actually poll when we were figuring out what to include and what not to include And inevitably when you've suddenly got 200,000 people downloading version one That application is in a is a much bigger audience than you you polled when you asked what you could get rid of SSL certificate based authentication, for example, we've had a number of people asked for that back The host address option one of Steven's old colleagues asked me for that blank Because they use it in a Kerberos environment for doing their authentication That's just one field on the connection dialogue SSH tunneling which never even worked out well in PG admin 3 because it was another one of these buggy underlying libraries You know, I've had a bunch of people ask for it back again And other things like we had a database restriction field where you could put Basically part of a sequel where clause in your configuration So it would only show you databases that matched that that restriction that you put in The idea being that if you're in a say a school and there's a database for every student Each student could just put effectively where database name equals my database So it hides the other 60 from And the scratch pad Very simple. It's just a text area on the screen that was designed for you just to use for copying and pasting things into Or writing notes in and things like that. I've had a few people ask for that back. I Just use my editor, but people like it in the application. So so that's about where we are now that's a Hopefully give you an idea of some of the things we're looking at where we're going to at the moment We're continuing to fix bugs add new features make the code more efficient more solid and Just basically make it better and you know, hopefully it will still be around in another 15 years like PG I mean three was and I do hope that we don't have to rewrite it before I get to retire Which would be nice So I Didn't have a slide here that said demo. I pulled that out when I Rewrite the end because it made the talk quite a bit longer. I believe I've got about five minutes left And it did then I realized afterwards it said in the description of this talk on the the conference website that it includes a demo of the product I can answer some questions for five minutes or I can Shut up and go away and catch my plane if you prefer or Or we can have a very quick look at the application if you want Any Yeah No on On OS X it's an app bundle in a disk image. Do you drag it and drop it into your applications folder and away you go? It's completely self-contained Well, it was on Mac it will use the system Python It ships with a virtual environment of its own that's pre-configured, but it will use the system Python interpreter on Windows Again, it is self-contained on Windows. It is an installer. It will stall into the program files or wherever you direct it to The big difference there is that it does include a Python executable on libraries as well Because Windows doesn't have Python by default Yeah, the RPM packages will just dump things in the relevant Python directories they tend to be a bit more spread out Right now the really the main new feature is just the dashboard so when you I can get this to Come out so when you log in for example you get the welcome dashboard Well, which is designed to help guide you on what to do next you've got quick links to configure or add a server and so on And if you click on Click on a database or a database server Actually have my Rendering cycle turned right down so the graphs are taking a little while to render But it gives you a quick view of monitoring What what the system is doing? I think I've got these sampling every 10 seconds, but the default is every one second Aside from that and the ability to run multi-user on the web We haven't really added any new features yet. What we've done is redesigned various things to make them easier So for example when you create a table in pgabin 3 you don't want to create table dialogue Then you go to the columns tab and then you click a button to add a column and a pop up another dialogue And you'd fill that in hit okay, and then Love the rinse repeat. So we've done a lot of optimizations in usability where we've redesigned those sort of patterns Such that you can just type straight into a grid if you want or you can expand the row in a grid So primarily the focus has been on avoiding the need to have lots of pop-up dialogues and and so on and make it much faster to To define the table as you want Moving forward is when really from here on is when we start to think about new features Starting primarily with the work digitalist the gun Yeah, so if you think back to 2002 when postgres 7.3 Was the current version something like that? We didn't have roles at all. We had users and groups and Then so when we added support for roles what we did in pgabin 3 was Users to try and avoid confusing users too much. We called them group roles and login roles To try and sort of keep that same sort of design One of the choices we made in pgabin 4 was we're going to just treat them as roles Because that's what they are in the database now you'll notice that Basically if the can log in flag is set you'll get the little icon that just looks like one person and if the Can log in flag is not set then you get the multi-person icon So that's how you can tell it a glance whether it's a group role or a login role plus a question look at the properties Yeah, so as I mentioned the UI is plugable so each one of these nodes is just basically a drop-in Python package That's discovered it automatically at load time and includes various bits of CSS and JavaScript and HTML that it needs to To render its dialogues and so on They're pretty easy to build so you can just take one of those nodes and copy and paste it and edit it as you need to and also tools like the Being a database I think tools like the Yeah, gotcha tools like the ground wizard Also plugins that just hook into the menu and are auto discovered at launch time There's documentation in the online docs about the API's Although it's not overly extensive at the moment I'm told I've got a stop. So I think we managed to get something vaguely approaching a Demo in there as well as some questions. So thank you very much for listening Please download


We have more information tonight on a train versus semi-collision near Fostin that happened last Friday. According to the state patrol the accident happened just before 3 p.m. about a half mile west of Fostin on the south side of highway 2. David Landsberg of Fostin was driving an empty grain truck north on 400th street and he attempted to cross the railroad tracks but didn't see the train. His trailer got ripped open but the state patrol says there were no injuries. If you enjoyed this segment of Lakeland news please consider making a tax deductible contribution to Lakeland PBS.