Sign in

Stephen

@diaconou.com
190 followers 327 following 235 posts

Ruby dev. github.com/stevegeek, beta.gem.coop/@stephen, index.rubygems.org/profiles/stevege…

PostsRepliesMedia
Stephen @diaconou.com · 18/09/2026
Sad I wasn't at Euruko this year but instead I had a great first week at SparkLoop as a new member of their product team. Very happy euruko is in Italy next year!
020
Stephen @diaconou.com · 31/07/2026
Using my sentiero gem (www.sentiero.app) in production now (still got rough edges but Im working on them). So useful to see user journeys and be able to immediately respond with UX/UI improvements, fixes and content updates... all while knowing the data is stored in house and purged regularly.
sentiero.app
Sentiero: Privacy-first session recording for Ruby
040
Stephen @diaconou.com · 03/07/2026
`sentiero` browser session tracking/recording Ruby gem is finally up. Took a while; added (basic) error tracking & analytics features too Its a Rack app so can be used standalone, or mount as Rails engine. It tries hard to have privacy respecting defaults & opt-outs. github.com/stevegeek/se...
github.com
GitHub - stevegeek/sentiero: Browser session recording for Ruby. Like Hotjar etc. Works with any Rack framework. Privacy-first defaults. Rails integration by sentiero-rails.
Browser session recording for Ruby. Like Hotjar etc. Works with any Rack framework. Privacy-first defaults. Rails integration by sentiero-rails. - stevegeek/sentiero
131
Stephen @diaconou.com · 25/05/2026
Just pushed up a version of my `decor` (github.com/stevegeek/de...) UI view components gem to gem.coop which I will only be publishing there
gem.coop
gem.coop
We’re excited to introduce gem.coop – a new server for gems in the Ruby ecosystem. We aim for fast, simple hosting, that is compatible with Bundler but optimized for the next generation. It’s built fo...
050
Stephen @diaconou.com · 21/05/2026
Just saw this evilmartians.com/chronicles/a... , and yes def feeling the AI assisted burnout. The rate of constant high cognitive load (as they put it) work is exhausting. Everything is "just one more prompt", or "just one more subagent" away...
evilmartians.com
AI-assisted engineers are burning out, is this fine?—Martian Chronicles, Evil Martians’ team blog
AI-assisted code generation is not free. It comes with a hidden cost: burnout. Are we dangerously ignorant to this problem? And how can we cope with it? In this post, we discuss this question.
000
Reposted by Stephen
Joel Drapper 🇬🇧❤️🇺🇦 @joel.drapper.me · 19/05/2026
I’m really excited about this. Phlex and Literal are joining the Ruby Users Forum, replacing our GitHub discussions. You can get support from me and others in the community over there. ❤️
0152
Stephen @diaconou.com · 19/05/2026
When new TLDs get launched, who decides its worth adding them or not.. i look at some of them and wonder, eg `.gripe` ...
static.klipy.com
James Franco's Puzzled 'Wait What' Expression
ALT: James Franco's Puzzled 'Wait What' Expression
000
Stephen @diaconou.com · 13/05/2026
Really enjoying @exe.dev so far. Create a VM in seconds, and then you can use a coding agent via a web interface on the box to quickly get stuff setup. I went from nothing to deployed postgres on one VM, a Rails app in another, with tailscale to network them in a few minutes.
061
Stephen @diaconou.com · 09/05/2026
Lovely time at @rubyconitaly.bsky.social . so nice to get to hang out with a community of people who are all just really nice and friendly. + great talks, and great food. Thanks everyone! Wish I was still in Rimini instead of blocked jn traffic (truck on fire in motorway tunnel up a head I think… 😬)
060
Stephen @diaconou.com · 07/05/2026
Working with claude on porting basecamp/writebook to an equivalent crystal Marten app to see what it entails
000
Stephen @diaconou.com · 06/05/2026
Been fleshing out a turbo-rails Crystal shard equivalent for Marten framework. Interested to see if I can port a typical "modern" Rails app over (ie uses Turbo etc)
020
Stephen @diaconou.com · 30/04/2026
Two new gem extractions today: github.com/stevegeek/ty... and github.com/stevegeek/ty... ... open source all the things
github.com
GitHub - stevegeek/typed_view_model
Contribute to stevegeek/typed_view_model development by creating an account on GitHub.
010
Stephen @diaconou.com · 16/04/2026
Finally, after too many years, I've pushed 1.0.0 of typed_operation gem. Blurb: a command pattern, callable, chainable, traceable, can be partially applied, curried and w. typed params. Auth to execute via action_policy if desired. rubygems.org/gems/typed_o... / beta.gem.coop/@stephen/typ...
rubygems.org
typed_operation | RubyGems.org | your community gem host
022
Stephen @diaconou.com · 30/03/2026
Starting to migrate from AWS for DNS, CDN etc to Cloudflare. So far so good but the AI assistant in Cloudflare is bit rubbish. Eg gave me example Worker script logic that is clearly wrong, (it corrected when I pointed out the problem but still…). Maybe they need a stronger model to power it
100
Stephen @diaconou.com · 26/03/2026
Just having a look at Avo 4 by @avohq.io ... looks amazing! Can't wait to do the upgrades. Nice work @adrianthedev.com and team!
121
Stephen @diaconou.com · 06/03/2026
gem.coop are cooking up some great features for their gem host/registry. Looking forward to watching it evolve
030
Reposted by Stephen
RubyEvents.org @rubyevents.org · 05/03/2026
Hello friends! This is our first edition of the Ruby Events Newsletter! Find recent events, released videos, and a changelog within. Let us know if there's anything you want to see in March's edition? 🤩 www.rubyevents.org/announcement...
rubyevents.org
RubyEvents.org February 2026 Newsletter
In February, RubyEvents had 12 contributors and 55 PRs merged! This month, we had RubyForGood - Belgium, Belfast RubyFest, and Fukuoka RubyistKaigi 05. We're looking forward to Ruby Community Conferen...
0116
Stephen @diaconou.com · 27/02/2026
"Pushing gem to beta.gem.coop/@stephen ... yaml_csp_config-1.2.0.gem uploaded 🎉" Pushed my first gem to my new namespace.
beta.gem.coop
Peak
To use namespaced gems pass a source in your Gemfile, like this:
021
Stephen @diaconou.com · 26/02/2026
Just requested "stephen" namespace on gem.coop ... maybe a bit optimistic 😆 ... if they say no I won't be upset
gem.coop
gem.coop
We’re excited to introduce gem.coop – a new server for gems in the Ruby ecosystem. We aim for fast, simple hosting, that is compatible with Bundler but optimized for the next generation. It’s built fo...
120
Stephen @diaconou.com · 16/02/2026
Anyone stopped using a 'traditional' CI in favour of the new "local ci" (ci.rb) approach in Rails? Had any issues? eg cause of diff between local env vs a remote envs?
000
Stephen @diaconou.com · 11/02/2026
Just trying out Claude Code agent teams. Pretty powerful (but maybe a bit flakey, but it is 'beta'). For a feature build, I ran planning first, with agents for various skills & one playing devil's advocate. Once the plan was compiled and done, I created an implementation team,
210
Stephen @diaconou.com · 11/02/2026
Went to my first LRUG on Monday in London, great experience. Shame there are not a lot of Ruby meet ups in Italy
150
Stephen @diaconou.com · 21/01/2026
Combining prosopite gem, a custom logger for it, a simple CSV store, and a set of rake tasks for querying the store, I can automatically persist the N+1s that come up in my Rails app as I work on it and have a Claude Code subagent work through them in the background. Nice
000
Stephen @diaconou.com · 13/01/2026
Wanted Topaz Video/Gigapixel working on Linux via Wine (& prime-run) but my external GPU was not detected. Claude Code did so much experimentation: rebuilding libs w. logging, disassembling topaz DLLs etc, til it found root cause, then binary patched it (skips a check in a DLL). Works now, Amazed..
000
Stephen @diaconou.com · 30/12/2025
My new gem ‘hone’ is now running on charm-ruby (not pushed yet as hit a snag that raises a Go exception) Can I say : First!
120
Stephen @diaconou.com · 30/12/2025
Wow amazing! Thanks again @marcoroth.dev
110
Stephen @diaconou.com · 25/12/2025
Interesting, came across another ‘typed’ Ruby - github.com/type-ruby/t-ruby Seems similar to couple of other attempts (emits RBS), eg myrb and claret Added to my list github.com/stars/stevegeek/lists/ty…
github.com
GitHub - type-ruby/t-ruby: T-Ruby, TypeScript-style types for Ruby language
T-Ruby, TypeScript-style types for Ruby language. Contribute to type-ruby/t-ruby development by creating an account on GitHub.
000
Reposted by Stephen
Noel Rappin @noelrappin.com · 18/12/2025
In addition to new language features * Lots new in the threading chapter, including Ractor updates and a section on concurrent-ruby and Async * The typed Ruby chapter has a section on Literal * Lots of small cleanups and updates
151
Reposted by Stephen
Xavier Noria @fxn.bsky.social · 17/12/2025
We were very proud to present @marcoroth.dev with the Rails Luminary Award 2025. And yes, I was on a secret mission to Zurich 😀. rubyonrails.org/2025/12/17/m...
rubyonrails.org
Congrats Marco Roth: 2025 Rails Luminary
We are stoked to share that the Rails Core team has announced Marco Roth as the 2025 Rails Luminary.
05314
Stephen @diaconou.com · 09/12/2025
LLM agents are taking over so have decided to split my personal computing from work related (ie for privacy, data security etc) Just received my little work machine, a Ryzen 9950X with 64GB RAM, should speed up the test suite runs at least!
000
Stephen @diaconou.com · 07/12/2025
Remember, always run your coding agents inside containers github.com/anthropics/c...
github.com
[Bug] Claude generates unsafe destructive commands with rm -rf on root directory · Issue #13278 · anthropics/claude-code
Bug Description Yesterday, I asked the Claude CLI to delete all the cache files for the app we’re currently building. As usual, Claude suggested a long command (a big find one-liner with lots of op...
020
Stephen @diaconou.com · 05/12/2025
Here's my Claude Code plugin for writing RBS for Ruby (also inline), which includes skills, agents and commands . github.com/stevegeek/claude-ruby-pl… Also includes a simple 'type tracer' that agents can use to help explore method return types at runtime.
github.com
GitHub - stevegeek/claude-ruby-plugins: Claude Code skills, commands, and agents for writing Ruby RBS type signatures
Claude Code skills, commands, and agents for writing Ruby RBS type signatures - stevegeek/claude-ruby-plugins
110
Stephen @diaconou.com · 27/11/2025
Next gem to get a v1 will be github.com/stevegeek/typed_operation Its a 'command pattern' (aka callable/service object/???) gem, operations can be partially applied, curried and have typed parameters. Auth via action_policy if desired Now adding last things: chaining and instrumentation
github.com
GitHub - stevegeek/typed_operation: Command pattern, which is callable, and can be partially applied, curried and has typed parameters. Authorization to execute via action_policy if desired.
Command pattern, which is callable, and can be partially applied, curried and has typed parameters. Authorization to execute via action_policy if desired. - stevegeek/typed_operation
100
Stephen @diaconou.com · 26/11/2025
Got bombed with random bot requests for .js files on a Rails app. The Ruby processes pegged at 100% CPU. Think it was cause Rails was raising and logging large number of ActionController::InvalidCrossOriginRequest exceptions. Time to add that missing `rescue_from`
010
Stephen @diaconou.com · 21/11/2025
Finally releasing 1.0.0 of my `encoded_id` gems (started 7 yrs ago in a client app) Use it to turn IDs into obfuscated reversible & human friendly strings. github.com/stevegeek/encoded_id (docs also have comparison to other similar gems to help you decide what to use)
github.com
GitHub - stevegeek/encoded_id: Turn numeric or hex IDs into reversible and human friendly obfuscated strings. Also supports Rails ActiveRecord models
Turn numeric or hex IDs into reversible and human friendly obfuscated strings. Also supports Rails ActiveRecord models - stevegeek/encoded_id
041
Stephen @diaconou.com · 19/11/2025
Been finding optimising sqids-ruby and hashids.rb interesting. Wonder if I should turn the experience into a talk proposal for a conference... ie we live code through finding hotspots in some gem, try optimisations and consider why result performs better or not, and trade offs vs readability etc ? 🤷
000
Stephen @diaconou.com · 19/11/2025
Updating `awfy` (my Ruby benchmarking tool) so that you can run a benchmark suite repeatedly across a commit range and then compare results
120
Stephen @diaconou.com · 18/11/2025
This looks great, def going to try
010
Reposted by Stephen
Marco Roth @marcoroth.dev · 12/11/2025
Herb v0.8 is here! 🚀 The biggest release yet, packed with new language bindings, Linter Autofix support, Linter Fix-on-Save, a new `.herb.yml` config file, formatter improvements, Tailwind Class Sorting integration, and a ton of performance, tooling and LSP improvements! 🌿
Herb v0.8 Release Summary
14013
Stephen @diaconou.com · 07/11/2025
Straight away Herb found 7 erb files with missing closing tags in the HTML and approx 130 linting errors such as missing alt tags, pointless use of `-%>`, anchor tags without an `href` etc. And parses all 555 erb files in 3-4 seconds. Really cool!
140
Stephen @diaconou.com · 07/11/2025
Today: removing `erb_lint` and my IDE tw CSS class sorting plugin... and adding `Herb` ❤️
161
Reposted by Stephen
Marco Roth @marcoroth.dev · 01/11/2025
Also coming in Herb v0.8.0, the long awaited Tailwind CSS class sorting feature in the Herb Formatter! 🌿 Here is a demo of that working in @zed.dev using the new `.herb.yml` configuration file! 😍
1234
Stephen @diaconou.com · 20/10/2025
I was recently thinking about adding benchmarking across multiple Ruby versions with my `awfy` tool, and this looks perfect for managing that!
010
Stephen @diaconou.com · 19/10/2025
TIL `Symbol#name` returns a frozen string representation of a Symbol while `Symbol#to_s` returns a mutable String, resulting in a significant performance difference. For some reason I assumed they were the same.
080
Stephen @diaconou.com · 19/10/2025
If you are looking to use your voice more over typing for work (e.g. for RSI reasons), I highly recommend superwhisper.com ... seems to work very well with technical terms.
020
Stephen @diaconou.com · 12/10/2025
Got my #Rubycon Rimini ticket
010
Reposted by Stephen
Rubycon @rubyconitaly.bsky.social · 12/10/2025
Tickets for #Rubycon are finally available, grab yours before it's too late! ti.to/rubycon/ruby...
11510
Reposted by Stephen
Marco Roth @marcoroth.dev · 11/10/2025
In the upcoming Herb v0.8.0 release, the Herb Linter will support a new `--fix` option to autocorrect offenses. This isn’t dependent on the Herb Formatter and uses the `printer` architecture, so the Linter can fix only the offenses without touching anything else in the document!
Screenshot of a terminal showing Herb Linter output to shocase the new --fix option.
2194
Stephen @diaconou.com · 10/10/2025
@marcoroth.dev sorry if missing the obvious, but is there any Herb powered tool yet that organises tailwind classes into a deterministic order? Checked rubygems and herb site but didn’t spot it
120
Stephen @diaconou.com · 06/10/2025
Is gem.coop basically a deployment of the rubygems gem? Or a fork of it?
gem.coop
gem.coop
120