Menu
Sign In Search Podcasts Charts People & Topics Add Podcast API Pricing

Dave Kimura

👤 Person
180 total appearances

Appearances Over Time

Podcast Appearances

Ruby Rogues
Rails at Super Scale with Kyle d'Oliveira - RUBY 667

up to the repository, and it'll spin up an entire infrastructure within Kubernetes with an FQDN that that feature can then be tested. So it works on smaller applications.

Ruby Rogues
Rails at Super Scale with Kyle d'Oliveira - RUBY 667

up to the repository, and it'll spin up an entire infrastructure within Kubernetes with an FQDN that that feature can then be tested. So it works on smaller applications.

Ruby Rogues
Rails at Super Scale with Kyle d'Oliveira - RUBY 667

I don't know how it would work on applications that consume 30 gigs of RAM of resources, but I think on smaller applications, that kind of thing can really save you from having to have dedicated test servers that's shared by several people.

Ruby Rogues
Rails at Super Scale with Kyle d'Oliveira - RUBY 667

I don't know how it would work on applications that consume 30 gigs of RAM of resources, but I think on smaller applications, that kind of thing can really save you from having to have dedicated test servers that's shared by several people.

Ruby Rogues
Rails at Super Scale with Kyle d'Oliveira - RUBY 667

I do have a Judgement Ruby episode on Kubernetes, which that's where I got the inspiration from on that episode. I just didn't tie it into the CICD portion.

Ruby Rogues
Rails at Super Scale with Kyle d'Oliveira - RUBY 667

I do have a Judgement Ruby episode on Kubernetes, which that's where I got the inspiration from on that episode. I just didn't tie it into the CICD portion.

Ruby Rogues
Rails at Super Scale with Kyle d'Oliveira - RUBY 667

Yeah, so kind of back to the technical debt, I have an unfortunate story of something that I inherited one time where I think metaprogramming is awesome and can do a lot of really cool things and can really get you out of a bind in certain situations. But then it can also be overly abused. And

Ruby Rogues
Rails at Super Scale with Kyle d'Oliveira - RUBY 667

Yeah, so kind of back to the technical debt, I have an unfortunate story of something that I inherited one time where I think metaprogramming is awesome and can do a lot of really cool things and can really get you out of a bind in certain situations. But then it can also be overly abused. And

Ruby Rogues
Rails at Super Scale with Kyle d'Oliveira - RUBY 667

I was searching for a function that was not working properly within Ruby, and I couldn't find it in the code base at all. So I thought, okay, well, surely that this is in the gem or something. So I started looking at all the gems that's included into this Rails application, started tearing apart the gems, opening them to search for this function. Still couldn't find it.

Ruby Rogues
Rails at Super Scale with Kyle d'Oliveira - RUBY 667

I was searching for a function that was not working properly within Ruby, and I couldn't find it in the code base at all. So I thought, okay, well, surely that this is in the gem or something. So I started looking at all the gems that's included into this Rails application, started tearing apart the gems, opening them to search for this function. Still couldn't find it.

Ruby Rogues
Rails at Super Scale with Kyle d'Oliveira - RUBY 667

Turns out they were doing a class eval on something that's pulled from the database. So they actually stored Ruby functions as column or data within a column on the database. And that's what was getting executed. That's where the function was defined. So to me, that's a, what's that?

Ruby Rogues
Rails at Super Scale with Kyle d'Oliveira - RUBY 667

Turns out they were doing a class eval on something that's pulled from the database. So they actually stored Ruby functions as column or data within a column on the database. And that's what was getting executed. That's where the function was defined. So to me, that's a, what's that?

Ruby Rogues
Rails at Super Scale with Kyle d'Oliveira - RUBY 667

Yeah, so other than you could not possibly even test that bit of code with any kind of reason, but it was a nightmare.

Ruby Rogues
Rails at Super Scale with Kyle d'Oliveira - RUBY 667

Yeah, so other than you could not possibly even test that bit of code with any kind of reason, but it was a nightmare.

Ruby Rogues
Rails at Super Scale with Kyle d'Oliveira - RUBY 667

So just a warning to when you think that you're doing something really cool and elegant that's avoiding code duplication or whatever, I would much rather have code duplication all across my application than having that level of obfuscation where you're never going to be able to even remotely troubleshoot it.

Ruby Rogues
Rails at Super Scale with Kyle d'Oliveira - RUBY 667

So just a warning to when you think that you're doing something really cool and elegant that's avoiding code duplication or whatever, I would much rather have code duplication all across my application than having that level of obfuscation where you're never going to be able to even remotely troubleshoot it.

Ruby Rogues
Rails at Super Scale with Kyle d'Oliveira - RUBY 667

Yeah, absolutely. And it could even be taken to something like private methods, where if you have a class which has a bunch of methods, start sorting them out, which ones are private methods so they do not need to be accessible to the consumer. Because I've had situations where I've worked on a class that grew over a thousand lines and And there were hundreds of methods in there.

Ruby Rogues
Rails at Super Scale with Kyle d'Oliveira - RUBY 667

Yeah, absolutely. And it could even be taken to something like private methods, where if you have a class which has a bunch of methods, start sorting them out, which ones are private methods so they do not need to be accessible to the consumer. Because I've had situations where I've worked on a class that grew over a thousand lines and And there were hundreds of methods in there.

Ruby Rogues
Rails at Super Scale with Kyle d'Oliveira - RUBY 667

And I had no idea which ones were publicly accessible that were truly supposed to be publicly accessible and which ones were really meant to be private. So not having that level of abstraction, so to speak, you lose a lot of visibility in how important is this class to the consumer.

Ruby Rogues
Rails at Super Scale with Kyle d'Oliveira - RUBY 667

And I had no idea which ones were publicly accessible that were truly supposed to be publicly accessible and which ones were really meant to be private. So not having that level of abstraction, so to speak, you lose a lot of visibility in how important is this class to the consumer.