What are default and bundled gems in Ruby?
With Ruby 3.0 the standard library is going to become default gems.
A Ruby installation has three parts. The standard library, default gems, and bundled gems.
The standard library is the core language and utilities. Default gems are gems that cannot be removed, but need not be required. Bundled gems are gems that come along with a Ruby installation, but must be explicitly required as a dependency and can be removed.
There is an ongoing effort to extract parts of the Ruby standard library to default gems. By keeping the standard library itself lean, you free its component parts from being unnecessarily tied to a larger development and release cycle, as well as making bits easier to remove or deprecate as time goes on.
Things I Read
- Ruby: The Not So Good Parts - A surprisingly short list for such an old language. It’s hard to disagree with any of the points, especially since I still struggle to recall the difference between a proc and a lambda without checking.
- On Writing Well - Written communication is a skill that’s going to pay off long after I stop writing software. I enjoyed this book a surprising amount. I suppose I shouldn’t be surprised that an acclaimed non-fiction book about high quality non-fiction writing contains so much high quality non-fiction writing.
- Achieving speed and quality without sacrifice in engineering
- How To Win Friends and Influence People - tl;dr if you genuinely care about people, they’re more likely to like you.
- An Introduction to Digital Healthcare in the NHS - Information packed and very useful.
- The Anatomy of an Amazon 6-pager - I don’t write a lot of strategic documents (okay, any) so this was really interesting.
- Why I’m losing faith in UX
- Walden by Henry David Thoreau. It’s making me feel real good about being cooped up indoors all the time.
- No Meetings, No Deadlines, No Full-Time Employees - An interesting piece on how Gumroad is organised.
- Continuing to read A Promised Land by Barack Obama. Maybe 70% of the way through this.