If you happen to be watching this video before December 18, 2021, then you'll want to join my live design session where I'll be creating this benchy model from scratch while demonstrating some very powerful design techniques in Fusion 360. You can join me live and ask questions along the way. See the link below for details and to register. Hey guys, Vladimir here. I've been meaning for a while now to do a series of tutorials on the new mesh workspace in Fusion 360. So if you haven't checked it out yet or if you weren't aware several months ago, Fusion released a big update and really introduced a lot of new tools giving us the ability to do a lot more with bringing in an STL file and editing it. So we'll jump into it today and I'll this actually would take or it would be one long video to explain everything. So I'll break these down into different videos that I'll release in the future. Before today, I just want to kind of just show you like a really quick example of what you can do. So let's bring in a model and that way I can kind of show you by example here. Since I'm in the holiday spirit, we're going to go ahead and bring in this Christmas tree by iDig3D. Really cool model especially if you print it in like a translucent PLA or PETG. It really shines and so what I want to be able to do is print this and if you recall from my last video, I showed these little LED modules that you can buy. Basically came as a part of this orb and they're called LED Orbs and so you can unscrew the little module and I want to actually put that inside this tree here and so I'll show you a couple of the tools and the new approach we're going to take is which is quite different from what we used to do. Okay so I've already downloaded it and now let's go back to Fusion. We can either go to insert mesh right here on the solid workspace or we can jump directly into the mesh workspace. Now you see the mesh workspace here. It's now its own workspace here in Fusion 360. Before it was only a feature preview so you had to go into your settings and allow the preview. Now it's permanently here so we'll click on that and then you'll see you have a whole new set of tools and icons up top. Okay right away we'll go to insert down to insert mesh and we'll grab our file open and it brings it in. So take a look at the dialog box here.  So first of all since stl files are unit lists you can go ahead and set the units here.  Now you can just tell it what units it is and then here we have two options to center or move to ground. If I turn on my origin here you see that if I click on center it's going to position the model right on the center there of the origin. In my case here I'm going to go to move to ground because since I want to put a hole in the bottom here it's going to be a lot better for me to take advantage of that ground plane. So all right I'll click okay and the first thing I want to do here is actually scale it because it's too big and the way you can tell that size is if you right click on the model you can go down to properties and if you click on bounding box to expand it you'll see the length width and height. So it's 300 millimeters I want to bring it down to half that size so 150.  So if I just select the model and then click on scale factor here let's say 0.5 to go down 50%. If I click okay you notice how it throws the model up here so let me just do that for a second and then now you know I can't really select the bottom of this plane to make a hole I would have preferred it to stay on this bottom plane here. So to do that let me undo and then go back again to modify scale mesh. So instead what you want to do is you want to click on point here and select your center origin point and then go to select for your entities and click on there and now when I enter 0.50 it keeps it on that plane so it's going to make my job a lot easier in a minute. Alright so now that I have that let me turn off the origin. What I want to do is sketch here on the bottom and this is where things are just flipped around okay. This part is really important so before your only option would be to convert this model into a solid and so there was this whole workflow we had to go through. We had to stop like capture design history and then we had to go convert to B-wrap and then this would convert and if it was a very high poly design meaning like I had a lot of facets here sometimes it just wouldn't work it would just fail right and then you would have to you know maybe try to reduce it in quality and then try to convert it and it was just a pain. We don't have to worry about that anymore because there's something really cool here and what you actually do is the opposite right so what we're going to do is we're going to go into the solid workspace create a solid model convert that to a mesh and then we're going to take advantage of the new mesh tools to amend or make changes to this design so let me show you what I'm talking about I'm going to go back to solid and I'm going to create a sketch and I'm going to select this bottom plane I'll grab a circle so create a circle down to the center diameter circle snap it right to the center and again this is why I wanted this on the plane right on center I'm going to make this circle 25.5 millimeters enter finish that sketch and now I'm going to select that circle and extrude it up let me untangle the visibility of the tree here so we can see it I'm going to go up three millimeters and I'm going to click okay so I want to take basically this little disc here and cut out the shape out of this tree so I'm working with two different types of bodies here right I have the mesh and my solid body so instead of converting the tree to a solid like I said we're going to go about it a completely opposite way we're going to take this solid and convert it to a mesh so we're going to go back to the mesh workspace and there's a new option here called tessellate so I'll click on tessellate choose the model I'm just simply going to click okay here I'm not going to worry about any of these settings and you can see now that our little puck there has been converted into a mesh now that we have these two mesh bodies here we can go to modify we'll go to combine again this is the sort of works the exact same way as your combined feature if you're in the solid workspace right you have your boolean operations here target body is going to be the tree the tool body is going to be our disc here that we made and the operation is going to be a cut I'll click okay and give fusion a few seconds here to think you'll see a little status bar here and there we go and now I have a three millimeter deep 25.5 millimeter diameter little hole cut out the bottom and that's it that's all I needed here so now I can send this to the 3d printer and I'll show you one important change that was made to that so normally when I 3d print an object I like to simply go to tools make 3d print and I'll select this and usually I'll send it straight to my printer by checking this box or sometimes I'll uncheck it and save it as an stl file but if you do it the other way by going to right clicking here and you save it as an stl you may be looking for save as stl and that will no longer exist because now it's called save as mesh right again because we have our three files that we can save it as so you want to choose save as mesh and you know select your model here and it's going to default to stl but you have the option of choosing 3mf or obj there so we're going to keep it as stl and then I'll go ahead and keep this button checked here to send it right to my printer if you uncheck it it'll just save it to a folder as an stl file fusion will just open up the app and throw it right in there and there it is and if I orbit to the bottom here you'll see there I've got that three millimeter opening there so okay the way I'm going to print this is I'm going to print an invasive mode and there's a trick here a little off topic but I'll show you this just in case so to print this invasive mode you'll go to print settings here and for layers and perimeters you just check the spot the spiral vase option here but let's I want to show you what happens if I just slice this and we look at the preview it does this right that's not going to help me with just one layer of filaments on the bottom there so what I'm going to do again I want to insert that little led so in order to make this functional allowing me to insert the little led module what I'm going to do is go to print settings and I'm going to change the number of solid layers now I'm going to print this at 0.2 millimeters and it's three millimeters that I need this to be so I'm going to go with 15 layers right so 15 layers there and then go back to a platter and then I'm going to re-slice this now watch what happens it gives me three millimeters so five layers per millimeter that's why I get 15 and now I have this solid base here where I can go ahead and pop in a little led module so that's kind of a little trick I wanted to show you there in case you want to do a similar thing okay and then you just export your g-code to your printer all right if you have any questions on the approach I take today leave it in the comments or if there is anything specific in the mesh workspace that you'd like me to cover let me know by leaving them in the comments as well all right two things for you one if you haven't checked out my Fusion 360 sketch constraint cheat sheet I've got the link for that below where you can grab it and two again if you're watching this before December 18 2021 I've got a live design session I'm hosting this Saturday so click on the link below for details and to register all right guys I will see you in a few


Welcome. This is the Sheikot Africa Confributon screenshot updates project. It is the 9th of May. Today, our topic is let's take a screenshot for the subversion plugin in a pipeline help page or in a pipeline page, pipeline library page, right? If I remember correctly, I'm going to bring up the page that that you had highlighted to us. So here we go. This one is the page and it's in this pipeline shared libraries page. What we see as we scroll down is there is a see where is it. No, it's not it off. Here we go. This one legacy SCM. And so what someone was trying to do is how does she get this screenshot. It's specifically describing legacy and SCM where a legacy SCM is something that's very old and one good way to do that is by using subversion people realize oh this is not a very frequently used thing. And they should not prefer it. So someone suggested hey she could just do it with get and my preference was let's keep it with subversion because it gives the message to the reader. This is not the default. This should not be your first choice or your typical thing to do. So I'm going to start a new Jenkins environment. Just to. All right, so let's do Java, Java minus jar. Oops, Jenkins underscore home equals screenshot. So that directory Java minus jar. I think it's okay if I use 345 I've got it convenient locally, we would usually prefer 346 but in this case I don't think there are any changes in this area between the two. So let's run that and now I'm going to connect to this and I'll need to. Whoops Docker PS I have to stop other things that are running. Okay now I'm going to run it. I'm going to come up and prompt me say hey, here's the password for the initial setup. So I'm going to connect there. And I could have been doing this entirely on my own computer in this case I'm using a mix of computers just because it's easier for me. So it says hey what's that administrator password I paste it. So for for I'm going to go with install suggested plugins it'll take a little bit of time to do the installation. But if I remember right that may actually include the subversion plugin and if it doesn't, we will add the subversion plugin once it's finished. So we'll let this keep going. The page is illustrating it says, hey, this magic string right here this library dot your library name here dot version is being inserted there and so it's important that the example we create must have that inside the text. And while it's doing that, I'm going to go grab download 2.346 in case we need to switch to it. Alright, so sorry to make you watch me do all these things but it's, it's just easier for me if I can grab them while we're waiting 2.346. There's the war file. Okay, I'm just going to download that. Okay, so we now got it just in case there really is a difference. Alright, so I need to be a registered user here with a useful password and a login name. Okay, that's the computer here we go. Now let's first check to see, did I get the subversion plugin installed so installed subversion. I did not. Okay, so step one is I have to install the subversion plugin. Okay, so there it is. And now download and restart, and we'll watch and see here it says hey it installed one other plugin as needed and now I'm going to restart it so it'll take a moment for it to restart. Once it's I'm having to restart it, I can actually switch and use 346. Oh, sorry for the sound of the dog they're just going to have to deal with that my apologies for the noisiness. So I'm instead starting 346, and here it goes and we should see it. Here it is ready for me to log in with my username and password. Okay, so I'm logged in. Now we want to create a pipeline shared library using legacy SCM. And so for that I need to manage. So sorry for the dog background manage Jenkins. Now somewhere here is the thing that let's all configure system. And now pipeline I think it's called pipeline speed and durability. Global pipeline libraries okay so here we are I'm going to add the pipeline library. In the example they're using they're calling it my dash share dash library with the default version being stable. Okay stable. And allow default version to be overridden. Okay include and notice it's even missing some options okay so updating the screenshot is really good. All right so so I'm I would even like to do cash fetched versions on the controller. What do you think so my would it be okay if I included I really like this feature, but maybe I should leave it unchecked for now. It would be okay you know so that everyone could see. So so let's let's do it then and let's give it the refresh time in minutes of 37 a nice prime number. Okay so so now and no versions to exclude, and I'm going to switch on legacy SCM. And here is the choice for subversion. I've got to get that repository URL and that's that's a horrible awful terrible thing. Let's try. I think I could get you the, let me just paste it without work. Oh, that would be wonderful if you could just paste it in the chat that would be a great help then I don't have to, then I don't have to retype it. Thank you that would be exceptional. Oh, working in it. Okay well and maybe maybe it's in the text somewhere nope it's not in the text anywhere so yeah if you can paste it if you've already got it that would be a great help. Yeah. Thank you. I've got it. And notice how fast I type that. Oh that's wonderful. Okay, and it says parameterized syntax validation skipped local module directory dot recursion depth infinity ignore externals. There is no process on externals fail which is not there. Okay, so we have, we have the right settings now we need the right screen size. Open image in a new tab how big is that save image as that. Let's go look to see how large it is downloads. Properties properties and in the details it says it's 900 pixels wide. So if I make it roughly 1000 pixels wide. That won't be too bad so I need my little size or application running. Oh, Sizer is already running okay so just a moment come on Sizer have to find the right location to hover over it. Come on. There we go one case so if we do one. What do you think of that as a screen with does that look okay. Yeah, it does. Okay so now. Now I have to use the. I'm going to go ahead and attempt to use my screenshot utility to take the picture we'll see if it works. This is a mammoth page and will it will crop it to get rid of all the extra things that we don't need in a. Okay crop. So we don't need this part, or this part, or this part. Did I say that this is a huge page yes I did. Okay here we go global pipeline libraries right. And now if we do the same thing from the lower part. Okay. Okay and so I think. I think we've got. Oh no I can go up even further because they stop their screenshot. Where did they stop there they stopped their screenshot, even at ignore externals so I can probably do the same. Like, I could at least stop right there. What do you think of that as a place to stop the screenshot it's still much larger than the old one, but it's okay. Yeah, so let's call that done cropping. There we go wait a sec, but we probably notice that they also crop to the left edge so I should probably do one more crop which is. Whoops, why did it. Ah, I just lost all my cropping. That's a shame. Why did it do that. So I really though want to download that image. There was one more change I want to make to that image so I'm going to have to use a different editor to open with paint, because I want to crop from here from here to their save. Alright, now if we look at it. It's at least a well. Yeah, I mean it's, it's definitely an accurate screenshot it's just there's an awful lot of screen what do you think so much do we go with that. I'm worried that this may be more, more than having put the cash thing and maybe more noise than we want. Well, let me save it and I'll, I'll, I'll email it to you so actually I'll paste it into the slack room is that okay. So you've, you've got it available if you decide you'd like to use it. And if not you've at least got steps that'll be in the recording to show you how how I did it. Yeah, that would be helpful. Thank you. Okay, so I've pasted the screenshot. And as large as it is you could edit it if you need to modify it, etc. Thank you. So, do you have other questions that you'd like us to discuss after the screenshot one let's see we may want to talk about timeline right I don't. I've got a check to see where we're at in the timeline of the project. I think we may be very near the end so Africa timeline. Okay, contributes on. Here we go. So, we go through we go to Thursday to Tuesday 31 of May but I think aren't the last two weeks, the wrap up period where you write the report, etc. Where is. Oh, timeline here we go good. Okay timeline. So we've got. So we've only got to the 16th. Okay. So, so, or we've got till the 17th or the 15th so, so you start your, your final report writing the 16th of May. So we've got about another week. And then another week to work on the project to work on screenshot updates, and then they give you two weeks where you write your project report and what you'll share with us and is things that things that went okay. Things that didn't go okay and we should improve next year when we do this again, that kind of thing. Okay. Um, I did have a question mark. Yes. So, after the project. Can I keep contributing. We would love it if you did absolutely we would be thrilled if you would continue contributing. Because I would love to. Yeah we would we would be truly delighted that would be a great, a great positive result we understand for many of the contributors that they've got to continue their education they've got more things they've got to do they just don't have time or capacity to keep contributing but we would love to have you continue contributing, and we're happy to do separate sessions or have you joined documentation office hours, what whatever works for you if there are questions you have happy to answer questions on Slack, all those things. Nice. Thank you. Yes, so. And then so may 16 through through 31, right the final report right. Soma writes the final her final report. Mark and mentors, right there's etc. And then the final blog post to highlight highlight accomplishments and identify next steps. Great. Any other questions. No, not really. Great. All right well so we've got one more week to go. This is. Thank you very much for doing this really truly I am. I can't tell you how proud I am of just even if all we had done was the sheet that identified which things need updates, I would have already been satisfied because it's a lot of work to go through all these pages and identify which ones need changing. The fact that you've submitted poll requests is really wonderful. Thank you very very much. Thank you. Thank you. Well then let's go ahead and I think we can call this session done unless are there more questions that you've got Soma. No, no question. All right, so I will, I will try to get an arc a record the recording archive. I apologize the recording will include the sound of the dogs barking I'm really sorry about that that's just the way it goes. Did you anything else from you. Okay, thanks to both of you have a great evening. Thank you. Thank you.


All right. I'm going to bust this one right now. This is the myth about why drinking ketone can interrupt your results or fat loss.  Why does it not make sense? So I understand the reasoning behind people saying this, but I want to be clear for just a second. For 20 years, I've been teaching ketogenics. By 20 years, I've been teaching low carb lifestyle, helping people transform their lives. There's only a handful of really experts out there that understand ketosis. Most people that are learning keto have been doing it literally for six months or a year or two, and they're talking as if they understand the bio-mechanics or the bio-chemistry and how the body's molecular system actually works. So let's break it right now. They will accelerate your results hands down, and we have a million reasons why. We have a million people why that happens. Okay. So let's just be clear for a second. When you drink, first off, when you do the ketogenic diet, the idea behind that has nothing to do with fat loss anyway. Just be aware is to produce ketones, right? So elevating ketone levels was the key. The ketogenic diet has been awesome as a fat loss tool because part of that elevating ketones is metabolizing your body fat. So any way that you can accelerate that function is going to give you better results on a weight loss journey. But one of the big myths that I've seen with people doing ketosis, I mean literally watch it day in, day out, is they don't understand that you have to formulate the diet really hard, really, really clean. But it has to do with the metabolic switch. So the fact that I'm giving you ketones and you're like, well, if I'm giving you ketones, you're not throwing it, throwing it to me? If I'm giving you ketones, well, why would my body produce ketones? And you're thinking back, well, if I give somebody testosterone, their body won't produce testosterone the same way. This is a completely different mechanism. We're talking about a metabolic system, not a hormonal system. This is completely different. There's a component in your body and your brain actually, this glute for transporter that if that switch is not activated, and the only way to get that activated that we found, and this is scientifically driven off of a researcher out of Stony Brook University, Dr. Mujee K. Paroti, is that it actually triggers this enzyme or this transporter so that you can become more ketogenic, so your body can metabolize more ketones more efficiently. So right now we're watching people do the ketogenic diet, not really dropping much body fat very effective. And they can't maintain it and they're working really hard to do it and they're frustrated, they're overwhelming, they're using their calculators and they're not even getting that great results. But yet we insert this amazing product, we give them ketones, and we watch them just go whoosh, start shrinking, but more importantly we watch their vitality happen, their mental clarity, their focus, their energy, their sleep. Remember for 20 years I was teaching people the hardcore diet and watching people continuously do it for a little bit, quit and fail. Do it for a little bit, quit and fail, feel frustrated, overwhelmed, because they kept not being successful on this hardcore diet. It's like swimming from London to New York. It's tough, the ketogenic diet's really hard. So when we inserted drinkable ketones, I've watched and I've watched my mom, I put her on a ketogenic diet. Yeah, she was alive, but she was not full of life.  Only thing different is we elevate her ketones a little higher. So when you get to a zone, you optimize your ketone levels, it actually flips the switch so that you become more metabolically efficient. Our product actually is ketogenic in itself. It helps your body metabolize more ketones. It's an encouragement to better results. So this idea, and if you're a hater out there, come on, let's go. Let's bring it on. How many people have you changed? How many lives have been impacted by this? And here's the thing, is all the doctors are already on board. So we got all the researchers, they're already validating all this. So if you're listening to somebody that hasn't been through it, it might be a too hard on you all, I don't know, I hope not. But if you're listening to somebody that hasn't coached tens of thousands of people in multiple situations doing a ketogenic diet, you're listening to the wrong person, they don't get it. Yeah, maybe they're that 40% of the population that can do a keto-style diet that get great results. Good friend of mine, he's a cardiologist, he's awesome. He's an amazing dude, super open-minded. And he thinks, for a while, he thought everybody should eat like him. I go, it works for you, but if I eat like you, I'd be fat. Like generally, I would be obese. He's like, really? I go, you're the 40%er, the rest of a 60%er? We need help, we need support. So if you're one of those 40%ers that can do any kind of low-key-to-ish diet, you get super lean and sexy and you think that's for everybody, I'll tell you right now, that's not the way it's gonna work, for the majority of you all. So drinking ketones is your secret weapon, it's the key. It's like getting on an airplane flying from London to New York. It's way easier. And then I can teach you how to get there. You now have consistency, you now can change your life over time. You don't have to be perfect every day. You don't have to measure everything every day. You don't have to create a third job just to measure all your macros to figure out if you're doing it right or wrong. You drink ketones, you do the best you can, try to stay as low-carb as possible, and let the product, let ketones get in your system to metabolically make you more efficient. That only makes sense. It's kind of no, it's no different than when we invented the automobile, not we, but the world. It's like, yes, I can walk to New Jersey from here. I don't live in New Jersey, I live in San Francisco. I could do that, or I could drive. What would you choose? Would you rather drive to New Jersey? Would you rather fly to New Jersey? Would you rather walk? You can walk, but it doesn't change the fact that my legs still work just fine. I hope that makes sense. My legs' ability to walk there still isn't any different if I take an airplane. Same thing with his. Your body will only become more efficient if you use ketones, not less efficient.  It'll accelerate it, but at the same time, it's gonna improve the quality of how you feel.  You don't have no keto, you don't worry about those things. You don't worry about having a bad night.  Forget about that.  That's why it works so well, and that's why we've helped millions of people live a better life. So I'm gonna debunk this thing, and it's very much scientific, so y'all, bye-bye. Hey, thanks for watching the video. Just subscribe below if you want all the updates when we upload the newest videos on keto health, wellness, vitality. Check it out, come join us.


OK, can everyone hear me now? That's a little bit better, I think. OK, well, I want to thank everyone for coming. I don't really want to thank JSFoo for having me. There are a lot of really cutting edge progressive talks here. We have talks about progressive web apps and web components and people from very impressive companies like Google. This talk, you know, all those talks, those have like cutting edge information. You're probably going to be able to take home and use in your work or use in your personal projects. My talk, I'm not so sure. So on that third column where you check off whether you're going to use in your work, you can already just check a one right there. I don't mind, I won't be offended. So anyway, my name is George Mandus. Like they said, I am from Portland, Oregon. I am from Portland, Oregon, the US. I'm a freelance web developer. I've been doing it for over a decade now. One of the earlier slides during the first talk, they sort of showed the evolution of front end development. It kind of made me cry on some level, because I remember each one of those stages so well. And there's still a lot of pain involved in learning all that. It feels like a very long time, some days. Before I do all that, yeah. So I'm here today to talk about three things, sort of. Primarily JavaScript, MIDI, and tiny computers. And I'll get into what all these things are a little bit later here. So let's go through these. Some fun facts. I think it's nice to sort of humanize developers a little bit. You may or may not remember some of the things I say, but if I say a couple funny things up here, you might remember that. And then you might remember something else I said right after it. And so I kind of use it as a way to help people learn things or maybe help take away something from my talks. This is my first time in India. It's a fact. I don't know how fun that actually is for you. It's fun for me. I lived as a digital nomad in 18 different countries for over a year. It was kind of an interesting story, like to throw that up there. I was born in Saudi Arabia, which is a long story, kind of interesting. I forgot I put that on the bio, but I once unintentionally cheated while running a marathon in North Korea. I cannot advocate cheating in general, but if you're going to do it, I would suggest picking a more lenient country. My most known project is a really frivolous one called KonamiJS. I always ask, has anyone heard of it? I'm curious. Are there any hands? OK, I see like five hands. It's like maybe what I expected. And I'm guessing you found it because you googled my name, because you saw that I was talking. You wondered who I was, maybe, but that's OK. It's a really frivolous Easter egg project. I started over a year ago. I don't know, I'm sorry, almost 10 years ago. My claim to fame with that project is for about five minutes I crashed Marvel.com, because they were using it, and I pushed some changes to GitHub, and they were linking directly to the file. And Newsweek decided to use it to make all of the articles on their website turn into articles about zombie attacks and other weird things. Like I said, it was a very frivolous piece of open source software, and I'm kind of proud that my most known contribution is really pretty silly. And so in keeping with that, I'm going to talk about more silly things with MIDI today. So I'd like to start with an experiment here. So I'm going to pull up a website. And if there's anyone out there with a laptop, maybe a few people, feel free to pull up this website. I'm going to wait a moment. I have a lot of demos I've learned over the course of giving this talk. I probably have too many demos. So I may skip a couple as we go down the line, but if you are interested in this stuff, if you think it's fun, you want to see more and talk more about it, come meet me downstairs later, and I can show you some of the demos I'll probably end up skipping over. OK, so hopefully a couple of people have had a moment to get there. I say, OK, I see four people who joined so far. That's probably enough. So make sure your audio's up. I want to do just a little interactive demo here to start, just to see how things go. And this has been occasionally hit and miss, but let's see how it goes. So let's see how it goes. Oh, who's that? Could you raise your hand? Oh, there we go. There we go. Yeah, so what's happening now is I'm playing on a little keyboard up here on my stage, which just in case you want to see what my stage looks like right now, it's kind of a mess of many things here. And what happens is every time I play a new note, it comes out on a different computer out here in the audience using WebRTC. OK, here we go. Oh, and now that I've got 71 of you in here, I think I could actually play some chords. Anyway, I just like to start up something kind of fun. Well, that one went pretty well. I think it's just fun sometimes to, before you delve into the code or even instead of delving into the code these things, it's just sort of fun to sell the fun outside of the box interesting things you can do with these things that we're talking about. OK, so I have one more interactive demo. Let's see how this goes. You kind of know the drill by now. There's the website. So it's a little bit different. And I'll try to rush through this here. Hope we've had a chance to see the domain and type it in. So once you get there, you should see a little page. Just join the symphony. Go ahead and click on that button. It'll look different than my screen. This one I'm a little less optimistic about working at the moment just because I'm noticing my web font isn't loading. So something might be a little, you know what? That's one you can come back to then.  That'll do it. OK, well, let's move on. OK, so like I said, today we're talking about three things. We're talking about JavaScript. Obviously, it's a JavaScript conference. We're talking about tiny computers. And what I mean by tiny computers are things like arduinos and raspberry pies, aspirinos, basically single board computers and single board microcontrollers. A quick show of hands. How many of you have played around with any of these? Like arduinos and things like that. OK, so maybe close to half or third to 40%, I can't say. Really mad at judging crowd, pants. And lastly, MIDI. I'm curious, how many people are familiar with MIDI and think they know what it is? Your hands. And how many of the same people have put up their hands on musicians? They're pretty good at overlapping, but not everybody. OK. So we're talking about these three things. And the reason I like these is, in combination, you can make some really fun kind of outside of the box things using JavaScript tiny computers and a really old protocol called MIDI. I'm going to get into that here. So why JavaScript? I don't really have to spend a lot of time on this, but JavaScript is everywhere. It's on the client side, it's on the server side. You can use it for everything. The aspirino, like I talked about earlier, is you can actually write JavaScript that runs on the hardware directly. It's a really cool, pretty thing. Basically, JavaScript is literally just about anywhere you can think of when it comes to computers and programming. And yeah, like I said, it's basically everywhere. It's also where the people are. There are so many JavaScript conferences and so many projects.  There's just so much traction in the JavaScript community. It's just a really good place to be right now. The asynchronous nature of JavaScript is a really good fit with MIDI. So I'm gonna talk about what the MIDI protocol actually is. But MIDI is also an asynchronous, well, it's an asynchronous protocol and it's asynchronous nature makes working with it in JavaScript really easy. It's very familiar and is like almost any other sort of web-based or any browser API you might think of. So why tiny computers? To be perfectly honest, I probably could have done this talk without that but I just think they're so cool. I think they're a lot of fun. They also kind of remind me of sort of the hardware answer to the open source movement in some ways or something just very freeing about being able to buy a computer and to own the entire thing and be able to put things on it. In this day of like serverless technologies and cloud computing, it's like for all the wonderful, beautiful things that those can bring, they're kind of owned by three big companies at the end of the day and it's kind of nice to do something that's a little bit removed from anyone else's jurisdiction I think. And just for those who don't know, we have a Raspberry Pi and Arduino chip computer. Is anyone familiar with chip? I'm curious. Yeah, they're not as popular but I think they're really fantastic. I really recommend looking into them. Oh, and by the way, at the end I have a website that has links to a lot of the stuff so don't worry too much about tracking what I'm saying. And lastly at the bottom I have an Esparino. So this little clicker that I'm using is actually an Esparino. It's a, hey, it's a tiny computer that I programmed to operate as a MIDI controller and I'm using it to control my slides right now. I can go forward, I can go back and if I don't feel like there's enough pause, I can do this and I get a little bit of a pause. I have to make myself laugh sometimes. Okay, so more outside of the box and interesting so far. So why MIDI? What is MIDI? MIDI, well it's an acronym. It stands for Musical Instrument Device Interface. That's kind of opaque, I mean sort of. It's a protocol invented in 1983. That's the other thing I think is really interesting about playing with JavaScript in MIDI. It's a very old protocol that works with the latest technology that we're using and it's funny how nicely they talk together and it's funny how I would say there are more interesting things you can do with MIDI now than you necessarily could say 10 years ago. Or you should say it's easier to do those interesting things now.  We like to reinvent wheels, old things become new. And MIDI is just kind of a funny outlier that sort of struck a chord with me when I was thinking about that. It's also a standard. It's actually, as I'll get into in a minute, there are certain companies and bodies that maintain what the MIDI standards should be. And I just think it's an interesting parallel with our own industry with what W3C standards and other open standards and how those are decided and dictated. It's kind of similar. It's also a file format. And I feel like this is probably where most people are familiar with it. I think if you were, depending on your age, if you're growing up in the 90s or early 2000s, like if you were on the internet in the days before MP3s made streaming audio very easy, you might have downloaded really chintzy sounding MIDI files like this. Or this. I won't play all these, I'll take two more. But, and I, you know, at least between a lot, with a lot of people I know, this sort of these chintzy fake instruments sort of became synonymous with, oh yeah, MIDI. That's MIDI, right? MIDI is that sort of cheap sounding music.  Because the file format, the standard and the protocol are all just called MIDI. There's a lot of confusion surrounding like what exactly that means. And it's definitely not this either. I think all of these came with like Windows 95 back in the day, but I'm not sure. All right, this one definitely is actually. Okay. So, talking a little bit about sort of what MIDI is, it's a lot of different things. MIDI, the protocol, this is, it is what allows electronic musical instruments like keyboards to talk to other electronic musical instruments and computers. They describe common things you might associate with a musical performance like, is this note on? Is this note off? You know, is this note being bent in a particular way?  Yeah, it's, you know, this was all back in the days before, I mean, the first MIDI instruments were communicating like sort of directly with one another and not necessarily with computers like we would today. And so it's really interesting to see how they came up with this protocol that still works like very well. There's MIDI the standard, like I said, it's maintained by a body, similar to other open standards. And there's MIDI the file format, like I said. And all that really does is describe a sequence of MIDI events. Like I said, the notes that are on and the notes that are off, things like that. I always think of a piano roll kind of like this. When I think of a MIDI file and how that works, I just threw that in there. And at the last conference I gave this talk at, on stage, you know, I feel like Guitar Hero is probably a much more modern example for what I was trying to convey here. Anyway, okay. So again, why am I talking about MIDI in this talk? MIDI is asynchronous like JavaScript. It talks to hardware, which is interesting. That opens up a world of interesting possibilities and the ability to hack on and create interesting things. And it's incredibly easy to use, as we'll see. Oh, the other thing that's really interesting. So JavaScript can talk to MIDI via node. There's a lot of MPM packages and things. But the thing that really piqued my curiosity in all this was when Chrome shipped a couple years ago with MIDI support, you can plug a MIDI capable device into your computer and Chrome will see it. And you can start interacting with JavaScript with that MIDI device without any crazy extensions or plugins or any other like, you know, witchcraft. It just kind of works out of the box. Like I could take these MIDI controllers and plug them into all of your computers out there and we could start hacking on it and making interesting hardware, JavaScript, collaborative things. And so by extension, like I said, so does Chrome OS, Chromium and Electron, which is really interesting if you want to make a standalone piece of software that operates with a piece of hardware that maybe speaks MIDI. And I was curious the other day and I looked at can I use to see what browsers support it and it's really only Chrome. But I guess technically we have 59% global coverage which is a lot better than I would have guessed. Not that I expect to use that information for anything. Okay, so when I'm talking about MIDI controllers, we're talking about like the things I have up here on the podium like I showed you a moment ago. So there's pre-existing USB ready controllers. You can actually buy controllers and keyboards and things from the mid-80s and buy an adapter and plug them into your computer and start talking with hardware that was invented before. Probably some of you were born, honestly. And you can even build your own, giving back to the tiny computers. I have, I don't have it up here, but I can show you downstairs if you're curious. I've built a little MIDI controller using an out-of-fruit Arduino-based sort of a thing and the possibilities for just creative things you can build really open up when you start dabbling with actually making your own hardware and getting it to talk to the web. And here's some photos of some of these things I was talking about. I've actually got this one up on stage. I've got this one down by my feet. I don't bring that one because it's heavy. Let's see. Oh, and yeah, so, you know, so far I've mostly talked about things like keyboards, like things that have buttons, but what's also interesting is there's like, you know, other types of sort of outside of the box controllers out there, like this one is a breath controller. It kind of looks like a flute or some sort of wind instrument, but it's able to detect how hard you bite on it, how hard you blow into it. This one I also have up here, it's an accelerometer that translates the accelerometer signals into MIDI signals that the browser can interpret and then start doing things with. So there's just a lot of different ways to like interact with the physical world once you start delving into the different kinds of hardware that's out there. And then this guy, this guy was like, does anyone know who Future Man is? I'm curious. We have one Baylor Fluck fan in the audience. I see, yeah. Anyway, he built his own MIDI controller like in the 80s and was way out of his time and was kind of out there. And I just, I just want to throw that in there. Like I said, you can build your own. This is a video I shot at home of a MIDI controller that I didn't build, but someone else built using Arduino and I was experimenting with it a little bit, doing an interactive website and hardware demo here. There's no extra plugins or anything. I just plugged it to Chrome. I wrote a couple of really, you know, simple lines of code and I made this, this kind of fun interactive thing. Sadly, I dropped this one and it broke so I haven't been able to take it around. So let's talk about what a MIDI message entails. It's, at the end of the day, you get three numbers. You get three bytes and you have only two types of messages within those bytes. You have one called a status byte, which is supposed to tell the controller what kind of a message we're sending. Like is it a note that is on, is a note that is off, is it something called a control change, which is a sort of reserved word for a different type of interaction. On the other two, tell you what sort of data to associate with that type of message. You know, I have links to websites to explain this more in depth. You probably don't want to do this. You probably just want to see some of the demos and some of the code samples to get a little more inspired by like what we can do with this. So I'll skip through a couple of these. Really, what all this boils down to is that we get three numbers in an array kind of like this. And although the MIDI standard sort of dictates what those messages are supposed to mean, like this one, for example, is supposed to be, it's supposed to tell me that a particular note is pressed on on this keyboard, like I think G maybe. You know, that standard, at the end of the day, it's just three numbers and it can mean anything you want. And so if you want to start using MIDI hardware to create your own contraptions, all you have to keep track of is, hey, you know, when I hit this button, it gives me these three numbers. If I send these three numbers back at the controller, it reacts this way and so on and so forth. Okay, so what does it actually look like? If you're using Chrome, you may be familiar with this. You can, you know, if you want to make a webpage that requests a location or wants to use the webcam or send notifications, you have to ask the user for permission. MIDI is kind of similar. It's kind of a funny one. It probably never pops up because there are not many, you know, websites asking you for MIDI access when you arrive for the most part.  And asking for requests to the MIDI access object looks more or less the same as it would to ask access to the geolocation API or something like that. You know, you ask for access. If it gives you access, you give it a function to run. If it successfully gives a function to run, if it fails, and then there are a few other sort of specialized aspects of the API to handle messages as they're sent back and forth between your device and the page that you have set up. I have some examples here of iterating through a bunch of, like up here on stage, I have one, two, three, four, five, six, seven MIDI controllers, I think, plugged into my computer right now. And so this is just a tiny example of how I have a little function or a little loop that iterates through all of the available controllers, looks at them by name and maps them to particular places so that I'm not, you know, down the line looking at, like, what was MIDI controller one? What was MIDI controller two? I really don't remember. Is it this little clicky thing in my hand or is it the keyboard? I can't remember. And then, you know, handling a message. Like I said, you just get an array that has three numbers. There's some other event data that comes with it, but the three numbers and the data are really the only thing that are important towards interacting with it. And yeah, so there are some existing libraries that make working with it a little bit more easily, especially if you want to work with it in a purely musical context. Like I said, there are links to this on the website I have at the end, but WebMiddy.js does a very good job of, you know, helping you write code that more clearly describes, hey, we're listening for a note that is going to be played. We want to send a note to this device. Whereas the built-in WebMiddy API has more sort of opaque methods when it comes to interacting in that way. So here we have some, oh yeah, midiutils.js is a good utility for taking these MIDI messages and converting them to notes and frequencies if we want to, again, create a more musical interactive kind of experience with our MIDI controllers. And that's not it for the presentation. That's it for talking about midi. And so quick, we mostly talked in these demos about the client side. I'll touch real briefly on the server side. It's very similar. The only difference is we don't really have to request permission. Latency can be more of an issue depending on how you're trying to use midi. I could talk more about that downstairs if you're curious. Working with midi files is much, much easier. Some of the front-end libraries that I just went through WebMiddy and midiutils.js will also work on the server side, which is very nice. And you can do more interesting system-level things. One of the interesting things I'm playing with right now is you can actually create virtual midi instruments on your machine using Node. And when you create a virtual midi instrument in one instance of Node, you can fire up another one and it'll see that midi instrument and you can start sending messages back and forth. And I've yet to think of a good outside-of-the-box way to use this, but I'm open to suggestions. We can talk about it more later. Yeah, and there's just an example of the server side JavaScript and using midi on the server side. Using a MPM package called appropriately enough midi. We listen for input from the midi object when we get a message, we log it to the screen. I don't know if you can read that, but I just put parenthetically or commented out an example of the array that it usually spits out. Okay, so now it's demo time. Let me show you a bunch of the interesting things I made and why I think this is a really good platform for creative computing and creating sort of hardware JavaScript hybrids and thinking about user interfaces in a way even outside of the computer that might be fun. So one of the things, well, I'll skip that one actually, that was not as much fun, this one's more fun. No, no, I gotta do it, I feel, I gotta do it. Okay, so this piece of, this little page that I threw together, it is, all it is doing is finding all of the midi controllers that I have plugged into my system right now and it is listening for messages and it is spitting out the numbers that it sees when messages are sent from this controller. So if I start playing notes on my keyboard, it's telling me, okay, when I push this button down, I get those three numbers from my nano key to keyboard controller. If I push this button over here, I get those three numbers from my launchpad MK2 controller and when I release, I notice I get another number that, that third number sort of changes between zero and 127. And the whole reason I'm demoing this is sometimes if you delve into the world of building your own controllers or buying controllers off of like Aliexpress, like I like to do, the company no documentation, you have to learn how those controllers are built and how they work. And so this can be a good way to just sort of explore how the controller is set up and what messages get sent when you hit different buttons. Okay, so here's a quick musical example again.  You know, pretty easy. You can find a lot of different MIDI WebSynth demos out there. Under the hood, we're using the WebMini.js library I talked about, the MIDIUtils.js library and Pizzicato to actually generate the sine waves. There's more fun with Web Audio here. I'm using a different controller here to trigger sounds and let's see, there we go. So all I did was trigger sound, obviously. And now, if I turn these knobs, I can alter the pitch, I can alter the time. I'm playing with different aspects of Web Audio which is a fun thing unto itself and worthy of a talk. You know, and that's just one example of a sort of audio-based demo here. Interactive piano recital is the thing I started at the top of the talk with. This one, which I will show people downstairs if they are interested. And so, okay, let's look at the things that are not musical. I should have enough time to get through a fair number of these now and then take a few questions, I hope. So one of the interesting things I've tried to build is ways to interact with different like CSS3 properties and things like that. Here is something, let's see. This is just a basic color mixer, let's see. Ah, there we go, okay. And so using the knobs and the same control I showed you here, I can mix different component, I can mix different levels of red, green, and blue to use it kind of like a color mixer. I don't know if it's the most practical sort of thing, but it's kind of a fun, interesting way to play with this. See if I can get a little bit of green in there. There we go. Again, under the hood, I'm using Web MIDI JS again on this because I just felt like it for some reason and I saw a library called TinyColorJS to mix the colors and things. This is an interesting one I made a long time ago. I called it my interactive poetry box. And so the easiest way is just to demo it. All it's doing is it's creating random poems using existing texts from Gutenberg, the Gutenberg project, and open source video from archive.org and also random audio snippets from audio.org to sort of create a mash of these different things. And this was actually the project I made this a few years ago for a band I was playing in. We wanted some interactive visuals behind us while we played. And so I just came up with this idea. I realized, oh hey, I could use these MIDI signals. I don't have to use them for music. I could use them for something interactive and kind of interesting. So I made this. And all I'm doing, you can't really see it, I realized from down here, but I have three little buttons on the stage I can step on. And when I step on them, it triggers just different aspects of this page I made. So when I hit this button, it gives me a different randomly generated poem, which sometimes they seem kind of profound and sometimes they really don't. And if I hit this middle one, we should get a random video playing in the background. There we go. And if I hit this third button, okay. And so what you get is sort of this really interesting, interactive kind of art project, just using MIDI to trigger different things on a web page that I threw together. And this project was actually kind of an impetus for 5.0. There's probably a lot more interesting stuff that we could do like with MIDI and JavaScript out there. I'll close this and kind of sail through here. If you want to know how I made the random poems and things, we can talk more about it later. It was kind of an interesting conversation. Okay, a quick show of hands. Who's seen the movie, The Goonies? Okay, there's a few more that I expected. I might actually skip this one just because of that. I'll skip through to the next one here. For those who are not familiar with the movie, it's a really, it's an old movie from the 80s. A lot of people my age growing up in the US probably saw it. And there's a scene in the movie where the kids who are trying to escape these bad guys come across an organ that is made out of bones and they have to play the music correctly in order to open a gate so they can keep going through this place that they're trapped in. And I was looking into microcontrollers in JavaScript and MIDI and I realized, hey, with a couple of servos and stepper motors, we can actually build that thing. And that would be sort of a fun project. And I made sort of a fake version of it here. And I'm gonna skip it though for now because it's not as interesting if you don't know the movie, to be honest. So let's move on. Okay, this is what I was talking about. So here is an example of a bunch of microcontrollers hooked up to servos and motors. And this guy, the plane? No, it's not a plane. This guy is using a MIDI controller to trigger the servos and have them turn. So what I want to build basically is a fake organ that could eventually open up a door or something else kind of interactive and strange. CSS filters, I showed you the one where we're mixing colors earlier. I also did one where we can play with different CSS three filters, which is kind of fun. What's sort of fun about this context is I can mix multiple filters at the same time just to sort of see how they all look in combination. Again, it's not super practical, but it's a way to sort of try something new and outside of the box and use your brain in a slightly different way. Someone pointed out to me that this could be a very cheap and sort of ineffective alternative to the Microsoft dial. And I, you know, I suppose it could be. Drawing a simple image. So this is a pretty simple one. I have something up here called a launch pad. You can sort of see. And so I can just click it right now and sort of light up these buttons like so. Try to launch the page. Anyway, there we go. And so now I can sort of use the launch pad as a way to draw simple pictures.  Oh, this one's a little more interesting. So this one's actually using the accelerometer controller I talked about at the top. Turn it on though. That's more helpful. There we go. And so this little guy, now if I move it, I get the X, Y and Z axis Cs are mapped to the red, green and blue values of the colors. And I thought this is just kind of an abstract way to maybe, you know, mix colors or make some sort of interesting demo. You can also change it to HSL, let's see. Yeah, so now I'm in HSL mode. And that's a little more interesting because if you keep it level, it's perfectly white. If you move it up, we get sort of a red color. Down we get that same red or a different sort of red. Oh, and this is a twist on that same idea where, let's see. I'm gonna go, I'm gonna go two more minutes and then I can take some questions here. Actually, let me skip. Well, let's see. Yeah, I'll skip forward here. This one, so my mind always turns to games when I'm trying to think of new ways to explore things and just make them interesting for myself and other people. And so I made this recreation of a whack-a-mole game like I remember playing as a kid using this guy right here. So I've mapped these different pads to the different moles that pop up on the screen here. And when they show up, I always have to remember which one this is. When they show up, I can try to hit them. Anyway, but because the pads are also velocity sensitive, you can factor in different components to the game. It's kind of an interesting, fun way to reuse these controllers. One of the first programs I made as a kid was an interactive ball that bounced on the screen. I remember doing that when I was about 10 years old and like quick basic or something like that. And so it dawned on me that might be a good sort of first program to try to use for one of these MIDI controllers to create a new sort of interactive thing. And so, let's see. So I hit this button here. It's sort of, it's funny. This has sort of become like my personal hello world to like learning a new language, particularly one with a visual component. I like to just make a ball bounce on the screen. It's a good way to sort of learn how to do something already familiar with how to do, but in a new sort of paradigm. Skip that one for now. I have to skip that one too, I'm afraid. And the last one I'm gonna show you that's sort of interesting is, who's familiar with the game Go? Are there any Go players here? Okay, good number. This is like a good sort of like developer Go overlap I've noticed most of the time. And so I was trying to think of a way to repurpose this eight by eight board that I have up here. And although it's a little bit small, I found I was able to recreate a game of Go. And in combination with one of these tiny computers, one of the things I have at home is a self-contained and very impractical Go board with a tiny computer which I can connect to a battery and then connect to this controller up here and you can play a game of Go. So I'll play for a couple minutes or a second year on the screen just to sort of demonstrate what I'd say. I'm also terrible at Go, just so you know. Anyway, so I just wanted to demonstrate this. This is another sort of outside the box application of MIDI and JavaScript here. So I've sort of reached the end of the talk. This is an installation up sort of near where I live in Seattle, Washington. It's outside a museum called the Experience Music Project.  And it's really, you know, it sounds beautiful and it looks beautiful. And I just kind of thought to put this up here. Oh, I turned my sound down, that's right. Anyway, I thought to put this up here because it sort of made me think, you know, what they've done there is they've repurposed non-musical things to create this beautiful musical installation. And what I'm trying to show here is that we can take something that is originally just a tool for communicating about music and repurpose it to do all kinds of interesting things with JavaScript and hardware and create unusual interfaces in creative ways. Thank you. That's the end of my talk. I'm happy to take a few questions. We have some time for questions. Have you heard of what? I'm sorry? More questions. Yes, and I've seen that one and yeah, yeah. More questions? Yeah, at the back. Is there someone? Question there? What you showed is really awesome and almost freaking. I have a question. Do you get any industry-level projects with this API implemented? Do I get any what for this API? Industry-level project or any industry-level implementation? Industry-level projects, that's what you asked about. Any entry-level projects? Industry-level projects. Industry-level projects. I do not personally, but if you'd like to work on one, I'd be happy to talk to you. Shantika. Thank you. Sure. So, MIDI is a really old protocol, right? Right. Can you hold it closer? So it's a really old protocol back from 1983 and it used to work on old phones which had less space and they needed ringtones. So does it solve any practical purposes even today and does it solve any problems? It's still very effective for communicating musical signals and it's still very effective for musical applications. Are there any bands that just release on MIDI? Are there any what? I'm sorry? Are there any bands that just release their albums in MIDI or something like that? Bands that have adopted MIDI? I mean, honestly, any electronic music, any electronic musician working today has probably adopted MIDI. I will say, I just thought of an example to answer your question. There is an old game from the mid to late 80s, an old computer game that used MIDI across a network to communicate with other, it was like an old Atari game or something like that and it would use MIDI to communicate two player games because they didn't have any other way to network and so that's, I mean, that's kind of an interesting. I'm really eager to get to lunch but if you could leave silently, that would be very polite. Thank you. Yeah, any more questions? Hey. Hi. So how broad is the spectrum of MIDI? Like I'm trying to understand, sir, there's of course the sounds that we can hear as humans, right? Sure, right. Does MIDI also go beyond things that we can't really hear? MIDI does not actually by itself dictate the frequency necessarily. I mean, the MIDI standard suggests that, oh, when these numbers are thrown out there, that should be this note on a piano, right? So there is a MIDI signal for the highest note on a piano but there's nothing that would stop you from writing a program that, for example, took a keyboard and moved everything up into a spectrum that humans could not hear. So you could make like a symphony for dogs or something if you wanted. I'm wondering if this is a good data transfer protocol which happens silently. It's like in transfer data, I can send a text to you on your phone with music that we can't hear but probably our microphone can still catch. I think there could be an interesting application there. I mean, what you're delving into at that point really if you want to stay in the web-based world, we're delving into web audio and we just have to generate frequencies that are in that register and then we have to set up a microphone to listen to it but you could use MIDI to describe a sequence of frequencies, like describe a message, like it could be a good protocol for that. Maybe. One last question we have. So this is pretty fascinating.  Where do you point into it? Yeah, I tell you, if you go to my website, I have a lot of links to that and if you want to talk to me downstairs, I can make some more suggestions because I have a lot of things I need to fix up there. Perfect, perfect. Cool. Okay, sounds good. Thank you, George. Thank you.


ไร् て City where childcare is books are coming we have to get aid illeurs want to outshate.. 在這一 Elliot there are rtions from the Government strut his ration call and some people will have some issues they will report in camera get education and problems


SEGA DRUNK! Alright, it's time to play some Green Dog! Sorry, I don't know what it is about this game that makes me want to shout Green Dog! There's already like three dozen review videos of this game on YouTube, but this was a Patreon request, so I might as well find out what the big deal is. Well, it's yet another mascot platformer. This one for the Sega Genesis released in 1992 as a joint venture between Interactive Designs and Sega Technical Institute, who, as you probably know, had a hand in the Sonic sequels and even stuff like Die Hard Arcade, so this should be great, right? Now, as far as mascot platformers go, it's definitely different.  Actually, the character is based on a real person, an inventor named Rick Green, who created a board game called Surf Trip. The story is that a wave wipes him out while surfing, and in the process, he somehow ends up wearing this weird Aztec pendant, and he's unable to take it off. This pendant makes any living thing nearby freak out and try and kill him, and in a shocking coincidence, it's also somehow able to prevent him from surfing, which is a total bummer, man. So, to get the pendant off, he's gotta go collect six artifact pieces on six different islands to put together an ancient Aztec participation trophy. Gotta love these story exposition segments where it's just two people standing there forever. What did Kevin Smith direct this game? You get four lives and one continue to get through eight levels split up into two or three different stages. No saves or passwords, but there's plenty of checkpoints if you die, and holy crap, it takes real effort to actually die in this game, because it's incredibly forgiving. There's food flying all over the place when you either kill an enemy or hit one of these statue things, so even if you take damage, just keep spamming your Frisbee attack, and you'll eventually stumble into some life replenishment somehow. Seriously, just walk right on through this first level and let the piranhas go nuts. Geez, even Nick Punto did more damage than these guys. So yeah, this game is really forgiving, but there are some insta-deaths along the way that you gotta be cognizant of. Really, the toughest parts you gotta deal with are when you have to ride a skateboard or rollerblades, in its Adventure Island style, although Green Dog here doesn't get cool fashionable knee pads like Master Higgins does. There's some other variety here too, like pedaling this gyrocopter thing with a completely ineffectual punching glove you can extend outward, and of course, what mascot platformer is complete without an underwater stage.  Let's take an already slow game and slow it down even further. I guess it makes sense, since this game does have a beach motif, but levels like this are more work than fun. I don't mean to be too hard on this game, it's fine for what it is. It reminds me a bit of Chuck Rock, especially from a visual standpoint, and it's got an aesthetic that reminds me of something like Outrun, especially with the music. It's a very easygoing slow-paced platformer, and by slow-paced I don't mean sluggish, more like deliberate.  But once you see that they barely do any damage, and you're constantly inhaling food like it's a Kirby game, then all you gotta worry about are the InstaDeath bottomless pits. My only real gripes are the underwater sections, which actually do feel sluggish, and the skateboarding or rollerblading sections, where the game pulls the battle toads on you, and you suddenly have to get used to a completely different feel for the controls. It's not game-breaking or anything, it's just kind of annoying. There's lots of little touches this game has going for it as well. C jumps, B throws your Frisbee, and A uses one of many special items you can get, like a Super Disc that auto-seeks enemies for a short period, a clock that freezes everything on screen, or an umbrella that makes Green Dog invincible. You also have a dog named Fetch that comes by every once in a while, and if you manage to grab a bone, Fetch will follow you and take out a few enemies here and there. In the meantime, if you can't find a bone, Fetch will just eat all the food that's meant for you. Huh, sounds kind of familiar, like a certain Clyde dog that I know. One other thing I want to mention is that while the manual for this game is pretty standard stuff, Green Dog actually had its own comic that spanned two issues of Max Overload. I love stuff like this. The artwork here is seriously great, and it's clear that whoever worked on this really put some effort into it. This can be easily found if you Google it, so check it out if you can. As for the game itself, it's fine. It's a pretty easy-going game, where the controls are wonky at first, but the game is slowly paced, so you get plenty of time to get used to it. The skateboarding and rollerblading sections kind of suck.  I would advise to stay away from the Game Gear port, because it makes a slow game even slower and throws in some really warrenky hit detection as well. But Green Dog, or I'm sorry, Green Dog for Genesis, is a decent playthrough. It's definitely not gonna make any top 20 or even top 50 lists, but it's fine for what it is. Alright, I want to thank you for watching, and I hope you have a great rest of your day.