Menu
Sign In Pricing Add Podcast

John Epperson

Appearances

Ruby Rogues

The Hidden Gems of Ruby - RUBY 651

102.377

To prepare for this episode, I also bought a collection of Raspberry Pi related devices.

Ruby Rogues

The Hidden Gems of Ruby - RUBY 651

109.879

So I too could code along with Valentino's Ruby guide. And as he says, the Python is infested, absolutely infested the Raspberry Pi ecosystem. There's Python everywhere. And trying to root it out, trying to root it out of your hardware, getting a kind of Ruby pitchfork and digging all of the Python out of the examples is really fantastic work. So thank you very much for doing that.

Ruby Rogues

The Hidden Gems of Ruby - RUBY 651

1210.447

So that's really nice interface because it just does it for you after you turn it on. Yep. So you type measure and then anything you run from your IRB or whatever after that gets measured.

Ruby Rogues

The Hidden Gems of Ruby - RUBY 651

138.526

Code by code, we'll make it through.

Ruby Rogues

The Hidden Gems of Ruby - RUBY 651

1817.845

So this is from the Hidden Gems Ruby article. The Ripper, it says, is a lexical analyzer. And you run the Ripper command on a Hello World and you get loads of stuff out. How did you get into using that? And what are you using that for? Because that, to me, looks incredibly technical and obscure. Yeah.

Ruby Rogues

The Hidden Gems of Ruby - RUBY 651

1877.137

Got it. So maybe if you're calling in some external library that's memory is going missing, that kind of situation?

Ruby Rogues

The Hidden Gems of Ruby - RUBY 651

2365.225

Nice. All right, Luke, what are your picks? Well, I've got to pick my magic, haven't I? My max magic gem is definitely my pick. What a marvelous gem it is. But only version 3.5 or lower. You know how we were talking about JavaScript features kind of coming into Ruby 3? Well, now we've got kind of NPM features coming into the gem ecosystem, the Ruby gem system.

Ruby Rogues

The Hidden Gems of Ruby - RUBY 651

2396.725

We're really, really taking our lead from JavaScript at the moment. So I've linked to an issue on GitHub where some developers are saying that because this license changes to GPL, then everyone has to release all their source code. This really isn't true. This idea of a viral license was introduced by Microsoft in the early 2000s. And, you know, you can go on Wikipedia and look it up.

Ruby Rogues

The Hidden Gems of Ruby - RUBY 651

2424.872

And it's kind of a smear used against the free software movement that there is this kind of nasty license that if you include it in your code, then you suddenly have to release all your source queries and your business is over. There is a license called the AGPL. which has some restrictions on software as a service systems.

Ruby Rogues

The Hidden Gems of Ruby - RUBY 651

2445.757

But there is no strange magic license that you introduce that suddenly makes you do things. And people miss the point with free software a lot. They seem to kind of confuse it. The whole point of free software is that you have freedom. And if someone's making you release your source code when you don't want to, that's not really freedom. So people need to calm down on the GPL side of things.

Ruby Rogues

The Hidden Gems of Ruby - RUBY 651

2470.659

GPL is a great thing. It's built the... the computing infrastructure we have today, the MIT license is not so great. And I'm not such a big fan. But if you don't believe me, look into it for yourself. So there we go. My Pick of the Week, my magic. Thank you for keeping Ruby interesting.

Ruby Rogues

The Hidden Gems of Ruby - RUBY 651

3163.484

So I know this is the sound of Chuck's weekend disappearing.

Ruby Rogues

The Hidden Gems of Ruby - RUBY 651

713.791

So this kind of environment automation and warning is kind of really important for you because you're dealing with medical data and things. So it's kind of really important you don't get it wrong.

Ruby Rogues

The Hidden Gems of Ruby - RUBY 651

805.558

Yeah, this is the kind of double-edged problem of your sphere is because not only does it have to be really high security, but it also has to be high availability because the code is literally saving people's lives.

Ruby Rogues

The Hidden Gems of Ruby - RUBY 651

841.113

Are you hijacking this IRB talk with Pride?

Ruby Rogues

The Hidden Gems of Ruby - RUBY 651

973.021

I didn't know that. I did not know that. I didn't either.

Ruby Rogues

Sorbet with Ufuk Kayserilioglu - RUBY 664

1201.257

Okay, so you guys went through all this work and effort to get Sorbet working at Shopify. So what did you get from that? What was your value? What was you guys' value proposition as best you understand it?

Ruby Rogues

Sorbet with Ufuk Kayserilioglu - RUBY 664

154.099

Wow. So there've been a couple of talks that you've given at RubyConf that I know about. I don't know if you've given more than that, but... Yeah.

Ruby Rogues

Sorbet with Ufuk Kayserilioglu - RUBY 664

1686.999

Yeah, I was just going to say, it sounds like you were able to test more or less your premise, right? Which is that you were going to be able to eliminate all of these name errors.

Ruby Rogues

Sorbet with Ufuk Kayserilioglu - RUBY 664

174.387

Yep. Sorry about the confusion. One was on Sorbet and one was on the network. I know that I particularly, for one, am interested in hearing about your adoption at Sorbet. I think that's super interesting to me. Anything that you particularly want to note about either of those things that you're super interested in yourself?

Ruby Rogues

Sorbet with Ufuk Kayserilioglu - RUBY 664

3059.525

Sweet. Then let's roll on into PIX then. Dave, would you start us off with PIX this week?

Ruby Rogues

Sorbet with Ufuk Kayserilioglu - RUBY 664

3167.515

That's pretty cool. Nice. I'll be pointing some people that I know are super interested in that to you, actually.

Ruby Rogues

Sorbet with Ufuk Kayserilioglu - RUBY 664

3184.931

Luke, what do you have for us this week?

Ruby Rogues

Sorbet with Ufuk Kayserilioglu - RUBY 664

3231.891

It's a great read. Awesome. So I have a couple of picks for this week. One is actually something that's been out for quite some time now, but I really wasn't introduced to it until very recently. It's called ASDF.

Ruby Rogues

Sorbet with Ufuk Kayserilioglu - RUBY 664

3244.093

If you're familiar with RBM or RVM or any other version manager or any language, ASDF is more or less a similar thing, except that it's really just cross-language, cross-tool kind of thing. They have plugins for things like Postgres and MySQL.

Ruby Rogues

Sorbet with Ufuk Kayserilioglu - RUBY 664

3264.12

I don't really see a lot of value with Postgres personally, but I did see, I was trying this out on a project that had MySQL and switching between versions is legit.

Ruby Rogues

Sorbet with Ufuk Kayserilioglu - RUBY 664

3275.026

Basically, the thing about this tool is it's really for making it so that you can set up your development machine to switch between versions of Python and Ruby and Node and your database that you have and a whole bunch of different tools. I mostly use Docker these days. So this really isn't like a thing that I'm going to use all the time.

Ruby Rogues

Sorbet with Ufuk Kayserilioglu - RUBY 664

3299.01

But I do have a couple like outlying projects that are just fun. And so I explicitly, I was introduced to this. I was like, all right, I'm gonna try this out. It's legit. So I don't know that I'm ready to completely give up RVM for this yet. Mostly because I do almost all Ruby work. But it's definitely taking some mindshare up in my brain at this point. So it's pretty cool.

Ruby Rogues

Sorbet with Ufuk Kayserilioglu - RUBY 664

3320.922

Definitely recommend checking that out.

Ruby Rogues

Sorbet with Ufuk Kayserilioglu - RUBY 664

44.531

welcome to ruby rogues today on our panel this week we have dave kimura hi everyone and we have luke stutters hi and i'm john epperson and for a guest this week we have caseid leo lu yes hi welcome would you tell us what you're famous for what you do just a little bit about you so we can get kind of going here sure i'm currently working at shopify on the ruby and rails infrastructure team

Ruby Rogues

Sorbet with Ufuk Kayserilioglu - RUBY 664

494.446

Yeah, I definitely remember more than one talk at RailsConf throughout the years on how you guys' infrastructure changed. And I remember sitting at the table with some Shopify people one year who were talking me through how they were moving from Vagrant to Docker. So yeah, I do remember the story changing.

Ruby Rogues

Sorbet with Ufuk Kayserilioglu - RUBY 664

510.59

I'm not expert enough to talk about it by any means, but that's been crazy to watch from the outside. Yes. So, all right. To get us down into Sorbet, maybe from a high level, talk about what you guys did to make Sorbet happen at Shopify.

Ruby Rogues

Sorbet with Ufuk Kayserilioglu - RUBY 664

923.874

So just a quick follow-up there. So you guys have this problem in Shopify because you have a bunch of gems. Did the people that created this gem... Stripe, yeah. Stripe, yes. I don't know why I couldn't think of it for a second. Did Stripe not have any gems dependencies then?

Ruby Rogues

Sorbet with Ufuk Kayserilioglu - RUBY 664

991.69

Gotcha. Okay. What else did you encounter?