R. Schneeman: "Threads aren’t evil"

Speaker at RailsClub, 2016 Ruby Hero. Top 50 Rails contributors. Maintainer of Sprockets, Heroku
15 November 2017   728

Richard Schneeman at RailsClub2017
Richard Schneeman at RailsClub2017

Speaker at RailsClub, 2016 Ruby Hero. Top 50 Rails contributors. Maintainer of Sprockets, Heroku. 

On the RailsClub 2017, we’ve managed to talk with Richard about his report, his job and the future of Ruby and Rails.

Hi! How have you been? How’s Moscow?

Hi, Moscow has been great, I got here, I guess, two nights ago, and yesterday we did some tourism with the other speakers.

It’s cold, isn’t it?

Oh my gosh, it’s freezing! I’m from Texas, so I brought extra jackets, extra shirts. It’s so cold!

Well, hope you won’t fall sick. How’s the conference going? Has it met your expectations so far?

Yeah, somebody has just handed me a giant thing of cotton candy and I wasn’t expecting it, so that’s exceeding expectations. Immediately after my talk people asked questions and, at most conferences, the questions they ask are awful, while here the questions, I think, were really good and they actually added on to what I was trying to say. I really appreciated that. A lot of the developers came up to me and had good questions after the conversation.

Moving to your report. What about threads?

Well, threads aren’t evil. That was it, end of talk. [laughing] I think Ruby developers are very afraid of threads, and they don’t understand what a thread is. So, I wanted to explain the background of threads and show some cases where we can use threads. And it’s not that scary.

Is it possible to make the usage of threads easier?

The best way that I’ve seen to make it easier is through patterns. Threads are so simple, if you do too much on top of the thread and it’s no longer a thread. For example, the guilds is being proposed and that is supposed to be easier. *Cuich* is very interested in making a very easy-to-use case, but, unfortunately, if you are going to use threads, it’s going to be difficult. So, they’re not evil, but they’re hard.

What about the programming world in the future? How do you see it in 10 or 50 years?

Brain implants, I think. And we just think of what we want to happen and then it just works.

Is there a place for Ruby?

This is a very difficult question. I’ve been programming in Ruby for 10 years and when I first started, Rails had just come out and it was Rails 0.9. Everybody was so excited. I think Rails now is very immature, and to me it’s really good. To me, this means that I can be productive, and when people add new features, it’s not a big new feature, but it’s a useful new feature, and I’m really excited about that. So, I think Ruby is a really good intersection of usability and it’s getting faster. I think this is the number one goal of the core team.

So you’ve got the positive outlook, haven’t you?

Yes, I have.

Nowadays, the job of the coder is becoming more and more popular. There are plenty of coders out there. What is your advice to stand out from the crowd?

If you want to stand out from the crown, wear a big hat! [laughing] I’ve always tried to have a large impact, so I picked up maintainership of Sprockets, because a lot of people were using it and there was a need in the community. That’s what I’ve been mostly interested in. I also think, that making sure to get out will help: speak to people, go to conferences. I’ve got a tremendous amount of good feedback writing a blogpost. I’m trying to write a blogpost once a week, which is not happening this week, I’m sorry, I’m in Russia, I’m enjoying the sites.

Talking about feedback, a lot of people do their job and get a great satisfaction from it, e.g. building a useful thing, such as an aircraft or a ship,  that serves people and they thank you. Do you happen to get this feedback or is it just like a task and money?

Oh no, no, no. Well, I like getting money, I like being paid. However, I don’t have any ads on my blog or anything like that. I like sharing what I’ve learned. I learned how to program from so many different people and they were just sharing what they knew. Now I want to share what I know and it actually ends up paying back to me, because sometimes I post and I say: “Hey! Here’s how I did something”, and people reach out to me and say: “Oh, I’ve got a better way”. So, my job is very rewarding for me in this way.

Have you ever thought about writing a book? What would it be about? What would be the name of the book?

Hmm, “Programming isn’t evil”, maybe? Actually, I co-authored O'Reilly's book about Heroku. So, I guess, I can say that I’ve written a half of a book. Talking about my own book, I’d like to, but I don’t necessarily know what people want to hear about. Some of my most popular blog posts are about the service I run called “codetriage.com” and people are very interested in things like how the does the service work, how is it run, how do I get new users. They are also interested in technical problems, like “I did this, and it was wrong. Here’s how you can learn from me”, and I think this is really interesting. It could be a need to package all of it up in a book, as it is half technical, half non-technical.

It is believed, that a person of each profession has its own professional nightmares connected to their job. Do you have yours?

I don’t know. Probably, the worst that could happen is that I was just very adamant about a certain change, and I ignored some good feedback from someone else. What I mean, is I don’t mind being wrong, but I would be very hurt if someone had been trying to warn me to do the right thing and I just didn’t listen to them at all.

Oh, that’s very it's very sentimental of you. Thank you for joining us, it’s been a pleasure to talk to you!

Thanks for having me!

N. Sutterer: "Ruby is dead. Long live Ruby!"

Creator of Trailblazer that introduces several new abstraction layers into Rails, Rails contributor and gem author, speaker at Railsclub
15 January 2018   818

Nick Sutterer at RailsClub 2017
Nick Sutterer at RailsClub 2017

Hello! Please, introduce yourself in few words.

My name is Nick Sutterer, I’m developing software for like 22-25 years and I work like a consultant of my open source project for different companies. Sometimes I give presentations at conferences.

Is it your first time in Russia, Moscow, RailsClub?

It is. Everything for a first time. I’m blown away!

How do you like it?

Great! It’s amazing! Since I arrived, people care about me, people take me out, people show me the city, people give me history lessons. It’s amazing. Great food. We go to places and have a drink. I go to hotel, sleep, and everything starts again. That’s amazing! I’m really enjoying it.

Can you tell us about your report in few keynotes?

My talk was about the lack of innovation in Ruby language and about innovations that is happening in frameworks, that use Ruby. I’m just showing what we have. I try to inspire people and Ruby core team to pick some ideas from other technologies and make Ruby even better.

Your talk is called “Ruby is dead”. If Ruby is dead, what’s alive?

Ruby is dead. Long live Ruby. I’m trying to be provocative with my talk. I’m still coding Ruby everyday, I’m still traveling to all conference because I still believe that Ruby is an amazing programming language. There’s languages, showing up recently. Elixir or Golang for example. They have completely different way. They deal with problems and they are way more innovative. But they are brand new. I, actually, don’t think that Ruby is dead.

What you don’t like in Ruby the most?

I hate that we keep thinking in really old way. We reject innovation. It is especially due to frameworks like Rails. I would love to the more development of Rails, with all it’s huge audience. Ruby is lacking a lot of features that a lot of other languages have, like pattern matching and method overloading. The problem is that sometimes I feel that we are behind the innovations that happen to other languages. Specifically features, that make other languages amazing. We don’t have them, and it’s very sad.

What is your way to improve Ruby?

Every time is meet Matz at conference, I tell him for few hours what should be done to improve Ruby. Without any providing any help. It’s all about innovations. I try to innovate in my own framework, Trailblazer. So we can put the way we write business code to new level. I try to inspire people with my library code they use new concepts in Ruby that never been there before. I think that helping them to write the applications.

How do you see the world of programming in 10 and 50 years? And will Ruby and Rails have place in this future?

I don’t think Rails will have place. I really love Rails community and people in Rails Core. But I don’t think that Rails will be a thing in 10 years. But I think Ruby will still be around. It all depends on what is going to happen with Ruby 3.0. When it will be released and what features will it bring. I think Ruby will still be there. But I can’t tell you what will happen in 50 years. Because in 50 years there won’t be a need to program anymore. We will probably just write diagrams on the air.

In your opinion, what technologies are the most hypest today?

Craft beer and coffee, haha! Everything that hipsters do! Now everything is switching from OOP to FP. We are trying to avoid to have unwanted side effects in order to not let users to screw up internal state. Functional programming makes it impossible to users to do stuff in wrong order, for example. Like problems that we have in Ruby. I see a lot of development in functional languages because they are also way easy to paralyze and they have a lot of advanced features.

What advice can you give to average programmer to stand out the crowd?

Important thing in IT is that you always need to play with new tools. Even if you are not a super programmer, you have to look at the community and check what’s going on. It is really important to keep moving. Otherwise, I see that my current job at the police is really slow. They using very outdated technologies. A lot of people are affected. It is non productive. It’s good because a lot of people are keeping their jobs . But it is important to adopt new technologies. I’m not saying be a coding hipster and change your framework everyday. But a lot of new things in last 10 years make sense. People should use it and not just sit there and enjoy excellent job. They can get fired tomorrow.

What makes you excited about your job?

That’s beautiful question. I think that idea of open source is that you expose code that you think is helpful and people will tell you that it really is. This is what keeps me programming. When I write something and I see that a lot of people use it and they say like “It is so much better that I used before!” It’s great! This is making my day. It’s all about what comes back. I also program my own stuff and sometimes I think: “Yes!” But mostly I like when something what I do is helpful to other people.

Do you have any plans on writing a book?

I have already wrote one book. Two years ago, it took like 16 months. I was writing and inventing at the same time. That was a huge mistake! I was keeping updating my book with changes in my library code. It was massive. I plan to write more books, because it was fun. It has to be with the right timing. I’m not gonna write a book about, for example, a new version of my framework now because it’s still changing. I’m not gonna make this mistake again. It’s so much work! Unbelievable.

Do you have any nightmares, related to you job?

I used to have those kind of dreams few years ago. Sometimes I still have them.You always imagine software as something visual. Brain just does that. My dreams about those thing and passing the objects. And it’s always the wrong object! It’s the only nightmare that I have. I was able to have good work\life balance. So I have very rare the bad sleep. Even if I don’t look like it.