February 2022 | LLVM IR: The Esperanto of Computer Languages |
January 2022 | Visiting an Abstract Syntax Tree |
December 2021 | Reading Code Like a Compiler |
November 2021 | Find Your Language’s Primitives |
| Generic Types: Adding Math Puzzles To Your Code |
October 2021 | To Learn a New Language, Read Its Standard Library |
January 2020 | Downloading 100,000 Files Using Async Rust |
November 2019 | Using Result Combinator Functions in Rust |
October 2019 | How Rust Makes Error Handling Part of the Language |
September 2019 | Using Rust to Build a Blog Site |
October 2018 | Summer School With The Rust Compiler |
June 2018 | From ActiveRecord to Diesel |
March 2018 | How Rust Implements Tagged Unions |
January 2018 | Learning Rust: If Let vs. Match |
December 2017 | Looking Inside Postgres at a GiST Index |
| Manipulating Trees Using SQL and the Postgres LTREE Extension |
| Saving a Tree in Postgres Using LTREE |
| Installing the Postgres LTREE Extension |
| Trying to Represent a Tree Structure Using Postgres |
January 2017 | Pointers in C and x86 Assembly Language |
November 2016 | Learning to Read x86 Assembly Language |
October 2016 | Need a Second Opinion on Your Ruby Code? Ask Crystal |
April 2016 | Two Dumb Ruby Mistakes |
January 2016 | Is Your Postgres Query Starved for Memory? |
November 2015 | A Look at How Postgres Executes a Tiny Join |
September 2015 | What Do Perl and Go Have in Common? |
June 2015 | Don’t Let Your Data Out of the Database |
February 2015 | Mark Methods Private When You Don’t Test Them |
January 2015 | Using Rake to Generate a Blog |
December 2014 | Koichi Sasada Encourages Us To Contribute To Ruby |
| Matz’s Foreword to Ruby Under a Microscope |
November 2014 | Discovering the Computer Science Behind Postgres Indexes |
October 2014 | Following a Select Statement Through Postgres Internals |
September 2014 | How Arel Converts Ruby Queries Into SQL Statements |
| 20,000 Leagues Under ActiveRecord |
June 2014 | A Rule of Thumb for Strong Parameters |
April 2014 | Using a Ruby Class To Write Functional Code |
February 2014 | Use An Ask, Don’t Tell Policy With Ruby |
January 2014 | What does (((λ f . (λ x . (f x))) (λ a . a)) (λ b . b)) mean? |
| Ruby Multiplies Like a Fourth Grader |
| How Big is a Bignum? |
December 2013 | Three RubyConf Surprises |
November 2013 | Expanded Ruby Under a Microscope Available in Print! |
October 2013 | Generational GC in Python and Ruby |
| Visualizing Garbage Collection in Ruby and Python |
| Ruby’s Top Self Object |
June 2013 | RubyKaigi: Making a Japanese Conference Accessible to the World |
| Meet Fifteen Ruby Core Committers |
| Coming This Fall: “Ruby Under a Microscope” Updated and in Print |
| Ruby, Python, Java, C and Programmer Happiness |
April 2013 | Ruby’s Missing Data Structure |
| Ruby 2.0 Works Hard So You Can Be Lazy |
February 2013 | An Interview With Laurent Sansonetti |
| Ruby MRI Source Code Idioms #3: Embedded Objects |
January 2013 | Ruby MRI Source Code Idioms #2: C That Resembles Ruby |
| Ruby MRI Source Code Idioms #1: Accessing Data Via Macros |
December 2012 | Ruby, Smalltalk and Class Variables |
| An Interview With Jim Weirich |
| A High Level Code Walk Through Ruby MRI |
November 2012 | My eBook build process and some PDF, EPUB and MOBI tips |
October 2012 | Xavier Noria: The Code Gardener |
September 2012 | How Ruby Borrowed a Decades Old Idea From Lisp |
August 2012 | Narihiro Nakamura: Ruby’s GC Innovator |
July 2012 | Objects, Classes and Modules |
June 2012 | How Ruby Executes Your Code |
| The Start of a Long Journey: How Ruby Parses and Compiles Your Code |
May 2012 | A Conversation With Mark Bates About How To Learn CoffeeScript |
| One Chapter From My Upcoming eBook: Ruby Under a Microscope |
April 2012 | Matt Wynne On Using Cucumber |
| Exploring Ruby’s Regular Expression Algorithm |
March 2012 | Why You Should Be Excited About Garbage Collection in Ruby 2.0 |
| Learning More About JRuby from Charles Nutter |
| Learning From the Masters: Sinatra Internals |
February 2012 | The Joke Is On Us: How Ruby 1.9 Supports the Goto Statement |
| An Interview with Andre Arko and Terence Lee from the Bundler Team |
| Is Ruby interpreted or compiled? |
| Journey to the center of JRuby |
| A chat with Nick Quaranto about RubyGems.org internals |
January 2012 | My first impression of Rubinius internals |
| Seeing double: how Ruby shares string values |
| How to Customize Twitter Bootstrap’s Design in a Rails app |
| Never create Ruby strings longer than 23 characters |
December 2011 | Learning from the masters part 2: three metaprogramming best practices |
| Too good to be true! Twitter Bootstrap meets Formtastic and Tabulous |
| Learning from the masters: some of my favorite Rails commits |
November 2011 | Two ways of using Redis to build a NoSQL autocomplete search index |
| Finding your soulmate: autocomplete with Redis in Rails 3.1 |
| Twitter Bootstrap, Less, and Sass: Understanding Your Options for Rails 3.1 |
| Besides being faster, what else is new in Bundler 1.1? |
October 2011 | Don’t be terrified of building native extensions! |
| Show some love for prepared statements in Rails 3.1 |
| Why Bundler 1.1 will be much faster |
| It’s time to clean up your mess: refactoring Cucumber step definitions |
| The technology you never knew you were using to test your Rails site |
September 2011 | How does Bundler bundle? |
| Bundler’s Best Kept Secret |
| How does Kaminari paginate? |
June 2011 | Where does my javascript code go? Backbone, JST and the Rails 3.1 asset pipeline |
April 2011 | Contributing a new scaffold to ScaffoldHub |
March 2011 | View Mapper for Rails 3: ScaffoldHub |
February 2011 | Customizing Toto to support blog post categories |
January 2011 | 4 tips for how to customize a Toto blog site |
December 2010 | CodeBuddy: See your Ruby stack come alive! |
November 2010 | How to integrate Amazon Simple Pay into a Rails 3 app |
| ReliefHub hackfest: helping orphanages in Haiti |
October 2010 | ActiveRecord with large result sets - part 2: streaming data |
September 2010 | ruby187gc.patch |
| ActiveRecord with large result sets - part 1: select_all vs. find |
July 2010 | Code record/playback using Rails 3 generators |
| OSCON |
| Using LEFT OUTER JOIN with SearchLogic |
June 2010 | Using method_missing to customize SearchLogic |
May 2010 | How to install Paperclip in a Rails 3 app |
April 2010 | How to create a slideshow using JQuery and Rails in 10 minutes or less |
| Creating associations to existing data part 3: has_many :through scaffolding |
March 2010 | Class Factory: Factory_girl-like syntax for dynamically creating Ruby classes |
February 2010 | Getting started with Ruby metaprogramming |
| Creating associations to existing data part 2: belongs_to with auto_complete |
January 2010 | Creating associations to existing data part 1: belongs_to scaffolding |
December 2009 | How does the complex-form-examples sample app work? |
| How to convert a Rails plugin into a gem |
November 2009 | Scaffolding for auto complete on a complex, nested form |
| Scaffolding for complex forms using nested attributes |
October 2009 | Paperclip scaffolding |
| View Mapper: Scaffolding for your models and plugins |
| Auto_complete scaffolding |
September 2009 | Rails generator tutorial part 2: writing a custom manifest action |
August 2009 | Tutorial: How to write a Rails generator |
July 2009 | Generating view scaffolding code for existing models |
June 2009 | Taming the beast: Using JRuby and RSpec to test a J2EE application |
| Auto complete for complex forms using nested attributes in Rails 2.3 |
| Repeated auto complete plugin usage change |
May 2009 | Paperclip sample app part 3: saving file attachments in a database BLOB column |
| Paperclip sample app part 2: downloading files through a controller |
April 2009 | Paperclip sample app |
| Database storage for Paperclip: rewritten to use a single table |
| Filtering auto_complete pick lists – part 2: using named scopes |
March 2009 | Filtering auto_complete pick lists |
February 2009 | Database storage for Paperclip |
January 2009 | Sample app for auto complete on a complex form |
| Repeated_auto_complete changes merged into auto_complete |
| Using MySQL transactions with Drupal unit tests |
| Using transactions in a separate database with Drupal PHPUnit tests |
| Using a test database with Drupal unit tests |
| TDD keeps your PHP code separate from Drupal |
December 2008 | Using TDD to write a Drupal module |
| Writing your first PHPUnit test in Drupal |
| Example Drupal module to use for TDD demonstration |
November 2008 | The auto_complete plugin refactored to support repeated fields and named scopes |
| Testing is a lesson in humility |
October 2008 | Modifying the auto_complete Plugin to Allow Repeated Fields |
| Autocomplete plugin doesn’t work for repeated fields |
September 2008 | Problems Installing the Cutline Theme in Mephisto |
| Mephisto Setup on HostingRails.com |
| Why to use TDD with Drupal |