TIL: #Ruby 3.1 added Array#intersect
Before:
array1.any? { |item| array2.member? item }
After:
array1.intersect? array2
—
Thanks to Rubocop 1.79.0:
Style/ArrayIntersect
TIL: #Ruby 3.1 added Array#intersect
Before:
array1.any? { |item| array2.member? item }
After:
array1.intersect? array2
—
Thanks to Rubocop 1.79.0:
Style/ArrayIntersect
I like having time to play with my dogs, and clean out the PS3 with my son, but he thinks I should get a job. If you need an expert web developer, heavy on the backend, HMU. #Ruby #playstation #getfedihired #dogsofmastodon
I've just released a major new project, Appraisal2
- https://github.com/appraisal-rb/appraisal2 - a hard fork of the unfinished appraisal v3.0.0.rc1
Appraisal2 integrates with bundler and rake to test your library against different versions of dependencies in repeatable scenarios called "appraisals".
Appraisal2 is designed to make it easy to check for regressions in your library without interfering with day-to-day development using Bundler.
OK, but why?
RUBY PRO TIP:
Don’t have a keyboard with the 0 key? No worries: you can get the number zero using
(-Class.new.instance_methods.count).succ.succ.succ.succ.succ.succ.succ.succ.succ.succ.succ.succ.succ.succ.succ.succ.succ.succ.succ.succ.succ.succ.succ.succ.succ.succ.succ.succ.succ.succ.succ.succ.succ.succ.succ.succ.succ.succ.succ.succ.succ.succ.succ.succ.succ.succ.succ.succ.succ.succ.succ.succ.succ.succ.succ.succ.succ.succ.succ.succ
Tested on ruby 3.4.5 (2025-07-16 revision 20cda200d3).
New blog post: Eager loading Rails ActiveStorage Variants Almost Killed My Site
"Our Heroku dynos were crashing. I was burning the midnight oil and there were no changes to my own codebase that could explain this".
https://aldavigdis.dev/2025/07/21/eager-loading-rails-activestorage-almost-killed-my-site/
Mild thunderstorms can be great mothing nights, but it was a little TOO stormy last night with torrential rain over many hours. So, from Thursday night, today's #MothOfTheDay is the widespread but elegant
RUBY TIGER
Phragmatobia fuliginosa
HB already captures your Sidekiq performance data, but it can be hard to know where to start when jobs pile up.
We added a @sidekiq dashboard with charts for job volume, worker stats, and slowest jobs—it's a great starting point for investigating issues.
Using #Ruby (not Rails) again and very much enjoying it.
Very upset by total Python victory in this arena smdh
An old coworker of mine is looking for a new job.
She’s a #ruby dev i’d happily have on my team any day of the week.
https://www.linkedin.com/posts/audreacook_opentowork-activity-7350625848355430400-JJ3B
Reminder that I’m available to hire for casual #Ruby #Rails #DeveloperExperience things like improving tests, dependency upgrades, and, my favourite, writing code style rules!
https://www.issylong.com/work-with-me/
It sounds fairly niche, but hey, I know what I like and what I’m best at!
Looking for two brilliant women to join my #elixir team at femtasy.
See Julie's, my CEO, post on LinkedIn and the job ad for details:
https://www.linkedin.com/posts/julie-lepique_femtasy-newopportunity-techhiring-activity-7349320718322388992-mTe0
https://pinkinternetgmbh.teamtailor.com/jobs/4605994-senior-fullstack-software-engineer-w-d-m
There's some #ruby code too.
Here's how I see people based on their choice of API programing language.
#JavaScript: You don't care about anything else then the engineer pool you can employ so you take the default one. You're the basic b*.
#csharp: You're a Cpp programmer that only want to use the closest relative. You don't like change.
#elixir: You're the kind of person to read every articles on a subject to take a decision. What you want is nothing the objective best. Your vim is better then theirs. You know you have no recruitment pool but it doesn't matter, you're a 100x developer and nobody could understand how brilliant your code is anyway. You're an hipster
#pyhon: You created your startup to be sold. You basically want a great demo fast, get an offer and gtfo.
#ruby: it's been 10 years you didn't talk to anyone. You got in the hipe and never realised that everyone moved on except you.
#golang: You wish you could use elixir but settled for the second best for none technical reasons. You're submissive. Google is your master.
"We want this to be a welcoming place for people who bring kindness, curiosity, and care."
This is why when @timriley asked if @honeybadger would be a founding patron of the @hanami project, I said please take my money.
Okay, sports fans, I've restored 4.3.9 on my private server. Yay!
The problem was that I had updated ruby. That caused local extensions to not be found. The solution was to do this:
gem pristine --all
and enjoy a cup of coffee. The errors stopped, everything was happy again, & I restarted the servers.
I'll pin this one on both servers for a while to spread the solution for "Source locally installed gems is ignoring [whatever] because it is missing extensions."
Okay, sports fans, I've restored 4.3.9 on my private server. Yay!
The problem was that I had updated ruby. That caused local extensions to not be found. The solution was to do this:
gem pristine --all
and enjoy a cup of coffee. The errors stopped, everything was happy again, & I restarted the servers.
I'll pin this one on both servers for a while to spread the solution for "Source locally installed gems is ignoring [whatever] because it is missing extensions."
I need to feed my family, so please consider supporting my open source work. The various OAuth libraries are often buried deep inside dependency trees, so aren't top of mind, but they are a great deal of work to maintain. #Ruby #FLOSS #oauth2 #security
https://opencollective.com/ruby-oauth/updates/oauth2-recent-releases
TIL in #rspec ‘describe’ blocks are evaluated when the file is parsed, not when the spec is executed. That one took me a few hours!