Back in the mists of time, I used a tool called rvm . It was more than just a Ruby version manager, it was also a gemset manager: instead of using bundle exec or a binstub, you could just type a command and it would work because every version+gemset was a pristine environment. Cool in a way, but also very complicated. I eventually migrated to the simpler rbenv and have used that for years now. It…
A new extension to Minitest Expectations by yours truly is the perfect illustration for this philosophy of programming. ➡️ TL;DR: a look at the code / examples A shorthand for how I think about the design of new APIs, whether I’m working on the Bridgetown web framework or another library, is a principle I’ve come to call Don’t Make Me Think . (DMMT) DMMT plays out in many ways. Sometimes you might…
Assuming you haven’t been living under a rock these past few weeks, the Ruby community has been embroiled in quite a bit of drama. I won’t recap it here…there are plenty of other sources to go ( Joel Drapper for one), and I also have my own pointed take on the matter on my personal blog . But here on Fullstack Ruby I like to maintain a positive, can-do attitude, and to that end, let’s talk about…
Well my Ruby friends, a new day has dawned with the release of the Ruby web framework Bridgetown 2 , and that means I can start to enjoy the fruits of our labor by sharing useful code examples and architectural explanations here on Fullstack Ruby . Yay! 🎉 (BTW…how cool is this custom artwork by Adrian Valenzuela ??) Now onto today’s little batch of snippets. Swapping Video Links with Embeds On a…
I always hate writing posts like this, which is why I rarely do it and tend to let content destinations linger on the interwebs indefinitely. But I’m in the midst of spring summer cleaning regarding all things content creation, so I figured it’s best to be upfront about these things and give folks a heads up what I’m currently working on. TL;DR: I’m bidding the Fullstack Ruby podcast a bittersweet…
It sure seems like the Hanami web framework has been in the news lately, most notably the announcement that Mike Perham of Sidekiq fame has provided a $10,000 grant to Hanami to keep building off the success of version 2.2. I also deeply appreciate Hanami’s commitment to fostering a welcoming and inclusive community . Thus I figured it was high time I took Hanami for a spin, so after running gem…
This is a right humdinger of an episode of Fullstack Ruby ! I got the chance to talk with Karl Oscar Weber all about the Camping web framework, as well as his Grilled Cheese livestream, working as a freelancer, and how to criticize by creating as a programmer in a world fraught with political upheaval. Great craic , as the Irish say. Links & Show Notes: Sign up for the Fullstack Ruby newsletter…
I don’t know about you, but after a while, I just get tired of the same arguments. Wouldn’t it be great if I could simply forward them instead? Let somebody else handle those arguments! OK I kid, I kid…but it’s definitely true that argument forwarding is an important aspects of API design in Ruby, and anonymous argument forwarding is a pretty awesome feature of recent versions of Ruby. Let’s first…
As the lead maintainer of the Bridgetown web framework , I get to work on interesting (and sometimes very thorny!) Ruby problems which veer from what is typical for individual application projects. With version 2 of Bridgetown about to drop, I’m starting a series of articles regarding intriguing aspects of the framework’s internals. This time around, we’re taking a close look at one of the marquee…
It’s tempting to want to take the simplistic approach of writing “to the framework” or to the external API directly in the places where you need to interface with those resources, but it’s sometimes a much better approach to create your own abstraction layer. Having this layer which sits between your high-level business logic or request/response handling, and the low-level APIs you need to call,…