Noel Rappin Writes Here

Blogs

Better Know A Ruby Thing #2: Constants

A fun thing about learning Ruby is that sometimes concepts that have the same name as in other languages have different behavior and purpose in Ruby. Today: constants They aren’t actually constant. They aren’t only used for small strings or magic literals. They aren’t even mostly used for that in most Ruby programs. Constants are one of the core pieces of Ruby and they aren’t super-well documented in the official site, so here we go…

Better Know A Ruby Thing #1: method_missing

Welcome to “Better Know A Ruby Thing”. In each one of these, we’re going to look at some feature of Ruby language, library, ecosystem, or culture and explain what it does, how it works, why it’s there, and any thing else that comes to mind. First up, method_missing. If I may be poetic for a second, method_missing represents both infinite potential, and the possibility of a second chance when you can’t figure out what to do the first time around.

Books Recommendation List: 2022

Even by my standards, this one is slow to come out, so I’ll keep the intro brief. As I’ve done for the past few years, I quasi-obsessively rank the books I read, and I write about the top several. It’s 40 again this year, and again, I’m really sorry. As usual, don’t take the rankings seriously, they’re just here for some kind of organization. Book links go to Amazon Kindle pages.

Hi, All, It's a Pickaxe Q&A

I haven’t sent out a newsletter in 2022 – about 10% of people subscribed to this newsletter have never seen an actual newsletter in their mailbox. That seems like it should end, so… hi! I’m Noel. I write books, mostly about Ruby. I write this newsletter, which is normally about Ruby, Rails, Agile, and other topics, and is occasionally (like today) self-promotional. Under normal circumstances this comes out a few times a month.

Books That Made Me Happy: 2021

Welcome. Because of the exact kind of person I am, it’s always bugged me when people put out year’s best lists in early December – the year isn’t over, what if you read or see something on, like, December 29th that changes your whole list. (I realize this is a very silly thing to be bugged by.) I traditionally get around this by putting out my favorite book lists sometime around the Ides of March.

Redundancy, Terseness, and Code

Most human communication, text or written, is wordier and more redundant than it needs to be, strictly speaking. That previous sentence, for example, would still communicate its point in about a third of the words with “Most human communication is too wordy”. You’d likely still get the idea if I used about half the characters and wrote: “hmn comms too wrdy”. There are certainly reasons why you might include words when speaking or writing that are technically not needed:

TypeScript and jsbundling and Rails 7

This is a quick bit of service journalism about one thing that seemed less than obvious about converting the code in Modern Front-End Development For Rails to Rails 7.0, namely how to integrate TypeScript with the new tools. Specifically, the Rails 7.0 version of the code ditches Webpacker in favor of the new jsbundling-rails and cssbundling-rails gems and uses esbuild instead of webpack. See here for an only-slightly out-of-date description of the new tools.

Bell Curves and Developer Teams

Jessica Kerr wrote a very interesting post on bell curves and engineering teams. Jessica’s point is that bell curves are for random distributions, and that when teams share information and learn from each other, they no longer can be modeled by a random distribution. I think this as true, and a valuable insight. It reminded me of a different, related observation about teams and bell curves. Back in the 1980s, when he was applying analytics to baseball teams, Bill James argued that a common feature of the decisions made by poorly performing organizations was the assumption that baseball talent was normally distributed and could be modeled with a bell curve.

Another Refactoring Story: ActiveRecord Lists

I’ve now tried to write this post like three times, and one thing that’s clear to me again is why you don’t see more write-ups of even moderately complicated real-ish problems. It’s hard to get enough of the context across to make the code sensible without being overwhelming. But there’s a Rails and ActiveRecord structure that this example gets to that I think is useful, so I’m going to try again.

More Ruby Magic

Hey, if you like this post, you might like my recent books: “Modern Front-End Development for Rails” (Ebook) (Amazon) and “Modern CSS With Tailwind” (Ebook) (Amazon). If you’ve read and enjoyed either book, I would greatly appreciate your help by giving a rating on Amazon. Thanks! When last I talked about the Elmer project tracker, I was talking about Ruby magic and singing the praises of StringInquirer. I was expecting some pushback on the Ruby Magic™, but didn’t get any, so I threatened to do something really weird, like implementing an API for getting project history with something metaprogrammy and dynamic, like project.



Copyright 2024 Noel Rappin

All opinions and thoughts expressed or shared in this article or post are my own and are independent of and should not be attributed to my current employer, Chime Financial, Inc., or its subsidiaries.