Seamus Abshere
Seamus’s open-source libraries:
- cache: A unified cache handling interface, which is to say a wrapper around fantastic cache clients like memcached and redis that makes them act mostly the same. Also takes care of forking and threading.
- cache_method: It’s like alias_method, but it’s cache_method! An easy way to cache individual Ruby methods. Supports all the clients that the cache gem (see above) does.
- cohort_scope: Dynamically builds the largest available “cohort” of records satisfying particular conditions from big datasets (like RECS). For example, in order to run some stats, you want the set of houses that (1) are made of titanium and (2) were built in the 1950s. cohort_scope would try for both conditions, see that one fails, discard it and give you the next best thing.
- data_miner: Import and download data from XLS, ODS, CSV, XML, etc. into your ActiveRecord models. For example, you could import all of the airports in the world into your application, or you could import all 20 years of the EPA’s Fuel Economy Guide.
- eat: A (better?) replacement for open-uri that doesn’t leave /tmp/open-uri-091230912 files around, always gives you a String, and doesn’t check SSL certificates (because it’s not meant for that sort of thing).
- errata: Correct files using CSV errata inspired by the IETF RFC editor.
- fuzzy_match: Find a needle in a haystack using string similarity and (optionally) regexp rules.
- lock_method: It’s like alias_method, but it’s lock_method! An easy way to lock individual Ruby methods. Supports remote storage of the lockfiles (for example in a remote Redis server).
- mini_record-compat: “ActiveRecord meets DataMapper, with MiniRecord you are be able to write schema inside your models.” (I made some compatibility and bug fixes, may rename this in the future)
- mysql2xxxx: Gives you binaries like mysql2csv, mysql2xml, mysql2json. Used by http://data.brighterplanet.com to generate dumps of our reference data.
- remote_table: Load remote XLS/ODS/CSV/XLSX files as big arrays of hashes (or arrays) so you can use them in your app. Now encoding-aware!
- ruby_ragel_examples: My attempt to provide authoritative Ruby driver examples for Ragel.
- string_enumerator: Given a string containing placeholders (like [color]), enumerate all of the possible strings resulting from filling those placeholders with replacements (like red, blue).
- table_warnings: Provides simple after-the-fact checkups on data tables. Used in production on the Brighter Planet Reference Data web service
- timeframe: Date intervals per ISO 8601. A collaboration with Andy and Fingertips.
- to_regexp: Turn ”/^my_regexp$/” (the String) into a Regexp. I’m still not sure what it should do with plain old “my_regexp”... currently it returns nil. Used by the errata gem and others.
- validates_decency_of: Checks for profanity on ActiveRecord models, using George Carlin’s list of “seven dirty words.”
- weighted_average: (Rails 3.0 only) Get the average of a column where different rows have different weights. For example, Aircraft.average(:seats) versus Aircraft.weighted_average(:seats, :weighted_by => :takeoffs)
- xlsx_writer: Simple writer for Office 2007 Excel files. I refactored, simplified, and optimized (really minified) simple_xlsx_writer
Some very Brighter Planet specific work:
Other community involvement:
I’m also active on Stack Overflow.
Awaiting retirement:
- common_name: Helps you stop using chains of humanize/downcase/underscore/pluralize/to_sym/etc everywhere in your models, your views, your controllers, etc.
Deprecated/unused:
- cacheable: Like ActiveSupport::Memoizable, but for caching. Uses Evan Weaver’s memcached gem (i.e. libmemcached) for speed.
- characterizable: Rather esoteric. “Characteristics” are kindof like “attributes,” except that they have rules.
- create_table: the old name for force_schema
- engineyard-metadata: Make it easier to migrate to and live on the EngineYard AppCloud (Amazon EC2). Combines information about instances, users, etc. from EngineYard and Amazon EC2 and provides it in a consistent interface that you can use from your scripts. (This is the second generation of ey_cloud_awareness)
- fast_timestamp: Rapidly and arbitrarily timestamp ActiveRecord records. For example, @user.timestamp! :smelled_the_roses.
- force_schema: Deprecated by https://github.com/seamusabshere/mini_record/tree/alt_gem. Declare a table structure like an ActiveRecord migration and run ‘force_schema!’ whenever you want. For when you don’t need up and down migrations.
- loose_tight_dictionary: Deprecated by https://github.com/seamusabshere/fuzzy_match. Find a needle in a haystack using string similarity and (optionally) regexp rules.
- Billing: First-generation off-site billing system using Mongo.
Working With Rails Profile
Contact Information
Email:
Metrics
Authority
- Attended a Rails related event
- Has published a Ruby gem
- Has published a Rails plugin
- Works professionally with Rails
Popularity
Ranking: #
1652 out of 20819 people
Forum Posting Rating
When you post on our
forums other registered users can rate your postings positively or negatively. These votes are accumulated
and used to calculated your Posting Rating.
Experience
Using Ruby for 6 years 1 month
Using Rails for 6 years 1 month
Ownership
Trusted Source - Seamus Abshere is the owner of this record and has
verified the information as correct. Read more...
See Also..
See these further external sources for more information on this person:
Source code: Google Code Search | Koders
Newsgroup postings: Google Groups
Search Engine: Google
LinkedIn: Person Search