Favorite tweets from the Apple iPhone 6 pre-order nightmare

Like most tech obsessed American consumers I was up late last night trying get my iPhone 6 pre-order in to the Apple store. I became increasingly infuriated by the store’s downtime and turned to Twitter to entertain myself with people’s tweets. I eventually got my pre-order in for an iPhone 6 64GB (white/silver).

Here are my favorites of the night:

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.