Articles by Category

TDD Basics


Writing your First Test
Test First Programming
Canonical Test Structure
Code Mutation
Minimal Implementation
TDD Cycle : Red, Green, Refactor
Refactor in Green State
Test Behavior Not Implementation
Obvious Implementation
Learning Specs
Essential Skills for TDD
What vs How in TDD
Make Your Code Robust
Testing computation involving floating-point numbers
Base Conversion

TDD Beyond Basics


Fakes and Mocks
Open Closed Principle
Contract Tests
Testing Random Behavior
Single Purpose Principle
Single Purpose Principle Revisited
Dependency Inversion Principle
Null Object
Synchronization Specs
Seams in a System
How to Use Fakes to Speed Up Tests
Stubs are Not Mocks
Factorial Kata
Counting
Character to Number Conversion
Test Precisely and Concretely
Mutation Testing

TDD Advanced Concepts


Test Spy
Command Query Separation Principle
Double Dispatch
Dealing with External API
Spiking and TDD

TDD Best Practice


Eliminating Loops in Tests

Katas


Basics

Reverse the Digits of an Integer
String Calculator Kata
Bowling Game Kata
Bowling Game Kata Part 2
Bowling Game Kata part 3
Bowling Game Kata Final Solution
FizzBuzz Kata
Generate Prime Numbers
The Sieve of Erastosthenes

Beyond Basics

Factorial Kata
Counting
Greatest Common Divisor
Tennis Kata
Prime Factors Kata
Prime Factors Kata Analysis

Advanced

Angry Rock Kata
Sum Kata

Rails


How to Install Redis
How to install and configure Resque
How to use Mailchimp API to subscribe users in Rails 4.1
Sending emails using SendGrid API in Rails 4.1
Using SuckerPunch gem for Background Job Processing in Rails 4.1
SSHKit Gem Basics
SSHKit Gem Basics Part 2
Availability Tests
How to Install Alpha SSL certificate using Moonshine for Rails 4.1
Simple Direct File Upload to Amazon S3 in Rails
Rails Tips

No SQL


MongoDB Basics
MongoDB Basics Part 2
HBase Basics
CouchDB Basics
MongoDB Ruby Driver Tutorial

SQL Basics


Create, Insert and Select Statements
Sorting
Search Conditions
Advanced Search Conditions
Wildcard Search
Calculated Fields
Aggregate Functions
Grouping Data
Subqueries
Joins
Inner Join
Advanced Joins
Update and Delete
MySql2 Gem Basics
SQLite Basics

Ruby Threads


Ruby Thread Basics
Troubleshooting Thread Deadlocks using strace

Payment Gateways


Recurring Billing using Stripe API
Stripe Recurring Billing Part 2

Books


Top 20 Things a Programmer Should Know
The Next 17 Things a Programmer Should Know
Code Simplicity Book Review

Design


Flexible Design

Tips


Unix Tips
Subversion Tips
Ruby Gem Tips
RSpec Tips
RVM Tips

Miscellaneous


Git Command Quick Reference
How to install Nokogiri on Lion
Installing Ruby 1.9.3 using RVM in Lion
Memcache and Redis Installation
RabbitMQ on Mac OS X


Related Articles


Create your own user feedback survey