1 00:00:16,509 --> 00:00:18,659 Thank you for coming 2 00:00:18,659 --> 00:00:23,269 and Ruby Conf is always great 3 00:00:23,269 --> 00:00:30,269 and a keynote make me depressed (laughs) 4 00:00:32,238 --> 00:00:33,659 You know I'm a programmer 5 00:00:33,659 --> 00:00:35,260 I'm a language designer 6 00:00:35,260 --> 00:00:42,260 so you know, my main tasks should be is designing language 7 00:00:42,920 --> 00:00:43,739 a great language 8 00:00:43,739 --> 00:00:48,369 I admit that I did great things 9 00:00:48,369 --> 00:00:49,149 you know 10 00:00:49,149 --> 00:00:51,829 that influenced 11 00:00:51,829 --> 00:00:54,819 so many people all around the world 12 00:00:54,819 --> 00:00:55,889 including you guys 13 00:00:55,889 --> 00:00:57,899 so I'm pretty happy with it 14 00:00:57,899 --> 00:00:59,679 but still 15 00:00:59,679 --> 00:01:01,899 you know 16 00:01:01,899 --> 00:01:04,250 I'm not really a great presenter 17 00:01:04,250 --> 00:01:10,159 nor 18 00:01:10,159 --> 00:01:11,170 I'm very 19 00:01:11,170 --> 00:01:18,170 I'm not really good at english 20 00:01:19,380 --> 00:01:21,069 that always makes me nervous 21 00:01:21,069 --> 00:01:26,789 anyway, today I'm going to talk about the fantasy land 22 00:01:26,789 --> 00:01:29,759 ok 23 00:01:29,759 --> 00:01:30,039 this way 24 00:01:30,039 --> 00:01:33,539 fantasy land 25 00:01:33,539 --> 00:01:37,970 that is a place being away from reality 26 00:01:37,970 --> 00:01:43,099 the where the unicorn lives 27 00:01:43,099 --> 00:01:44,649 in Japanese it is called 28 00:01:44,649 --> 00:01:46,229 genjitsu-tohi 29 00:01:46,229 --> 00:01:49,069 which is escaping from reality 30 00:01:49,069 --> 00:01:50,920 my dictionary says that is escapism 31 00:01:50,920 --> 00:01:53,899 is that correct word or something 32 00:01:53,899 --> 00:01:55,280 so for example 33 00:01:55,280 --> 00:02:00,800 so the starting cleanup right before the deadline 34 00:02:00,800 --> 00:02:05,420 is kinda like escapism 35 00:02:05,420 --> 00:02:08,030 starting debuging mruby right before the keynote 36 00:02:08,030 --> 00:02:10,818 is escapism 37 00:02:10,818 --> 00:02:12,129 that is what I did 38 00:02:12,129 --> 00:02:14,980 so today 39 00:02:14,980 --> 00:02:16,620 I'm going to talk about 40 00:02:16,620 --> 00:02:19,110 oh excuse me 41 00:02:19,110 --> 00:02:21,610 two fantasy lands 42 00:02:21,610 --> 00:02:26,249 the first one is kinda like a distopia 43 00:02:26,249 --> 00:02:29,590 in 1990 44 00:02:29,590 --> 00:02:31,590 I graduated from university 45 00:02:31,590 --> 00:02:36,459 I feel old 46 00:02:36,459 --> 00:02:39,989 I was hired by a software development company 47 00:02:39,989 --> 00:02:43,230 which does, which did some kind of enterprise software 48 00:02:43,230 --> 00:02:48,029 in that, that age 49 00:02:48,029 --> 00:02:52,799 the software development is totally different from now 50 00:02:52,799 --> 00:02:58,819 so we had some kind of three year project or something 51 00:02:58,819 --> 00:03:04,219 from the huge company or huge government department 52 00:03:04,219 --> 00:03:09,189 we had some kind of analysis for months or even years 53 00:03:09,189 --> 00:03:13,189 then we wrote some kind of very detailed documentation 54 00:03:13,189 --> 00:03:14,769 this abstract documentation 55 00:03:14,769 --> 00:03:16,480 the detailed documentation 56 00:03:16,480 --> 00:03:19,459 then we code 57 00:03:19,459 --> 00:03:26,260 which is the translation from natural language to computer language 58 00:03:26,260 --> 00:03:30,730 so the process was driven by waterfall process 59 00:03:30,730 --> 00:03:36,299 so the company's decision was very, very, very conservative 60 00:03:36,299 --> 00:03:42,590 so at that time I felt something was wrong 61 00:03:42,590 --> 00:03:43,779 but I couldn't explain why 62 00:03:43,779 --> 00:03:47,419 just because it was so natural 63 00:03:47,419 --> 00:03:50,930 everyone was doing it that way in software development 64 00:03:50,930 --> 00:03:52,790 back then 65 00:03:52,790 --> 00:03:56,389 so I couldn't explain why 66 00:03:56,389 --> 00:03:57,629 everyone was doing that 67 00:03:57,629 --> 00:04:01,829 it is quit difficult to tell what is wrong 68 00:04:01,829 --> 00:04:04,269 when everyone is doing bad things 69 00:04:04,269 --> 00:04:05,379 right 70 00:04:05,379 --> 00:04:10,999 so yea I couldn't imagine what was right and what was wrong 71 00:04:10,999 --> 00:04:14,219 so after more than 20 years of experience 72 00:04:14,219 --> 00:04:15,999 I was a pretty experienced programmer 73 00:04:15,999 --> 00:04:16,418 ah maybe 74 00:04:16,418 --> 00:04:23,419 now I understand, I now understand what was wrong 75 00:04:23,710 --> 00:04:26,660 we were wrong in software development 76 00:04:26,660 --> 00:04:31,900 that depends on some false assumptions 77 00:04:31,900 --> 00:04:37,290 we were depending on such false assumptions 78 00:04:37,290 --> 00:04:39,010 assumption number one 79 00:04:39,010 --> 00:04:42,440 we know what we make 80 00:04:42,440 --> 00:04:49,210 back then we believed we are knowing what we are going to make 81 00:04:49,210 --> 00:04:54,990 in reality we don't know what software is 82 00:04:54,990 --> 00:04:59,870 so software does not have any physical entity 83 00:04:59,870 --> 00:05:03,620 so it is not limited by physical law 84 00:05:03,620 --> 00:05:08,620 so it can be very, very easily complex 85 00:05:08,620 --> 00:05:15,620 so, for example, if I were a building architect 86 00:05:17,490 --> 00:05:21,920 so I design a building like this hotel 87 00:05:21,920 --> 00:05:25,560 so we need to think about, for example 88 00:05:25,560 --> 00:05:31,250 about weather, or the strengths of the concrete, 89 00:05:31,250 --> 00:05:37,560 or iron, or something, the building materials 90 00:05:37,560 --> 00:05:42,460 then the strength of the building itself can be 91 00:05:42,460 --> 00:05:47,640 calculated by physically, easily simulated 92 00:05:47,640 --> 00:05:50,930 but you know 93 00:05:50,930 --> 00:05:55,670 when we starting developing software it is easy, like 94 00:05:55,670 --> 00:05:57,140 "hello world" 95 00:05:57,140 --> 00:05:57,940 that's quite easy 96 00:05:57,940 --> 00:05:59,720 there is no room for bug 97 00:05:59,720 --> 00:06:03,110 but the software is getting bigger and bigger 98 00:06:03,110 --> 00:06:09,370 so it's quite difficult to understand say 10,000 lines of code 99 00:06:09,370 --> 00:06:14,030 but now days software is so huge 100 00:06:14,030 --> 00:06:21,030 like if I had a Prius here, it is an automobile, 101 00:06:24,490 --> 00:06:30,080 it has tons of lines of code, maybe hundreds of lines of code, tons of hundreds 102 00:06:30,080 --> 00:06:32,560 maybe millions of code 103 00:06:32,560 --> 00:06:39,560 so it's like, as a software developer, you can imagine how difficult to ensure no bugs 104 00:06:41,630 --> 00:06:44,800 in the millions of lines of code 105 00:06:44,800 --> 00:06:45,580 yeah 106 00:06:45,580 --> 00:06:46,970 I'm sure I cannot do that 107 00:06:46,970 --> 00:06:53,970 so, the software can be a most complex creation, maybe 108 00:06:54,860 --> 00:06:59,220 and no document but code can explain the details 109 00:06:59,220 --> 00:07:06,220 so the, we believe we knew what we were going to make 110 00:07:06,300 --> 00:07:09,610 but in reality, we didn't 111 00:07:09,610 --> 00:07:12,020 false assumption number two, which is 112 00:07:12,020 --> 00:07:16,840 we know what we want 113 00:07:16,840 --> 00:07:19,580 in reality, it's quite difficult to imagine 114 00:07:19,580 --> 00:07:26,580 you know, in a waterfall age I write a code (?? 00:07:27.16) with sophistication 115 00:07:27,360 --> 00:07:31,770 and I give that sophistication to our client 116 00:07:31,770 --> 00:07:37,240 then clients said, OK, then we started development 117 00:07:37,240 --> 00:07:41,460 a few weeks, few months, few years later 118 00:07:41,460 --> 00:07:43,890 the software was finished 119 00:07:43,890 --> 00:07:44,850 then I wrote 120 00:07:44,850 --> 00:07:49,330 if we wrote it to the client, then 121 00:07:49,330 --> 00:07:53,230 can you imagine what the client said? 122 00:07:53,230 --> 00:07:54,760 it's not what I wanted 123 00:07:54,760 --> 00:08:00,520 but, they said yes, this is OK 124 00:08:00,520 --> 00:08:06,750 but, afterwards, they said, this is not what I wanted 125 00:08:06,750 --> 00:08:11,310 even, I admit, I said OK 126 00:08:11,310 --> 00:08:18,310 but, you know, we couldn't imagine what the software appears in reality 127 00:08:19,480 --> 00:08:26,480 so, like a stupid boss says ?? (00:08:23.56) to the client 128 00:08:28,530 --> 00:08:31,450 yeah, I complained a lot 129 00:08:31,450 --> 00:08:34,130 I happened to complain so often, back then 130 00:08:34,130 --> 00:08:41,130 but one day, I asked my colleague to create some kind of software 131 00:08:43,078 --> 00:08:46,430 at that time I was so busy, so I 132 00:08:46,430 --> 00:08:49,050 I explained what I want to my colleague 133 00:08:49,050 --> 00:08:52,240 then he created the software, then back to me 134 00:08:52,240 --> 00:08:57,470 and I said, this is not what I wanted! (laughs) 135 00:08:57,470 --> 00:09:01,070 stupid me 136 00:09:01,070 --> 00:09:06,910 I said I don't know why we should make too maximize business value 137 00:09:06,910 --> 00:09:13,910 we couldn't, no, we couldn't understand what is gonna bring you success 138 00:09:15,630 --> 00:09:20,990 so we are stupid, too 139 00:09:20,990 --> 00:09:23,580 so, false assumption number three 140 00:09:23,580 --> 00:09:24,480 which is 141 00:09:24,480 --> 00:09:27,560 the situation will not be changed 142 00:09:27,560 --> 00:09:33,860 in reality, we don't know the future 143 00:09:33,860 --> 00:09:36,190 we're not prophets 144 00:09:36,190 --> 00:09:38,190 we have wrong forecasts 145 00:09:38,190 --> 00:09:45,190 so yeah, in this technology field, we have a lot of 146 00:09:46,820 --> 00:09:50,250 we're gonna have this technology, we're gonna have this, too 147 00:09:50,250 --> 00:09:53,210 we're gonna conquer the world, so 148 00:09:53,210 --> 00:09:57,090 most forecasts will be wrong 149 00:09:57,090 --> 00:09:58,920 so let's face it 150 00:09:58,920 --> 00:09:59,760 we don't know anything 151 00:09:59,760 --> 00:10:03,980 20 years ago 152 00:10:03,980 --> 00:10:07,670 we should have admitted our ignorance, but we couldn't 153 00:10:07,670 --> 00:10:11,390 so instead, we ignored our ignorance 154 00:10:11,390 --> 00:10:18,370 so, when we know little, we have very few choices, so 155 00:10:18,370 --> 00:10:23,020 choice number one is a conservative strategy 156 00:10:23,020 --> 00:10:23,990 learn from the past 157 00:10:23,990 --> 00:10:29,850 so, this is very good strategy 158 00:10:29,850 --> 00:10:32,980 and the politicians often take 159 00:10:32,980 --> 00:10:34,000 conservative 160 00:10:34,000 --> 00:10:40,810 but it is pretty good unless factors don't change 161 00:10:40,810 --> 00:10:44,320 unfortunately not in the IT industry, so 162 00:10:44,320 --> 00:10:50,300 we change a lot, the situation will change drastically, day by day 163 00:10:50,300 --> 00:10:57,300 so, in our industry it's kind of like the quote from Red Queen in Alice in Wonderland 164 00:11:02,029 --> 00:11:09,029 "Now, here, you see, it takes all the running you can do, to keep in the same place. 165 00:11:09,560 --> 00:11:16,560 If you want to get somewhere else, you must run at least twice as fast as that!" 166 00:11:16,890 --> 00:11:21,550 It's our situation, here 167 00:11:21,550 --> 00:11:25,880 probably, yeah 168 00:11:25,880 --> 00:11:26,779 it's our situation 169 00:11:26,779 --> 00:11:32,480 we have to run as fast as we can to be in the same place 170 00:11:32,480 --> 00:11:36,190 so, strategy number two is 171 00:11:36,190 --> 00:11:37,089 ostrich algorithm 172 00:11:37,089 --> 00:11:43,360 in the ostrich algorithm 173 00:11:43,360 --> 00:11:49,330 so when the sandstorm comes, ostrich dig in their head into sand 174 00:11:49,330 --> 00:11:53,660 and wait until the sandstorm ends 175 00:11:53,660 --> 00:11:58,040 so the, the ostrich strategy is ignore everything, and wait 176 00:11:58,040 --> 00:12:05,040 it is a good strategy 177 00:12:08,020 --> 00:12:11,440 only when situations will recover 178 00:12:11,440 --> 00:12:13,760 so sandstorms will end 179 00:12:13,760 --> 00:12:20,760 so, we will have the clear skies and we 180 00:12:21,120 --> 00:12:26,170 we can enjoy our climate again 181 00:12:26,170 --> 00:12:31,020 but, you know, in our industry 182 00:12:31,020 --> 00:12:32,230 that's not going to happen 183 00:12:32,230 --> 00:12:36,850 where the situation will change and change and change and not recover 184 00:12:36,850 --> 00:12:42,480 so we, we cannot go back to the main frames 185 00:12:42,480 --> 00:12:47,790 we can go back to the, you know, eighty, fifty years or something 186 00:12:47,790 --> 00:12:52,080 so we must keep forward, keep going forward 187 00:12:52,080 --> 00:12:59,080 so the ostrich algorithm is very good strategy in the past 188 00:12:59,490 --> 00:13:01,440 when the situation will recover 189 00:13:01,440 --> 00:13:06,310 so the, this strategy, this algorithm, is written in our instincts 190 00:13:06,310 --> 00:13:10,690 so we are so easy to choose that strategy 191 00:13:10,690 --> 00:13:17,690 but, otherwise, when the situation will not recover 192 00:13:19,660 --> 00:13:21,600 it's kind of like the living in the fantasy land 193 00:13:21,600 --> 00:13:28,560 so, going forward with false assumptions is kind of like living in the fantasy land 194 00:13:28,560 --> 00:13:35,560 so, ignoring reality 195 00:13:36,020 --> 00:13:38,279 we had two strategies 196 00:13:38,279 --> 00:13:42,899 conservative strategy and ostrich algorithm 197 00:13:42,899 --> 00:13:45,070 which strategy do we take? 198 00:13:45,070 --> 00:13:48,290 neither of them are good 199 00:13:48,290 --> 00:13:50,490 20 years ago 200 00:13:50,490 --> 00:13:56,959 our goal was to create the software, somehow 201 00:13:56,959 --> 00:13:59,930 having computerized system is the power 202 00:13:59,930 --> 00:14:05,490 it is so powerful, the computer itself is so powerful, comparing to the human creation 203 00:14:05,490 --> 00:14:06,190 ??(00:14:05.13) 204 00:14:06,190 --> 00:14:12,550 so it has great power, so software development was pretty expensive back then 205 00:14:12,550 --> 00:14:14,480 the computers were expensive 206 00:14:14,480 --> 00:14:16,720 the network connection was expensive 207 00:14:16,720 --> 00:14:21,850 the failure never be allowed in that age 208 00:14:21,850 --> 00:14:26,720 so they needed to optimize, not to fail 209 00:14:26,720 --> 00:14:28,390 at the cost of satisfaction 210 00:14:28,390 --> 00:14:33,850 so I don't care you are satisfied our software or not 211 00:14:33,850 --> 00:14:40,850 but I can re-use some kind of the power of computers with that computerized system 212 00:14:42,600 --> 00:14:44,100 so everyone was dreaming 213 00:14:44,100 --> 00:14:48,190 we believed that the only way to create software 214 00:14:48,190 --> 00:14:52,060 we tried hard to believe that was the only way 215 00:14:52,060 --> 00:14:54,270 but 20 years later, now 216 00:14:54,270 --> 00:15:00,020 our goal is not really, not just create a software 217 00:15:00,020 --> 00:15:02,810 our goal is to create the great software 218 00:15:02,810 --> 00:15:09,810 you know, nowadays everyone has computer, everyone uses software 219 00:15:09,920 --> 00:15:15,330 so, mere possession is no longer the power 220 00:15:15,330 --> 00:15:17,529 everyone has computer, everyone has software 221 00:15:17,529 --> 00:15:19,880 so we're saved 222 00:15:19,880 --> 00:15:24,839 to differentiate, to have the power over others 223 00:15:24,839 --> 00:15:30,209 we need to create great software, we need great software 224 00:15:30,209 --> 00:15:36,520 we got to create great software, but how? 225 00:15:36,520 --> 00:15:38,670 of course we don't know 226 00:15:38,670 --> 00:15:40,279 we have made false assumptions 227 00:15:40,279 --> 00:15:42,360 admit our ignorance 228 00:15:42,360 --> 00:15:46,899 but, but there's good news, there's good news 229 00:15:46,899 --> 00:15:49,200 the computers are cheaper 230 00:15:49,200 --> 00:15:52,110 cloud computing is even cheaper 231 00:15:52,110 --> 00:15:54,769 a network connection is cheaper now 232 00:15:54,769 --> 00:15:55,610 and ubiquitous 233 00:15:55,610 --> 00:15:57,019 everyone has imagination 234 00:15:57,019 --> 00:16:00,300 even in this room 235 00:16:00,300 --> 00:16:01,959 software development is cheaper 236 00:16:01,959 --> 00:16:04,260 comparing to twenty-something years ago 237 00:16:04,260 --> 00:16:08,660 so, we can be more productive, more abstract 238 00:16:08,660 --> 00:16:12,149 and we now have better tools and a better language 239 00:16:12,149 --> 00:16:19,149 like Ruby 240 00:16:24,720 --> 00:16:26,980 and we have a lot of open source software 241 00:16:26,980 --> 00:16:29,360 so we can rely on that kind of software 242 00:16:29,360 --> 00:16:31,339 we can learn from that software 243 00:16:31,339 --> 00:16:38,339 so, old days, it is quite difficult to study from the real source source code ?? (00:16:41.91) 244 00:16:44,529 --> 00:16:50,620 if you would like to learn about the operating system 245 00:16:50,620 --> 00:16:57,620 so you cannot access to the source code of, say, Microsoft Windows 246 00:16:59,810 --> 00:17:04,579 or the ?? (00:17:00.68) or some other operating system 247 00:17:04,579 --> 00:17:09,179 you, you can access through Linux?? (00:17:08.34) 248 00:17:09,179 --> 00:17:12,409 or the very old version of Linux 249 00:17:12,409 --> 00:17:15,269 but not the real software 250 00:17:15,269 --> 00:17:18,010 but nowadays you can access the Linux 251 00:17:18,010 --> 00:17:23,209 a whole bunch of Linux code and you have tons of operating systems 252 00:17:23,209 --> 00:17:27,420 and that is used in reality 253 00:17:27,420 --> 00:17:29,740 and 254 00:17:29,740 --> 00:17:33,960 you can use some software in your system 255 00:17:33,960 --> 00:17:37,299 you can learn from that source code 256 00:17:37,299 --> 00:17:44,299 so it's much easier for us to learn and create the great software 257 00:17:46,710 --> 00:17:49,960 and we can now have the collaboration via internet 258 00:17:49,960 --> 00:17:55,320 it's, it's changed the game 259 00:17:55,320 --> 00:18:00,320 so, 20 years ago, soon after I graduated the university 260 00:18:00,320 --> 00:18:07,179 I was at the point I was working as a professional programmer in enterprise software 261 00:18:07,179 --> 00:18:14,179 I was prohibit to write email abroad, outside Japan 262 00:18:14,760 --> 00:18:18,220 only 20 years ago - not two hundred years ago 263 00:18:18,220 --> 00:18:25,220 so, yeah, I, when I was a university student 264 00:18:26,100 --> 00:18:28,640 I wrote some kind of software, free software 265 00:18:28,640 --> 00:18:35,640 it was distributed by, it was quite minor, you know client on top of ?? (00:18:32.73) 266 00:18:36,130 --> 00:18:43,130 and, I got to mail from some other guys, probably in the States 267 00:18:43,700 --> 00:18:46,490 I don't remember quite 268 00:18:46,490 --> 00:18:47,730 but 269 00:18:47,730 --> 00:18:52,460 I tried to reply, and soon after that I got error mail 270 00:18:52,460 --> 00:18:59,460 your company did not pay money to the internet connection 271 00:19:00,450 --> 00:19:04,809 international internet connection, I mean 272 00:19:04,809 --> 00:19:10,370 so, I forwarded that reply to my friend in the university 273 00:19:10,370 --> 00:19:17,370 the university pay that kind of bill so that he could receive the mail 274 00:19:19,850 --> 00:19:23,490 it was quite awkward corresponding, you know 275 00:19:23,490 --> 00:19:26,720 he wrote mail to me then I did not respond 276 00:19:26,720 --> 00:19:30,710 so that, the friend respond because of me or something like that 277 00:19:30,710 --> 00:19:37,710 but, you know, now we can connect to everyone all over the world 278 00:19:37,980 --> 00:19:44,380 so we can access through Japan, China, Moscow, everywhere 279 00:19:44,380 --> 00:19:47,750 so we can now collaborate over the internet 280 00:19:47,750 --> 00:19:54,750 so, that allows us to do some kind of social coding, so 281 00:19:55,010 --> 00:19:59,350 so, GitHub changed everything 282 00:19:59,350 --> 00:20:06,350 so these good things bring up the new fantasy land 283 00:20:07,049 --> 00:20:09,520 the new perspective 284 00:20:09,520 --> 00:20:16,520 so we can ignore gory detail of the hardware or the 285 00:20:17,140 --> 00:20:21,840 and the new operating system, for most of the cases 286 00:20:21,840 --> 00:20:28,030 we can stand on the shoulders of giants, so we can use the great huge software 287 00:20:28,030 --> 00:20:35,030 of the operating system, framework, language, the tools, editors 288 00:20:36,220 --> 00:20:37,419 so a lot of the things 289 00:20:37,419 --> 00:20:44,419 so we can do great things with very little effort, comparing to the past 290 00:20:45,470 --> 00:20:52,470 so we can do greater work than our real ability, real power 291 00:20:54,040 --> 00:21:01,040 so, I think the genius 20 years ago does not recur enough, is not strong enough 292 00:21:04,919 --> 00:21:09,500 they are almost fame ?? (00:21:05.97), the ability as a human, in genius 293 00:21:09,500 --> 00:21:16,080 but, now, we can rely, we can collaborate, we can collaborate over internet 294 00:21:16,080 --> 00:21:22,929 we can collaborate on top of open source software, free software, so 295 00:21:22,929 --> 00:21:26,200 we can do greater works than our past 296 00:21:26,200 --> 00:21:30,179 but that does not mean we are greater 297 00:21:30,179 --> 00:21:32,890 so the situation has changed 298 00:21:32,890 --> 00:21:38,040 we can have power, we can have more freedom 299 00:21:38,040 --> 00:21:40,870 we can have more joy in software 300 00:21:40,870 --> 00:21:47,870 so I remember that the, working on the enterprises software was not fun 301 00:21:48,419 --> 00:21:55,419 so, it's quite boring, so translating human sophistication 302 00:21:55,600 --> 00:22:01,360 in human language into the computer language was so boring 303 00:22:01,360 --> 00:22:07,799 you know, that sophistication once said that, OK, assign this value to this variable 304 00:22:07,799 --> 00:22:10,990 or something like that, so 305 00:22:10,990 --> 00:22:17,990 why these kind of genius don't write the code by themselves? 306 00:22:18,870 --> 00:22:22,429 it was quite boring when I was ?? (00:22:49.51) 307 00:22:22,429 --> 00:22:29,429 so now, we can do by ourselves, we can have joy in our programming 308 00:22:29,860 --> 00:22:31,740 it's kind of like engineers' heaven 309 00:22:31,740 --> 00:22:36,530 that's where we are, and that's why we are here 310 00:22:36,530 --> 00:22:43,530 but wait, it's still not real 311 00:22:44,820 --> 00:22:49,720 in reality is as conflict as past 312 00:22:49,720 --> 00:22:55,650 so, who maintains this fantasy land? 313 00:22:55,650 --> 00:23:00,730 in reality, we cannot just ignore mess, so we don't need 314 00:23:00,730 --> 00:23:07,730 something, so, we can ignore or just forget 315 00:23:08,980 --> 00:23:14,390 but something's got to maintain this kind of a mess 316 00:23:14,390 --> 00:23:21,390 so, it's, so somebody's got to work on that kind of mess 317 00:23:23,150 --> 00:23:25,080 garbage collectors 318 00:23:25,080 --> 00:23:29,160 no, that's not the garbage that you imagine 319 00:23:29,160 --> 00:23:36,160 for that kind of topic you can go to to the Koichi talk 320 00:23:37,070 --> 00:23:43,500 so, by the term garbage collector, I meant this (picture) 321 00:23:43,500 --> 00:23:50,500 and, we have to rely on this kind of people in our daily life 322 00:23:51,990 --> 00:23:55,040 even in our programming 323 00:23:55,040 --> 00:24:00,410 without them, we would become mess 324 00:24:00,410 --> 00:24:02,809 so welcome to the desert of reality 325 00:24:02,809 --> 00:24:06,809 we rely on garbage collectors 326 00:24:06,809 --> 00:24:10,280 so we'd better appreciate them 327 00:24:10,280 --> 00:24:17,280 we rely on a lot of garbage collectors who keep the fantasy land 328 00:24:19,320 --> 00:24:22,590 who created your favorite language? 329 00:24:22,590 --> 00:24:25,070 the garbage collector 330 00:24:25,070 --> 00:24:30,780 or, who created your favorite gems? 331 00:24:30,780 --> 00:24:34,820 gem creators, raise your hands 332 00:24:34,820 --> 00:24:38,429 you have to appreciate them (applause) 333 00:24:38,429 --> 00:24:43,669 thank you 334 00:24:43,669 --> 00:24:47,350 who created your favorite frameworks? 335 00:24:47,350 --> 00:24:54,350 who wrote your favorite books? book writers, raise your hand (applause) 336 00:24:57,130 --> 00:25:04,130 who created your opensource software, we have tons of open source software 337 00:25:05,750 --> 00:25:07,980 in and out our Ruby community 338 00:25:07,980 --> 00:25:09,440 so we have to appreciate them 339 00:25:09,440 --> 00:25:15,620 so appreciation and respect is the key, I believe 340 00:25:15,620 --> 00:25:19,299 the key to the open source community 341 00:25:19,299 --> 00:25:22,240 the key to the moving forward 342 00:25:22,240 --> 00:25:24,460 so open source community is kind of like a shark 343 00:25:24,460 --> 00:25:25,770 (laughs) 344 00:25:25,770 --> 00:25:32,770 we need to keep moving forward, or die 345 00:25:35,090 --> 00:25:36,730 (applause) 346 00:25:36,730 --> 00:25:43,730 so, we have to, and I would advise to you, keep moving forward 347 00:25:44,960 --> 00:25:51,630 so you have to run as fast as you can to stay in the same place 348 00:25:51,630 --> 00:25:58,630 and you have to run twice as fast as that to move forward 349 00:25:59,039 --> 00:26:04,030 so run fast, try often, fail early 350 00:26:04,030 --> 00:26:08,020 keep moving forward, yes, that is my message 351 00:26:08,020 --> 00:26:11,630 and in addition, appreciation is not enough 352 00:26:11,630 --> 00:26:18,270 so, we are not creative to the gem writers 353 00:26:18,270 --> 00:26:22,679 we are not creative to the language designer 354 00:26:22,679 --> 00:26:29,150 we are not creative to the open source software programmers 355 00:26:29,150 --> 00:26:32,289 so we became one 356 00:26:32,289 --> 00:26:39,289 so, take the red pill 357 00:26:41,950 --> 00:26:45,210 so, you can come join us 358 00:26:45,210 --> 00:26:49,690 if you are a programmer, that's fine, that's fine you're a programmer 359 00:26:49,690 --> 00:26:54,539 you take a great step to create something 360 00:26:54,539 --> 00:26:57,210 you know, the programmer is a creator 361 00:26:57,210 --> 00:27:04,210 so, you create software, then by your creation 362 00:27:05,530 --> 00:27:09,720 the world will be better, I hope, I really will hope 363 00:27:09,720 --> 00:27:12,880 the world will be better by your creation 364 00:27:12,880 --> 00:27:18,450 you programmers, you create soft ware, and you make the world better 365 00:27:18,450 --> 00:27:25,450 but, but you might still living in the fantasy land 366 00:27:27,690 --> 00:27:31,910 which is kept by the garbage collectors 367 00:27:31,910 --> 00:27:37,020 and if you're willing, I'm not forcing you 368 00:27:37,020 --> 00:27:40,490 if you're willing, you can be one of them 369 00:27:40,490 --> 00:27:44,630 you can be a garbage collector 370 00:27:44,630 --> 00:27:46,710 you don't want? 371 00:27:46,710 --> 00:27:49,309 but this garbage collector is much cleaner 372 00:27:49,309 --> 00:27:56,309 so, be a garbage collector, take part in keeping the fantasy land 373 00:27:56,840 --> 00:28:03,840 so this fantasy land, unlike the first one, which ignores everything 374 00:28:04,860 --> 00:28:11,860 so this fantasy land, we currently enjoy is our result of the effort of the long time 375 00:28:15,570 --> 00:28:20,350 maybe twenty, forty, fifty years of the great effort of the garbage collectors 376 00:28:20,350 --> 00:28:27,350 so, I, I invite you guys to take part in keeping the fantasy land 377 00:28:33,809 --> 00:28:38,640 and for example, so you can join the CRuby 378 00:28:38,640 --> 00:28:45,640 even in writing some reporting some issues the bug trackers or something like that 379 00:28:46,840 --> 00:28:53,840 so, once you know what we garbage collectors doing behind the CRuby 380 00:28:54,980 --> 00:29:01,980 you can take the, that session 381 00:29:04,049 --> 00:29:11,049 so, again, so I ask you to create a great fantasy land 382 00:29:18,140 --> 00:29:25,140 currently we enjoy, and it can be even greater with your effort 383 00:29:25,330 --> 00:29:30,570 so you can do as much, many things, so writing software on top of Ruby on Rails 384 00:29:30,570 --> 00:29:32,220 or the ?? (00:22:49.51) or something like that 385 00:29:32,220 --> 00:29:39,220 that will enrich the community and communicate with blogs, twitter and social net, social 386 00:29:41,580 --> 00:29:41,929 coding 387 00:29:41,929 --> 00:29:48,929 or even, participate in the community, like the GitHub is our friend 388 00:29:49,990 --> 00:29:55,150 you can do many things, submit bugs, write documents on the 389 00:29:55,150 --> 00:29:58,159 you know, have a presentation in the conference, you can 390 00:29:58,159 --> 00:30:05,159 or, write a small piece of software, write a part in the, submit a ?? (00:31:05.62) 391 00:30:05,240 --> 00:30:11,260 so, so many things you can do, but in any way create 392 00:30:11,260 --> 00:30:16,179 and try to keep a great fantasy land that we enjoy 393 00:30:16,179 --> 00:30:16,929 change the world 394 00:30:16,929 --> 00:30:23,929 so, I believe we've changed the world in better ways 395 00:30:24,690 --> 00:30:29,230 in the past, say, ten years, so 396 00:30:29,230 --> 00:30:33,110 a lot of people in this conference, in the past Ruby conferences 397 00:30:33,110 --> 00:30:40,110 so presented the great things, so now I expect even more great work will be introduced in 398 00:30:44,510 --> 00:30:48,200 this conference 399 00:30:48,200 --> 00:30:55,200 so do not be a just a listener 400 00:30:55,360 --> 00:31:01,190 do not be a passive receiver of information 401 00:31:01,190 --> 00:31:08,190 so you hear something in this conference, you learn something, take action 402 00:31:11,270 --> 00:31:12,909 change the world 403 00:31:12,909 --> 00:31:19,029 so, this is the key of the open source community 404 00:31:19,029 --> 00:31:25,390 this is the key of the Ruby community, so 405 00:31:25,390 --> 00:31:29,250 I know myself, I'm not a great programmer 406 00:31:29,250 --> 00:31:36,250 so, especially the Ruby commuters in the league knows I'm not a great programmer 407 00:31:40,080 --> 00:31:42,440 I create so many bugs 408 00:31:46,240 --> 00:31:56,620 but, but still, I could, I did great job that influenced the world 409 00:31:57,140 --> 00:32:03,770 and I respect myself by changing the world better 410 00:32:03,770 --> 00:32:09,400 so I believe you can do that too in someways 411 00:32:09,400 --> 00:32:10,809 so change the world 412 00:32:10,809 --> 00:32:11,150 thank you 413 00:32:11,150 --> 00:32:11,809 domo arigato