I took a trip which should be unnecessary. I took a trip which in our time should become impossible. Everywhere I have gone, I have met good people who wanted to do something about the problems that faced our country. Everywhere I have gone, I have seen men and women who wanted to leave this country, a better place to live in than they found it. For the first time in our history, an America without hunger is a practical prospect. And it must, it just simply must become the urgent business of all men and women of every race and every religion and every region. We have declared unconditional war on poverty. Our objective is total victory. When Studebaker ended its United States auto production is fighting its way back. At the Lulu V. Klein Trade School, President and Mrs. Johnson visit with South Bend residents who are training for new jobs. This is the president's first tour of economically distressed urban and rural areas since he announced his war on poverty campaign. President and Mrs. Johnson tell their audience what a real inspiration it has been to see the people of South Bend, the young and old alike rolling up their sleeves and attacking their problems by learning new skills and finding new ways of life. And the capital of the nation's steel industry is the next stop on the president's tour. Unemployment has become a major problem in Pittsburgh. By last year, more than 100,000 workers were without jobs and many families had left the area in despair. In Pittsburgh, the president tells the National Convention of the League of Women Voters that the tempo of America's unprecedented prosperity must never be allowed to muffle the cries of those who are denied a fair share of it. Cade makes an unscheduled stop so he may tell the crowds along Carson Street that we must become united in our efforts if we are to bring unequal prosperity to all the people. He states that no president can be stronger than the people behind it. In address to the steel workers, the president declares that he is here to fight an enemy, that he is here to start that fight and keep up that fight until the enemy is destroyed. That enemy is unemployment and its ally is poverty. Continuing, he assures them that they will hear a lot more about poverty in this country because it is his intention to do something about it in every county of this land. On his way to the airport, the president points out to a young audience to stay in school. For America's future strength, rest with them and the education they receive. In Huntington, West Virginia, the president and Mrs. Johnson board helicopters were a trip to the roots of appellation poverty in Martin County, Kentucky. In this south-central mountain country, over a third of the population is faced with chronic unemployment. Typical of this group is Tom Fletcher, his wife and eight children. Fletcher, an unemployed sawmill operator, spent $400 last year and has been able to find little employment in the last two years. Joblessness in the INAS area is attributable primarily to a general lack of industrialization and losses in the coal mining industry. Median family income is slightly over $2,000 a year. The Mayo State Vocational School in Paintsville is a federally assisted institution which provides training for over 3,000 of the hardcore unemployed in this region. Training is offered in a variety of occupations, including service station attendants, draftsmen, clerk stenographers, and beauticians. While in Paintsville, the president points out that the people of America are not asking for handouts. They want a chance to support themselves. Before returning to Washington, the president meets in Huntington, West Virginia with the governors of seven appellation states. He tells them, our challenge is clear. It is to cure what needs to be cured, what needs to be corrected, and set the people of this region out on the bright highway of focus free men living in dignity and with a promise of opportunity. Swinging through six states in his second tour of Appalachia in two weeks, the president, accompanied by his daughter Linda, is warmly greeted in Cumberland, Maryland, the first stop on his itinerary. The chief executive is here for another first-hand look at the problems of urban and rural poverty and to publicly urge support for his anti-poverty program. From the courthouse steps in Cumberland, the president reflects on the vital role that Maryland has always played in building America since the days of the revolution. He asks his audience to help him in carrying forward a new American revolution to help free 30 million Americans imprisoned by poverty. A brief helicopter flight puts the president in Martinsburg, West Virginia, where he boards Air Force One for a flight to Lockborn Air Force Base near Columbus, Ohio. As President Johnson swings through the Appalachian regions, he tells the people who came to Appalachia to listen and to learn, and because he cares. He promises them a better break economically and reminds them of their responsibilities as Americans. Before leaving Ohio, the president helicopters to Athens to participate in Ohio University's 160th anniversary celebration. At McGee Tyson Field in Knoxville, Tennessee, it's a key to the city for the president and for daughter Linda, an extra warm greeting from her Zeta Ta Alpha sorority sisters from Tennessee University. As the motorcade nears Tennessee University, the chief executive again makes good use of the limousine trunk and a portable public address system to bring his message on poverty to a group of university students. To a capacity crowd in Knoxville's huge Coliseum, the president's message concerns vision and leadership. He appeals to them to enlist their hearts and tear their hands in fighting the war on poverty. Seymour Johnson Air Force Base, Goldsboro, North Carolina, where the presidential party boards helicopters for a flight to the farm of sharecropper David Marlowe, located four miles outside of Rocky Mount, North Carolina. Marlowe, a tobacco farmer, feeds and clothes his family of 10 on a meager $1,400 a year. In Rocky Mount, the president asks that economic opportunity be spread across the land that all Americans, those on farms and those in cities, have a chance to drink from the cup of plenty. The next morning in Atlanta, Georgia, the president directs his plea for his poverty program to a group of state legislators and members of the Georgia congressional delegation. The president ends his second poverty tour in Gainesville's town square with the promise to his audience that we are going to keep on in our war on poverty until we drive it into the face of the earth and it no longer exists in our beloved America. May 21, 1964. Mrs. Johnson continues the president's attack on poverty as she travels to the economically depressed areas of eastern Kentucky. The 45 counties making up this area present one of the nation's worst pictures of poverty. The principal causes are lack of education and training, unemployment, and limited opportunities to overcome these handicaps. Several times Mrs. Johnson halts her motorcade to greet local school children who have gathered along the roadside. This area has been the focus of cooperative federal, state, and local efforts for some time. Some of the results are the school lunch program, accelerated rural housing, and manpower development and training programs. The first stop on the First Lady's schedule is the home of Albert Robertson at Warshall Branch. Robertson, a tobacco farmer who earned less than $300 last year, lives in a three-room, rough-board home with his wife and seven children. During a tour of his property, when Albert Robertson points out to the First Lady, some of the improvements he has been able to make with a $650 federal grant. Mrs. Johnson's next stop is a one-room county schoolhouse at Lick Branch. To freshening up a bit, the First Lady is the children's guest for a typical hot lunch served under a cooperative program between the government and the school neighbors. Later, she presents the school with a set of encyclopedias and a flag that has flown over the capital in Washington. At the new Brethat County High School at the gymnasium in Jackson, Mrs. Johnson arrives for dedication ceremonies. The new building replaces one dedicated by Mrs. Eleanor Roosevelt in 1938. Moving on to the University of Kentucky's Wood Utilization Center at Quicksand, the First Lady sees demonstrations of the way Kentuckians are learning to use the region's timber. The center is a joint effort of the Area Redevelopment Administration, University of Kentucky, the Kentucky Farm Bureau, and the United States Forest Service. In her remarks, Mrs. Johnson points out that this joint effort represents the kind of pulling together that will grow and grow and succeed in bringing hope and economic vitality to this region. The First Lady, in an address to the annual convention of the Kentucky Federation of Women's Clubs in Lexington, points out that there are pockets of despair all over this land, which cry out for attention. And she continues, I hope that you will join your president in his fight on poverty and the actions to make America's tomorrow a bright and gleaming legacy from today. A rich American does not demand money, but we have a right to expect in this rich country if we're willing to work from daylight to dark. We have a right to expect a job to provide food for our family, a roof over their heads, clothes for their bodies, an opportunity to have our children educated and the right to worship God according to the dictates of our own conscience. Poverty not only strikes at the needs of the body, it attacks the spirit and it undermines human dignity. It is not enough for the Congress to pass laws. We will not win our war against poverty until the conscience of the entire nation is aroused. We will not succeed until every citizen regards the suffering of neighbors as a cause of action. We will not overcome until every child and every city and every town joins its parents and helps us to mobilize its resources. Not in a day and not in a year will these goals be reached. But if we begin the effort, if we approach the task with great enthusiasm and not with cynicism, these achievements will be the glory, the glory of your generation. So I have come here today to ask for your heart and your hand, to ask you to join us in a similar cause, help us to build a better land, help us to build a greater society, help us to open wide the doors of opportunity and invite all to come in. For when we have done this, it will one day be said of America that she was a burning and shining light in man's journey on earth. On August 20, 1964, President Johnson signed a $947.5 million anti-poverty bill into law.


Ukraine announces new strikes on Russia after Tartistan hits. Radius will expand. Ukraine continues to attack military targets on Russia's territory. Following strikes on Tartistan and their radius of action will increase, says Andriy Yusov, a representative of the Defence Intelligence of Ukraine. Strikes on oil refineries and the factory in Tartistan are good results and we are all pleased with them. I believe that similar joys will come in the future. And their radius will expand, said Yusov. On April 2, explosions rocked several facilities in Tartistan. Russian media said that drones attacked the region for the first time, reporting casualties. Later, an RBC Ukraine source within the special services revealed that the Defence Intelligence organised an operation that targeted the factory-assembling Shahed Kamikaze drones in Yelabuga of Tartistan. The same source mentioned that the Defence Intelligence along with the security service of Ukraine also attacked an oil refinery located in Nizhnyi Kamsk of Tartistan. These objects are over a thousand kilometres away from the Ukrainian border. Strikes on Russian oil refineries allegedly carried out by Ukrainian drones could have disrupted more than 15% of their capacity. An ATO spokesperson gave this assessment to journalists according to Reuters. In terms of damage, the strikes have probably disrupted more than 10% of Russia's refinery capacity, maybe more than 15%, the official told media representatives on condition of anonymity. He said that, depending on the extent of the damage, repairs could take considerable time. Fewer and fewer of these types of Russian energy critical infrastructure are safe from potential strikes, the NATO official said. He also expressed the idea that more and more impact on the Russian economy can be expected as a result of this. It should be noted that according to Reuters, about 14% of Russia's refinery capacities were shut down due to drone attacks. Western countries helping Ukraine attack deep inside Russia. Western countries are helping Ukraine to fly kamikaze drones deep inside Russian territory, CNN reported, citing a source close to Kiev's drone programme. An unnamed Ukrainian official who spoke to CNN described how Kiev uses UAVs with longer ranges and more advanced capabilities to strike targets located more than 1,000 kilometres from the border. The flights are determined in advance with our allies and the aircraft follow the flight plan to enable us to strike targets with metres of precision, the source said. The admission of receiving guidance from abroad follows multiple reports that Western personnel are providing Ukrainian troops with intelligence and information about specific targets. The Washington Post cited a senior Ukrainian official last year saying that Kiev's soldiers almost never use advanced weapons including US-made Himmars rocket launchers without receiving coordinates from the Pentagon. Recently, Ukrainian drones targeted Russia's Tatarstan, a region 650 kilometres east of Moscow, which had not previously been attacked by UAVs. One drone was aiming to hit an oil refinery in Nizhnyi Kamsk, a city located roughly 1,100 kilometres from the border. Mayor Ramil Mulin said that the aircraft was disabled by air defences and caused no damage. Another drone struck a student dormitory inside the industrial zone in Elabuga, injuring 13 people. The hub hosts several companies that make high-tech equipment including drones according to Russian media. Moscow has repeatedly warned that the delivery of weapons and other military aid to Kiev makes Western countries de facto direct participants in the conflict. The Russian Defence Ministry and local authorities have said that Kiev uses Western-supplied arms to indiscriminately fire at civilians. Over past weeks, Ukraine has carried out increasingly regular attacks on Russian oil refineries and other industrial facilities with long-range drones. The Washington Post reported in August 2023, citing leaked documents that Russia was setting up a production line in Tatarstan, aiming to build 6,000 attack drones by the summer of 2025. The manufacturing plans entailed an expansion in the scale of production of a Russian version of Iranian Shahed drones, which would improve on Iran's dated manufacturing techniques. The documents revealed that the production facilities were at the Elabuga Special Economic Zone in Elabuga, the same location of the alleged drone strike on April 2nd. Ukraine enters new stage of strikes on Russia's deep rear, ISW. The latest drone attack on an oil refinery in the Republic of Tatarstan signals a breakthrough in Ukraine's strategy of striking deep inside Russian territory according to findings from the Institute for the Study of War. The report says that on April 2nd, Ukrainian drones targeted facilities at the Taneco oil refinery in the city of Elabuga, Republic of Tatarstan. The ISW highlighted that this facility is located over 1,200 kilometres from the Ukrainian border with Russia. According to Reuters, such regular drone strikes by Ukraine on Russian oil refineries have led to the shutdown of about 14% of all Russian refining capacity. The April 2nd strikes are the first Ukrainian strikes on Tatarstan and the distance of the targets from Ukraine's borders represents a significant inflection in Ukraine's demonstrated capability to conduct long-range strikes far into the Russian rear. ISW continues to assess that such Ukrainian strikes are a necessary component of Ukraine's campaign to use asymmetric means to degrade industries that supply and support the Russian military, the report says. Recall, on April 2nd, Ukrainian drones attacked enterprises in the Republic of Tatarstan, Russia, for the first time. Drones hit the Taneco oil refinery in the Elabuga special economic zone near the city of Elabuga, which is over 1,000 kilometres from the border with Ukraine. According to RBC Ukraine's sources in the special services, it was an operation by the main intelligence directorate of the Ministry of Defence. In addition to the refinery, drones also hit the Shahad assembly plant. Russians claim that electronic warfare means downed the drone, it fell and caused a fire. Meanwhile, they do not acknowledge that the strikes caused any significant damage to drone production plants or refineries.


All right. Hello. You are in WebAssembly from the browser to everywhere. So if that is not the session that you wanted, now is your one moment to run out before it becomes embarrassing. So I am Matt Butcher. I guess, if one is to say what one is best known for, for me it's the Illustrated Children's Guide to Kubernetes. I wrote that along with Karen Chu back when we were at a small startup called Deas. Since then, we went from Deas to Microsoft through an acquisition. And then about a year and a half ago, we started a brand new company called Fermion. And what we're really doing is trying to build what we see as the next wave of cloud computing. And we think WebAssembly is kind of the key technology to unlock that for us. And I'll get into that a little bit more during the presentation. But yes, in addition to Illustrated Children's Guide, I've actually written some serious books. And even though I started coding when I was about 16, I'm an academically trained philosopher. I have a PhD in philosophy. My parents were right. I would never use it. So if you want to find me anywhere on social media, I'm Technosophos pretty much everywhere, including Twitter and Blue Sky and Mastodon. Of course, there's no better place to start a conversation about WebAssembly than with Java and Ruby. I think that I really started my career right around this particular time. And so there's a sense in which for me personally, the stories about Java and Ruby sort of resonate. But they teach us something about ourselves and how we view technology. So Java gets started as a language called Oak, a project called Oak. And the intention behind it was to build a virtual machine-based language, a language virtual machine for embedded devices. So if you went to any of the early Java stuff, they would be talking about the Java ring. I still have no idea. I mean, I was at the conference where they unveiled the Java ring. I'm still not entirely sure what we were supposed to do with it, but it was so cool. It was like, ah, you can get a VM on top of a ring. And so it was very narrowly focused originally on building an embedded language. Now, if you think about where Java is today, about the smallest embedded devices where we tend to see Java are things like Android phones, right? Or maybe set-top boxes, all of which have hundreds of, if not more, thousands of time that computing power that any device that the original Java developers had envisioned, right? So Java ended up sort of, and where do we see Java actually today? We see Java in enterprise computing, right? Really the extreme opposite when you've got large servers and huge amounts of computing power. So there was a sense in which the original vision of Java didn't necessarily play out, and yet Java's a tremendously successful technology. Let's look at Ruby. I didn't realize until just recently that Ruby actually started around the same time that Java did. In fact, Ruby 1.0 actually came out a year before Java 1.0. But Ruby was, and when I say Ruby, how many of you think of Rails? And how many of you think of Chef? I mean, neither of these technology, I'm excited to see Rails, because that for me was the big game changer, right? And I think it was for Ruby as well. Ruby was originally conceived to be maybe a little more of an academic language. I think Matz cited early on that he was inspired more by Lisp and some languages like that, but also really oriented toward system-level shell-style programming. But it found its big breakthrough 10 years later in web development and became sort of the web developer's core development language for quite a while. In neither the Java case nor the Ruby case, did the core underlying technology really have to change very much. But what we saw was that the technology itself had an application that was far beyond what the original creators had sort of foreseen and intended. And we could list off a litany of examples from our industry, right? The web being one of them. It was originally a technology for transmitting physics papers, and I'm guessing that a very small percentage of web traffic today has anything to do with physics papers. So there's a sense in which successful technologies actually break out of the original design intent and then find, end up flourishing in areas where the original creators may not have ever foreseen it. That's the story I wanna tell today about WebAssembly, a technology that was created for the browser and now we're starting to see some really cool applications of it elsewhere. So I guess the right place to start would be to say, hey, what's a wasm, right? And I'm going to give you the most boring answer to this question, but it's also the most honest. All WebAssembly is a bytecode format. So when you think Java, you compile a Java source code into Java bytecode and then you execute that bytecode on a virtual machine, a language virtual machine. Same with .NET, right? This is a language, or this is a binary format that falls in line with that particular tradition. But it made a couple of assumptions. As the WebAssembly developers began building this, they made a different set of design assumptions and those assumptions are what make WebAssembly such an interesting differentiator, opening so many new possibilities. So I just highlighted the ones that are my favorite and we'll hit these over and over again today, right? First one, the security model for WebAssembly is designed so that the runtime does not trust the guest code that it's executing. When you think about the way Java and .NET work, by default, they take the opposite security posture, right? I as the runtime trust that the developer is providing code that I can and should execute. When they ask for a file, I give them a file. When they ask for a network socket, I give them a network socket. WebAssembly was built for the browser. You don't want that layer of trust, right? You don't want to download a random binary off the internet and it says, hey, give me a file in a network socket and I'm like, sure, here you go, right? So the security posture of the WebAssembly sandbox is actually tighter than that of the JavaScript sandbox because you even want to be able to protect your JavaScript layer and your browser layer from bad acting binaries and WebAssembly. There's some really cool projects where they have exploited this to basically be able to show you that you can build a version of JavaScript that runs in a WebAssembly module that runs in isolation from the version of JavaScript that's running in the browser. So you can essentially run untrusted code inside of... Anyway, I get excited about this stuff because it's just such a novel way to apply this technology but you get an idea from examples like that of how strict the sandbox is and what it was intended to do. So security, default security posture is a good one. Cross platform, cross architecture. Again, when you're building for the browser, you cannot anymore say, like we did back in the days when Ruby and Java were first invented, this website only runs on Internet Explorer on Windows 95 on an Intel architecture, right? Those days are long gone. And when you've got all the web browser vendors in the room designing a specification like this, they're gonna push toward cross operating system, cross architecture. And so that was a core feature of the bytecode format that WebAssembly has. Another one is startup time and execution time. So, and there are two aspects to this. First of all, none of us like to wait for anything to load. But second of all, part of the design goal for WebAssembly was to be able to do some high performance computing in the browser that JavaScript might be able to execute but at a slower rate than something like C++ or Rust or a lower level language. And so speed, both startup wise and execution time was a big focus of the way that the instruction format was designed. And then finally, and this one is really important, they wanted to build a bytecode format that lots and lots of different languages, ideally all languages would be able to support. Sven Fenig, I think wrote a really good article maybe December of last year, I should have put the link in these slides, where he compared the Java bytecode instruction set with the WebAssembly bytecode instruction set and showed how inherently in the bytecode, there's some preference for one type of language design versus another and that the WebAssembly one is more generic. So you got kind of these four key elements that are strengths of WebAssembly. And ultimately it's those elements that have made WebAssembly interesting beyond the browser. So I'm gonna talk about sort of four different domains where I think WebAssembly is gonna flourish. I'm gonna lean in a little bit to one because I'm particularly passionate about that one, but I wanna cover all four and they look like this. We got the browser of course, the place it was born and it really does have a lot to offer there. Then internet of things and sort of this embedded space and then plugins and extensions. And then finally, and the one I'll probably spend a little more time on because I love it, is cloud. So let's talk about browsers first. So what exactly was the core intuition behind why we needed something like WebAssembly? Was it to defeat JavaScript? No. It was to basically provide us with some new ways of executing things inside of the web browser that we can't currently execute and then tie those in with JavaScript. So here are a couple of examples. One of them is legacy code. I don't know if this story is mythological or not, but I heard it even while at Microsoft that there is supposedly an Office 365 in Excel. There is a library that was written sometime in the 80s that nobody totally understands what it does anymore, but it's necessary for the execution of certain kinds of formulas and spreadsheets. And so if this, and again, this story can be entirely mythological, but the story goes that they just took this C library, they compiled it to WebAssembly and then they just interfaced with JavaScript to be able to provide 100% compatible behavior in the browser that they had in the desktop app going all the way back to the 80s. Now, mythological or not, this is one of the design intentions of WebAssembly in the browser that we should be able to take legacy code and be able to execute it inside the browser sort of strategically where we need it. We also get high performance. Figma is a great example of this. Figma does vector-based drawing in the browser and it's, I don't know, how many of you have used Figma before? It's remarkably fast for the graphical operations it does and part of the reason why is because a chunk of the code base is actually written in C++ and compiled to WebAssembly. So they can do very fast numerical computation in a language that tends to excel and that kind of thing when you really wanna optimize for it and then use JavaScript to interface with them. And then the last one, I don't know a good name for this one, but I've seen a number of use cases where people wanted to take an application that was running in some other context and compile it and execute it in the browser for reasons ranging from everything from behavior testing, behavioral testing to just wanting to do it because it's cool. Like somebody ran, compiled the PHP engine and the PHP behind Drupal all into one WebAssembly module and you can execute Drupal inside of your browser.  I played around with it. I'm not entirely sure what I would do with it in production, but it was really cool to see something that's been around for decades and decades, suddenly running entirely in the web browser. So I think those are some of the cases where we'll start to see web browser usages evolve, right? IoT is sort of a different story altogether, right? So when I'm thinking IoT, I'm thinking very small devices, not necessarily phones which are, have the computing power several times greater than the last PCI ever bought, right? But when you get down to these sort of like small embedded things that are running in light bulbs or power socket, electrical sockets or things like that, that landscape has been dominated by C in assembly for a very long time. I worked at Nest for a while. I worked at a startup called Revolve that got acquired by Nest. A lot of our code was written in C and a lot of it we had to tailor individually for each of the different things that we were building, each of the different devices we were building. And I remember even at the time sort of lamenting, you know, it's too bad. There's not kind of a generic thing that we could compile this to and then be able to just write little shims. So I was poking around about a year and a half ago into what people were doing in IoT and stumbled across articles from the likes of Amazon Prime team and the BBC team and they were saying they all used WebAssembly and the BBC wrote a great article about why. They have 9,000 different devices that the BBC player has to work on. That would be, and my Nest brain is like, oh my gosh, writing C for 9,000 different devices just sounds totally overwhelming. But the way they do it is they write a very small C shim that interfaces with the hardware layer and it has a WebAssembly runtime in it and then they can port the same player back and forth across these with none or very minimal changes. And for an IoT developer, I'm like, oh, that's fantastic. Right, I wish this had been around a couple of years ago, you know, 10 years ago when I was working on the Nest stuff. So I think there's a lot of potential there and one of the reasons why WebAssembly is a good fit here is because of that bite code format. So WebAssembly can run in sort of the mode similar to Java where you can jit compile it. And so you load it and you speed up the execution by sort of compiling as you go and then you can optimize that way. You can also ahead of time compile it. So as soon as you know what you're gonna run it on, compile it directly to the native format. But in a case like this, when you're dealing with very small devices, being able to run in an interpreted format actually works out very well where you can just pull a little chunk in, start to execute it, pull a little chunk in, start to execute it and you can do it with a very low memory. I was kind of hoping Matt Fisher was gonna be in here. He's also from Fermion and he experimented with a bunch of very low powered devices and had some great results from using WebAssembly on these very exciting thing for IoT developers. Then the third model of the four is this plugin model. So a friend of mine, Steve Manuel, likes to say, you know, WebAssembly is the last extension mechanism we're ever gonna need. And again, you know, I know a number of us have done this before where we had something that we built and we were happy with what it did and how it worked, but then users came and said, hey, I wanna extend it to do this thing for me. I wanna extend it to do this thing for my customers and so on. And then you start saying, oh, okay, I need to build a plugin model here. What's choice number one? What scripting language am I gonna use?  Is it gonna be a Lua? Is it gonna be JavaScript? And Steve pointed out, hey, the new question is, you know, can I just drop a WebAssembly thing in here and expose the core services to the WebAssembly layer and then your developer can use whatever language they want, whether it's JavaScript and Python or .NET or REST or whatever, right? It opens up a lot of possibilities for the developer, reduces the learning curve and of course that's attractive to us as product builders because then more people use it and more people get a lot out of it. So I think, you know, Flight Simulator has a plugin model like this, Shopify has added a plugin model like this on their web offering. I think that's another area where WebAssembly is really gonna take off. But for me, the one that I'm most excited about is what it is going to do in the cloud world and part of that is because I am, you know, through and through a cloud developer. I worked on OpenStack at HP, at HP Cloud, worked at Azure for a long time, worked on Kubernetes, worked on Helm and so I'm very familiar with the problem space and what we've done and how far we've advanced in only like seven or eight years but also can kind of see, okay, there's another set of problems that I really wanna solve and I think that the kind of combination of the security, the cross-platform, cross-architecture, speed and language support, that same group of four that we started out with all come into play to tell a really remarkable story when it comes to cloud. So start out with this quote and then walk my way back into the explanation. It was really cool to work at Microsoft and be able to just talk to customers, then go out to a conference, you know, KubeCon, Open Source Summit, whatever and then talk to internal teams at Azure and just start collecting stories and one of my favorite leading questions has always been, so, you know, what's hard for you given your job as whatever, right? Hey, Azure Functions Team, what's one of those things that keeps you up at night? Hey customer, what's a hard thing that's preventing you from moving to Azure and you know, those kinds of questions and you learn a lot about what people desire versus what they're given and one of the stories that we heard all the time when we would talk about this and it was always Lambda. It's never has your functions come to think of it. I'd always say, you know, we really like Lambda. I love writing serverless functions, but and every single one of them without fail added a but at the end.  I love writing serverless functions because it's so easy. I've right into the business logic. I start building what I want to do. I like that model of just handling a request and returning a response, but it's slow, but it took me 47 minutes to get through the Lambda startup, easy start guide, but you know, I can only use these four languages and there's no hope that they're gonna support anymore, but and this one was a huge one. I'm stuck in vendor lock and I have to pick one of these serverless providers and all my code forever and always will have to run in that environment which I don't control. So we listened to that. They're going, okay, well, it's rare that you get feedback like that where they tell you something they absolutely love and then enumerate a product feature list for you. Can you solve these things for me? And so here we are, you know, looking at the world of cloud computing and going, there are two big buckets into which cloud computing falls right now. There are virtual machines. A virtual machine runs from the kernel and drivers all the way up to my application layer, big giant chunk of code and they're kind of slow to start up. They tend to take minutes to start up but they are power houses, right? They can just anything you can imagine you can get done in the virtual machine, right? Doesn't you bring your own operating system even if it's a totally proprietary operating system you can do it there. Then you have next to that containers and containers provide you a nice packaging for a long running process. And then you have to make some design trade-offs with the big giant virtual machine layer in order to get there.  But again, so virtual machines are designed to be super powerful and very long running. Containers are designed to handle long running processes that are lasting for days, months, quarters, maybe even years. But the kind of workload that people were telling us we love it but we're saying, hey, we like this idea that I write a handler that takes a request, executes it to completion, returns the result and shuts down. And that is milliseconds to seconds maybe up into the minutes range, right? AWS Lambda currently limits you to 15 minutes. Most platforms limit you to five minutes. So you're going, okay. The shape of this workload dictates that it's never gonna be greater than 15 minutes to execute and it's always gonna fall kind of in these parameters where the developer is telling us very specifically what they want. Neither of these existing compute run times match up with the model that the developer says they want. So what can we do to give them what they want? So we started looking around and saying what run times are out there that might be this kind of third class, this third wave of cloud computing. And WebAssembly very quickly bubbled up to the top because of those same four features, right? It comes with a great security sandbox model. Absolutely prerequisite for the cloud because when you think about what the cloud is at essence, it's somebody running your code. They're running an untrusted workloads and they're running them at scale across tens of thousands of customers. So the security model is important. Cross-platform, cross-architecture story is important. Ideally, the closer you can get to serverless, the less somebody has to know about what the server is that you're telling them is less, right? And so if you can do cross-operating system, cross-architecture, cross-platform, you're solving a problem. And then performance, remember browser, nobody wants to wait. Nobody wants to wait on the serverless side either. In fact, that was one of those but stories that we heard frequently and then the kind of no lock-in. They want lots of languages and they want broad support and they want to be able to run it wherever they want to run it. So I put this up on here to just sort of focus in really quickly on one of those and this is the performance story. And we'll focus on that bottom part first. And Amazon Lambda tends to take about 200 to 500 milliseconds to cold start. So what that means is from the time the request is received by the Lambda framework, it takes 200 milliseconds before it's ready to start executing the code that you provided. So that's 200 milliseconds of time that you can't do anything about. Okay, do we really care about 200 milliseconds? Yes we do, why? Because how long does Google wait before they start dinging you for performance in your search results? 100 milliseconds or less? So if it takes me 50 milliseconds to execute my application and 250 milliseconds end-to-end to execute my request response, then I'm already lowering my own Google search rankings. So I want the high performance and it's not just because of Google. Google did it because they know that human attention, we are so attuned to speed in our environments that at around 100 milliseconds, the first little bits of cognitive trigger that we don't like delay are starting to kick in. And so there's a sense in which this is a very visceral human experience that we want to assist.  We were very surprised when our first couple of iterations of this proved out that we could run in about 20 milliseconds. Then we realized, oh, we haven't turned on all the optimizations and when we did that, we actually started to get down to sub millisecond cold start times. In some of these cases, and we can talk about this in Q&A or later, we could actually get a cold start faster than some of the native environments could because of some of the little tricks you can play with WebAssembly to pre-optimize for execution. And so we started to say, okay, this is real. This is solving the but half of that. I love serverless functions but. And we're starting to build something that can answer those questions. So we created an open source project called Spin. And this moment actually is kind of momentous for me because we introduced this idea one year ago at the last open source summit. And so we've got about a year since we first released Spin. And it's fun to see this also kind of cool that the whole conversation I told you about where we first got together and talked about this happened on Vancouver Island, not far away from here. And so this is really fun to be here and reflect on the last few years and see that we've kind of begun building a tool that is defining a next kind of generation of serverless cloud computing where we can start to really lean in to solving some of the problems we've heard from that first generation. So Spin's a very easy piece of software to use. Basically type Spin new and it'll scaffold out your program in the language that you select. Then Spin build and it'll compile it to WebAssembly. Between there presumably you're editing your code a little bit and then you can do Spin up and it'll start up a local instance for you so that you can test it out locally. Once you're ready to put it somewhere else you can do Spin deploy and you can deploy it to Fermion Cloud. You can deploy it to an Azure AKS cluster if you turn the right switches you can deploy it into Docker desktop at this point and more and more Kubernetes-y kinds of things are coming in along with things like Fermion platform which is an open source installer where you can do a Nomad and HashiCorp based stack and be able to deploy it there. So once you've built this then you start having options about where you can deploy these kinds of serverless functions. I put a slide in here to just summarize all the reasons that I'm excited and they're all things that I just said. So I'm actually, I'm gonna skip this slide and just kind of summarize it by saying, we set out with this idea that there was a problem that we could start solving and WebAssembly just ended up checking a lot of those check boxes and it was very true not just for cloud but it's solving problems in a wide variety of areas like IoT. There is however one little piece of that story I told that I didn't dive into at all and that was languages because that's the sticky bit. WebAssembly will only be successful if we get a lot of programming languages that are gonna support it. And it's kind of funny because when I would say this kind of thing a year ago the intention was to kind of throw out a warning hey we gotta get in touch with our language communities and start moving things along. Now it's a total in like a year and a half it is a totally different picture. So we like to use RedMonks top 20 language rankings and say okay that's a good collection of languages and I don't know if you've ever looked at the RedMonk rankings but they're brilliant. They use Stack Overflow and GitHub to figure out what are the most active languages. So they really found two great queries against active user data sets that we all kind of participate in. And they said okay so these are the top 20. Of the top 20 languages as of March when I last ran through my update of this 17 of the languages have made substantial progress toward WebAssembly. Some of them are already production grade like Rust and CNC plus plus. Some of them are very very close to production grade and moving very quickly.net is doing some amazing stuff with WebAssembly right now. And some of them have just sort of taken their first baby steps toward it. Dart still hasn't released but I know they're working on it. They've been very open about what they're doing and they've got some really cool stuff in the works. Kotlin is almost ready for their first release and has done sort of a beta release. So we're seeing these big languages all go one after another and really the only three that we're not seeing move are cascading style sheets which I'm not really sure they'll ever ever move. There's no reason to compile a CSS to a WebAssembly module. It's a style language. Objective C which is on the other side is very very surprising to me. I talked to a couple of Objective C developers and they said, well yeah, I mean we should be able to do it. It's just LLVM to WebAssembly but I have yet to find anybody who's even experimented with doing it and I would admit I know nothing about Objective C. And then Shell, Unix style Shell. I've been looking for Bash or C Shell style implementations in WebAssembly and I have yet to find one. But those are the three sort of outliers and the rest are moving some of them more slowly than others but all of them moving toward being able to support WebAssembly as a compile target. Swift by the way is very cool. The project that's doing it is not part of the official upstream Swift project. It's a huge group of the community that has done it and they have done an extraordinary job and they're hoping to get that merged into the mainline and I think that would be just one of those great win-win kinds of stories to see that community go that way. So there is one little caveat here though. Compiling to WebAssembly is one thing but being able to use that WebAssembly to interface with the host environment is a second set of challenges. And so as we wrote Spin, we realized that at that time we were gonna have to have two different classes of supported languages, two different tiers of supported languages. So we would have some tier one languages where we focused on building the right set of supporting libraries so that we could add database support so that we could add outbound HTTP, add key value storage and things like that. And so those are languages like Rust Go, JavaScript TypeScript, Python and so on. But we realized that we couldn't write that for all of them and don't really want to write that for all of them. So we built a second style of runtime that's really works more like CGI programming from the 90s. So instead of getting that full functions as a service experience, you've got kind of the CGI style where you read environment variables and you read your standard in and you write the standard out and it goes back. We could support a huge swath of WebAssembly languages by doing that without having to write any particular SDKs for them. Ultimately though, and I'm hoping that the way you're feeling as you hear me say that is, yeah, but that's not really the way any of us wants this to be long-term, right? We want it to be the case where once the language community has done their job and built the WebAssembly compiler and the WebAssembly toolkits, then all of us in WebAssembly LAN should be able to start using these things to assemble very interesting applications. There is a specification that's in-flight. I'm very optimistic that we'll see it this year called the Component Model. Very boring name for a really, really exciting technology. The Component Model essentially makes it possible for one WebAssembly module to say, these are the things I need to import, these are the things that I export. Now as soon as you can do that and you have the host system be able to read that information, then you can start saying, hey, this thing needs a YAML parser, this WebAssembly module is a YAML parser, we can plug them together, now we've got a thing that has a YAML parser and this thing can provide an HTTP service and this thing over here needs it so we can plug this in here and now we've got an application. So this is good because it starts to move us away from having to do everything in either one single guest module and a host environment and we can start building aggregate applications. But the really cool use case of this is that we can solve one of the most annoying problems in all of these language ecosystems we built which is we keep having to re-implement the same exact functionality in every single language and then it's like, oh, this JSON parser and this JSON parser differ in very, very minor ways. What if WebAssembly is just, with this imports and export system is a way to start stringing together libraries? Then suddenly you have a scenario where a JavaScript app can be pulling in three different libraries, an unbeknownst to it or the developer using it, one of them's written in Python, one in Rust and one in Swift because they're all just WebAssembly binaries that expose this kind of interface. And that's where the component model is really going. So it'll solve both the SDK problem that Spin is having but also is gonna open up this brand new kind of cool and exciting way that we can start building these applications even more rapidly and ideally get rid of a lot of wastage of re-implementing the same algorithms over and over again in every single language ecosystem. So I am very excited about this as a big possibility for the languages. So that's a little bit of a futuristic story. I did wanna come back and say today WebAssembly in this kind of serverless environment works very, very well. At Fermion we like to say this has been our kind of guiding user story. If we're successful today then you should be able to go from a blinking cursor to a deployed application in 66 seconds or less. We should streamline the process of doing WebAssembly so that it is that easy to do. No more 47 minutes to your first Lambda. We want it in 66 seconds. Originally it was two minutes but the CTO was like I can do it in 66 seconds and it's stuck. But that's kind of our vision or that's kind of the reality of it today and our vision is as this component model lands we'll be able to expand that into a very rich story. And that story is a language level story which means I'm passionate about the cloud part but it's also gonna manifest in the IoT space, in the browser space and in the plugin space and anywhere else people think of implementing WebAssembly. So from here if you wanna get started and just play around with the open source spin stuff you can head over to developer.fermeon.com and give it a try. I write a lot of blogs about this stuff really kind of around the broad ecosystem because as you can tell I enjoy this. This is one of the things I'm passionate, almost as passionate about this as I am about coffee and if you wanna drop into our Discord and chat I put a link in there too. Or you can stop by our booth and just chat. A number of engineers, one of whom is standing in the back are all kind of hanging out at the booth and we're all happy to talk WebAssembly however you wanna at whatever level you wanna talk about or play the finicky whiskers cat game to sort of illustrate how the system works. And then I like including this part at the bottom. We decided it was an important thing for us as a company to create an open source pledge that just says when we say we're releasing spin as open source what we mean is we're releasing spin as open source and it's always gonna be open source. So it's an important thing to me personally to point out that that was something that we take very, very seriously. Especially as a startup it's also trying to figure out good ways to pay paychecks. It's important to be able to say look we're not gonna pull any kind of bait and switch or anything like that. So that's an important one for me to call out especially at a place like this. With that I am happy to answer questions. I know we're kind of pushing time but I think we're okay for a few questions. Five minutes, five minutes, all right. And there's a microphone right there if you wanna come up and grab it. Thanks for a great talk. So I'm a backend developer and kind of I always hate the JavaScript. So I'm kind of looking right for like the ways like Swift made you like not need to learn Objective-C. Now finally it looks like you don't need to learn kind of that kind of the other stuff but to me what I'd like to learn more and see right you explain the generic runtime. So basically I think all the pitch fits .NET like basically multi languages. So how is this different from .NET for instance, right? What makes web apps, IoT apps, plugins different? What needs to evolve? What is missing in this ecosystem from as like JVM deployments or .NET on the backend? Like is this thing gonna be working on the full stack? Is it gonna be running from backend to front end, right? So can you talk a little bit on what does the Fermion platform do because you didn't touch on this much to simplify this deployment across the full stack? Yeah, yeah, that's excellent. You said I had 35 minutes to answer. No, let's start with the .NET one, right? I think an interesting way to turn that question because it's such a good question is to say why is the .NET team looking into ways to compile .NET applications to WebAssembly? Because they already built an amazing language runtime. And there are two real answers. One is I think they like the way that it works and they like the possibility of even extending their own ecosystem for free by being able to pull in Rust developers and things like that. But the other one is that security posture thing that is different and kind from what they do. We're all trying to figure out how to do cloud better and cheaper. And for the .NET team being able to reduce out big layers of protection at the virtual machine layer and replace them with small layers like the WebAssembly runtime, that results for once we're talking scale, right? That results in taking massive pre-allocated pieces of computing power and starting to reduce those farther down without giving up much in the way of functionality. Second part of that question though is what's missing? Well, if we've got a security model like that, some stuff better be missing because there are things you can do that you shouldn't be able to do. Right now, WebAssembly is building a capabilities-based security model in which all these features like access to the file system, things like that are turned off by default. The name of this model is Wazzy, WebAssembly system interface. As that model gets built out, it's a little bit piecemeal and it's a little bit post-ex-oriented. So they've added file system access, environment variable access, clock time, random number generator, essentially the four things you really cannot do without. But that specification is evolving. So one thing you probably noticed that was missing out of that is network access, right? The modern-day cloud application does have a lot to do with network access. And so for us in SPIN, we basically shimmed in protocol layer network access like HTTP and relational databases and things like that. The next version of Wazzy, which is due out in a couple of months here, that will include network access. So we'll start to see an increasing set of features, but those are all gated by default. So it'd be like if you ask for a socket server, it's gonna say no unless the person operating it said you can run a socket server. Last part of that question, if I'm understanding right, is sort of like what's gonna differentiate here, the kinds of applications that we can build. And I think so something happened just in the last few weeks that I'm very excited about. And it really happened with Fermion, Dino and Vercel starting to kind of break away a little bit from the way other people have been doing serverless. In that what we're seeing is at KubeCon we released key value storage built in. The idea here was without ever setting up or configuring any part of a database, no username, no password, no connection string, no pool to manage, you could within your code just start doing gets and sets and lists and deletes in key value storage. And when you were running that locally in SPIN, it was just accessing things locally in SPIN. When you deployed it out to Fermion Cloud, it was using Fermion Cloud's big distributed key value storage system. But you as the developer didn't have to make any operational decisions at all about that other than saying, hey, I'd like a key value storage please. A week later, Dino released something very similar for their JavaScript only platform, right? And a week after that, Vercel released the same thing. So when three people do it, you start saying, wait, what's the intuition behind this? Because nobody has been doing this for the last 15 or 20 years and suddenly three people did it in a month. Well, I think the story we're seeing here is that serverless is now making a transition to kind of a V2 serverless style in which we're really learning how to accommodate the two different personas. You got the operator over here who wants to be able to control the platform and deploy to AKS, deploy to Fermion Cloud, deploy whatever, right? And they want to be able to make those decisions and they don't want to involve the developers in that decision making because that causes friction. Developer side is the opposite. The developer wants to get the job done and the developer wants to use tools that we're comfortable with. We don't want to learn Kubernetes. We don't want to write 3,000 lines of YAML manifests. I wrote how I very much apologize for that. I'm being sarcastic a little bit there, right? The idea that I had then was developers would love to write lots of YAML because then they could describe the infrastructure they wanted. Well, it turns out, no. We don't want to know anything about the infrastructure. We just want to tell you here's how the code should run and something else will figure out how to actually make it run. So in that case, my apologies, I suppose this is sincere. That's what we're starting to see evolve in this kind of next gen of server list. It's just now, I mean really just now in the last month starting to play out. So I'm really excited about that and I think what we're gonna see is the increasing easing of integration of data services directly into the code layer and then keep ops in ops land and help resolve that friction of going back and forth between dev and ops in order to try and get something running and then operate it on day two. So I'm very, very excited about that. Did I miss any part of that question? Do I have time for, okay. Maybe one more, all right, all right. What kind of trade-offs are you making for your serverless pre-optimization? Like when I hear that I think of some sort of warm caching and I'm wondering what trade-offs they're making there. Okay, so the question really we'll talk about a little bit about what the startup of a serverless function looks like here, right. So we compiled a web assembly. Web assembly is a byte code based format. We already talked about you could run it in an interpreted mode, a jitted mode or an AOT mode, right. The fastest is gonna be the ahead of time compile. When you're running in your local system, ahead of time compile is probably over optimization. You really care about fast compile times and being able to run it there. But once you're starting to deploy this and run it in production, the faster you can get it going, the better. So in Fermion Cloud we tend to AOT compile things on first execution and then from then on outward there you are always getting a native or even faster speed. So the faster one I think is what you were kind of keying in there. If we're gonna do it faster, how do we get faster than native? So there's this really cool project out of byte code alliance which is one of the standard Z organizations for WebAssembly called WISER, W-I-Z-E-R. And the idea is when you think about a scripting runtime or .NET style runtime, the first initialization is to load a lot of external sources and then get them ready for execution. Every single time I execute an identical set of scripts that in it step is gonna be the same and then I execute user land code. So I take a performance hit for essentially repeating the same operation each time I start up a Python script or each time I start up a .NET app. So WISER basically is a WebAssembly tool that takes it, initializes the WebAssembly module and then freezes it out as a pre-initialized WebAssembly module which basically eliminates a lot of that boilerplate. It is super cool. It felt like magic the first time I ran it. And that's one way that you can kind of speed it up. The downsides to some of that, as soon as you AOT compile, you're really locking into an architecture. That's another reason why when we did it on Fermion Cloud, we said, okay, you don't AOT compile until you know the exact node it's gonna execute on. Then you know the operating system and you know the system architecture and neither of those things are gonna change so we can AOT compile. If you prematurely AOT compile, essentially you're taking the cross-platform, cross-language, or cross-platform, cross-architecture story and saying, yeah, don't really care about it. This is now an Elf binary or this is now a Windows XE. So that's one of those trade-offs you have to make in performance. You have to figure out when that right moment is to start layering on those optimizations. Did that get it really what you were after? Okay, thanks. All right, well, I know we're now officially out of time. Thank you very much, very much enjoyed it. Take care, have a great conference.


Hi everyone, Sean with jaspyscasebreaks.com here doing 2012-2013 Panini Preferred Basketball. Five box, half case break, random team number one, where we're giving away $850 in break credit plus opening up five boxes. The dual rookie class, so looking for Kyrie rookies, Anthony Davis rookies, Kevin Durant autos, Kobe Bryant autos, and a whole bunch more. Here's the way this works, 30 spots at the end of the break will take all 30 customers names, randomize them, and it was originally top $500 in break credit now. It's number one, $150 in break credit, number two through $800 in break credit, totaling out to $850 in break credit. So the original $500 plus an additional $350 plus all card ship, so let's do this. Let's copy this list actually. Send that on as a second spreadsheet when we do the randomizer at the end of the break. So first randomizer obviously is for the break itself, separate dice roll, separate randomizer at the end of the break to give away the break credit. Let me copy this customer list over to here. Now we're good to go. So here is the customer list from Eric Kempski with the first spot purchased all the way down to Taylor Allen and the spot he just wanted in status five. Whether you guys won spots or bought spots straight up, thank you very much and good luck. And here's the list of teams from the Atlanta Hawks down to the Washington Wizards. Dice won't randomize both lists and pair them up two into two, four times on the dice for the hard way, so one, two, three and fourth and final time. From Michael Robinson down to Jose Rodriguez. Four times on the dice, four times on the randomizer and four times on the teams. Fourth and final time. You've got from the Hawks down to the Warriors. So four times on the teams, four times on the customers, four times on the dice. Let's see how it turned out. Michael Robinson with the Hawks, Eric Kempski with the Rockets, Daniel Katz with the Hornets. Arnoldi with the Heat. Oliver Smith with the Nets. PJ McNeeley with the Jazz. Robert Flores with the Clippers. Eric Kempski with the Pelicans. Taylor Allen with the Wizards. Terry Cahill with the Timberwolves. Chris Bright with the Bulls. Michael Aestrelia with the Kings. Sean Peterson with the Grizzlies. Jose Rodriguez with the Suns. Tom Lee with the Spurs. Jure Xion with the Raptors. Daniel Katz with the Mavericks. Eric Houston with the Celtics. Oliver Soria with the Knicks. Jose Rodriguez with the 76ers. Michael Aestrelia with the Bucks. PJ McNeeley with the Lakers. Chuck Stumeris with the Blazers. Sean Peterson with the Cavaliers. PJ McNeeley with the Nuggets. Jonah Bagnasi with the Pacers. Sean O'Leary with the Magic. Zane Christian with the Pistons. Scott Blackwell with the Thunder. And Jose Rodriguez with the Warriors. So that's the full list there, guys. Eric has a request to potentially trade the Lakers for the Rockets. That's going out to PJ with the Lakers there. So PJ, if you're listening, you got some interest for the Lakers there. Here is the full list for everybody in regards to potential trades. While you guys are thinking of potential trades, take a screenshot of that. Take a look at it. See what teams you have. Make requests for what teams you're looking for. While you're doing that, we've got to figure out which five boxes we're going to do since this is a half case break. Fresh case here. You got 2012, 2013, preferred basketball. We're going to pop this thing open. Hi Rex. For sure. For sure. Okay, and there you go. So you can see on the nit cam, those are 10 boxes. Let's just go 10, five on top, five on the bottom. So five on top, five on the bottom. One, two, three on the dice for the left box. Four, five, six for the right boxes. Is that my lucky dice? There you go. So four. So it was meant to be, it's the right boxes. These here, I'm going to put a little X over the Pini logo in the front to show those are all from the same case. So when we go to do those for the second half, there you go. I don't see any other talks of trades. Eric, pop back over just in case anybody wants to see if there's any other potential trades that anybody's looking to make. I'll give it another 20 seconds or so. Just in case anybody's looking. Okay, trade window going once, trade window going twice, trade window going three times, trade window closed. Okay, let's print, rip. Good luck to everybody. Eric, hopefully we get you some try to trade, couldn't trade Mojo for the Rockets or your other team as well. And here are our boxes. Good luck, everybody. Let's do this. What are we talking about? Here is the final list. It's going to be exciting. 2012, 2013, dual rookie class. What kind of stuff has been waiting in here for what, almost 10 years now? So we have a rookie booklet out of 249 right there on top. We have the Kobe anthology packs. You know, we can get this out. Let's end with that. So these are going to pretty much be all Kobe cards. Every once in a while, you can get a numbered or a, hopefully a parallel or something like that. But obviously these are all going to go to Lakers and PJ McNeely. Just a whole lot of Kobe. You got to love that. And every single one of these packs is just a single card pack. It should be three on-card autographs plus one booklet card per box. Wow, that's a way to start it. Preferred Steph Curry. Golden State Warriors Jose Rodriguez has been waiting for this break to go. There you go, Jose. Two out of 50. Dude, congratulations. Damn, that is pretty.  Well, all of this is going to get cool. That is awesome, congrats, dude. We've got a jersey and auto of Kyle Singler. That's 19 out of 99 rookie silhouettes auto for the Pistons and Zane Christian. Well, Steph's going to have to get a photo later. And they have these sweet, sweet die-cut autos, which are actually a little bit hard. It is Anthony Mason, Panini Choice Award for the New York Knicks, and Oliver Soria. That's 49 out of 49. A little bit too thick for the regular. There you go. And our rookie booklet, oh, that's a randomizer. Kyrie Irving, Enis Cantor, Derek Williams, Jonas Fallon-Tunis, Tristan Thompson, and Jan Vaselli. So we've got Cavaliers times two, the Jazz, the Timberwolves, the Raptors, and the Wizards. So that's a five-team randomizer at the end of the break. That is 82 out of 249. So you can see on there, Cavs, Jazz, Timberwolves, Raptors, Cavs, and Wizards. In the case, just a heads up ahead of time, in the case that we pull any Charlotte Bobcats or any New Orleans Pelicans, those go to the city. So Charlotte Bobcats go to Charlotte Hornets, or New Orleans Hornets go to the New Orleans Pelicans now, so on and so forth. For when that happens, just so we are all aware. Here's box two. That one, I think, is the patch. So we'll do that. We've got a Lakers booklet, so we already know who it's going to. We just don't know what it is. Was it numbered on the front? It is numbered on the front, okay. We've got Kobe, Kobe, Kobe, Kobe, and Kobe. All for PJ and the Lakers. Right, Rex? It's the Rex Wins rule. So since we know this is a Lakers booklet, obviously going to go to PJ and the Lakers, and we got a six-way relic of Kobe Bryant, Pau Gasol, Darius Morris, Metal World Piece, Darius Johnson Odom, and Robert Sacrae. Enclosed game event worn material. And that is 83 out of 199. So I'm going to grab booklets for those. I know, Oliver. I know. We've got a die-cut auto. This one is Gordon Hayward. Penini Choice Awards for the Utah Jazz and PJ McMillie. That is 20 out of 74. It's another die-cut. Different, I think, size die-cut. It's another Utah Jazz. This one is Alec Burks. Rookie. Jazz, PJ McMillie. CJ, I'll probably post it after this. This is a Rookie Auto 2 out of 10. And this is our thicker one. This is, I think, a Patch Auto. Remember, every box is three on-card autos plus a booklet. It's a redemption, which obviously is going to be expired at this point. But whoever this goes to, obviously give Penini a chance to fulfill it if they have it or do something for you. In replacement, we are going Silhouettes Prime. Card 273. Ray Allen. Ray Allen in this would be, actually I had the checklist open earlier. Let's see who it is. Group break checklist. I just had this up. I should have left it open. 2012, Preferred Basketball. Jesus Shuttleworth, right? Come on, computer. Ray Allen. I believe this is all heat. This is card 273, yeah, right there on the checklist. Card 273, Ray Allen Silhouettes, Miami Heat Edition. So Miami is Jonathan Arnaldi. We got another rookie booklet there. This is where the patch was last time. Maybe, I don't know, I can't tell. All the same, around the same thickness. Can't really tell on that one. Our rookie booklet is 141 out of 249. It's another randomizer. You've got Brandon Knight, Marquis Teague, Darius Miller, Anthony Davis, Michael Kidd Gilchrist, and Terrence Jones. So, you've got Detroit, Chicago, New Orleans, New Orleans, Charlotte, and Houston on that. So these are both, this is another randomizer that we will have to do at the end of the break. Yeah, Covey, Covey, Covey, and Covey. More for PJ and the Lakers. We've got a Crown Royale die-cut auto of Quincy AC, 67 out of 99 for the Toronto Raptors, and Yer Zyong. This is another redemption. We'll check that one after this other pack. Same thing applies. Give Peninia a chance to fulfill that for you if they still have that card. If not, give him a chance to replace it for you as well. We've got another Crown Royale, and it's Jimmer Ferdette. 85 out of 99 for the Sacramento Kings, and Michael Estrella. This is Penini's Choice Green. Card 76, Jamal Crawford. He has played for quite a few teams. Jamal Crawford, Penini's Choice Green is for the Clippers. Clippers is Robert Florence. Click back over here. So you'll see Penini's Choice Green card number 76, numbered out of five, Jamal Crawford and the Clippers. It is Buckets. Is the booklet. And 63 out of 199, Buckets is Kevin Love, Clay Thompson, Kevin Durant, Manager Nobly, Dirk Niewitzky, Kobe Bryant, and Derek Rose. Very nice. That is Minnesota, Golden State, Oklahoma City, San Antonio, Dallas, Los Angeles, and Chicago Bulls. That's another randomizer at the end. We've got Kobe, Kobe, Kobe, Kobe, and Kobe. Well, they're not enforcing it yet, Rex. So, I mean, they're enforcing it starting Monday, right? We've got Jan Vesley for the Washington Wizards, and Taylor Allen. That is 74 out of 99.  If I pitched Sunday, I'd still be doing it. Chris Copeland for the New York Nets, or sorry, Knicks, Oliver Soria. 81 out of 99, I know, right? Should be more Kobe than this. Maybe we got something here, Jonathan, let's hope. And we've got Chris Mullins, preferred autograph, very nice blue team color matching autograph for the Golden State Warriors, and Jose Rodriguez. That is one out of 49. Hall of Famer, Chris Mullins. And last box, let's finish it with something big. NBA Draft. How about this previous one? I'll give you some models in June of 2019, pretty big Arizona still with us in that close fit. He takes the yard and the Cardinals win it. Two out of four, so. Mm-hmm, I can't tell if any of those are hatch auto. Why is it a stand-alone? I can't be Michael Collins. So, why are you pairing many? You want me to see, but I won't see it in the U.S. Open. At least not yet. Whether to fight for it with the Stanley Cup is on the line, there we go with it. We've got Al Jefferson, Dwight Howard, Jameer Nelson, Josh Smith, Andre Guadala, Lual Dang, Kevin Martin. That is, what draft is this? Pundit's fans grab their crystal ball. So you've got Utah, Los Angeles, Orlando, Atlanta, Denver, Chicago, and Oklahoma City. So that's the fourth randomizer that we've got for the books. We'll use the same dice roll for all the randomizers. You got Ray Allen, Jonathan? No, it's Redemption, but it's still Ray Allen. Kobe, Kobe, Kobe, Kobe, and Kobe. And we've got Erson, Ilya Sova. Auto for the Milwaukee Bucks and Michael Estrella with the last spot mojo. That is 70 out of 74. It is a Redemption. Let's leave that. And it is a rookie silhouette's Emon Shumpert 26 out of 99 for the New York Knicks. Oliver Soria. Here we go, Oliver. And the last card before we do our randomizers. Rookie Crown Royale Signatures, card 460. Tyler Honeycutt. Want to say Charlotte? Let's look. Tyler Honeycutt is the Kings and Michael Estrella. So you can see rookie Crown Royale Signatures, Sacramento Kings. There you go, Michael. Cool, so now we've got one more thing to do, which is the randomizers. So like I said, we're gonna use the same dice roll for every randomizer. We'll do it based on the back. So Cleveland, Utah, Minnesota, Toronto, Cleveland, Washington on the first one. Detroit, Chicago, New Orleans, New Orleans, Charlotte and Houston. You passed away, Oliver. Minnesota, Golden State, Oklahoma City, San Antonio, Dallas, Los Angeles and Chicago, Utah, Los Angeles, Orlando, Atlanta, Denver, Chicago and Oklahoma City. I'm gonna pause the video, set up these randomizers and restart the video and do the randomizers and we'll close out the break. So there you go. See you guys in a second. Okay, so we're back. Here are the randomizers. So this is the first randomizer here, Cleveland, Utah, Minnesota, Toronto, Cleveland, Washington. Second book is Detroit, Chicago, New Orleans, New Orleans, Charlotte and Houston. Third is Minnesota, Golden State, Oklahoma City, San Antonio, Dallas, Los Angeles and Chicago. And fourth is Utah, Los Angeles, Orlando, Atlanta, Denver, Chicago and Oklahoma City. So same dice roll for all four randomizers. We'll do a separate dice roll, separate randomizer to give away the break credit right after this as well. So for the four booklets, three and a four, seven times on each. Seventh and final time, that is Washington. So that's gonna go to Jan Vaselli and the Wizards for Taylor Allen. Seven times. That is Houston. So Terrence Jones for the Rockets wins that for Eric Kempski. What? Seventh and final time, San Antonio Spurs. So Manu Jnoboli for the Spurs wins that for Tom Lee. Seventh and final time and it's the Lakers with Dwight Howard winning that one. There you go. Let's pop over here before we do the break credit giveaway. Washington Wizards, Jan Vaselli. You're gonna get the rookie booklet of Kyrie Irving, Enis Cantor, Derek Williams, Jonas Valentinas, Tristan Thompson and Jan Vaselli. Goes to Washington. Houston Rockets got the rookie booklet of Brandon Knight, Marquise Teague, Darius Miller, Anthony Davis, Michael Kibb Gilchrist and Terrence Jones. For the Rockets wins that for Houston. The Buckets booklet. Kevin Love, Clay Thompson, Kevin Durant, Manu Jnoboli, Dirk Dvitzky, Kobe Bryant and Derek Rose is won by the Spurs and Manu Jnoboli. For the Lakers, Dwight Howard wins the, oh, draft of 2004 booklet. Al Jefferson, Dwight Howard, Jameer Nelson, Josh Smith, Andre Agudala, Louis Aldeng and Kevin Martin. That is going to the Lakers and Dwight Howard winning that one. Last thing to do is give away break credit. So here is the spreadsheet again and top eight win. Spot number 150 dollars in break credit. Spots two through 800 dollars each. And here is the list of customers again from Eric down to Taylor Allen. Dice rolled randomized both lists. Top eight break credit. Five and a three, eight times, eight after eight. Good luck. Eight in final time. Okay, so from spots nine down to 30. Thank you guys very much for getting in on the break and hopefully I can do better for you on a future break credit randomizer. But special congratulations to Michael Estrella with last spot mojo, Jonah Bagnoski, Daniel Katz, Jose Rodriguez, Oliver Soria, Scott Blackwell, PJ McNeely and Zayn Christian. And there you go guys. That's the randomizer. Eight times on the randomizer. Eight times on the dice. Zayn getting himself 150 dollars in break credit. Let's make this large enough for everybody to see. PJ with 100 dollars, Scott with 100, Oliver with 100, Jose Rodriguez with 100, Daniel Katz with 100, Jonah Bagnoski with 100 and Michael Estrella with 100. I don't see any duplicate names in there so you guys will be getting each individual break credit sent to you guys very shortly. And that was the break. That was 2012, 2013, Panini Preferred Basketball, five box, half case break, number one random team from jaspyscasebreaks.com. Second half of this case going into the store. I'm Sean, jaspyscasebreaks.com. Thanks for hanging out. See you next time.


Live from Las Vegas. It's theCUBE, covering ServiceNow Knowledge 2018. Brought to you by ServiceNow. Welcome back everyone to theCUBE's live coverage of ServiceNow Knowledge 18. I'm your host, Rebecca Knight. We are theCUBE, we are the leader in live tech coverage. I'm joined by Landon Cook. He is the director, he's a director of customer service for the state of Tennessee. It's your first time on theCUBE. You're going to love it. Great, I hope so, brand new. So you're a director of customer service. Before the cameras were rolling, we were talking, does every state have such a department? Not exactly, and even in our department, the idea of customer service being a focal point and the creation of an office for us, it's all brand new. So my office of customer service didn't even exist until five years ago, and I've had one predecessor in that time, and this all came from a new focus and say government on the customer service delivery model. And usually we had been focused on federal rules and regulations, audit findings, always being good stewards of taxpayer dollars, but service delivery hadn't come from the mouth of the governor usually itself. So this is all pretty new for us, and from peers I talk with in other areas, I may have a contact who is maybe the lead of customer service in that area, but the idea of an office that exclusively exists to improve customer service throughout our department and eventually throughout the state, I believe that's all, we're in new territory here. So this is really the baby of your governor, Bill Haslam, who has really said he wanted, what was it, customer focused government? So what does that mean? So customer focused government started in, right after Governor Haslam came to office in 2011, and the idea behind it, he created an initiative and he stated that our goal was to provide the best possible customer service at the lowest possible cost. And again, that may not seem that new in many industries, but in state government, in state operations, that was kind of groundbreaking. And that's what's led to us talking actually about the customer experience, the agent experience, and how can we actually redefine customer service in government? And in my department, we are one of 47 state agencies. And in my department, I talked just briefly about the history there going back five years, and you see this slowly popping up in all these different departments. And the idea is that we're all going to at some point be able to come together and deliver customer service as a state, instead of as in each divisional department, we're actually going to be able to like share the scope of services and really tailor service delivery to each citizen's need through a login portal. There's all sorts of stuff we talk about now that's brand new, I'm sorry. So it's helping citizens do their citizenship duty, so this thing's helping them register to vote, registering at the DMV, getting fishing licenses, building permits, that kind of thing. So how do you do it? How do you use ServiceNow to? So we're babies here. So ServiceNow is the new CSM solution for the entire enterprise for the state of Tennessee. My department, the Department of Human Services, we are the pilot agency for all those 47 I described. And we're about seven months in, so it's all been pretty fresh for us. But how this works right now is we're using it primarily for inquiry management, phone calls, emails, web forms and chat, things people typically think of as customer service. And so what we're doing with ServiceNow and we started very carefully, very small. We had a very tiny pilot to start with. But once we launched after October, we very quickly realized that ServiceNow was so collaborative and cooperative with us and they were just as engaged in our successes we were, that we were building a partnership of CSM. It's kind of new to ServiceNow too, right? So it was new to us, new to them and we're really kind of intertwining and growing together here. And even though we're using it just now for inquiry management and typical customer service delivery, once our department has it fully integrated through all of our various, we have 12 divisions just within our department. Once we have it integrated there, we're going to take that model and we're going to go to other state agencies. And we've actually already had, there are three other state agencies that are probably going to be joining on board if they haven't already. This has been a very fast stand up for us. And we're going to, eventually it's going to go from, well, wow, DHS delivers great customer service and then instead, DHS is partnering with the Department of Health to deliver customer service to people who need it. And we'll start slowly just putting everyone together so in the future, citizens of Tennessee can just ask for assistance with something, excuse me, and the state knows what they need and the state knows how to deliver it and can do all that assignment and sharing of responsibilities behind the scenes through ServiceNow. Anything you can do to improve the DMV experience. So I mean, but that's, that is the thing. You're trying to make people's lives easier, better, simpler, more streamlined. But what was really, what was Haslam's goal? What was his impetus for starting this? You know, that's actually a hard one for me to say. I know what I can, I've gathered that, you know, he came from a corporate background. And I think he had a different perspective on customer service than what is typical of state government. So he brought something new along with all of his prior experience. And I think he was the first to really made it a priority because I think he understood that the expectation of the customer is different nowadays and it's different today than it was yesterday and last year and it's always growing and changing. And people of my generation and the generation following me, they're always expecting something to be simpler, faster, and more based on their needs, right? And state agencies had been so slow to react. We still use a lot of legacy systems. Before we launched the ServiceNow, all of our inquiry management was through Excel spreadsheets and Outlook emails. And you know, those are great tools, but they're not designed for CSM. And so we had done a really deep dive within DHS and within state government to look at, okay, where does customer service need to be focused on? Is it the people? It's not the people. We found that out very quickly. We have passionate people in the state of Tennessee. It's not the processes because people are doing what they can, but we needed a tool. And so with Governor Haslam's initiative and our understanding that we had to find a tool to better deliver service, we came onto ServiceNow just a year ago. So I've been smiling ever since. I feel like I'm a phase of it.  So what are some of the improvements that you have seen? Okay, so even when we were doing just our pilot phase, we launched on October 2nd. And I was talking with a lot of people from ServiceNow then and from the governor's office, and they said try to get a snapshot of them before and be sure to compare it with a snapshot of afterwards. So I figured two months would be actually sufficient. And we were still in our kind of test and pilot stages, but we really, we knew pretty quickly, we wanted to continue on with ServiceNow. So the two months prior, we were averaging inquiry assignment timeliness. So if you filled out an application or you submitted an inquiry to my unit, the Office of Customer Service, the amount of time it would take to get from this time you submitted it to a person in the field or in program who could actually help with it, that was taken about 36 hours, average. Some were faster, some were slower, some reached up to three days. And that's not even resolution. Sometimes that's just for us to even acknowledge that we got it and that someone's working on it. Afterwards, I looked at those two months following, so October and November, and we were at like eight or nine minute average. Just, and it's because we knew we wanted something enterprise wide, but we didn't quite anticipate the difference that workflow management would provide us. So all the parts that normally were all these handoffs really, really spent, and I looked at it last Friday, it was a hundred seconds. You know, we've entered new measurement criteria. Every time I go back and look at it. So lightning speed, lightning fast changes. No kidding, and our resolution timeliness has come right on board alongside that. We've cut it down to about 30% of what it used to be. We're able to just do our jobs faster and so we can get back to what people come into DHS to do is they come here to serve. They come here to try to help people, and this has taken away all that administrative responsibility so we can do what we're actually good at. Well, we're going to look forward to hearing what it is next year at Knowledge 19. Thanks so much for joining us, Landon. It was great having you on theCUBE. I appreciate it. I'm Rebecca Knight. We'll have more from ServiceNow, Knowledge 18 and theCUBE's live coverage just after this.


Well, hi there, my name is Sandy Allnock. I'm an artist and paper crafter here on YouTube and today I'm going to make a Treat box. I'm going to focus more on the stampy part, but I will let you see the coloring part I'm using this scallop treat box die from my friends over at Lawn Fawn And it comes in this one shape and you just make two of them in order to make a box So what I've done is taken one on scratch paper Cut off the tabs and then I'm going to line them up as if they are the full box because I'm going to make a scene All the way around the box. So this is what you would do with any box that you have Figure out what the sides are how they're going to come together and make it out of scratch paper and Then just start to lay out your scene I wanted sort of a little town of buildings all the way around the entire thing So I went to a bunch of different stamp sets They're all going to be listed in the doobly-doo down below to get other buildings to get trees various things And this is just on scratch paper So it doesn't matter if I stamp it quite straight or if I get it lined up because when I put it in the misty in a few Minutes, I will be able to arrange it just perfectly and even you know putting in the the little Fairy and the snowman. I don't even have to get that right I don't have to do any masking at this point until I'm ready to put it on the actual paper So I have it on 110 pound cardstock For my my good one for my final one because it's a box So I want it to be a little heavier and I'm taking those panels And I'm going to line up my stamps using those panels as a guide in the misty Now you need to make sure that your your base paper is not going to move So I'm gonna throw a little extra just to be sure in case I move something around a little extra post it to Hold it in place you can use tape or whatever and then I'll get one more image on here So I can do three images at one time and while I have all this together, too I'll also stamp some masks and cut them out So now I have my base paper down and I can start putting my images in and Voila there we have a few of them so I can put my masks over top This is Judy Kins eclipse tape that I'm using and again links for everything will be in the doobly do and I'm only masking out the ones that I need masked out I don't need to mask that fairy out that's flying up there because there's nothing behind her But there's these little buildings behind this fairy There's also going to be this tree and then a couple other trees And I debated whether to even use this big tree. I like how it came out on the finished piece So I'm okay with that. I'm also using some sticky notes now to block off the bottom I didn't do that on that first house But if you want the bottom of it to not have anything on it I'll do that on the other panel here and make sure that there's nothing On the bottom so the outside of my box has an option for nothing stamped on the bottom But again, I'll put a couple of my images down get them laid out the way I want and Put some masks over top so I can add some trees to the scene behind now This is a winter treat box. You could certainly do it as a Any other scene with whatever stamps you want, but I'm going to make it a winter treat box Which means there's going to be some sky in the background and some snow all over it You can stamp the snow There's one of the stamp sets the fairy with the little house on the right hand side That comes with some little snow things little chunks of snow that you can stamp on top That would require some masking and I didn't feel like doing it. So I decided I'm gonna add it later with a white pen but for the meantime I Am going to just color in all the images and I'm gonna focus my coloring on parts that are important. I'm not going to Fuss with all of the lighting on everything in every single spot because the overall effect of the box is Gonna be pretty cool And I need to be able to figure out how to do that without Wasting a lot more of my time. This is already gonna be a hugely long project The whole thing from start to finish was about two and a half hours So, yeah, you know spend more time than that on it But I think I'm gonna actually hang this one on my Christmas tree as an ornament because it took so long I might as well do something special with it Now you can see here this little house goes down on that bottom panel. There's little Scoremarks that's our score marks for where you fold the box together and that little house is actually gonna go below When I assemble it, you'll see that I can put that panel on the inside so no one will see it The one on the left the piece on the left has nothing on that bottom because I I smartly used my Sticky notes to be able to make that work So I'm gonna give my little girls some white dresses and red accoutrements So their headbands and their scars and ear muffs and things are going to be The red color I'll throw in some green across all my trees And I'll use a couple different greens to do a little bit of shading And you can make them all different colors You don't have to make all the same trees, but I find that having some colors consistent across the whole thing is kind of helpful So I'm gonna have all of my trees across the entire piece be the same You could make some of the houses green on those side panels as well I was trying to get this done in a reasonable order because yeah, it was taken a long time And I did decide to make this little house from the spring fairy set I decided to make it another shade of green a different one just because I didn't want it to stand out I didn't want any of these things to be like super fairy colored Because I wanted it to be a really rich box. So that's the reason for choosing all these colors I didn't put them on the screen because as you can see there's a lot of them and I lost track So I apologize, but again, this is more this video is more about how to Get the things stamped on there. So it makes a scene rather than on focusing on the coloring and Some of this coloring I'm not doing any shading whatsoever But there were some places here where I decided I was gonna put some bricks on the little castle I love that little set that has little fairy Fairy scene things in it that you can use with the fairies, but it's more like dragons and stuff in that set And add some wood to the doors And now I'll turn them so I can color the little houses on the two side panels That little set of trees that little one there is where the snowman also came from a little set of trees a little set of houses Gosh, I can't even talk today little set of houses and the snowman came from the same set. It was one of last year's sets So I'm just gonna add a couple different browns and I'm using the same browns throughout the whole thing I'm not changing out a ton of markers But then I decided on what the color would be for the backgrounds. This is super sped up Look how cool it looks when you speed up Copic coloring that much. I'm just coloring a solid blue background I'm not doing any shading. I'm not doing anything crazy I did have to reink my marker in the middle of this to make sure I got a good heavy coverage and pretty solid and Color all of those panels I also did end up coloring some of the inside of those so that when the box is closed It's going to not show some white on the back and I'm using some Be creative tape to hold this together whenever I do boxes and things I like to use that because it's gonna hold longer So you fold on the the score lines and then put the two boxes together It's pretty self-explanatory once you start seeing how it works This is assembling the two of them put the corners together and then you just pop the top sections into those slits on Side once you're done, but you can see right there. I hadn't colored the blue on the inside yet And here I am putting some white dots now for snow or you could do it as stars either one I'm doing it as snow Which means I'm going to do some of the white dots right over top of the images themselves because then it's going to look Like it's snowing in front of them And I'll put it all over the entire box And I'm also going to add some snow since I didn't do any stamping of snow The set that that tree comes from that big tree doesn't have little bits of snow on it It wasn't a winter set and I could have used the one from the fairy set in order to add some snow blobs to it and Decided I would just do that with my little white pen So here's one side or two sides of the finish box You can see all that blue on the top I colored the inside panels and I can tie a ribbon on to this and hang it on my Christmas tree Instead of putting treats in it, but you could also put treats in it and Just put some paper or something inside so that people don't really notice all the coloring through The color is going to bleed through the paper. That's just how it's going to be So there's a couple other videos with some Copic coloring if you're interested in seeing those Feel free to subscribe if you have not yet, and I will see you next time have an awesome day Links are in the doobly-doo to all the products. Bye. Bye