I had the pleasure of meeting the illustrious Kirill on the first night of RailsCamp. He told me that he’s quite prolific and everyone knows him, he was absolutely correct. He’s quite a character and his reputations, all of them, precede him.
Kirill, tell us a little about yourself?
My name is Kirill, one of the Ruby on Rails developers from Melbourne. Everybody in Melbourne knows me, everybody in Australia, any Rails developer knows me, for crazy things like I’m the only drunk Russian. You don’t want to drink with me, because, I’ll screw you up.
On a slightly better note, I know linguistic analysis in Ruby. I patched Rails 3.1 to support BC dates which is actually available now. I speak four languages, and unfortunately I have to mix them on a daily basis, a lot of mixing.
What languages do you speak?
From birth I was cursed with Ukrainian Russian, I still have to speak with my family in Russian, I live with my my Japanese girlfriend and used to live in Japan, so I speak Japanese at home and obviously English when I have to.
At the last Rails Camp I did a talk on my Japanese Language Parser, you can give it any Japanese sentence and it will figure out where the words end and conjugate them back into the dictionary forms. I should show it to you. Yesterday someone approached me and pointed out the talk that we did and they want to port the algorithm because it can be easily applied to Chinese.
How long have you been work on Ruby projects for?
Probably about three years now.
What other programming languages have you worked with?
I started programming when I was 11 years old, writing in Pascal in Ukraine. Pascal is an amazing language actually, to this day the International Programming Competitions are still held in Pascal, I think the French are organizing it. Since then obviously C, you’ve got to know C because otherwise you won’t understand what’s actually happening with the computer. At University, Haskell, Haskell is another great, functional programming language that I am very fond of.
Obviously I had to do Java, not a big fan, commercially I had to do .NET, also not a big fan, and in my spare time, and everyone seems amazed by this, I used to b a big Python developer before I joined Ruby. Every time I say this people say “well, that’s amazing because usually Python people hate Ruby and will never change sides”. That’s why whenever I see, and I’m defending the Rails team now, every single time I have to have an argument with a Python developer, I hope I can have a better argument with him just because I know exactly what it is on the Python side. Now and then I still have to do things in Python and I love it.
Funny enough, a great example, I had to do a language identification project at University, while Ruby was my first language of choice with the test data it would run in 30 minutes. You would port the same algorithm to Python and it would run in 8 minutes. Ruby, I love you but you’re terrible. Anyway, I don’t want to talk about my relationship with Ruby, she’s not gonna like it.
Where are you working at the moment?
I’m working at Silverpond, we are a small studio, not in Cremone now, even though it still says that on my business card. Seriously the minimum order is 1000 for $75, we’re actually now in the city, on Market Street. We have a lot of clients in the automotive industry, recently did a job for AusPost and currently Melbourne Uni so we’re getting bigger clients and bigger names.
So, obviously we’re at RailsCamp, is there anything you find interesting or compelling or fun about Ruby on Rails?
Ahh, Ruby on Rails, funnily enough I had to actually explain this to my girlfriend last week, so she knows I always go to Japan to RubyKaigi, so she’s obviously heard the word Ruby a lot, and now Ruby on Rails, and I had to explain to her the difference between Ruby and Ruby on Rails, unashamedly I’m going to do the same thing to you.
We all love Ruby, we all do Rails because we have to. There’s a terrible difference because Ruby is the most human language I can ever find, I love writing in Ruby. I hate the web, the web is a mess, all different browsers, all different standards, request response meetings, state of the application, there’s so many issues, but Rails makes it better. I love Ruby.
Do you have any words of wisdom for anyone interested in Ruby/Ruby on Rails? What was the big moment for you, when it started to really make sense?
This is another interesting thing. In Python, it is a programming language at its best, it has a computer science feel to it, it’s one semantic machine learning syntax to represent everything. Keep in mind there is one syntax to do anything, where I always saw Ruby as there are so many ways to achieve anything. And at the beginning I never liked it, but now I see that it’s actually better.
While there are many ways there is the one best way to solve it. The thing is, don’t mind that there’s more than one way to do things in Ruby, there is always one best way. The best thing about Ruby, as we are all humans, it’s the most intuitive way to do things. So many times when I don’t know how to do something, instead of giving me documentation, you just guess. You just guess, and it works. It’s really predictable. How many cows were born in the month of July? Punch in ‘cows born in month of July’ and there it is. It’s very pragmatic and usually the most obvious solution to the problem.
Kirill is very entertaining and very passionate about what he does. If you ever have the chance to talk to him, jump on it.