Skip to content
TrackPodcasts
educationMar 6, 20261:17:12

Jeff Dickey on Mise, Precompiled Rubies, and much more

Remote Ruby

About this episode

Chris, Andrew, and David welcome special guest Jeff Dickey (jdx), creator of mise, discussing his background rewriting the Heroku CLI from Ruby to Node due to Ruby distribution/sandboxing issues.  The conversation digs into why language CLIs are hard to distribute, the tradeoffs between shims vs PATH-based version switching, why tasks can be the “clean” solution, and Jeff’s Rust-first tooling philosophy. They also dive into his other projects: usage (CLI docs/completions), Pitchfork (dev daemon runner that starts/stops services by directory), and fnox/Fort Knox (secrets management with encrypted files or remote stores like 1Password), and a big upcoming shift: pre-compiled (portable) Rubies becoming the default in mise. Press download now!

Links

Honeybadger
Honeybadger is an application health monitoring tool built by developers for developers.

Judoscale
Make your deployments bulletproof with autoscaling that just works.

Disclaimer: This post contains affiliate links. If you make a purchase, I may receive a commission at no extra cost to you.


Get every episode summarized

Each time Remote Ruby publishes, we email you a written briefing from the transcript — the topics, who appeared, and any specific claims, with the ad reads skipped.

Email me new episodes

Free for 3 shows. No card needed.

Hosts & guests

Transcript ready

2,224 searchable segments. Every word is indexed and playable.

Jeff Dickey on Mise, Precompiled Rubies, and much more

Remote Ruby

0:00
1:17:12

Full transcript

Remote RubyJeff Dickey on Mise, Precompiled Rubies, and much more. Machine-transcribed; use the interactive transcript above to jump the player to any line.

Yo, yo, this remote Ruby Chris and Andrew are here Conversating, interviewing You know that's what they're doing Stick around, let's bumping it all Ruby up in here remote Ruby Starts now Welcome back Everybody Yes, you guys Good Yes It's like 85 degrees Fahrenheit here And I have to go to New York on Saturday And I'm really upset about it What is it in snowing? Snowing Yeah Oh, I did see Casey Neissat's video He was You know, snowboarding through New York City at the stove So, yeah Why do you have to go to New York, Andrew? Company retreat

Oh, one of those You could retreat from the retreat Yeah, well I like our company retreats So I'm looking forward to it That's fun A ski trip in New York City There you go Well, why don't we dive in on this episode? We've got special guests Jeff Dickey or JD? Welcome, we're super, super excited to have you Thank you, it's good to be here I think probably people will know you right now From Meaze The version manager for pretty much every language And tool at this point There's a handful of core supported things But then the backlog of like every ASDF plugin It supports too, which is kind of amazing But if I remember right You used to work at like Heroku Did you work on the CLI there? Yeah, yeah I led an effort to rewrite it Actually from Ruby into node

So it made sense at the time at least How was that? How did that go? And also was that kind of your start Into building CLI tools I feel like you're somebody Who's pretty expert in that at this point Reflecting on it now It's actually because Or more Ruby was a problem Because that was the biggest issue we had with Ruby It was distributing it That we had to make sure that our end users had Ruby set up And that it didn't conflict with their local installs And that was a big reason for moving to node It's because node did offer a single binary And so it just made a lot easier to do distribution that way But now As we'll get to Like I've already had a single binary for Ruby now Yeah, yeah that's interesting Because I remember like I came from Python And was trying to do like cross-platform stuff And it was like I was looking at easy ways to do that And it was like yeah Python is pre-installed on Ubuntu So that's easy

MacOS had Ruby pre-installed But it's like that version changes Depending on operating system version And so you can't always depend on Those things It always seemed hard to build a Single binary for those languages And there were Many little projects for that But I'm not entirely sure What makes it hard to do that I don't know if you have Ideas on that But that was something I always kind of surprised me It was like why isn't it easy to just Kind of build a single executable Out of a Python Program or a Ruby program It's a lot to ask for end users To maintain this development stack For language that they may not even use Or even if they do That could be a problem too Like we would have issues where The users working on at the time Would be like a Ruby 187 app But like our CLI's And support that Because that would be the Ruby on path And it's all explode in

Not good ways So sometimes we get stuck on the single binary idea But like that's one solution to the problem You just want to sandbox your CLI's Such that developers It doesn't mess with their local setup And they don't need to have anything pre-installed Yeah and I guess that's where you need to mess with The load path or whatever So it's like don't use Ruby Gems And it's default folders Or whatever is like You really need sort of control over those things That way you can say I'm going to only load my Vendored copy of this library You need those, that makes sense Absolutely and it's a hard problem with development Tools in particular because Sometimes you do want The Ruby on path This is actually like a perennial problem with node I guess Ruby has a t-wear Like I don't know if you guys ever use Forman Or it was like a pop-up I think of the time that was a Ruby Application but like because it's calling Other Ruby applications You sort of want a Ruby for Forman

But then the Ruby that Forman Uses to call applications You want to be the system Or like whatever the user has configured at that time It's a very hairy problem For sure And probably it's fair to say I would argue that like in node and Ruby They haven't quite figured it out Python does Because Python has the like Python 3.9 Mineries right This kind of sidesteps that at least as far as like Miner version to go I would say That's funny I haven't used Python in quite a while So I don't think I've even looked into Any of that stuff if that's more recent Ish I guess? 39 you said Sometimes you have to call Python 3 Yeah I got into Ruby right at the time That it was like Python 3 is out But everything is only compatible with Python 2 So people didn't seem to want to adopt Python 3 And it got to be very confusing

For a few years there Oh yeah That was kind of the Or something that they I guess by putting The major version in the executable It kind of helps with selecting the right version I guess So they give you Mineries that have just Python Python 3 And then the minor version So Python 3.9 So the nice thing is there is we have a Chabang You can just put in the Chabang Python 3.9 And then you know that that's going to be Python 3.9 Even it There's a different Python 3 on path I think I've seen this with Ruby I don't know if they quit doing it But I feel like back 10 years ago I remember seeing like a Ruby 1.9 binary Or something And I think it never really caught on Or something but I don't know what the story is there This is pretty unique to Python Because oftentimes it is just like The minor version you need to have right Right

You're not usually works pretty well If they're following semantic version The third digit there Whatever doesn't really matter most of the time You just want the latest version of it usually And it's like who cares It's probably not going to break anything Yeah that's interesting Because I don't think I've really ever seen that In Ruby And I thought maybe that the Python 2 And Python 3 thing was like A Debian package thing Or something that they did Because like if you install PostgreSQL 18 or 17 or whatever They have Separate package names And you can run them side by side and stuff Yeah I don't know if that stems out of The like Linux packaging World or something and that came on As an idea because Python's You know so heavily used Ubuntu applications And core stuff there Maybe it was out of that or something It's very likely Yeah

So you know over the years Like I learned Where did I even start probably Learning Ruby installed RVM I would imagine And then CH Ruby and RBM came out And I started using those And then eventually of course Now you use Webpacker And you need a node install as well Which leads you to like using NVM and then at some point ASDF comes out It's like oh why don't we just have one tool That does this And that was all written in batch And I've used that for A fair bit of time But there were really nice things That like RBM had Environment variable management Built in or as a plugin You could add really easily But I asked them And the ASDF project Is that ever Something they want to do And they pretty much said no And I was a bit bummed by that

So I hacked my own Little plug in there It was batch, it was easy to add a line To go run another script to load Environment variables But I feel like what you've done with me Is awesome From the Tomlconfig Like there's just so many You can run a script I believe too Like you can just do almost anything You could ever imagine with it And I feel like there's some Maybe it's your Heroku experience and stuff Since then But like I feel like you have a really really good understanding Of like I need this tool To be very flexible And we have a few different options for everything And it seems extremely well thought out So I was curious Where did You stumble on I should probably go build this And how did me as get started How do you think about designing it It just felt like it had a level of polish Nothing else that I had used Quite had at least for something

Is broad as Every language version manager So I've been in kind of the Devin for Sort of world for a long time now I started in like 2014 with Heroku And so like Getting runtime setup On machines Whether it's in CIO or local Has just been something i've been doing for a very very long time And I was working at AWS And was working on some of their CIO infrastructure And basically the base docker image And it was using ASTF And we just had this design restriction The way we wanted to work It gets right back into the minor version thing Where we didn't want to pin The patch version of the runtimes Supples that We wanted to leave that loose because we wanted Application developers just always be on the latest You should always be on the latest 3, 4, whatever provey And we don't want to have uses Get a PR and have to Like stamp that or something

So like that was a design requirement And ASTF was dead fastly opposed to this They thought that And so i think like Means it really started from the beginning I thought that it needed to be Sort of maximalist in terms of What Workflows it should support So like with shims versus path I think it's the first version manager I'm aware of that does both Usually it'll be one of the other But they both have pros and cons And so i just do both And i think that does work very well Users complain about behavior in one way The other way There's no perfect world you can't solve All the problems with both of them And Likewise when it comes to how Developers want to specify the version Like if you want Ruby 3, if you want Ruby 3, 4, if you want Ruby 3, 4, 2 It's up to you And so i think that's done well for the project It's needed to grow quite a bit Didn't a lot of work to support All these use cases but

I think especially when it came to dev tools It was really long enough that i had pretty good What the scope needed to be To kind of cover all its bases And through some iterations, through a few years I think we got there Are you tired of babysitting your job cues Let us do it for you Judo scale monitors and auto scales your job cues So you can stop babysitting And get back to coding We support sidekick, solid queue, good job And just about every other job back end in Ruby land And of course we auto scale your web services too Judo scale scales up your apps faster than any other auto scale So request timeouts and backed up job cues Are mitigated before they become a problem Judo scale has a free plan you can use forever So there's literally no risk Whether you're on Heroku, AWS, Render Or any other cloud platform Visit judoscale.com and get your job cues under control I forget what i was doing originally But that was absolutely What i ran into with ASDF I really just want to specify Ruby 3, 4 I really just want to specify Ruby 3, 4

Or even just Ruby 3 in general sometimes Because i want the bug fixes And the security fixes automatically And sometimes i don't care about the minor version Because none of my code there is tied to a specific thing But i remember ASDF being very strict about that And except for like there was a cool thing Of i think the node plugin maybe Had the aliases for LTS Or whatever and i was like oh that's nice There were some warts with that Or whatever too And i ran into something with that And i don't remember what it was exactly But it was like coming to me It's just like oh you've just kind of just Address all of these inconsistencies Between how node versions are managed And Ruby wines and other languages and stuff And that felt really refreshing Because it was like Just a little bit of chaos When you're trying to use all these different tools And ASDF has so many plugins that aren't necessarily maintained

By the author of ASDF itself So everybody has their own weird little things And i felt like yeah you did make that really consistent And the path thing was really awesome Because the shims I guess are beneficial in cases where like You have a system d process that needs an actual Executable path like a full path And can't be evaluated dynamically or whatever But is that also the path thing Something that makes it faster to I guess mes is also not written in bash Because the ASDF i've noticed Got pretty darn slow for me at some point But mes is also not written in bash And super fast for managing versions and stuff So i'm curious about that Like for one Explain to people the difference between the shims and the path setup And then your architecture behind the scenes of Is written in rust right?

Yeah, yeah, certain in rust To be fair to ASDF Which has now since been rewritten and go But had they would have stuck with bash They would not have been able to do The version prefix stuff That uses above And wanted not well It would have impacted performance Which is already poor with bash So much that it wouldn't have been worth doing It would have required a rewrite I think So shims and paths So Version manners have largely two main methods That they use to Let's say when you type in bundle install What version of Ruby that's using under the hood And so the most common way is with shims And so A shim is Sometimes a little bash script In the me's case it's actually a simlink to me's But because the Simlink isn't named m-i-s-e It knows it's a shim and it so it works Nice It basically launches me's every time And it does like the version

Okay Try to find the me's tom or the tool version Whatever the configuration is Figure out what version it should actually use And probably that And then the Barbarable method Or the path version I don't think it was a good name in the cap slate But basically what you do is Well to the user what they think it is It's like when I cd into a directory It wires up my runtimes That's actually the bad way to do it The way that me's does it and the way all good tools do Is it reloads every single time the prompt is displayed And the reason for that is There are times when you want it to refresh When you didn't change the directory Such as if you edit the me's tom right Or if you type in me's use the command to change Say the Ruby version right Then like you want that to take effect immediately You don't want to have to cd out And in would be it right So the performance cost just depends If you call a shim

In a loop in a bash script Then you pay that penalty for me's to load Which is pretty light About 10 milliseconds It sort of depends on your configuration or machine 10-15 probably Or do you want to pay it every time your prompt is displayed Which means does some short circling there To sort of be able to tell like Okay there's like a fast path that I think can run in 4 milliseconds If it can detect that probably nothing changed So you know it just kind of depends But really I think that both of these are bad Because the environment variable method That only works in interactive prompt When the prompt is displayed Right if you have a script And you do cd inside of that script It doesn't necessarily work Me's is doing some tricky stuff And it's hooking into like CHPWD and ZSH So it will try to do the best it can Depending on the support of the shell I can't even remember all the ins and outs of top my head But I think we can do it

In the three big ones Fish But that can sometimes be downside Shims tend to be more reliable That is often what I suggest people use with like Docker for example Because it's just sort of doing that resolving every time And the biggest downside I think with shims is For me it's just which the shell command which What's points to the shim Which is usually not what you want I like when I say which I get the real binary that I'm about to call It makes diagnosing problems a lot easier Probably we're still better with lm's right Because that's what they're going to do too And the more like Oh okay I got a shim now I'm going to do Me's which node Right as an interaction Right Tasks are the solution to The whole thing though because then you don't need to do anything Okay explain those Because I remember Andrew telling me about Tasks And I don't think I Quite wrapped my head around him

We use them kind of extensively And I also love the fact that I can use Me's X in those tasks To just make sure everything's better And the shabang Like being able to use me's in your shabang Is even nicer so yeah I'm a big fan of the task system Yeah yeah so Another problem with the environmental stuff Is it requires users to put the ZSHRC in big Into their shell Which sounds easy enough but if you've got a big company And you need to roll this out You might want to do other configurations When you get more advanced in these things like Me's M, you might want to set No things like that but then you really get to point Like the ZSHRC needs to be just so for it to work And figuring it out It could be trickery especially in your developers Most of us don't want to think about path and all this stuff And so like I've done the best I can around that But there's some inevitable things there And the modifies the ZSHRC in the first place It is a little bit of a headache So task is This thing is a fast script

It literally is a fast script You can call it as a fast script It works like that It just has some special comments that decorate it To add a description And to take an argument Help stuff like that It just sort of lets you build Some structure around fast scripts And when you call one of those All that stuff will be wired in As if you were running a shim Or Misex Or had the shell extension in your ZSHRC But I think the advantage is that it's very reliable The way one user runs a task is going to be pretty much the same as another user In my opinion it's the dream of something like dev containers But with something that is not nearly as heavyweight to use Okay That sounds really useful I'm going to have to start Checking that out after we finish this I know Andrew you had some questions Like rust versus go

When production breaks You want to quickly understand and fix it Not sift through logs for the next hour That's where honey badger comes in Honey badger notifies you of errors and outages And puts performance and context To help you fix the issue faster Learn more at honey badger.io That's www.honey badger.io I was wondering because I did a little peruse Do you get my bad? Didn't want to peek in on everything there But I see that you're pre-prolific rust developer And go has been getting more and more popular For kind of developer tooling So I was wondering why you chose rust But it could just be preference So I despise go And not because of anything Bad about the language I use it work and it's fine It is soulless I've never enjoyed programming less Than when I'm writing go You're not able to build interfaces Like the way one developer writes go What's the same as another developer And there's no fun

And choice me of the wall I can't stand it There you go Just for that reason alone I think early in the days Before I wrote memes I didn't know rust I tried to learn it And wasn't able to Obviously this is pre-LLM Rights would be different now It wouldn't have to actually know But at the time certainly I needed to outrate rust I tried to learn it before And I gave up I couldn't figure it out And came back to a couple years later And it kind of settled with me Whereas I could write go just fine But I did benchmark it And actually for the shell extension thing And I can't remember what those benchmarks said But it definitely gave rust the edge For sure I don't know if there's another language Maybe Zig could be even faster still Don't know Right I think rust is fast enough Don't often hear complaints about the performance Well keep an eye out for the assembly branch at some point

Yeah Get an LLM to rewrite it at some point Yeah Extensely just about me's But you have a lot of other really great project You want to talk about FNOX? Yeah FNOX or FortNOX So Secrets was a long standing feature request for me's Don't understandably so It does environment variables People don't really like putting plain text environment variables in And so there was this experimental stuff I'd worked on for a while to Use something like SOPS to feel familiar with that Which is Basically a way that you can have a Jason file For Can be for environment variables this is often used for But it could just be any Jason or Emel or Tommel file But it gives you a way to encrypt it And then commit that encrypted Into your code base And then you can use something like AGE Or an Amazon KMSK or Some decryption Due to crypt it Which I think is a fantastic way to handle secrets

Right You're out with some there and then we're all screwed anyways But So that was kind of the model that I had been using And what people really wanted For secrets was one password That was what people wanted But these can't really do that It can't make a network call Every time you run a task It's too much It's way too much It's going to be slow You're going to get rate limits It would be awful, awful experience I don't put your secrets in some cache on disk That's what you're trying to avoid So originally I just Did it because I needed to be a separate CLI So that like It doesn't have to refresh that environment all the time And just by virtue of not being part of me And being this other thing It can just refresh when It works in a lot of the way the same as me But has an FNOX.Tommel Where you can either have encrypted Environment variables Or you can have

Remote ones like one password Or it was on secret manager Or things like that It's a lot like me Where it's like I want to give choice I think the encrypted way is the way to go Because it's just faster But if you really want to use one password Which people do because it's super convenient And with that options there I wouldn't say it was totally nailed The caching thing Still kind of noodling on it Still less to load everything It's not better But I have some ideas But we'll see what I can come up with there But that's basically this is fast secrets In your environment when you go into projects I think encryption is the way to go too I mean sometimes we'll use like the OP One password CLI to grab things From our shared password vault But we also have like Our own kind of encryption system going on And my CTO Wanted me to specifically ask you about this Because I think that's something that we're definitely like Okay this could really solve We could really consolidate a lot of stuff

If we use this I've actually been seeing it this week Like there's this workflow of like I got stuff in one password but I want to get it into my repo encrypted I think that's a workflow that should be more native It isn't right now But it wouldn't take that much work Yeah So I think there should be something there where It is kind of a cache Maybe a manual and we have to like run And then that would pull things out from one password Put it in encrypted You know I also think like some of the stuff around like Augade could be a little bit better Managing the lifecycle around that A lot of that is kind of left up to the user to figure out How do you manage the public keys and stuff I could probably do more there No I like the sync idea Because I wouldn't have any problem doing that How often is your password well Your password should be changing More often than it probably is And likely is probably not So if it does change It's having to run sync and then it's there I'm good to go I mean you could run it on the scheduled GitHub action workflow

Right Yeah I'm a big fan of those Next thing I wanted to ask you about Unless you have anything else you want to say about FNOX was Pitchwork Pitchwork I'm excited about So Pitchwork is a demon runner And I guess it sort of competes with like system D in a way But it's really more for developers You could run like long running Demons out this I'll tell you that the use case that I find annoying Is I go from project to project I see the end and like I want to run the doc server Or the application server or anything And like I always forget oh I got to run it And even with LLM it's like kind of a pain Prompted to start and like I don't really like running LLM The demons inside LLM I don't know I have a tab open where you run NPM run server or whatever But like Rail server probably for all your listeners But I don't know I kind of hate managing that other thing Sometimes I forget that it's there and I try to run it again

It's like oh that's really running that port I'm running two different things on different ports So that was the problem that I've always had So I just wanted to be like I cd into a directory It starts up the servers In that for that project So they're just there If you leave that directory then they go away I'm kind of an automatic way where like if I have Five terminals in one obviously it's not going to run five of them That's kind of the idea is that It's this automatic demon runner for development services And it's coming along You know it started probably a year ago Kind of got it to an experimental state where it was working I gave it another pass a couple months ago And really kind of spruced it up To what I think is a good one.0 And seems to be humming along I haven't been seeing a lot of bug reports It's I'm happy about Because trying to diagnose what's wrong With the thing running demons is a lot trickier than Something you're just like calling as a CLI Seems like it's going pretty well for people Another thing I've really need to

Is like you know I show like all of you I use Docker a lot You can't run this system D in Docker Or at least you're not supposed to So like I've done this where you have to Post is like using system data like Launched and it's clunky Pitchfork is just a rust CLI So it doesn't need any special system stuff It can just run demons anywhere There's also like You know it's similar to Supervisor D I think It's kind of an older tool around this In some ways you can just think of that But with Tommel Yeah I think that's pretty cool Last library I wanted to talk about Was usage because I think that's Really freaking cool Yeah usage We'll see I'm actually a little Negative on the future there Because of LLM so usage is my CLI is like swagger for CLIs And you can generate documentation from CLIs but what people Really like it for is completions And that powers

Meas has very complicated completions So where you can mount like It gets into the tasks stuff right So if you do Meas run the way you run a task And hit tab you can complete crazy things It's pretty easy to configure Because it's all built on this usage Thing that I wrote this spec And it makes it pretty easy to decorate So like let's say you had A Meas task to like list users using an API It takes like a couple lines of code You just like define the completion In that Meas task and say curl this thing And like you just have to And separate it things right The reason I say I'm not sure It's just I think with Agents don't use these They have other ways of getting this information And so I think like The days of us actually getting tab The terminal might be behind us But it works really well for me Because I have a lot of CLIs I use usage and all of them That if nothing else It makes it so I can have consistent docs

Consistents, man pages, consistent everything Across all my stuff And I have been using Rust for everything But if I ever wanted to do another language Signastic to that Which is quite cool I'm a big terminal And what you said about us Not using the terminal much longer Maybe freaking die inside a little bit But not the terminal No completion The completions right But I was like oh my god Because completions have always been tricky You know you got to have this here And that there and you got to You know make sure the brew Sight Z functions are in or whatever And I was like this is so nice to be Just like use these kind of magic comments Because this is a workflow I'm very familiar with These documentation comments to the top of the file I also feel like it makes it easier For the LLM to use as well And then it makes it easier for me to use Right? And then I also like That you can dump it out to mark down That's big fan of that too Where it has a strong future

Another thing about LLM is I can make the integrations That's been on my list Is like for all the different CLI frameworks For all the different languages out there It would be great if They had some usage plugin for that So you can export it Those are super easy for me right now Yeah nice Are there any other projects that you're working on Are you excited about? I can't forget it All right let's go Yeah I was going to say Ruby ever since I've ever Even until recently There's just not been any pre-compiled versions It feels like So I run a little hosting platform Called Hatchbox People will spend up a $5 server But if their first deployment Is compiling Ruby That will take 15-20 minutes So I was like why don't I just go Pre-compile Ruby And just go back through

And wrote a script to go Ever since I think Up to like two six Or two seven We just compiled the latest version of those And then Newer Ruby three Or something we do like every version So we just have like Our archive of those But the thing I discovered Knowing a whole lot about like what actually happens When you're compiling Ruby You know in the past you've needed Liberied line and the Version of that you get Liberied line three Or four and different package versions Different Ubuntu versions End up with different names and whatever But then you also run into the issue of like There's a prefix directory That gets hard coded as like This is where Ruby is going to live And I Didn't know anything about that really Until I moved it and realized It's just looking for that old directory All the time

But then I guess Homebrew and Mike McQuade had Built a portable version of Ruby to run on macOS And I guess maybe on Linux now too With homebrew on Linux And that's kind of the foundation Of what you Wanting for me is now With the precompiled rubies right Yeah So i think this story starts for me Back a little ways with python Because python had the same problem Same exact problem And Us and Astral the ub guys Both just for our users Wanted faster pythons And so there was a guy Name escaping right now Working on portable python As a site project kind of thing And had some success with it And astral took it over And spear had the development of it And for me as i picked up About the same time

I wasn't sure if that was something Just wanted because it was kind of breaking change Like these vineyards are not as compatible But they're so fast And so i left as a boat What do you guys want? You know this is a lot earlier than me these days We compiled and so we went with that And i'm so glad we did Because it's so much smoother To use python and change versions Everything So naturally with ruby it was the same story right It takes minutes to compile these stupid things And very frustrating Especially if you do use patch versions You get to have three four one three four two four three four You know just uh it's terrible So yeah home brew had a portable ruby project But it was very like purpose built for home brew It wasn't a general purpose thing And they it's explicitly called out that that's not The goal of the project Not what they were working on And then Andre Arco he picked it up And he had done somewhere for his RV project I think that I just I want to win this thing

Like i want to win it myself Just the supply chain security stuff Is like something really sensitive too I got hundreds of thousands of users And like i feel Responsibility that if i'm compiling stuff It's secure You know i like to trust as few people as possible And so i was like oh i'm just going to take this on And see how much work it is Like finish this out And like try to get it into me and see what happens But forget when I want to say maybe like November December i added it Into me is like an experimental thing Hats people try it They ran into some bugs There's like something weird with SSL You can see things You know smattering things Really take a lot more effort from where it was But i guess it must have been about Two or three weeks ago Like DHH made a mention of it on twitter Yeah And frankly i kind of forgot about I was kind of letting it just sit there Like people tested out

But then i was like you know It's been a while since i've heard about any real problems here Let's pick a date Everybody switched over So i think that's going to be August 1 But i think it does like show it warning right now That this is going to happen And so you can opt in now To get the port of ones And actually kind of through all that A lot more people tried it I think they found another bug or two I imagine there may be another Couple hidden in there somewhere that will uncover But it seems to be going pretty smoothly Which i'm pretty happy about So we'll see what it's like when i flip the switch But obviously these are not Me's minaries They're there for RBM RBM I hope everybody uses them just like What happened with Python But i don't actually know why Like Ruby doesn't just do this but Whatever reason Or Python for that matter But it's so good for the ecosystem It makes a huge difference You know it's not just the time

It's like all the app gets stuff Things people have to do to app getting install stuff Or like they need to home brew And they need to... Users hate that And they're not going to use your language because of that It's just the way it is Yeah, it's been a long frustration of mine too And part because i get the complaints But i'm hoping that will be no more Come this summer That makes a lot of sense And that was one of... You answered one of the questions i was going to ask Was like you know i knew Andre And i was curious you know i saw that Your repo is a fork of That i believe Yeah And that i understand most I understand more work than i have I've done very little but there's just A couple things to... It makes sense though if you're the one installing it Then you should be responsible for That and You're going to be the ones getting the complaints If something is wrong or whatever So it makes a lot of sense that you want to own it And so you can fix the things and

And truly understand what's going on there And whatever With Python i'm happy to let astral on it But there's no Equivalent to that here Yeah no right Yeah because i don't know i think there may be Some talk or whatever of There may eventually be Something like that happening in Ruby officially That would be awesome And then these efforts could hopefully be Combined or whatever but Yes I remember i used to go to RBMs wiki And look for If you're compiling on Ubuntu or Debian Grab this giant long list of packages to install Before you compile Ruby And it was like All these tools you don't really know what they are And you're just like I just want to use Ruby So i blindly install Or whatever And then over time too Ruby

Removes like the need for Libreedline There's a pure Ruby version of it And so like More recently the required sort of dependencies For compiling Ruby is very small Less thankfully compared to what it used to be And that was one of the things I spent some time trying to figure out With i rewrote the new Rails getting started guide Rather than the old guide Which just said install Ruby And once it's installed You can gem install Rails I was like we need to Help people install Ruby So i ended up adding the install Ruby guide there Which uses me But it has some of those Install these packages on macOS Or linux Or if you're on windows you should use WSL and more or less Instructions and It still felt like The sucks as a Someone who wants to jump into Rails they don't care about

The internals of Ruby or any of that They just want to use Rails And even having A version manager is a little bit of A annoyance as well But it makes it so nice Because when you want to switch to the new version Now you'll just be able to say You know Ruby 4.0 Or 4.1 or whatever And it'll just be like Oh cool that's why we have that And that makes sense But with the whole compilation steps It was just like no wonder That our community doesn't have many Juniors and they're going to node Because it's so much easier to get started So i'm super excited about that I'm going to have to make a pull request When the pre-compiled Ruby's go live because that will be An even shorter install guide Or maybe that can go away entirely But Some of those dependencies Like open SSL or whatever Need some tweaks To be able to be fully portable I was just curious what goes into that

Because I think most of us use Ruby And we've just run the same steps To compile it but we never really Understood what's going on here What's configurable I know you can install like GMP and that makes big decimal More efficient or something And like we just don't know We use Ruby, we don't work on Ruby itself So I was just curious to hear your expertise On what happens there There is some base level of support That Ruby has been working on I don't know how far back this goes But there is a flag that you can use On compiling it And that kind of gets you started Don't know exactly what that is But I would assume it's going to bake things in It's not going to rely on shared objects being there It's going to try to Bake as much in as it can And Beyond that, it's just a lot of little things It's like, for example One of the things I fixed was

Open SSL out of the box I guess doesn't look at the SSL cert file Environment variable To like look up where its certs are Like a patch open SSL In the stuff to get it to do that But now that work seems to work great And it's a lesson with like native gems and stuff And also like native gems come with header files for the C code And so like I had Can't remember exactly what I do But I do something to like Get that to work correctly So when you do at the end of the day You do gem install with one of these It works And when you install one that Luckily for most of the big gems that Are like no kugiri These days they come pre compiled And we just download the correct version right from Ruby gem So we don't even at least I don't Most cases have to compile gems It feels like Which is nice That makes sense that that's kind of a compatibility thing

To make sure that Those are finding the right directories Or whatever because they're going to be Potentially moved Do you have to do any testing of that Compile Ruby in one place And then move it to another folder And make sure that it still runs I don't know if I have to test that specific use case I think by and large I just assume it works Because it would fail It's not the else it would fail when I try to use it to me And it doesn't Oh right yeah And like because this is a fork project from homebrews Like they were already having to deal with that And obviously a wildly different path And whatever it gets built on And get out of actions But I do like add definitely like use cases There's like test scenarios for like Chewing gem and souls and stuff It's been a lot of that I feel like it's been actually the gem install part And less of like the Ruby binary itself having issues Yeah actually I don't think there's anything I've done With Ruby It's been open SSL and the gem It's all the extras

It's probably who knows when like Ruby three or three one Or something when they took that a bit more Seriously and added that flag You were talking about to make those Things dynamic or whatever Or bundled into the executable Or whatever Because that I'm sure you can't just go back to Ruby 187 And maybe you could But it would probably be a lot of work And I think I believe that fusion passenger Team at one point had like Built portable Ruby 187 or 193 And like some really old project That Since been very abandoned But it seemed like it was a ton of work back in the day Yeah it seems like a few people have taken this torch And it's like traveling Ruby It's a great clever name Yeah that's the name of it I think there was another one in the middle here too That maybe less version or two But we'll see Yeah, you know if nothing else

I hope that like having it in me And having that be part of the standard rails and saw Like at least now there's a place If something is over my head At least like there's a central place That we're doing this for a lot of people So that hopefully We'll accelerate adoption too Where it's like The rails community now is sort of Put a Flag in the sand that says like Rather than You go to the Ruby install page And it's like here's 100 version managers you could use And there's obviously like They don't want to have a preference Or whatever they want to kind of be agnostic there But it's like at some point It's helpful if you do So that people can rally around Polishing one solution And then that continues to improve And just get really good over time As opposed to lots of little Just to acknowledge might have made One thing better there But never gets pulled into other projects That makes it just a bit trickier over time

You think There'll be any challenges To maintaining that going forward Or will it just kind of hopefully be I guess automated And maybe you don't ever have to recompile Like the oldest rubies All you have to do is the new ones Is they come out Unless maybe there's some like Open SSL or something that you discover And you've got to go back And maybe recompile every one of them To correct it But what do you think in there Maintenance? So I've been working on this now for about three months Four months maybe And it's been pretty minimal Like of all the projects I work on This is not taking up a lot of effort There's no open bug I'm aware of right now Which is great But yeah, when I do find something It usually is across all versions I forget how far back I go I want to say three two I think three two is what There's a version like three three oh that It's not building

Yeah, there's a couple odd ones like that That you can't even compile it yourself from scratch Or whatever Or bug in the release or whatever I have a couple of those where I skip them too Yeah So if that comes up, I'll rebuild them again I am doing maybe one things like we're mentioning It's like The way I version these is a little in orthodox Where You can't access my old builds So I'm using like the GitHub releases like three three zero There's no build revision there And that's kind of just to make my life easier with me Because Meas doesn't have a concept of build revisions I don't really want to add that Like ultimately this hurts the easier And I don't think you care right Like if you're using pre-compiled binder You're already not very sensitive to how the sausage was made Downside is here as like Shaws will change if I do have to rebuild So it's not perfect But we'll see how it goes

I may regret this decision But I think the nice thing is You can just like go to that GitHub release your L if you're using outside of me And like that's the latest version Right? Copy it yourself and do whatever you want If you want some particular Vintage of how I compiled these And some particular date You know Yeah that makes sense And like if I did discover a bug It's like You'll fix it I'll just delete my local install of that version And then install the new version And it was just Download the new executable And boom Again I may regret this but that's what works right now Yeah Yeah and it's subject to change or whatever If it becomes a problem or something then sure But yeah Don't need to address it yet I'm just super excited For this because it seems like one of the I just wish we had this 12-15 years ago It feels like something that just

Should have been solved many many moons ago But at least it's being solved now So you have to If I remember right you have to run a Command to set a flag to enable this Yeah So we should record but that's really it And then the next install you do Of one of those Supported versions Will try to download that right Yeah exactly So yeah anybody who's listening That wants to try it There's a specific version of me is the ads that Functionality they just might have to Self update or something It'd be good to be on the latest Yeah yeah So in the docs that will be there And easy to run I already switched over my Desktop and laptop To using the pre-compiled ones And I'm generally just using For Ruby 4.0 So everything's been working perfectly fine You wouldn't notice other than like That installed Occurally fast

Because usually I'm used to the All right install go grab a drink Or use the restroom or something Come back and have some wait time in there But now it's just like Whoa this is awesome And it's i don't know Something we've needed forever So I appreciate You like taking the responsibility To like let's make sure this moves forward It's awesome and same With the spin-all team working on our V like they did a big step In this as well I'm curious because doesn't For me is work Use UV Underneath for python Or do you have your own version Management Use UV for python dependencies So if you wanted to like Pipex So there's a pipex Backend so you can just install Arbitrary python packages That is a bad name We might probably change that name soon To pypy

Just for performance sake And There's a few ways like pythons Quite complicated as like virtual amps and stuff And like I am not a python developer whatsoever So I'm really an awful person To be building a dev tool that's used by so many pythons developers But I try my best I know Ruby a lot better Ruby is a lot simpler And I think like the dependency story That's never been an area that Means touches me so about runtimes, tasks, environments I am dabbling in it but like I think coming from rust I want that experience for everybody And I think it's been out too like with RV That is their goal and I think that that And UV I think everybody wants A cargo kind of experience for their languages Because it's way better To not have to remember bundle install I think it's just a bit So yeah I'm excited to see What they're able to come up with Because definitely need for that A couple weeks ago like I don't use a lot of node And rails

In the webpacker area Era was kind of like just assume They're going to have yarn classic installed It's like easy enough But then I got into Supporting core pack and stuff And I was like oh my gosh This is Ridiculous that like You have npm but There's three or four versions of yarn And then pnpm Its own shims to install these And thank goodness that we just have bundler And that's all we have to worry about In ruby at least for now fingers crossed It stays that way But the complexity of that environment Is just like wild So many different ways of Installing things in the node modules folder Or no we have a global line And we simlink those Or whatever optimizations they implement It's like this is just a nightmare To manage so That brings me to a question that My coworker wanted to ask you Which was how hard is it to maintain

Meens because it seems like An enormous amount of work Because all these languages are quite a bit different There's so many decisions to make Along the way like even just the ruby Releases in the versions In the Shaws like It feel like there's a lot of these sort of Open-ended questions that are Not easy to pick an answer to Without making Accidentally breaking changes And stuff over time but i feel like you've Been able to make it pretty darn Easy to upgrade without breaking changes And stuff but also supporting Like everything It feels like me is just supports Any language i can think of You know in terms of supporting languages Like i just because i work i've been doing this Right i've been supporting languages With internal Scripts and stuff so i've had a pretty good Knowledge like what the idiosyncrasies Are and what different languages are And also like They rhyme with each other So in a lot of ways python and ruby

Are quite similar for example There's differences but I guess i just came with the experience Necessary to be idiomatic In every language best i can Ironically though the one that i think Meens is terrible as rust I don't like using it with rust And it suggests people don't I did add it because a lot of people Wanted it just use rust up It's better Also writing rust like Rust is the best when it comes to dev tools It is so so solid That i think it's giving me a good Norstar i'm like where i want Other languages to get to I have like very very few Complaints about rust which is why I can't meet that standard with news But yeah with breaking changes I think that That is kind of evolved over time From the beginning i knew that I had to take a pragmatic approach To it like i didn't think Semper was going to work At all because So what if there's like a breaking

Change with like elixir If you already know it you don't care You know and i just thought there would be so So much noise and we'd be a version 100 before we knew it I just thought it wasn't realistic As if it's a service And not a CLI Because when you use a service Napi you're using the latest right You don't get a choice of which version you have You're just always on the latest And like i've always wanted people To be able to be on the latest Was kind of the idea that you should just Always be on the latest all the time And when there is a breaking change Let's say with Ruby for example Like what i try to keep them very Minimal only if it's this And i have a very specific Procedure that i go through So initially nothing happens The new feature gets added So Ruby pre compile You can opt into it if you look in the docs And you find that somewhere In a few months because it uses calvr So i know like in version 2026.4.0

It will automatically start showing a Deplication message that This is going to become the default You don't want to see this message you can default into it Now where you can explicitly opt out And then that will stay. The reason to wait Is because i found that if you just like Immediately throw a deprecation message At the same time you add a new feature Then the people that opt in And they commit that configuration into their project Now require all the other people using that project Update that's frustrating So that's why i wait a little bit Let the thing make people Chanced update on their own And then there's less of that There's still going to be people that are on 9 month old releases At some point you just got to pull the trigger right And so then we'll see the message a few months later I actually if it's something i'm removing entirely Ruby is not a good example of that But occasionally there are breaking changes With the old thing is just going to go away Because i want to kill it Then i actually have it fail to compile at that If it's 2026.8.0 It will just like

Panic when it compiles To me to go in and remove it Because i don't remember Right That's kind of how i do breaking changes So there's always breaking changes happen And try to keep them minimal But it follows a time process And not a version process Another thing is like You can't use old versions of me There's like things baked into it The domain names Different services that i don't control And so like Just like to run a one year old version of me It just isn't Yeah that makes a lot of sense Because it is In general you'll always want to use the latest version There's almost no reason You would ever want That except for you You may want to go Look at and debug something or whatever And see what Like oops i missed something here But as a user I don't ever want that I think i forget to update

Sometimes or whatever And occasionally i'll have the I'll remember to like Homebrew update and upgrade Or whatever but And oh my zsh will prompt me occasionally But i don't think does me Has any like prompt for like And i guess your time base So you could kind of say Hey you're six months old You might want to consider updating No i used to Kill switch in it But if you ran a three year old version Or something or maybe two year old It just wouldn't do anything It just no It did have this logic It was like a month old It would start showing it And then like after all It's just going to kill itself Because really at that point All bets are off And the thing is not going to work right For the reason i just said This is very specific to me None of my other projects Use caliper

It's just because it's this Source of all these dev tools It has to be version has to be kept up to date I think i did take that out I think just as it kind of matured And there wasn't going to be as many big changes And it became clear to me Like if it breaks it will break for the reason it broke And i don't need to force people But yeah So i think i ended up taking that out As i put the version everywhere So if you run these install that says the version And if i put the version all sorts of places And because it uses caliper You know the user sees that And so if they submit Lugger port It usually doesn't get to that point Like they'll probably copy and paste it in And be like Oh That update this And then it all sorts itself out So i'm not getting a lot of issues from people It's too that like If i was to report a bug And saw the version It'll immediately In my brain be like

Wait that's from 2024 Maybe i should just try to update Because if it's version 7.32 I have no idea what the latest version is There's no like Reference there But being calendar based It makes total sense For just like a little trigger to the user Like hey you might want to update this Yeah That's interesting That's funny i like that a lot Because it would brought that up for me It was like I missed that in the docs about the pre-compiled rubies Because i poked around the docs a whole ton Recently but didn't see that And then i was like You know what i've not updated me locally For i don't know how long Maybe nine months or something And i don't necessarily Haven't had any issues So there's really no reason to update And the main thing maybe Is like the new features Or something that i want to use That would be the other trigger for me to update It's like something breaks

Or i want to use a new feature that i don't have But neither one of those Had come up for a while until i saw the Like oh hey there's been pre-compiled rubies For a little while now And that's something i should really be aware of And i just missed it I'm going to have to maybe consider adopting that Because in Ruby I feel like we're just Semantic versioning is kind of the You know 99% of the way Every project is managed But that seems like For those types of things Incredibly useful where Yeah you know what the specific version number You're not integrating into This is the library The same way you are with like A Ruby gem or something So it's like yeah breaking changes Probably don't matter Meas is way too many Releases and There's way too many changes That it is not realistic for users To read the release notes No where near it So like it's just not an option

Like even if i was usingcember Like a developer is really going to pay that much attention If i'm bumping the major version I don't know how often it would be bumped But a lot more often than i'd like Maybe i should use some more projects Like we're so well for me But my other projects So like they tend to be like I'll kind of be interested And i'll work on it for a bit And i'll work on something else That means it's always always getting working Even if it's not me, it's other people There's a release every day pretty much And i just have to I don't run it too long I actually built another tool To do AI release notes Because it's not just some like thing Generated from the commits Like cloud is actually going in And like reading the source Reading all the discussions Let's communicate if anybody was interested In using their own project But it's basically just an LM agent That is specific to release notes And it does an amazing job Of just kind of summarizing what happened

That would be a full time job for somebody I think just to do that And so it's remarkable That use case there I've tried to do that Notes and whatever And it's like You're merging PRs And you forgot that I merged these seven And these didn't make it to the change log Or something And then you like Have to go reread through the whole dang thing yourself And it's like Yeah, just have the AI summarize that That's a great use case Any more questions I mean, I just want to say thank you For all these libraries Like you've made our lives better Not just with this new Ruby stuff But I've been using these Like almost since it came out And I love it Like the integral to my Like my little cousin was like I want to build my own app I've got an idea And I was like

Okay, I can get you set up easily Because No, thank you for using it Appreciate that I've got one quick question At risk of studying Like I'm blowing smoke or whatever And you know, Mises kind of It's the gold standard now for version management And like, shying a bit away from the technical side of things I kind of wanted to ask When Mises kind of grew into that And kind of exploded What did that change for you In terms of just From a more personal side of things Instead of like the technical conversation we've been having Um What did you think about that Because it, you know, it didn't happen overnight Right? So Yeah, how long have you been working on Mises I think it started Fall of 2022 I want to say Yeah, it's not that long Yeah, really not that Three and a half years I had posted probably after

Was it going up for, I think, quickly And now it seems like ages Because you could do it in a day with an LLM But it took me four months And I post on like an ASCF issue About performance because that was like The main thing I was struggling with And people immediately were using it As like their main platform So I had users right away It struck a court in hindsight There was a need for something to fill this role Simply ASCF would faster There really isn't any polyglot version Matters aside from ASCF And maybe next if you squint Maybe docker If you're squinting very hard But people wanted something here And anybody could have done it And I just happened to be the one that did But very can change this stuff Like when I was just talking about like that I definitely had to refine that to get that to where It's not frustrating people I think like the decision about When to adopt a feature and when to Pass on one Is always a hard one

Like I took on task environment variables And that was not Met with universal happiness Probably more negativity than happiness People liked me because it Did dev tools And that's what they wanted for They didn't want all those tasks stuff But I really thought that was going to Really empower it to be better I think it has. I think people And so Now I'm having to dial that back You know the scope can only increase so much And so now I have to be more careful Like right now There's been a couple people that want me to improve the docker images There's like stock docker images I hate maintaining those Don't like it So I'm probably going to deprecate them They've never really worked well So it's not a big loss There's like other things I'm considering We'll see People unhappy but the maze action They get to have action Hate maintaining that thing Just hate get to have actions It sucks. I don't enjoy it

We'll see Like there are features people want to get it I mean this is a hobby So I got to do the things I like to do I don't drop things often But I'm certainly at the maximum Of what I can take on So I have to pick and choose I think it's been coming up more often I think it's been a part of the code base Is every use case And so now it's a lot more of saying no And trying to be As focused as I can On stuff that matters to the most people So you know I do the best I can The docker image Because I guess like in our rails Docker containers For the images are like Start from Ruby But then like Download the node executable And whatever Is that kind of what people are using that for Is like I need a docker image With multiple languages so it's convenient to use Me as here as well To do that Rather than starting from like

Just a Ruby one or something Once a dev container for working on me Is itself because I don't use it I do most of the development It just breaks because I don't use it But like people want to like work on me Is like It doesn't work right now I actually think the docks do say Probably don't use this The other one is the more Some of what you're saying which Could ostensibly use by end users that like They just want a simple docker image With me's on it That's not what it is It's a full fledged of boon two With a bunch of crap in it That I use for some Infra there's this thing called me's versions That is like a server component to that Because making GitHub API requests Those people's rate limits up So I have a service that just does that But for that it has like run through every tool And it runs them all in a docker sandbox And so like I have me's So I use that And that probably isn't going to change But other people have wanted to use it

Because they just like want to have me's on a docker image Which fair enough But like they kind of want like a lightweight Alpine thing or something That just like has a simple thing And it's not what it is. It's not really what it's made for. In fact, because installing me's into any docker image is not hard I could maintain a suite of them I could have an Alpine one Red Hat one But like I don't like it They don't like being a docker anymore than I have to So I think I'll just pass on that one People just use curl Like it works the same way Every other tool I've done a lot of docker Image stuff And I also share your sentiment Especially around GitHub actions Yeah That would be sticker around That would have way more value than the docker stuff So I can't kill that one For sure I don't know. Don't know what I'm going to do there But I would like to see somebody else make a really comprehensive one That one's because there is room for that That would be a thing people would use That has like more advanced caching and stuff

Where mine could just be like a naive version of it Kind of the MRI of the Me's action world Well, I don't know. We'll see Yeah, along with David's question is like Did you get bombarded with GitHub issues and stuff when you first launched? Was that overwhelming? I hate GitHub I don't use GitHub issues on any of my projects So yes That's the trick Turn along the main culture Yeah, I stick to discussions And a large part of that is just There's no like A badge at the top of the thing That anybody with doesn't know To use a computer can like Put something on my to-do list. I find that Madding Probably 25% of the issues are not worth my time You know, it's a summary documentation Or So really stupid feature idea I don't need to respond to that And like I don't want a badge that says That I hate that So you know, I love discussions

Because it just lets like read it right It just cares about it and nobody ever sees it again If I'm wrong and like people search for it Then maybe it will bubble back up And then it's great It's not perfect like one of the biggest frustrations I have with discussions you can't like Close them from merging a PR Like you can with an issue Right And also just like This is open source If there's a problem with me It's not my problem It's your problem I do a lot to help people But like at the end of the day It is your problem And it's up to you to fix it I don't think that issues Solved that well I remember Adam Wathen was talking about that With Tail and CSS Where he was like Half the time people Don't use it correctly Which is an issue for us And half the time it's like Sounds like a bug It's like the version that is out

Does what it does And if there's something we told you it does But it doesn't actually do That's the only time I wanted to issue And so he was funneling everybody Over to discussions for Sort of the same reason And it's like the community also then has An opportunity to answer their own questions And help each other out a little bit And he was like Yeah, the same frustrations Where it's like Is not what I consider a bug Is not what I consider a bug And we have different definitions of this And it's like if I promise something And it doesn't actually work the way I promise Yes, then I agree it is a bug But otherwise It's a you problem like you were saying And it just is not Designed super well too Especially these days when Anybody can do drive by Pull requests and Whatever from LM's That stuff pretty fast And then you have to feel Bad closing these things

Without Putting a nice you know Sorry but Whatever It just makes it so much harder to maintain Open source these days But we appreciate you doing this Because it has made our lives Heck of a lot better So I know we have listeners at GitHub So That would be killer It kind of works the problem in different way That they've been talking about I actually don't get the PR Slot that a lot of open source Maintainers are complaining about I don't know why I mean probably 10 times as many PRs I used to but they're actually quite good I would say They had one or two really crappy ones But Well, if you want some more Yeah, yeah Maybe because it's a CLI The LM's are good at that I don't know but I'm not complaining about Slot By in fact like overall it's been The increase in PRs has been great

I would say because it's been like Used to be able to help themselves And have a great test Behind their stuff and I had a user for Pittsburgh Yesterday who Built end-to-end test with like the wrong thing Like they're supposed to be in bats And he wrote them in rust To say you got to rewrite this But I'm no easy using LM So just rewrite it And easy So I love it Open source Maintainers in February of 2026 is lovely Because users are able to help themselves so much Especially with rust, right? Because most people don't know rust But LM's are very good at it That's awesome Well, I don't have any more questions Unless you guys do Online if they want to follow your content I'm a blue sky And an X JDX code on X and JDX.dev on blue sky Well, thanks for joining us

This is a blast Thanks for having me This is lovely Thanks so much Seriously for all the tools All the like Just even the inspiration of like Performance issue and now look what you're doing You're powering so many developers Machines now which is awesome So I've always enjoyed Seeing people's projects And then it's amazing now To now we have a podcast We have an excuse to meet you And finally you know talk to you and stuff And whatever and say thanks So this has been super blast On my end And hopefully we will just be pushing Many, many people your way to Precompiled ruby is And get some heavy duty testing out of that Before August Which right now is Hand full months away But we'll be here probably before you know it Yeah, awesome Thanks so much Yeah, thank you

And we'll catch you guys next week Peace

More episodes

More from Remote Ruby

View all episodes →