Sign in

Alemaño

@elalemanyo.bsky.social
14 followers 54 following 71 posts

Full-Stack Web Developer at @DotRubyDev 🧱 RailsbootUI.com Rails View Components for Bootstrap

PostsRepliesMedia
Alemaño @elalemanyo.bsky.social · 02/10/2026
For the few of us who still check @github.com ourselves instead of asking our agent to do it 🤖 GitHubBar is a little bartender in your macOS menu bar: review requests, notifications and failing CI, one click away 🍸 free & open source elalemanyo.github.io/GitHubBar/
elalemanyo.github.io
GitHubBar
Your GitHub notifications, pull requests and review requests, one click away in the macOS menu bar.
010
Alemaño @elalemanyo.bsky.social · 30/08/2026
Need something to stare at while your agent works? We made our @dotruby.com logo spin in 3D in your favorite terminal 💎 curl -fsSL dotruby.com/dotruby.sh | bash
001
Alemaño @elalemanyo.bsky.social · 26/08/2026
Tiny Rails papercut that kept bothering me: Sometimes I want pluralize to pick "person" vs "people" without the count. So I opened a PR for: pluralize(2, "person", count: false) → "people" Just me, or have you needed this too? 😅 github.com/rails/rails/...
github.com
[actionview]: Add count option to Action View pluralize helper by elalemanyo · Pull Request #58583 · rails/rails
Motivation / Background This Pull Request has been created because pluralize is sometimes useful in views only for selecting the singular or plural word, without rendering the numeric count. For ex...
000
Alemaño @elalemanyo.bsky.social · 15/08/2026
Am I the only one who finds sending a Quick Tunnel URL to my phone just to test something incredibly annoying? 😅 So I opened a PR to cloudflared to print a QR code right in the terminal → github.com/cloudflare/c... Scan → open → test 📱 @cloudflaredev.bsky.social, can we get this one merged? 👀
000
Alemaño @elalemanyo.bsky.social · 15/07/2026
TIL: write less shell 🐚 kill any process running on a port in one command 💀 (alias in screenshot 👇)
000
Alemaño @elalemanyo.bsky.social · 08/07/2026
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.
000
Alemaño @elalemanyo.bsky.social · 06/07/2026
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.
000
Alemaño @elalemanyo.bsky.social · 18/06/2026
Tiny detail. Huge delight. Saw this from @jhey.dev and had to try it myself 🙂 Every pointer deserves a pointerdown.
100
Alemaño @elalemanyo.bsky.social · 12/06/2026
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...
071
Alemaño @elalemanyo.bsky.social · 21/05/2026
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...
010
Alemaño @elalemanyo.bsky.social · 05/05/2026
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...
000
Alemaño @elalemanyo.bsky.social · 04/05/2026
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
000
Alemaño @elalemanyo.bsky.social · 28/04/2026
TIL: write less shell 🐚 serve your current folder via HTTP (locally or with Docker) ⚡️
000
Alemaño @elalemanyo.bsky.social · 27/04/2026
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.com
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
000
Alemaño @elalemanyo.bsky.social · 15/04/2026
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.com
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
010
Alemaño @elalemanyo.bsky.social · 14/04/2026
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...
dotruby.com
Aspect Ratio Calculator | DotRuby
Calculate matching dimensions from a fixed aspect ratio.
110
Alemaño @elalemanyo.bsky.social · 31/03/2026
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 💙
github.com
[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...
000
Alemaño @elalemanyo.bsky.social · 05/02/2026
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-...
ishadeed.com
The Too Early Breakpoint
An opinion on why we shouldn't switch to the smallest design too early.
161
Alemaño @elalemanyo.bsky.social · 16/10/2025
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
000
Alemaño @elalemanyo.bsky.social · 22/09/2025
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-...
dotruby.com
XPath Playground | DotRuby
Test XPath expressions against HTML snippets.
000
Alemaño @elalemanyo.bsky.social · 18/09/2025
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...
dotruby.com
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.
000
Alemaño @elalemanyo.bsky.social · 10/09/2025
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...
dotruby.com
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...
000
Alemaño @elalemanyo.bsky.social · 26/08/2025
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 📬
000
Alemaño @elalemanyo.bsky.social · 25/08/2025
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...
dotruby.com
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.
000
Alemaño @elalemanyo.bsky.social · 14/08/2025
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 🛸✨
011
Alemaño @elalemanyo.bsky.social · 11/08/2025
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 ✅
020
Alemaño @elalemanyo.bsky.social · 07/08/2025
🚨 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. 👇
010
Alemaño @elalemanyo.bsky.social · 07/08/2025
💡 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? 🤔👇
000
Alemaño @elalemanyo.bsky.social · 31/07/2025
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
010
Alemaño @elalemanyo.bsky.social · 30/06/2025
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! ⚓
000
Alemaño @elalemanyo.bsky.social · 26/06/2025
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 💎😍
000
Alemaño @elalemanyo.bsky.social · 05/06/2025
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 😉
000
Alemaño @elalemanyo.bsky.social · 05/06/2025
💡 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 🙌
010
Alemaño @elalemanyo.bsky.social · 21/05/2025
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...
000
Alemaño @elalemanyo.bsky.social · 19/05/2025
💡 Want your Rails app to teach you something new every time it boots? Check out get-smart by igorkasyanchuk — it shows handy Ruby & Rails tips during startup. A clever gem with a thoughtful touch 💎✨ github.com/igorkasyanch...
github.com
GitHub - igorkasyanchuk/get-smart: Learn Ruby/Rails topics during your app’s boot time.
Learn Ruby/Rails topics during your app’s boot time. - igorkasyanchuk/get-smart
020
Reposted by Alemaño
alexis.bernard.io @alexis.bernard.io · 16/05/2025
I released version 0.4.0 of active_hashcash. Thanks to @ivanverges.bsky.social and @elalemanyo.bsky.social for their contributions. ActiveHashcash protects Rails applications against bots and brute force attacks without annoying humans. github.com/BaseSecrete/...
github.com
Release v0.4.0 · BaseSecrete/active_hashcash
What's Changed Prevent from password managers to submit the form before the stamp has been computed Added support for the "button" submit form tag Added Catalan language Added base_controller_clas...
153
Alemaño @elalemanyo.bsky.social · 17/04/2025
💡 Turbo Tip: Preserve search state and update the browser's URL when paginating within a <turbo-frame> by adding data-turbo-action="advance". This promotes frame navigation to a full page visit, enhancing user experience. 📖 Learn more: turbo.hotwired.dev/handbook/fra...
000
Alemaño @elalemanyo.bsky.social · 16/04/2025
make any ssh server feel like home 🏡 add this to your VS Code settings: "remote.SSH.defaultExtensions" now it auto-installs your favorite extensions when you connect no more bare-bones VS Code sessions 🫠
000
Alemaño @elalemanyo.bsky.social · 11/04/2025
Need a quick user icon but don't use an icon set? Just write Do and rotate it 90° Boom 💥 You've got a minimalist one Genius idea from @lopezcodes.bsky.social 👏
010
Alemaño @elalemanyo.bsky.social · 07/04/2025
Just discovered CodeSwing — 🔥 VS Code extension for building live HTML/CSS/JS demos right inside the editor. Made by github.com/lostintangent, who's behind lots of awesome dev tools. Definitely worth a follow! github.com/lostintangen...
github.com
GitHub - lostintangent/codeswing: VS Code extension for building web applications ("swings") using a interactive and editor-integrated coding environment
VS Code extension for building web applications ("swings") using a interactive and editor-integrated coding environment - lostintangent/codeswing
010
Reposted by Alemaño
Lucian Ghinda @lucianghinda.com · 07/04/2025
Here are just some highlights from All About Code and Ruby section from: @andycroll.bsky.social @coolprobn.bsky.social @hansschnedlitz.com @RubyCademy @elalemanyo.bsky.social @David Heinemeier Hansson But there are much more code samples to be inspired and write beautiful #Ruby
Screenshot of the following text: 
"👉 All about Code and Ruby
There a lot of code samples included; here are just some of them:

Andy Croll shared his Ruby solution to a Cassidoo coding challenge, using Rails' Active Support for time manipulation to find the longest time gap between a series of times.
Prabin Poudel shared a useful Ruby tip about Array.wrap
Hans Schnedlitz shared a tip about speeding up Rails migrations by using bulk migrations with the bulk: true option in change_table
Ruby Cademy highlighted String#scrub as an underappreciated Ruby method that helps clean up problematic character encodings
Victor Cobos shared a useful technique for detecting newly attached files in Rails with Active Storage, using before_save callbacks
David Heinemeier Hansson shared a code sample from Basecamp’s diff feature, unchanged since 2016, highlighting Ruby’s readability and longevity."
111
Alemaño @elalemanyo.bsky.social · 02/04/2025
Ever forget how @github.com-flavored markdown does callouts? Same 😅 Now I just type :note, :tip, :warning, etc. and espanso.org fills it in for me ✨ Thanks terzi_federico for making this possible 🙌
010
Alemaño @elalemanyo.bsky.social · 31/03/2025
Found a good way to check if a file was newly attached in Rails For has_one_attached or has_many_attached Hope this helps someone save time! 👇
000
Alemaño @elalemanyo.bsky.social · 18/03/2025
I was getting tired of my logs being flooded with Sass deprecation warnings when compiling bootstrap in my rails app 😩 Turns out, you can silence them by just adding this: --quiet-deps --silence-deprecation=import,global-builtin No more noise! 🚀 sass-lang.com/documentatio...
000
Alemaño @elalemanyo.bsky.social · 17/03/2025
🚀 Keeping your JavaScript dependencies up to date is easier than ever! Just add a simple script to your package.json and update everything with one command. Check out npm-check-updates → github.com/raineorshine...
010
Alemaño @elalemanyo.bsky.social · 13/03/2025
Just discovered a neat @vscode.dev setting: "debug.allowBreakpointsEverywhere": true Turns out, you can set breakpoints literally anywhere — *.html.erb, *.turbo_stream.erb, you name it. No more “breakpoints can't be set here” nonsense. Feels like cheating, but it works. 😎
000
Alemaño @elalemanyo.bsky.social · 03/03/2025
✨ Conditional form fields with pure HTML & Tailwind! Want to show/hide fields based on selected option? No JS! Just use group-has-* from Tailwind. #1: Show input when selected. #2: Show a different <select> for each option. 🔥 Works great for forms with dynamic inputs!
000
Alemaño @elalemanyo.bsky.social · 03/03/2025
Want to add Picture-in-Picture (PiP) to your Rails app using Hotwire? 🎥🚀 Check out this great guide by @nicogaldamez.bsky.social on making it work seamlessly with Turbo! unagisoftware.com/articles/pic...
unagisoftware.com
Picture-in-Picture with Hotwire in Ruby on Rails - Unagi
Learn how to keep your video player persistent while browsing in Rails using Turbo and Stimulus. Improve the user experience!
000
Alemaño @elalemanyo.bsky.social · 26/02/2025
🚀 Rails' I18n isn't just for translations — @danschopp.bsky.social wrote a really interesting article on how to use it for more. A great read if you're curious about new possibilities in Rails! www.dotruby.com/articles/use...
dotruby.com
Use Rails I18n for more than translations
Discover how to leverage Rails I18n beyond its traditional translation role. Learn practical examples of using the internationalization framework for managing multi-domain configurations and context-s...
010
Alemaño @elalemanyo.bsky.social · 14/02/2025
Want to hide scrollbars without breaking scrolling? 🎨✨ I put together a clean CSS approach + the Tailwind way, and even included a demo so you can test it yourself! 🚀 www.dotruby.com/articles/hid...
dotruby.com
Hide Scrollbars While Keeping Scrolling Intact
Want to keep your UI clean by hiding scrollbars while still allowing users to scroll? In this post, we’ll explore different CSS techniques—includin...
000