We are, as everybody here, so we are on this alert one to win on the warm-up problem there. I think there are multiple problems. I have actually done this before, so. So the idea is it's got a little bit of JavaScript code there, and so it's generating some HTML incorrectly, and you need to prove that by getting it to execute the JavaScript function alert one, which is going to pop up on the feed. It was, hey, we got first, we innovated, and we had a first place in Injects. It's because you weren't there, Adam. I think we're probably useless. Well, Dr. Fawn just sat in the, uh, what's called, like, the outside room. So like, 12 hours, a lot of fun for me. Thanks for recommending me for that. Oh, definitely not. Not the shell. You can download the jar file. And then you can make it executable. We're going on web stuff, so we're doing... Let's go with... I don't think you need verb. We should bring your computer next time. I'll just do stuff with the computer. It's a hands-on thing. So, type stuff in the input. What does it do? And you can actually see the output that it's doing right below. Thank you. Good. You weren't at the, uh... Thank you. Oh. Hi, people. Edgy. You guys are going to get pizza by your president? Yes. Pizza. Oh, the voting? Yeah, it's a part of the vote. Did you get voted in or what? Like, yeah, yeah. Yeah, we need to re-vote. It was... Yeah. But pizza. You get pizza. Vote for me. I give you pizza. Why so much cheese pizza? Uh, you know, it's because... I didn't know I was... It was a split-second decision. Because I actually got this pizza last week. Right? But our meeting last week didn't actually happen. Because as I found out, nobody would be here to actually lead the meeting. So I paid for the pizza. We can still meet though. I'm still coming by. Well, no, I wasn't going to be here. I wasn't going to be here. Emmanuel wasn't going to be here. Eric wasn't going to be here. And Adam wasn't going to be here. And so we were just... I was just like, well, if nobody's... We're not going to like, learn something new than... Because if Emmanuel or I was here, we could do something. So is this a website? Yeah. I don't think Mark... Is it this one? Uh, exit. Yeah. Come here. Take him along. Yes. Put it here. Uh, use... Navigate to this? No. Just exit. Go to your actual machine. So... So are we... Are we... Are we... Are we... Are we... Are we... Are we... Are we... Are we... Are we... Are we... Are we... Are we... Good. What are we doing today? He never talks. He's an expert. I'm sure he does. Do you see the app there? The app. Yes. Install openjbtk. I know. Open. Openjbtk. That's good. Good, good, good. Because I've tried that... Patap. Go to your own app... Patap. There you go. So we're going to select the 7.jre suck. They're helpful. Yeah, they're helpful. You just put 10, then 7, then 7. Yeah. Dash. How can I wait? Can I just stop? Dash. Is that after our meeting? Yeah. After our chat? Yeah. This was today, this morning, that or? No, we didn't scare you. Are you? Right after we're done. I got a phone call from him and I was talking to him outside. Okay. So with OpenDK, you were able to come up with that. So what exactly are we doing? Instead of just talking to him. Alph.nu slash alert. Alert 1. I think we know. I don't know that we know it's process driven, but it's process driven. So you need to get it. All the alert ones. So. Oh, look at this. So what? Yeah. Yeah. Yeah. Yeah. Yeah. Yeah. Yeah. Yeah. Yeah. Yeah. Yeah. Yeah. Yeah. Yeah. Yeah. Yeah. Yeah. Yeah. Yeah. Yeah. Yeah. Yeah. Okay. So what we have from OpenDK, you can download it. You can download the original version of it. Yeah. Yeah. Yeah. Wow. Okay. There we go. Yes. Is that awesome? Come on. I think this is the, I just sat down and looked at this. Got the CTF that we did look at the other week, where it was that percent zero B. It really made me mad, because I tried that too. I tried that too, but I didn't have like the right, oh god. And then, or I tried that. This looks really ugly. That looks way too ugly for this. Yeah, this is an easier way to do it. I think you. I'm going to do it. Try it, I'm going to do it. But if it works, move on to the next slide. I'll show you the elegant, pretty way to do it. Here's what those look to think about. If you think about what's your actual goal with those things? I'll try the ends to get. Right, so to start the new one is to execute some new JavaScript. Right, but you're already here. So why use all that if you want to? Oh, I see what you're saying. In the console.mlog, call it. You have to close this method, right? Yeah, that's what I was trying to do. I'm going to make sure about what's at the end. Yeah. What do you call it? It's my name. Think that. It tells you once you get it. Oh, because I didn't do this. Yeah, I got it. Yeah, that's what I was trying to do, but I haven't too many written script tags. I did that. And I looked at yours, and I was like, got this. Yeah, I don't know why I was thinking that. Yeah, that's what it's called. How do you do the next one? Is it just alert two, probably? Yeah. Oh. Entering your name here? Yeah. Okay, let's do JSON. It's not possible. Yeah. All right. All right. All right. All right. All right. All right. All right. All right. All right. Well, yeah, it doesn't look like nice. Yeah, but it tastes amazing. All right. Yeah. Yeah, yeah, yeah, because the other one was closed. Wait, what? So, like, without this, then we can't set it in. Why is there a slash? Console log. Yeah, it says, you know, console log. It's not right. It's not a word form. It's not right. We don't want to have it. Yeah, it's okay. What's json.strength? What's what? json.strength5. What is that? There's actually more single injection. That's a really good question. Oh, it's something we should probably figure out. Yeah. Well, I'm doing the Adobe one. This is Adobe? Yeah. This is what it seems. What's the difference between the two? This part right here? I don't know. Are you allowed to see user's score? No. What's the word for the code? It's functionality. Is that a word? It's a word. You get the other box. That's what it looks like. That's what it looks like. I'm pretty sure you got it. Let's look. Let's look. Let's try that. Is that two cheeses? Wait, is it two cheeses? Oh, I thought there were two pepperonis. No, it's javascript. Oh, well, they messed up. Yeah, I don't know any javascript. Two different languages. What's level two? Google it. That's a good question. Is it other two? I think it's the other two. Yeah. I don't... I think... No, no, no. You see worm up at the top right, or it's at the very bottom. There should be an Adobe and a JSON one as well. You scroll down to the bottom, add your name, and then it jumps you to the next one. What do you mean it jumps you to the next one? It doesn't load the new page. It didn't change the URL. It just takes you, I think it adds cookies and stuff. It just takes you to the next level. Yeah. Yeah. Oh, I don't know if it's now or... I don't know if it's now or... Is it okay? It's... It's... It's... It's dead options. What does stairs do? Good. Carlos, what did you... No, I would say no. The stairs here are horrible. Oh, it adds... It escapes characters, which is annoying. Which one? The string of... I don't know. That's a problem. Oh, well, I think I can... I think I can escape the backslash, and that now becomes part of the string, yeah. It's not showing me the next one. But the problem comes with this other one. Are you going to write it? No. Is it when? Because you want to... Oh, wait a minute. It's in like... Oh, it's... Yeah. Oh, I didn't have the clue to try. I'm glad that's your big stuff. You got points for it. Oh, okay. Start on that website. All right. I guess probably you... Oh, I don't know. I don't know. Are you doing... Because this is just looking for... Oh, it's looking for... I'll stop the place. Oh, is it? So I wonder if it's... Oh, no. It's the last one. No, you didn't see this one. You didn't see this one. But... You closed it. I can't close it. Do I just sign between a two inside there instead? A percent sign, 22? Yeah, no. Now I just take that. No, this should be fine, yeah? Well, no, so the problem is the script isn't valid because you're escaping that double quote so you're not ending the log. Yes, but I'm escaping the... Well, see, it turns the single quote into a double backslash quote. Oh, wait. That should escape. Oh, yeah. And so I'm doing another backslash. Yeah, that makes more sense. And so... Well, no, so the double backslash isn't... Right, I need to do something to escape that. But sometimes interpreting that in script tag as part of that jumps that into a script and then that to your new script tag. Why is that console.log? Console.log prints output to the log. So if you do, like, control shift I and then open up the inspector in a Chrome, you're going to click on log. And that's where the JSON logs go. There's a JSON console in the web browser and that's where console.log goes. Copy that output, create a new HTML file on your machine, put that output there, and then open it up to the browser to see if it actually pops up. Right. What browser are you using? Firefox. There should be a tab that says console. Somewhere. Yeah. Oh yeah, this is helpful. Is there a first meeting already ahead of all of you? Who? Ring there? Yeah. Apparently it doesn't work with Firefox. Thought that came up with a pizza. Yeah, so maybe it doesn't work with Firefox. How is it Firefox? Is that console.log is put on that? No, the console.log isn't running anything. It's just printing output to the console. Same thing as a printf in CR. My backslash idea is not right. Oh, did you find something? I can't escape out of this. And I think if you need that backslash there. Okay, click OK. Right-click? Yep. How do I run it before I give it a command? I don't know why you do that. It automatically does it. Oh. Neither are we. And then closing. So if we're not escaping the code, they'll have to go forward. Can I take any of our parsing of the HTML tags? Probably. Like this, yeah. I'm on the Adobe one. I'm not on the first one. I don't know how the... I beat the first one. Yeah, it's because it's already in there. So you should play around with what you can do with the string inside of there. Maybe... Yes. Let's see. Oh, don't hit enter. Hit backslash. Uh... Let's see. What's it saying there? Do you have another...  Hit backslash. Yeah, and then... Yeah, now type hello. Yeah. See, it's printing hello there at the bottom here. Yeah, look at your console. Yeah, oh, nothing happens in the test frame. I don't think so. You have to call alert one, and then it'll automatically... There's a big page that says, like, you broke it. So once you get it... Yes. Yeah, JavaScript. Yeah, look at how the tags are closing. Try using a quotation mark in parentheses and look at what the actual output is in the code. See if you can... Yeah. And parentheses? Yeah. Yeah, just play around with it. See if you can get the... See if you can... You can line up multiple JavaScript commands in a single line by separating them with a semicolon. So if you did the log console, semicolon, alert one, semicolon, like, log console, that would probably... Which one? I can't see very well. Yeah, that's semicolon. Yes, if it was valid Java... That won't do the challenge. You have to look at how they're doing their syntax. But that's the general... just of things. No. It's not so close. That's my console. You don't need quotes for the one that's called... Well, no, but I can't get rid of this other section of quotes. It's wrong. So, like, if I... Wait, where was that? Uh... Wait, why is it returning... colon, alert, way... Yeah. Oh, no, I need to do this. Yeah, I need to escape that slash there. You guys already passed the portal. Act is super cool that you can see the output right when you're doing that. Yeah. That's pretty... I have absolutely no idea. Web development is not my... strong suit. Is there an alert, too? Or is that what, you know, what was that? But... What's that for? Like Adobe and JSON, it says. There'll be other levels on the right. There you go. I know how to start with socks. Okay. Actually... So we have to figure out how to... Yeah. We're going to have a... The slash should escape that... I mean, I'm thinking... And I'm all wrong. It's getting to the right-hand side of this. What is this example happening? This is running the code? So I'm... Your input's here in the S button. It returns this string. Output, you can see the output there. It's escaping that string. Since we're... Since it's bringing those double ticks, we don't really know how to get around them. That's... I'm trying to figure out that as well. Wow. Because if you add a double tick, it... It escapes there. I know. I got in place. I got it. Yeah. It's printing out alert one. I don't want it to print out alert one. Yeah. I can't figure out how to... Unescape the thing. It's really sad. If you can... This is not... I'm not gonna... I'm trying very hard. That's exactly why we do this. To learn. But there's that pesky escape mark. I thought about escaping the backslash. We need to... I need to put something. That? But if that works, this should still print out. Or it should just print out hello. It shouldn't print out the entire thing. Right? Because this is printing out hello because it's in between two things of the console log. So if I put a backslash here, that should put out. So if I did a... It should print out hello and then %34. But look at this console.log. You have console.log slash slash like... That's... Is that valid javascript right there? Probably not, but there's the... I need to find a way how to deal with that slash to close the thing. How do we do SQL injections? How did we do SQL injections? How did we do... Oh, there you go. God, Adam... Why? Oh, I know. Right? How do you do that? It's two slashes. So it should be... If I just do this... Run a... Yeah. Run a SQL injection. Yeah. Close the... Oh, it's a bracket. Yeah. Adam, why was that? The solution? Why hadn't I thought of that? It's empty in here, Adam. It's empty. You click the thing. You click... Oh, we have to click this? Yeah. Wait, so we're 57... I keep questioning the same two levels. I don't understand it. Oh, this is just new levels every time. Oh, I see. I see. Okay, so that's the same thing for the JSON one. We just have to add comments. No. No. How did I get... Oh, so it opened up two different ICLs. I thought it was sequential, so I was confused it gave us two different ones. Yeah, that makes no sense now. Okay. I'm smart enough. Oh, no. Oh, please tell me. Do you need it? Uh, I might... Oh, it looks like it had mine. Okay. Okay, so for the stringify one, we would have to... How are you doing? Cool. Still on one? Almost there. I think you have an idea. Are you on the Adobe one or the warm-up one? Let's see. It works. I thought you had a code. So, we were talking earlier with the... I guess not. Yeah, so I'm going to escape this guy. Yeah. Oh, so X gets everything. That. That will escape this guy. You don't have to do anything. This is what your browser is interpreting, right? Oh, G. That's what your browser gets as HTML. And it's interpreted. Yeah, but it's going to play now a string. See what happens when you... It's going to play now a slash alert. No. It's going to bring out the alert one as a string. Oh, that's not... Because it's a string. Inside double quotes. No. Alright, because it's inside double quotes. Inside this string. I'm going to escape. I'm going to do that. That's all of this is constant string. Your input is being appended. Oh, yeah. Inside there. You can never change anything that comes before you. Do you know what's trying to find out? No. I'm going to have to figure it out. I'll run. It's just iterating. Dumb way. But that's not the fun way. That function goes here. Your browser will interpret that as HTML. Okay. But we want it to run a function. Yes. So I thought that this console.log was going to run that function. No. Console.log just outputs this string here. Oh, okay. Markdown, DOM, callback Markdown, DOM, callback Markdown, DOM, callback Markdown, DOM, callback Markdown, DOM, callback Markdown, DOM, callback Markdown, DOM, callback into an escapable string. Yeah, so how did you do the... How did you do the... How did you do the decent one? The crappy way of all the script tags? Because I just end the script tag and start my own just books. Well, how did you... Well, I thought I was trying this, right? Where I did the backslash. Well, no, because first you have to... First you have to... First you have to... So you still have to... You have to finish the first one which you do by skipping the current... So... So now you're there. So now you have to end the script tag. Because I end the script tag so that I essentially... I cut out the right-hand side of this. And I start a new one. Your console output should be much different right now. Close it. I just closed it. I need to do one more. No. This part is displaying. Oh, your first one's on and your first one's a new one. That's your problem. You have to end that one first. I thought I... Why did that work? I guess... This doesn't... This is fine because it doesn't necessarily need to print out a value string. I'll give you an escape card. What's the escape card? Okay. This... This... This... This... This... This... This... This... This... This... This... This... This is an end of line. At the end of a line where it's not... Yeah, you're right. There's no end to line in there. So that... should work. What are we going to do now? Actually, there were... I feel like a... So that escape card... This... This... This... Hey, doc. You should still run that. This is undefined for some reason. I'm not sure why. I think it should work. They just... They're just system-based. Exactly like this. That makes sense. What if you take your other idea? What if you're there instead of concatenating? What do you need to start in here to stop that... that console.log? So it's making an element out of... Yeah, so it's making a link. And then it's... You're trying to concatenate things, but it's making another idea. Yeah, so... Yeah, but the problem is that... A won't... Okay, so it should be making... A equals more than... Yeah. So A houses the URL, but usually A encompasses some other element and makes that... Cover up all of this. Because we need to click A and execute JavaScript. What you have here is... Script. These two are... Exactly, what's wrong? I guess not. Again. So that's all valid JavaScript. But now what's this plus at the beginning of this line? That's not good. So it appends it to like the very end and then makes a click point. Now we have good up until there. Now we have an additional plus there. Do we need that? That's good. But now look at what we have here. Afterwards we have... ...which is not a valid JavaScript. Exactly. So what do we need this JavaScript page through that A? We have to like erase the first part of this drink. No. No. So if I did this... If I went to Google.com because what it's doing is... I don't think the console.log doesn't help us at all. But it is taking this URL that we're producing which is this console.log and making it the href. That includes JavaScript. The URL includes this JavaScript code. Yeah, yeah, yeah. So we don't want that going into the URL. Yeah. Maybe... Move it spaces in between those. Okay, you can try that. Do this. You know how if you're finding a place and you need to have something on top of it. Do you have any... You know what we probably have to do? Oh, oh, no. Keep that. Go with that. Right? But at the very beginning? No, at the very beginning. Escape out the actual walk. So do single quote? And then front. And then... No, it's a single quote. That's single quotes for this. Oh, oh, oh. Yeah, this is J-Pone, not Strangify. It's in here. It makes these double quotes. Which are... I can't invent. Oh. Oh, oh, oh. That's fine. It's... We have to somehow append... The actual vulnerability is... Nice. Oh, and then do another console.log after it. Oh, put a semicolon. And then close the front. Right? But then at the... You need a semicolon before here. Get rid of the JavaScript itself. My browser, I had to, like, reset my browser. What'd you have to do? I was working on the... It wasn't updated at all. Yeah, what's up? Yeah, that's definitely... I think you had it with the addition. That's for Adobe. The addition, yeah. For JSON? Try whatever you think might work because it'll probably work. Whatever. Oh, no, I told you the wrong one. Also, there may be some problems in Firefox. I've seen on Linux. FYI. Okay, you got that. You did? I thought it was me. I was trying to... JSON? That'd be good information to share. Maybe not do one? I think we're all caught up on the first. Do? Level one. Yeah? Are you done yet? No pressure. Pressure. We do it in less than ten minutes. We actually love doing that. Very close. What's the other... That's not about a common character. I couldn't remember. It was one of the two. Okay. Someone want to walk me through the first one? Yes. Stretching. I've actually seen it in a lot of different ways. It's nice. Who thinks they have the shortest string? The last one? I don't know. I'll go for it. I believe in you. We're close to... Yeah. Close the quote. One double quote. Plus. Alert. One. And close the other quote. Firefox is the worst. It is Firefox. Firefox is terrible. I switched to Chrome. Don't pretend anything. Nobody says anything. We're putting on everything we can. It's probably a good thing that we're just doing this. Yeah. It depends on why. Probably not doing it for security reasons. It doesn't want to execute anything. I mean, it's probably the website is coded and using something. It would not accept anything with IE or... Yeah. Four times shorter than mine. Mine's 47 long. It's 12. So 12 is 12 the shortest? Is anybody else shorter? Seems to be. Let's see. We could... Okay, cool. That was fun. Adobe and JSON do different stringify. It's a parcel. No, don't lie. How do you practice JSON? Done Adobe. Not everyone? Stop recording. We'll only record when we talk about actually breaking stuff. As much as like 30 minutes worth of us talking. Adobe. What is it doing? First, what is the code doing? It's replacing... Two characters, I think. It's replacing the double quote with a slash double quote. What? It replaces a regular expression. So it's searching for every single quote. Yeah. Isn't it replacing it with two slashes and then a double quote? No, one slash. It's backside and so it actually works. Okay, very quick. Here's what's died. So we can see that here. So it's replacing this single quote character with a double quote. With a slash double quote. So how can we do it? Escape the escape. Escape the escape. Escape from the escape. So if we put a slash, we've seen that an output's just a slash. Right? So we can see that we don't have... So we can do slash... Quote. Double quote. So this slash slash will be a slash. And so this double quote will actually be a double quote that matches the first double quote. So we can escape their slashing here. Then now... But now we have an instantakably invalid sentence here. Or JavaScript code. So now how do we actually execute code? Close the parent. Type your command. Or semicolon. And then we don't care about the rest of the lines. So we can comment it out. Forward slashes. Oh, wow. That's a simple addition. So I did it the other way. So I did it the other way. So I did it the other way. So I did it the other way. Can you do... A plus sign before the other. It's still working. No, because it doesn't... No, I think you can if you get rid of the slash. Get rid of the slash start. Yeah, you have to... No, get rid of the slash at the start. And add a plus at the end of the word. Two plus. One of your topics. Oh, yeah, yeah. Get rid of the first... No, get rid of that slash. You don't need that slash. And then get rid of the slash at the beginning. No, you're missing a plus. Get rid of the parent at the very end. And then put a plus. No. This is not being escaped. We're still in the string. Well, no, but I thought that it would actually print out the quote. And then we could do... Oh, I see what you're saying. So that one. Come on. Yes. Wait, did everyone do JSON? I don't think everyone did it. I got it. You never got it? We all did it. JSON was cool. I used script tags. Super cool. Is that script tags will... So we've got to remember that the HTML parsing happens before the JavaScript parsing. So the HTML parsing parses this script tag. And so it says, okay, how far does this tag go? Well, it goes until it sees a closing script tag. So at this point, because the JavaScript code in between the script tags has not been parsed yet, so this JavaScript code that's here does not get parsed. And actually, due to the way JavaScript works, if one part is syntactically invalid, the browser ignores it and just go on to the next script block. So the second script block will alert this. We can use the slash slash here to comment out everything that happens afterwards. So that's similar to SQL injection. For Adobe, you can use something similar to this.


I don't care what you have going on in your lives stop what you're doing the dead grandfather could wait It's big titty mid-city Sunday. I wish I could burn a Sunday to be honest with you I should be able to because look what I got in Japan. I got a demon slayer Chocolate maker if y'all want to see me Eat some demon slayer chocolate on stream.  How about I put you in this and I eat you all right ran over.  This ain't no time to sing.  This is what I'm talking about This is what I'm talking about you foldable. I'm already a buzzer I Didn't know Andrew Tate was a demon. What's in your name? Is the only one I'm gonna do the animation.     Y'all on crack I don't even want to talk anymore, man.  I don't care about Kenya anymore Now that's the shot of the century. That's the second shot of the century The third shot of the century I'm looking at her braids. Oh your fault.   I can't do this man.  Kono omiya you are The ugliest motherfucker. I've ever seen in my life What I see no coto I was ready to decide. Oh, you don't have to tell me twice I forgot about you before you've been told me to That can I teleport you could I live here?  You just dodged a bullet. He went to get pegged when he got home She had a cat Is that where her cat claws come from her cat moves?    That looks like they really shot real wood right there.  Yeah I have nothing on me city look at this bro. Look at this. This is nothing No, it's dog out.            You're you're you're you're replaced odor to me.   Daijin not to see nothing.  Oh, I can't wait to see this guy.    I was ready to shoot myself.   He'll come you can't go.  Yeah The way he said that that delivery come on, bro, this is the tree how I want come on I don't know come on. Don't watch come come watch it.   I wanted more weeks of Demon Slayer now what do we gotta wait? We gotta wait two more years for the next season which I'm told is gonna be peak. No Anyways, this episode was great bro.   What do you think of the episode? Let me know down below other than that I will see you guys in the next video. Goodbye


Hi everyone, my name is Kate Goldenring and I'm a software engineer at Fermion where we're really excited about the next wave of cloud computing with WebAssembly, and personally I'm really excited to be kicking us off for the day. I'm curious for how many of you out there is this year's first Wasm Day. Okay, that's actually the majority of people. I was kind of surprised by that. We're really excited to have everyone here today, and if it is your first time we have sessions from 9 a.m. to 5 p.m., and as Liam mentioned a little earlier, we do have a WebAssembly channel where you can keep the conversation going today and between Wasm Days year by year, and then if you are tuning in online, there is going to be a Q&A section on meeting play where you can ask your questions there. Since I'm kicking us off, I should probably explain what WebAssembly is, but instead of giving the technical answer, with WebAssembly in particular, when people ask what it is, they seem to be asking should I care about it, and the CNCF wanted to address that question, so this was the first year that they sent out a Wasm Community Survey, and what we all learned from it is that WebAssembly is disruptive, it has long-term potential, polyglot is ever, and it's an ecosystem that we are all building together. So the results from the survey were published this morning, I think about 30 minutes ago, and the link to it's there, but one of the notable and motivating results of the survey was that rather than seeing this technology as a short-lived hobbyist tool, people really see this as something that has long-term potential and a disruptive technology, something that will change the way that we develop applications and the way that people experience technology in general. And companies of all sizes are already using WebAssembly, Amazon's using it in their Prime Service, Figma, Adobe, and Google Earth, and so it's already here, but it's up to us to help it realize its full potential as a mainstream technology. And the CNCF survey also pointed to some areas where we can focus in and where we can help build out this ecosystem together. So WebAssembly started with the goal of bringing more languages to the browser, such as writing a C++ app for the web. And it certainly succeeded in that goal of being polyglot, you can see that people are using all different types of languages for WebAssembly development. But there are still some friction and some gaps. In fact, three out of eight of the sessions today, of the full-length sessions today, are focusing on the developments in Java, Python, and C-sharp to support a better and more fully featured WebAssembly both in the browser and on the server side. And this is really important because the more languages we can bring into this space, the more people we can bring into this space in the bigger community we can have here. And people are not only using a lot of languages with WebAssembly, but there's also a lot of use cases. And what was particularly interesting about this is that when people were asked what they're hoping to build with WebAssembly, the first answer in the CNCF community was not web development, which kind of surprised me, so I did a reference check. And Colin Eberhard's 2022 State of WebAssembly did find that web development was the main answer. So what this is saying is that this community in particular, the cloud-native computing foundations community, is really excited about some of the potential of WebAssembly outside of the web, such as in the serverless space, the edge space, the IoT space and more. So regardless of where people are using WebAssembly, it's clear that there are a lot of use cases and that it truly is a technology that will pervade various areas of technology itself. So clearly WebAssembly has the potential to impact the way we use technology, but it's up to us to make it as approachable as possible. And beyond expanding the number of languages that you can use with WebAssembly, there are also other barriers that we can break down. And the schedule today shows that we're already taking active steps to do that. So we'll hear about developer tooling that helps you run WebAssembly apps in minutes. We'll hear about the component model and work in SIG registries that is going to help with code sharing and reuse. And finally, we'll hear that there are plenty of use cases for WebAssembly already today, such as running on the edge to inside databases. We'll hear about how WebAssembly aids with design tooling and how it helps with logging across the cloud and the edge. And so I'm really excited for the great day today. And I want to go ahead and thank our diamond sponsors, Docker and Fermion, and everyone who helped put this day together. So that being the committee, the AV staff, and the facility. And we have a great schedule ahead of us. Thank you.


So, you don't know how to be normal, not a problem. This amazing slider does absolutely nothing. The more pre-contrast, the more detail shows up on the map. Smooth makes the map blurry, crisp makes the details sharp. And mids is like default, but deeper. If you're not quite happy with any of the presets, feel free to mess with the knobs. You can always click a preset if you mess up. Angular Intensity does nothing until Angular Amount is greater than zero. But if you drag Amount up to one, intensity controls how sharp the angles become. This box tells you that the normal map is generated from the diffuse or the displacement. Shape recognition creates larger, smoother angles around each crack. Rotation changes the directional angle of the normals. The more spread, the larger the dark inline areas become. Bias changes the angles that receive more attention. And final contrast makes the sharp angles sharper and the smooth angles smoother. Hope that helps. If you enjoyed this video, please don't forget to like, subscribe and ring that bell. Hope you have a fantastic day and I'll see you around.


Can athletes' ACLs be trained to resist injury? A new study published in the American Journal of Sports Medicine suggests that it's possible. Studies on animals have shown that exercise during growth periods like puberty can bulk up the ACL, increasing its size and improving its mechanical properties. However, evidence of so-called ACL hypertrophy in human athletes is scarce. To address this gap, researchers examined the knees of 52 athletes who had been skating or diving since before puberty or since puberty onset. These types of athletes always land or jump up using the same leg, which the researchers labeled as the dominant leg, and thus habitually load one knee more than the other while training for their sport. Specifically, the team compared ACL and patellar tendon dimensions and knee strength between the left and right knees. They also examined how differences in ACL dimensions between knees correlated with age at training onset and with the number of years of training. MRI revealed that both the ACL cross-sectional area and the patellar tendon diameter were nearly 5% larger in the dominant leg than the opposite leg. This finding suggests that mechanical loading can increase the size and perhaps the robustness of important structures in the knee. However, the difference in ACL cross-sectional area between legs was not related to the specific age at which training started or to the number of years of training. In addition, dynamometry revealed that the isometric flexion strength of the knee joint was almost 15% greater in the dominant leg than in the non-dominant leg. This result is consistent with the presumably higher forces applied to the dominant leg during training. While the loading difference between the knees was not quantified, it was assumed to exist given the techniques used in figure skating and springboard diving as well as the observed difference in patellar tendon diameter between knees. A matched control group was not included and the subjects were primarily female. Lastly, because the study was cross-sectional, cause-and-effect relationships and temporal patterns could not be definitively established. Despite its limitations, the study indicates that long-term mechanical loading may help fortify knee structures such as the ACL by inducing hypertrophy. If applied strategically during periods of growth, such structural training could help reduce the risk of ACL injury in athletes.


Hi, my name is Mark Helmlinger from the Imaging Spectroscopy Group at JPL. We're very fortunate to work as an electro-optical engineer there. Our group builds remote sensing instruments, and that's what I'm standing in front of are posters of examples of some of our data that we've collected. Our instruments have been sent on interplanetary missions and around the earth and around the earth in airplanes, and I'm fortunate to be able to travel with those instruments and operate them. In fact, I was in the airplane when this data set was collected, and these data sets are of Death Valley. Our sensor is about as close to a Star Trek sensor package as you might find. We can mount it in all sorts of platforms and airplanes, a platform, a remote sensing platform, and our imaging spectroscopy can be used. Spectroscopy is a very powerful tool, and it can be used to make maps of the surface chemistry of planets or the earth. For Death Valley, for example, this is what we call a RGB image, or a true color image, which you'd see if you were looking out the bottom of the plane, and then this is a false color image made from other spectral bands. So I said this was a RGB image, and this is an RGB image here, and these are other spectral bands. All these colors, every one of these different colors here that I've represented on these posters, is a different chemistry, surface chemistry, different mineral type, different amount of water saturation, all kinds of things can be sensed with this kind of technology. And over here are examples of the types of information that's collected. These are called spectra, or spectrum. So I said this was an RGB image here and here, right? Well, really, your eye can only see red, green, and blue. In a video camera, there's an array of little squares, and each square has a filter over it, or either a red, green, or blue filter over it. And that corresponds to the red, green, or blue response of your eye. And then, if you were to take a magnifying glass to the display you're probably looking at right now, you'd blow it up enough, you'd see little red, green, and blue dots, and it's the combined intensity of those dots that fake your brain out into thinking that's where all the other colors are. So that's an extraordinary claim, and an extraordinary claim demands, extraordinary proof. So what I've made here is what's called an integrating sphere. This is a cake mold from Michael's. It comes in two halves, and it's about the volume of one box of cake mix, and you can make a soccer ball cake with it, or a baseball cake. And it's actually hollow, and I've painted it flat white inside. And I've got three LEDs mounted to illuminate the interior. I have a red LED, I have a green LED, and I have a blue LED. Now, if I turn them all on at the same time, and adjust them just right, that looks kind of like white white, right? But if you look inside, I hope you can see, yes? There's just a red, a green, and a blue LED in there. That's all. There's no white light bulb, so where's the white light coming from? Now, I'm going to do something really interesting. I'm going to turn off the blue one. Isn't that a pretty color yellow? So if we tip it again, you'll see there's only red and a green LED in there. So where's the yellow light coming from? Well, your brain knows that it can only see red, green, and blue, and that yellow is in between red and green in the rainbow. So whenever your brain sees even amounts of red and green light, it says, ah, that might be yellow, even though there may not be actually any yellow light there. You can be fooled. So if I turn down the green light, I get kind of an orange. And if I turn down the red light, I get kind of a chartreuse. And if I turn off the red light and turn on the blue light, well, I can get all kinds of aquamarine shades of blue. And if I turn off the green light and turn on the red light, well, we can get like deep purple and these pinkish colors. So you can see that. Oh, and when you turn all of them on, but you change the blue one, you can do change what's called the apparent color temperature of the light. That means it either looks like it's a white hot filament or a yellow hot filament. So this is, again, it's hollow inside. This is a demonstration tool powered with three batteries, variable resistors and switches. The resistors limit the current to the diodes. It's obviously put together with hot blue out of scrap wood. So knock yourselves out. So we only see those three colors, right? Red, green, and blue. And the dies on these posters are red, green, and blue as well. And we can control the amount of red, green, and blue die on the poster with either channels from these instruments that really are red, green, and blue light or from wavelengths that you can't see called near infrared wavelengths. Now I've made another extraordinary claim that I'm going to demonstrate as well. Near infrared, what's that? It's light you really can't see. So what I've done here is I'm going to generate a rainbow with this overhead projector. If you look, I've got just a slit exposed here on the platen. It's kind of dusty. That goes up, gets focused by a lens and goes in the mirror and it goes through this prism here. And this prism does something that's called spectral dispersion, where it'll take that white light, that bar of white light that is hitting my hand here. And it's going to turn it in to a rainbow because it bends light and it bends blue light more than it does red light. So what I'm going to do to make that a little more obvious, if you'll excuse me, is put up this, this is what we call increasing the contrast ratio. This is blocking some of the light from our ambient illumination. I'm also going to turn off the interior lights here. This should make it a little more obvious. Now dispersion is a mechanical thing. It has to do with the way wavelengths of light interact with different materials, as the waves go through, it's called index of refraction. And I made a claim that there's light you can't see with your eye but yet exists, right? Seeing is not believing, there's a lot more to the universe than you can see with your eye, right? So what I've made here is a radiometer and it has an entrance slit in it and a bar graph, right? And if I expose it to the ambient light, you can see the lights go up and down on it as I let light in and into and out of the detector here. This detector can see wavelengths of light that your eye can't see. It's a silicon solar cell, in fact, one from on top of one of those solar powered daisies. So what I've got here is this is the ambient light kind of lighting up that the detector giving enough. Now here, I don't know if you can see it, but there's this, the rainbow is on, actually shining on the body of the housing of the instrument here. And there's blue, green light going in. See if I put my hand there, it goes off. And so now there's mostly green light or yellow, maybe, right? And then here's some red light, it likes the red light a lot better. There, if I point it the right way, it'll get to the right spots, okay? And then here it is out in the dark where there isn't any visible light, but what do you know? It still responds. Here I can make it more sensitive. There we go. This is called a gain adjustment. So again, here we are in the blue and the green and the red, really likes the red. And then, wow, look at that! There's a lot of something hitting that detector, but you can't see it with your eye. And that's infrared light. In fact, well, let's see how far does it go? Well, there's a lot of infrared, this is the ambient light from the surroundings here, but it starts to pick up right around here. And then it goes back down again, right? So with a spectrometer, it's an optical, and a spectrometer is an optomechanical device. And here we've split up the wavelength of light into its various wavelengths by position here, right? This detector is wavelength agnostic. If the wavelength is between 400 nanometers, which is a measurement, a linear measurement, and 1,000 nanometers, which is the wavelength, a billionth of a meter, this detector will pick it up. But it doesn't care what the wavelength is, it only shows intensity. So it's only by position here that we know what wavelength is actually hitting the detector. And that intensity by wavelength, or by position in a spectrometer, that makes a curvy wiggle, like here. And these curvy wiggles are spectra. And it's like a fingerprint of the light, of the matter that's interactive with the light. Now, our instruments use reflected sunlight, which is basically white, right? It's got a lot of wavelengths in it. But when sunlight hits the ground, goes through the air, it picks up the color of the sky and the color of the air, and it bounces off the ground here, which is done here. It picks up the color of the ground, right? And it hits my shirt, it picks up the color of my shirt, which is reflecting more green light than blue or red light, and so it looks green to your eye. Well, the colors, the colors that you can't see, way out in the infrared, are what our instruments can sense. And by the way, I also have calibrations by specialty, and so showing how to calibrate something is always a lot of fun. This is four LEDs of known wavelength. These are wavelengths that you can actually see with your eye. Remember, that yellow one really is yellow. It's just stimulating both your red and your green cones and the retina of your eye. So, and it's a little shaky in the batteries context. So what I'm going to do is put this, oops, when it works. All right, I'm going to put this right where the slit is. And it's going to, the light from this is going to go up as if it was the slit. And then it's going to hit this board over here. It's going to go through the prism, get dispersed. Now, all those LEDs, trust me, we're in a straight line, about as straight as could be. And yet, if you look real close and your heart is pure, you can see that the red light is, I'm just going to point here, and the red light is in one position, and the yellow light another, and the green light another, and the blue light another. In fact, if you remember, the rainbow was blue here and red there. So because I know the wavelength of each one of these LEDs, if I made them really tiny points and really, really bright, like, oh, I don't know, a laser, right? Now, this isn't working. There we go. So if I actually put a laser through that system, and lasers are very known wavelengths, I'd be able to calibrate it, be able to mark off. Well, that says that wavelength, that wavelength, that wavelength, and I could, with a magic marker here, or a wet board marker, I could make a graph. This is how intense it is, and this is what the wavelength is based on the position. Well, that's exactly what this is. And these are actually number files, files of numbers, just a whole list of numbers, starting at a low wavelength and going to, well, you would call these short wavelengths and long wavelengths here. Now, if you could see, with your eye, if you wanted to know what those wavelengths are, 400 nanometers to 5, 6, 700 nanometers, so the rainbow would fall right in here. So our instrument can see a whole lot of information out here in the near infrared that your eye isn't sensitive to. So what I've done with these posters, for example, this, so that's how we calibrate our imaging spectrometers, by the way. We use known light sources, we shine them into the instrument and see where the light falls, and okay, we know that position is that wavelength. And we do that for several different wavelengths over the entire range of the instrument, and it's calibrated. So for this image here, what we did is chose three colors and three wavelengths of light and controlled the red, green, and blue bands, or dyes in the poster with those three wavelengths. Only one of them is one you can see at about 508 nanometers, which is kind of a reddish, bluish green, I think, 550s green. So in this image, what happens is it so happens that the borax down here in the salt flats of Death Valley come out looking this really bright red. And I'll just point.  Where's it washing out from? Because Death Valley is a valley and surrounded by mountains. And these structures here are called alluvial fans. They're built up over time as flash floods bring debris out from the mountains and deposit it one way or the other, depending on how it blocks the flow of the water or not. You can see some of these water flows are really, really red. And you'd say, aha, wherever this water came from that made this part of the alluvial fan, that's where in the mountains borax has come from. This kind of information is used by geologists all the time. If you've ever been to Death Valley, bad waters down here, Furnace Creek is here, and the Devil's cornfield is up here. I'm a highly recommend visiting if you've never been. This was a flight that I was fortunate enough to make. We were investigating the air in between the airplane and the ground. We wanted to fly from a high altitude that was close to a low altitude that was far back up to high altitude and Death Valley is a really great place to do that. So what we did is we flew an east-west. This was a north-south transect. This is an east-west transect. We flew basically over Telescope Peak, actually we started up here and went down to Telescope. This is Dante's view. This is the bottom of the valley, bad water, and then to Telescope Peak. So you notice when we make our images with our instrument, our instrument is called a liner array imager. So it works like a scanner, like a platen scanner that you'd scan a document with. We only see one line at a time, but the forward motion of the plane builds up in an image, right? So if things that really are imaging spectrometers sees things in like a fan, so something's close and only sees a little bit of it and something's further away, it sees more of it. But if it's close, the pixels projected are smaller, so your spatial ground resolution is a little higher, it's further away, the pixels are bigger, and your spatial ground resolution is lower. Those are all terminology of the remote sensing business, which is a tool used to study the environment of planets. In this case, the environment of the Earth. So you'll notice it's kind of a narrow here, wide here, and narrow there because of the distance from the plane. The plane flew at a constant altitude over these targets. So what I've done here is I've got these little boxes that you really can't see pointing to various places. Well, each one of these boxes corresponds to one of these boxes here with the spectra in it. And what I've also done is I've used three different bands for each one of these and changed the contrast to just make them look as dramatic as possible, but each one of these colors is actually a different chemical or a plant or a mineral or water or water with stuff in it. And you see by how many gazillions of colors we have here, all kinds of the information that's here, and this is all significant information that gets put into a computer. This type of technology is really good at finding Waldo, for example, whereas you'd have to hire an army of people to stare at pictures, you put this into a computer and boom, you can find exactly that thing that has the chemistry, the apparent chemistry that you're looking for. That's one application. Another application is environmental and looking at plants, whereas up in the mountains here you would imagine there's a lot more plants and they show up as different types. This type of technology can tell the difference between plant types, plant species, and plant health. It can tell the difference between snow, wet snow, dry snow, dirty snow. It can tell the difference between healthy water, ocean water, healthy ocean water, and unhealthy polluted ocean water. It can tell the difference if the water is clear enough and it's shallow enough between dead coral and live coral and coral species. The application is for this technology is tremendous and calibrating it, making sure that it's correct so that we know we can trust the results that we're getting in regards to measuring our environment. I've been fortunate enough to do that my entire career and that's what I was talking about with you here today. And thank you for your attention.