We love open source and we invest in continuous learning. We give back our knowledge to the community.

Paperclip File Rename

Comments

While developing an application with Sebastián that allow users to upload videos with some file name restrictions, meaning that it must contain only A-Z and 0-9 digits, underscores (_) as a valid component as well, and also the name must be preceded by it’s own #id, we came up with the need of applying this custom filter to each uploaded video. After doing some research on paperclip source code and internet tutorials, we suggest the following solution:

Rails Delegate Method

Comments

Delegation is a feature Rails introduced in it’s 2.2 version, and in my opinion are quite useful and somehow something we don’t see too much around. The concept of delegation is to take some methods and send them off to another object to be processed.

Wildcard Search With Thinking Sphinx

Comments

Right after starting with Thinking Sphinx(Thinking Sphinx plugin), it was quite hard to find a concise guide on how to enable wildcard search. For those out there who might not know, Sphinx(Sphinx free open-source SQL full-text search engine) searches default to matching whole words, not partial ones, so you won’t get any results of you search, for example, for one letter or part of a name. So, how to get around this?? .. well .. Sphinx(Sphinx free open-source SQL full-text search engine) provides wildcard search and below is how you can enable this with Thinking Sphinx(Thinking Sphinx plugin)

Install Emacs 23 From CVS

Comments

This is the first of a set of posts talking about Emacs. In this case we are going to install Emacs from the CVS repositories on Unix based systems. Emacs has alternative mirrors repositories in Bazaar, Git, Mercurial and Arch. You can check out the procedure and other information on EmacsFromCVS

Parsing an OPML With Ruby

Comments

And Ruby just doesn’t stop surprising us!! In the past we have to deal with XML files and parse them, incredibly easy task using Hpricot library. Now the turn was for OPML(OPML) (Outline Processor Markup Language) files. In case you are not familiar with this type of files, its most common use is to exchange lists of web feeds between web feed aggregators.

Google Analytics With AJAX

Comments

It’s been a while since us all have been working in fully AJAX enabled sites (as is the case of Indieoma(Indieoma), one of our projects). Time comes when you’d like to know a little bit about who is accessing the site, when, which page, why .. and a few more questions Google Analytics can answer for you (not particularly the last one) in a very simple manner most of you already know about.

Dumb Script to Reassemble HTML + SSI Pages

Comments

While working on our website(WyeWorks website), we wanted to serve some dynamic content but it just didn’t justify having some “big” dynamic technology behind to achieve this. Also as programmers, we like our code (even our static website content) to be nicely separated so we can keep things in order, better maintenance, blah blah blah. Seriously, we really like those things :)

Setting Up Passenger in Linux

Comments

Clearly one of the problems with Rails as a major platform right now is it’s hosting situation. Currently a good solution is to proxy HTTP requests from Apache or Nginx to a cluster of mongrels, which is tricky to set up and somewhat tedious. I wanted to easily have our rails applications deployed (in our development environment), and have them running without having to manually start each server. Messing around I found Passenger(Passenger), a module for Apache that hosts Rails applications. Note this was tested in Ubuntu, but it’s very similar for other Linux distributions.

Twenty Reasons I Love Ruby

Comments

Inspired by Hal Fulton’s article Thirty-seven Reasons I Love Ruby(Thirty-seven Reasons I Love Ruby), i’d like to share my top twenty reasons I love Ruby.

  1. It’s object-oriented. What does that mean? Well, for every ten programmers, there are twelve opinions as to what OOP is. I will leave it your judgment. But for the record, Ruby does offer encapsulation of data and methods within objects and allows inheritance from one class to another; and it allows polymorphism of objects. Unlike some languages (like C++ for instance) Ruby was designed from the beginning to be object-oriented.