The Curious Engineer

All blogs / Compilers

Pat Shaughnessy

patshaughnessy.net

CompilersRuby / RailsRustDatabasesEngineering blogs

Posts
157 from 3 Sep 2008 to 17 Nov 2025
Posting
now and then (3 in the last year)
Kind
personal blog
Feed
http://feeds2.feedburner.com/patshaughnessy

2025 8

  1. Compiling Ruby To Machine Language
  2. YARV’s Internal Stack and Your Ruby Stack
  3. Compiling a Call to a Block
  4. Parsing: How Ruby Understands Your Code
  5. Write Barriers
  6. Using Different Size Pools
  7. Inserting One New Element into Hashes of Varying Sizes
  8. Updating Ruby Under a Microscope

2022 2

  1. LLVM IR: The Esperanto of Computer Languages
  2. Visiting an Abstract Syntax Tree

2021 4

  1. Reading Code Like a Compiler
  2. Find Your Language’s Primitives
  3. Generic Types: Adding Math Puzzles To Your Code
  4. To Learn a New Language, Read Its Standard Library

2020 1

  1. Downloading 100,000 Files Using Async Rust

2019 3

  1. Using Result Combinator Functions in Rust
  2. How Rust Makes Error Handling Part of the Language
  3. Using Rust to Build a Blog Site

2018 4

  1. Summer School With The Rust Compiler
  2. From ActiveRecord to Diesel
  3. How Rust Implements Tagged Unions
  4. Learning Rust: If Let vs. Match

2017 6

  1. Looking Inside Postgres at a GiST Index
  2. Manipulating Trees Using SQL and the Postgres LTREE Extension
  3. Saving a Tree in Postgres Using LTREE
  4. Installing the Postgres LTREE Extension
  5. Trying to Represent a Tree Structure Using Postgres
  6. Pointers in C and x86 Assembly Language

2016 4

  1. Learning to Read x86 Assembly Language
  2. Need a Second Opinion on Your Ruby Code? Ask Crystal
  3. Two Dumb Ruby Mistakes
  4. Is Your Postgres Query Starved for Memory?

2015 5

  1. A Look at How Postgres Executes a Tiny Join
  2. What Do Perl and Go Have in Common?
  3. Don’t Let Your Data Out of the Database
  4. Mark Methods Private When You Don’t Test Them
  5. Using Rake to Generate a Blog

2014 12

  1. Koichi Sasada Encourages Us To Contribute To Ruby
  2. Matz’s Foreword to Ruby Under a Microscope
  3. Discovering the Computer Science Behind Postgres Indexes
  4. Following a Select Statement Through Postgres Internals
  5. How Arel Converts Ruby Queries Into SQL Statements
  6. 20,000 Leagues Under ActiveRecord
  7. A Rule of Thumb for Strong Parameters
  8. Using a Ruby Class To Write Functional Code
  9. Use An Ask, Don’t Tell Policy With Ruby
  10. What does (((λ f . (λ x . (f x))) (λ a . a)) (λ b . b)) mean?
  11. Ruby Multiplies Like a Fourth Grader
  12. How Big is a Bignum?

2013 15

  1. Three RubyConf Surprises
  2. Expanded Ruby Under a Microscope Available in Print!
  3. Generational GC in Python and Ruby
  4. Visualizing Garbage Collection in Ruby and Python
  5. Ruby’s Top Self Object
  6. RubyKaigi: Making a Japanese Conference Accessible to the World
  7. Meet Fifteen Ruby Core Committers
  8. Coming This Fall: “Ruby Under a Microscope” Updated and in Print
  9. Ruby, Python, Java, C and Programmer Happiness
  10. Ruby’s Missing Data Structure
  11. Ruby 2.0 Works Hard So You Can Be Lazy
  12. An Interview With Laurent Sansonetti
  13. Ruby MRI Source Code Idioms #3: Embedded Objects
  14. Ruby MRI Source Code Idioms #2: C That Resembles Ruby
  15. Ruby MRI Source Code Idioms #1: Accessing Data Via Macros

2012 26

  1. Ruby, Smalltalk and Class Variables
  2. An Interview With Jim Weirich
  3. A High Level Code Walk Through Ruby MRI
  4. My eBook build process and some PDF, EPUB and MOBI tips
  5. Xavier Noria: The Code Gardener
  6. How Ruby Borrowed a Decades Old Idea From Lisp
  7. Narihiro Nakamura: Ruby’s GC Innovator
  8. Objects, Classes and Modules
  9. How Ruby Executes Your Code
  10. The Start of a Long Journey: How Ruby Parses and Compiles Your Code
  11. A Conversation With Mark Bates About How To Learn CoffeeScript
  12. One Chapter From My Upcoming eBook: Ruby Under a Microscope
  13. Matt Wynne On Using Cucumber
  14. Exploring Ruby’s Regular Expression Algorithm
  15. Why You Should Be Excited About Garbage Collection in Ruby 2.0
  16. Learning More About JRuby from Charles Nutter
  17. Learning From the Masters: Sinatra Internals
  18. The Joke Is On Us: How Ruby 1.9 Supports the Goto Statement
  19. An Interview with Andre Arko and Terence Lee from the Bundler Team
  20. Is Ruby interpreted or compiled?
  21. Journey to the center of JRuby
  22. A chat with Nick Quaranto about RubyGems.org internals
  23. My first impression of Rubinius internals
  24. Seeing double: how Ruby shares string values
  25. How to Customize Twitter Bootstrap’s Design in a Rails app
  26. Never create Ruby strings longer than 23 characters

2011 20

  1. Learning from the masters part 2: three metaprogramming best practices
  2. Too good to be true! Twitter Bootstrap meets Formtastic and Tabulous
  3. Learning from the masters: some of my favorite Rails commits
  4. Two ways of using Redis to build a NoSQL autocomplete search index
  5. Finding your soulmate: autocomplete with Redis in Rails 3.1
  6. Twitter Bootstrap, Less, and Sass: Understanding Your Options for Rails 3.1
  7. Besides being faster, what else is new in Bundler 1.1?
  8. Don’t be terrified of building native extensions!
  9. Show some love for prepared statements in Rails 3.1
  10. Why Bundler 1.1 will be much faster
  11. It’s time to clean up your mess: refactoring Cucumber step definitions
  12. The technology you never knew you were using to test your Rails site
  13. How does Bundler bundle?
  14. Bundler’s Best Kept Secret
  15. How does Kaminari paginate?
  16. Where does my javascript code go? Backbone, JST and the Rails 3.1 asset pipeline
  17. Contributing a new scaffold to ScaffoldHub
  18. View Mapper for Rails 3: ScaffoldHub
  19. Customizing Toto to support blog post categories
  20. 4 tips for how to customize a Toto blog site

2010 15

  1. How to integrate Amazon Simple Pay into a Rails 3 app
  2. ReliefHub hackfest: helping orphanages in Haiti
  3. ActiveRecord with large result sets - part 2: streaming data
  4. ruby187gc.patch
  5. ActiveRecord with large result sets - part 1: select_all vs. find
  6. Code record/playback using Rails 3 generators
  7. Oscon
  8. Using LEFT OUTER JOIN with SearchLogic
  9. Using method_missing to customize SearchLogic
  10. How to install Paperclip in a Rails 3 app
  11. How to create a slideshow using JQuery and Rails in 10 minutes or less
  12. Creating associations to existing data part 3: has_many :through scaffolding
  13. Getting started with Ruby metaprogramming
  14. Creating associations to existing data part 2: belongs_to with auto_complete
  15. Creating associations to existing data part 1: belongs_to scaffolding

2009 23

  1. How does the complex-form-examples sample app work?
  2. How to convert a Rails plugin into a gem
  3. Scaffolding for auto complete on a complex, nested form
  4. Scaffolding for complex forms using nested attributes
  5. Paperclip scaffolding
  6. Auto_complete scaffolding
  7. Rails generator tutorial part 2: writing a custom manifest action
  8. Tutorial: How to write a Rails generator
  9. Generating view scaffolding code for existing models
  10. Taming the beast: Using JRuby and RSpec to test a J2EE application
  11. Auto complete for complex forms using nested attributes in Rails 2.3
  12. Repeated auto complete plugin usage change
  13. Paperclip sample app part 3: saving file attachments in a database BLOB column
  14. Paperclip sample app part 2: downloading files through a controller
  15. Paperclip sample app
  16. Filtering auto_complete pick lists – part 2: using named scopes
  17. Filtering auto_complete pick lists
  18. Database storage for Paperclip
  19. Sample app for auto complete on a complex form
  20. Repeated_auto_complete changes merged into auto_complete
  21. Using MySQL transactions with Drupal unit tests
  22. Using a test database with Drupal unit tests
  23. TDD keeps your PHP code separate from Drupal

2008 9

  1. Using TDD to write a Drupal module
  2. Writing your first PHPUnit test in Drupal
  3. Example Drupal module to use for TDD demonstration
  4. Testing is a lesson in humility
  5. Modifying the auto_complete Plugin to Allow Repeated Fields
  6. Autocomplete plugin doesn’t work for repeated fields
  7. Problems Installing the Cutline Theme in Mephisto
  8. Mephisto Setup on HostingRails.com
  9. Why to use TDD with Drupal