TIL: write less shell 🐚 kill any process running on a port in one command 💀 (alias in screenshot 👇)
Alemaño
@elalemanyo.bsky.social
Full-Stack Web Developer at @DotRubyDev 🧱 http://RailsbootUI.com Rails View Components for Bootstrap
AI-generated code comments keep reminding me of WYSIWYG: What You See Is What You Get. If the comment only repeats what the next line of code already says, it’s not documentation — it’s a subtitle. 😅 The best comments explain why, not what.
TIL: Rendering multiple form_with forms on the same page can generate duplicate input IDs 😬 That led to a confusing Turbo behaviour: after an autosubmit, focus was restored to the first matching element, causing page jump to the top. Fix: add a namespace to generate unique IDs.
Tiny detail. Huge delight. Saw this from @jhey.dev and had to try it myself 🙂 Every pointer deserves a pointerdown.
Saw this beautiful toggle switch from jonkanter and couldn’t resist rebuilding it. CSS only. No JavaScript. Just a fun little challenge. ✨ codepen.io/elalemanyo/f...
Nice little Rails tip from @andycroll.bsky.social 👌 I learned that helpers like tag.*, link_to and form builders already process class: values, so you can pass arrays directly without wrapping them in class_names. Worth the read 👇 andycroll.com/ruby/use-cla...
Cardinal Directions Select UI using pure CSS 🧭 The user still gets a <select> for choosing N, S, E, W, etc. — but the compass gives animated visual feedback based on the selected option. No js. Just :has(), option:checked, SVG, and CSS transforms 👇 codepen.io/elalemanyo/p...
we used to have dreams... now we have 47 todo apps syncing tasks we’ll never do “save for later” is just procrastination with better UX
TIL: write less shell 🐚 serve your current folder via HTTP (locally or with Docker) ⚡️
I built csspin-rails — like importmap-rails, but for CSS. Pin CSS packages from npm, vendor them into vendor/assets/stylesheets, and use them. No Node.js needed. Not sure if I’m the only one who needed this 😄 Feedback welcome 👇 github.com/elalemanyo/c...
GitHub - elalemanyo/csspin-rails: Importmap-style CSS dependency management for Rails. Pin, vendor, and manage styles without Node.
Importmap-style CSS dependency management for Rails. Pin, vendor, and manage styles without Node. - elalemanyo/csspin-rails
github.com
CSS doesn't natively handle truncating text from the middle. Inspired by @wesbos.com , I built a Stimulus controller for it. Super useful for long URLs & filenames. Also using Cheng Lou pretext for smarter truncation 🙏 Super useful for long URLs & filenames 👇 github.com/elalemanyo/s...
GitHub - elalemanyo/stimulus-truncate-text-from-middle: Stimulus controller for middle text truncation, powered by @chenglou/pretext
Stimulus controller for middle text truncation, powered by @chenglou/pretext - elalemanyo/stimulus-truncate-text-from-middle
github.com
I know there are a ton of aspect ratio calculators out there… …but I still wanted to build our own 😄 Simple, fast, no distractions. Sometimes it’s just nice to have exactly the tool you want 👇 www.dotruby.com/tools/aspect...
Aspect Ratio Calculator | DotRuby
Calculate matching dimensions from a fixed aspect ratio.
dotruby.com
We love using stimulus-components — makes rails apps smoother ⚡️ That's why we enjoy contributing back and improving it 🙌 PR: github.com/stimulus-com... Thanks @guillaumebriday for this great project 💙
[Checkbox Select All] Add optional label text support by elalemanyo · Pull Request #179 · stimulus-components/stimulus-components
shot2026-03-31.at.13.20.31.mp4 Summary add optional label, checkedText, and uncheckedText support to @stimulus-components/checkbox-select-all keep the feature backwards compatibl...
github.com
Just read “The Too Early Breakpoint” by @ishadeed.com — and once again, super inspiring to read. Such a clear way of explaining a subtle responsive design problem, with practical takeaways you can apply immediately. Always a pleasure to read your posts 👏🙏 ishadeed.com/article/too-...
The Too Early Breakpoint
An opinion on why we shouldn't switch to the smallest design too early.
ishadeed.com
Needed a helper to find the next occurrence of a date (birthdays, holidays, etc.), so I built it. Now it’s an open @rubyonrails.org.web.brid.gy PR: Date.upcoming_date(month, day) 🎉 Proud to give back to the open-source community that gives us so much ❤️ Hope it gets merged 🤞 t.co/XD0hlDYenB
Just launched a little side tool 🚀 Test XPath expressions against HTML snippets right in the browser. Built with Rails + Nokogiri, CodeMirror, and Catppuccin ✨ Perfect for experimenting with XPath expressions 🧪 👉 www.dotruby.com/tools/xpath-...
XPath Playground | DotRuby
Test XPath expressions against HTML snippets.
dotruby.com
Inspired by @donnfelker.bsky.social’s Stimulus controllers for Lexxy, I built one that adds file type and size validation directly in the editor. Big thanks to @jorgemanru and the @basecamp team 🙌 Full write-up 👉 www.dotruby.com/articles/add...
Adding File Validation to Lexxy Editor with Stimulus
A simple Stimulus controller to validate attachments in the Lexxy editor — restricting file types and sizes before they get uploaded.
dotruby.com
You don't actually need Ruby installed to work with Rails locally 🤯 I wrote about this odd idea: “Rails without Ruby” 👉 dotruby.com/articles/rai...
Rails Without Ruby
Yes, you can run Rails without installing Ruby. With VS Code devcontainers, your whole Rails setup lives inside Docker — no version managers, no sy...
dotruby.com
Need an extra email address but don't want to create a new account? Most providers support plus addressing → just add +something before the @. All emails still arrive in your inbox, and you can filter them easily. Example: bob+needanothermail@gmail.com 📬
Redesigning a Rails app? 🚀 We discovered an underrated feature: :variants. With just one magic suffix you can run old & new layouts in parallel — no JS, no cookies, just Rails ✨ Full write-up 👉 dotruby.com/articles/eas...
Easy Redesign in Rails: Run Old and New Side by Side with :variants
Rails variants are usually used to serve different views for devices — but you can use them for much more, like running a redesign side by side.
dotruby.com
Discovered a neat trick in the turbo_power gem by @marcoroth.dev 💡 turbo_stream.toggle_css_class supports force:, just like the DOM API. No need for manual logic — may the force: be with you 🛸✨
HexaPDF gem from @gettalong.bsky.social made it super easy to add PDF form filling to our rails app 🙌 The hardest part? Finding the PDF form field names 🤯 We wanted to give back, so we built a tool to list them all: dotruby.com/tools/hexapd... Drag a PDF → see all field names → done ✅
🚨 Rails tip: Appending query params with concat or + "?..." can break your URLs — especially if the URL already includes parameters. Instead of risking invalid or double ?s, use a proper helper that merges params safely. 👇
💡 I needed to check if a string is a valid app path in my Rails app — surprisingly, couldn’t find a built-in way. So I wrote a small helper method. Sharing in case it helps someone — or if there’s a better way? 🤔👇
I remembered today and thought I'd share: You can use .many? instead of count > 1 — more readable and sometimes faster! 💡 On relations: uses LIMIT 2 ⚠️ On associations: loads all records
Anchor links not scrolling correctly in your Rails app? Turbo Drive intercepts clicks and replaces page content via fetch (not a full page reload) — and that breaks native #anchor scrolling. Fix it with data-turbo="false" Tamed the Turbo — anchor away! ⚓
Just discovered you can add an if after a content_tag block in Rails views — way cleaner than wrapping the whole thing! Always finding little gems in ERB 💎😍
Pluralizing model names in Rails with proper i18n — there's a helper for that. I wrote a small helper that uses model_name.human(count: ...) to do it the right way — fully i18n-ready. Simple, readable, and it works with any model as long as it's been translated 😉
💡 Clean Rails views with conditional wrapping? Use conditional_tag to wrap content in a tag only if a condition is true. No more messy if blocks in ERB. Just clean, readable templates. Discovered this gem thanks to @scarfacedeb 🙌
Nobody likes to pack — not IRL, not on GitHub. 🧳 So I built github-repo-manager: For when you're leaving a GitHub org and want to take all your repos without the manual drag-n-drop drama. One script. No cardboard boxes. 🐙💼 github.com/elalemanyo/g...