70 min listen
RR 408: Zeitwerk with Xavier Noria
FromRuby Rogues
ratings:
Length:
54 minutes
Released:
Apr 16, 2019
Format:
Podcast episode
Description
Sponsors
Triplebyte $1000 signing bonus
Sentry use the code “devchat” for $100 credit
RedisGreen
Panel
David Kimura
Eric Berry
Andrew Mason
Joined by special guest: Xavier Noria
Episode Summary
This episode of Ruby Rogues features Xavier Noria, who has a background in mathematics, but started software in 2000. He has been freelancing for the past 10 years, working especially in open source. He received the Ruby Hero award in 2010. His latest work is with his own creation, Zeitwerk, a more efficient code loader for Ruby. Zeitwerk will be included in Rails 6, but is an independent gym for now. Xavier talks about his inspiration for Zeitwerk and his desire to improve constant outloading in Rails.
The panelists delve into the features of Zeitwerk. Any conventional library can use Zeitwerk, so you don’t have to write requires. Zeitwerk is designed to make your development work easier because you don’t have to worry about including in or requiring files in your code snippets, it will intelligently auto load those in. Zeitwerk functions slightly different from classic mode Ruby, because in Zeitwerk, you don’t go constant name to file, instead you are given a file name first, and then add it to a constant. Xavier delves into the limitations of classic mode and the const-missing callback, and how Zeitwerk improves upon this problem by using only absolute paths and module outloading instead of const-missing. The result is that, in general, things load faster.
They discuss indexing of absolute paths within Zeitwerk, how one of the principles of Zeitwerk is to be as lazy as possible, the memory footprint, and the configuration needed to opt into Zeitwerk. Overall, Zeitwerk is going to work like Ruby. There are no special rules, it has the same semantics as Ruby, fewer gotcha’s if any at all, control over inflection, ways to introspect, and a way to log the activity of Zeitwerk.
Links
Zeitwerk
Kubernetes
API
HTML
Const-missing callback
Nesting
Ancestors
Module outloading
Bootsnap
Bootstrap
Absolute path
Picks
David Kimura:
Nerf Guns
Eric Barry:
Octotree Chrome extension
Xavier Noria:
Time Trap
Special Guest: Xavier Noria.
Triplebyte $1000 signing bonus
Sentry use the code “devchat” for $100 credit
RedisGreen
Panel
David Kimura
Eric Berry
Andrew Mason
Joined by special guest: Xavier Noria
Episode Summary
This episode of Ruby Rogues features Xavier Noria, who has a background in mathematics, but started software in 2000. He has been freelancing for the past 10 years, working especially in open source. He received the Ruby Hero award in 2010. His latest work is with his own creation, Zeitwerk, a more efficient code loader for Ruby. Zeitwerk will be included in Rails 6, but is an independent gym for now. Xavier talks about his inspiration for Zeitwerk and his desire to improve constant outloading in Rails.
The panelists delve into the features of Zeitwerk. Any conventional library can use Zeitwerk, so you don’t have to write requires. Zeitwerk is designed to make your development work easier because you don’t have to worry about including in or requiring files in your code snippets, it will intelligently auto load those in. Zeitwerk functions slightly different from classic mode Ruby, because in Zeitwerk, you don’t go constant name to file, instead you are given a file name first, and then add it to a constant. Xavier delves into the limitations of classic mode and the const-missing callback, and how Zeitwerk improves upon this problem by using only absolute paths and module outloading instead of const-missing. The result is that, in general, things load faster.
They discuss indexing of absolute paths within Zeitwerk, how one of the principles of Zeitwerk is to be as lazy as possible, the memory footprint, and the configuration needed to opt into Zeitwerk. Overall, Zeitwerk is going to work like Ruby. There are no special rules, it has the same semantics as Ruby, fewer gotcha’s if any at all, control over inflection, ways to introspect, and a way to log the activity of Zeitwerk.
Links
Zeitwerk
Kubernetes
API
HTML
Const-missing callback
Nesting
Ancestors
Module outloading
Bootsnap
Bootstrap
Absolute path
Picks
David Kimura:
Nerf Guns
Eric Barry:
Octotree Chrome extension
Xavier Noria:
Time Trap
Special Guest: Xavier Noria.
Released:
Apr 16, 2019
Format:
Podcast episode
Titles in the series (100)
Episode 25: Book Club Announcement: Eloquent Ruby by Russ Olsen by Ruby Rogues