A few weeks ago, Martin Alderson published something that caught my attention: a systematic comparison of how token-efficient different programming languages are when fed to large language models. The findings were fascinating. And if you’ve been following my writing on Ruby, you won’t be surprised to hear that Ruby came out looking very good indeed….
Category: ruby on rails
Ruby’s Building Blocks: When to Use What (And Why)
Ruby gives us an abundance of organizational tools. Struct, Data, classes, modules as namespaces, modules as mixins, service objects, and the include/extend/module_function trinity. Each is well-documented individually, but there’s a gap: when and why to choose one over another. This isn’t about rules. Ruby’s philosophy encourages pragmatism-take what you need and move forward. But pragmatism…
What I Wrote About in 2025
Looking back at the year, my blog became a running commentary on how AI is fundamentally reshaping software development, and not always in the ways people expect. I’ve been splitting my attention between technical deep-dives and broader observations about where this whole industry is heading. Here’s what caught my attention month by month. March 2025:…
A Christmas Eve Technology Outlook: Ruby on Rails and Web Development in 2026
As we gather with loved ones this Christmas Eve, wrapping presents and reflecting on the year behind us, it’s the perfect moment to gaze into the technology crystal ball and envision what 2026 holds for web development and particularly for Ruby on Rails, the framework that’s been delighting developers for over two decades. While children…
Ruby 5.0: What If Ruby Had First-Class Types?
The article envisions a reimagined Ruby with optional, inline type annotations called TypedRuby, addressing limitations of current solutions like Sorbet and RBS. It proposes a syntax that integrates seamlessly with Ruby’s philosophy, emphasizing readability and gradual typing while considering generics and union types. TypedRuby represents a potential evolution in Ruby’s design.
TypedScript: Imagining CoffeeScript with Types
The content envisions a hypothetical programming language called “TypedScript,” merging the elegance of CoffeeScript with TypeScript’s type safety. It advocates for optional types, clean syntax, aggressive type inference, and elegance in generics, while maintaining CoffeeScript’s aesthetic. The idea remains theoretical, noting practical challenges with adoption in the current ecosystem.
A Love Letter to CoffeeScript and HAML: When Rails Frontend Development Was Pure Joy
The author reflects on the nostalgia of older coding practices, specifically with Ruby on Rails, CoffeeScript, and HAML. They appreciate the simplicity, conciseness, and readability of these technologies compared to modern alternatives like TypeScript. While acknowledging TypeScript’s superiority in type safety, they express a longing for the elegant developer experience of the past.
Rails Templating Showdown: Slim vs ERB vs Haml vs Phlex – Which One Should You Use?
This guide compares Ruby on Rails templating engines: ERB, Slim, Haml, and Phlex. It highlights each engine’s pros and cons, focusing on aspects like performance, readability, and learning curve. Recommendations are made based on project type, emphasizing the importance of choosing the right engine for optimal efficiency and maintainability.
Why AI Startups Should Choose Rails Over Python
AI startups often fail due to challenges in supporting layers and product development rather than model quality. Rails offers a fast and structured path for founders to build scalable applications, integrating seamlessly with AI services. While Python excels in research, Rails is favored for production, facilitating swift feature implementation and reliable infrastructure.
The Two Hardest Problems in Software Development: Naming Things & Cache Invalidation
The post discusses the common struggles developers face with naming conventions and cache invalidation, humorously portraying them as universal challenges irrespective of experience or technology. It emphasizes that while AI and Ruby tools assist in these areas, the inherent complexities require human reasoning. Ultimately, these issues highlight the uniquely human aspects of software development.