Bruno Miranda's Notebook

Personal Blog about Ruby on Rails, XHTML, CSS, and Design

I wrote a small sinatra app this morning as proof of concept. The only function of the application at this time is to provide you a shorter link to a long URL.

http://s.bopia.com try it out.

The code can be found on github.

Comments: 0 (view/add your own) Tags: sinatra

I love almost everything about Pivotal Tracker. The one issue I have with it is the upper right-hand corner navigation menu. In my honest opinion I think the labels as misleading.

My Profile - Pivotal Tracker

Here is how I would improve it:

pivotal_menu @ 100% (Layer 2, RGB/8)

The current “My Accounts” page contents should go under “My Account” which replaces “My Profile”

I always end up having to click around a couple times to get to the right place because to me the labels just don’t perfectly match their destinations.

Comments: 3 (view/add your own) Tags: design

Twitter / Maintenance

What could you possibly be doing now that the website you visit and hit refresh 40 times per minute is down for maintenance.

Use the time wisely to get some work done.

PS. Let me tweet that, o wait :-)

We have released the new Cyloop music platform built using Ruby on Rails. I have had the pleasure of working with the team at Hoodiny to build and deploy this great application.

The platform has been adopted by MSN Brazil and MSN Mexico for their default music channel, soon to be the default music channel for MSN Latin America, MSN US Latin and MSN Canada.

While being featured on the home page of MSN Brazil and MSN Mexico we witnesses a tremendous amount of traffic. We knew this was going to be the case which is why we spend a considerable amount of time pre release working on caching and optimizations.

One of my favorite features of the application is the ability to follow your friends and discover music based on what they are listening to, you can also follow you favorite bands. We are using a messaging queue platform called RabbitMQ to accomplish the queuing of activity (writes/reads). Another aspect of our caching strategy is heavy usage of Memcached coupled with warm-caching of the activity feeds which are currently being stored to flat files.

During the caching and optimization phase we implemented a separate messaging queue for emailing and image uploads, lots of rails page, action and fragment caching as well as strategic usage of rails metal and cache-money to enhance performance.

Many thanks to the entire team who worked on this application. The Hoodiny dev team (Scott, David, Steven, Rick, Ana), the Hashrocket team, and Jason Seifer for bringing his rails scaling insight to the table. Also many thanks to Engine Yard and all the excellent application support technicians who helped up configure our cluster.

More to come, thank you and may we see continued success.

In the preceding post I attempted to describe my gratitude and farewell thoughts.

I am glad to announce that as of Monday I will be joining Hoodiny Entertainment Group. This opportunity was extremely welcomed as I realized my readiness for the next challenge. I have met the development and executive team at Hoodiny on numerous occasions and am fully confident that we will continue to achieve great things together.

This opportunity happened a bit out of serendipity. As a good friend of mine once said:

“Life is about serendipity, be ready for it.”

I am anxious and excited about taking on this new journey and glad to have once again be given the chance to make a difference. Isn’t that what life is all about? There will be challenges, there will be failures, thankfully for from those same failures, greatness can be achieved.