I love programming in Ruby and (especially) the Ruby on Rails framework. That said, they both have some oddities and conventions that leave me scratching my head, making me wonder what such smart people are thinking, and questioning the very nature of reality…you know, much like an episode of a Disney+ or CW show.Continue reading “Ruby Paper Cuts”
Recently, I needed to debug some issues with a Sidekiq queue in a Ruby on Rails app and figured I’d take the time to figure out how to run Sidekiq locally. Thankfully, it’s really quite easy!Continue reading “Running Sidekiq Locally in Rails”
Continue reading “Execution is the 80% of Success”
The Pareto principle states that for many outcomes, roughly 80% of consequences come from 20% of the causes (the “vital few”).https://en.wikipedia.org/wiki/Pareto_principle
“Tests” and “code quality” – two concepts that I’ve seen conflated by developers, team leads, and CTOs alike:
Our codebase has a lot of tests and great test coverage.
Our codebase is high-quality!
No, not necessarily. All that having a lot of tests means is that you’ve, you know, tested your code. Having 100% test coverage says nothing about the quality of the code being tested.
Tests don’t atone for bad architecture. Tests don’t absolve you of design pattern violations. Tests don’t repay tech debt.
You can test good code. And you can test bad code.
The road forks.
The two paths are “do it right and push the deadline” or “take on technical debt.”
Neither path should be taken all the time.
There are two possible ways to use story points in Agile. One is toxic, demoralizing, and will probably drive your developers to look for employment elsewhere, while the other is mildly helpful, which is about all you can hope for from story points in Agile.
Can you tell which is which?
“This [story / issue / ticket / whatever] was estimated as only 2 points (about one day’s worth of work) but it took a whole week to complete!
“Why did it take so long?!”
“We estimated this [story / issue / ticket / whatever] as being 2 points (about one day’s worth of work) but it ended up taking an entire week.
“What did we miss in estimating that could have told us that this task was more than 2 points worth of work? How can we improve our process?”
I recently stumbled across Jason Swett’s “Beware of ‘service objects’ in Rails” blog post. While I appreciate the perspective, I think it gets a number of things wrong. I replied to this post in a comment, but wanted to post my thoughts here as well in the hopes of encouraging more dialog about this important topic.
If so inclined, please feel free to comment below with your take on this subject.Continue reading “Responding to “Beware of ‘service objects’ in Rails””
I don’t know about you, but Ruby’s
unless has always been kind of hard for me to grok, but I’m realizing that’s because I’ve never seen a great use of it, esp. one that made me go, “Oh wow – yeah I’d definitely use
unless there vs. an
if statement or something else.”
However, the deeper I’ve gotten into Ruby the more I’ve noticed one place where
unless really shines – guard statements. Consider the following:
def update_book_title(book, title) return unless book.present? book.update(title: title) end
Now there’s a place I would definitely use
unless over other control flow constructs. It’s succinct, easy to understand, and honestly a pleasure to both write and read.
Nice job Ruby! 🔴💎
Today’s (2021-09-14) WWDC announcements have got me wondering: Are Apple’s devices no longer for me? Every year, Apple unveils an even spiffier, more-powerful version of its flagship phone and every year I find myself cringing a little more as they rattle off a slew of new features and capabilities they want to put in our pockets.
Today however, it became apparent to me why I’ve increasingly cringed each year since the iPhone 7 was released and why it’s time for me to move on: My values when it comes to technology are very different from Apple’s.Continue reading “No Longer For Me?”
If you’re unfamiliar with it, you can brush up on Apple’s CSAM proposal here (scroll down to the “CSAM detection” heading): https://www.apple.com/child-safety/
As an iPhone user since 2009, this move by Apple is very concerning. I can’t say it any better than the good folks here have already: https://appleprivacyletter.com
But Apple Already Scans Photos Uploaded to iCloud…
Yes, they do. And they have every right to scan their servers for illegal and/or abusive content. But this is a new technology we’re talking about, one that moves scanning to users’ devices, so it deserves its own discussion.Continue reading “Apple’s Proposed CSAM Scanning is a Mistake”