I'm still amazed that Ruby on Rails engineers keep suggesting the ServiceObject pattern to avoid AR callback hell. I will die on this hill: services are worse and bring even more problems than callbacks.
Vitaly Slobodin
@vitallium.bsky.social
Staff Random Engineer at GitLab. Creating some magic! https://buymeacoffee.com/vitallium
Ziggo offers 2Gbps access now. I guess it's time to renovate my UniFi network, and the first thing I need to do is get a replacement for my USG 3P.
After using many models, I've noticed that I'm using Mistral models more and more. I'm not exactly sure why, but I can really feel that they (`mistral-*-3.5`) work exactly as I need them to. too bad that their CLI does not support plugins...
I’ve been busy lately with Act 2 in @gitlab.com, so there have been almost zero fixes or improvements to the Ruby ext for Zed. I’ll be back soon. Sorry.
As a Community Champion (thanks @zed.dev), I can say that the Zed team is one of the best I've ever worked with! ❤️
We open-sourced Zed in January 2024. Since then, the repo has amassed over 84k ⭐s and receives more PRs than we can honestly keep up with. The Community Champions program is how we track work from contributors we've come to know and enjoy working with. zed.dev/blog/community-champions
Unfortunately, this issue broke the Ruby extension, which relies on the correct Ruby version. Probably the best approach here is to remove the automatic installation of Ruby servers and rely entirely on the project gemset. The downside is that Ruby LSP is usually not part of it.
Meh, found a nasty macOS PATH issue in @zed.dev Zed can correctly capture a project env, but extension cmds like `ruby` may still launch the wrong binary. Why: macOS posix_spawnp("ruby") resolves ruby using Zed’s own process PATH, not the PATH passed to the child. github.com/zed-industri...
Terminal Threads are live in Zed v1.3.5! You can now run claude, amp, pi, or any terminal-based workflow as a managed thread in the Threads Sidebar, right next to your other agent threads.
Meh, found a nasty macOS PATH issue in @zed.dev Zed can correctly capture a project env, but extension cmds like `ruby` may still launch the wrong binary. Why: macOS posix_spawnp("ruby") resolves ruby using Zed’s own process PATH, not the PATH passed to the child. github.com/zed-industri...
Darwin spawns commands by resolving executables from Zed's process PATH instead of the worktree PATH · Issue #57170 · zed-industries/zed
Reproduction steps Install mise Configure Zed to use ruby-lsp. Use a simple Ruby project with the version that differs from your global Ruby version. For example, set your global Ruby version to 4....
github.com
Codex should be renamed to Ex-Code. Because you only come back to it after Claude Code says “monthly usage limit reached”
Managed to get Ruby LSP code lenses working in @zed.dev ! :)
Unfortunately, Ruby LSP code lenses won’t work due to technical limitations.
Fun fact I discovered recently: most public LLMs (especially from OpenAI and Anthropic) were likely trained on our GitLab repo, so they sometimes generate code that follows patterns we stopped using a long time ago. 😄
Career update: I'm now a Senior Staff (Random) Engineer at @gitlab.com. Still solving random problems - just more strategically. 😀
Unfortunately, Ruby LSP code lenses won’t work due to technical limitations.
Code lens support lands in stable .... tomorrow! 🎉
Long story short, I loved the whole "if GitHub was made by…" meme so much that I made ifgithubwasmadeby.xyz - a place where you can browse almost all of them. Updates daily.
I’m tempted to just craft my own Ruby gem for the Debug Adapter Protocol…
Mysterious warning to Ruby app maintainers: “bundle update rack” asap.
Engineers: Let's tweak MAX_THREADS and WEB_CONCURRENCY to improve our Sidekiq queue times! Narrator (me): they were about to awaken something ancient and hungry.
Whoops, native tabs do not work in @zed.dev :( github.com/zed-industri...
`Merge All Windows` only shows one tab instead of merging both windows · Issue #49724 · zed-industries/zed
Reproduction steps Open Zed Open a second window (File > New Window) With both windows visible, go to Window > Merge All Windows Observe the tab bar on the active window CleanShot.2026-02-20.at.16....
github.com
DAP support for the `debug` gem could use a couple of bug fixes and improvements.
I kept getting bitten by regressions in tree-sitter queries for the Ruby extension in @zed.dev. So I added snapshot-based tests (hello Jest!) that capture query matches and make changes obvious in dev&review. hehe. github.com/zed-extensio...
Ruby extension for @zed.dev updated to 0.16.4: better Ruby test name extraction and per-Ruby-version gem installs to avoid compatibility issues. NOTE: clean up your Ruby ext work directory so old gems don't cause trouble. See the release note for instructions: github.com/zed-extensio... Thanks!
Release v0.16.4 · zed-extensions/ruby
What's Changed fix(ruby): Use string_content capture for Ruby test name extraction by @vitallium in #229 feat(gemset): Install gems per Ruby version to avoid compat issues by @vitallium in #231...
github.com
Power of Tree-sitter in @zed.dev! Tagged template literals in your JS/TS with just 5 lines of code.
If you're an extension author for @zed.dev, check out the Tree Sitter Query extension that adds the ts_query_ls language server (github.com/ribru17/ts_q...) It supports linting, go to definition, autocomplete, and formatting, making DX much nicer when working with *.scm files.
I like gifts. Who doesn’t? This amazing hoodie from @zed.dev arrived today. I was recognized as a Community Champion. Zed has become central to my daily workflow, so getting this from the team behind it means a lot. Thank you, Zed team! ❤️
The Ruby extension for @zed.dev just got better! Huge thanks to @marcoroth.dev for adding `zed-comment` support (including all ERB languages) and RBS inline syntax highlighting! You can find full release notes at github.com/zed-extensio...
Release v0.16.0 · zed-extensions/ruby
What's Changed Add support for zed-comment by @marcoroth in #203 chore(deps): update pnpm to v10.20.0 by @renovate[bot] in #201 Add zed-comment support for all ERB languages by @marcoroth in #205 ...
github.com
Just released v0.1.0 of the tree-sitter grammar for HAML, packed with new features and bug fixes: github.com/vitallium/tr...
Release v0.1.0 · vitallium/tree-sitter-haml
Added Implement object reference syntax [] (06fc1d9) Support additional doctypes (90a6526) Allow escaping with backslash (67fb083) Add whitespace control operators > and < (4064f4b) Add Ruby opera...
github.com
How do you configure macOS Tahoe to make it usable? Liquid Glass is completely unusable, and I'm tempted to switch back to Linux because of it. I've tried some options, such as reducing transparency and increasing contrast, but no luck.
While working on the Ruby extension for @zed.dev, I needed to check gem deps often. Didn't find a `gem why` like `yarn why`, so I made one! Check it out: github.com/vitallium/ge...