eBay versus Shopify dropshipping. Which one's best, what are the differences and which one should you use? If you've been wanting to start dropshipping but don't know what platform is right for you, then this video is exactly what you need to make that decision. Now, with that being said, make sure you watch this video all the way through to get the most out of it and let's go ahead and get started. What's going on, everyone? Mario here with AutoDS bringing you another video on the dropshipping business. If you like informational videos in dropshipping and like to learn how to scale and grow your business, make sure you hit that subscribe button so you don't miss out on any future videos. Also, if you want more information on any of the topics that I'm gonna touch in this video, all you have to do is go ahead and check out the description down below. I'm gonna have a link to the relevant article down there. Okay, so before we start comparing apples and oranges, I mean, Shopify and eBay, there's one thing that we need to make sure that we understand. And that is what is dropshipping? So in the simplest way that I can put it, dropshipping is a fulfillment business model where you pretty much don't touch absolutely any inventory. All you have to do is reroute the orders that come in directly from your store to your supplier. Once your supplier receives those orders, they're gonna make sure that they pack and ship the items directly to your customer.  So the extra 15 bucks, that's your profit, that's for you to keep. So eBay versus Shopify, let's start off with what exactly is the difference? So when we're talking about eBay, we're talking about a marketplace. Marketplaces are dedicated websites where people go and shop. They're pretty much like online malls. People go to that website, in this case eBay, with the specific intent to make a purchase. So it's pretty much like an online mall. Now, when we're talking about Shopify, that's a bit different. Instead of being a mall, it's pretty much just like a store.   Then you're gonna be able to upload all of your products and make a few sales.  So you're gonna open up your own online store.  Now diving a bit deeper into eBay, these are a few benefits that you can expect when you sign up to become a seller on eBay. For one, you have free organic traffic. As I mentioned before, people are going to eBay with the intent to make a purchase. So you don't have to worry about marketing and you don't have to worry about putting your products on Facebook ads or making content on, let's say, TikTok. People are going to eBay specifically looking for items to purchase. So as long as you're there, you're gonna be enjoying free organic traffic. Another major benefit is the fact that it's extremely low cost to start up or practically it's free. So you don't have to pay any monthly fees to be able to sell on eBay.  But honestly, if you're just starting off, you don't need to do that. You can go ahead and use a free account and get started pretty much for 100% free. eBay also has a buyer seller protection program, which is absolutely fantastic. If there's ever any issues with one of your orders, so if you have a problem with a customer or if your customer has a problem with you, let's say they don't receive their orders, you can always reach out to eBay and they'll take care of you. Now, if you do want a little bit of an extra boost on your listings and have them shown to a wider audience, then you can opt in for eBay PPC or pay per click. These are pretty much advertisements for your products.  If you want a little bit more information on that, then you can check out our cheat sheet. Now on that cheat sheet, I'm actually gonna have everything that I'm talking about in this video, including all of the different links and a couple of extra tips and tricks. If you want access to that, all you have to do is go ahead and comment down below eBay versus Shopify and let me know what your takeaway is from this video. What did you learn from this video? Once I see that you went ahead and commented, I'll go ahead and reply back with a link to the cheat sheet. Now, if you do decide to set up shop on eBay, then there's a few things that you should keep in mind. For one, there are selling limits, at least at the beginning. So eBay does have selling limits, but that's usually for newer accounts. Now, all that really is, is they put a cap on how many items you can sell each month. Now, you can easily get around this. All you have to do is either establish a selling history with eBay or you can simply reach out to them through customer service and request for your limits to be lifted or raised. Another thing is that on eBay, you have limited customizability. Since it is a marketplace, you're pretty much selling on their website. So the only thing that you can really customize is the description on your product pages. Now that was eBay, let's go ahead and dive in a little bit to Shopify. So for one, on Shopify, you can fully customize your website. You can make it look however you'd like and to make that a lot easier for you, Shopify offers a bunch of different themes. Some of these are free while others are paid, but ultimately, these really increase the aesthetic of your website. Also, when it comes to starting up on Shopify, it's actually not that complicated. So Shopify has made it super easy for you to be able to create and design your own website using its built-in templates. Once you go in to edit the template, arranging it however you'd like is super easy. For the most part, all you really have to do is drag and drop. Also, there are no selling limits. Since it is your own website and it's your own store, you're playing by your own rules. So there really is no selling limits. You can do whatever you want and you can sell whatever you'd like. But just take that with a grain of salt because there are a few types of items that you really don't want to drop ship. And to help you get a little bit more traffic to your site, Shopify also has a built-in blog editor. So you can start your own blog directly from Shopify. And best part is that it's totally free. Shopify also has a super useful app store. In an app store, Shopify has tons of different apps that can either help you facilitate certain parts of your dropshipping business or even automate them. Ultimately, these apps, when used the correct way, can help you grow and scale your business. Now, unfortunately, when it comes to Shopify, there's no organic traffic. So it's gonna be up to you to bring in all of your different customers. So you're gonna have to do things like run Facebook ads, make organic content on, let's say, TikTok or just social media and promote your products however you see fit. And you can even use Shopify's built-in blog editor to start making content on there. Whatever it is that you need to do to bring in customers to your website, that's what you gotta do. Now to start selling on Shopify, you can start for free. Shopify always has a free trial that you can use to be able to test out how you like it. But after that, you are gonna have to pay either a monthly or a yearly fee. Now for the basic plan, Shopify starts at about $39 per month. That's when you pay monthly. Now, if you decide to pay yearly, you're gonna be looking at either $29 per month or about $348 per year paid in one go. Now, which one is better, eBay or Shopify and which one should you use? Well, honestly, that's all dependent on you. One platform isn't necessarily better than the other. It is, but for certain people, Shopify could be better for some people than eBay while eBay could be better for others. It's really dependent on you and your needs. Personally, I'm an eBay type of guy. I prefer selling on a marketplace rather than selling on my own website. I just find it easier. And honestly, that's personal preference. You have to test out both and see which one works best for you. You might like one, but find out that the other is actually better for you. Really, you have to figure out whether you're okay with marketing your own products or marketing your own website or if you prefer the organic traffic. Again, I prefer organic traffic. Whether you choose eBay or Shopify, ultimately, if you choose the right products, you're gonna be making a profit and you're gonna be getting sales. On both platforms, it is also possible to be able to start your own brand. So you can start your own brand using your own website or you can start your own brand using a marketplace like eBay. What you have to do is just be consistent with the types of products and with your branding. Now, one thing that both selling channels can benefit from is automation. When you use automation, you're pretty much streamlining your entire business. You can pretty much just end up being hands-off and just create a passive form of income. Now, the easiest way to be able to automate your store is by signing up for a platform like AutoDS. If you are interested in this, you can start up for just $1 right now for the free trial period. Now, what exactly is automation and how can it help? Well, for one, let's talk about product importing. Now, when it comes to importing your products, you can either go ahead and manually import your products, which means you're gonna have to go to your supplier's website, copy over all of the descriptions, the titles, the variations, save all of the images and then upload that to either eBay or Shopify or you can have a platform like AutoDS just do the whole thing for you. It really does save tons of time. Check this out. So here we are at one of my suppliers, Aliexpress and I'm gonna import one of these or two of these different types of products. So for one, I want these polarized sunglasses. So I'm gonna open it in a different tab and I'm gonna also do this fishing line. So for one, I'm gonna go to my sunglasses and I'm gonna just simply copy the URL. Then I'm gonna run over it back to my dashboard over at autoDS.com and I'm gonna click on add products. From here, since I'm gonna be uploading two different products at once, I'm gonna select the multiple products. Then here, I'm simply gonna just go ahead and paste the first URL, press enter, get the second URL and paste it as well. Then all I have to do is click on add as draft and it's gonna be added to my store. From there, I can make any necessary adjustments before making a goal live on my website or my eBay store. That's just one thing that you can automate. Another really handy feature that can be automated is the ordering process. So when somebody places an order for a particular item on either your eBay or your Shopify store, autoDS is gonna go ahead and take that order and automatically redirect it to your supplier.  Then once that supplier receives the order and ships it out and provides autoDS or provides you with a tracking number, autoDS is gonna go ahead and take that tracking number and update your customer with it. So that's pretty much all there is to it. It's totally hands off. You just have to do a little bit of work at the beginning, get things set up and then from there, it's smooth sailing. Now remember that I do have a cheat sheet that's gonna include everything that I mentioned in this video. And if you want access to that, all you have to do is comment down below Shopify versus eBay and let me know what your takeaway was from this video. Aside from that, there's also gonna be a relevant article in the description down below. So if you want some more information, just go ahead and click on that as well. Huge thank you to everyone for watching today. Once again, my name is Mario with AutoDS wishing you all nothing but success in your dropshipping business and I'll catch you all next time.


Okay, so let's try to rate these following compounds from highest to lowest boiling point. So I guess if we're starting with the highest boiling point things, the first thing we want to do is distinguish between organic and inorganic compounds, okay, or covalent and ionic compounds if you want to think about it on that. So the covalent compounds are always higher boiling point, okay, so they've got like boiling points in the thousand degrees, something like that. And then we've got to ask ourselves, what's the molecular weight of those two, right? So KCl is higher than NACL, so we go KCl, NACL, so this is first, highest, second. And now when we look at the other four molecules here, we see that these three, C6H14, C16H38, and CH4 are all hydrocarbons, so it means they're all non-polar, okay? Non-polar things always have lower boiling point than polar things, okay? So water actually is very, very polar. So it's going to be the next highest boiling point thing, but they're always higher. Is it better than which one is more? This one's a higher molecular weight than this one, okay? And then we got here the last thing, since they're all hydrocarbons, we need to think about molecular weight. So which one's the highest in molecular weight? It's this one. This one's the next highest in boiling, C16H38, C6H14, and then finally CH4, okay?


This is Stockinmore 10982. We are here at Summit Automotive in Fond du Lac, Wisconsin. We are new and used heavy-duty truck and RAM headquarters. Today we are checking out this super clean 2016 RAM 2500 crew cab long box limited package. This vehicle has the 6.7 liter Cummins diesel. It has been fully safe and inspected by our service shop. It has a fresh oil and filter change. All the fluids have been checked and topped off. This truck is 100% ready to go. Brilliant black crystal pearl is the color. We shoot all of our videos in 1080p, 60 frames per second. So if you have HD capabilities on your computer, tablet or smartphone device, turn them on right now because it is definitely your best way to check out the quality and condition of the truck before seeing it in person. And if you'd like to check out all the photos on this truck in the upper right hand part of your screen is a link to our website. Click that and check us out there. This one comes with the 20 inch painted alloy rims with the chrome pockets. And it has Firestone Transforce LT285 60R20 tires. They have kind of an all-terrain tread pattern to them. And this one has probably about 30 to 40% of the tread left on it. Back tires are a little bit better. Frame and underbody is in really nice shape on this truck. Front fender is in excellent condition. No dents or dings on there. Headlight lenses are nice and clear. You get the projector lamp headlamps, the LED running lights and the factory fog lights. Front bumper is in really nice shape as well. I didn't see any dents or dings on that. You get the front bumper parking sensors and that lower valence is in really nice condition too. You get the stamped ram grille. Hood is in really nice shape. No dents or dings and it does come with the clearance lights up top. Passenger side front fender is in great shape as well. No dents or dings on that. And the passenger side rim. No scuffs or scrapes on there. As we go down this side of the truck, take note of how clean the body is, how reflective and mirror-like that paint is. We take these HD videos so if you are far away or even if you're close by and you just cannot make the trip down but you're still interested in purchasing the vehicle, you can see the truck, hear the truck and of confidence in the vehicle that you're looking at before you even get here so that when you do get here there's absolutely no surprises. Cab is in nice shape and that's why we offer the Summit Auto Fastpass option in the upper right hand part of your screen. A link right to our website where you can apply for financing, get pre-approved, see a payment quote, even appraise a trade-off from the comfort of your own home. So when you get here all you gotta do is drive the truck, love it. You'll be all set to go. You can see you've got the wheel-to-wheel side steps. They go all the way to the back so you can get into the bed of the vehicle. Back rims in pretty nice shape. And the back tires have right around half the tribe left on them. Frame and underbody is an exceptionally nice condition and this truck has all the remaining factory exhaust. So it hasn't been altered in any way. Frame and underbody rests the way back. It's in really nice shape. Lower rockers look really good as well. And the step bars are in really nice condition too. As we come around to the back of the vehicle, the rear bumper is in nice shape. Didn't see any major dents or dings on there. It does have the backup parking sensors. Has full towing package which includes a receiver hitch four pin and seven pin wiring. The tailgate is in really nice shape as well. You get the ram lettering on the back as well as the limited chrome trim badge. Has a very nice spray and bed liner. The bed itself is in excellent condition. And you do get the LED bed lighting back here. It has a pace Edwards rolling tonneau cover. I'm not going to open it but it rolls all the way open. Then you got that strap to pull it back. And as you go down the driver's side just as clean as that passenger's side. I didn't see any dents or dings on the box here. Looks really good. And for full disclosure this back rim is in excellent shape as well. No scuffs or scrapes on there. Step bars on this side look really good. And the driver's side doors are in excellent shape as well. It does have the heated fold out tow mirrors. They have built in LED directional signals on the side. They fold up like so. And they also fold in. They are a power fold in mirror. So press the button. They will fold in like so. Same thing with the other side. Power windows, power locks, power mirrors. You got the wood grain trim. The nice leather bolstering and stitching right there.  You get the special stitching in the backrests there as well. No rips, no tears on these seats. They are in excellent shape. Really a nice soft touch leather too. Memory driver's seat, lumbar, factory all-weather floor mats, auto headlamps, power pedals. And you got steering wheel controls on the back of that steering wheel. As you can see, this truck only has 15,843 miles. You get a digital speedometer, outside temp, and compass display. Comes with the heated leather wrapped and wood grain trim steering wheel. Cruise controls on the right. Bluetooth and information center controls on the left. You do get audio controls on the back of the steering wheel. Comes with the six speed automatic transmission. The 8.4 3C radio, AM, FM, and Sirius XM radio capabilities. It does have the factory navigation system on it as well. You got your heated and cooled C buttons. And you can do your backup camera anytime you want. This one also has the Alpine premium sound system. And if you don't like doing all the controls up there, don't worry, you can do more tactile controls down here with the buttons and the knobs. You also have a volume and tune control. Factory brake controller. This one has the alternate trailer height. So you can actually set up different heights in the back, which means it also has the air suspension in back. So it'll actually auto level your load. If you've got a heavy trailer on there, it'll auto level it. Then you can do different trailer heights as well. Heated and cooled C buttons. Heated steering wheel buttons down here. Stability control tow haul. Factory exhaust braking. You got those front and rear parking sensors. It has the keyless entry and go system with the remote start. You do get a 115 volt, 150 watt plug-in. Passengers side floor mat and seat are in excellent condition as well. No rips or tears on that. And it does come with the power sunroof. Up here you get map lights, your power slide and rear window, and your home link buttons for your garage door security systems and lane systems. And 911 and assist buttons in the rear view mirror. We'll take a quick look at the back seats and then check out under the hood. The back seats are just as nice as the front seats. These are heated on the outboard side, meaning that they're heated on the driver and passenger side.  Power slide and rear window. The gray tubing. Piping I should say, sorry. These seats fold up for extra storage. And you do get load floors back here, which are really nice. You've got pets. You can put both sides down. You've got a nice flat place for them to lay. Otherwise you've got muddy boots or tools. Put them on there. You're not going to get your nice limited leather seats dirty. You also have saddle bags in the back, which are pretty cool looking. And there are your heated seat buttons. You also get storage underneath here. This looks like it's a winter front and receiver hitch reducer back here as well. And then in the floor you get in-floor storage with removable bins for easy cleaning. You can put ice and drinks in there. It's like you've got too many coolers wherever you go. Last but not least, you've got the child safety locks on the back doors and the bottoms of the doors all look really good on this truck. And we'll take a quick look under the hood. I would personally like to thank you for checking out the video today and hopefully from this HD video. You've been able to tell just how clean this truck is all the way around inside. Now under the hood we have the 6.7L Cummins diesel engine bay is very clean, runs very smooth. This truck has been fully safe and inspected by our service shop. It has a fresh oil and filter change. All the fluids have been checked and topped off. And this vehicle is 100% ready to go. And to see more pictures of this truck or one of our other 450 new and used cars, trucks, SUVs, minivans, Wranglers, halftones, recoder tons, one tons. You name it, we got it. Go to our website, www.SummitAuto.com full pictures and descriptions of every single vehicle from two locations all at SummitAuto.com. And if you'd like to check out more HD videos you can go to YouTube.com slash SummitAuto remember to like, subscribe, and share on this video and all the videos that you see there. In fact, in a second you will see a link to subscribe to our YouTube channel on your left. A link to more Ram 2500 truck videos like this one on your right and if you have not been to our website on the bottom link to this vehicle on our website click those, check us out. And we really look forward to helping you with this Super Clean 2016 Ram 2500 Crew Cab Long Box Limited Package in Brilliant Black Crystal Pearl. Thanks again for checking out the video.


Welcome back to Boston. This is theCUBE's coverage of the Red Hat Summit 2022. The first Red Hat Summit we've done face-to-face in at least two years, 2019 was our last one. We're kind of rounding the far turn. You know, coming up for the home stretch, my name is Dave Vellante. I'm here with Paul Gillan. A.J. Mungara is here as the Senior Director of IoT, the IoT group for developer solutions and engineering at Intel. A.J., thanks for coming on theCUBE. Thank you so much. We heard your colleague this morning in the keynote talking about the dev cloud. I feel like I need a dev cloud. What's it all about? So, we've been working with developers and the ecosystem for a long time trying to build edge solutions. A lot of time people think about edge solutions as like just computer at the edge. But what really it is, is you've got to have some component of the cloud. There is network and there is edge. And edge is complicated because of the variety of edge devices that you need. And when you're building a solution, you've got to figure out like where am I going to push the compute? How much of the compute I'm going to run in the cloud? How much of the compute I'm going to push it at the network? And how much I need to run it at the edge? A lot of times what happens for developers is they don't have one environment where all of the three come together. And so what we said is, today the way it works is you have all these edge devices that customers buy, they install, they set it up and they try to do all of that. And then they have a cloud environment that they do their development. And then they figure out how all of these comes together. And all of these things are only when they're integrating it at the customer, at the solution space is when they try to do it. So what we did is we took all of these edge devices, put it in the cloud and gave one environment for cloud to the edge where you could do your complete solution. So it essentially simulates, yeah. No, it's not simulating. There's a span, so the cloud spans the cloud, the centralized cloud out to the edge, yes? No, no, what we did is we took all of these edge devices that will theoretically get deployed at the edge. Like we took all these variety of devices and put it in a cloud environment. So these are non-rack mountable devices that you can buy in the market today. That you just have, like we have about 500 devices in the cloud that you have from Atom to Core to Xeons to FPGAs to HDDL cards to graphics. All of these devices are available to you. So in one environment, you have like, you can connect to any of the cloud, the hyperscalers. You could connect to any of these network devices. You can define your network topology. You could bring in any of your sources that is sitting in the Git repository or Docker containers that may be sitting somewhere in a cloud environment or it could be sitting on a Docker Hub. You can pull all of these things together and give you one place where you can build it, where you can test it. You can performance benchmark it. So you can know when you're actually going to the field to deploy it, what type of sizing you need. So let me sure I understand. I mean, if I want to test an actual edge device using a 100 gig ethernet versus an MPLS versus a 5G, you can do all that without virtualizing? So all the edge devices are there today and the network part of it, we are building with Red Hat together, where we are putting everything on this environment. So the network part of it is not quite yet solved, but that's what we want to solve. But the goal is here is, you can, let's say you have five cameras or you have 50 cameras with different type of resolutions. You want to do some AI inference type of workloads at the edge. What type of compute you need? What type of memory you need? How many devices do you need? And where do you want to push the data? Because security is very important at the edge. So you've got to really figure out, like I've gone to secure the data on flight. I want to secure the data at rest. And how do you do the governance of it? How do you kind of do service governance so that all the services, different containers that are running on the edge device, they're behaving well. You don't have one container hogging up all the memory or hogging up all the compute or you don't have like certain points in the day, you might have a priority for certain containers. So all of these models, where do you run it? So we have an environment where you could run all of that. Okay, so take that example of AI inferencing at the edge. So I've got an edge device and I've developed an application and I'm going to say, okay, I want you to do the AI inferencing in real time. Right. You got some, maybe some kind of streaming data coming in. And I want you to persist, I don't know, every hour on the hour. I want you to save that timestamp. Or if some event, if a deer runs across the headlights, I want you to persist that data, send that back to the cloud and you can develop that, test it, benchmark it. Right. And then you can say that, okay, look, in this environment, I have like five cameras like at different angles and you want to kind of try it out. And what we have is a product which is Intel OpenVida, which is like an open source product, which does all of the optimizations you need for edge inference. So you develop the, like to recognize a deer in your example, I developed the training model somewhere in the cloud. Okay. So I have like, I've developed with all of the things, I've annotated the different video streams and I know that I'm recognizing a deer now. Okay. So now you need to figure out, like when the deer is coming and you want to immediately take an action, you don't want to send all of your video streams to the cloud. It's too expensive bandwidth that costs a lot. Right. So you need to compute that inference at the edge. Okay. In order to do that inference at the edge, you need some environment you should be able to do it. And to build that solution, what type of edge device do you really need? What type of compute you need? How many cameras are you computing it? What different things? You're not only recognizing a deer, probably you're recognizing some other objects. Sure. You do all of that. In fact, one of the things happened was I took my nephew to San Diego Zoo and he was very disappointed that he couldn't see the chimpanzees that was there, right? The gorillas and other things. So he was very sad. So I said, all right, there should be a better way. I saw like there was a stream of the camera feed that was there. So what we did is we did an edge inference and we did some logic to say at this time of the day, the gorillas get fed. So there's likelihood of you actually seeing the gorillas very high. So you just go at that point in a day so that you see it. And that's what you capture. That's what you do. You want to develop that entire solution. It's based on weather, based on other factors. You need to bring all of these services together and build a solution. And we offer an environment that allows you to do it. Will you customize the edge configuration for the developer if they want 50 cameras? That's not, you don't have 50 cameras available, right? So it's all cameras. What we do is we have a streaming capability that we support. So you can upload all your videos and you can say I want to now simulate 50 streams. I want to simulate 30 streams or I want to do this, right? Or just like two or three videos that you want to just pull in and you want to be able to do the inference simultaneously running different algorithms at the edge. All of that is supported. And the bigger challenge at the edge is developing a solution is fine. And now when you go to actual deployment and post deployment monitoring maintenance, make sure that you're like managing it. It's very complicated. What we have seen is over 50%, 51% to be precise of developers are developed some kind of a cloud native applications recently, right? So that we believe that if you bring that type of a cloud native development model to the edge, then your scaling problem, your maintenance problem, you're like, how do you actually deploy it? All of these challenges can be better managed. And if you run all of that as an orchestration layer on Kubernetes and we run everything on top of OpenShift. So you have a deployment ready solution already there. So everything is containerized. Everything you have it as help charts or Docker compose, you have all there. You have tested it in this environment and now you go take that to the deployment. And if it is there on any standard Kubernetes environment or in an OpenShift, you can just straight away deploy your application. What's that edge architecture look like? What's Intel's and Red Hat's philosophy around, what's programmable and it's different. I know you can run SAP in a data center. You guys got that covered. What's the edge look like? What's that architecture? Silicon, middleware, describe that for us. So at the edge, you think about it, right? It can run traditional in an industrial PC. You have a lot of Windows environment. You have a lot of Linux there now in an edge environment. Quite a few of these devices. I'm not talking about Far Edge where there are tiny microcontrollers and these devices. I'm talking about those devices that connect to these Far Edge devices, collect the data, do some analytics, do some compute, that type of a thing, right? You have Far Edge devices could be a camera, could be a temperature sensor, could be like a weighing scale, could be anything, right? It could be that Far Edge. And then all of that data, instead of pushing all the data to the cloud in order for you to do the analysis, you're going to have some type of an edge set of devices where it is collecting all these data, doing some decisions that's close to the data. You're making some analysis there, all of that stuff, right? So you need some analysis tools. You need certain other things. And let's say that you want to run, like RHCOS or Rail or any of these operating systems at the edge, then you have an ability for you to manage all of that using a control node. The control node can also sit at the edge in some cases, like in a smart factory, right? You have a little data center in a smart factory. Or even in a retail store. Yeah, retail store.  And those devices all can be managed and clustered in an environment. So now the question is, how do you deploy applications to that edge? How do you collect all the data that is sitting through the camera or other sensors? And you're processing it close to where the data is being generated. Make immediate decisions. So the architecture would look like, you have some cloud, which does some management of these edge devices, management of these applications, some type of a control. You have some network because you need to connect to that. Then you have the whole plethora of edge starting from an hybrid environment where you have an entire, like a mini data center sitting at the edge. Or it could be one or two of these devices that are just collecting data from these sensors and processing it. That is the heart of the other challenge. The architecture varies from different verticals, like from smart cities to retail to healthcare to industrial. They have all these different variations. They need to worry about these different environments they're going to operate under. They have different regulations that they have to look into, different security protocols that they need to follow. So your solution, maybe it is just recognizing people and identifying if they are wearing a helmet or in a coal mine, right? Whether they are wearing a safety gear, equipment or not. That solution versus you are like driving in a traffic, in a bike, and for safety reasons, we want to identify if the person is wearing a helmet or not. Very different use cases, very different environments, different ways in which you're operating. But that is where a developer needs to have similar algorithms are used by the way. But how you deploy it varies quite a bit. But the DevCloud, make sure I understand it, you talked about like a retail store, great example. But that's a general purpose infrastructure that's now customized through software for that retail environment. Same thing with Telco, same thing with the smart factory. You said not the far edge, right? But that's coming in the future or is that, will that extend? See the far edge, putting everything in one cloud environment, we did it, right? In fact, I put some cameras on some, like iPads and laptops and we could stream different videos, I did all of that. In a data center is a boring environment, right? What are you going to see? Like bunch of racks and servers? So putting far edge devices there didn't make sense. So what we did is you could just have an easy ability for you to stream or connect or upload these far edge data that gets generated in the far edge. Like say time series data, right? Like you can take some of this time series data, some of the sensor data or mostly, camera data, videos. So you upload those videos and that is as good as you're streaming those videos, right?  Are you supporting all manner of microprocessors at the edge, including non-intel? Today it is all Intel, but the plan because we are really promoting the whole open ecosystem and things like that. Yes, we've heard that. Talk about that. Yes, Pat is really talking about it. So we want to be able to do that in the future but today it's been like a lot of the, we were trying to address the customers that we are serving today. We needed an environment where they could do all of this, right? For example, on what circumstances would use i5 versus i9 versus putting an algorithm on using a graphics, integrated graphics versus running it on a CPU or running it on a neural compute stick? It's hard, right? You need to buy all those devices. You need to experiment your solutions on all of that. It's hard. So having everything available in one environment, you could compare in contrast to see what type of a workload makes best sense. But it's not just x86. It's x86 is your portfolio. Portfolio of FPGAs, of like graphics, of like we have all what Intel supports today and in future we would want to open it up. So how do developers get access to this cloud? It is all free. You just have to go sign up, register and you get access to it. It is devcloud.intel.com, you go there and the container playground is all available for free for developers to get access to it and you can bring in container workloads there or even bare-matter workloads. And yes, all of it is available for free. Do you need to reserve the endpoint devices, get access to them? You just comment that is where it is an interesting technology. How do you govern this? Correct. So what we did was we built a kind of a queuing system. Okay, so scheduler. So you develop your application in a control node and only you need the edge device when you're scheduling that workload. So we have this scheduling systems like we use Kafka and other technologies to do the scheduling in a container workload environment which are all the optimized operators that are available in an open shift environment. So we got those operators, we installed it. So what happens is you take your workload and you run it, let's say, on an i7 device. When you're running that workload on i7 device, that device is dedicated to you, okay? So, and we've instrumented each of these devices with telemetry. So we could see at the point your workload is running on that particular device, what is the memory looking like, power looking like, how hot is the device running, what is the compute looking like. So we capture all that metrics, and then what you do is you take it and run it on an i9 or run it on a graphics or run it on an FPGA, then you compare and contrast and you say, huh, okay, for this particular workload, this device makes best sense. In some cases, I'll tell you, right? Developers have come back and told me I don't need a bigger processor, I need bigger memory. Yeah, sure. Right? And some cases they've said, look, I want to prioritize accuracy over performance because if you're in a healthcare setting, accuracy is more important. In some cases, they have optimized it for the size of the device because it needs to fit in the right environment in the right place. So every use case, where you optimize, is up to the solution, up to the developer. And we give you an ability for you to do that. What kind of folks are you seeing? You got hardware developers, you got software developers, you got our IT people coming in. We have a lot of system integrators, we have enterprises that are coming in. We are seeing a lot of software solution developers, independent software developers. We also have a lot of students who are coming in free environment for them to kind of play with, instead of them having to buy all of these devices, we are seeing those people. I mean, we are pulling through a lot of developers in this environment currently and we are getting, of course, feedback from the developers. We are just getting started here. We are continuing to improve our capabilities. We are adding virtualization capabilities. We are working very closely with Red Hat to kind of showcase all the goodness that's coming out of Red Hat, OpenShift and other innovations, right? We heard in one of the OpenShift sessions, they're talking about MicroShift, they're talking about HyperShift, they're talking about a lot of these innovations, operators, everything that is coming together. But where do developers play with all of this? If you spend half your time trying to configure it, install it and buy the hardware, trying to figure it out, you lose patience. What we have done is you lose time, and it's complicated, right? How do you set up? Especially when you involves cloud, it has network, it has got the edge, you need all of that right setup. So what we have done is we have set up everything for you.  I want to count the people coming into my store, right? I want to see that if there is any spills that I recognize, and I want to go clean it up before a customer complains about it. Or I have a brain tumor segmentation where I want to identify if the tumor is malignant or not, right? And I want a telehealth solution. So they're really talking about these use cases, they're not talking about all these things. So what we did is we built many of these use cases by talking to customers, we open sourced it and made it available on DevCloud for developers to use as a starting point. So that they have this retail starting point or they have this healthcare starting point, all these use cases so that we have all the core, we have showed them how to containerize it. The biggest problem is developers still don't know at the edge how to bring a legacy application and make it cloud native. So they just wrap it all into one Docker and they say, okay, now I'm containerized. Yeah, got a lot more to do. So we tell them how to do it right. So we train these developers, we give them an opportunity to experiment with all these use cases so that they get closer and closer to what the customer solutions need to be. Yeah, we saw that a lot with the early cloud where they'd wrap their legacy apps in a container, shove it into the cloud and say, hey, it's really hosting a legacy app as all it was, it wasn't, didn't take advantage of the cloud native. And now people are coming around. Sounds like a great developer, free resource, take advantage of that. Where do they go? They go, So it's devcloud.intel.com devcloud.intel.com, check it out. So it's a great freebie. AJ, thanks very much for coming. Thank you very much. I really appreciate your time. All right, keep it right there. This is Dave Vellante for Paul Gillan. We were right back covering the Cube at Red Hat Summit 2022.


This study examined the legitimacy of the Nutriscore, a front-of-package nutrition label used in France and several other European countries, in Italy. It found that the legitimacy of the Nutriscore was primarily challenged from a pragmatic perspective, as it was seen as a threat to the Italian way of life and traditional food products. Additionally, the legitimacy of the Nutriscore was also challenged from a normative perspective, as it was perceived as not respecting the principles of the Mediterranean diet. Finally, the legitimacy of the Nutriscore was also challenged from a cognitive perspective, as it was seen as confusing for consumers due to its complexity. This article was authored by Morgan Filan, Lydian Maybeck, and Chantal Julia.


This is a scripture that I told my brother a lot that he's now serving a mission in Lyon, France. I would tell him we're inspired. I'd ask him, what are we inspired by? I love this scripture in Alma chapter 43 verse 45 and it says nevertheless the Nephites were inspired by a better cause, for they were not fighting for monarchy nor power, but they were fighting for their homes and their liberties, their wives and their children and their all, for their rights of worship and their church. I love that. I would ask my brother that question, what are we inspired by? What's motivating us? We'd always say together a better cause. I think so many times in our life we're faced with a difficult decision. Every day we're faced with choices and really we're in a fight with good against evil. If we can remember what we're inspired by, I think that can help us make good decisions. Remember that we're fighting not for power or to put ourselves above others or to judge others, but we're fighting. We represent our family, we represent our church and fighting for our right of worship. I think if we can remember that better cause, we're going to do lots of good in our life.


Third type, if I remove the scluidine and add phenyl group like this one, CH2 double bond CH and here we have the benzene ring. So polymerization of this gives, the name of this compound is styrene and the polymerization of this gives what? polystyrene polystyrene okay, the use of this is, I am not drawing the structure here again but can you tell me what is the repeating unit of this? CH2 single bond CH CH2 single bond CH phenyl ring and open bond both side N, correct? like that you can draw the structure, I am not drawing it here again because we know how to draw this another example you see, we remove this benzene ring and we attach CN here, cyanide this molecule we call it as acrylonitrile A-C-R-Y-O nitrile and on polymerization this gives what? polyacrylonitrile these are homopolymers, this we also call it as orlone the name of polyacrylonitrile is orlone orlone polyacrylonitrile we use for the formation of fibres uses it fifth one, if I remove all the hydrogen atom and add fluorine CF2 double bond CF2 polymerization this compound is tetrafluoro ethylene the monomer and polymerization of this gives you the compound we call it as teflon and the teflon that use of this is the formation of non-pupil even mouse feet is made of teflon yes sir so these 4-5 examples you must remember all these are examples of homopolymers not copolymers now the next thing is what are the polymerization techniques we have that is reaction what reactions involved in polymerization write down the reaction involved in so 2 types of polymerization reaction we have so heading is polymerization reaction like I said 2 types of polymerization reaction we have the first one is addition polymerization addition polymerization leave some space here and the second one we write down condensation polymerization addition polymerization also we have 3 types the first one is free radical polymerization the second one is cationic polymerization polymerization and the third one is anionic polymerization condensation polymerization what happens into this the molecules like molecules like water NH3, HCl, etc. goes out, eliminates and the 2 molecules combined so these are the 2 types of reaction we have first of all we will see free radical polymerization so next heading you write down free radical because cationic and anionic we will not go into that detail I will just give you the idea how it forms basically the difference in these 3 reactions is what the intermediate or free radical cation and anion that is the only difference ok so reaction part is not that important but free radical we will see that write down the first one free radical polymerization free radical polymerization free radical polymerization this mechanism involves the formation of free radical ok and that is why this we also call it as chain growth polymerization because in free radical mechanism we know that initiation step then chain propagation then chain termination this we also call it as chain growth polymerization growth polymerization and since free radical involves in this so these kind of reaction is very difficult to stop difficult to stop difficult to stop means we do not have any control on this reaction any control on this reaction ok so that's why we most probably will get very complex structure into it if we try to control it it's not possible because intermediate is free radical which is highly reactive and we know in free radical reactions we do not have any control into that ok that is one thing now for this reaction since it involves free radical so this reaction actually requires a free radical agent ok which forms free radical generally so for this reaction we need a free radical agent free radical agent are those molecules or compounds which helps in the formation of free radical ok it helps in the formation of free radical like for example we can take any peroxide or oxygen O2 as a catalyst we can take or we can take any peroxide for this purpose in general we use benzoil peroxide as free radical agent so benzoil peroxide if you look at the structure the structure of benzoil peroxide is this pH C double bond O and then we have a peroxide linkage C double bond O and pH so what happens with this benzoil peroxide all these peroxy compounds where we have this linkage peroxy linkage are generally not that stable and when you heat this slightly this bond dissociates and it forms radical which is pH C double bond O O radical plus pH C double bond O O radical why this happens because because these two oxygen ok has lone pair of electron on it and that's why we have very high lone pair lone pair repulsion and hence the dissociation of this bond is easier so one of the electron here is taken up by this oxygen and another one is taken up by this oxygen and it forms a free radical like this we also know that this free radical has property to eliminate neutral molecule neutral molecule and forms new free radical so in this what happens two CO2 molecule eliminates I am writing down for both one one CO2 from this, one CO2 from this eliminate and we will get two phenyl radical I should write down this we will get two phenyl radical got it? yes sir so this is the first step of the reaction and this is step like I said we call it as chain initiation step free radical mechanism chain initiation step ok next step is what? chain propagation in chain propagation what happens this phenyl radical in the next step this phenyl radical has a free radical here it reacts with the ethylene that you have and with a suitable pressure temperature catalyst so here this one electron comes over here and these two joints like this so the product is this CH single bond CH2 radical like this only the chain propagates we have another molecule also CH2 double bond CH2 combines with this here and we will get a long chain so in short if I write down n times if this steps goes then it gives ph CH2 CH2 CH2 CH2 radical this is suppose n times like this compound we will get CH2 radical ok and finally what happens this one and this one club together because we have this kind of many compounds are there so all these clubs together and it forms ph ph2 ph2 ph the whole thing suppose this is x number of times like this only ok and finally this ph ph goes out and we will get a long chain compound here so basically this reaction involves so this last step is chain termination when all the free radical combines together this step is chain termination from here to here it is chain propagation and till here it is chain initiation ok so like you see free radical involves in this reaction the structure of the polymer that you get here is very complex it is there is no proper arrangement order arrangement here why because the intermediate is free radical which is highly reactive and we do not have any control in such reaction copy it down the repeating unit is just ph2 ph2 right both the ph2 monomer is that only you know ph2 double bottom ph2 so with that only we will get the repeating unit for homopolymers the repeating unit is not that important for copolymer it is important we will see that also ok so similarly we have cationic polymerization there the intermediate is in cation cationic polymerization ok anionic polymerization intermediate is in anion ok so that mechanism like I said even this is also not important the only thing is if you have any cationic suppose h plus present then this cs2 double bond cs2 will attack like this if I write down here you see cs2 double bond cs2 we have with h plus it forms cs3 cs2 plus now this reacts with again cs2 double bond cs2 and the reaction proceeds ok so that's how the reaction goes in cationic polymerization anionic may will have this if you have suppose a salt like k ns2 so it is k plus ns2 minus and when this reacts with cs2 double bond cs2 so in this what happens this minus attacks on this carbon and this goes here so we will get cs2 ns2 ns2 cs2 and cs2 negative so this is cationic polymerization this is anionic polymerization again this negative charge will attack on to this molecule shift and we get a long chill compound that's how it goes so like I said it is not important ok the mechanism here ok this is the three reaction we have addition and addition polymerization which involves free radical cationic polymerization and anionic polymerization


I'm... That's me, Daniela Iperoncida. That's what I look like on television. I work for a company called D.V.O. It's a Swiss company, I'm very lucky to work for them. And we do cloud hosting for Django and Python developers who don't want to be system administrators. So, it's something I wish I had a long time ago. Felly, we also do everything on Django and Python. If you want to talk about Django and Python deployment afterwards, Please come and talk to me, I'll be very happy to talk to you about that at length. I'm also heavily involved in the Django community, I'm a core developer of the Django project. I'm a board member of the Django software foundation. Ac yn fwrth, lle'n gwrdd y gweithio cyntaf mewn hwn ar gynghach yma. Ond yn digwydd i'n gweithio ffraedigol o fynd i'n gweithio. A gynnaeth i fi ddim yn ei bod y rhani. Mae'n gwahogu i'r rhain, mae'n mynd i'n ddweud o fynd i ddangos o ddod y pwysig odevelopodd mwy o edrych. Ond o'r bufwyr yn fwy o mi, o'u cymdgrifent. O'r bhwysig i fi ddim yn gweithio i am gweithio eu cynnig i'i gweithio. Ond that's enough about mead, because I want to talk about tragedy and madness in stead. Because these are subjects that programmers need to talk about. You should know this picture. This is Peter Brugel, the elder, landscape with the fall of Icarus. You know the story of the myth of Icarus falling from the sky. ac mae'n dweud i'r ddweud yma yn y cwmniadau yma, dweud i'r ddweud yn y ddweud, ddyn nhw'n ddweud o'r cyfnodd yn ddweud ac mae'r gweithio'r gweithio'n ddweud. Felly mae'n gweithio'n ddweud y ffoel o Icarus a'r ddweud o'r ffair, agonwy a'r terer a'r ddweud o'r ddweudio'n ddweudio'n ddweudio'n ddweudio'n ddweud. Felly yna'n,. mae'n cwmniadau eu cyfrannu a'r ddweudio. Mae'r ddweudio'n ddweudio. Mae'n ddweudio. Felly mae'n deunydd i dda i'r ddweudio. Mae'n ddweudio, digonwyd yn ei ddadl. Mae'n ddweudio, dwi'n golygu systemau, mae'n ddweudio'n ddweudio amser o ddweudio. Mae'r drama er gweithio. Mae ddweudio'n ddweudio i ddweudio. Ie'r ddweudiau er gweithio aeryl a chydigon nhw'n fyddwch yn ei ddiddordebol. Bydd y cerddol yn fydd helpu i gyntaf i'r llos yn ymlaen. Mae'r tredydd yn hollwch yn fydd y cerddol i'r llos gyda'r hollwch o'r mynd i'r llos ychydig i'r llos. Yn ddiddordebol, i'r hyn o'r cyfrifwyr yn fyddwch chi wedi ddiddordebol, ond byddwch yn ei ddiddordebol yn ei ddiddordebol i'r hollwch i'r hollwch i'r hollwch. a'r gawis y ddweud i'w'r gweithio'r amddangos, neu i'w ddweud i'w pryd o'r ffordd a'r ddweud i'w ddweud i'w'r gweithio'u amddangos, neu i'w ddweud i'w'u ddweud i'w ddweud? Radddo'n i'w ddweud i'w trwy Icprus, ac mae'r ddofael a'r ddofael a'r ddofael. ond we still have the story to work with. So there was the time but we have the story of the time and in this talk I'm going to be talking about the story of the time as opposed to the time. I'm interested in what we can learn from the story of the time, from the record of the time. So what's madness? Well maybe you're familiar with this famous quote from Einstein that madness, the definition of insanity, is doing the same thing over and over again and expecting different results of Einstein. Actually it wasn't Einstein, it was the writer, Ruta Mae Brown who said that. I don't think it was her, it was Mark Twain apparently who said that and it might be an ancient Chinese proverb and actually nobody knows who said that. But if you're a programmer that probably sounds a little bit familiar this experience of doing something over and over again and expecting a different result because that's what we do, we sit in front of our keyboards run the same thing again and we're surprised and outraged when the same error happens again. And there's something slightly mad about this experience that programmers are familiar with. So what is going on what happens to programmers when they're afflicted by this madness, when they're sitting there in front of the computer, in front of their machinery doing the same thing again because the results weren't what they wanted or expected and they do it again and they look at it in this belief at the crash and then despite the evidence of their eyes all they can say is damn it this can't be happening. On the 31st of May 2009, FFF447 was flying from Rio de Janeiro to Paris and about three hours after take off it encountered icing conditions and ice crystals began to accumulate in one of the pitot tubes, these little forward facing tubes that measure air pressure and therefore air speed and this caused them to give inconsistent readings which in turn caused the autopilot to disengage and a warning sound went off in the cockpit and they were in some turbulent conditions so the pilot flying had to adjust the plane's attitude and as well as adjusting for roll he pulled back on the stick causing the plane causing the aircraft to climb and lose air speed and within about 60 seconds the icing event was over and the instruments were reporting correctly but the plane had climbed to its maximum altitude and it had lost air speed and lift and it was in an excessive nose up position and began to stall when it stalls the wings aren't supporting it any longer. The stall alarm sounded in the cockpit and the aircraft started to fall because it wasn't flying any longer and the pilots fought the controls down towards the Atlantic Ocean and they were trying to make sense of what was happening to them and over while Bonan kept pulling back on the stick trying to climb to recover altitude and not realising that what he was doing was keeping the plane in a stall. The captain Mark Dubois was on a rest break he was called back into the cockpit and he sat behind the two pilots and on the cockpit recording you can hear the stall warning going off about 80 times and finally just a few thousand feet above the water the first officer and the captain finally realised what Bonan had been doing and they correctly put the nose down so the plane could pick up speed and recover and it was too late and the plane crashed into the ocean and everyone on board 228 people died. So this story of Air France 447 has the same kind of hold on people's imagination as the story of Icarus. It has the status of a myth in aviation in which people think they're going to or hope they're going to find some kind of deeper truth or the revelation of a significant mystery maybe like the story of the Titanic that people also keep telling each other over again trying to find some meaning in it. How do we explain how an Airbus 330 one of the safest most reliable planes ever built fell out of the sky. There was no reason for it to crash the crew were not incapacitated the engines were working normally the plane responded to the controls there was nothing wrong with it apart from a brief sensor error and it functioned normally all the way down to the ocean and it can send a chill down your spine to think about it just for many reasons and one of the things that's chilling about it is that when we think about what happened in the cockpit it's like a glimpse into madness or irrationality and that's something that we find hard to look into. This is Laurie Anderson I don't know if anybody knows Laurie Anderson or this piece. She's a musician and performer and her piece from the air is the kind of story in flight emergency and it starts with the kind of calm authority that we expect from aviation and then it descends into demented confusion. If you don't know it you should listen to it not before you get onto an airplane necessarily. Now she makes the point that in an aircraft there are two times there's the time and there's the record of the time there's the time that we live through when something's happening and then there's the recreation of that time afterwards when we still tell the story of what happened. There's the time that belongs to the world now maybe of flesh and blood and fear and so on and there's the other time that belongs to a world of technology and numbers and data. There's the time when things happen and the time when we recreate the story. So our time now that we live right in now is contradictory, it's confused it's counted out in remaining years or in some cases maybe minutes and seconds but there's the time that's going to be pieced back together afterwards by the data recorders captured by the data recorders and put back together by the researchers and investigators who are trying to work out what happened. So this is the time and this is the record of the time and our time goes in one direction it unfolds inexorably and it comes to an end but the record of the time can be played backwards, can be played over and over again backwards and forwards we can slow it down and we can pause it. So in their time Air France 447 is gone but in the record of the time we can suspend the plane in its fall and in the record of the time the passengers are still there, unaware, asleep, the pilots are still fighting the controls, the passengers don't know that madness has taken over in the cockpit and that Pierre Cedric Bonin is doing the same thing over and over again and expecting a different result. So if you've been talking about madness and people talk about pilot error but these are really bad terms, they're simultaneously judgmental and unrevealing and aviation has a much better way of talking about what happens and it calls it loss of situational awareness. Bonin, Robert and Dubois lost situational awareness and it's what happens when a pilot loses the true picture of what's happening to them. When you lose situational awareness all the cues and clues you need might be staring you in the face but because of a contradiction with your expectations you will fail to understand what they are telling you. In aviation, needless to say, loss of situational awareness is absolutely deadly. It's a kind of cognitive breakdown and has a number of notable characteristics which we'll talk about later very briefly blind spots, faulty mental models misjudgments about cause and effect and poor decision making So the question I want to explore is does the same kind of madness, the same kind of cognitive breakdown afflict programmers and pilots when they make apparently irrational judgments and decisions? I want to look a little bit more closely at programming now to see whether we can find some deeper understanding of what programming is So some people think that programming is a science They're all wrong. Don't get confused by the idea of computer science it's not to do with programming, it's concerned with computation Programming is much more like engineering or flying a plane Programming engineering and flying a plane are crafts or skills or arts what in ancient Greece again would be called tekne literally meaning skill In fact if you read Plato one of the examples that he's always using of tekne of skill is piloting a ship Tekne of course is the root of our word technology and we can find various interesting parallels between programming and piloting so for example I don't know if any of you have done pair programming but it has its counterpart in the two pilot cockpit the pilot flying who's operating the controls and the pilot not flying or the pilot monitoring who is telling them what to do and handling communications and overall flight operations I'm interested in finding out some parallels that happen when things go wrong Now in nearly all crafts you'll find two phases or activities a primary and a secondary activity they correspond in programming to programming itself and debugging the creative phase on one hand and the troubleshooting phase on the other so in the primary activity it's synthetic we put things together in the secondary activity it's analytic and we break things apart so we've got assembly and disassembly in the creative phase we are moving forward in the secondary activity the debugging part we're moving backwards in the first we have imaginative and goal operated thinking and in the secondary activity it's logical and problem oriented in one side we ask questions like how can we get there from here and in the other we say well how do we get here or let's make something happen or how did this happen or why isn't it happening so that's the distinction between programming proper and debugging and this happens in all crafts but for programming it's quite unusual in how much time we spend on this half of the cycle this really dominates a lot of our work most of it will be in that side rather than this side and that's quite unusual and that's the part that I'm interested in not this part because we talk about this a lot as programmers we've got methodologies and models and frameworks and paradigms and a great deal has been said about the practice of programming about how teams work and how work can be planned and managed and executed and delivered and reviewed but about debugging and that's very little and that's odd because we spend so much time doing that I think there are a few reasons why this is the case so one is that programming is a creative craft like writing a book and in a creative craft it's acceptable for us to get things wrong many times until we get it right for example when you go to a surgeon you want to be sure that the surgeon has not only done this operation many times before but it's going to be conducted in exactly the same way with the same result same thing when somebody makes you a meal that's not the time when you want to hear that somebody is doing something groundbreaking and experimental on the other hand when you're writing a novel or composing a jazz masterpiece experimentation is fine failure is unarguable you don't get to argue about whether it worked or not because you're staring at a trace back and it means that we don't have time now to stop and think whether that really worked if you're not satisfied with your piece of writing or your painting you can sleep on it and think well maybe it does work or maybe the critics haven't caught up yet maybe if you're John Coltrane you can say no no it works it's good to catch up with me in programming you can't do that it has failed in programming trying again is instantaneous or nearly instantaneous and cost free and that means we're tempted to do the same thing again immediately whereas if you're an engineer building a bridge or an aeroplane that temptation is much less because it's so expensive to try again in programming feedback is nearly instantaneous and cost free so it means we're tempted to try things just to see if they will work you tend not to do that with aircraft, bridges and dams and finally and this is a really important one debugging is a mostly private affair there's the programmer and the code and the error and they're living in a miserable menageatoire it's a misery that we deal with it's not like being sick it's not we want to do it on our own and so debugging stays in our heads programmers love talking about programming but you will never get a conversation out of a programmer who's in the middle of debugging afterwards they'll say well there was this fantastic bug and I did this and then that happened and they'll happily tell you the war story but the only thing they want to do when they're in the middle of debugging is look at their screen and so we fight with our code alone so all these things come together and what they do is they tip the programmer more quickly into debugging and keep the programmer there they're a vicious cycle which forms a tighter and tighter spiral with no inclination to step back or reconsider it's a closed cycle in which we don't want to talk to other people about it and get away from the code programmers debugging finding ourselves doing the same thing over and over again as if we expected a different result fighting our controls and my argument is that the nature of debugging leads us towards cognitive breakdown that debugging itself provokes loss of situational awareness in programmers I'm arguing that the activity of debugging is responsible for producing the same kind of mental conditions cognitive conditions that tore flight 447 out of the sky you're a web you're a web application developer and you're trying to restart an application that crashed and you've checked the logs, you've flushed the caches, you've restarted the application you've restarted the web server and now you're logged in directly in the terminal inserting print functions into the code desperate for any clue damn it can't be happening and next thing you know you are in the grip of madness doing things that you would never dream of doing like changing production code on the fly or trying to reconfigure the web application gateway and finally you discover what is happening you've been doing all those desperate and futile things to recover from the crash on the wrong server you are typing the commands into the wrong terminal window you were desperate for clues and all the clues were right there in your face and you couldn't see them and you didn't see them because you lost situational awareness and you were fighting the controls or you're debugging a complex algorithm that was working until yesterday when you made some minor and insignificant changes and you know this algorithm inside out because you've been living inside it for a month and now somehow its logic is collapsing all around you and you take it apart piece by tiny piece and you're checking and rechecking parts of it and you know you can't possibly have anything to do with a problem changing it so much that your own mental model of it starts to break down and damn it this can't be happening and finally you realised that in one of the changes what happened is that the algorithm is now receiving a different data set you dived deep into a rabbit hole chasing after a completely irrelevant solution to your problem it was just receiving different data and you lost situational awareness because you were too busy fighting the controls and then you fly your plane into the sea telling yourself that this can't be happening those are amongst the last words on the cockpit voice recorder from that flight so loss of situational awareness is a common enemy of the pilot and the programmer what can we do about it when it happens to programmers that makes us look and feel foolish when it happens to pilots they die so unsurprisingly aviation has developed very good strategies for dealing with it to strategies to mitigate it and they target the kinds of cognitive breakdown that characterise it so remember these I mentioned them earlier so your eyes got a blind spot at the right distance if you close one eye you won't be able to see the other dot because it will be in your blind spot where the optic nerves leave the eye they're deadly blind spots you can't even tell when you have a blind spot the only thing you can do is get another perspective which is why we have two eyes or maybe invite another person in to look at it or change your own perspective we need mental models of the world as a kind of short hand for navigating the world and the more complex the world or the part of the world the more complex the mental model when they break down we need to rebuild them and we need to rebuild them from something objective that's not inside us Germans are very useful language it has multiple words for thing so one is ding as in thing and another is which means literally something like stand against and that's what an object is it's something that we can stand against it's something outside of us and we need something that we can stand against something that's outside ourselves in order to rebuild a mental model we don't have access to causality in the world we can simply observe the world and make observations and judgments and we make judgments about cause and effect we don't see cause and effect themselves in complex this is difficult enough at the best of times in complex stressful situations it's much harder so the flight computers alerted Bonan to the problem but when he pulled back on the stick and the attitude of the plane increased even further the stall warnings stopped because the flight computers were receiving such anomalous information that they couldn't even process it and when he let the nose recover which is what he should have done the stall warnings went off again because now the plane could detect what was happening so he was trapped in this horrific feedback loop in which his actions and cause and effect were 180 degrees out of phase with each other so we need to find ways of rescuing our judgments about cause and effect pulling them out of these complex and tight stressful loops and finally our decision making processes need to be exposed and made explicit had Bonan said what he was doing his reasoning would have been clearly and immediately obviously faulty as panic set in his actions became more and more irrational and the decisions he took the way he was thinking went unchallenged because it stayed inside his head and the rest of the crew made poor decisions too that were revealed in actions or implicit in remarks but they were never brought out into the light until the final moments so aviation has spent over a century learning how to deal with these problems lessons are woven into every pilot's training in aviation cognitive breakdown is dealt with through the employment of very simple practical strategies and procedures and it means that pilots don't have supernatural competency, supernormal competency they are ordinary people doing ordinary simple things and those simple things are what make them safe they use checklists when you're flying it doesn't matter how many times you've done a procedure even if you've done it several times that day you do it from a checklist so here's a checklist for a 747 normal procedures manual this will be on a card in the cockpit this is for the primary activity of flying, the programming part of flying the forward going part and it covers everything and they also have checklists for emergency procedures for debugging the secondary activity of flying there are checklists for absolutely everything, there are big manuals each pilot has one down by the side in the cockpit in the few moments after the autopilot disengaged actually Robert should have had the checklist on his lap working with Bonan and going through the checklist with Bonan instead Bonan fought his controls relying on his own memory, his skill and his experience so all those characteristics of cognitive breakdown a checklist serves as an alternative perspective to avoid blind spots it helps rebuild a mental model it gives us something to stand against a kind of objectivity it helps guard against poor decision making we use checklists often system administration sometimes in programming I've never seen a checklist used in debugging communication in aviation it's always explicit and verified you have the controls, I have the controls descending to flight level 350, descending to flight level 350 again it brings in the other perspective it rebuilds a mental model it helps reconnect cause and effect and exposes our thinking processes this is what happened in flight 447 and you can read this and weep because Bonan had been pulling back on that stick trying to climb and the other pilots did not know because he hasn't told them the left hand side of the cockpit had been pushing forward trying to lower the nose but the system was in dual input mode where it sums the commands and Robert hadn't made his decisions or actions explicit either nobody in the cockpit knew what was happening until it was too late we seal this all the time in debugging and it happens to me I can struggle with something for hours and hours and I describe the problem and the answer pops into my head because I've made it explicit and you don't need a co-pilot or IRC you can just tell it to the wall often the act of description will turn out to be 90% of the work towards the solution stress and panic drive us tighter into our loops of bad decision making one thing that aircraft like to do and do really well is fly an airliner wants nothing more than fly level and in a straight line had Bonan let go of the controls when the autopilot is engaged or almost any point in the next few minutes they would have been okay he could have done nothing and they would have all lived so it's quite good advice so simply doing nothing not only allows an aircraft to recover allows a pilot to recover now a pilot can't go on doing nothing indefinitely especially when for example an engines on fire but they can do it for longer than you think even in an unexpected emergency but programmers we can leave the code alone almost indefinitely if you go on holiday and come back through later that code will be waiting patiently for you to come back and tackle it again from where you left off if you walk away and come back and that's fine because there's no pressing need for you to do anything because often the best thing that we can do is get away from the code because when there's no pressing need to do anything then we should do nothing and I've solved more problems falling asleep or riding my bicycle or doing the dishes than I have by fighting with the controls and I've certainly caused less damage so we could learn to do these things we can adopt checklists how hard would it be for us to develop systematic checklists for debugging and programming we can improve the way we communicate so that we do nothing and even think nothing without communicating without exposing it to another person as we do for example in pair programming although we really do pair debugging and most urgently I think we need to learn is to stop fighting the controls so these are all ways of getting away from a failed failing perspective always stepping outside yourself and finding something else in the universe to get a grip on to help you their ways to reset your thinking and prevent bad judgments and decisions and they can work in programming they work in aviation we're talking about flight 447 not because it's something that happens it's because it's something that never happens a once in a lifetime anomaly when an airliner I can assure you is the safest way to travel in the meantime other disciplines like nursing and surgery and the nuclear industry are also learning and adopting these strategies and programmers love to think and talk about programming and about their practice and methodology and theory but they don't tend to theorise about debugging as though it might be an embarrassing private misery so as it said in an aircraft there's the time and there's the record of the time and the record of the time is scrutinised and replayed endlessly in order to force it to yield up its secrets so that we can learn from them and make things better and we don't do that in programming as soon as we've you know the last thing you want to do when you've had a horrific debugging session is look back at it you just want to get on with your life and work but we need to learn to dwell on our failures and confront them the way aviation does because we're so often caught up in the time and we won't look at the record of the time by the way these techniques also work for other things you know other crises and emergencies like a malfunctioning malfunctioning washing machine or relationship the truth is these things work in aviation they're built into it at every single level not because somebody heard about them at a conference talk aviation is safe because they're a defining part of its culture and processes the truth is as individuals we will only get so far they work for aviation because they're a systematic approach adopted throughout the industry until our debugging mistakes routinely kill us but with our customers I think probably our habits as programmers won't change very much our industry won't change and this is an industry this is just deep in the culture of the industry aviation paid for its lessons with people's lives people died to make it safe in aviation every time you break a rule however simple however banal every time you decide you don't need to follow a checklist every time you do something the way you happen to feel like doing it at that moment you are literally dishonoring the dead in programming it's not going to change thank you very much we've got a few minutes for questions let's have some questions maybe you want someone to make some comments but let's have questions first so we'll start at the front please to me it seems like your conclusion is necessarily pessimistic it seems like your conclusion is necessarily pessimistic so for example you changed my opinion that perhaps I should use checklists and that seems kind of like a good idea so maybe by talking more about it actually can achieve some progress in the industry what do you think we might you know I think that yes I am pessimistic and cynical but let's keep talking hi thank you for your talk it's very interesting do you think there's a role for professional bodies of programming similar to how doctors pilots and other professional professionals have you know their own body which regulates their behaviour their actions and enforces penalties within that their own industry conceivably yes and I think there is a kind of movement for this starting for example in academic and research software I think there have been one or two talks about this already at this conference and the keynote Catherine's keynote yesterday about ethics in programming also touches on that but look at us are we the kind of people who are going to or our industry does it look like a very regulatable industry I think one thing that's going to be really interesting look at the companies that are building self-driving cars Apple and Google when you've seen how Apple's programming works on like iCloud's synchronisation think okay you're going to be making self-driving cars that's interesting or Google maybe the regulation will come in not from the programming side but from the engineering side and the real world effects but you know I can crash my programs 10 times a day and nobody even notices so yeah thank you Daniel I am aware that checklists are actually used in programming interestingly in aviation software so you find there things like has the variable been initialised exactly once and this is because of regulations so I would like to re-ask the question are you aware or is anyone aware of checklists being used in Python it's interesting you say that and we sometimes use checklists in programming but never in the debugging part in that secondary activity and yesterday I was doing a workshop on my Divio Cloud workshop and I was thinking why the hell is this URL conf not working and I was literally typing it into the whisky.py file I was typing adding URL confs into the wrong file and finally my checklist has made sure that you're in the right file and that you spent several hours trying to debug something and as soon as you wrote it down you discovered what the problem was a few years ago I don't know if you're aware and Akamai engineer wrote the 15 minute rule in case no one else has ever heard of it it basically says try debugging for 15 minutes if you can't write it down and ask someone else I think it's great advice to live by at least then you only waste 15 minutes it's some Akamai engineer Akamai the CDN company the 15 minute rule you'll find a blog post by him about it it's a really great read in case you didn't hear that the 15 minute rule debug for 15 minutes and then tell someone else make it someone else's problem so thank you very much for your talk I think when I saw you putting up analysis and synthesis that maybe that fits very well to highly iterative processes and I think all these programming things that we're using like fail fast fail often that should lead us to doing more iterations more quickly and maybe your proposals here could help us working quicker on iterations and kind of like acknowledging debugging steps as kind of like in a very serious step of the activity that we're doing and not like kind of like you failed you have to debug but more like okay you have to do debugging now and to comment some aeronautical engineer working for Lufthansa so congrats on very good story that you told and very accurate and you should try making this into a keynote in my opinion thank you well thank you every time I get a trace back or a whatever error I'm surprised every single time you know really and so this is the kind of mentality we're dealing with how long have I been a programmer and I am still surprised that oh that really has to change I don't know why you know maybe my head's just a bit I should bang my head hard enough so the idea somehow gets in but there's a real block there about expectation of failure we never expect to deal with it the best thing the closest we've come I think is automated testing but that still doesn't help us with debugging first of all thank you very much for your talk I think we are programmers I mean as a programming role we don't have the most stellar let's say record of you know debugging things by methodology because I was actually reading a blog by a guy who started as a sexual liability engineer in some small like online casino or something that became one of the largest online casinos in the world and he became a head of sexual liability engineering group and I think we have a lot to learn from sexual liability engineers because they have a lot of methodologies how to debug right because they don't debug code they debug infrastructure right they debug services and well in this blog so I never really worked with the sexual liability engineers but in this blog he said that he spent a year going through all the tickets that were created like since the birth of the company right and failed something went wrong in sexual liability right and he classified everything that went wrong right and he created a huge pretty much like combination of like checklists with a flow chart of things that can go wrong and then like any juniors of sexual liability engineer can basically just go through it so what I'm saying yeah we don't have the best record but there are actually people right who have way stronger more robust methodologists and yeah I think we can definitely learn from our site reliability engineer colleagues because they can't just do nothing as easily as we can as programmers I think I'm also a convert to the debugging checklist idea excellent although I did want to ask about the overhead of constructing checklists I think we're in an industry that's unique and that no one that I know of has died from one of my tracebacks but is there an overhead to always using a checklist given how easily and cheaply we can fail? I don't know as I say my debugging checklist so far has got one item on it it took me 20 seconds to write and since I've started using it I've always forgotten to use it so it's just not in I was going to say in our natures it's certainly not in our training what the overhead might be probably less than the time we've spent futile debugging things do you have another question so maybe congratulations because your talk is a real success your talk is just a success