Speed up OS X Mission Control Animations

I dislike the slow Apple animations on both iOS and OS X. Here is a simple terminal command to turn them off and get some speed back when you’re multi-tasking. 

Open a terminal window and paste the following command (Note: 0 for no animations, 0.25 for default speed, >0.25 for grossness):

defaults write com.apple.dock expose-animation-duration -float 0; killall Dock

Should anything go wrong or you prefer the old animation speed paste in the following:

defaults delete com.apple.dock expose-animation-duration; killall Dock

Happy tweaking!

Ordered Backbone.Marionette CollectionViews

Backbone.Marionette CollectionViews are awesome, but they don’t support collection re-ordering out of the box. The library provides some documentation to order CollectionViews and CompositeViews, but it’s based on the children already inserted. I prefer my views to reflect the state of my models and collections.

I wrote a small Gist for this. Feel free to comment, fork it, bash it, etc.

A few things learned the week of March 19th

The best part about working with smart people is that you’re always learning new things from them.

Here are a few things i learned form the awesome people on the Pulse web team this week.

1. (via @kdeo): “onload” events do not bubble in the DOM.



2. (via @justinpeterman): <button> tags with containing a <span> are much easier to style than an <input type=”button”>. Especially when you need to style the font.


<button><span>Click Me!</span></button>


3. (via @kdeo) Caching ‘length’ in for loops is faster than calling it each time through:

Not Cached: for(var i = 0; i < array.length; i++){ }

Cached: for(var i = 0, len = array.length; i < len; i++){ }


I look forward to the things i’ll learn the next week. :)

"This little piggy went wee all the way home: Exporting your Oink data"

I was an avid Oink user and was saddened to see it go away. Alas, services come and go and it’s all good as long as you can export your data, right? Wrong!

Oink provided a bunch of CSVs and photos in a zip. CSVs tend to be messy to work with. I needed a JSON with all the information about the places and items. Instead the information provided by the Milk team was minimal (rating, reviews, foursquare_id). They didn’t even include the name of the place visited!

I had to make sense of all this data in order to eventually export the data to another service (like Evernote). So, I wrote a Python script which outputs a nicely formatted JSON of all the Oink items including locations.

Script Features

  • Exports to single JSON file
  • Includes foursquare venue info (name, lat, long, address, etc.)
  • Removes entries with no location
  • Merges comments and ratings for those available


  • Oink export CSV (can be requested on http://oink.com)
  • Foursquare OAUTH token (see section below)
  • Python 
  • Terminal

Part 1: Get Foursqaure OAUTH Token

Part 2: Execution Instructions

  • Copy oink_export.py to same folder as your Oink CSVs
  • Open terminal to Oink CSV folder
  • Run ‘python oink_export.py —token=YOUR_OAUTH_TOKEN_HERE’
  • Watch it fly through your data

Explore more here:

Github Repository

CSS3 Christmas Tree

I was in a very festive mood this morning and quickly coded up a Christmas tree in all CSS/CSS3. I’ve used all kinds of things like, animations, keyframes and border-radius. 

Not a lot of code(also messy), so have a look. 

Merry Christmas!


The New TechCrunch Redesigned Header is in My Face

You may hate or love the new TechCrunch blog redesign. I for one am indifferent about the matter. I read most of their articles on Pulse. I do like the header collapsing from the giant pixelated logo to the more compact one while scrolling. Neat! 

 While inspecting how they went about this, I discovered something I had never seen before in CSS. The header has an astrological giant z-index. 

This got me thinking. If you really want your design to stand out and make an impact, it has to smack users right in the face. Therefore, adding a high z-index. 

After digging around for a little while I came across this post explaining how the maximum supported z-index in modern browsers is 2,147,483,647. If you can afford the extra characters in your CSS, I say do it!

Happy styling,


"Console.fm: A Guide to Download the Tracks for Free"

I recently came across Console.fm. A great little project to organize streams from Soundcloud into genres with a little social layer on top (chat). I was interested on how the site worked, so i dug a little deeper only to find out the tracks are widely available to download through a little hack.

Note: The following steps are written for Google Chrome, but it should work in other browsers with Inspector-like functionality (Firefox + Firebug, IE Dev Tools, etc.).

  1. Browser to Console.fm and login with your Twitter account. 
  2. Select a Genre.
  3. Right-click on a track in the list. Click ‘Inspect Element’.
  4. Once the Dev Tools console pops up from the bottom, you can clearly see the stream link from SoundCloud.
  5. Right-click it and click ‘Open Link in New Tab’. 
  6. In the new tab, you’ll be presented with an embedded audio file. Pause it. Right-click and click ‘Save Video As’.
  7. Name the MP3 whatever you’d like.
Voila! Not sure how long this trick will work for. Enjoy!

125 Days at a Startup

This amazing journey began with my research paper that I posted on my blog seven months ago. A few months later, I came to Palo Alto for a week to work with the Pulse team. And shortly after that, I packed up my stuff and moved from Canada’s old “Silicon Valley” (Ottawa) to the real Silicon Valley. Though I’ve only been at Pulse for four months, my first day seems like so long ago.

On that first day, I was asked to take lead on expanding Pulse from its mobile-only roots to start creating Pulse’s presence on the web. In previous projects, I’ve always had well-defined specifications for the tasks I was expected to complete. Because of such clear specifications, the solutions I produced were always complete and measurable, but not necessarily original or creative.

In my current position as lead web developer, I’ve taken on a very different and much more dynamic role. Coming up with these initial specifications for projects and being involved in all phases of the development process have given me a real sense of ownership and pride that I had previously not experienced. With each release, I am sharing a piece of myself with our millions of users.  

A few years ago I realized that I perform best in fast-paced environments where I’m surrounded by great people. While I was in University, I did far better during my junior and senior years, when I had a ridiculous amount of assignments and tests in a short time period. Working with smart project partners also drove me to rise above and beyond. At Pulse, I feel like I am surrounded by some of the most amazing people (the same amazing people that created the first version of Pulse and brought it to where it is today). I feed off their energy and passion daily. Our two week release cycles creates a certain sense of urgency which pushes us to continually adapt and iterate in the ever-changing social news space.

The past four months have been a incredible learning experience for me. I’ve learned that my hypotheses are sometimes wrong and that some things just don’t work as planned. This is all part of the startup process; you try new things, analyze the data and iterate. I’ve also learned that sometimes it’s good to start off fresh with a clean slate. The key is to not get discouraged and to keep pushing forward to find what works. Perfection.

I’ve had a blast the past four months at Pulse. I feel very fortunate to be working alongside people that share my passion for a better content consumption experience on mobile devices and beyond. I am very excited to continue on this journey with our team and continue to deliver an awesome product.

If you’re looking for a position with a funded startup and you like what you’ve read, check out our jobs page.

Make Google Chrome Canary the Default Browser on Mac OS X

  • Launch Safari
  • Apple -> Preferences
  • General -> Default Web Browser
  • Select “Chrome Canary” from the drop-down menu

I love Google Chrome as my default browser, but ever since version 11 I’ve been having problems with it. I quickly switched over to the Canary builds and been living life on the bleeding edge since. Unfortunately, Google doesn’t allow you to make it the default browser on OSX. I found this great little guide that provides a workaround.


"Cloud Music: Almost there"

At Pulse, we listen to a lot of music throughout the day. Most of it comes from Pandora. The ability to pick great Pandora radio stations was actually one of the requirements of working at Pulse that caught my eye when I applied. We’re always looking for new office DJs. Especially ones with iOS, Android and Web skills. ;)

Streaming radio is great for music discovery, but what if I want to play songs I own/know? Normally, you’d fire up [insert mp3 app] and listen to your collection, while when away from the computer you’re limited to the songs you synchronized to your device. 

I personally feel like local storage is a thing of the past. We now have cheap cloud storage with redundancy and fast mobile communication technologies(3G/4G). I haven’t seen the point of storing my music locally for a while, let alone plugging my device to sync new tracks. Companies are claiming the we’re entering a Post-PC era, but that’s certainly not the case until you lose the USB cable. Let’s face it, they’re giants trying to please the record industry who care most about their bottom line. There’s more money to be made by selling individual track/albums and upselling storage on machines and devices. 

Despite the licensing challenges with the record companies, there are a number of streaming music services that are great alternatives to the iTunes monopoly. I will discuss some of the services that I’ve used and their pros and cons. There are clearly some services that I’ve left out, but they should resemble the ones discussed. Let me know if you feel they’re important and I’ll make sure to check them out. 
Probably the least likely service on the list to be fully legal, but by far my most used. I’ve been a long time user of Grooveshark and i even signed up for their Grooveshark Anywhere subscription before the price went up. The $30/year is a small price to pay for a streaming music library. Not only that , but it’s a small price to pay for my innocence/ignorance in court when we find out none of it was legal.
FREE (Unlimited web access)
$9/month (Unlimited access on mobile, desktop and web)
  • Personal Library
  • Playlist (Making, Following, Discovery)
  • User Following
  • Visualizer
  • Radio stations
  • Song Upload
  • HTML 5 player (flash needed for streaming/DRM)
  • iPhone(jailbreak), Android, Blackberry, WebOS, Nokia apps
  • Free web streaming
  • Relatively intuitive user interface
  • Actual web app rather than website with track links
  • No free mobile access
  • No library access on mobile, only playlists and searches
  • Misspelled tags
  • No way to edit tags
  • Duplicate songs in searches, albums
  • Some songs are of terrible audio quality (can be flagged)
  • Not the best recommendation engine (Pandora still is king)

OK so tagging is awful, but this can easily be fixed with a little crowd-sourcing effort. Why couldn’t the community edit ID3 tags? If users care about their music, then there should be no foul play. If there is then users can flag the person that edited the track. Seems simple right?
Store your personal music and Amazon MP3 collection in the cloud and stream it from the web and Android device. Great in theory and it works well, yet it suffers from the initial friction of having to upload your library. Would you like to wait while you upload 20GB? I like this product because of what it represents (Amazon’s middle finger to the record industry). Amazon is simply offering storage for tracks you already own or are purchasing. The only thing that’s changed is the easy access to the music. 
Free (5GB)
1 Amazon Album Purchase (20GB)
$1/GB/yr (20/50/100/200/500/1000 GB)
  • Personal Library
  • Playlists
  • Web and Android clients
Expensive storage cost (Google offers 20GB for $5/yr)
Easy upload tool with iTunes integration
Great audio quality (varies based on your uploads)
Good UI
[Update]Expensive storage cost (Google offers 20GB for $5/yr)
No ID3 tag editing
No iOS player
No radio
No music recommendation 
With a lower storage price and more native client features (tag editing, music suggestion, radio) this could be the “cloud player” we’ve been looking for. 
MOG has been creating some buzz lately. It wasn’t always a music streaming service. It started out as a music social network. Due to its roots, the site has lots of content around the music including in-house editorial. Most notably it streams high quality 320kbps tracks!
FREE 14-day trial
  • Favorites (kind of like a library)
  • Playlists
  • Radio
  • Featured Albums, Tracks, Playlists
  • Chrome app
  • Mobile clients (iOS, Android)
  • Social Music discovery (Pandora-like voting, and more)
  • Lots of content around the music
  • High quality tracks
  • Pretty good recommendations
  • Great Search
  • Great Mobile UI
  • Flash based
  • Too many transition effects
  • Awkward ‘add to favorite’ and playlist workflow
  • Incomplete Chrome app (Can’t create playlists or favorite)
The price is steep for the experience and service offered in comparison to competitors. Not sure if the complementary content (artwork, blogs, etc.) is a great selling point. The overall experience needs to change from a website to more of an app. At the moment it feels very Last.fm-ish. 
Honorable Mentions
  • Rdio is a service very similar to MOG with mobile clients and priced similarly($3.99, $9.99/month). 
  • 8tracks allows users to create playlists of 8 tracks. The site has a great social community and now offers a mobile client. (Free, $50/yr)
  • Zune Pass is the famous music service from Microsoft which adopts the American all-you-can-eat mentality. $14.99 gets you unlimited streaming/downloading to PC, Xbox, Windows Phone 7 and Zune. Bonus, you get to keep 10 tracks each month DRM-free. 
I’m always up for discovering new music services that fit my needs, so drop me a line in the comments about services you like. You can follow my music listening at the following: