Wednesday, September 26, 2012

Top 500 Ruby Gems on RubyGems.org

1 rack (1.4.1) Rack provides a minimal, modular and adaptable interface for developing web applications in Ruby.... 17,231,306
2 activesupport (3.2.8) A toolkit of support libraries and Ruby core extensions extracted from the Rails framework. Rich ... 14,857,613
3 rake (0.9.2.2) Rake is a Make-like program implemented in Ruby. Tasks and dependencies arespecified in standard ... 14,775,442
4 activerecord (3.2.8) Databases on Rails. Build a persistent domain model by mapping database tables to Ruby classes. S... 12,759,779
5 actionpack (3.2.8) Web apps on Rails. Simple, battle-tested conventions for building and testing MVC web application... 12,551,914
6 actionmailer (3.2.8) Email on Rails. Compose, deliver, receive, and test emails using the familiar controller/view pat... 12,232,818
7 activeresource (3.2.8) REST on Rails. Wrap your RESTful web app with Ruby classes and work with them like Active Record ... 12,102,355
8 rails (3.2.8) Ruby on Rails is a full-stack web framework optimized for programmer happiness and sustainable pr... 11,780,719
9 json (1.7.5) This is a JSON implementation as a Ruby extension in C. 11,727,594
10 mime-types (1.19) This library allows for the identification of a file's likely MIME content type. This is release ... 11,477,148
11 builder (3.1.3) Builder provides a number of builder objects that make creating structured data simple to do. Cu... 10,875,602
12 i18n (0.6.1) New wave Internationalization support for Ruby. 10,494,077
13 activemodel (3.2.8) A toolkit for building modeling frameworks like Active Record and Active Resource. Rich support f... 9,979,564
14 tzinfo (0.3.33) TZInfo is a Ruby library that uses the standard tz (Olson) database to provide daylight savings a... 9,778,312
15 erubis (2.7.0) Erubis is an implementation of eRuby and has the following features: * Very fast, almost thr... 9,456,904
16 rack-test (0.6.1) Rack::Test is a small, simple testing API for Rack apps. It can be used on its own or as a reusab... 9,234,479
17 mail (2.4.4) A really Ruby Mail handler. 9,219,889
18 polyglot (0.3.3) The Polyglot library allows a Ruby module to register a loader for the file type associated with... 9,153,759
19 arel (3.0.2) Arel is a SQL AST manager for Ruby. It 1. Simplifies the generation of complex SQL queries 2. Ad... 9,145,349
20 treetop (1.4.10) A Ruby-based text parsing and interpretation DSL 9,088,013
21 thor (0.16.0) A scripting framework that replaces rake, sake and rubigen 8,845,773
22 railties (3.2.8) Rails internals: application bootup, plugins, generators, and rake tasks. 8,841,302
23 multi_json (1.3.6) A gem to provide easy switching between different JSON backends, including Oj, Yajl, the JSON gem... 8,091,272
24 bundler (1.2.1) Bundler manages an application's dependencies through its entire life, across many machines, syst... 7,599,212
25 tilt (1.3.3) Generic interface to multiple Ruby template engines 7,304,051
26 rdoc (3.12) RDoc produces HTML and command-line documentation for Ruby projects. RDoc includes the +rdoc+ an... 6,367,997
27 nokogiri (1.5.5) Nokogiri (鋸) is an HTML, XML, SAX, and Reader parser. Among Nokogiri's many features is the ab... 6,258,721
28 rack-mount (0.8.3) A stackable dynamic tree based Rack router. 6,086,782
29 sprockets (2.6.0) Sprockets is a Rack-based asset packaging system that concatenates and serves JavaScript, CoffeeS... 5,071,664
30 rspec (2.11.0) BDD for Ruby 4,966,127
31 sass (3.2.1) Sass makes CSS fun again. Sass is an extension of CSS3, adding nested rules, variable... 4,872,988
32 net-ssh (2.6.0) Net::SSH: a pure-Ruby implementation of the SSH2 client protocol. It allows you to write programs... 4,829,406
33 rack-cache (1.2) Rack::Cache is suitable as a quick drop-in component to enable HTTP caching for Rack-based applic... 4,719,831
34 jquery-rails (2.1.3) This gem provides jQuery and the jQuery-ujs driver for your Rails 3 application. 4,523,495
35 diff-lcs (1.1.3) Diff::LCS is a port of Perl's Algorithm::Diff that uses the McIlroy-Hunt longest common subsequen... 4,404,346
36 sinatra (1.3.3) Sinatra is a DSL for quickly creating web applications in Ruby with minimal effort. 4,330,793
37 hike (1.2.1) A Ruby library for finding files in a set of paths. 4,303,737
38 addressable (2.3.2) Addressable is a replacement for the URI implementation that is part of Ruby's standard library. ... 4,237,190
39 rspec-core (2.11.1) BDD for Ruby. RSpec runner and example groups. 4,172,111
40 highline (1.6.15) A high-level IO library that provides validation, type conversion, and more for command-line inte... 4,137,550
41 rack-ssl (1.3.2) Rack middleware to force SSL/TLS. 4,124,776
42 rspec-expectations (2.11.3) rspec expectations (should[_not] and matchers) 4,110,391
43 rspec-mocks (2.11.3) RSpec's 'test double' framework, with support for stubbing and mocking 4,098,675
44 abstract (1.0.0) 'abstract.rb' is a library which enable you to define abstract method in Ruby. 4,011,383
45 haml (3.1.7) Haml (HTML Abstraction Markup Language) is a layer on top of XHTML or XML that's desi... 4,007,195
46 execjs (1.4.0) ExecJS lets you run JavaScript code from Ruby. 3,874,290
47 daemons (1.1.9) Daemons provides an easy way to wrap existing ruby scripts (for example a self-written server) t... 3,831,000
48 sqlite3 (1.3.6) This module allows Ruby programs to interface with the SQLite3 database engine (http://www.sqlite... 3,768,728
49 rest-client (1.6.7) A simple HTTP and REST client for Ruby, inspired by the Sinatra microframework style of specifyin... 3,605,107
50 ffi (1.1.5) Ruby-FFI is a ruby extension for programmatically loading dynamic libraries, binding functions wi... 3,538,638
51 coffee-script-source (1.3.3) CoffeeScript is a little language that compiles into JavaScript. Underneath all of th... 3,509,211
52 rubyzip (0.9.9) rubyzip is a ruby module for reading and writing zip files 3,499,544
53 uglifier (1.3.0) Ruby wrapper for UglifyJS JavaScript compressor 3,465,187
54 bcrypt-ruby (3.0.1) bcrypt() is a sophisticated and secure hash algorithm designed by The OpenBSD project for... 3,435,781
55 systemu (2.5.2) description: systemu kicks the ass 3,415,879
56 json_pure (1.7.5) This is a JSON implementation in pure Ruby. 3,202,276
57 sass-rails (3.2.5) Sass adapter for the Rails asset pipeline. 3,190,159
58 coffee-script (2.2.0) Ruby CoffeeScript is a bridge to the JS CoffeeScript compiler. 3,088,249
59 rspec-rails (2.11.0) RSpec for Rails 3,087,291
60 eventmachine (1.0.0) EventMachine implements a fast, single-threaded engine for arbitrary network communications. It's... 3,023,841
61 rubygems-update (1.8.24) RubyGems is a package management framework for Ruby. This gem is an update for the RubyGems soft... 2,858,638
62 net-ssh-gateway (1.1.0) A simple library to assist in establishing tunneled Net::SSH connections 2,857,873
63 coffee-rails (3.2.2) Coffee Script adapter for the Rails asset pipeline. 2,838,885
64 selenium-webdriver (2.25.0) WebDriver is a tool for writing automated tests of websites. It aims to mimic the behaviour of a ... 2,800,596
65 mysql2 (0.3.11) A simple, fast Mysql library for Ruby, binding to libmysql 2,782,985
66 mysql (2.8.1) This is the MySQL API module for Ruby. It provides the same functions for Ruby programs that the ... 2,772,768
67 journey (1.0.4) Journey is a router. It routes requests. 2,741,786
68 will_paginate (3.0.3) will_paginate provides a simple API for performing paginated queries with Active Record, DataMapp... 2,697,592
69 net-scp (1.0.4) A pure Ruby implementation of the SCP client protocol 2,690,560
70 uuidtools (2.1.3) A simple universally unique ID generation library. 2,667,611
71 childprocess (0.3.5) This gem aims at being a simple and reliable solution for controlling external programs running i... 2,655,109
72 devise (2.1.2) Flexible authentication solution for Rails with Warden 2,615,325
73 warden (1.2.1) Rack middleware that provides authentication for rack applications 2,613,521
74 term-ansicolor (1.0.7) Ruby library that colors strings using ANSI escape sequences 2,454,716
75 pg (0.14.1) Pg is the Ruby interface to the {PostgreSQL RDBMS}[http://www.postgresql.org/]. It works with {P... 2,437,712
76 capistrano (2.13.4) Capistrano is a utility and framework for executing commands in parallel on multiple remote machi... 2,418,114
77 xml-simple (1.1.1) A simple API for XML processing. 2,361,690
78 factory_girl (4.1.0) factory_girl provides a framework and DSL for defining and using factories ... 2,338,429
79 gherkin (2.11.2) A fast Gherkin lexer/parser based on the Ragel State Machine Compiler. 2,279,697
80 net-sftp (2.0.5) A pure Ruby implementation of the SFTP client protocol 2,222,437
81 sqlite3-ruby (1.3.3) This module allows Ruby programs to interface with the SQLite3 database engine (http://www.sqlite... 2,142,551
82 cucumber (1.2.1) Behaviour Driven Development with elegance and joy 2,118,983
83 fastthread (1.0.7) Optimized replacement for thread.rb primitives 2,063,701
84 httparty (0.9.0) Makes http fun! Also, makes consuming restful web services dead easy. 2,042,246
85 launchy (2.1.2) Launchy is helper class for launching cross-platform applications in a fire and forget manner. Th... 2,002,701
86 orm_adapter (0.4.0) Provides a single point of entry for using basic features of ruby ORMs 1,981,564
87 capybara (1.1.2) Capybara is an integration testing tool for rack based web applications. It simulates how a user ... 1,962,024
88 faraday (0.8.4) HTTP/REST API client library. 1,920,469
89 columnize (0.3.6) In showing a long lists, sometimes one would prefer to see the value arranged aligned in columns... 1,911,532
90 fastercsv (1.5.5) FasterCSV is intended as a complete replacement to the CSV standard library. It is significantly ... 1,910,911
91 multipart-post (1.1.5) Use with Net::HTTP to do multipart form posts. IO values that have #content_type, #original_file... 1,878,860
92 thin (1.5.0) A thin and fast web server 1,867,576
93 yajl-ruby (1.1.0) Ruby C bindings to the excellent Yajl JSON stream-based parser library. 1,824,073
94 paperclip (3.2.0) Easy upload management for ActiveRecord 1,797,240
95 crack (0.3.1) Really simple JSON and XML parsing, ripped from Merb and Rails. 1,749,542
96 hoe (3.1.0) Hoe is a rake/rubygems helper for project Rakefiles. It helps you manage, maintain, and release y... 1,711,168
97 bson (1.7.0) A Ruby BSON implementation for MongoDB. For more information about Mongo, see http://www.mongodb.... 1,703,739
98 mongo (1.7.0) A Ruby driver for MongoDB. For more information about Mongo, see http://www.mongodb.org. 1,685,636
99 redis (3.0.1) A Ruby client that tries to match Redis' API one-to-one, while still providing an idiomat... 1,678,500
100 oauth (0.4.7) OAuth Core Ruby implementation 1,668,686
101 hpricot (0.8.6) a swift, liberal HTML parser with a fantastic library 1,665,579
102 xpath (0.1.4) XPath is a Ruby DSL for generating XPath expressions 1,662,144
103 multi_xml (0.5.1) A gem to provide swappable XML backends utilizing LibXML, Nokogiri, Ox, or REXML. 1,650,047
104 database_cleaner (0.8.0) Strategies for cleaning databases. Can be used to ensure a clean state for testing. 1,643,314
105 newrelic_rpm (3.4.2.1) New Relic is a performance management system, developed by New Relic, Inc (http://www.newrelic.co... 1,594,522
106 bson_ext (1.7.0) C extensions to accelerate the Ruby BSON serialization. For more information about BSON, see http... 1,567,521
107 therubyracer (0.10.2) Call javascript code and manipulate javascript objects from ruby. Call ruby code and manipulate r... 1,497,641
108 passenger (3.0.17) Easy and robust Ruby web application deployment. 1,478,024
109 "ruby-hmac (0.4.0) This module provides common interface to HMAC functionality. HMAC is a kind of ""Message Authentic..." 1,465,845
110 factory_girl_rails (4.1.0) factory_girl_rails provides integration between factory_girl and rails 3 (currently just auto... 1,460,926
111 mocha (0.12.5) Mocking and stubbing library with JMock/SchMock syntax, which allows mocking and stubbing of meth... 1,443,899
112 libv8 (3.11.8.3) Distributes the V8 JavaScript engine in binary and source forms in order to support fast builds o... 1,422,207
113 bunny (0.8.0) A synchronous Ruby AMQP client that enables interaction with AMQP-compliant brokers. 1,402,528
114 rack-protection (1.2.0) You should use protection! 1,369,433
115 compass (0.12.2) Compass is a Sass-based Stylesheet Framework that streamlines the creation and maintainance of CSS. 1,359,590
116 hashie (1.2.0) Hashie is a small collection of tools that make hashes more powerful. Currently includes Mash (Mo... 1,348,575
117 chronic (0.8.0) Chronic is a natural language date/time parser written in pure Ruby. 1,337,311
118 rmagick (2.13.1) RMagick is an interface between Ruby and ImageMagick. 1,319,050
119 unicorn (4.3.1) \Unicorn is an HTTP server for Rack applications designed to only serve fast clients on low-laten... 1,316,437
120 aws-s3 (0.6.3) Client library for Amazon's Simple Storage Service's REST API 1,276,904
121 heroku (2.32.4) Client library and command-line tool to deploy and manage apps on Heroku. 1,267,498
122 excon (0.16.4) EXtended http(s) CONnections 1,265,933
123 oauth2 (0.8.0) A Ruby wrapper for the OAuth 2.0 protocol built with a similar style to the original OAuth gem. 1,257,445
124 chef (10.14.2) A systems integration framework, built to bring the benefits of configuration management to your ... 1,222,926
125 cucumber-rails (1.3.0) Cucumber Generator and Runtime for Rails 1,216,134
126 kgio (2.7.4) kgio provides non-blocking I/O methods for Ruby without raising exceptions on EAGAIN and EINPROGR... 1,215,453
127 RedCloth (4.2.9) Textile parser for Ruby. 1,199,004
128 rubyforge (2.0.4) A script which automates a limited set of rubyforge operations. * Run 'rubyforge help' for compl... 1,188,650
129 cascading.jruby (0.0.9) cascading.jruby is a small DSL above Cascading, written in JRuby 1,159,093
130 ansi (1.4.3) The ANSI project is a superlative collection of ANSI escape code related libraries enabling ANSI ... 1,132,586
131 ohai (6.14.0) Ohai profiles your system and emits JSON 1,114,676
132 cancan (1.6.8) Simple authorization solution for Rails which is decoupled from user roles. All permissions are s... 1,112,382
133 redis-namespace (1.2.1) Adds a Redis::Namespace class which can be used to namespace calls to Redis. This is useful when ... 1,108,007
134 mixlib-log (1.4.1) A gem that provides a simple mixin for log functionality 1,069,339
135 mixlib-cli (1.2.2) A simple mixin for CLI interfaces, including option parsing 1,057,138
136 fog (1.6.0) The Ruby cloud services library. Supports all major cloud providers including AWS, Rackspace, Lin... 1,055,269
137 linecache (0.46) LineCache is a module for reading and caching lines. This may be useful for example in a debugger... 1,052,307
138 mixlib-config (1.1.2) A class based config mixin, similar to the one found in Chef. 1,048,426
139 ZenTest (4.8.2) ZenTest provides 4 different tools: zentest, unit_diff, autotest, and multiruby. zentest scans y... 1,042,070
140 mongrel (1.1.5) A small fast HTTP library and server that runs Rails, Camping, Nitro and Iowa apps. 1,041,906
141 chunky_png (1.2.6) This pure Ruby library can read and write PNG images without depending on an external im... 1,038,572
142 open4 (1.3.0) description: open4 kicks the ass 1,029,319
143 rvm (1.11.3.5) RVM ~ Ruby Environment Manager ~ Ruby Gem Library. 1,020,042
144 mixlib-authentication (1.3.0) Mixes in simple per-request authentication 1,015,493
145 gem_plugin (0.2.3) A plugin system based on rubygems that uses dependencies only 1,012,619
146 guard (1.3.3) Guard is a command line tool to easily handle events on file system modifications. 989,982
147 resque (1.22.0) Resque is a Redis-backed Ruby library for creating background jobs, placing those jobs on... 989,386
148 spork (0.9.2) A forking Drb spec server 989,152
149 archive-tar-minitar (0.5.2) Archive::Tar::Minitar is a pure-Ruby library and command-line utility that provides the ability t... 983,194
150 moneta (0.6.0) A unified interface to key/value stores 981,568
151 kaminari (0.14.1) Kaminari is a Scope & Engine based, clean, powerful, agnostic, customizable and sophisticated pag... 979,539
152 ruby-debug-base (0.10.4) ruby-debug is a fast implementation of the standard Ruby debugger debug.rb. It is implemented by ... 979,236
153 formtastic (2.2.1) A Rails form builder plugin/gem with semantically rich and accessible markup 975,458
154 vegas (0.1.11) Vegas aims to solve the simple problem of creating executable versions of Sinatra/Rack apps. It i... 974,176
155 coderay (1.0.7) Fast and easy syntax highlighting for selected languages, written in Ruby. Comes with RedCloth in... 964,091
156 cocaine (0.3.1) A small library for doing (command) lines 958,259
157 sexp_processor (4.0.1) sexp_processor branches from ParseTree bringing all the generic sexp processing tools with it. Se... 956,301
158 fssm (0.2.9) The File System State Monitor keeps track of the state of any number of paths and will fire event... 955,725
159 faker (1.1.2) Faker, a port of Data::Faker from Perl, is used to easily generate fake data: names, addresses, p... 950,218
160 daemon_controller (1.0.0) A library for robust daemon management. 932,100
161 ruby-debug (0.10.4) A generic command line interface for ruby-debug. 920,749
162 rcov (1.0.0) rcov is a code coverage tool for Ruby. 918,568
163 formatador (0.2.3) STDOUT text formatting 911,734
164 memcache-client (1.8.5) A Ruby library for accessing memcached. 906,007
165 ruby-openid (2.2.0) A library for consuming and serving OpenID identities. 864,977
166 webrat (0.7.3) Webrat lets you quickly write expressive and robust acceptance tests for a Ruby web application. ... 864,798
167 libxml-ruby (2.3.3) The Libxml-Ruby project provides Ruby language bindings for the GNOME Libxml2 XML toolkit... 857,113
168 ruby_parser (2.3.1) ruby_parser (RP) is a ruby parser written in pure ruby (utilizing racc--which does by default use... 856,866
169 raindrops (0.10.0) Raindrops is a real-time stats toolkit to show statistics for Rack HTTP servers. It is designed ... 850,098
170 net-ssh-multi (1.1) Control multiple Net::SSH connections via a single interface. 846,776
171 capistrano-ext (1.2.1) Useful task libraries and methods for Capistrano 841,625
172 delayed_job (3.0.3) Delayed_job (or DJ) encapsulates the common pattern of asynchronously executing longer tasks in t... 829,942
173 minitest (3.5.0) minitest provides a complete suite of testing facilities supporting TDD, BDD, mocking, and benchm... 823,114
174 macaddr (1.6.1) description: macaddr kicks the ass 823,093
175 configuration (1.3.2) description: configuration kicks the ass 816,741
176 right_http_connection (1.3.0) Rightscale::HttpConnection is a robust HTTP/S library. It implements a retry algorithm for low-l... 816,140
177 right_aws (3.0.4) == DESCRIPTION: The RightScale AWS gems have been designed to provide a robust, fast, and secure... 805,424
178 hoptoad_notifier (2.4.11) Send your application errors to our hosted service and reclaim your inbox. 804,683
179 uuid (2.3.5) UUID generator for producing universally unique identifiers based on RFC 4122 (http://www.ietf.or... 798,024
180 omniauth (1.1.1) A generalized Rack framework for multiple-provider authentication. 789,197
181 cgi_multipart_eof_fix (2.5.0) Fix an exploitable bug in CGI multipart parsing. 786,380
182 mongoid (3.0.6) Mongoid is an ODM (Object Document Mapper) Framework for MongoDB, written in Ruby. 784,609
183 authlogic (3.1.3) A clean, simple, and unobtrusive ruby authentication solution. 783,840
184 SystemTimer (1.2.3) Set a Timeout based on signals, which are more reliable than Timeout. Timeout is based on green t... 772,050
185 mechanize (2.5.1) The Mechanize library is used for automating interaction with websites. Mechanize automatically s... 769,149
186 Platform (0.4.0) Hopefully robust platform sensing 756,424
187 whenever (0.7.3) Clean ruby syntax for writing and deploying cron jobs. 752,313
188 libwebsocket (0.1.5) Universal Ruby library to handle WebSocket protocol 748,706
189 awesome_print (1.1.0) Great Ruby dubugging companion: pretty print Ruby objects to visualize their structure. Supports ... 744,501
190 sequel (3.39.0) The Database Toolkit for Ruby 743,321
191 shoulda (3.1.1) Making tests easy on the fingers and eyes 741,578
192 state_machine (1.1.2) Adds support for creating state machines for attributes on any Ruby class 731,654
193 turn (0.9.6) Turn provides a set of alternative runners for MiniTest, both colorful and informative. 724,258
194 httpclient (2.2.7) gives something like the functionality of libwww-perl (LWP) in Ruby 721,479
195 carrierwave (0.6.2) Upload files in your Ruby applications, map them to a range of ORMs, store them on different back... 713,550
196 ruby_core_source (0.1.5) Retrieve Ruby core source files 710,780
197 guard-rspec (1.2.1) Guard::RSpec automatically run your specs (much like autotest). 703,447
198 htmlentities (4.3.1) A module for encoding and decoding (X)HTML entities. 698,673
199 responders (0.9.2) A set of Rails 3 responders to dry up your application 685,376
200 extlib (0.9.15) Support library for DataMapper and Merb 682,347
201 pry (0.9.10) An IRB alternative and runtime developer console 675,089
202 linecache19 (0.5.12) Linecache is a module for reading and caching lines. This may be useful for example in a debugger... 660,410
203 curb (0.8.1) Curb (probably CUrl-RuBy or something) provides Ruby-language bindings for the libcurl(3), a full... 660,264
204 foreman (0.60.0) Process manager for applications with multiple components 658,450
205 yard (0.8.2.1) YARD is a documentation generation tool for the Ruby programming language. It enables the... 655,252
206 log4r (1.1.10) See also: http://logging.apache.org/log4j 654,281
207 net-ldap (0.3.1) Net::LDAP for Ruby (also called net-ldap) implements client access for the Lightweight Directory ... 651,039
208 simplecov (0.6.4) Code coverage for Ruby 1.9 with a powerful configuration library and automatic merging of coverag... 649,780
209 rdiscount (1.6.8) Fast Implementation of Gruber's Markdown in C 648,792
210 aws-sdk (1.6.6) AWS SDK for Ruby 646,949
211 rubygems-bundler (1.1.0) Stop using bundle exec. Integrate Rubygems and Bundler. Make rubygems generate bundler aware exec... 642,813
212 yui-compressor (0.9.6) A Ruby interface to YUI Compressor for minifying JavaScript and CSS assets. 642,205
213 culerity (0.2.15) Culerity integrates Cucumber and Celerity in order to test your application's full stack. 635,022
214 haml-rails (0.3.5) Haml-rails provides Haml generators for Rails 3. It also enables Haml as the templating engine fo... 634,685
215 inherited_resources (1.3.1) Inherited Resources speeds up development by making your controllers inherit all restful actions ... 623,264
216 twitter (3.7.0) A Ruby wrapper for the Twitter API. 621,831
217 data_objects (0.10.8) Provide a standard and simplified API for communicating with RDBMS from Ruby 621,164
218 rufus-scheduler (2.0.17) job scheduler for Ruby (at, cron, in and every jobs). 613,829
219 simplecov-html (0.5.3) Default HTML formatter for SimpleCov code coverage tool for ruby 1.9+ 607,047
220 slop (3.3.3) A simple DSL for gathering options and parsing the command line 606,532
221 has_scope (0.5.1) Maps controller filters to your resource scopes 602,269
222 puppet (2.7.19) Puppet, an automated configuration management tool 599,888
223 test-unit (2.5.2) Ruby 1.9.x bundles minitest not Test::Unit. Test::Unit bundled in Ruby 1.8.x had not been improve... 590,106
224 method_source (0.8) retrieve the sourcecode for a method 587,496
225 dm-core (1.2.0) Faster, Better, Simpler. 579,045
226 metaclass (0.0.1) Adds a metaclass method to all Ruby objects 575,969
227 dalli (2.2.1) High performance memcached client for Ruby 572,740
228 simple_form (2.0.2) Forms made easy! 566,739
229 jruby-openssl (0.7.7) JRuby-OpenSSL is an add-on gem for JRuby that emulates the Ruby OpenSSL native library. 558,671
230 airbrake (3.1.4) Send your application errors to our hosted service and reclaim your inbox. 558,600
231 stringex (1.4.0) Some [hopefully] useful extensions to Ruby's String class. Stringex is made up of three libraries... 558,268
232 hirb (0.7.0) Hirb provides a mini view framework for console applications and uses it to improve ripl(irb)'s d... 556,657
233 ci_reporter (1.7.2) CI::Reporter is an add-on to Test::Unit, RSpec and Cucumber that allows you to generate XML repor... 553,945
234 activemerchant (1.28.0) Active Merchant is a simple payment abstraction library used in and sponsored by Shopify. It is w... 545,417
235 POpen4 (0.1.4) Open4 cross-platform 542,827
236 braintree (2.17.0) Ruby library for integrating with the Braintree Gateway 542,098
237 typhoeus (0.4.2) Like a modern code version of the mythical beast with 100 serpent heads, Typhoeus runs HTTP reque... 541,435
238 rack-openid (1.3.1) Provides a more HTTPish API around the ruby-openid library 537,637
239 money (5.0.0) This library aids one in handling money and different currencies. 536,593
240 trollop (2.0) Trollop is a commandline option parser for Ruby that just gets out of your way. One line of code ... 535,902
241 ruby-debug-base19 (0.11.25) ruby-debug is a fast implementation of the standard Ruby debugger debug.rb. It is implemented by ... 534,445
242 "timecop (0.5.2) A gem providing ""time travel"" and ""time freezing"" capabilities, making it dead simple to test tim..." 529,898
243 rb-fsevent (0.9.2) FSEvents API with Signals catching (without RubyCocoa) 529,314
244 simple_oauth (0.1.9) Simply builds and verifies OAuth headers 528,877
245 "acts_as_list (0.1.8) This ""acts_as"" extension provides the capabilities for sorting and reordering a number of objects..." 527,050
246 webmock (1.8.10) WebMock allows stubbing HTTP requests and setting expectations on HTTP requests. 525,603
247 dm-migrations (1.2.0) DataMapper plugin for writing and speccing migrations 523,885
248 celerity (0.9.2) Celerity is a JRuby wrapper around HtmlUnit – a headless Java browser with JavaScript support. ... 515,540
249 ipaddress (0.8.0) IPAddress is a Ruby library designed to make manipulation \ of IPv4 and IPv6 addresse... 510,237
250 acts-as-taggable-on (2.3.3) With ActsAsTaggableOn, you can tag a single model on several contexts, such as skills, interests,... 503,635
251 spreadsheet (0.7.3) The Spreadsheet Library is designed to read and write Spreadsheet Documents. As of version 0.6.0,... 497,821
252 rbx-require-relative (0.0.9) Ruby 1.9's require_relative for Rubinius and MRI 1.8. We also add abs_path which is like __FILE... 497,234
253 less (2.2.2) Invoke the Less CSS compiler from Ruby 497,029
254 jammit (0.6.5) Jammit is an industrial strength asset packaging library for Rails, providing both the CS... 493,886
255 "friendly_id (4.0.8) FriendlyId is the ""Swiss Army bulldozer"" of slugging and permalink plugins for Ruby on Rails. It ..." 490,080
256 net-http-persistent (2.7) Manages persistent connections using Net::HTTP plus a speed fix for Ruby 1.8. It's thread-safe to... 485,953
257 git (1.2.5) Ruby/Git is a Ruby library that can be used to create, read and manipulate Git repositories by wr... 483,551
258 ruby-prof (0.11.2) ruby-prof is a fast code profiler for Ruby. It is a C extension and therefore is many times faste... 483,331
259 meta_search (1.1.3) Allows simple search forms to be created against an AR3 model and its associations, ... 482,888
260 riddle (1.5.3) A Ruby API and configuration helper for the Sphinx search service. 482,005
261 ruby-ole (1.2.11.4) A library for easy read/write access to OLE compound documents for Ruby. 479,080
262 ruby-debug19 (0.11.6) A generic command line interface for ruby-debug. 478,969
263 mini_magick (3.4) Manipulate images with minimal use of memory via ImageMagick / GraphicsMagick 476,485
264 "bouncy-castle-java (1.5.0146.1) Gem redistribution of ""Legion of the Bouncy Castle Java cryptography APIs"" jars at http://www.bou..." 475,691
265 amqp (0.9.7) Widely used, feature-rich asynchronous AMQP 0.9.1 client with batteries included. 469,842
266 do_sqlite3 (0.10.8) Implements the DataObjects API for Sqlite3 466,227
267 dm-do-adapter (1.2.0) DataObjects Adapter for DataMapper 462,912
268 facter (1.6.12) You can prove anything with facts! 454,423
269 fakeweb (1.3.0) FakeWeb is a helper for faking web requests in Ruby. It works at a global level, without modifyin... 453,044
270 faraday_middleware (0.8.8) Various middleware for Faraday 451,891
271 escape (0.0.4) ... 448,694
272 prawn (0.12.0) Prawn is a fast, tiny, and nimble PDF generator for Ruby 443,713
273 subexec (0.2.2) Subexec spawns a subprocess with an optional timeout 442,603
274 oa-core (0.3.2) Core strategies for OmniAuth. 438,008
275 spruz (0.2.13) All the stuff that isn't good/big enough for a real library. 436,562
276 geokit (1.6.5) Geokit provides geocoding and distance calculation in an easy-to-use API 436,050
277 savon (1.2.0) Delicious SOAP for the Ruby community 433,391
278 syntax (1.0.0) Syntax is Ruby library for performing simple syntax highlighting. 433,062
279 em-http-request (1.0.3) EventMachine based, async HTTP Request client 428,263
280 thinking-sphinx (2.0.13) A concise and easy-to-use Ruby library that connects ActiveRecord to the Sphinx search daemon, ma... 420,763
281 shoulda-matchers (1.3.0) Making tests easy on the fingers and eyes 419,589
282 oa-oauth (0.3.2) OAuth strategies for OmniAuth. 418,817
283 fattr (2.2.1) description: fattr kicks the ass 418,568
284 lockfile (2.1.0) description: lockfile kicks the ass 415,147
285 http_parser.rb (0.5.3) Ruby bindings to http://github.com/ry/http-parser and http://github.com/a2800276/http-parser.java 415,034
286 autotest (4.4.6) This is a stub gem to fix the confusion caused by autotest being part of the ZenTest suite. 414,357
287 wirble (0.1.3) Handful of common Irb features, made easy. 405,505
288 rsolr (1.0.8) RSolr aims to provide a simple and extensible library for working with Solr 399,606
289 fxruby (1.6.25) FXRuby is the Ruby binding to the FOX GUI toolkit. 398,271
290 httpi (1.1.1) HTTPI provides a common interface for Ruby HTTP libraries. 395,789
291 gemcutter (0.7.1) Provides the `gem yank` and `gem webhook` commands to RubyGems. 395,372
292 parallel (0.5.18) Run any kind of code in parallel processes 393,534
293 ruby-openid-apps-discovery (1.2.0) Extension to ruby-openid that enables discovery for Google Apps domains 389,290
294 jasmine (1.2.1) Test your JavaScript without any framework dependencies, in any environment, and with a nice desc... 386,946
295 bootstrap-sass (2.1.0.0) Twitter's Bootstrap, converted to Sass and ready to drop into Rails or Compass 382,223
296 email_spec (1.2.1) Easily test email in rspec and cucumber 379,569
297 em-resolv-replace (1.1.3) EventMachine-aware DNS lookup for Ruby 374,284
298 dm-sqlite-adapter (1.2.0) Sqlite3 Adapter for DataMapper 374,217
299 closure-compiler (1.1.7) A Ruby Wrapper for the Google Closure Compiler. 373,008
300 rr (1.0.4) RR (Double Ruby) is a double framework that features a rich selection of double techniques and a ... 372,164
301 Ascii85 (1.0.2) Ascii85 provides methods to encode/decode Adobe's binary-to-text encoding of the same name. 372,120
302 sanitize (2.0.3) Whitelist-based HTML sanitizer. 370,253
303 ruby2ruby (1.3.1) ruby2ruby provides a means of generating pure ruby code easily from RubyParser compatible Sexps. ... 369,820
304 pdf-reader (1.2.0) The PDF::Reader library implements a PDF parser conforming as much as possible to the PDF specifi... 364,354
305 polyamorous (0.5.0) This is just an extraction from Ransack/Squeel. You probably don't want to use this dire... 360,552
306 babosa (0.3.8) A library for creating slugs. Babosa an extraction and improvement of the string code fro... 356,569
307 omniauth-oauth2 (1.1.1) An abstract OAuth2 strategy for OmniAuth. 355,903
308 "colored (1.2) >> puts ""this is red"".red >> puts ""this is red with a blue background (read: ugly)"".red_on_..." 355,144
309 ruby-progressbar (1.0.1) Ruby/ProgressBar is an extremely flexible text progress bar library for Ruby. The output can be c... 353,348
310 liquid (2.4.1) A secure, non-evaling end user template engine with aesthetic markup. 353,153
311 hmx_client (0.1.0) Gives a client the ability to interact fully with the API for HMX 353,044
312 guard-spork (1.2.0) Guard::Spork automatically manage Spork DRb servers. 348,933
313 jeweler (1.8.4) Simple and opinionated helper for creating Rubygem projects on GitHub 345,101
314 redcarpet (2.1.1) A fast, safe and extensible Markdown to (X)HTML parser 343,469
315 rubyntlm (0.1.1) Ruby/NTLM provides message creator and parser for the NTLM authentication. 340,516
316 gyoku (0.4.6) Gyoku converts Ruby Hashes to XML 336,681
317 rb-inotify (0.8.8) A Ruby wrapper for Linux's inotify, using FFI 335,733
318 pyu-ruby-sasl (0.0.3.3) Simple Authentication and Security Layer (RFC 4422) 333,543
319 oa-openid (0.3.2) OpenID strategies for OmniAuth. 333,151
320 amazon-ec2 (0.9.17) A Ruby library for accessing the Amazon Web Services EC2, ELB, RDS, Cloudwatch, and Autoscaling A... 332,656
321 aasm (3.0.9) AASM is a continuation of the acts as state machine rails plugin, built for plain Ruby objects. 331,458
322 net-http-digest_auth (1.2.1) An implementation of RFC 2617 - Digest Access Authentication. At this time the gem does not drop... 328,311
323 aws (2.5.7) AWS Ruby Library for interfacing with Amazon Web Services including EC2, S3, SQS, SimpleDB and mo... 320,253
324 haml-edge (3.1.79) Haml (HTML Abstraction Markup Language) is a layer on top of XHTML or XML that's desi... 318,618
325 activerecord-jdbc-adapter (1.2.2) activerecord-jdbc-adapter is a database adapter for Rails\' ActiveRecord component that can be us... 316,781
326 webrobots (0.0.13) This library helps write robots.txt compliant web robots in Ruby. 314,764
327 commonjs (0.2.6) Host CommonJS JavaScript environments in Ruby 314,435
328 annotate (2.5.0) Annotates Rails/ActiveRecord Models, routes, fixtures, and others based on the database schema. 313,507
329 rspec-instafail (0.2.4) Show failing specs instantly 313,032
330 oa-enterprise (0.3.2) Enterprise strategies for OmniAuth. 312,446
331 oa-basic (0.3.2) HTTP Basic strategies for OmniAuth. 311,379
332 jwt (0.1.5) JSON Web Token implementation in Ruby 311,131
333 less-rails (2.2.3) The dynamic stylesheet language for the Rails asset pipeline. Allows other gems to extend Less lo... 310,930
334 dynamic_form (1.1.4) DynamicForm holds a few helper methods to help you deal with your Rails3 models. It includes the ... 307,014
335 six-updater-web (0.24.15) Your summary here 306,106
336 win32-api (1.4.8) The Win32::API library is meant as a replacement for the Win32API library that ships as p... 306,033
337 em-websocket (0.3.8) EventMachine based WebSocket server 303,454
338 file-tail (1.0.11) Library to tail files in Ruby 301,217
339 listen (0.5.2) The Listen gem listens to file modifications and notifies you about the changes. Works everywhere! 299,653
340 netrc (0.7.7) This library can read and update netrc files, preserving formatting including comments and whites... 299,642
341 god (0.13.1) An easy to configure, easy to extend monitoring framework written in Ruby. 299,263
342 taps (0.3.24) A simple database agnostic import/export app to transfer data to/from a remote database. 296,250
343 geoip (1.1.2) GeoIP searches a GeoIP database for a given host or IP address, and returns information about the... 295,766
344 flog (2.5.3) Flog reports the most tortured code in an easy to read pain report. The higher the score, the mor... 293,561
345 omniauth-facebook (1.4.1) Facebook strategy for OmniAuth 291,142
346 rmail (1.0.0) RMail is a lightweight mail library containing various utility classes and modules that allow rub... 290,491
347 mongo_mapper (0.12.0) A Ruby Object Mapper for Mongo 288,211
348 paper_trail (2.6.3) Track changes to your models' data. Good for auditing or versioning. 285,949
349 sunspot (1.3.3) Sunspot is a library providing a powerful, all-ruby API for the Solr search engine. Sunspot m... 281,413
350 blankslate (3.1.2) BlankSlate provides a base class where almost all of the methods from Object and Kernel have been... 279,911
351 dragonfly (0.9.12) Dragonfly is a framework that enables on-the-fly processing for any content type. It is especia... 279,223
352 exception_notification (2.6.1) Exception notification by email for Rails apps 278,960
353 zip (2.0.2) zip is a Ruby library for reading and writing Zip files. Unlike the official rubyzip, zip is comp... 277,785
354 RubyInline (3.11.3) Inline allows you to write foreign code within your ruby code. It automatically determines if the... 277,514
355 backports (2.6.4) Essential backports that enable some of the really nice features of ruby 1.8.7, ruby 1.9 an... 277,141
356 msgpack (0.4.7) MessagePack, a binary-based efficient data interchange format. 276,258
357 dm-validations (1.2.0) Library for performing validations on DM models and pure Ruby object 275,015
358 nori (1.1.3) XML to Hash translator 274,402
359 librex (0.0.68) Rex provides a variety of classes useful for security testing and exploit development. Based on S... 274,263
360 rails_best_practices (1.11.1) a code metric tool for rails codes, written in Ruby. 273,896
361 nifty-generators (0.4.6) A collection of useful Rails generator scripts for scaffolding, layout files, authentication, and... 273,048
362 machinist (2.0) Fixtures aren't fun. Machinist is. 272,828
363 koala (1.5.0) Koala is a lightweight, flexible Ruby SDK for Facebook. It allows read/write access to the socia... 272,283
364 dm-timestamps (1.2.0) DataMapper plugin for magical timestamps 271,544
365 jasmine-core (1.2.0) Test your JavaScript without any framework dependencies, in any environment, and with a nice desc... 268,093
366 resque-scheduler (2.0.0) Light weight job scheduling on top of Resque. Adds methods enqueue_at/enqueue_in to schedule ... 266,782
367 memcached (1.4.5) An interface to the libmemcached C client. 266,763
368 httpauth (0.2.0) Library for the HTTP Authentication protocol (RFC 2617) 266,623
369 mixlib-shellout (1.1.0) Run external commands on Unix or Windows 265,118
370 dm-aggregates (1.2.0) DataMapper plugin providing support for aggregates on collections 264,924
371 parseconfig (1.0.2) ParseConfig provides simple parsing of standard configuration files in the form of 'param = value... 264,321
372 fuubar (1.0.0) the instafailing RSpec progress bar formatter 261,165
373 maruku (0.6.1) Maruku is a Markdown interpreter in Ruby. It features native export to HTML and PDF (via Latex).... 260,729
374 windows-pr (1.2.2) The windows-pr library is a collection of Windows functions and constants pre-defined for... 260,525
375 mustache (0.99.4) Inspired by ctemplate, Mustache is a framework-agnostic way to render logic-free views. As ctemp... 260,118
376 rpm_contrib (2.1.11) Community contributed instrumentation for various frameworks based on the New Relic Ruby monitori... 257,624
377 sunspot_rails (1.3.3) Sunspot::Rails is an extension to the Sunspot library for Solr search. Sunspot::Rails add... 257,526
378 aaronh-chronic (0.3.9) A natural language date parser with timezone support 254,815
379 http_connection (1.4.1) HTTP helper library 254,522
380 sup (0.12.1) Sup is a console-based email client for people with a lot of email. It supports tagging, very fas... 254,055
381 escape_utils (0.2.4) Faster string escaping routines for your web apps 253,905
382 stomp (1.2.5) Ruby client for the Stomp messaging protocol. Note that this gem is no longer supported on rubyf... 253,841
383 flay (1.4.3) Flay analyzes code for structural similarities. Differences in literal values, variable, class, m... 253,049
384 logging (1.8.0) Logging is a flexible logging library for use in Ruby programs based on the design of Java's log4... 252,142
385 dm-types (1.2.2) DataMapper plugin providing extra data types 249,217
386 plucky (0.5.2) Thin layer over the ruby driver that allows you to quickly grab hold of your data (pluck it!). 247,834
387 ttfunk (1.0.3) Get Ya TrueType Funk On! (Font Metrics Parser for Prawn) 245,528
388 selenium-client (1.2.18) Official Ruby Client for Selenium RC. 242,809
389 wasabi (2.5.1) A simple WSDL parser 242,654
390 rails3-generators (0.17.6) Rails 3 compatible generators for gems that don't have them yet 242,365
391 searchlogic (2.5.8) Searchlogic makes using ActiveRecord named scopes easier and less repetitive. 240,188
392 ruby-debug-ide (0.4.16) An interface which glues ruby-debug to IDEs like Eclipse (RDT), NetBeans and RubyMine. 238,670
393 alpha_omega (1.0.1) Common reciples for persistent capistrano releases 237,917
394 growl (1.0.3) growlnotify bindings 237,281
395 vcr (2.2.5) VCR provides a simple API to record and replay your test suite's HTTP interactions. It works wit... 236,432
396 oa-more (0.3.2) Additional strategies for OmniAuth. 236,159
397 thrift (0.8.0) Ruby bindings for the Apache Thrift RPC system 235,827
398 capybara-webkit (0.12.1) Headless Webkit driver for Capybara 235,496
399 akami (1.2.0) Building Web Service Security 235,314
400 pr_geohash (1.0.0) GeoHash encode/decode library for pure Ruby. It's implementation of http://en.wikipedia.org/wiki... 233,452
401 rb-fchange (0.0.6) A Ruby wrapper for Windows Kernel functions for monitoring the specified directory or subtree 232,118
402 bourbon (2.1.1) The purpose of Bourbon Vanilla Sass Mixins is to provide a comprehensive framework of sass mixins... 232,014
403 compass-rails (1.0.3) Integrate Compass into Rails 2.3 and up. 230,842
404 pony (1.4) Send email in one command: Pony.mail(:to => 'someone@example.com', :body => 'hello') 229,868
405 plist (3.1.0) Plist is a library to manipulate Property List files, also known as plists. It can parse plist f... 227,801
406 kramdown (0.14.0) kramdown is yet-another-markdown-parser but fast, pure Ruby, using a strict syntax definition and... 227,483
407 awesome_nested_set (2.1.4) An awesome nested set implementation for Active Record 227,376
408 main (5.1.0) description: main kicks the ass 227,171
409 hiredis (0.4.5) Ruby extension that wraps Hiredis (blocking connection and reply parsing) 227,017
410 icalendar (1.2.0) This is a Ruby library for dealing with iCalendar files. Rather than explaining myself, here is ... 226,764
411 autotest-rails (4.1.2) This is an autotest plugin to provide rails support. It provides basic rails support and extra pl... 226,618
412 six-updater (0.22.5) Your summary here 225,039
413 posix-spawn (0.3.6) posix-spawn uses posix_spawnp(2) for faster process spawning 224,889
414 bluecloth (2.2.0) BlueCloth is a Ruby implementation of John Gruber's Markdown[http://daringfireball.net/projects/m... 223,719
415 rake-compiler (0.8.1) Provide a standard and simplified way to build and package Ruby extensions (C, Java) using Rake a... 223,520
416 activeadmin (0.5.0) The administration framework for Ruby on Rails. 222,340
417 truncate_html (0.5.5) Truncates html so you don't have to 221,097
418 jruby-jars (1.6.8) This gem includes the core JRuby code and the JRuby 1.8 stdlib as jar files. It provides a way to... 220,088
419 little-plugger (1.1.3) LittlePlugger is a module that provides Gem based plugin management. By extending your own class ... 219,900
420 fb_graph (2.5.0) A full-stack Facebook Graph API wrapper in Ruby. 219,595
421 em-socksify (0.2.1) EventMachine SOCKSify shim: adds SOCKS support to any protocol 219,464
422 twitter-bootstrap-rails (2.1.3) twitter-bootstrap-rails project integrates Bootstrap CSS toolkit for Rails 3.1 Asset Pipeline 217,976
423 progressbar (0.11.0) Ruby/ProgressBar is a text progress bar library for Ruby. It can indicate progress with percentag... 217,582
424 system_timer (1.2.4) Set a Timeout based on signals, which are more reliable than Timeout. Timeout is based on green t... 216,905
425 configatron (2.9.1) configatron was developed by: markbates 216,183
426 spider (0.4.4) A Web spidering library: handles robots.txt, scraping, finding more links, and doing it all over ... 215,392
427 dm-serializer (1.2.2) DataMapper plugin for serializing Resources and Collections 215,342
428 pdfkit (0.5.2) Uses wkhtmltopdf to create PDFs using HTML 215,231
429 rchardet (1.3) Character encoding auto-detection in Ruby. As smart as your browser. Open source. 214,926
430 rabl (0.7.2) General ruby templating with json, bson, xml and msgpack support 212,598
431 geocoder (1.1.3) Provides object geocoding (by street or IP address), reverse geocoding (coordinates to street add... 212,078
432 ruby-graphviz (1.0.8) Ruby/Graphviz provides an interface to layout and generate images of directed graphs in a variety... 210,139
433 bundle (0.0.1) You really mean `gem install bundler`. It's okay. I'll fix it for you this one last time... 209,411
434 heroku-api (0.3.5) Ruby Client for the Heroku API 206,911
435 bitly (0.8.0) Use the bit.ly API to shorten or expand URLs 206,812
436 jruby-launcher (1.0.15-java) Builds and installs a native launcher for JRuby on your system 205,697
437 http_router (0.11.0) This library allows you to recognize and build URLs in a Rack application. 205,261
438 after_commit (1.0.10) A Ruby on Rails plugin to add an after_commit callback. This can be used to trigger methods ... 204,037
439 foreigner (1.2.1) Adds helpers to migrations and dumps foreign keys to schema.rb 203,885
440 soap4r (1.5.8) An implementation of SOAP 1.1 for Ruby. 202,746
441 ffaker (1.15.0) Faster Faker, generates dummy data. 201,760
442 pickle (0.4.11) Easy model creation and reference in your cucumber features 201,609
443 refinerycms (2.0.8) A Ruby on Rails CMS that supports Rails 3.2. It's easy to extend and sticks to 'the Rails way' wh... 201,163
444 prawn-layout (0.8.4) An extension to Prawn that provides table support and other layout functionality 201,076
445 milia (0.3.30) Transparent Multi-tenanting for hosted Rails 3.1+/Ruby 1.9.2 applications 200,984
446 arrayfields (4.7.4) arrayfields 200,429
447 dm-constraints (1.2.0) DataMapper plugin constraining relationships 200,287
448 scout (5.5.9) Scout makes monitoring and reporting on your web applications as flexible and simple as possible. 199,855
449 bluepill (0.0.60) Bluepill keeps your daemons up while taking up as little resources as possible. After all you pro... 199,476
450 facets (2.9.3) Facets is the premier collection of extension methods for the Ruby programming language. Facets e... 199,170
451 slim (1.3.1) Slim is a template language whose goal is reduce the syntax to the essential parts without becomi... 198,996
452 prawn-core (0.8.4) Prawn is a fast, tiny, and nimble PDF generator for Ruby 198,910
453 windows-api (0.4.2) The windows-api library provides features over and above the basic interface provided by ... 197,139
454 omniauth-oauth (1.0.1) A generic OAuth (1.0/1.0a) strategy for OmniAuth. 196,831
455 active_utils (1.0.5) Common utils used by active_merchant, active_fulfillment, and active_shipping 196,230
456 attribute-kit (0.2.0) Tools for attribute tracking like Hashes with dirty tracking and events, for building hybrid mode... 196,227
457 mini_exiftool (1.6.0) This library is wrapper for the Exiftool command-line application (http://www.sno.phy.queensu.ca/... 195,353
458 jruby-rack (1.1.10) JRuby-Rack is a combined Java and Ruby library that adapts the Java Servlet API to Rack. For JRub... 194,083
459 routing-filter (0.3.1) Routing filters wraps around the complex beast that the Rails routing system is, allowing for uns... 192,648
460 flexmock (1.0.3) FlexMock is a extremely simple mock object class compatible with the Test::Unit fram... 190,520
461 color (1.4.1) The capabilities of the Color library are limited to pure mathematical manipulation of the colour... 188,576
462 vj-sdk (0.7.14) Videojuicer core-sdk 188,267
463 grit (2.5.0) Grit is a Ruby library for extracting information from a git repository in an object oriented man... 186,424
464 parallel_tests (0.8.12) Run Test::Unit / RSpec / Cucumber in parallel 186,086
465 temple (0.5.3) Template compilation framework in Ruby 186,082
466 win32-process (0.7.0) The win32-process library implements several Process methods that are either unimplemente... 183,996
467 omniauth-twitter (0.0.13) OmniAuth strategy for Twitter 183,463
468 reek (1.2.12) Reek is a tool that examines Ruby classes, modules and methods and reports any code smells it fin... 182,305
469 recaptcha (0.3.4) This plugin adds helpers for the reCAPTCHA API 182,225
470 exceptional (2.0.32) Exceptional is the Ruby gem for communicating with http://getexceptional.com (hosted error tracki... 181,051
471 watchr (0.7) Modern continious testing (flexible alternative to autotest). 180,702
472 activerecord-jdbcmysql-adapter (1.2.2) Install this gem to use MySQL with JRuby on Rails. 178,736
473 settingslogic (2.0.8) A simple and straightforward settings solution that uses an ERB enabled YAML file and a singleton... 178,089
474 dm-transactions (1.2.0) Makes transaction support available for adapters that support them 177,184
475 autotest-growl (0.2.16) This gem aims to improve support for Growl notifications by autotest. 177,135
476 activerecord-sqlserver-adapter (3.2.9) SQL Server 2005 and 2008 Adapter For ActiveRecord 174,804
477 viewcumber (0.3.1) Cucumber formatter for easily viewing each step of your scenarios 174,577
478 ghostplus (0.0.1) Allows you to create, list, and modify local hostnames 173,061
479 tmail (1.2.7.1) TMail is a Ruby-based mail handler. It allows you to compose stadards compliant emails in a very ... 172,411
480 roodi (2.1.0) Roodi stands for Ruby Object Oriented Design Inferometer. It parses your Ruby code and warns you... 172,380
481 SyslogLogger (1.4.1) SyslogLogger is a Logger replacement that logs to syslog. It is almost drop-in with a few differ... 171,886
482 jenkins (0.6.8) A suite of utilities for bringing continous integration to your projects (not the other way aroun... 171,570
483 prawn-security (0.8.4) Prawn/Security adds document encryption, password protection, and permissions to Prawn. 170,816
484 scale_down (0.7.3) A Sinatra based server for quickly scaling and serving images. Nothing more. 170,445
485 client_side_validations (3.1.4) Client Side Validations 170,001
486 yamler (0.1.0) yamler was developed by: markbates 169,260
487 padrino-core (0.10.7) The Padrino core gem required for use of this framework 169,259
488 declarative_authorization (0.5.6) declarative_authorization is a Rails plugin for maintainable authorization based on readable auth... 168,467
489 http_configuration (1.0.4) Gem that provides the ability to set defaults for proxies and timeouts for Net::HTTP. Simplifies ... 168,374
490 remotipart (1.0.2) Remotipart is a Ruby on Rails gem enabling remote multipart forms (AJAX style file uploads) with ... 168,060
491 ntlm-http (0.1.1) Ruby/NTLM HTTP provides NTLM authentication over http. 167,913
492 vagrant (1.0.5) Vagrant is a tool for building and distributing virtualized development environments. 167,895
493 routo (0.0.4) Sending sms with Routo Messaging HTTP API. 167,665
494 globalize3 (0.2.0) Rails I18n: de-facto standard library for ActiveRecord 3 model/data translation. 167,405
495 guard-cucumber (1.2.0) Guard::Cucumber automatically run your features (much like autotest) 167,341
496 churn (0.0.24) High method and class churn has been shown to have increased bug and error rates. This gem helps ... 167,211
497 do_mysql (0.10.8) Implements the DataObjects API for MySQL 166,962
498 garb (0.9.1) Google Analytics API Ruby Wrapper 166,659
499 rush (0.6.8) A Ruby replacement for bash+ssh, providing both an interactive shell and a library. Manage both ... 166,575
500 directory_watcher (1.4.1) The directory watcher operates by scanning a directory at some interval and generating a list of ... 166,312

Tuesday, September 25, 2012

General procedures for system feature enhancement

Feature Spec - Identify the goal.
  • Feature(s) request received.
  • Breakdown requests into small request items.
  • Clarity requirements if necessary.
Design & Planning - Draw a direction map.
  • List out the required changes.
  • List out new functionality/methods needed.
  • List out side effects.
  • Reuse existing functionalities if possible.
    • Ensure DRY (Don't repeat yourself)
  • Open for future changes.
  • Double check all usage scenarios.
  • Run new features on mind map.
  • Feasibility studies if necessary.
  • Division of Labour.
  • Estimate schedule.
Implementation - Work through the map.
  • Create test cases.
  • Implementation.
  • Refine the feature and details during implementation.
Testing
  • QA test
  • User Acceptance test
Demo
  • User demo
  • Get user feedback
  • Go back to feature spec cycle upon user feedback.
Staging Release
  • Deployment to stage server
  • Pre-release final checks.

Production Release
  • Release to production.
User Training
  • Conduct user training on new features.

Sunday, September 23, 2012

Practices of Agile Development


Attitudes
  • Blame doesn't fix bugs. 
  • Don't code in isolation, do code reviews.
  • Use unit tests.
  • Do not code in quick and dirty ways.
Continuous Learning

  • No need to be specialized on every technologies.  But need to known the industry trend.
  • Share knowledge with the team.  Let everyone learn from each other.
  • Learning new technologies may have to give up the old ones.
  • Ask why and dig into the root of solution.
  • Keep development cycle in a good pace.  Design -> Implementation -> Testing -> Code Review -> Release.
Customer Oriented

  • Let customer do the business decisions.  Understand customers needs.
  • Design in two phrases:
    • Macro design:  Give the direction of implementations.  Not down to the details.
    • Micro design:   Ways on solve problems during implementation.
  • A good design should be correct but not precise.
  • Blindly picking a framework is like having kids to save taxes.
  • Don't build what you can download.
  • Base on project requirement, select the right tools and technologies.
  • Checked-in code (on master branch) is always ready for action.
  • Never accept big-bang integration.  Should integrate codes more often.
  • Automate QA testing.
  • Get continuous feedback from customers.  Ensure the project is on the right direction.
  • Release the smallest usable feature in project development life cycle.
Feedback

  • Use unit tests to provide coding feedback.
  • TDD - Write tests before writing code.
  • Good design doesn't mean more classes.
  • Target for simple design.
  • Ensure code works on different platform (if applicable).
Agile

  • Write clean code when speaks its purpose or function.
  • PIE - Program Intently and Expressively.
  • Let code speak for itself.  Comments only helps.  Don't comment to cover up.
  • DRY - Don't Repeat Yourself.
  • Carefully pick meaningful variable and method names.
  • No best solution.
  • Always code in clean, simple and easy for maintenance way.
  • Simple is not simplistic.
  • Do not use complicated design pattern unless it's absolutely necessary and with good reasons.
  • Use inheritance for is-a; Use delegation for has-a or uses-a.
Daily Practice

  • Don't get burn twice.  Keep a log book.
  • Treat warning as an error.  Solve it.
Collaboration
  • Daily short (stand) meeting (10 - 15 minutes).
    • Always know what others are working on.
    • Simple questions for everyone:
      • What's yesterday achievements?
      • What's today's plan?
      • Any obstacles?
    • Do not discuss the questions during meeting.  Details should be discussed after meeting.
    • Meeting holds in the morning after everyone settle down.
  • Advantages of daily meetings:
    • Know the existing problems and progress.
    • May reallocate resources if needed.
    • Let everyone know what others are doing.
    • May know who can provide a quick solution to a problem.
    • Keep everyone in a good working pace.
  • You can't code in PowerPoint.
  • Architect should be able to code.
  • Code should be reviewed and refactored if necessary.
  • Every project member should shift to handle different part of the project.
  • Knowledge grows when given.
  • Inspire rather than given instructions.
  • Code review basic check points:
    • Easily readable and understandable?
    • Any obvious mistakes?
    • Is the code give negative effect on other functionality?
    • Any repeated code?
    • Can be improved or refactored?
  • Unless there's obvious improvement after refactoring, do not change others code.
  • Report progress and problems.

Friday, September 21, 2012

Thursday, September 20, 2012

Rails paginate inner join and outer join

some_scope.paginate \
:per_page => 20, :page => page,
:joins => :table_A, # will be inner joined
:include => :table_B, # will be outer joined
:conditions => ...

Monday, September 17, 2012

bash customization

$PS1="\h:\W \u~[\A]\$"         #prompt
alias ll='ls -alG'

(in .bash_login)

Outlook 2010 on Windows 7 - Relocate gmail pst file


1. Close Outlook.
2. Copy the pst folder to target location.
3. Rename the origin pst outlook folder to outlook_2
4. Create a symbolic link from origin outlook to target location.

    > mklink /D c:\...\Outlook D:\Outlook

5. Done.

Sunday, September 16, 2012

General steps to setup an existing Ruby on Rails project from Git repository

1. Git clone the source
2. Update configuration files, such as config/database.yml and/or config/config.yml
3. Create database accordingly.
4. Install project gems: $ bundle install
5. Install dependency packages.  e.g. ImageMagick for paperclip gem.
    $ brew install imagemagick
6. Prepare database: $ rake db:migrate
7. Prepare test: $ rake db:test:prepare
8. Run test: $ rake test

Customize macvim/gvim for Ruby on Rails development

1. Install Janus - https://github.com/carlhuda/janus

2. Get color scheme. e.g. http://www.vim.org/scripts/script.php?script_id=1891
    Copy vividchalk.vim to ~/.vim/colors

3. ~/.gvimrc.after
set guifont=Monaco:h13
set stal=2 " turn on tabs by default
set noanti

colorscheme vividchalk


4. ~/.vimrc.before
nmap <F3> :vimgrep /<C-R><C-W>/ ./**/*.rb ./**/*.erb

Solve the pg_dump version mismatch error

After updating postgresql, the server runs on the latest version, 9.2.0.
Whilst, pg_dump in /usr/bin remains on version 9.1.4.

To solve this problem. Remove /usr/bin/pg_dump and create symbolic link
to new pg_dump in /usr/local/bin/pg_dump.

i.e. $ sudo ln -s /usr/local/bin/pg_dump /usr/bin/pg_dump

Done.

Free Git client on Mac

http://www.sourcetreeapp.com/

Setup or update postgresql on Mac

Remove any previous version:
brew rm postgresql --force

Installation
brew update
brew install postgresql

Initialise a database.
initdb /usr/local/var/postgres

Set to start at login with (in one line below)
mkdir -p ~/Library/LaunchAgents
 


cp /usr/local/Cellar/postgresql/[x.x.x]/[....].postgres.plist ~/Library/LaunchAgents/


launchctl load -w ~/Library/LaunchAgents/org.postgresql.postgres.plist

OR

Add aliases to .bashrc to start and stop the server:
alias pgs='pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start'

alias pgq='pg_ctl -D /usr/local/var/postgres stop -s -m fast'


Postgresql client verification:
$which psql
$ls -al /usr/local/bin/psql 
/usr/local/bin/psql -> ../Cellar/postgresql/.../bin/psql

(Edit ~/.bash_profile : PATH=/usr/local/bin:$PATH)


Update postgresql tools versions
Tools like psql or pg_dump may not be update by the installations.
Just remove old version pg_* in /usr/bin, and create symbolic link to new ones in /usr/local/bin.

Saturday, September 15, 2012

bash config startup sequence

For Login shells (subject to the -noprofile option):

On logging in:
If `/etc/profile' exists, then source it.

If `~/.bash_profile' exists, then source it,
else if `~/.bash_login' exists, then source it,
else if `~/.profile' exists, then source it.

On logging out:
If `~/.bash_logout' exists, source it.

For non-login interactive shells (subject to the -norc and -rcfile options):
On starting up:
If `~/.bashrc' exists, then source it.

For non-interactive shells:
On starting up:
If the environment variable `ENV' is non-null, expand the variable and source the file named by the value. If Bash is not started in Posix mode, it looks for `BASH_ENV' before `ENV'.

So, typically, your `~/.bash_profile' contains the line
`if [ -f `~/.bashrc' ]; then source `~/.bashrc'; fi' after (or before) any login specific initializations.

If Bash is invoked as `sh', it tries to mimic the behavior of `sh' as closely as possible. For a login shell, it attempts to source only `/etc/profile' and `~/.profile', in that order. The `-noprofile' option may still be used to disable this behavior. A shell invoked as `sh' does not attempt to source any other startup files.

When Bash is started in POSIX mode, as with the `-posix' command line option, it follows the Posix 1003.2 standard for startup files. In this mode, the `ENV' variable is expanded and that file sourced; no other startup files are read.

Friday, September 14, 2012

Clean setup ruby ree on Mountain Lion

http://blog.teamtreehouse.com/installing-ruby-rails-and-mysql-on-os-x-lion

http://ryanbigg.com/2011/06/mac-os-x-ruby-rvm-rails-and-you/

http://coderwall.com/p/fywjrw

xcode - app store
(need to install after download completed: open xcode in application, ...)
xocde - go to preference -> download -> command line tools
(try $gcc -v to ensure it works.)

Install the followings using su login:
homebrew - http://mxcl.github.com/homebrew/

gcc (non-LLVM) -
brew tap homebrew/dupes
brew install apple-gcc42

xquartz - apple's X11
http://xquartz.macosforge.org/landing/

git - brew install git

Install the followings using local login:
rvm - $ curl -L https://get.rvm.io | bash -s stable --ruby

CPPFLAGS=-I/opt/X11/include CC=/usr/local/bin/gcc-4.2 rvm install --force ree

Install the followings using su login:
postgresql - brew install postgresql

or
mysql - brew install mysql

Tuesday, September 11, 2012

Ruby - Extends module class methods using 'extend self'

module A
    extend self

    def say_hello
        'A say hello'
    end
end

module B
    extend A
end

A.say_hello # => "A say hello"
B.say_hello # => "A say hello"

Ruby - use include to append both class and instance methods

module B
  def self.included(base)
    base.extend ClassMethods
  end  


  def say_hello
    'instance hello'
  end
 
  module ClassMethods
    def say_hello
      'class hello'
    end 
  end 
end 

class A
  include B
end 

A.say_hello  # => "class hello"

A.new.say_hello # => "instance hello"

Case study - Hardware for etsy.com

Source: http://codeascraft.etsy.com/2012/08/31/what-hardware-powers-etsy-com/



What Hardware Powers Etsy.com?

Posted by lozzd | Filed under engineering, infrastructure, operations
Traditionally, discussing hardware configurations when running a large website is something done inside private circles; and normally to discuss how vendor X did something very poorly, and vendor Y’s support sucks.
With the advent of the “cloud”, this has changed slightly. Suddenly people are talking about how big their instances are, and how many of them. And I think this is a great practice to get in to with physical servers in datacenters too. After all, none of this is intended to be some sort of competition; it’s about helping out people in similar situations as us, and broadcasting solutions that others may not know about… pretty much like everything else we post on this blog.
The great folk at 37signals started this trend recently by posting about their hardware configurations after attending Velocity conference… one of the aforementioned places where hardware gossiping will have taken place.
So, in the interest of continuing this trend here’s the classes of machine we use to power over $69.5 million of sales for our sellers in July

Database Class

As you may already know, we have quite a few pairs of MySQL machines to store our data, and as such we’re relying on them heavily for performance and (a certain amount of) reliability.
For any job that requires an all round performant box, with good storage, good processing power, and a good level of redundancy we utilise HP DL380 servers. These clock in at 2U of rack space, 2x 8 core Intel E5630 CPUs (@ 2.53ghz), 96GB of RAM (for that all important MySQL buffer cache) and 16x 15,000 RPM 146GB hard disks. This gives us the right balance of disk space to store user data, and spindles/RAM to retrieve it quickly enough. The machines have 4x 1gbit ethernet ports, but we only use one.

Why not SSDs?

We’re just starting to test our first round of database class machines with SSDs. Traditionally we’ve had other issues to solve first, such as getting the right balance of amount of user data (e.g. the amount of disk space used on a machine) vs the CPU and memory. However, as you’ll see in our other configs, we have plenty of SSDs throughout the infrastructure, so we certainly are going to give them a good testing for databases too.

A picture of our various types of hardware, with the HP to the left/middle and web/utility boxes on the right

Web/Gearman Worker/Memcache/Utility/Job Class

This is a pretty wide catch all, but in general we try and favour as few machine classes as possible, so a lot of our tasks from handling web traffic (Apache/PHP) to any box that performs a task where there are many of them/redundancy is solved at the app level we generally use one type of machine. This way hardware re-use is promoted and machines can change roles quickly and easily. Having said that, there are some slightly different configurations in this category for components that are easy to change, e.g. amount of memory and disks.
We’re pretty much in love with this 2U Supermicro chassis which allows for 4x nodes that share two power supplies and 12 3.5″ disks on the front of the chassis

Supermicro Chassis with 4 easily serviceable nodes
A general configuration for these would be 2x 8 core Intel E5620 CPUs (@ 2.40ghz), 12GB-96GB of RAM, and either a 600GB 7200pm hard disk or an Intel 160GB SSD.
Note the lack of RAID on these configurations; We’re pretty heavily reliant on Cobbler and Chef, which means rebuilding a system from scratch takes just 10 minutes. In our view, why power two drives when our datacenter staff can replace the drive and rebuild the machine and have it back in production in under 20 minutes? Obviously this only works where it is appropriate; clusters of machines where the data on each individual machine is not important. Web servers, for example, have no important data since logs are sent constantly to our centralised logging host, and the web code is easily deployed back on to the machine.
We have Nagios checks to let us know when the filesystem becomes un-writeable (and SMART checks also), so we know when a machine needs a new disk.
Each machine has 2x 1gbit ethernet ports, in this case we’re only using one.

Hadoop

In the last 12 months we’ve been working on building up our Hadoop cluster, and after evaluating a few hardware configurations ended up with a very similar chassis design to the one used above. However, we’re using a chassis with 24x 2.5″ disk slots on the front, instead of the 12x 3.5″ design used above.

Hadoop nodes… and a lot of disk lights
Each node (with 4 in a 2U chassis) has 2x 12 core Intel E5646 CPUs (@ 2.40ghz), 96GB of RAM, and 6x 1Tb 2.5″ 7200rpm disks. That’s 96 cores, 384GB of RAM and 24TB per 2U of rack space.
Our Hadoop jobs are very CPU heavy, and storage and disk throughput is less of an issue hence the small amount of disk space per node. If we had more I/O and storage requirements, we had also considered 2U Supermicro servers with 12x 3.5″ disks per node instead.
As with the above chassis, each node as 2x 1gbit ethernet ports, but we’re only utilising one at the minute.

This graph illustrates the power usage on one set of machines showing the difference between Hadoop jobs running and not

Search/Solr

Just a month ago, this would’ve been grouped into the general utility boxes above, but we’ve got something new and exciting for our search stack. Using the same chassis as in our general example, but this time using the awesome new Sandy Bridge line of Intel CPUs. We’ve got 2x 16 core Intel E5-2690 CPUs in these nodes, clocked at 2.90ghz, which gives us machines that can handle over 4 times the workload of the generic nodes above, whilst using the same density configuration and not that much more power. That’s 128x 2.9ghz CPU cores per 2U (granted, that includes HyperThreading).
This works so well because search is really CPU bound; we’ve been using SSDs to get around I/O issues in these machines for a few years now. The nodes have 96GB of RAM and a single 800GB SSD for the indexes. This follows the same pattern of not bothering with RAID; The SSD is perfectly fast enough on it’s own, and we haveBitTorrent index distribution which means getting the indexes to the machine is super fast.
Less machines = less to manage, less power, and less space.

Output of the “top” command with 32 cores on Sandy Bridge architecture

Backups

Supermicro wins this game too. We’re using the catchily named 6047R-E1R36N. The 36 in this model number is the important part… this is a 4u chassis, with 36x 3.5″ disks. We load up these chassis with 2TB 7200rpm drives, which when coupled with an LSI RAID controller with 1gb of battery backed write back cache gives a blistering 1.2 gigabytes/second sequential write throughput and a total of 60TB of usable disk space across two RAID6 volumes.

36 disk Supermicro chassis. Note the disks crammed into the back of the chassis as well as the front!
Why two RAID6 volumes? Well, it means a little more waste (4 drives for parity instead of 2) but as a result of that you do get a bit more resiliency against losing a number of drives, and rebuild times are halved if you just lose a single drive. Obviously RAID monitoring is pretty important, and we have checks for either SMART (single disk machines) or the various RAID utilities on all our other machines in Nagios.
In this case we’re taking advantage of the 2x 1gbit ethernet connections, bonded together to the switch to give us redundancy and the extra bandwidth we need. In the future we may even run fiber to these machines, to get the full potential out of the disks, but right now we don’t get above a gigabit/second for all our backups.

Special cases

Of course there are always exception to the rules. The only other hardware profile we have is HP DL360 servers (1u, 4x 2.5″ 15,000rpm 146GB SAS disks) which is for roles that don’t need much horsepower, but we deem important enough to have RAID. For example, DNS servers, LDAP servers, and our Hadoop Namenodes are all machines that don’t require much disk space, but need RAID for extra data safety than our regular single disk configurations. 

Networking

I didn’t go into too much detail on the networking side of things in this post. Consider this part 1, and watch this space for our networking gurus to take you through our packet shuffling infrastructure at a later date.

Monday, September 10, 2012

Case study - Ruby on Rails hardware spec

Source:http://37signals.com/svn/posts/3202-behind-the-scenes-the-hardware-that-powers-basecamp-campfire-and-highrise

Application Servers
All of our Ruby/Rails application roles run on Dell C Series 5220 servers. We chose C5220 servers because they provide high density, high performance, and low cost compute sleds at a decent cost point. The C5220 sleds replaced invidual Dell R710 servers which consumed a greater amount of power and rack space in addition to offering expandability we were not utilizing.
We use an 8 sled configuration with E31270 3.40GHz processors, 32/16G of ram, an LSI raid card and 2 non Dell SSDs. (For those of you thinking of ordering these … get the LSI raid card. The built in Intel raid is unreliable.) Each chassis with 8 sleds takes up 4U of rackspace: 3 for the chassis and 1 for cabling.
Job / Utility Servers
We use a combination of C6100 and C6220 servers to power our utility/jobs and API roles. We exclusively use the 4 sled version (of each) which means we get 4 “servers” in 2U. Each sled has 2x X5650 processors, 48-96G of ram, 2-6 ssds, and 4×1G or 1×10G network interfaces. This design allows to have up to 24 disks in a single chassis while consuming the same space as a single R710server (which holds 8 disks max).
Search
For Solr we run R710s filled with SSDs. Each instance varies, but a common configuration is 2x E5530 processors, 48G of ram, 4-8 ssds, and 4×1g network interfaces. For Elastic Search we run a mix of Poweredge 2950 servers and C 5220 sleds with 12-16G of ram and 2×400G ssds in a raid 1.
Database and Memcache/Redis Servers
For Database roles we use R710s with 2x X5670 processors, 1.2TB Fusion-IO duo cards and varying amounts of memory. (Varies based on the database size.) We also have a number of older R710s powering Memcache and Redis instances. Each of these has has 2x E5530 processors and 2-4 disks with 4×1G network interfaces.
Storage
We have around 400TB / 9 nodes of Isilon 36 and 72NL storage. We serve all of the user uploaded content off this storage with backups to S3.
OS Choice
Database servers run RHEL or Centos 6 while application and utility servers run Ubuntu LTS.




Remote desktop client on mac

http://www.microsoft.com/mac/remote-desktop-client

Sunday, September 9, 2012

How to create a bootable USB stick on Windows

Source: http://www.ubuntu.com/download/help/create-a-usb-stick-on-windows

To run Ubuntu from a USB stick, the first thing you need to do is insert a USB stick with at least 2GB of free space into your PC.

The easiest way to put Ubuntu onto your stick is to use the USB installer provided at pendrivelinux.com. You’ll need to download and install and follow the instructions.

Download Pen Drive Linux's USB Installer

Log in with open accounts

Google: https://developers.google.com/accounts/docs/OpenID
Facebook: http://developers.facebook.com/docs/guides/web/
Twitter: https://dev.twitter.com/docs/auth/sign-twitter

OAuth - Open standard for authorization

Ruby Gem - https://github.com/intridea/omniauth


Friday, September 7, 2012

Rails 3 - Model's nested attributes in form

When a rails form contain a model and its nested attributes, use "accepts_nested_attributes_for" to get parameter from the form.

e.g.

In a car model,
...
has_one :engine_spec
accepts_nested_attributes_for :engine_spec, allow_destroy => true
...


In a car form,
...
<%= form_for(@car, :multipart => true) do |f| %>
   <%= f.text_field :model_name %>
...
   <%= f.fields_for :engine_spec do |spec| %>
        <%= spec.text_field :capacity %>
...


Note:  Should declare engine_spec in car controller:
@car.engine_spec = EngineSpec.new

Git re-initialize fix after corruption

Today, a project directory was somehow corrupted and cannot add new file nor commit modified files to the local repository. 
With error like these:

$ git add .
error: insufficient permission for adding an object to repository database .git/objects

error: clickthecity.rb: failed to insert into database
error: unable to index file clickthecity.rb
fatal: updating files failed


It's found that some directories under .git/objects were owned by root.  Maybe some commits were done under the root access.
After a few tries in vein, I do just re-initialize the local git repository.

$ sudo rm -rf .git
$ git init
$ git add .
$ git remote add origin [your_server]:[dir]
$ git commit -a -m "..."
$ git pull origin master


And do some code merging.

$ git push origin master

Done.