Discover this podcast and so much more

Podcasts are free to enjoy without a subscription. We also offer ebooks, audiobooks, and so much more for just $11.99/month.

RR 408: Zeitwerk with Xavier Noria

RR 408: Zeitwerk with Xavier Noria

FromRuby Rogues


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.
Released:
Apr 16, 2019
Format:
Podcast episode

Titles in the series (100)

All ruby related podcasts from Devchat.tv, including: - Ruby Rogues - My Ruby Story - Ruby Rants