Hi everyone, and welcome to the Union of Main Visual Artists Gallery here at the Portland Media Center. I'm Natalie Brown, your featured artist for March and curator of the exhibit Empty Spaces, A New Normal. This exhibit features 15 large-scale black-and-white photographic works by myself and a curated section by four other members of the Portland arts community. We're really excited to bring you this collection in a hybridized way and hope that you can enjoy it from home or in person. The collection focuses on the pandemic and the impacts that it's had worldwide on different artists and different people all in different ways. For me, this meant highlighting the eerie silence and the overtake of nature and stillness where I lived at the time in Western Europe. For each of the other artists, I left the floor open for them to discuss and divulge into things they felt more pertinent to them and their artistic practice. The collection will go live on March 1st and be available through the 27th in person here at the Portland Media Center with pre-existing appointments. You can view the collection through the duration of the month online from the Portland Media Center, the Union of Main Visual Artists and my own website, nataliebrown.com. Without further ado, the collection. I'm here with the first two pieces of the collection and the Gallery Lookbook that I've recently published, also entitled Empty Spaces, A New Normal. This lookbook features prints of the entire collection with some bonus images and prose and extra stories of the collection, some of which I'll be telling over our tour. Here at the first piece, which is called Place of Worship, I took this photo in somewhere in Switzerland, again in Western Europe where I lived at the time, and it was completely deserted. I was absolutely inspired by the beautiful dramatic lighting and the completely empty space, which is not very common in beautiful cathedrals and famous places throughout Europe. I was really taken aback by that emptiness and the juxtaposition in tourism and everyday life. Over here with this piece entitled Empty Waters, this piece is really important to me. It's on the posters you might have noticed, and it really very clearly outlines the show. It's literally an empty space with a few sailboats there. I am absolutely obsessed with any photographs I'm inspired by artwork that really shows how tiny we as people are and how vast nature is. And I felt that that was successful in that this is a massive, massive uninhabited island off the coast of Croatia. And there are just some tiny sailboats, possibly fishing boats there at the bottom of the cliffs.  This beautiful piece is one of our collaborative work. It's entitled Heartbeat by artist Sam Murphy, created in 2020, this last year. She says on the piece, the piece is a collection of hearts connected by tangled strings. The hearts are that of various species, human and non, as I think the connections we need during this time are more than human. The piece originated as the connection I've had with pets during this hard time, but it's moved into the complication of our relationships during this time and the inherent loneliness we all feel. This piece is entitled The Steps of Sanctuary and depicts out in the streets of Croatia some of the churches and apartment buildings that are hundreds of years old and very close together. I was astonished to see the emptiness in the streets as well as the churches and the absolute lack of tourism happening. And so I felt and saw the effects of the everyday life and the tourist trade, which is the major industry in this town. I felt that the light was really gorgeous and the streets and the apartments and where everybody lived was really dark and looked very dank and I felt that that really spoke to the time that they were living through, the time that we were all living through and wanted to depict part of the beautiful part and the light part. So we see that here. This piece is entitled The Empty Courthouse and initially I was drawn to it because of the beautiful and intricate façade even with some of the aging and signs of time passing as you can see here with the column. I was drawn to this on a grander scale because of the political unrest and the social justice projects that were occurring in the United States right at the time that I was seeing this building and felt like I couldn't do a lot except from afar. This building originally served as both a courthouse and a jailhouse and so it really made me think of the things that were going on in my own country and what I could do to help, even from far away. This piece is entitled Dappled Light and shows some of the Prague cafe scene or lack thereof over the summer. This line of tables and chairs would stretch on for what seemed like miles but was probably several blocks, all of which were empty and the boxes of flowers and plants were overgrowing, becoming over-tangled continuing to grow with the summer rain and the sun but really with no human interaction. The light was really beautiful coming through the trees and this effect happened for blocks stretching onward and seemed like a really eerie scene, kind of where you enter the twilight zone and so I felt like it was important to depict that this is a very typical European setup. A cafe, people are there all the time, all over the entire continent and here it's a complete juxtaposition of that social aspect of many people's lives. This piece is entitled Afternoon Feeding and features one of my favorite little furry friends here and some of the most beautiful steps I came across during shooting this collection. Now this follows back to the other photo of the cat that we've already covered about the Dubrovnik Croatian cats that run free and are fed by locals. This is an example of one of those very feedings where a local man had come up with a backpack and deposited the little food in front of the cat and he knew he was going to be there, he knew what time and he knew exactly where and it felt very appointment based and silly and whimsical to me. Not just that but the steps were absolutely gorgeous and it seemed idyllic and storybook in a way. It seems like that just doesn't happen in my everyday life and felt like something important to depict. This piece is called Pea for Pestilence and it's more of an apathetic view on the COVID-19 pandemic in general from an artistic standpoint. This alleyway is the entrance to many people's homes and stretches on for several blocks, winding around and going around the old city steps of Dubrovnik. And all of it was completely empty, everyone's decorations and shoes and personal effects were all brought inside and it just looked completely abandoned like an old medieval castle. Despite that everybody still lived there and they were all hiding inside it reminded me reading about old times in medieval plague or different sicknesses where a pestilence would be about and no one would be on the streets and so I compared it here in Pea's for Pestilence. This piece is entitled Closed Shudders and goes back to those original roots and the manifestation of this collection which is my obsession with nature and the overtake and the stillness of the pandemic overall. I was really fascinated by this tree and all of the surrounding garden becoming really unruly and overtaking the old seashore cottages and old buildings. The paint was chipping, the rocks were crumbling and all of the shutters were closed. It was difficult to discern whether they had been abandoned for years or people were hiding inside. This is another one of our wonderful collaborator pieces entitled Piss Snapkin by artist Jasper Gaffney. It's a mixed media piece and a soft sculpture entirely made by the artist. And they say about it, lately my ability to create has been massively stunted in conjunction with losing access to the studios I generally think of as home, the uncertainty of facing the world and myself in this current pandemic has shaken my frail and mental state. As I'm sure many have, I too fell into a downward fall. Being someone with psychosis, this can be a dangerous implication and so I felt compelled to return to my roots as an artist and ground myself in the simple process of making to make no concept, no strings attached. I wanted to lean back into humor, the uncanny, what drew me in so far to this abstract spiral that my work has taken. I wanted to put my absolute lack of coherent thought and mania into a little weird clown man because it would take forever and occupy me and try to connect with my love for miniatures and process of heavy sculpture. This clown is formed from polymer and paper clays, painted with fabrics, tool and old pair of pants, a wooden dowel yarn and wool. I created him from scratch. Everything is hand sewn. I even ripped up wool roving and acrylic yarn to form his stuffing. The only machine I used was a jigsaw to cut up the dowel that forms the arms of the figure, something I wouldn't regularly consider. Spending a large amount of time with each individual element and watching them all come together has been a rewarding experience and I truly felt the same excitement for making it that I did in high school, something that has since been replaced with apathy in most cases. The sound of the piece within this clown I've lovingly dubbed with the help of my partner, Piss Knappkin, was my allowance to put some abstract thought into this piece and make it as consistent with my existing work as possible. The making of this piece felt like a self-portrait in the face of changes the early days of shutdown brought and the mind state of being unstable and fearful, unsure of the future. This piece is entitled My Village Friends and is one of the ones that's closest to my heart of the collection. This is taken right outside the village that I live in outside of Stuttgart, Germany when I stay in Western Europe and there's this farm just down the street from my home where just dozens and dozens of cats live and nobody really knows how they got there they come and go as they please it's a very comical place to be. Some of them have made friends with me especially over the quarantine and lockdown period where I really didn't see many other people or many other beings other than these guys. This one is one of my favorites who is quite a model and often poses for my images but I felt that I wanted to include her because she was such an integral part of my lockdown period. This piece is entitled Den die Toten reiten schnell which translates from the German for the dead travel fast which is something I took directly from Bram Stoker's Dracula in terms of pestilence and the death and the really dramatic aspects of this last year kind of put into a piece. It felt remiss not to include that so many people were dying was really upsetting and sad and people were losing family members and people that they loved and I felt that the best way to do that was to depict something that I also felt beautiful even though it was really upsetting and really sad and so I came across this graveyard which was really really gorgeous and had graves hundreds of years back into the fifteen and sixteen hundreds but also up to the current year where I presumed that many COVID victims of illness that had passed away in recent months were also being buried and so it was a very poignant kind of moment to reflect on that but also to notice the beauty of that area of the graves of the plants and of the people coming to mourn and to pay tribute to the family members they had lost. This piece is entitled Meditation One and is by a collaborator named Josh Harriet. It is constructed of acrylic on fabric bandanas and the artist says about the piece Meditation One is a reflection on my thought processes of goodness and purity. The piece asks you to think about what necessarily determines if someone is good or bad. More than anything, Meditation One functions as an inner dialogue made public. I would definitely consider my work as a refreshed take on vent art.  I was inspired by Alt and DIY culture which is why I opted for acrylic on cloth rather than silk screen or block print. Meditation One is part of a future series of para flags to be hung in interior spaces, usual or unusual. The main point is to convey some sort of message about simplicity and the things we tend to overlook in life. I was inspired by modern poets like Ruby Cower as well as conceptual artists like Jenny Holzer. The DIY quality of the piece is instrumental in the interpretation of the bandanas as well as echoing queer, punk and DIY culture. Being non-binary and especially being queer during this pandemic is an underrepresented area that has a lot of potential for conceptual exploration. There's something so intricate in the relationship between minority groups and the restrictions they already face in modern day. Compared to the restrictions that COVID has put on us, with this piece especially, there's a juxtaposition akin to those restrictions where the process is tedious and time consuming despite the finished work appearing minimal. This piece is entitled The Left Behind and is by another collaborator named Libby Scutt. It is 35mm black and white film and the artist says about the piece. These pictures taken in a diptych style were taken in response to the social aspect of the pandemic. Though this work, through this work I hope to tell the stories of the people pictured. The first photograph tells the story of Brian Finch pictured here. A homeless man and hopeful artist. On our walk home with a friend I stopped and said hi to him and he played me a song entitled Girl with the Dry Eyes about his wife who had recently passed. He strummed his guitar with an old gift card and sang with pain. When he ended he thanked us for listening to his story and bid us a good day. His longing and hope is something I wish to encapsulate in this work. The second picture tells the story of a society longing for an end of the terror. Equipped with hand-painted signs the community in Portland gathered to plead their case on the day of Breonna Taylor's trial. There is anger and betrayal against the system. A community risking their lives to stand for what they believe in. In the styptic I hope to show that the COVID-19 virus has affected the people of Portland spreading not only disease but hurt and visible pain. As part of this exhibition I hope my piece shows an intimate view of the turmoil lurking under the facade of the idyllic artist town. This piece entitled The Hottest Seats in Town explores a very popular square in Prague that is usually filled to the brim with families on Saturdays and Sundays of the week.  This area of the town is usually packed like sardines. It is so full and so busy and I didn't realize this until after I had visited and taken these photos and looked into the space and how busy and lively it usually is. Music concerts occur here, festivals and different local events. But during this time it was completely empty. People weren't even really out taking walks or sitting on the benches socially distanced. They were inside or not in this area at all and I found that really eerie and the comparison to be very strange and unsettling. And so these beautiful seats which luckily as they were empty I was able to get photos of their empty for possibly the first time since they were placed there in the city and it offers a unique look into that part of the town that hopefully won't look like this for much longer. This piece is entitled Swans Near King Charles, Mother of Ten and with that title a little bit more goes into it. Of course this depicts swans but the King Charles refers to the Pragueish bridge here in the background. A very famous and historically important bridge that is packed with tourists. Even during the pandemic it was possibly one of the busiest places that I had seen and therefore pretty much stayed clear of it. What was so amazing about the swans coming ashore is that typically they float around the harbor and the river but they don't come ashore so often as tourists bother them and even local people. And what was really amazing is that this mother and her mate who's not pictured had ten offspring from this year and were all up and down the banks with some local muskrats as well which was really odd to see. I thought that it was so beautiful that they were coming further and further inshore and didn't feel like they were going to be harmed or bothered and so it was a really unique look into a little bit of nature that normally would be offshore and more difficult to access and see but we were treated to being able to experience because of something that is typically seen as really bad, the pandemic but this overtake of nature and literally coming ashore of these creatures was a really unique and beautiful poetic experience. This piece entitled The Empty Harbor of Praha or Prague shows from a museum a small cottage museum outward towards the harbor and upward towards the castle in the center of the city. In my look book I write about this a little bit and when I say, what I say includes The Empty Harbor of Praha July 2020 laying perhaps ever at its loneliest since the last plague epidemic to hit Prague in 1713. Even at that time boats of those who could not go ashore would likely have stayed in the harbor to do what work they could only now do the once thriving trade towns waters lay completely empty. This piece somewhat of a finale of the collection entitled Nuns and Conversation and depicts perhaps the most people so far in the collection as I really avoided people for safety reasons and most cities were pretty empty when I visited them. This is on the King Charles bridge which can be seen in the background of the photo Mother of Ten with the swan back a couple pieces. This piece depicts two nuns walking in really wild and involved conversations. They were angrily and really passionately gesturing and it was something really interesting to see that interaction was something that I had been starved of for several months not really seeing any people and here you can see possibly the most people that I had seen in months and maybe you have too. This was at the end of the first wave of COVID and of course we've had more waves since but at the time it was very uplifting as we thought this might be coming to a close that communities were coming back together and socialization would come back into play. Even now that this virus hasn't quite subsided and we're still working towards health and a better future, this moment when we reach it again and for good is a very inspiring one for me.


The future is here. It's just not evenly distributed. Look around the world and we know this to be true. You're all here in this room. Chances are the vast majority of you got in a regular gasoline powered vehicle and drove here to the venue today. However, we know that in the future, many of us will be driving electric vehicles, clean electric vehicles. Those electric vehicles may be using power that came from dirty coal. So how clean is that electric vehicle? Well, that's also becoming a solved problem. In California today, you could use a company like Solar City to go install solar panels on your roof that look like legitimate roofing. This isn't an eyesore.  Pretty amazing future that's already here. If you're in California today, completely off the grid. We know that today, if you go to the grocery store, the vast majority of us have this as our reality. We wait in line to check out. However, if you're lucky enough to be in Seattle near the very first Amazon Go store, there's no such thing as a line. There's no such thing as a checkout. You grab what you need and you walk out the door and sensors charge you accordingly. The future is already here. It's just not evenly distributed. And this principle, of course, applies to JavaScript as well. The future of JavaScript is here. It's not evenly distributed and I'm going to ask you a few questions during this session that's going to make that clear with your fellow audience members. So let's get started. What I'm going to talk about is the last decade in JavaScript and three revolutions that began in the last decade and all three of these are still in progress. Now you might think this is a real talk through history, but in fact what you're going to see is these three revolutions, many of you have not embraced them yet despite the fact that they've been around for a while. I find it pretty cool that today is exactly 10 years since Jeff Atwood coined Atwood's Law which says any application that can be written in JavaScript will be written in JavaScript. Now when Atwood said this, I thought it sounded pretty crazy. Despite being a guy that's really big into JavaScript, this sounded nuts. But today we live in a world where that really is a reality. Think about the web was the beginning of JavaScript. We all know that that's where it started. So yes, I can write web applications using JS. But today I can write server-side apps using Node.js. I can write native mobile apps using React Native, using native script, using PhoneGap. And I can even write desktop apps using things like Electron. It's crazy to me that my favorite editor today is VS Code and that is written in HTML, JavaScript and CSS because it uses Electron. My favorite way to communicate and share gifts with my coworkers is Slack. Again, written, there's some Slack fans here, there we go. Again, that is written in plain old JavaScript using Electron. Pretty amazing. So Atwood's Law has come to fruition. JavaScript I like to say, it's a lot like Visa. It's everywhere you want to be. But it's interesting. A lot of us are JavaScript developers not because we believe that JavaScript is the best language in the world. We are in JavaScript because of where it is, not what it is. And JavaScript continues to get better and I love seeing the fact that now every year, right around June, we get a new release of JavaScript with goodness. But I'm certainly a JavaScript developer because I can write for any platform and that's pretty amazing. So it's a really awesome future that we have ahead with our skill sets. So anybody know what happened, January 12th, 2010? This was the beginning of a key phase of the JavaScript revolution. The reusable JavaScript revolution. Any guesses? JQuery. Nope, JQuery was not then. It was actually earlier. No? It was drum roll, drum roll, drum roll, NPM. NPM was announced on 2010. That was the first release of NPM. Pretty big deal. Now at the time, it didn't even make that big of a splash because we already had things like Bower that a lot of people were using. It was unclear whether who and when people would be using NPM. But today NPM has swallowed the world as JavaScript's de facto package manager. And this is a key piece of the reusable JavaScript revolution. If you haven't embraced NPM yet, then you're missing out on a lot of power. Now the thing is, if you rewind just two years, this was life as a developer. This was how I was spending my time. If I, yeah, I read some of the script tags as part of the fun. But think about the pain that we went through in 2008. Just 2008, it wasn't that long ago. I was dealing with all of this pain. Look at what would happen. Oh, I wanna go use someone else's work in JavaScript. Well, what steps would I go through? Well, I'd do something like this. I would search the web. I'd read the docs and go install the relevant install steps. I'd download any relevant JavaScript and CSS. I'd set up my script tags, my style references, and then I'd write some JavaScript that targets that HTML. Then I'd realize it wouldn't work. Man, I'd wonder why. Didn't get a lot of help at that part. Then I'd realize that the DOM query that I wrote was wrong. That was a common mistake that I'd make in this era. And it still wouldn't work. I'd fix it, still wouldn't work. I'd realize that the script order was wrong. So I'd reorder them a script tag because this needs to load before this, which loads before this. So I'd fix that and it still wouldn't work. Then I'd read the docs some more and realize, oh, okay, I'm running the wrong version of jQuery. I found that buried down in here. I need to run at least this version. So I'd go ahead and update that. And I would repeat all of these steps to go update jQuery. There was no easy way for me to upgrade my dependencies. Once this finally worked, I would typically drink heavily. And that was my 14-step process for working with JavaScript in 2008. Now, if you wanna stay updated, imagine this. I just went through all that work to get this going. If I want to stay updated, what would I do in that case? I would repeat a lot of those steps again. Very, very painful. And what if I wanted to minify or bundle or test this code? Nope, not gonna happen. Not practical, in that era, hardly any of us were because it was just too hard. Contrast that with today. NPM install lib, import the library, NPM update. That's pretty cool. That is vastly, vastly simpler. That is worth celebrating. JavaScript doesn't have a base class library. And because of that, we're seeing NPM grow at an amazing rate. NPM effectively has filled in this gap. And NPM's growth has been unprecedented. Unprecedented, you look at these lines here. You wanna guess which one is NPM? Come on, y'all. You're supposed to be the one on the top. It's kind of baiting you there. Look at this. So this number down here, this green line down here, that is .NETs package manager, which is NuGet. They add 66 packages per day. How about Java's, 139 per day? NPM, almost 500 packages are added every single day to NPM. By the end of the day, another 500 things are out there. I mean, that is amazing. That's amazing unless you factor in Sturgeon's Law. It's always a caveat with growth. I don't wanna pick on anybody, but now I will say, I think Sturgeon was a bit of a pessimist because my take is even if Sturgeon's Law is true, this is also true.  So that's a win. Yes, I know I'm a child, but this is my justification. Now, I really think this is a glass half full mentality when you have that sort of view. It's a bit of a first world problem kind of complaint. Oh no, I can't keep up with all this awesome free stuff that people keep building for me. I mean, life as a JavaScript developer, when we talk about JavaScript fatigue, we sound a little, it's hard to have a lot of sympathy for us.  Oh, another recruiter wanting me to interview. It's hard being a developer. Your family will, do not say this at a family reunion. You'll think you're crazy. So we're in a great place as JavaScript developers and my point is this, that NPM allows us to write our code once and then reuse it. That's a very simple idea. So a question for the audience. We're gonna go through this cadence through this talk. Question for you. How many of you are using NPM packages today? So that is probably 70% of the room. Very good, but I have a more interesting question. I was expecting the majority of you to say that you do. How about this? How many of you will say my team has published in NPM packages? My team or my company? That's about 10, 15% of the room, although a noisy one. Woo, yes. We're excited about this. So look at this. Everybody put your hands back up if you have published an NPM package. Then Zach, your party in back, that's cool. So look around the room guys. The future is here. It's just not evenly distributed. I believe that if I came back here in a couple years we would see the vast majority of hands up. So ask yourself, do I wanna join the revolution? Because it is here. Now what I wanna share is a demo that shows how my team works with NPM packages. My team maintains an NPM package called Fusion. Fusion's a framework that we use for doing react development at Cox Automotive. It adds many opinions in on exactly how we want to do react development. So if I click over here I can go to our GitHub repository and you can see that this NPM package of course has a package.json and what makes this package interesting is all the dependencies that it holds inside. Our applications have a single dependency which is Fusion but behind the scenes starting here at line 27 and scrolling down these are all the dependencies that we're actually using to put our applications to work. So developers don't have to make decisions on Webpack or Babel or what react dependencies they should be pulling in. They just leverage all of these packages which are built in to Fusion. We also include some build scripts that start the application, that configure our tests and that perform the production build. We've also added some interesting extensions. Now behind the scenes we're actually using create react app but we've added a number of opinions on top to get this done. But through the power of this single NPM package when we deploy applications this is the dependency that our applications take on and in that way when we change directions when we need to do bug fixes or enhancements to our build process or deployments upgrade dependencies people have a single NPM package that they can update as necessary. So that is the key point at the end. We have at this point published at least a half dozen applications using a single NPM package that we call Fusion. So those applications you go into the package.json you know what you find there? One dependency because we've decided as a company that will bundle up all of our dependencies. Behind the scenes about 75 NPM packages a number of build scripts all of that is contained through the power of NPM. So I'd encourage you to consider that pattern. So that was the first revolution which is the package revolution. This is the very foundation of the reusable JavaScript revolution that I'm talking about today. So you need to have accepted that before you move on to phase two.  So if you were coding back in the day jQuery versus Moo Tools versus prototype JS which I did there was a funny site called vanilla JS and you would go out to vanilla JS and build your own custom download you could select things like Ajax event system functions as first class objects ooh regular expressions I want those and an array library that sounds handy and then I could build a custom download of all these features in this vanilla JS library and when I opened it in my editor what I would see is an empty file. You get the punch line vanilla JS is using the platform and if you went through the vanilla JS website what they would do is contrast the performance of plain vanilla JS versus using jQuery or Moo Tools and they would point out vanilla JS was not surprisingly faster because it removed a layer of abstraction and this was funny at the time and caught some level of attention however I believe that vanilla JS is malpractice and I believe that because today as developers if we're not leveraging each other's work we are wasting time we are reinventing the wheel we should be standing on the shoulders of giants and so many of us in here have done good work see today here's the story so many of us are expecting to publish an application to the web with a single minified bundle maybe tree shaken maybe that bundle is split in ways so that it loads from page to page that's not trivial you want things like explicit dependencies you want it to be modular, minified, transpiled linted, tested you want an automated build and you want automated updates I believe that File New Project is malpractice and in my organization we do not do File New Project when we start from scratch we are starting from a foundation with literally over 75 different opinions baked into it it is a huge number of opinions that we have think about some of the decisions that you make if you're going to File New Project right now as a JavaScript developer you as a team need to decide what editor are we going to use and how will we standardize that configuration of tabs versus spaces line endings and the such what NPM package or I should say what package manager are we going to use because NPM isn't the only one but it's a pretty logical choice what development web server will we use what automation approach what transpiler what bundler what linter how about automated testing we need to choose a framework an assertion library, helper libraries where to run our tests when to run them and where to place these files we need to choose a CI server if we're making HTTP calls Ajax that sort of thing we need to choose an HTTP call approach in fact if I lay all this out on a slide it's very difficult to fit it all and here's what's interesting you're going to watch all these decisions fly by you here but ask yourself this if you did a File New Project would you remember to ask yourself these questions would you remember all of these concerns because as a group in here we know that testing is important we know that minification and bundling and transpiling are all important as JavaScript developers but it's really easy for a lot of these decisions to hit the floor it's easy to accidentally end up in production in a bad state if you don't automate it away so again I say vanilla JavaScript today is malpractice File New Project is malpractice start from something more opinionated and so what I'm driven by is a level of dissatisfaction with the current state of affairs in JavaScript I can't get no satisfaction so here's what I'm dissatisfied with rework I don't want to start from scratch when I'm starting a new project I don't want a tedious setup just so I can get to a hello world wiring up transpiling and bundling and minification all of these things is really tricky and I end up repeating mistakes how about this you read a blog post and this blog post goes oh man this is something I have to remember to do on my next project but how do you remember to do that later the way that you do that is to codify your opinions the solution that I am suggesting here is to codify your opinions now one way that you can codify your opinions is through a checklist if you've ever read the book Checklist Manifesto I highly recommend this to developers it's not a technical book but what it drives home is the benefits of writing down what you need to do see the checklist manifesto tells an interesting story about doctors we as developers we don't like checklist because we feel like I'm a professional I don't need a checklist I know what to do off the top of my head but doctors have been found to need a checklist there was a study that found this you go in you have the nurses ask the doctors the steps that they need to perform before they cut a hole in your body and run a tube into it they're going to run a line into you they have to make sure that they sit down they wash their hands properly that they make the incision properly that they cover their hands and gloves it's not very many steps but as a doctor in the heat of the moment it's really easy to forget a step and what they found was a percentage of the time that happened and what happens in that case is people die people die when you miss a step now thankfully lives generally aren't in our hands but increasingly that is happening in software too they saw dramatic results by creating checklists what they saw was the 10 day line infection rate fell from 11% to zero because how could you miss it if you do the proper steps people don't get infections because you have protected yourself from it the checklist prevented 43 infections 8 deaths and $2 million in costs so in summary doctors know what to do but it's easy to overlook a step and in the same way we as developers also know what to do but I showed you that slide deck there were probably everything on that slide deck you thought yeah I'm generally familiar with that but do you ask yourself those 40 questions every time you start a new JavaScript project have you asked yourself that about your existing project today probably not so on my team we have honored this checklist idea we've created a file called pull request template.md here's a little pro tip if you use github create a file with this name and every time somebody creates a pull request it will generate this within the pull request so that way all of our pull requests have our code review checklist right there inside of it automatically that's us embracing the checklist manifesto so that we make sure we don't skip a step however, you're a developer so an even better idea than this is to automate it strive to automate and I think this is a really important principle that the more things that you can take for granted the better off you are society advances as we can take things for granted the fact that we came here today and we can take for granted that these lights would be on that my computer would be charged up that I could get in a car and drive here that's really important in the same way as developers we need to increase the list of things that we can take for granted see on my team there's a long list of things that we just don't think about anymore my team knows that they can use the latest version of JavaScript they know that it will just magically get transpiled they don't have to think about it in any way they know that every time that they hit save the test will run automatically and when we push code it will end up running on the CI server and we'll know if any tests have failed we know in our code reviews that our code reviews go really fast now because most of the things that we look for are caught by linters instead of manually on a case-by-case basis we know that when we get to production we'll be able to use source maps to debug our code even though we're transpiling we'll be able to see our original code in production we can start our application with one command when somebody joins my team you clone the repository you say npm start and magic happens and you're seeing your code there's no special work there we know that we can run a build that's minified, bundled, ready for production by just saying npm run build and we know that to get to production you say npm run deploy all of this is taken for granted and when you can take all of this stuff for granted it's awesome because then you can focus on the hard problems and programming see this basics this plumbing that we're talking about here should not be burning your cycles it should be a solved problem for your team and I assert this that the more that we can take for granted the faster we will move and the higher the quality will be on our projects so I think of a starter kit as a living, automated and interactive checklist it increases the number of things that you can take for granted now, a lot of you may feel like well, I kind of have a starter kit I went out and I used Create React app from Facebook or I used the Angular CLI or I used Ember CLI, whatever it may be well, I believe that that's not enough my recommendation to you go find a project like that fork it, make it your own and then add your opinions in because I guarantee you your team has a number of other opinions on top of those tools and that's precisely what my team has done we use Create React app behind the scenes but we have added many, many more opinions on top of it now, this is a really big conversation I published a five-hour course on Pluralsight called Building a JavaScript Development Environment where I talk through all of those 40 decisions and how you reason about those but my recommendation to you is really simple when you get back to your office on Monday I would suggest this to you just schedule a meeting schedule a meeting with your team and say I want to have an adult conversation about the issues let's just sit together and talk this through and we'll come to an agreement on how we do JavaScript here at our company and I think it'll go well now often these conversations can get heated because TypeScript versus Babel is a big, big deal people feel very, very strongly we've been through this as well but I don't believe this I believe if you're having those kinds of tabs versus spaces conversations on every JavaScript project you're spending a lot of time in the wrong place as a team come together and agree and then you can move forward so I want to share another demo I want to show you our starter kit that we use at Cox Automotive this is my team starter kit which we call Fusion the way that it works is you clone the repository just like you would any other GitHub repo I already have it cloned over here after you have cloned it you run npm run setup and setup helps you first install all the packages automatically and after those packages are installed then it will prompt you for the settings it will ask you if you want to delete the Git repository I'm just going to leave it as is here and then it will prompt you for your project name as you can see it enforces a logical name for a package.json it'll ask you for whatever version you'd like to assign for the author of the project it will ask you for your production URL I'll just put myurl.com ask you for your license the project description just a demo and now that we're done our setup is complete if I come over to package.json then I can see that it added this information into the repository and we have a few scripts in here to get started the other thing that's interesting is that our starter kit has a single npm package dependency so we can make changes over time and all any deployed applications need to do is pull a new version of Fusion and they get all those bug fixes or new enhancements in the future now when you run our starter kit what you will see what you see is it starts up a demo application that says welcome to Fusion gives you links to important information like our list of reusable components, our style guide and some basic steps that you can run once you're done looking at this demo you can run this script to remove the demo but we also show people how to work with the Redux app so you can go behind the scenes and see how this simple demo application works that just calculates miles per gallon we show how our form validation story works in an interactive way and again you can see that many of our opinions on forms are all encapsulated within our reusable components we show how our mock API works so you can actually come into here and save your changes and when you save those changes you'll see that they're reflected even when you reload the page we show out a dynamically import libraries and we also show how to lazy load heavy react components you can see that this loaded after the fact now once I'm done and comfortable with this demo I can go ahead and remove it and get started coding to do that I come over here and say NPM run remove demo and when I do we can see that there's a lot fewer files over here now and if I rerun the application now it's simply a hello world so we have a simple starting point that is ready to run the app that's how we do development on my team the nice thing is everybody knows that they start with fusion starters what we've called it one thing I will recommend is choose a brand name for whatever you do I was recently out in San Jose consulting a team that went for the same model and they chose their own special name they called there's pre-amp because they have a model where they're tied to videos and they like that idea of a pre-amp it went well with their branding had their own logo and everything unfortunately what I just showed you isn't open source so you can't go out there and dig through it for more but a very very similar project that I published about a year and a half ago was react slingshot so if you want to dig through the code and see how all this works check out react slingshot just yesterday it hit seven thousand stars so I was pretty excited about that it's gotten a lot of usage so I'm excited about this this is an opinionated way to work with react that said I'm a big fan of create react app too it's it's an awesome solution so question how many of you will say that my team or company has its own JavaScript starter kit wow so that is four percent not five four I'm that exact with my counting so that is a very very small number so again look around the room the future is here it's just not evenly distributed I believe that this is the future because starting with file new project is just too much work and your team has a large set of opinions there over forty decisions that you need to make when you file new project on JavaScript today and a starter kit operates as an automated checklist for your team so that you can codify your opinions and automate all the fatigue that people talk about away my team is not fatigued anymore we know when we start a project that's what it looks like and it just works we don't have conversations about the basics anymore all right so we have talked about two of the three reusable solutions packages and starter kits and going to close out this talk with the final revolution which is reusable components all of these build upon one another now for those that aren't familiar with reusable components it's a reusable piece of html javascript and css and we know that these are the big reasons that we want consistency less code faster development fewer bugs the component model gives us these obvious benefits at face book they are heavily invested in the component model using react and they find that components help hundreds of engineers work on the same code base move between teams quickly ramp up and focus on products now this has happened all over the world i'm an i'm a car guy i work for an automotive software company in fact back in kansas city and you look at this mercedes is a beautiful car and you think okay these are a bunch of special parts inside but in actuality there's all sorts of reusable pieces reusable components inside here the seat belt the button on the seat belt the airbag systems the transmissions the but the engines themselves in many cases are used across vehicles really large complicated components and this cuts their costs speeds development increases economies of scale as developers we have all this same power now we should be working with higher and higher level abstractions with better components as time goes on that's precisely what's happening on my team now we've created our basic components now we're starting to build on top of those basic building blocks i will tell you this i believe that the future of development is going to be assembling finished components taking those components putting them together in novel ways will be thinking of ourselves more like working with lego pieces rather than having to build the legos ourselves leverage higher pieces higher levels of abstraction now i wish i could claim this slide but i love how this slide encapsulates the mindset shift that you need to make today is a javascript developer for the longest time we've talked about separation of concerns as a separation of javascript html and css i don't believe that's a valid way to think about separation of concerns anymore because separation of concerns today is a matter of components so i want to separate my concern of this button from my concern of a date picker from my concern of this modal dialogue the component is the concern we're separating it's a powerful idea because you recognize that html and javascript were never separated concerns we thought they were back in the jQuery days i would write unobtrusive javascript here's my html here's my javascript the problem was if i ever changed my html i broke my application if i didn't also update my javascript because my javascript was hard coded expecting a certain dom to be there this is the important future for javascript developers is thinking about concerns in terms of reusable components and those components may be composed of multiple technologies but separating technologies doesn't necessarily separate concerns html and javascript are fundamentally intertwined there's an interesting question someone might ask you though if i asked you hey can you share this html with me that's a surprisingly hard question to answer i don't know quite how i'd respond to it i love i will tell you this is the hardest thing about writing talks is getting distracted by stock photography and all the silliness that you see you guys couldn't turn the monitor on before he pointed at it but this is a hard question can you share this html with me and the really the answer is we don't share raw html what we share instead is javascript that embeds html so if i want to share this div with you the way that i'm going to get it done is with javascript and this has been the case throughout history over the years we've seen a lot of ways to get this done this brings us to the third and final revolution which actually occurred earlier but i'm introducing it last for specific reason that i'll explain in a moment now what happened on this date in two thousand six no guesses web components nope that was later gmail web app that's an interesting guess no although that's that's close that was that was in the ballpark jQuery there we go yes jQuery was launched in two thousand six this is a very big deal this this is what kept me from rage quitting web development i was just about done with it because cross browser was so painful and jQuery wasn't really about components jQuery was about paving over inconsistencies in the DOM and giving you a really elegant API very shortly after jQuery came about we saw this jQuery plugins and jQuery plugins were really the first popular way to build reusable components for the web however today you're likely not going to reach for jQuery plugins to get this done today we're all asking ourselves how should i build components now i obviously have an opinion on this matter in fact i'm going to go ahead and share it but i want caveat why i believe the strong opinions are useful for others those who are undecided or ambivalent can just adopt your stance but those who disagree can solidify their stance by arguing against yours so i would totally encourage you tonight we're gonna have an after party i'd love for you to come up and say how i'm a dummy head and you feel like this other thing is better that's absolutely fine i'll share my opinion on the story right now because there is no really clear answer web components the web components standard is a compelling option to consider here now i'm a big fan of standardization if you're not familiar with web components this idea of four core technologies inert templates put some markup in there and it just works custom elements where you can define your own html elements shadow DOM which encapsulates your styles so they don't leak out and imports being able to bundle html javascript and css now i'm a big fan of standards and i even created a course on html five web components on plural site because i was really amped about the standard now the sad news is i can't stand up here and push you might think that that's what i'm going to tell you right now is go ahead go use web components but the story really isn't that simple there's a few reasons that i'm not reaching for web components and many of you how many of you are using native web components one hand one hand out of i don't know how many that's that's definitely a less than one percent here's why spotty browser support so you have to pull in polyfills in those polyfills way a substantial amount uh... yesterday i just learned uh... i believe it was twenty seven k minified for the polyfills that you need for i-e eleven for instance uh... to be able to run the standard and that's because of browser support see the template tag is pretty well supported cross browser except for i-e you'll need a polyfill there but the other three core technologies not so html imports lot of red custom elements shadow dawn and we've been waiting i've literally been waiting for years for browsers to implement these standards and we're still waiting so the question is when there are two other issues here this at the time i was really excited about web components because it enabled some new things the idea of the shadow dawn was really novel that i could write simple css selectors and not worry about leaking onto other components today javascript libraries they keep on innovating so in fact i compare to react for instance react has answers to all these things jsx for templates react components are effectively your custom element you can use css modules or css in js to keep your styles tied to that one component and we're all using bundlers and npm anyway so we don't really need html import specification so my take on it is this don't wait around for the web standard to catch on instead just embrace modern javascript the real question is which framework so these are the four most popular although there are many more options out there that i'm not going to try to fit on a slide here's what i think you should be asking yourself though four things how stable is it how broadly is it adopted how much boilerplate am i putting in here that's specific to this library that's gonna make it hard to shift to something else later and how much does it weigh so i'm a big fan of react i'll be completely honest about that let's see how it scores here when react you do code mods when there's a code change a major release i just run a code mod that automates it for me and that's because face book has to do that they are dog-fooding in a way that no one else can compare to face book dot com one of the biggest sites in the world uses thirty thousand react components so face book can afford to make a big breaking change that requires manual changes that have to update thirty thousand components fundamentally react is a function that returns html is very low boilerplate and finally it's quite lightweight forty three k now i may change my mind tomorrow and if you go see me talking at conferences and videos from previous years you'll find i've had different stickers on my laptop from year to year this is how my trajectory has been through history i was using angular not that long ago but now i'm enjoying react at the moment next year i may be somewhere else so you do have to ask yourself this what if i choose x and everybody moves to why whether regardless of where you are chances are there's going to be some other new hotness coming soon my take on it is this if you choose a low boilerplate a low boilerplate library then you can get started safely today migration really is practical see for instance here's react there's really very little boilerplate i've got an import at the top i have a function with a name that takes parameters and it returns html if you told my team hey cori your team needs to go rewrite everything in view we totally do that that's not a big deal it's mostly a syntactic change i don't burn the world to the ground because really this is what's hard component design is hard coding isn't that big of a deal i'm convinced that my team it would be relatively straightforward for us to move to a new technology later when react is no longer the new hotness whatever that may be and it may very well be us moving to standardized web components once all of the browsers have really embraced the standard but i don't believe that you should sit around and wait because centralized and consistent is most certainly preferable to decentralized and inconsistent now that's not always true but in the aggregate repeating yourself through copy and paste is not a design pattern that scales very well now choosing a framework is just one of many decisions that you have to consider here i showed you something like this when you were thinking about building a starter kit there is a similarly ridiculously long list here and i'm just going to jump ahead so you don't have to watch it all go fifty decisions fifty decisions that you need to consider when you're going to create a reusable component library so that is huge again i went through the same thing i just published a course if you happen to be interested in react called creating reusable react components this is a six-hour course i thought that i could get it done in two but it is a complicated conversation because there are this many decisions to consider fifty different ones so i want to show you quickly how we do reusable components at cox automotive this is our documentation for fusion ui components along the left-hand side we have the alphabetized list of components i'm looking at the text input component right now which is an abstraction over a label a text input an error message and add some opinions around that uh... down here we have a list of examples for each of these examples you can click on the examples header and see a snippet of code that you could copy and paste into an application down at the bottom we also have a list of props which you can change to oh i apologize i i hit the uh... trackpad so i will narrate this anyway just to save us some time the thing i want to emphasize is one of the harder parts is setting up your documentation setting it up in a way that is uh... leveraging all your code and what we have is all the documentation that i'm showing you here is generated from the code we have these comments to the comments over there on the left is kind of a js doc style comment that's what generates our documentation so every time we hit save in the code we see our documentation change in that way we don't have to worry about the two getting out of sync i show how to get this done in uh... the plural set course on react components really the patterns that i follow would apply just as well as an angular developer view developer don't build your docs by hand automate that process final question how many of you have your own reusable component library more hands than i expected this is great that's probably fifteen percent of the room that's pretty cool excellent how many of you are working in angular for that reusable component library okay how many in react okay how many in view wow a lot so view and react are neck and neck here that's very different thing can well i'll find out kansas city next month kcdc we'll see how much that is shifted i know views getting a lot of attention okay so very very interesting so we just saw that again everybody with their hands raised that's an interesting take as we've gone through this progression fewer and fewer people are through these three revolutions because one revolution builds on another so let's go ahead and wrap up i want to clarify why i laid all of this talk out in order that i did when you're gonna build a house with components you're gonna go out and get a chimney component a door a window these sorts of things you know you wanna you don't want to start from scratch and build your own window your own door and this should be the story now today with your uh... development story on your team but to be able to do this you need a foundation a house can't float in the air the foundation that i'm suggesting for you is a starter kit that starter kit encapsulates all the dependencies that your team needs and of course that starter kit gets hosted on npm that's precisely why i laid out the reusable revolution in the order that i did so if you're one of those people that likes to take pictures of slides at conferences here's your big chance just make sure your camera's not pointed at your face first was the npm packages so the reusable revolution of packages my call to you is create your first package we just saw about uh... thirty percent of the room has not created an npm package before so that's a big first step in fact no i take that back it was more like sixty percent of the room but not starter kits my call to you is codify your decision set up a meeting on monday to say let's come to an agreement as a team here's how we do lending here's how we do bundling here's how we do transpiling et cetera automate the pain away and finally with comes to reusable components go pick a library and start sharing set up a centralized site and start documenting your work so if you're gonna take a picture here's your big chance right here so hopefully i've shared a vision that gets you as excited as i am i come into work each day and i'm just awesome i'm ready to go i am amped to be a javascript developer i really life is pretty good for us right now there's this reusable revolution is taking off i am house core on twitter uh... i'd love a tweet of feedback thank you all for listening


So again, thank you all so much for coming to this, and for enjoying, I hope, DEF CON. Excellent. Yeah. It says one guy. Okay, so the name of this talk is Archive Team, a distributed preservation of service attack, a hilarious title meant to bring you in, and it worked, apparently. My name is Jason Scott. I am the mascot of Archive Team, which is a rogue band of archivists, preservationists and jerks dedicated to saving online and, in some cases, offline history. And this project has been going on for a little while, and I thought, well, maybe it's time to kind of make people understand what we're up to here. So, before I get started, though, I want to dedicate this talk to Tim Wrecker, a very old friend of mine who unfortunately passed on this year, and it had been one of his dreams to bring his family back to DEF CON, so they are here in the house tonight to enjoy DEF CON. And I must say, you know, as time goes on, I'm currently 40 years old, you know, you have experiences of losing friends you didn't know you were going to keep around for such a short time, so it's always worthwhile, even though I'm in a talk, to skip a talk, if there's a friend you haven't seen in a while, and spend maybe an extra four or five minutes with them to remember some things with them. It's just a benefit to that aspect of it. So, since we're all about saving websites, let me, in fact, talk about soy sauce. So, soy sauce... Soy sauce, as some of you might know, is basically fermented soybeans. It's a process in which these things are brewed, and similarly just like beers or other kinds of fermented dishes. There's an experience to it. There's an idea behind it. It's a long process to learn. We've been doing it for hundreds of years, but different groups have different approaches, and it's extremely important that the essence of them are maintained. In fact, this is part of the marketing of a lot of beers and crafts and everything else that, you know, it's important that all the components stay absolutely the same. This is the Amasawa Soy Company, a company that's been around for 208 years. This is since the Edo period. They've had eight presidents, and they've been basically producing soy sauce in their local town for all this time. And they are beloved enough that, like, for instance, here's a tourist who's just gone and taken a beautiful drawing of this soy sauce factory to kind of show you, you know, they've been around forever and they do this kind of work. So, they were hit by the tsunami. This is that same factory, and that's the creator, the current ninth president of this soy sauce company. He was given it to it by his father after the flood because his father felt he was too old to figure out what to do next because what are you going to do about a company in which everything is absolutely obliterated. Obliterated to the point, for instance, that this is the company safe from which he was able to extract their incorporation papers from two centuries ago so that he could prove that the company was still around and still existed. And again, I'm crediting Robert Killholy, this was the man who walked around with it. Now, bear in mind, when they got hit with the tsunami, one of the first things that they discovered or one of the first things that happened was that their head of sales ran to one of the dams to save the dam and was killed by the ensuing rush of water. This man as well, this is the ninth president, was absolutely convinced his family had died and that he had lost his children just a few blocks from this place. As it turned out, his children had actually been led up a hill by some teachers and elderly residents who were nearby, most of which then proceeded to die. So this is a family business that is just ensconced in tragedy right now. And so this is him kind of standing on the hill that he was able to run up to with all the employees who didn't die overlooking their factory, losing this thing. What I want to explain though is that a person might say, well, who cares? It's a company. What does a company matter in human lives? Well, this is a company that was so entwined in the identity of this town that even with a 70% death rate, people were coming to this soy sauce company and giving them money to say, when you make soy sauce again, I'll wait for my soy sauce delivery because I want to be able to keep this important thing around. Now, in the process of making soy sauce, there's this whole process here, and one of the most important ones is the adding of the mormai, the fermentation, where they add the specific yeast, the specific fermenting agent that will be able to make more of the soy sauce, and it's got a specific flavor and it's cooked in a certain way. So one of the things that the president discovered was that, and again, he's 37, right? I mean, he's been saddled with this idea, rebuild a company. So he looks for the barrels. There's about 30 barrels that they keep this agent in, and he comes and he finds most of them completely crushed, gone, missing. He finds one or two that are intact, but to his horror, he tells people, okay, we're good, we're good, we got the mormai, but it turns out that too much seawater has gotten in and it's killed it, so there's none. So what ends up happening is when everything looks bleak, they recall an experiment that had happened four months earlier, and what it was was there was a local marine biology laboratory that was doing experimentation and asked for some of the mormai. So what they had done was asked for a small segment of barrels worth or whatever of mormai to test with. They had given it to them. That lab had also been hit with the tsunami and had its first floor destroyed, but among the first floor was a one kilogram bag of the mormai still in the plastic wrapping that they'd never gotten around to, and from that small bit, this company is rebuilding itself into this very beloved brand once again. This is the two new sales girls who were hired by this company. That's their new digs while they're working it out, and this is a piece of their old factory and the girl saying, you know, thank you, thank you for your patience. We will have your soy sauce soon. So why am I saying all this? Well, what I'm trying to say is that, first of all, backups are important. Multiple backups apparently even better. But even beyond that, this object, this yeast was an emotional, meaningful human item that had relevance to a culture and a world that was, you know, basically something that people considered part of their identity. Really, if you think about it. And even though it's just an object, it's got meaning that way. So what I'm saying here is that objects that maintain memory, objects that are part of us, have relevance to us even after their initial use may be initially gone. In other words, you look at these items and you say, I remember I was with this person or this proves that we were part of this or, you know, this is the proof that I invented this first. Or more accurately, this is a friend who I've lost. This is somebody who I can't speak to anymore, but I have their work. And I think that that's something that can sometimes be lost when I start to tell you about some websites. Because one of the things people will say is, well, who gives a crap? These are really old websites. And I say these websites are collections of memories that have been gathered up through people online. That is the driving heart and force of what I'm talking about here. And there's a wide variety of old media, I might mention, and old websites and things that are currently sustaining our memories magnetically, in forms that are kind of strange, and each year becomes harder and harder to extract them. But beyond that, they contain things that their exterior may not really reveal. So for instance, you might have writings that you might not remember doing, letters a family might not have done, basically stored on very, very old media.  For instance, this is eBay, the home game. This speaks to a lot of things. Because it indicates that people thought eBay, well, first of all, you have this belief that someone thinks eBay is something you'd want to do at home with your family, with no money down. But it also indicates that eBay had some sort of cultural meaning to us in 2000 when this came out, that it was strong enough of a feeling to feel, this is an experience that you should share elsewhere.  Very critical, right? And again, I'm keeping a lot of things myself that are part of that. This, for instance, there's some very old issues of 2600. I have three complete runs of 2600 magazine. Actually, I got a lot of stuff. If you don't know me, that's fine, that's awesome. I don't have anything. I live a free life. How about that? But if you actually know me, then you know about the shipping container and you know about the various pieces of old media that I'm sent. I'm sent lots of floppy disks, old tapes, tapes drives. Basically, all sorts of collections of items that are things that I transfer out. So I've been able to get my hands on some very old things and I constantly make myself available for this because I believe that all of these old memories have meaning and it's pretty easy with something like 2600. Very prominent, lots of copies, very easy. I'm to tell you that there's a hacker calendar now for sale from 2600 in case you want to support them. But the 2600 magazine is just one of just many. But we also have these electronic artifacts, right? So for some of you, this has... Can I just get a clap if this has any emotional meaning to you whatsoever? And I do do error correction for the person going... It's cool. I'll just quickly go over what we're looking at here. These are two different items. The first one is a Netscape Now button. This is a period of time when browsers were just starting out and you had a number of browsers. There were about 20 or 30, but there were a few that were trying to kind of build themselves up. And one of the original investors in SGI went out and scooped up all the creators of the Mosaic browser and started a new company and named it Netscape. And as part of that, wanted to let you know that if you wanted to see a really good site and you wanted to watch it properly, you should get Netscape right now. So there was a button that they produced that was animated that said, go to get Netscape right now. So you can see my website the way it was meant to be seen. And so that's the Netscape Now button. Underneath it is the under-construction GIF. I am not going to get into the GIF-GIF argument right now. So the under-construction GIF is basically a indicator that you're not finished with your website. Now, obviously, we in the future, with our incredible abilities, no, websites are actually never finished. So it's redundant. We factored that thing out on both sides of the equation. We're like, you know what? Always building. Because if you're not always building, it's now currently a period of shame, right? Lack of dynamism is a shameful trait of your website, an indication of your failure and lack of interest. So you would not want to say, oh, I'm under-construction. Of course you're under-construction. So yeah, there's a very emotional reaction to that. But I find there's even a bigger one to this, which is this is a collection that I have of all of the Netscape Now buttons. As you can see, there's a whole variety of stories being told here because some of them indicate what the... Some of them are obviously made by hand. Some of them go for different versions. Some of them re-jigger themselves. These are all actually MD5 different. What I am discovering, for instance, here's a little story you might not know, is for instance some of them you look at it and you say like, well, why is this different from the one next to it? And it's because they removed the extra frames to save some space. They took out a K or two and that way they got a little more space for their website. So the thing looks a little crappier, but they got it, they got a little more space. They can write a little park. We don't think about things that way. Also somebody right over there seems to be really against Netscape Now, so screw you. Similarly on the under-construction thing, also a lot of emotional reaction. I got 10,000 of these things. And as you can see, I mean, there's all variety of things put under construction. And I think what I'm trying to say is, and again, if you go to textfiles.com slash under-construction, it says this page is under-construction and then puts all of them underneath, which will crash some browsers. And then it says if there's a problem, mail me. That goes to one with mail me gifs that does crash all browsers.  It works out, actually. So anyway, so what you have here is, again, like I said, a wide variety of interesting cultural artifacts. And I have found that people who go to this just automatically get a massive amount of reaction from it, right? Well, what we're experiencing right now is a bunch of websites that were started earlier, and earlier now could be anything from the mid-1990s up through to even maybe a year ago or further, where they reach a point where somebody decides they're not going to stay up anymore. And it's usually done with like a post-it note on the outside of a restaurant that's been shut down for health code violations. It is just simply something saying, by the way, we're gone. Now, normally I would not care, right? I mean, if you've created, you know, hatsforcats.com and suddenly nobody wants to buy your cat hats and you say sorry, thank you for, you know, thank you for four months of wonderful business and away you go, that's fine. But what we have right now from the mid-1990s on to now is this whole period where we're taking user-generated content and a large amount of marketing is being made to make it as easy and quick and frictionless to put as much of yourself online as quickly as possible into something with a huge lack of any interest in telling you what that something is. It's just there. You get an IT department and you don't even know how to reach it. And so what ends up happening is you get this, right? AOL Hometown, which was a whole bunch of really interesting websites from the early 1990s and in 2008 they said, you know what? We're out of here. And that was it. Hometown was gone. Same thing up there with Kickstarter. You don't know what Kickstarter is. You've got the button, the indication there that it's like, huh, see this light bulb going out. And then you get these kind of surreal shutdowns, right? Like free pro-hosting, which offers you more. And then the next thing it says is we're going to be discontinuing our free hosting service at the end of the year. And look at that smiling girl. Guess what? We're closed. We're out of business. So hey, welcome to free pro-hosting where nothing is now free. That is a tough, tough sale. What are you called? Free cars. What do you sell? Cars. Free? No. No, Bob Free. Pleased to meet you. Yeah. So we founded Archive Team. Okay? ArchiveTeam.org.  We are the A team. We are the team that will come in and we will rescue things that need to be rescued. Help the helpless. Go after the site. Sight the sightless. We're going to go after places that look like they're being shut down. And we download them and then we figure out what to do next. We know, you know, so much in history. If you go ahead and look at a lot of things, how we have it with housing and things, that basically when you evict somebody from a home, right? It is a huge ass, painful process that sucks, right? Yes, right there. You're looking outside. You can see in the window. You're the landlord. You can see them.  You're like, I'm going to get rid of them. It's going to take six weeks. I'm going to get rid of them and you have to apply.  You have to show things and you have to do all these things. Well, with web hosting, we don't have to do any of that. And some people think that's beautiful.  And I'm saying that it's 2011. And this is DEF CON.  We don't do this anymore. Well, the idea of completely uncontrolled, non-transparent hosting of user content really needs to come to an end. But until then, we're duping stuff because the conversation otherwise ends. If you go to AOL Hometown now and go, I need my old stuff, they go, that's a shame that you still need it. Are you sure you need it? Would you like to buy a new account with more space? Because right now, it's okay. So Archive Team set out on its mission. And we've started to download things. We've been having a great old time. And then GeoCities went down. All right. So we were like, people came to us and they were like, hey, Archive Team. GeoCities? You're going to download? How many people here know GeoCities? All right. I don't want to make noise and call attention to themselves. The thing about GeoCities, and I think GeoCities falls into this right now, right? GeoCities is the moral mind. GeoCities is this place that started in 1994 at Beverly Hills Internet. Got turned into this very strange little hosting company. Gets bought by AOL by Yahoo for an enormous amount of cash. I mean, an astounding amount of cash. Billions of dollars to become hosting. Now at the time that it's purchased by Yahoo, it is the second or third, depending on the month, browsed site on the internet. This is the most popular of popular sites. It is huge. And one day, one day, they announced they were shutting it down. Oh, but I don't mean they really announced they were shutting it down. I meant that buried in one of the help files, which somebody brought to our attention, it said, I'm having trouble getting this done. And the answer was, yes, because of the shutdown, that functionality is currently not here. That was it.  And what they did was they were shutting down some time in the summer. And then all of this site was going to go down. The bear in mind, when GeoCities finally went down, it was the 218th most browsed site on the net. It had only gone down a little bit. Yahoo made no attempt to get rid of it. You know, they didn't try to sell it off, do anything like that. They just simply said, okay, let's turn this off. Hooray for us. Now granted, you go look at one of the sites that was on there. And you'll be like, well, of course, of course. I mean, look at this thing. This is the Rogue Cowboy. Hey, y'all, military couple. Been here for a while.  Also, I want to point out that there's a little gold item there and it says HTML Writers Guild. Another thing that's kind of gone by the wayside is HTML Guilds. Now it's just stock options. And the thing is you look at a site like that and you're like, well, these guys are awful. And I want to point out something I've really come to understand, which is how do we do this? How do we get rid of all something? In fact, how do we destroy cultures? How do we destroy lives? How do we do this? And the answer is disenfranchise, demean, delete. Disenfranchise, remove their ability to have any control over something. Like I said, with Facebook, good luck calling them up to get something fixed. Good luck calling them up because something's not working like you expect. Go ahead and tell me that it doesn't cost any money and I get what I pay for, fine. But I'm telling you, that's what the case is. Second, demean. Tell people that this thing is useless. Look at this thing. It's ugly by our design standards. This thing fails our test. We, the board of Vogue, have decided that this thing is not to our liking. And then delete.  These are nothing, whatever. But we have to under-realize that for these people, this presentation, this website, may be the widest audience that this genetic line has ever reached. And you can't turn away from that kind of power even if that was never your hope. Printing a color photocopy was $1.50 a page at this time.  And it's interesting what people pull, for instance. Welcome to space. Now, it's interesting that the projector really gets rid of the beauty of the star field. I feel like it's not really there. But bear in mind, there's a beautiful star field there. It's not animated, but it's something that's there. And this person obviously likes space. And there were areas in GeoCities for you to store based on Hollywood space, gay, queer, Western, and so on. And you were able to, like, declare what your kind of interests were and go down there. So this particular person was in Area 51, the space thing. And there's a part in there called personal experiences, which I just love because you read it. And their personal experiences are like, was watching television built outside of myself for 12 minutes. Continued watching television. Yeah, okay, great. So I mean, this person wanted to kind of express this, and obviously this leads to interesting conspiracy theorists and the paranormal network and all of that. Let's go with this one. Welcome. Patrick Joel Miley. Born on April 16th, 1981, entered heaven, April 17th, 1983, page lovingly dedicated to Patrick Joel, child of God, loaned to us for a very short time. This is a celebration of his life and the love and joy he so enriched his lives with. And this is, I think, what's sometimes not noticed here. The child died in 1983. This website's created in 1996. Right? This is a woman who has enough pain at that time that when she sees geocities where other people say, I'm going to talk about watching TV, and I'm going to talk about my Bucking Bronco background and join the HTML Writers Guild, here's somebody who's saying, no, the world needs to know about my baby. I want to let everyone know how much I loved him. We're going to talk about pages after pages in the 10 megabyte space about how much her baby meant to her. Here's a case, and by the way, of course, there was a web ring. You know what a web ring was? What was it? It's an angel's web ring. So it's a bunch of parents who lost children who were under two to talk about losing, you know, they touched an angel for a short period of time. This is real stuff. This is as real to save as I think. So, big on it. It gets better the longer you look at it. So, Jason, a question that some of you have never heard of me before.  It's a general question. I get about everything. All right, here's the deal. He's an under-construction gif. And he got wrapped up in the troll. Basically, I went through a bunch of geocity stuff and found a bunch of under-construction gifs, and he was one of them.   So I go look it up and it's this guy in the Hollywood Hills section and he is gay and he has a page that he talks about his dream guy. It's from 1998 and he talks about what he wants in a man, what he will do with the man, where they'll go, the places he'll do, the dreams he'll live. And it's from basically, like I said, 1998 and at the bottom it says this is always under construction and there's this guy at the bottom. In 2005 it's updated and it says, no need to keep looking, I found him. And it's just a story that turns out even with the bulge to be pretty pretty heartwarming. All of this buried in a little tiny graphics interchange format which I believe just got out of copyright or I'm sorry, patent. Okay.  This to me is the embodiment of the problem. Why did GeoCities close which by the way should really be said in kind of a screen with like rending of documents because that's usually when you're using his gloves. We have decided to focus on helping our customers explore and build relationships online in other ways. It's like shooting somebody and saying I have plans for your car. All right. It's this sort of corporate douche baggery that ensures that I will never work within a corporate environment again. I don't know, that's my visceral reaction. What do you think? So that's what Archive Team said. So we said, you know what? Let's download it. So downloading was very interesting. Downloading GeoCities was somewhat complicated. It took us about a hundred people to download it over the course of about six months. We had no idea when the shutdown date was, right, so we just went at it. Now it turns out that GeoCities had a very interesting thing. You got a gigabyte of bandwidth a month, but only about 12 megabytes of it could come out every hour. And switch. Well, so when we would try to do it, it would go sorry, error 999 error, content limit has been reached, right? It didn't take long by putting our heads together, by having all of this assembled people on an IRC channel to have someone go, you think they're locking out Google? So we go look, and nope, they're not locking out Google. So we changed all of our user agents to not the Googlebot. At that point, we had a hundred virtual machines that downloaded basically all of the old... GeoCities has an old neighborhood and an old one, the old neighborhood system which was like basically it would be GeoCities slash West Hollywood slash, you know, Hills slash 2252, right? These are all pre-1999. When Yahoo got their nutsack on it, they just reapplied it across to the Yahoo section, right? So basically what they did was you could be geocities.com slash tilde toolbag and be whatever. So it was going to be harder to find them. But man, we send people after them and we did and we downloaded as much as we could, which turned out to be a little bit over a terabyte of GeoCities. So then what do you do? Well, first, bear in mind this is Geocities in 1999. There's a nine terabyte array of theirs. Just to give you an idea of just how pathetic it is now. When people are like, oh God, what are you going to do? We can keep all that. And it's like, I can make a stack of nine terabytes right now that are barely functional. We have to keep in mind that. This is the whole cage at Exodus dedicated to GeoCities. So we ended up with it and we were sitting on it and then Geocities went down and there was the usual like who cares and I put up those animated gifts and coming up with basically a collection of interesting GIFs. But then a year went by and I thought, you know what? We've got to get attention.   We torrented it. So we put ourselves up in the pirate bay. We have a 641 gig because it compressed well. Torrent with 7,850 files that were basically a bunch of 7 Z's and we put that sucker up and we torrented it. We were until recently, I think it's changed, but we were until recently the second largest torrent that ever appeared. The number one was high definition versions of all of the World Cup games. So nice counterpoint, huh? World Cup games, Geocities. Because we knew, right, that by warezing Geocities this would bring this massive amount of embarrassment back. It did. And I put up this thing saying, Yahoo found a way, I was quoted by Time for this, Yahoo found a way to destroy the most amount of history in the shortest amount of time. Alright, excellent. Then Yahoo Video was announced it was going down. We got that.  But it was 10 terabytes. We just downloaded all of the video, everything in all of it. Luckily they used numeric IDs. Very easy to go through. We ended up downloading it. We're in the process of getting it all back up again somewhere. And, yes, a lot of it is spam. Some of it is really terrible. It seems to be really popular with people in countries that are not America who were using it as a way to have stuff that needed bandwidth that they didn't have to pay for where the bandwidth was expensive. But we've got this thing. And we were able to basically do this through the gift of volunteers who all worked together very hard. It's been going on in the last four years just so you understand. Yahoo Briefcase, where you're able to store 10 megs whenever you wanted and get it from anywhere via FTP. They shut down. Why? No spare USB drive? Content mesh. Some of these you won't know. Yahoo Pets was funded by Purina for a five-year contract. And on the day that the contract ran out, they shut it down and redirected it to Yahoo Women. I don't know why, but they did. But it was a case of there was this secret contract.  One day it was there, one day it was gone. It had pet pictures, it had forums, it had everything. Gone. Totally gone. So in other words, I'm saying Yahoo blows.  I wouldn't trust them with like a backup of like my nut sack. Because these guys... This is a case where a company went speculatively into user-generated content. And when they decided it wasn't worth it anymore, they got out of it. Like getting into a library and deciding, oh, library business isn't working for us and burning it to the ground. And I got people going to me, damn, Yahoo was great to work at. Yeah, everywhere is great to work at. If you're working for an arsonist company, it's awesome. You get the... We were trying to change the world. Well, you sort of did. Awesome.  Friendster went down this year. Friendster, we only got 12 million of the 112 million accounts because it turns out that digital cameras really came in the prominence in 2005. But we basically got most of the larger, earlier sites from it. A lot of people...  They're like, yeah, I remember that. That was like a social network. I think I was on it. And we feel that like collecting this material and believe me, it was a JavaScript nightmare. We had the right customized scripts to go through the JavaScript, negotiate it. We all had to create accounts on Friendster, which is still allowed up to its death. And all of us were like, hobbies? Downloading Friendster. With some really funny, like, you know, giving the finger profile, I'm downloading Friendster. That's why I'm here. What are you up to? Oh, you like cats. That's great. Not everyone likes what we're doing. This is Lulu Poetry, poetry.com. This was exciting. They gave everyone two weeks to get off. 14 million poems. And as you can see, their suggestion was, well, be sure to copy and paste your poems before we go down. So you can always remember them. We're unable to save any customer information or poetry. Actually, you don't hear that line a whole lot, do you? I'm sorry. Your poetry is unavailable. So we were like, okay. Well, we can do this. So we did. Within a short time, we start getting banned. Locked out. So we switch IPs. They lock out more. We have someone switch IPs and we watch as an entire range is blocked out. We realize there's a person or persons there stopping us. So we switch to S3. And we switch to Amazon instances. And we start doing it that way.  They threaten one of my members who's in Australia and 15 with legal whatever. And I'm trying to explain to him that a cease and assist is not a lawsuit. He's 15 years old. He's in Australia. He's probably not going to be flown to America for downloading poetry without a license.  But, you know, whatever, make the kid nervous. But basically they were like, no, no, you don't understand. We're actually going to be bought out. So this will survive. It's great you said that.  So it turned out as far as we can determine, they were on like one shared server in some space. That's what their problem was. We were essentially, like I said, doing a distributed preservation of service attack. We took these guys out. We were taking them out and making a duplicate of them. So we got lots of millions and millions of poems which we're holding on to because they did go down by the way at 1201 and the day they announced they're going down. I could tell that there was like one guy being like, because we were watching cases a couple of nights, we would actually watch the blocking slow down because we figured out people got tired and went home. And like by three in the morning our Astroia guys are like, oh well, free and clear.   Anyway, so basically, they might come back, they might not.  So Google videos announced it was going down. Now we were scared because Google videos is huge. So we did it anyway. We started downloading. We were somewhere in like the 9th or 10th terabyte downloading GeoCities. We had a distributed system and these things. And we were like, yep, going to save it. What an embarrassment. Google video. What an embarrassment. What about YouTube? Why don't you just transfer stuff to YouTube?  Why are we doing this? What's wrong with you, Yahoo? Sorry, Yahoo 2, Google. And basically, a week or two in, they give us an update. And the update says, okay, we're not going down. We're going to add a migrate to YouTube button. We're going to do what we need to do. So basically, what I found out later is on internal, internal in Google, they went, look what archive team is saying. This is really embarrassing. We have to stop this. And so they went, yeah, got it. So they went basically, okay, we give up. And so we won. One of the few times we won. It's nice to win. So what's this? Guy with nine-track tapes. Guy's got UseNet. From 1981 to 1991. All right. So here's what happened. So basically, this stuff is what became Dejan, went into the Google purchase of Dejan news, which then became Google groups. And Google then proceeded to ruin it. Okay? If you know anything about UseNet, they ruined it unequivocably. And we made a very important discovery. A lot of people are starting to think of Google as some sort of archiver library. Okay? That they're storing all this data. And even though they're running ads, they're storing all this data. But Google is a library or an archive in the same way that a supermarket is a food museum. Okay? These guys are basically going to do whatever they got to do. So we took it. We took back. We found the original archives that Google had taken. We put them up on archive.org. The UTZU tapes. And people were doing with them. An archive team member did this. Not really associated with us but did it and is part of us. OldUse.net. He is doing a real-time posting on UseNet with a 30-year lag. So you can go on, connect with a news reader and go experience what it was like. This particular one says perhaps you're not aware of it, but a new Star Trek movie is in the making this summer. While that is all well and good, there was a problem with it. It seems that Leonard Nimoy will no longer be available for the role of Spock.  Loyal Trekkies here have taken great offense to this. As well they should. There are better ways to remove the necessity of having the character present. Anyway, so that's good. And then we never saw Leonard Nimoy again. So you can connect to this thing and be able to use it right now. That's living history. Telehack.com. I don't have time to go into it. Telehack.com. Okay? It looks like a command line. It is an entire world. Years of command line history are at that site. Spend a little time on it. Get an account. It's unbelievable. All resuscitated from old archives.  This is just stuff where my teammates in front of me we believe in lots of great crazy humor. So where else do we go from here? Well, we got a group called Wiki Team. They've written a thing from the outside downloads tons and tons of wikis. And we'll grab it and then we've been putting them up. So we've got Wiki Team. So if your Wiki is like dying, we're going to grab it. And we make the tools available so you can grab any Wiki from anywhere else. URL Team.   You're going to let some third party generally decide what everything you do directs to.  I understand the use of URL Shorteners on a per site basis, making a flicker that's FLKR, whatever, you know, that makes sense. But this is awful because if these things go down now anyone looking at the history, it's like people are talking cryptographic code. Here's this awesome site thing you can't figure out. So we have been taking them on and this group over here has been basically taking all these URL Shorteners and turning them into archives that we then torrent. So I also want to point out this is Chronomax, Gero Nazar, SolSare, sweb underscore, not me. This is not just a Jason Scott project. These guys, I'm just, I'm planning a fire but these guys are going somewhere with it and they don't always need me. It's very important. What else, what's left to save? So I don't know if many of you know Len Sassman. He was a wonderful cryptographer, a wonderful human being who took his own life just a very short period of time ago. His wake was just last week actually. And he was a big presenter at DEF CON. If you start going through the archives you will find him there. He's a brilliant person who left a lot of friends and a lot of memories and he's a wonderful guy. And as Widow said, to me can you archive him? So I started a project called Away from Keyboard. This is on archive.org and what we're doing is we are collecting artifacts from various people who have passed on to turn them into collections of files that at least we can get some piece of these people who are gone and we can remember them and be able to build from them. So it doesn't always have to be about websites. It doesn't always have to be disks that I'm trying to save here. It's everything and I think that's just critical. What did we learn here? Well, we learned I'm really loud. We learned I do a lot of profanity I think hopefully you'll look at a website that's going down.  That's something that's meaningful to people. That's something that matters to people. And I hope that that piece sticks with you. If nothing else I did. So my final question for you is, okay, is there anyone here from archive team?  You are all in archive team. I officially deputize you. You are allowed to be an archive team. Go where you need to. Keep up. Store them somewhere. Throw them over to someplace you don't remember. Give me copies later or give my successor copies later about these things because it turns out what you walk in and is history because the hardest part of history is to be there when it happens. That's the hardest part of any historians job. And by be what you are right now doing is you are in companies, you are with people, you are visiting things and you are with history.  Sometimes I put that as my user profile when I am downloading a site. It gets the message, doesn't it? I am just saying if you take your site down I will see you there. Jason Scott, archive team. Thank you for coming. And please one more bit dedicated to Tim Wrecker who unfortunately died before really giving a big presentation here. So I am just proud to say my secret co-presenter Tim Wrecker. Thank you so much.