Pat Shaughnessy (original) (raw)

February 2025

Write Barriers

Using Different Size Pools

Inserting One New Element into Hashes of Varying Sizes

January 2025

Updating Ruby Under a Microscope

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