Felipe Vogel
fpsvogel.bsky.social
Felipe Vogel
@fpsvogel.bsky.social
I recently discovered not one, but TWO text editors written in Ruby:

- Emacs-like: github.com/shugo/textbr...
- Vim-like: github.com/S-H-GAMELINK...

It would be neat to be able to use Ruby to customize and extend my editor.
January 26, 2026 at 3:53 PM
TIL RSS feeds are more accessible to browser-based feed readers if CORS is enabled.

> Not having CORS set up for your RSS feed means that browser-based feed readers won't be able to fetch your feed to parse it (without running a proxy).

from news.ycombinator.com/item?id=4647...
Please also enable CORS[1] for your RSS feed. (If your whole site is a static si... | Hacker News
news.ycombinator.com
January 3, 2026 at 4:40 PM
I got tired of typing out full Pry commands in the Rails app at work, so created a ~/.pryrc file with aliases.

Along the way I discovered more Pry commands!

My aliases in 🧵
December 10, 2025 at 5:22 PM
Tried @marcoroth.dev's Herb VS Code extension and loved it:

- inline display of parsing errors
- format on save
- `herb analyze` finds issues across files

I'm sure there's more, but these are the big ones that I used effortlessly in my first 5 minutes with it. Very nice!

github.com/marcoroth/herb
GitHub - marcoroth/herb: 🌿 Powerful and seamless HTML-aware ERB parsing and tooling.
🌿 Powerful and seamless HTML-aware ERB parsing and tooling. - marcoroth/herb
github.com
November 14, 2025 at 7:00 PM
More cool Ruby gems, this time related to databases and Active Record!

First, alternatives to Active Record 😉

github.com/jeremyevans/... – from the creator of Roda; why not try out both together?

github.com/rom-rb/rom – from the creators of Hanami; again, it's worth exploring both
November 14, 2025 at 4:25 PM
Does anyone else suddenly feel the need to write in a more quirky style just to let the world know that I'm writing this thing letter by letter with my own fingers and not letting an LLM barf it out for me?

Example in 🧵
November 13, 2025 at 9:19 PM
Q for Ruby folks: do a lot of people still use Pry nowadays?

The old Rails app at work uses Pry, but for personal stuff I use the debug gem (github.com/ruby/debug), which seems just as capable to me 🤷
October 31, 2025 at 8:14 PM
Here's a fun bit of Ruby metaprogramming: get the name of the method that called the current method.

`caller_locations(1, 1).first.label.split(" ").last`

docs.ruby-lang.org/en/master/Ke...

🧵 1/3
module Kernel - Documentation for Ruby 3.5
module Kernel: The Kernel module is included by class Object, so its methods are available in every Ruby object. The Kernel instance methods are documented in class
docs.ruby-lang.org
October 29, 2025 at 4:24 PM
An interesting history of Ruby's efforts toward frozen string literals by default, and a compelling argument for it:

byroot.github.io/ruby/perform...
Frozen String Literals: Past, Present, Future?
If you are a Rubyist, you’ve likely been writing # frozen_string_literal: true at the top of most of your Ruby source code files, or at the very least, that you’ve seen it in some other projects.
byroot.github.io
October 28, 2025 at 4:21 PM
Reposted by Felipe Vogel
After a year hiatus, my series on all things Ruby concurrency is back! This post digs into the interrupt mechanism in Ruby threads. These interrupts revolve around bit masks, so it's got some Ruby bit work as well!

Expect more regular updates from now on 💃💃💃

jpcamara.com/2025/10/22/b...
Bitmasks, Ruby Threads and Interrupts, oh my!
👋🏼 This is part of series on concurrency, parallelism and asynchronous programming in Ruby. It’s a deep dive, so it’s divided into several parts: Your Ruby programs are always multi-threaded: Part 1 ...
jpcamara.com
October 23, 2025 at 12:08 PM
Behold, an awesome list… of awesome lists!

github.com/andrew/ultim...

I found a couple good ones in the Ruby section:

github.com/ayarotsky/aw...

github.com/Darhazer/awe...

Plus a few other lists of awesome lists… so does that make this an awesome list of awesome lists of awesome lists?
GitHub - andrew/ultimate-awesome: Every awesome list on every topic, including awesome lists of awesome lists, updated daily.
Every awesome list on every topic, including awesome lists of awesome lists, updated daily. - andrew/ultimate-awesome
github.com
October 23, 2025 at 3:34 PM
TIL a weird Ruby feature: Continuation.

ruby-doc.org/3.4.1/Contin...

> Continuation objects are generated by Kernel#callcc [...]. They hold a return address and execution context, allowing a nonlocal return to the end of the callcc block from anywhere within a program.

🧵 1/3
class Continuation - RDoc Documentation
ruby-doc.org
October 21, 2025 at 1:19 PM
I recently moved my list of Ruby podcasts to Awesome Ruby Blogs (github.com/Yegorov/awes...) from my Ruby resources list (github.com/fpsvogel/lea...).

It's quite a comprehensive list. And recently a very kind soul added RSS links!
GitHub - Yegorov/awesome-ruby-blogs: A curated list of Awesome Ruby Blogs and Newsletters for Ruby Developers and Newbies
A curated list of Awesome Ruby Blogs and Newsletters for Ruby Developers and Newbies - Yegorov/awesome-ruby-blogs
github.com
October 17, 2025 at 5:23 PM
I often find cool Ruby gems that I think should be more widely known.

Here are some related to testing:

github.com/palkan/n_plu... – RSpec and Minitest matchers to prevent N+1 queries

github.com/kaspth/oaken – fixtures + factories + seeds for your Rails development & test environments

🧵 1/3
October 15, 2025 at 2:49 PM
Reposted by Felipe Vogel
For the first time in a long time, I have a professional CV!

(100% hand-coded HTML of course, and the PDF was itself printed from the HTML via a print stylesheet.) 😎

I'm looking to make a major impact on a fast-growing team with high-stakes full-stack architecture or design system planning […]
Original post on indieweb.social
indieweb.social
October 14, 2025 at 6:59 PM
rubyapi.org is my favorite Ruby docs site. Its search uses a query param, so if you add a search keyword to your browser, you can search Ruby docs from your address bar!

nedbatchelder.com/blog/202205/...

For example `rb partition` would take you to rubyapi.org/3.4/o/s?q=pa...
Home | Ruby API (v3.4)
Ruby API is the go-to resource to search and find everything you need for the Ruby programming language. Whether you’re a beginner or an expert in Ruby,our optimised search makes finding Ruby document...
rubyapi.org
October 14, 2025 at 7:01 PM
Impressive: scope inline style tags with vanilla CSS. Implemented in only 16 lines of JS 😮

github.com/gnat/css-sco...

I love that there's a README section titled "CSS Scope Inline vs Tailwind CSS Showdowns"
GitHub - gnat/css-scope-inline: 🌘 Scope your inline style tags in pure vanilla CSS! Only 16 lines. No build. No dependencies.
🌘 Scope your inline style tags in pure vanilla CSS! Only 16 lines. No build. No dependencies. - gnat/css-scope-inline
github.com
October 10, 2025 at 3:55 PM
Reposted by Felipe Vogel
In yesterday's meeting, we started a book club on Polished Ruby Programming by Jeremy Evans.

We talked about:

- underused data types: Rational, Symbol, Set, Struct, Data
- how SOLID principles never seem to come up in real life, e.g. code reviews
- other topics recapped at bluegrassruby.club/posts
October 8, 2025 at 4:48 PM
📣 Calling all Nashville Rubyists 📣

A friend of a friend is restarting the Nashville Ruby User Group, and is looking for interested people: nashrb.com

Reposts appreciated!
Nashville Ruby User Group Signup
nashrb.com
October 8, 2025 at 2:04 PM
RorVsWild has great posts on Rails performance optimization: www.rorvswild.com/blog

Also, this article and its sequel should be mandatory reading for junior Rails developers: henry.bearblog.dev/beginners-gu.... It would have saved me quite a bit of confusion a few years ago when I was starting out.
October 7, 2025 at 5:54 PM
UnsuckJS is a handy list of JS libraries that make writing JS a better experience (even if by reducing the need for JS).

unsuckjs.com

It's the closest thing to a complete list that I've seen, if you include open PRs.

Today I opened a PR with no less than 17 entries 😄

github.com/adamghill/un...
UnsuckJS
unsuckjs.com
October 6, 2025 at 8:06 PM
Reposting from Mastodon on here has always felt awkward to me, like I'm saying the same thing again to largely the same crowd… so, new approach: I'll post a weekly recap here of what I shared on Mastodon.

Onto this week's recap! 🧵 1/3
October 3, 2025 at 6:28 PM
Reposted by Felipe Vogel
For those who blame macOS Tahoe for bugs.

Let me tell you how apps work in the country I live.

Once, all users of the most popular bank got a push notification saying:
"Bro, why are you bald huh?"

Yes, they just tested something in production.
October 2, 2025 at 3:03 PM
This list of web UI/UX guidelines is good, surprising since it's by Vercel: vercel.com/design/guide...

It made me think back to my favorite UI/UX guides:

- The Design of Everyday Things: www.nngroup.com/books/design...
- Laws of UX: lawsofux.com/articles
- 100 UI/UX Tips: vpon.me/hundred
Web Interface Guidelines
Guidelines for building great interfaces on the web. Covers interactions, animations, layout, content, forms, performance & design.
vercel.com
September 22, 2025 at 3:18 PM
The book Metaprogramming Ruby 2 explains something that I couldn't have articulated before.

`module`, `class`, and `def` form "scope gates", across which local variables are out of scope.

But you can "flatten the scope" by dynamically defining a module, class, or method: github.com/khusnetdinov...
September 8, 2025 at 7:12 PM