Taming Apple Push Notifications with better error logging on Houston

I have been using Houston as a wrapper to send Apple Push Notifications.

It is a great gem but it wasn’t bubbling errors returned from the Apple Push Notification Server so it was difficult to know what was wrong when messages where not being sended to iOS devices.

I created a pull request to solve this and now the feature is available to anyone using the gem.

I love the ruby community <3

I18n-active_record gem: moving on

I found this gem a while back and it was great. I had already done internationalization for some sites using different approaches, so I was familiar with the basics of the internationalization capabilities of Rails applications. If you are interested, you should definitively read this guide.

I wanted to learn how to make my own gems and this approach of saving the translations in a database through ActiveRecord was really cool. And I did learn a lot. It was extracted from the master I18n repo some years back and was a bit abandoned. I submitted some patches and tried to gain some traction on the development of the gem, mainly:

  • Updated the failing, 3 years old, test suite to pass and be compatible with Rails 4.
  • Fix some bugs on the feature to store and manage missing translations.

Some of my pull requests are dated form more over a year ago and no one has said a word about them. That’s okay, though. I understand that is was not mainstream or widely used. So I maintained my own fork with the latest patches :)

This project served me to conceptualize the gem I18nline and helped me understand the trade-offs between different backend approaches and I am thankful for that.

In the latest development of i18nline I am moving on from this gem and instead I am using my own customization of a key-value backend, with Redis as my translations store. I18nline gem is now much faster on general querying, adding new translitions on the fly when parsing a page for the first time and also when caches need to be invalidated (as my active_record gem was using a chain backend with Simple at the tail, and every chache invalidation reloaded all yaml files).

I18nline: a translations gem for Ruby on Rails

I have been working on a gem to leverage the translation system provided by default to Rails applications.

I18nline has two main features:

  1. It keeps all translations in a database, even missing ones.
  2. “Inline” translations management. Translators view the translatable strings highlighted in green or red so they know which strings are translated and which are missing. Right clicking a highlighted translation opens a “translation management view” for that key.

With this gem in my app, the translators can see the text in the exact context and can edit the string inline, as opposed to use separate YAML files. And what is even better: they won’t need the developer to make edit translations! So no more interruptions and redeploys when someone decides to change the “Profile” link to “My profile”, and then “Settings”… and then back again to “My profile” ¿Sounds familiar? :P

It is still alpha and needs some improvements, but you can find it on github. I will be more than happy to hear what you think.