Contributions
Article
Ever since I took over the Montreal.rb Ruby Meetup 3 years ago, Shopify, which has presence in Montreal (Quebec, Canada), hasn't volunteered a single Ruby/Rails talk nor bothered to contact me to just say Hi and check if I need sponsorship or anything to demonstrate they care about the local Ruby community. Other companies with far less resources have reached out to me to offer talks or sponsorship though, so Shopify has zero excuses here. Shopify lost a lot of merit points because of this...
Event
The video, slides, and repo for the Montreal.rb April 2025 talk "Domain Driven Design in Ruby on Rails" have been published!
Article
2025 Reminder That DHH Is a Total Idiot!...
Article
Me vs Typical Members of Ruby/Rails Subreddits…
Event
I Am Not a Fan of Ruby...
Article
It is amazing how cryptic, difficult to reason about, and expensive to maintain Ruby codebases become when they include countless 'concerns' without honoring the Ruby naming convention for mixins as representing "traits"...
Event
Design Patterns provide reusable solutions to common problems in Software Design and Implementation. Learn how to apply all 23 Design Patterns by the Gang of Four in Ruby by watching the Montreal.rb Ruby Meetup February 2025 Talk "Design Patterns in Ruby"!
Event
Learn the basics of Object Oriented Design and how to do Object Oriented Programming the right way in Ruby by watching the Montreal.rb January 2025 talk "Responsibility Driven Design in Ruby"!
Article
'Ruby Programmer Happiness' means 'happiness for having the ability to deliver useful business value to customers as productively and as simply as possible with the ability to maintain the code with very little effort for years to come'.
Article
Glimmer DSL for Web (Ruby Web Frontend Framework) won an award in the Fukuoka Prefecture Future IT Initiative 2025 competition after I presented it to Yukihiro Matsumoto (the creator of Ruby) and other Fukuoka competition judges earlier this week on January 21, 2025! It's official! Matz approves of Glimmer DSL for Web!!!
Article
I'm happy to report that I officially pushed the first Opal Ruby + Glimmer DSL for Web code commits to my job's Rails repo in the Admin UI last week. It is just amazing how Glimmer components written in Ruby to replace React components are way simpler and smaller! This is so exciting! It reminds me of the early fun days of discovering Ruby, but on the Frontend! Ruby creates so much programmer happiness compared to JavaScript!
Update
Glimmer DSL for Web (Ruby-in-the-Browser Web Frontend Framework) version 0.6.4 has been released! It now officially supports Rails 7.1 & 7.2 (Rails 8 support is planned for the future).
Article
Covert discrimination is often hard to spot because it happens as personal microdiscrimination against one person or few people only without them belonging to a common minority group. That is why I wrote a guide to spot covert discrimination in the Ruby Community and beyond.
Event
The video for my /dev/mtl 2024 talk "Frontend Ruby with Glimmer DSL for Web" has been published! It is totally mind blowing!!! 🤯
Article
Merry Christmas! During the RubyConf 2024 Hack Day Event for Glimmer DSL for LibUI, I started the implementation of Hangman, the word game, in Ruby as a GUI desktop app. Well, I am happy to announce that I finally worked on it again yesterday and completed it, releasing version 1.0.0! And, it's implemented with some of the most amazing Ruby code! Just install the `glimmer_hangman` Ruby gem and run the command `hangman` and you'll have the game running on your machine instantly!
Event
The video for my RubyConf 2024 Workshop "How To Build Basic Desktop Applications in Ruby" has been released. It is not only useful to Ruby devs who want to learn how to build basic desktop applications in Ruby, but also to Rails devs who want to build Rails productivity tools as Ruby gems, leverage all the awesomeness of Glimmer in the Frontend of Rails applications 🤯, and improve skills in OOP/Architecture/Design, like how to apply MVC/MVP correctly to improve productivity/maintainability.
Article
One of the requests I received at RubyConf 2024 for Glimmer DSL for LibUI (and other Glimmer desktop gems) is providing an editor that can update the GUI live as the programmer types code into it. I have built something like that before for a programming language for kids called DCR actually.
Event
In November and December of 2024, Montreal.rb hosted 2 Ruby Hack Night meetups about building the historic computer game, Hunt The Wampus, which was a text-based adventure game developed by Gregory Yob in 1973. Solutions have been released, which include the Ruby code for the Model layer, a desktop GUI View layer, and a Rails Web Frontend View layer.
Event
Code Exercises & Slides for RubyConf 2024 Workshop: "How To Build Basic Desktop Applications in Ruby". Everyone can go through them at their own time.
Tutorial
The video of the Montreal.rb May 2024 talk "Hotwire Turbo in Rails: Drive, Frames and Streams" by Helmer Davila has been finally posted on YouTube.
Update
Glimmer DSL for Web (Ruby-in-the-Browser Web Frontend Framework) recently added support for Component Custom Event Listeners, Component Slots, and Default Slot in the 0.5.x & 0.6.x version releases. The new samples Hello, Component Slots!, Hello, Component Listeners!, and Hello, Component Listeners (Default Slot)! have been added as well and can be played around with in an online hosted Rails Sample Selector web app.
Event
PostgreSQL views are a useful tool to make query logic reusable and maintainable. This talk will cover their pros and cons, a couple of real-world use cases, and how to use them in Rails apps using the Scenic gem.
Article
In a recent Ruby meetup, I called JavaScript a disease! JavaScript looks like ugly smelly mold compared to much better, more elegant, and more readable Ruby. Once you see it, you can never unsee it! Yahuda Katz mentioned in his keynote speech at RailsConf 2014 that by building more lower floors for a building via libraries, developers start at higher levels of productivity. In 2024, Frontend Ruby is the next floor level that enables Ruby Software Engineers to start at a higher level.
Event
Building Better Ruby Apps: Glimmer's Component Slots and More - RUBY 653 - Ruby Rogues - Top End Devs
Article
Some Software Engineers mention "not being interested" as an excuse not to help someone with something that could benefit customers or the Software Engineering community at large (including the Ruby community) when the real reason is in fact covert discrimination against that person and lack of effort to treat them as an equal and equally respected member of their community. Know that Software Engineers have to abide by the Software Engineering Code of Ethics...
Article
Here is a thought! The mythical 10x Developer is simply a developer that eliminates 9/10 of unnecessary over-engineered code, and then writes the remaining 1/10 of the code needed at the productivity rate of a 1x Developer...
Article
Todo MVC Ruby Edition is a Rails sample app that was built with Glimmer DSL for Web using Frontend Ruby. It has been refactored, simplified, and optimized significantly (all operations happen instantly now), relying on new Glimmer DSL for Web features, like Style Blocks, Inline-Style Data-Binding, and Class-Inclusion Data-Binding.
Article
Software Engineering activities are split between ones that provide direct value to customers in the short-term and ones that indirectly benefit customers in the long-term. It is important to have a good balance of both in order to ensure the long-term viability of Software Engineering work and continuously offer maximal value to customers.
Event
Glimmer will be returning to RubyConf in 2024 at the Windy City (Chicago, Illinois, USA)! My RubyConf 2024 2-hour workshop proposal "How To Build Basic Desktop Applications in Ruby" has been accepted!
Update
Glimmer DSL for LibUI (Prerequisite-Free Ruby Desktop Development Cross-Platform Native GUI Library) version 0.12.0 ships with an exciting new feature called Custom Control Component Slots!!! Component Slots are containers that could accept content in different parts of a Custom Control component (e.g. an address_form Custom Control can have a header slot and a footer slot to display extra information about the address being entered, which consumers could fill in with any GUI controls).
Showing the last 30 only...