 Good morning everybody, now this is Matt's, the one who started that thing. So I happened to create the programming language, and so many people, so many people using my language. I feel like I'm losing my league, but I didn't need a conference, so this is, this sounds great conference. And I believe this, this year's conference will be great. So in February 1993, as a scripted language for units, to the first floor, but now we are living. I just wanted to create my own programming language. I was a language geek for last, I don't know, 30 something years. Then when I was in high school, right after that, I started programming. So that was somehow interesting in programming myself, rather than programming something. So some of my friends are interested in programming and started making games, or using computers as their tools for research or something. Or, or does something to make money. But, exactly, I don't know why, but I find it interesting in programming languages. But then I used the programming language in basic. It was a great programming language, very interactive. But, you know, as a programming language, it's quite weak. So I started learning, I wrote a book about the language in the past, and I studied it. I read through the book, but I didn't have a computer to run my stuff. So then the compiler was so expensive. I don't know, 5,000 dollars or something. It was very expensive. So I could compile my program. So I just read through the book, write down the passcode program. So I considered myself learning the passcode. Interestingly, Pascal taught me many things. That the programming languages can be different, the pro-language languages. And the sound language is very strong in some aspects. The sound language is very weak in some aspects. Every programming language has its design, and its design has its own philosophy upon designing the language. So the language affects the mind, the thought, the way of thinking of programming. So the language design is kind of like programming. So that made me interested in programming languages. So when I was in high school, I decided. I wanted to create my programming languages. But back then, I didn't have any experience. I have no knowledge. I have no internet back then. So I couldn't do that. So I just write down my ideal programming language on the notebook. So it's very sad I lost my data notebook. I don't remember what that language looked like. So I wanted to create my own programming language for years. Then in 1993, I happened to start my programming. That's so fun. So this is the very basic motivation behind Ruby. Recently, a guy came on a web page on Twitter that said, he said, why did you invent Ruby? Where do you have it for? It was redundant. We didn't mention it for you. It was a waste of non-power that is linked to this resource. So many people feel mad at you about your work. Ruby, what do you think? Yeah, we had, there is some truth in it. It just, it was like, you know, we, indeed we have really resource. We only have seven billion people. Very limited. There are few around them called. So it's actually a limited resource. But it's not about like, we have no real resource. Motivation is the most precious resource behind great works. We are not machines. We need driving force to accomplish great things, like making websites. Motivation, like having fun or profit, making money. My motivation is love toward programming languages. So a lot of work. It's just working to love programming languages. Everyone has different motivations. Motivation is very precious to us. And it is the driving force behind great works. Since some people we invented for you, like Ruby after 4, it's redundant. We invented way way. They go ahead if they are even motivated. And when we introduce diversity, diversity is good. It requires a lot of, you know, the redundant works. But it might waste your time. You know, the diversity works. The different works may fail. So you work, but fail. So your time shall be wasted. But I think it's okay. I think it's okay. Just because if you are motivated, you have fun on that place. So you have fun. So it's okay. Just because some of you might like fishing. So fishing takes time. When you finish to get your bike back. But you don't say it's wasted. It's just waiting to have fun. So diversity is motivated diversity. It's a very good thing to have fun. And the world without diversity is unpleasant. What if we force people to focus on pearl in 1993? So we might have a better call. The world, the world. So the young programmer back then, me was forced to work on pearl. Instead of designing my own pet project. It's not present. It's like in the world of 1904, forced them to do something by their big brother. So diversity is kind of a cost of innovation. No one understands about innovation. So no one understands innovation. The people who have succeeded, who made innovation, don't know about innovation in general. The people who succeeded may not make next innovation. And a few people of course don't know about innovation. So no one knows. So each innovation has different phases. So only we can do is try to innovate. Most of them are failed. We try again and again until we make innovation. That's the diversity. That's the spirit of diversity. I think it's a good thing. But we need to create a future to raise the possibility of success. So a few days ago, I read a... So I think most of you don't read the Japanese. What a shame. So it says, I.D. survivors will be language designers, deaf interpreters, and high quality needs predictors. Sounds weird? His outline is, it will be fundamental literacy. Like writing and talking. And it can be done by everybody. So professional like us should do hard tasks. But how can we be language designers? That's OK. But you. How can you be language designers, you know? Me? Maybe you don't read all. But you can. I think, I mean, not the language. But more. Of pearl, brass, of ishii, or others. So if you google it, you can find a very interesting website named, Landis Linus, or Silicon. It's a quiz site. When you access it, it gives a bottle, a face ball, of the person who is also you with beard. Some of them are language designers, and the other part of it, Silicon, is quite difficult. Like me, I'm not in there. Not in there. You may not be in the program. How many of you have designed your own program? Raise your hand. But it's much more than I expected. Maybe 10 of them. Out of them. Two people? Seven of them. Ten out of them. You design code, you design API, you design interface, the other ones. We're not here, I guess. Dave Thomas once said, the program is a process designed on DSL. So the process of implementing application is designing and implementing your own DSL upon top of your programming language, like Ruby, then create your application on top of your DSL. So every process of writing application is a process of designing and implementing programming languages. So in that sense, you can be a language planner, but you should be language designers. So to create great programming, great education, so you should be a language planner. Two few people care about design. The world is a group of crafty designs. For example, shoe streets. A few years ago, I had, I bought shoes. This is a nice design shoes. I like that. The pair of shoes, but somehow, those strings loosen every time. So I tied up a game in the game, and I felt like I was wasting my life tying up my shoe strings. This is a bad design. Why on earth in 21st century, we have to tie up my shoes again in the game. So, I had time. So, I still... The shoe strings have this... They are better, should be better designed at the first place. So, the world is fruitful for improvement by starting a new project, a first phase of existing project called Make It Happen. So, I believe most of you here are programmers. Something involving programming in Brooklyn. I think that the reason we gather together here is that we can program. We can code. That is, we can change the world. So, code, make it happen, in good shape, we make it happen. So, make the world better place and be happy. I will. So, who was the last one here? Now we are here. It is dark, it is stormy, it is night, but in 1993, almost 20 years ago, I invented, I started developing Ruby. Actually, I named Ruby on February 24th, 1993. Since the programming language is some kind of virtual existence. So, name is pretty important. So, I decided that date, that date which I named my programming language is the birth date of my programming language. So, since then, it has, almost 20 years has passed. So, I had been happy for the last 20 years. It has always been more than, it has always been more than expected. When I started, I started Ruby, it was my project, it was my hobby. So, I expect Ruby users to be less than 100. Less than 100. Something happened. I don't accept process, something happened. So, everyone got interested in Ruby all over the world. Maybe millions of people right now is Ruby. It's far, far more than I expected. And then, yeah, giving a keynote before several hundred people is far more than expected. So, I will try to make the world better place by providing Ruby. It's not intentional, but you know, but I think Ruby will be better. So, on February 24th, 2013, February next year, it's Ruby's 20th birthday. We were less ritual as we announced before. Previous keynote in Ruby conference. This is the 12th, 11th? Ruby conference? The 12th. The first one in 2001, look back, and the first mention of Ruby 2.0 in 2001. The first Ruby conference. I mentioned Ruby 2.0 in the first keynote, in the first Ruby conference. In 2003, I mentioned Ruby 4.0 again. With the last keynote, I mentioned Ruby 4.0 in these conferences. In 2001, 2006, 2007, 2010, it's kind of like a good boy. This should be true. Of course it's not. Sadly, the guys in Japan is now working on Ruby 4.0, Ruby 4.0, and by compensating they cannot attend. They couldn't afford to attend the Ruby conference, so they had frustrated, so they had something to work on to ignore their stress. So they're working on Ruby 4.0 in this ending one, so I will see it in today or tomorrow. I mean tomorrow. Yeah. We are already in tomorrow. Anyway, the Ruby 2.0 will be faster than Ruby 1.9 that Koichi was working on it, and he is going to give a presentation on how the session and tomorrow I know. I'm not sure that Koichi Sasada will have a session about how to improve the internal version of Ruby 1.9 to reach more. It will be more reliable, it will be more fully tested, so more fun to use, and you will have the keyword for more arguments. So Ruby 1.9 can you can provide keyword arguments at the bottom of the argument list as an inline hash, but you have to decompose it in the call out, call inside by a ticklish hash. It's a kind of keyword. You can see it some way in some Rails methods. But it's so easy, so we automate that kind of decomposition. So you can find keyword for more arguments in the F argument list. And then we will have that honorable lazy which enables you to find the lazy query. We are lazy in novel, but not that lazy, but that lazy variation will be lazy. So, and we are going to have a bullet prepend, which provides some kind of method combination in a common list. So it is proposed by the Akuta hats, but we finally implemented as a module prepend. That means that module prepend includes the methods to that existing class of module. But module prepend blocks existing class of module. So the method will come before the four inline prepend module. The method in prepend module wraps the existing method. So you can replace the alias method change by using module prepend. So we will have something named refinement which is kind of like the main space for the monkey pattern. So you can wrap the monkey pattern in some module, some refinement. So you put up where you are using the refinement in space. So the monkey pattern is only available in that scope. So this moving tool feature will be explained in a session named I don't remember the exact name, moving tool in real, on real or something, yeah, today. So if you are interested go there. I believe that there will be extensive explanation. So you can join us the team or effort of making Ruby 2.0 by using trunk and I mean guitar, Ruby, trustworthy or from the solution mainly first week. By reporting bugs, we have bugs on Ruby 2.0 so you can report them. So you may have some kind of validity issues from 19, so we consider basically they are bugs. So we will try to fix. So by fixing bugs you can fix, it's open source. You can fix bugs by yourself if you will. So we will report them. So by setting we are acceptable like this by putting a project in Ruby 2.0 and tell them my project is working Ruby 2.0 now but I need trunk now so it will work on Ruby 2.0 We can make it better. We can make the world better and we can make the world better. Recently I worked on the last year's Ruby. So Ruby is something in the mini Ruby or embedded Ruby. So it's a Ruby of kind of implementation of the subset of the language on to the embedded environment. So we resource like less memory or sticky power or something. So this is very compact it actually runs on very teeny ball computer with few kilobytes of memory comparing to the MRI, 2IS, few mix for the memory. So memory is very very compact. And then we will have some kind of memory, mobility which is the memory extension to be able to write iOS application. So we will have a session on that. So summary model, will you go behind me? Who has invented it? Will you invent wheels? Fix two strings? Bad designs? The improvements have gone past. So make the world better. I believe you can. If you don't, it's okay I don't need to be at the hiking. Thank you.