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
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



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
Greatest Common Divisor
Tennis Kata
Prime Factors Kata
Prime Factors Kata Analysis


Angry Rock Kata
Sum Kata


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


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

SQL Basics

Create, Insert and Select Statements
Search Conditions
Advanced Search Conditions
Wildcard Search
Calculated Fields
Aggregate Functions
Grouping Data
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


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


Flexible Design


Unix Tips
Subversion Tips
Ruby Gem Tips
RSpec Tips
RVM Tips


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

Ace the Technical Interview

  • Easily find the gaps in your knowledge
  • Get customized lessons based on where you are
  • Take consistent action everyday
  • Builtin accountability to keep you on track
  • You will solve bigger problems over time
  • Get the job of your dreams

Take the 30 Day Coding Skills Challenge

Gain confidence to attend the interview

No spam ever. Unsubscribe anytime.