SEO and user friendly URLs for Rails with FriendlyID

Rails by default uses a numeric id as a parameter for its URL. Sometimes when building a website such as this blog, instead of emmanuelcorrales.com/blog/4 we want the url to be more SEO and user friendly like emmanuelcorrales.com/blog/seo-and-user-friendly-urls-for-rails-with-friendlyid. We can achieve this by using the FriendlyID gem. In this tutorial I'll show you how to use FriendlyID.

Upload images to Amazon S3 with Carrierwave on Rails

While searching for ways to upload images to Amazon S3 on Rails, I stumbled upon two gems that simplifies this task, Paperclip and Carrierwave. I tried Paperclip first and made an article about it here. A senior colleague of mine recommended Carrierwave, so I tried to give it a shot and it was worth it. It is much cleaner to implement because it requires the user to create a helper class for uploading. The model just needs to mount the helper class. This separates the code for uploading unlike on Paperclip where the code for uploading is included in the model and requires the user to create a migration.

Upload images to Amazon S3 with Paperclip on Rails

Sometimes uploading files to your server's local filesystem is not enough due to some constraints like a limited disk space and potential security issues caused by allowing users to upload files to your server. Using third party services like Amazon S3 for file storage is a good way to solve these issues. I decided to use the Paperclip gem to implement this functionality on my Rails app.

Building a mock location app for Android.

Recently I've been asked to test the android app I'm developing for my client. The app is called SurveyBods and owned by the company called Researchbods and it is only available in the UK. A notification shows up whenever the user enters a place which is represented by a geofence. The notification would prompt the user with a survey or a quick poll. My problem with this is that I'm not allowed to get out of my office and using DDMS is a very tedious task so I decided to make a mock location app to make it more exciting for me.