 slides. They're running in an old game. I did some antsy art back in the day. I still got it. Okay, so I'm gonna start now, I guess. I just have to click on this and hit play. We played this little game called Slide. Here I am. Okay, so my name is Wilkie. I've also been called Wilkie at Starbucks. Either one will work. Your Star Wars fan, that's fine. So my daily job, I work as a digital archivist, generally for scientific reproducibility. So what I do is I work with scientists, I develop tools, and I get paid kind of like by the government to help people who write papers and do scientific research package their code up so that you can repeat it 10 years from now. So people who don't trust that you actually produce that graph can actually go and run your code and actually get it to work. This is a really important problem that we kind of just kind of forgot that we needed to do. It's called, what is it called? The scientific method? Yeah. So we're down the line. We just kind of said that word and just didn't do it, just ignored what it meant. Turns out this problem is actually really hard. So it's actually hard to, if you come up with an archival solution, there's a few things that are difficult about it. It's really hard to evaluate it. It's really hard to say that, oh I built this tool, you can use this, you can run this code 10 years from now. You really can't say that, you kind of just cross your fingers. And I kind of cross my fingers too. It's hard to convince others that your solution works at all. And the most difficult thing about archival is it's really hard to get people to care about archival. Scientists don't want to put the effort in because they just want to publish really quickly and stuff like that. And I find this really surprising because in the physical world there are, we have paintings that are hundreds of years old and we can actually go and see them, right? There's a process of preserving and people find that important about art. I can buy a plane ticket, I can go to France and I can see the Mona Lisa and I can be mesmerized by it. And I can see it and I can interpret it and I can see the culture that went into it and how it was produced. And yet when I come back home, I can't even, I can't even compile code. I've written before I left, right? It's, you know, Python version change or whatever. So I, so I'll preface this, I think that all code, no matter what it does, is some form of expression and some form of art that you're trying to express through it. No matter what it is, right? If you go into your job and you're writing some scripts, I kind of find that artistic. There's a certain part of you that's in that, in that code that other people wouldn't have written it the same way. Like, that's the kind of thing we're talking about. So I'm using a very obvious example. I'm using video games as my, my mode to really say that this is important. And in particular, when I was a kid, I was really influenced. I became a programmer because of things like the demo scene and things like people doing interactive art. And I would download it with my dial-up connection. And I would see these vibrant, euphoric pictures in front of me and I would just get really into, how does that work? And one of the things I have when I was growing up was, was this game that looks really, really basic called, called ZZT. The game itself is pretty unspectacular. I'll show you what it is. So you play as this disembodied head, okay? I got to make sure I don't die. I'd be really embarrassing to get a game over screen in your slides. And so you see there's, there's creatures that run around and they try to kill you. And basically, you, you just try to shoot basically degree signs at them and basically like little cheerios. It's okay, it dies when it touches you. And there are, for instance, in this screen you see some spinny arrows and they throw cheerios at you and you try not to get hit by them because that would be hard to add. And there's little boulders you can push. And I can, oh, I got 80 health, we're okay. And basically that's it just for the game, right? You just go walk around as this disembodied head, you collect keys, you try to get through these, these ASCII art and ANSI art screen. And that's basically it, all right? And this is a very unassuming game that is extremely popular, okay? So before we get into why it's popular, let's just talk about this game and how we would archive this. This is a form of interactive media. You can't just take it, put it into a box and put it on a shelf and say, you know, we got it, we did it, it's preserved. It's an interactive game. So when we archive it, we have to preserve that interactivity. So what we're going to do is talk about how people normally archive software. So what we do is really kind of naive. So one thing we can do, we have virtualization stacks, we have emulators and all we need to do to archive a game, right, is just take some emulator or take KVM or take virtual box or whatever. We just package all the stuff we know we need to get it to run. We put it into a virtual machine image and then we're done, right? We just throw it up on a website somewhere and we're good. And so we can technically do that. And there's some problems with that that I want people to start thinking about when we think about this being the solution. It is, what do we do when something new comes along and no one cares about KVM anymore? Which is something that's going to happen every week or so, right? People go, that stuff's bad, stuff doesn't work anymore and then they just don't maintain it anymore. But what if it ends up being that this virtual machine image only works on a certain version of virtual box and then it stops working? Can we say that we adequately archive something if we just have a virtual machine image, right? And then furthermore than that, we're getting to why ZZT is cool in the first place and why it's still popular. Is it enough just to archive the game? Is that all ZZT is? Is that all anything is? Is that all scratch is? If we just archive, scratch the tool, have we archive, scratch? I would say no. And the reason for this is that I've created my slides in ZZT and that's because the game itself is not fun, right? I mean, I liked it as a kid, but it doesn't stand the test of time as much as what everyone has done with it. Because Package with the Game is a level editor that was fully featured with the share version of the game. So for free, you could download ZZT and you'd have a game creation tool. And what has happened over the last 25 years, the game came out in 1991, is people have produced thousands upon thousands of their own ZZT world. So it's not enough just to archive ZZT. We haven't archived the potential of the art that goes into this. So we're going to go into what can we do? What can we do to actually make this work? And what we're going to do is I created a tool for scientific reproducibility, but secretly. I mean, I kind of wanted to be something that can archive the art that I grew up with. So I made a general tool that can build virtual machines on the fly based upon what requirements you might have for them. So the idea is ZZT isn't just an allocation that you can just run in the virtual machine. It is something that runs in DOS. Yeah, no, it's great. Don't think forever. Thanks for liking it. So what we say is that ZZT is actually a DOS game. That's all we say. We say there's an executable here. It needs to run in DOS. Good luck. We don't make a virtual machine. We just say in the future, future people, this is what the environment is. And then somewhere down the line, we also do the same thing for tools like DOSBox. We say DOSBox is a program. This is executable. Here's how you build it. Here's where the source code is. But most importantly, this takes its input at DOS program. It seems so simple. It took me two years to build this. I only have two seconds to explain it. And with that, we can, for instance, yeah, that's the first. We can, for instance, make a virtual machine image or we can make a Docker container that contains enough things based upon the slight descriptions you have to build up an execution environment for ZZT. And then 10 years from now, if Docker bites a dust, sorry, people who work with Docker, maybe that's going to happen. We don't know. And that's the problem. And we could have something new. And then what we often do is adjust the back end of the tool to say, you know, we have to build that stack of something else underneath with a different architecture. And then we can build a new virtual machine image later. And one of the cool things about doing it this way is we can tell it, hey, also include AZT World inside. This one I like to call Adventurers of Link 2. You can also call it Adventurers in Copyright Infusion. But capturing this is important. This is something we'd lose if we just captured ZZT the game. And we wouldn't capture the ability to make something new in our archive as well. We wanted to archive the ability to create new things as well as just preserve what other people have created. So we would miss out on the culture that went into making this, such as teenagers don't care about copyright. This is something we need to capture. And we can see that what we have here, the virtual machine we created here, contains a ZZT World, ZZT. And then I told it, I wanted to run it in the browser. And that's the kind of the cool thing. We can add more requirements to the virtual machine. So I said run in the browser. I have a VNC JavaScript client. So make sure VNC works. And so it added to the virtual machine a VNC server, next server, Windows Manager, DOSBox, everything I needed to make this possible. That's really the gist of it. And so maybe a hundred years from now, maybe nobody will actually care, but you can go and you can. I've archived my slides and it's the same process. And hopefully a hundred years from now, somebody can look back on this Bang BangCon logo that I made, so painstakingly. And they can actually enjoy the sizes there. And that's really the gist of it. And I want to leave you with some notes. So take away from this, when you're building systems out, such as creation tools and art tools and these types of games with mods, think about how you're hurting or hindering or helping people archive what they make a hundred years from now. Because there's a lot of tools. We can upload things to the internet. How do we preserve that? And you have to start thinking about that when you make these tools. And anyone has any funding that isn't the Department of Defense who wants to help fund me, that would be appreciated too.