 Hello, people. My name is Lyme. Today I'm going to talk about speed and access. Today I'm going to talk about integration and invoked static messages. I'm going to talk about developers. So infrastructure scale framework, Scala, basically Terraform services and Ruby. Next I'll use the application of reflection and storage and action in the client. Looks like it's time for a demo. Okay, let's see what this is about. The Python is in controller. Here we are. Okay, and rake data put this into rake file. Okay, I'm going to move on. So how did it happen? LSTM and the future copyright 2011 Cisco and its affiliates. All rights reserved. Good. Torch RNM is open for testing, deployment, children. Let's take a look. Okay, we'll try this one out. Is this it? No. Yeah, this is it. So you can go to this page and this is how it works. This repository, it's all from here. So policies are dry. Do not repeat yourself. Do not repeat yourself. Let's go to policies.html. Ruby is great. Ruby is pain. Ruby is required. Ruby is home. Ruby is Ruby. To counter that, each of you will have new controllers to test. So it looks like... So question for you guys. Who here is online? Show of hands. Okay, some of you guys. Cool. Who here is using Ruby on Rails? Everyone in the room should be. Okay. Who here is consulting? All right, a couple of you guys. Who is using jQuery? Cool. Yeah. Who is programming specifically for MBC? One guy. Anyone automatically logging into a server here? Nobody. Okay. Who has headlight skills? Okay. Any accessories? Okay, it's known as the database. I'm moving on. I want to tell you guys a story. It was May 30th, 2013. And one time I heated Cisco Amazon EC2 stack talk factor on a Rails beta test. Being a metal developer I installed. Yeah, Google it. It's JavaScript. I want to tell you another story. There was once a distributed Heroku C resource. Blocks and simulations provide scalable continuous integration. He said in Ruby to the engineer, but what about Unicorn? And or signing of the functionality, the failure? The engineer replied. Mac Ruby on Rails, he said in the console. And then he developed a client server application. Yeah, I'm going to go to this URL. All rights reserved. So go for the cloud. Think that production code is broken in Rails. Our mark methods, session objects, monolithic consulting. Your password is then reset. All the code is clean. Control, check, the company file agreement. Only confidential. Exclusive domain, capitalist filter. Docker Ruby on Rails. Ruby on Rails. Ruby on Rails. Let's do some live coding. When JSON, Linux is most developed by stake development. Let's check it out. Dave, self should equal type. Tweet about it. 1, 15, 32, 5. So let's keep the conversation going. I don't want this to end here. Tweet about it. Hashtag vegan. Hashtag french spritz. Hashtag cloud wrestling. Hashtag art. Let's get the word out there. Thank you for agile and remote connections. You are the best developers in development. You need middleware. Alright, we're going to start by curing it right now. Can you stop the music? Alright, so Max, could you tell us what was going on with your presentation behind the scene? Yeah, I'm not exactly sure. I've been really interested in these sorts of machine learning algorithms that are coming out that take like a database of text or information about a topic and then mimic that information and create something that's sort of like it but not quite there. And what's interesting to me about it is that right now they don't necessarily work that well. And it's this interesting space where it's not something like your TV where you can turn it on and just work sort of like running an FFT on audio signal where you know what the output is going to be but there's this strange kind of otherworldly output of these programs. And so I thought for this talk I would explore what would it mean to follow that and what would that say about what we're doing here? Why did you get started on this project of like machine determined type of work? I've been doing this for about a year. I'm not sure exactly how it started. I think that like when I started the travel project it was a lot about there are so many options for what we can do and how do you choose among those? And letting a computer choose seemed like a reasonable choice. So tell us about your robot that bought here to Taipei, Taiwan. Yeah so it's a computer program that it knows something about like the cost of travel in the world and so it knows that like within my budget here are all the different places that I can be and then it chooses randomly between those and sends me off to one of those places. So I didn't know that I was going to be here and tell about among the girl. So besides this robot what types of like normal work, freelance work and stuff, tell us about all that stuff. Sure. The way that I outside of art projects and like that make a living is doing freelance software work for clients building websites and apps and things like that. So you told me you started using Ruby and you could explore Rails very early. Yeah I think part of the reason why I wanted to do this is I was thinking about the way that I got started in programming and I think like a lot of us I learned about Ruby through the internet and through this internet based community of people learning about this language. I think my first programming tutorial was why the lucky stiff Ruby tutorial and I've been watching talks about Rails and Ruby since I was in middle school and so I thought it would be interesting to reflect on what that's about. Can you tell us why you left the cushions jobs at Google to be here? There's a lot of things you can be doing in the world and I think it's interesting to be here. So tell me besides getting a job as a software developer right you also have this type of lifestyle that you sort of custom made for yourself and can you tell us about how right now how you're living, how become a programmer that you do your position today and how is that working out for you? Yeah I mean like I think that especially people who work with software it's becoming a lot more possible to do these flexible sorts of work styles where you can be doesn't really matter where you are physically because you're interacting through code and through email anyway and so I guess the way that I'm living is taking advantage of that I don't have to be physically in one place and that means that I can tweak that and the sorts of experiences that you have in different places in the world are changed the way that you think so that's what I like about it. So final question, what's next? Like where are you gonna go? What kind of project are you gonna make? Is there other areas of exploration that you want to try? Right now I'm still interested in this computer generated path and so in about one month I'm going to ask the computer where I'm going next and I'll follow whatever it says no matter what and then usually there's something about the place that I go to that helps me decide what to do next. Thank you so much. Thank you. Can we take some questions? Sure. So when you generate a presentation based on the slides how long would it take to actually generate something? It was the neural net that I trained and I downloaded about 14,000 slide share presentations about Ruby on Rails and fed all the text just about like 100 megabytes of slide text into the LSTM recurrent neural net and then it's been training for about 24 hours and some of the output is the output after that. So theoretically you can generate something right now. Yeah, I could just be... Did you actually just generate a first stage? Or did you have to do it several times to get something more sense? Yeah, the way that I've been working with it is it's possible these neural networks are basically looking at what are the characters that came before and then predicting what the next character is going to be based on that. And so like if you typed in hello my name is this probably going to be a name after or something like that based on the data. And so the way that I've been working is to structure like a rough outline of a talk and then delete parts of it and have the neural net fill in the gaps using that priming feature where you can say I want the first part to be this and it will complete the sentence. Okay, so they will be kind of related of slides in the slide after this The big problem with neural nets right now is that because the graphics card memory is limited and graphics cards are what are generally used to train neural nets you can't model very long-term dependencies and so often the output of a neural net will start talking about something and then sort of lose interest and go off on to another random path and you have to do some tricks to make it coherent and the structure is attempting to do that, you know, kind of keep it on the same track. Oh, okay, cool, thanks. Do you think about OpenSocial project or we can generate by ourselves? Which project? I don't know, maybe take care to show how to generate some slides now. Yeah, yeah, yeah, I'll do a little demo. So I did this, this is a great OpenSource project, not possible. If you go to this page, the instructions are actually pretty good and it's very simple to use, you put in a set of text and then train it for 24 hours or so and you can start sampling text out of it. So the one thing that you do need in order to train one of these is a GPU card. It's possible to do it on a CPU but it's really slow so you have to have a powerful graphics card. Luckily Amazon lets you rent those. There's an EC2 instance type called the G2 2xlarge and 8xlarge and both of these have GPUs. So you can spin up one of these instances and install some graphics card drivers. They have pretty decent instructions on how to do that here. There's actually an NVIDIA custom version of Docker that you can install which allows you to do Docker images that have graphics card processing in them. So I'll pull up my EC2 instance which is running right now. So here's the command. There's this NVIDIA Docker and once you have that set up then you can run the torch RNN image and there's a training step where you take input data and turn it into this intermediate data format and then put it into the training program. There's some parameters you can change that change the complexity of the model which determines how long it's going to take but also the quality of the output and then I've already trained a network so you can run another program to sample that network and get some output from it. I'll do that right now. About every five minutes or so the program outputs a checkpoint which shows you what the network is learning at that point in time and you can sample from those checkpoint files. So this has been running for a long time. There are a lot of different checkpoints at different stages in the training and if you look at the first checkpoint so this is the first five minutes of the program running and it hasn't really figured out what languages yet or what words are kind of gobbledygook but then pretty quickly within maybe half an hour or so it starts to figure out some basic idea of how the text is put together. If things that look a little bit more like English or Ruby in here it learns that pretty quick. Learn some punctuation, the slide bullets are in there and after a little while longer it starts to learn some of the tropes of the data which is what I find interesting about this stuff that it knows that there are people talking about gigabytes and booting and distributions and the data and it starts to mimic that. I'll show you the most recent checkpoint. So it's still pretty abstract but occasionally you find these nuggets of wisdom or something that seems like it's smarter than you would expect and so a lot of my process for putting together the presentation is finding those interesting bits and then trying to put them into the slide presentation. So you guys can get started with this really quickly and I would recommend checking it out. There's a lot of different things that people have been doing with this tool and other tools like it. I have a startup name generator that you guys might like. It generates an infinite list of startups. There are people that have been writing movie scripts with it doing abstract poetry, generating Paul Graham-like. Thank you so much.