We rescue, modernize & scale Rails applications.

Wrocław, Poland
Today was the first time when I used @AmpCode as part of our „AI-native Rails” training arkency.com/ai-native-rails/
2
10
575
my new ProcessManager gem - finally, the most important DDD building block is simpler to create blog.arkency.com/3-example-p…
5
13
1,035
Rails Event Store 3.0 is out — a cleanup release: every API deprecated in 2.x is gone. Plus two new tools. 3.0: blog.arkency.com/whats-new-i… res CLI: blog.arkency.com/res-cli res-mcp: blog.arkency.com/res-mcp-ser…
1
3
1,453
I strongly agree with Weaver's "Callbacks Are Not Invariants": callbacks can't keep their promise, writes go through one door. The ingress doesn't own the invariant. The aggregate does. And the persisted fact, not the outbox, makes effects recoverable. blog.arkency.com/ingress-is-…
3
222
🚀RailsEventStore 2.19.1 is out. Starting 🔫 for 3.0 — big deprecation wave: old Projection API, apply_* convention, class subscribers, RailsEventStore:: aliases, AggregateRoot::Configuration and more. Also: functional index for as_of queries. Grab .1, not .0. Details below👇
1
2
4
696
arkency retweeted
Szymon shows us how mutation testing and Mutant gem can help increase confidence in a code base we’re less and less confident in. #RBQConf
3
7
850
Meet @szymonfiedler at the @rbqconf! Szymon will show how Mutant reveals blind spots in test coverage by introducing bugs into your code. If your tests still pass, that’s a signal worth paying attention to. Expect real code, real mutations, and real insights.
1
1
389
Your tests are🟢 Would they catch a flipped condition? I'm speaking at @rbqconf in Texas 2026: "Would Your Tests Catch This Bug? A Mutation Testing Story" Real Ruby code. Real mutations. Uncomfortable results.
1
2
3
195
There would be no wroclove.rb without our amazing supporters💫 @Arkency has been with us since the very first edition, and we’re extremely grateful to have them on board again this year - thank you for making our conference possible since day one! (1/3) arkency.com
2
3
11
649
arkency retweeted
Tip for #RailsEventStore: use `in_stream("stream_name")` in your event assertions: `expect { ... }.to publish(an_event(X)).in_stream("orders")` Super helpful once you start using mutation testing (which runs your tests in parallel)
1
158
deja-vu moment in 2007 a nontechnical client sent me an app which he just needed to deploy because he vibe coded it on his own (this is a story how @arkency started btw because he suggested this name) today in 2026 a nontechnical client sent me an app which he thinks is ready to be deployed because he vibe coded it in 2007 the equivalent of vibe coding was Rails of course at none of this case it was only about deployment, the apps need some fixing fun times again 😎
4
1
11
2,517
Ruby 3.4 warnings led me to refactor 100+ Slack message methods. What started as a frozen string literal fix ended with a 20-line class that sparked joy. Sometimes the simplest abstractions are the most satisfying. blog.arkency.com/the-joy-of-…
2
13
81
16,134
Pessimistic architecture - that was my thought when reading this book. Non-functional requirements are often ignored by architects and programmers. Yet, it's them which can kill your app and your business. Residuality is a concept described by Barry O'Reilly, a very intriguing set of heuristics to help build an architecture that can survive many "stressors". Looking forward to find stressors and build the matrix for our current projects. If you need a challenge to your current architectual status quo - this might be the book to read. I recommend to read it in the form of a book reading club, as we did at @arkency - the concepts are not so easy to digest alone.
1
5
852
Multi tenant applications with horizontal sharding and Rails Event Store - a practical guide: 🔗 blog.arkency.com/multi-tenan…
2
2
374
Pretty happy with my narration for the Rewrite vs Modernize webinar In most cases modernization is a better option. But why? How to convince the management? What are the best techniques you should know if you need to do the modernization? See you there? arkency.com/webinars/rescuin…
2
4
1,072
If you have problems with your monolithic architecture then you have problem with one app. Once you switch to microservices you might improve the overall state or.. end up with same problem across multiple apps. Or even worse. We faced the worse. Turns out...
2
2
13
1,527
Interesting story from @porrbass about how an unusual #RubyOnRails application setup caused outages.
I've just published my first blog post blog.arkency.com/is-your-rai… on the Arkency blog. Click through and read about our journey to stabilize a Rails application for our client. It was an almost 10 year old app with a microservices pattern applied in a sub-optimal way.
2
258
There are couple of drawbacks of keeping the logic outside of the model. Might be interesting for you if you follow Service Object (anti?)pattern Disclaimer: I am not fan of fat model either The drawbacks are: - Business logic has to be kept in sync between services (ie. empty order cannot be submitted). If the logic is not the same in every service then the system can be put into an invalid state. If you keep the business logic in the model then you don't have to deal with that. Objects should have behaviours. - Business (domain) logic is mixed with application level logic - Unit tests are harder to write, so you either end up with higher-level tests that run with database (slower) or you mock dependencies (lame) - It's harder to test important aspects of the class - assume you don't have time to get to 100% code coverage. Having the logic in the model class allows you to test the most important business rules that must be fulfilled and make sure that those are respected.
1
1
2
807
Debugging a problem after a batch of commits has been pushed into production can be challenging. I bet you have git installed on your machine. It is not obvious to everyone that you can use git's bisect feature to find the change that caused the bug faster. 1. Find the commit without the problem you are debugging and save the hash. 2. Run `git bisect start'. 3. Mark the HEAD as "bad 4. Mark working commit as "good 5. Run your test (whether manual or automatic) 6. Mark the hash as good or bad To mark as good or bad, type `git bisect good | bad'. #RubyOnRails #debugging
1
2
3
267