Zach Briggs: without Rails I lived like without toilet and hot water

Why Zach Briggs chose Rails and got back in it after the two years break? 
07 June 2017   844

Zach Briggs

Zach Briggs

RailsClub

Biggest Russian Ruby on Rails event

JavaScript practice lead at TableXI where he ensures that the organization is rapidly shipping outcome focused, lean products. He has spoken or taught workshops at RailsClub, RailsConf, CodeMash, Barcelona Ruby Conf, KalamazooX, and many more.

At RailsClub 2016 he spoked about JavaScript for Rails Devs.

In his opinion, frontend JavaScript today is an abyss of ranters, bad abstractions and complicated tools. Lucky for us, there are simple technologies, which can be used to build  dynamic, handle and modern interface and not to die in this abyss.
 

In his report, Zach showed us the technic which can be used to build JavaScript technologies inside randing pages, in order to create interactive zones. In can be used in existing system, just by adding only 20kB of archived JavaScript and a piece of common sense.

We had a chance to ask him few questions after the speech.

How have you became a Ruby developer? 

I graduated from college in 2002, right after the .com crash and I could not get a job in tech. This threw my career path on a 10 year long detour into sorting mail; first by hand then maintaining machines that sorted mail, then preparing the data that was printed on the mail, then producing predictive models to select addresses. The predictive models I made were produced first in Excel and then using static sql scripts once my models became so popular that I couldn't use Excel anymore. (120 gigabytes of address data in just a single one of my tables.) I picked up Ruby and Rails because I needed to produce reports by postal code and sql doesn't provide loops. Once I started learning Ruby, I got hooked and left my job to become a Ruby developer within 3 months.

What are you working on right now? 

My team at Table XI just launched TheSpiceHouse. I'm very proud of how we blended a mostly traditional Rails app with little islands of interactivity. I'm now preparing a series of tutorials and blog posts to help people build beautiful, dynamic UIs without needed more JavaScript than what's strictly necessary.

What is missing in Rails, in your opinion?

I spent 2014 writing Clojure(Script) and 2015 writing JavaScript that consumed a JSON API from Golang services. 2016 has been my year of returning to Rails after being away for two years, and I couldn't be happier. Other programming cultures have Sinatra clones but they rarely have a good Rails-like developer experience. Let me tell you, I am just about tired of re-solving database migrations, XSS protection, link helpers, and the asset manifest over and over again. I felt like I was living without toilets and hot water for those two years outside of the Rails ecosystem, so keep that in mind. That being said, Rails needs a means of leveraging the tooling that's made available to NPM. The asset pipeline is hard to use half way, and even harder to get rid of. The problem is, without Npm based tooling I as a frontend focused Rubyist am locked out of code eliminating CSS compilers, ES6 modules that walk the AST, and hot module reloading. If I worked at a product company, I would take the time to pull out Sprokets in favor of an Npm based workflow, but I'm the JavaScript practice lead of a consultancy with dozens of projects. Replacing Sprockets for each project would just be too labor intensive.

What's your favorite programming language besides Ruby? 

I actually write more JavaScript than Ruby these days, though I consider myself a Rubyist at heart. I would write Standard ML all day long if doing so would delight users.

Which technology, in your opinion, will be the most promising in the near future?

Views that can be rendered on the server or client. Think Meteor JS or React. I don't think either of those technologies will «win,» they're hard to use effectively on budget constrained projects, but ubiquitous rendering is coming, mark my words.

What is Open Source for you? 

OSS is the only way to solve hard problems. Secrecy kills software innovation.

What's the last thing you learned from the web development world?

I try not to pay attention to developer news. You'll never find me on Reddit or Hacker News because it takes too much of my time and energy away from learning topics deeply. I've been reading about the history of Unix and the C programming language lately because I want to deeply understand how we got to where we are today. Here's the book, published in 2003. Not exactly news but I'm enjoying it! 

Favorite resources (blogs / sites / twitter) on web development and programming topics?

I listen to the Shop Talk Show every once in a while, but that's about it. 

Last read book on programming / technologies?

I just finished 21st Century C and am now working on The Art of Unix Programming. I want to understand the history of how we got here and it's just about time that I learned C, the language that runs the languages I use.

What's your advice to the developers, which want to be successful?

Build websites. Take 25% longer to do your work than what you're comfortable with so long as you can invest that time in learning how to do it better. Be suspicious of every line of code you write. Try to justify pulling out every feature, every gem, and every darling abstraction. Spend at least one year as a TDD zealot, then spend 6 months writing no tests at all. Most importantly, fight for your users. You're the only one who will.

Not tired from programming? 

Getting tired of coding happens to all of us. Have hobbies that don't involve writing code and friends who don't know how to code. Don't work too much and when you figure out how to do that, let me know how it's done.

What would you do, if you've received few free paid months?

I would produce a series of high quality screencasts or write a book on how I build JavaScript enriched Rails apps.

Your expectation from the conference?

I've never been to Russia before, so I'm looking forward to seeing as many sights as I can and meeting as many delightful humans as I may. I also want to take the opportunity to personally thank Matz because if Ruby wasn't this fun then I probably wouldn't be a programmer today.

RailsClub conference on which we managed to communicate with Zach will take place this year in Moscow 23th of September.

Get your ticket here.

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   291

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.