News and Blog
February 14th, 2010 » No Comments »
We do a lot of back end work for iPhone applications. When Apple started allowing push notifications we didn’t have a high demand for applications using this. However, in the last six months this is something nearly every application with a back end desires. We started using API on Rails. APN on Rails is a Ruby on Rails gem that allows you to easily add Apple Push Notification (iPhone) support to your Rails application. The hardest part is getting your Apple certifications sorted out.
We are in process of creating some patches to allow notifications to be sent using Redis instead of by rake task.
February 3rd, 2010 » No Comments »
Back in December of 2008 Yehuda Katz announced that Merb and Rails were merging and the by product would be Rails 3. Fast forward to Feb 2010 and we are just around the corner from that being a reality. Rails 3.0 is a major upgrade to nearly every part of Rails. The router and query APIs have seen the most radically refactorings.
Serious deprecations will occur as part of this transistion, but there is still a lot of backwards compatibility support that will be available for a short time. Rails 3.0 adds Active Model ORM abstraction, Abstract Controller generic controller abstraction as well as a consistent Plugin API giving developers full access to all the Rails internals that make Action Mailer, Action Controller, Action View, Active Record and Active Resource work.
There is a great guide on over at Rails Guide that talks about converting an existing Rails application to 3.0. We have flipped the switch and are now doing all new development officially in Rails 3. Furthermore, we have started our strategy to convert existing applications to Rails 3. We would love to hear about your experiences with upgrading and your current strategies for new development.
February 2nd, 2010 » 2 Comments »
Need to archive an HTML page? Thinking that PDF might be the best way to go about doing it? Hate the thought of dealing with PDF libraries and Ruby? You might be in luck. There is a web service that does PDFmyURL. We will be doing some experimentation for a project and if it goes as expected we will release a gem in the near future. Let us know if you have seen something better.
January 28th, 2010 » No Comments »
In doing some optimization for the back-end of the top selling iPhone application Word with Friends we put Cache-Money a write-through caching library for ActiveRecord to the test. So what exactly does that mean?
Read-Through:
Queries like User.find(:all, :conditions => ...) will first look in Memcached and then look in the database for the results of that query. If there is a cache miss, it will populate the cache.
Write-Through:
As objects are created, updated, and deleted, all of the caches are automatically kept up-to-date and coherent.
Add to this that cache-money also supports multiple query types, multiple indices, ordered indices, window indices, calculations, version numbers, transactions, rollbacks, mocks, locks and local caches, and it gets impressive pretty quick. If you are looking for caching to optimizing. Show me the money.. er cache-money.
January 26th, 2010 » No Comments »
If you need a quick and dirty lightbox using jQuery for Ruby on Rails, give Facebox by FamSpam a try. Facebox is a jQuery-based, Facebook-style lightbox which can display images, divs, or entire remote pages. It’s simple to use and easy on the eyes.
January 19th, 2010 » No Comments »
It is pretty common that you need to store settings in a rails applications. You might do this via global variables/constants or other more complex mean. Two recent rubygems have set out to solve this problem. The first is rails-settings an ActiveRecord like storage of settings in the database. It allows you to keep track of any global setting that you dont want to hard code into your rails app. You can store any kind of object. Strings, numbers, arrays, or any object.
Configatron is another alternative. It is a super cool, simple, and feature rich configuration system for Ruby apps. You can set defaults, use hashes, use yaml and even namespace configurations. You can even do temp, delayed or dynamic configurations. If you are currently using global variables/constants do yourself a favor and check one of these gems out.
January 18th, 2010 » No Comments »
This last weekend Rails Bridge put together a Do One Thing For Rails 3 Bug Mash. It was the first I had heard of Rails Bridge. It was great to see all that they are trying to do for the community. Need Rails Courseware? Non-profit looking for help? Maybe you are new and just need a Mentor? Kids need to learn Rails too right? Need content to put together a workshop? Maybe you just want a good Ruby Challenge? Well, it’s a good thing Rails Bridge exists because it tackles all of this!
January 15th, 2010 » No Comments »
It almost seems inevitable that you have a project that has authentication (such as Authlogic) and have bolted some role based implementation on to it. Then the product owner starts request various authorization schemes for those roles. Normally, this is where you start to pull your hair out, but with CanCan many of these problems go away. It implements a simple authorizations solution to restrict what a give user is allowed to access.
Want to get started? Watch the Screencast.
January 7th, 2010 » No Comments »
Our cucumber expert, Clayton LZ is talking about his new favorite feature of Cucumber, Table Transformations. He frequently use tables to build up complex objects and has found that the regular old tables can be a little ugly, especially when your attribute names don’t make much sense on their own. He also noticed that building up associations can be a little wonky, usually requiring more steps than seem necessary. Clayton wrote up how to use cucumber’s table transformations to easily build complex objects in a way that is easy to read and understand for both clients and developers.