Ruby divide at RubyKaigi 2010 and what can you do as a Rubyist? (Part 1)
Ruby divide at RubyKaigi 2010 and what can you do as a Rubyist? (Part 1)
Introduction
It is almost 2 weeks since RubyKaigi finished. For full details of the conference, check out Jake Scruggs' near real time report.
Ruby Kaigi was one of the most memorable conferences I have ever attended. There were countless efforts by volunteer staff to make the conference as enjoyable as possible. I met lots of interesting people and enjoyed every conversation in the conference hall, hallways, and Izakaya . All the topics discussed there were very thought provoking.
The theme of this year's RubyKaigi ("Kaigi" means "Meeting") was "Conflicts and Resolutions" and many talks covered various conflicts relating to the (especially Japanese) Ruby community like below.
- Japanese / English
- Committers / Users
- Before / After Rails
- Hobby / Enterprise
The resolution to these conflicts was rather interesting. @takahashim, the chairman of the Japan Ruby Society, announced next year's conference theme as the "Final RubyKaigi". He proposed a big assignment to all of the attendees. "What would you do if you know that next RubyKaigi is the last?"
As Jake mentioned, I suspect that many non Japanese attendees did not understand the whole context due to some language barriers.
During this post, I will try my best to explain the background of each conflict so that we can think together what we can do to the community and RubyKaigi 2011
Who am I ?
Before I start, here is a bit of introduction about myself which tells you why my experience made me a rare highbred between Japanese and non Japanese Rubyists.
I was born and brought up in Japan. I worked in Tokyo as a DBA (DataBase Administrator) for 5 years, then moved to London 6 years ago. My encounter with Ruby is similar to most of you (non-Japanese Rubyists). I got to know Ruby through Ruby On Rails around 2006. As I learnt more about Rails, I learnt that the real power comes from its underlying language, Ruby.
Even though I did not experience the pre-Rails era, I can access all the Japanese resources which were written before Rails stormed the Ruby community.
I also have been reading Rubyist Magazine(ja) and kept dreaming about meeting these "legendary Japanese Ruby Hackers" one day. It was exciting not only to meet Matz, but also other Ruby committers and core community members. It was also a great honour to present as a speaker about "Building Real Time Web" which was about doing WebSocket with (Javascript and ) Ruby, and a story about how we came up with Pusher.
| My speaker pass and Japanese fan with Matz cartoon |
Japanese / English
Before I headed to Japan, many people told me "wow, a ruby conference in Japan sounds interesting, but I don't speak Japanese, so wouldn't understand anything".
In short answer, that's fine. There were always at least 2 streams, one of which was in English (most English talks were done by some well known rubyists like @wycats).
In long answer, you were able to enjoy even Japanese talks, thanks to a crowd sourcing real time translation effort led by @lchin and @fdiary. There were 2 big IRC & Twitter streaming boards next to the presentation slides, which were created by @june29 and used our own Pusher for the backend (the source code is here)
The most surprising moment was when @yukihiro_matz appeared on stage as a English - Japanese interpreter during Rails 3 / Ruby 1.9.2 panel discussions. (this was the last minute replacement of Jeremy Kemper's keynote).
I did not know that @tenderlove (the author of Nokogiri) was the only person who has commit rights in both Ruby and Rails. During the panel discussion, @wycats mentioned that there are communication problems between Japanese and non Japanese Ruby developers. The mailing lists are divided into two (English/Japanese), and some of the most important discussions are done on the Japanese one.
They mentioned the past trial of translating all Japanese mailing lists into English, but it halted (due to lack of manpower). @yukihiro_matz later tweeted his worry about merging the two into one English one, because he fully understands how hard it is for some Japanese committers to communicate difficult topics in English.
Here is the panel discussion video.
It was hilarious to see @yukihiro_matz translating @wycats 's complaint to a Japanese audience.
Committers / Users
One of the things you don't get at any other Ruby conferences is having the chance to meet Ruby core team members. I only knew a few names, so I was surprised to see that there were 26 of them on stage during Ruby 1.9.2 Q&A session. According to @yugui, the release manager of Ruby 1.9.2, the significant point of the release is spent (hence some delay) to pass all of the RubySpec (created by Rubinius team), so that other Ruby implementations can use the spec as a reference point to guarantee compatibility.
| From rubykaigi2010 |
Besides the Q&A session, there were lots of other talks related to Ruby internals.
- Keynote by Matz = About Ruby 2.0 features
- Best Imitation of Your Class = Talk about Classbox which Matz mentioned at his keynote
- We can make the GC X times slower than the original
- How Did Yarv2llvm Fail
- AOT Compiler for Ruby
Unfortunately, they were all in Japanese (and the IRC translation logs don't seem to be available), but you can read their short summaries in English.
One thing I realised during the conference is that RubyKaigi is actually a C developers' conference in disguise. I probably saw as much C code in the slides as Ruby code during the conference.
Apparently, there is a book called "Ruby Hacking Guide" and there are even "RHG book reading group"s in Japan. There is an English version, but looks it is obsolete and not even complete.
One of my personal concerns is the gap between these "Ruby committers" and normal Ruby users. I have seen a few of these committers assuming that most Rubyists are converts from C/Java, but that's not entirely true.
I am a big fan of being a polyglot programmer, but learning C/Java as a Rubyist is a bit harder than going the opposite way, and I haven't seen lots of material targeting these. I hope someone knowledgeable in these languages gives a talk for "Introduction to C/C++/Java for Rubyists". Rubinius could fit into these gaps, but there were no related talks during the Kaigi.
Before / After Rails
For the majority of non Japanese Rubyists, it will be difficult to find someone around you who has never used Rails.
However, this does not apply to many Japanese Rubyists because there were already other influential applications, such as tDiary, Hiki, qwik or Rabbit, most of which I've never heard before.
"How to survive in a post rails world" was presented by @hsbt, one of the tDiary committers who recently started working in new company with a colleague who lives and breathes Rails and Github. Half of his slides are in Japanese, but you can still get some idea of what he talks about. He basically says that many of the "Before Rails" people still use sourceforge and raa, so suggests to put their work into Github.
I was a bit surprised that some of the well known Japanese Rubyists don't actually use Github.
Since nowadays we assume that all the active projects are in Github, some of the "Before Rails" projects may be neglected just because they are not on Github. @hsbt stressed that it is now inevitable for Rubyists to live without such a system and suggested to move lots of good "Before Rails" heritage into some sort of social coding platform (NOTE: tDiary is still in active development and now they are hosted at github).
Another related talk was done by @a_matsuda a week after the RubyKaigi at a conference called "Ruby World Conf" , organised in Matsue (Matz's home town).
The title is "Ruby in the World, and Rails in Japan".
In his slides, he even says Japanese Ruby is a "Galapagos". The word "Galapagos" is often referred to Japanese mobile phone technologies. It evolved in a isolated place , so it is very unique (and often advanced), but has problems blending into the global standard.
I recently saw some Japanese person tweeting that "Using Rails or Gems are very inconvenient because you can not install them on a shared hosting environment". This kind of conversation sounds so 2006 ~ 7 for us, because all Ruby/Rails people abroad just use a cheap VPS or Heroku for casual use.
Hobby / Enterprise
In the same slide, he also mentions that "Ruby super rockstars in japan tends not to work with Ruby but something LEGACY" . Apparently @tendorlove asked him what these talented programmers do without Rails or Rubygems, and his answer was this.
Playing Esoteric programming or code golf are actually a great way to brash up your programming skills, so doing it in itself is nothing wrong. However, it is sad if programmers with such high skills can not find Ruby related jobs when he/she wishes (NOTE: the above slide is just an example of a super-skilled Japanese Rubyist, and I don't know what he does for his day job).
During one of the Kaigi events called "I am a Rubyist working abroad, any questions", I had a chance to ask all attendees how many people are actually using Ruby in their day job in Japan, and was surprised to see that less than half the people in the room raised hands. This is very similar to the situation during 2007 ~ 2008 in Europe (and @pat also said it was similar in Australia). Nowadays most Rubyists outside of Japan already work as full time Ruby (or Rails) programmers. This is rather unfortunate considering that Japan is where Ruby was born. I guess this is because Ruby has been seen as "hobby" language for such a long time.
There seemed to be strong interest to bring business to the ruby community during RubyKaigi. There were 3 sub events mostly focused on the business side.
I only attended the third event, organized by CookPad, and it was kind of interesting.
"Cookpad" is the most popular cooking recipe site and 6th biggest Rails site in the world.
The first half of the talk was about how to scale such a huge site, but the second half was about their working environment, and they stressed how much effort they were putting in to provide best working environment for developers (btw, they were recruiting both Japanese and non Japanese developers massively during the Kaigi). This is normal in America or Europe to attract talented developers, but it is very unusual in Japan, because the Japanese IT industry is often called 3K , "Kitsui"(Hard), "Kaerenai"(Can't go home), and "Kyuryo Yasui"(Low salary).
Summary
Even though the RubyKaigi2010 was a big success, thanks to the hard work of all the volunteer staff and a combination of interesting talks covering a wide range of the Ruby divide, it revealed that the Japanese Ruby community is facing some growing pains.
So, why is finishing RubyKaigi next year the solution?
I will explain in more detail in the next post.
