Jim Lee is one of my favorite artists, and one so immensely talented that you just assume he was just born that way. 

These rejection letters are my reminder that the people who seem like they have a natural talent still had to push themselves, face rejection, pick themselves up and work hard to earn their success. Nothing has quite driven that home for me quite like this series of letters.


Three Marvel rejection letters and one assignment letter to Jim Lee, plus one letter of response—”Will this story ever be published or is it just a try-out story?”—from 1986–87, recently posted by Lee on Instagram.

You can read more about Jim Lee and Carl Potts here.

Finally got some real time to play with an Oculus Rift, and it’s so incredible that it nearly made me sick. HL2 especially was nausea inducing, and the roller coaster demos made me feel anxious, and my hands got clammy.

This is some amazing technology, but it totally highlights the need for a new class of designers to step in and tackle the immense challenges of building virtual experiences. Everything from UI, to balancing movement speed and traversing vertical space has to be re-designed. It’s pretty damn exciting.

My favorite thing about Bioshock Infinite..

… is the contrast from the original BioShock scene where you confront Andrew Ryan in person.

BioShock explains that even though you made choices about what you did in that game, ultimately, you listened to your objectives and did what the game told you. You didn’t have real choice, it’s all the same in the end.

But when you contrast that with Infinite.. 

BioShock Infinite seems to revel in the idea that even though all these worlds are exactly the same, every player’s experience with them is slightly different. Just as no worlds are exactly the same, no players’ experiences are either.

And it’s one of the most fantastic things about this medium.

Add a video background to your tumblr blog

I read about BigVideo.js through Hacker News and immediately wanted to use it with my videos on my personal tumblr. Here we go:

  1. Take a short (15s to 2m), landscape video on your phone that you’d like to use as the background for your website. (Portrait video requires cropping to work)

iMovie is good for compressing your videos down for web streaming. (If you don’t have iMovie, a Mac or an iPhone, skip this section and read the Vimeo instructions below)

  1. Plug in your iPhone and open iMovie.
  2. iMovie should ask you to import video from your iPhone.
  3. Click Share, then Export using Quicktime. 
  4. Click the Export dropdown and select Movie to MPEG-4. Click Options.
  5. Select H.264, change Image Size to 768x576 SD, Optimize for Streaming
  6. You’ll need to play with the Data Rate to get the File Size below 5MB for Tumblr’s upload limit. You want a Data Rate above 1000 kbits/sec so clip your video if you must to get there.
  7. Select the Audio tab and choose None for Audio Format (unless you want to annoy your readers, or have ambient sound)   

Free Vimeo alternative to iMovie:

  1. Download the Vimeo mobile app and upload the video to Vimeo in HD quality. (Vimeo’s compression is okay but may leave the video with artifacts)
  2. Head to the Vimeo website, login, find your video and download the SD quality version.

(If the encoded video is < 5MB, Tumblr will host the video file. If it’s > 5MB, you’ll need Vimeo Pro, S3 or alternative hosting.)

  1. You’ll need a tumblr theme that works well with a background video, I recommend Fluid by pixel union: http://www.tumblr.com/themes/by/pixelunion. It’s free.
  2. Head to this page and upload your video file, make sure you copy and save the URL underneath: http://www.tumblr.com/themes/upload_static_file
  3. On tumblr, click Customize and Edit the HTML in your tumblr theme.
  4. Search for jQuery to see where the theme author placed it.
  5. If there’s no jQuery script loaded, search for </head>.

This is where it gets a little tricky if you don’t understand javascript:

If you see a <script> line in your theme that links to the exact same filename as one of the lines below, you don’t need to add it to your theme. For Fluid, you don’t need jQuery and imageLoaded.

If you don’t see a <script> line in your theme that links to the exact same filename, add the line to your tumblr theme, underneath the other scripts:

<!—Begin BigVideo script —>

<link href=”http://vjs.zencdn.net/c/video-js.css" rel="stylesheet">

<link href=”http://static.tumblr.com/jf1132j/nIam964j3/bigvideo.css" rel="stylesheet">

<script src=”http://vjs.zencdn.net/c/video.js"></script>

<script src=”//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>

<script src=”//ajax.googleapis.com/ajax/libs/jqueryui/1.8.23/jquery-ui.min.js"></script>

<script src=”http://static.tumblr.com/jf1132j/sfPm95z14/jquery.imagesloaded.min.js"></script>

<script src=”http://static.tumblr.com/jf1132j/o7sm95z7v/bigvideo.js"></script>


$(function() {

    var BV = new $.BigVideo();





For the line that starts with BV.show, edit it to use the link to your video you copied from the Tumblr upload page.

Here’s a gist link for this code if you know what you’re doing: https://gist.github.com/3441168

VOILA! When you hit Preview and Save, your theme with your video should show up. It might require a bit of fidgeting to make it worth with your theme. For example, I had to disable Infinite Scroll and add

container-top {position:relative;}

to the Custom CSS section of the Fluid theme to make the top of the menus reappear.

Enjoy. Hit me up in the comments if you have questions or run into issues. If you want to steal my terrible fireworks background video, here’s the link: http://static.tumblr.com/jf1132j/oWRm97w6e/fireworks.mp4

Note: I think I’m abiding by Tumblr’s file hosting policy. If sharing links to hosted scripts or theme assets with other tumblr users is NOT OKAY, please let me know and I’ll immediately remove these links.

My predictions for tomorrow’s Apple event

  • iPhone 4S, with slight design tweaks and updated hardware.
  • No iPhone 5.
  • Emphasis on iOS5 and Assistant.
  • Facebook iPad App + Spartan for iPad/iPhone launch

Apple appreciates good business as much as it does good design, so I think they’ll stick to one device instead of two, as it’s cheaper to produce and support. The iPhone4 has been great for Apple so I can see a lower cost version for pre-paid plans. The features that would demand an iPhone 5 are not ready for primetime: NFC will come alongside a proper payments platform and 4G LTE will be WAY better in six months.

The Facebook stuff will be nuts. Expect HTML5 apps on iPhone and iPad, running inside the Facebook iOS apps. App developers will have a new, highly viral channel to reach mobile users.

All in all, I’m not expecting much and I’d love it for Apple to prove me wrong.

Party Like It’s 1999: I’m joining The Echo Nest

I’m proud to announce that I’m joining The Echo Nest, where I’ll be working on products and building the future of music. This shouldn’t surprise anyone that knows how much I love music and the internet, but I wanted to discuss why I made the move now.

If you remember the chaos, fun and energy that was 1999 with Napster’s rise, you’ll also likely remember its fall and the music industry’s war with its customers that followed. Since then, most labels have been forced to live through major attrition while coping with crumbling revenue numbers, while some of the most promising music apps like Napster, Muxtape and Imeem faded or outright folded.

But that brings us to today and I think this period is going to be remembered as a watershed era for the music industry.. With iCloud, Google Music and Amazon’s cloud player, everyone has access to their music where and when they want it. Spotify and Rdio will make it too easy to find music online to bother pirating it. Earbits is re-inventing the way bands find an audience. And Pandora’s IPO shows it’s possible to build a real company in the space.

This last generation of music apps all focused on utility and discovery, but I think the next generation will create whole new experiences, powered by amazing data, delivered to users on phones, tablets and their TVs, where and when they want it. And in the way Simplegeo provides an API to location-based services, The Echo Nest is providing data for a new generation of apps, making it dead simple to build and launch music services fueled by great data.

If you’ve always wanted to do a music startup, now is the time. You’re going to see some really great products explode out of this openness, with Turntable.fm off to an early start. And while everyone is scared of the music licensing boogeyman, entrepreneurs are missing the writing on the wall that it’s time to wade back in. If you’re interested in building a music app, send me an email at kabir at echonest dot com and let’s talk.

What are you waiting for? Forget Party Like It’s 1999, this is far from it. This post should be titled The Times They Are A-Changin’.

Learning to code, attempt #223414

I realize for all my attempts at learning to code, I’ve never fully stuck with it for 30 straight days, so that’s what this month is all about. I’m currently on day 2 of using Learning Python the Hard Way and can’t recommend it enough; it’s fun, engaging and has managed to stay one step ahead of my progress in a way that’s eerie.

I won’t update this everyday, but I wanted to chronicle some of the finer moments. Last night I hit a brick wall trying to figure out how to turn 6 lines of code into 1, but I nailed it in about 10 minutes this morning. I know I’ll be banging my head against a wall again soon but for right now, this feels really fucking good.

To Tumblr, Love Pixel Union