The 6 best apps for managing your tasks, now that Microsoft is killing Wunderlist

Snapchat trick - How to upload any photo to Snapchat without the white borders!

Why do we doodle


3 best ways to stream videos to Chromecast

This was originally posted on Medium
The Chromecast is one of my favorite gadgets. It’s cheap, it’s simple, and it usually just works.
However, one of the biggest problems with it is that once you get a taste of the simplicity of streaming YouTube videos to your TV via Chromecast you immediately want to stream your local video files to your TV, with the same ease.
And then the problems start.
There are a bunch of different ways to play videos from your PC or Mac on your Chromecast, and I’ve tried pretty much all of them. After a lot of trial and error these are the 3 best methods that I discovered.


Videostream is a Google Chome app. To use it you need to launch the app on your computer (from within Chrome), choose the video you want to watch, and then click on the Google Cast extension to cast the app to your TV. A bit tedious but the stream works well, much better than just casting a tab using the Google Cast extension. The video and sound are smooth and the app is quite easy to use.
As an added bonus, there are free iPhone and Android apps that let you control Videostream from your phone. So essentially you just need to start the video from your computer and do the rest from your phone (like play, pause. rewind, etc.).
Downside: Need to start streaming from your computer
Price: free

Air Video HD

AirVideo HD is an awesome app, regardless of if you have a Chromecast. It lets you view any videos you have on your computer (Mac or Windows) from your iPhone/iPad. So you can be anywhere in the world and your entire video library is easily accessible from your mobile device using Wifi or data. It supports a ton of different formats and even lets you download videos to your iOS device so that you can view them when offline.
In order to use Air Video HD you need to install Air Video Server, their free server application, on any computers you want to access from your mobile device (Air Video Server is available for Windows and Mac).
In order to stream from Air Video HD to Chromecast you currently need to join their “Early Access” program which is a $1.99 in-app purchase. They have a free trial so you can see that it really works for you before you buy early access. My guess is that Chromecast support will soon be part of the regular app and you won’t need to pay for early access. I paid the $2 for early-access and it was totally worth it.
Added bonuses: supports almost any video format (it transcodes videos on-the-fly), works smoothly with subtitles, can stream to Apple TV (using AirPlay), it looks great, and lets you download videos for viewing offline.
Downside: you need to have the server app running in the background. It’s a one time thing that you just install and never have to think about it again. Oh and no Android support.
Price: $2.99 for the app


LocalCast lets you stream videos from your Android, iPhone, iPad, iPod or NAS, DLNA/UPnP, Google Drive, Dropbox, and even videos embedded on a webpage. That means that, unlike AirVideo HD, you don’t need to install anything on your computer. LocalCast just connects to any shared folders on computers on your local network and then lets you cast them to a number of different devices. That’s right, you can also stream videos directly from Dropbox and Google Drive to your TV (or local video files you have on your mobile device).
It supports the following devices that you can stream to: Chromecast, Nexus Player, Amazon FireTV, SmartTV, Sonos, Xbox 360, Xbox One or other DLNA devices (like a Philips TV).
Added bonus: LocalCast lets you stream video to your TV but listen to the audio using your phone’s headphones, if you don’t want to bother people around you.
Downside: doesn’t transcode videos so if casting to Chromecast not all video formats work.
Price: the free version is totally functional but supported by ads. The Pro version (which removes ads) is $4.99


If you don’t mind getting up to your computer to start the video and want an entirely free solution, go with Videostream.
If you want total control from your iPhone/iPad and don’t mind paying $3, go for AirVideo HD. Also, if you have various different video formats that Chromecast doesn’t necessarily support, AirVideo transcodes videos smoothly on the fly.
If you don’t want to install anything on your computer and want full control from your phone (and support for a bunch of different devices & Dropbox), LocalCast has you covered.

PHP code for fetching a remote file and saving it with the right file name

Here is some PHP code I wrote for downloading a file from a remote server and saving it locally using the file's real name.
It tries to get the real file name using three methods:

  1. First by checking if the server returned the name of the original file to save as (using the content-disposition http header)
  2. By checking the content-type header that the server returned
  3. If all else fails then by the filename in the requested url.
I hope you find this useful.

Why the top Super Bowl 2013 ads worked

Like every year, a main highlight of the Super Bowl are the TV commercials.
Here's my rundown of the top commercials from Super Bowl 2013, and what made them good.

My criteria for a good commercial was whether it did the job (in my opinion) based on these:

  • Does it reenforce the brand
  • Is it memorable
  • Will people talk about it afterwards
  • Does it engage the viewer
Excellent ads nailed most of these criteria.

Here's the list:

OREO - Whisper Fight

Everybody was talking about this one, mainly because it was a funny situation. But not only that, the commercial opened up an age old conversation that is directly connected to the product: what's better the cookie or the creme.

Taco Bell

This Taco Bell commercial did a great job of connecting between the brand and having a good time. Even if you think it's shitty food, the ad makes you feel good about living life and having a good time.

The Rock runs out of milk

The message in this ad is that even a super hero like Dwayne "The Rock" Johnson will do anything to bring his kids milk, even if the world is falling apart. The huge production (explosions, woman trapped in a car with a lion, aliens...) and the silly situation of The Rock running down the street in his pajamas just to get milk, amidst all of this, make this ad memorable.

Hyundai - why turbo

A very simple concept that demonstrates the benefits of this specific product. As the commercial proceeds it gets sillier and more extreme, all building up anticipation for the punch line: "Why turbo? It's just better to be in front" (with the most extreme one coming after the punch, now that you get it).

Pizza Hut - Hut

An excellent connection between all the excitement around the game and their brand. Such a good connection that it makes the viewers think, how didn't I think about that before. All that while repeating the brand name over and over.

Speed Stick Unattended Laundry

Speed Stick took what they are good at (times when you sweat) and told a story that people can relate to. They created a funny awkward scene that men specifically can relate to, and it points out the benefits of their product.

Tide - Miracle Stain

Again, the extreme situation depicted here is very memorable. And fans of both teams could connect to it thanks to the punch at the end.


This commercial uses two interesting techniques, there's the cool effect of the bottles exploding (in a fun sleek way), and the environmental aspect. Both make you relate to the commercial while teaching you the benefits of the product, which is not that well known yet.

Subway FebruANY

Subway took the awful name FebruANY and made it memorable by having a bunch of celebrities trying to pronounce it, in a blooper roll. Viewers are likely to try to say it themselves which increases the chance of them remembering it. So not only do you remember FebruANY at the end of the commercial, the meaningful name hints that you can get anything at Subway during the month of February (even if that's not what they are actually offering).

Go Daddy - Perfect Match

This GoDaddy commercial was kinda boring in my opinion, but I mentioned it in this list because it got a hell of a lot of buzz (and GoDaddy reported record sales after Super Bowl 2013). The old cliché is true, sex sells. It sells even more if you have a geek-loser getting to kiss a supermodel.

Here are more SuperBowl 2013 commercials on YouTube.

What are your thoughts on the best ones?

How I proposed using a Chrome extension

Yup, I'm a geek. Everybody who knows me knows that.
As you can tell by the title of this post, here's how I proposed to my girlfriend by developing a Chrome extension (there's an added bonus at the end on how my mom discovered on Twitter that I had proposed).

When I decided to propose to my girlfriend I knew it would be geeky. Not Star Wars geeky, I'm not that hardcore, but something geeky nonetheless (and she is totally not a geek so any l33t speak would not work).

I threw around a few ideas. I knew I wanted to surprise her out of the blue, I wanted to do something that required investment (and not just half-ass it), but I didn't want it to be too grandiose (we're both not into those kinds of things).

Eventually I decided that I wanted to mess with her on Facebook.
Then I got the idea of creating a Chrome extension (after all, I was a long time at Conduit :) that injects JavaScript into her Facebook and would let me change stuff there.

Since this was a marriage proposal, the obvious place to mess with her on Facebook was the relationship status. This is what I came up with...

The first step was to ask her for some pretty basic stuff:

I was pretty sure that she would get annoyed with it and not want to cooperate so I added the little locks to give an impression that the information is private.

In the second step, it would ask her to update her relationship status. No matter what relationship status she chose it continued as if she had selected "Married".

and then she'd get this confirmation dialog:
The idea was that she would think she chose "Married" by accident and then hit the "No" to go back and then see that "Married" was selected.

After finally agreeing to update her relationship status she would then see this dialog:
Those are all profile pictures of male facebook friends she has, not including me.
After a few seconds those pictures would fade out and my profile picture would slide in and she'd see this:

I thought that at that point she'd understand and I would be standing there with the ring.

My good friend Adiel helped with the development of the extension and we set it up so that I could remotely control when to run the injected Javascript (thanks again Adiel!).

I loaded up the extension on her laptop during the night and my goal was to get her to check Facebook on her laptop during the next day (the next day was 10/11/12 a nice date to propose on, right?).
Easier said than done.

The extension was loaded up on her laptop, I had the ftp to the server open ready to enable the extension remotely, but she wouldn't go to her computer.

So I decided to send her this message on Facebook:
You have to check this out:

The idea was that she'd get that message on her iPhone and think it wasn't working properly so she'd check it on her laptop. Worked like a charm... she went up and opened Facebook on her laptop.

As soon as I saw she loaded up Facebook I enabled the extension.

She got the "Facebook update your details wizard", got annoyed, and closed the page.
She reopened Facebook, hoping it would disappear, but the damn thing was back (hee hee).
After getting annoyed at it a bit she called me over to show me what Facebook was forcing her to do... so far everything was progressing as planned...

I took a look at it and told her I had no idea what that thing was but since there's a lock there she had nothing to worry about, the information would be private.

Reluctantly, she filled out the first step (home town) and got to the next step with the relationship status. She got really annoyed at that :)

I told her not to worry that she could just choose "single". She looked at me like I was nuts :)
(neither one of us had ever updated their Facebook relationship status till then)

Eventually she chose "single", hit next, and got the "Please confirm you are updating to Married" screen. Just as planned, she thought she made a mistake and went back. There she saw that "married" was selected and chose single again.
Of course the second time it asked her to confirm "married" really pissed her off :)
At this point I told her to just hit next, who cared. She was't willing to and told me to do it. I ended up hitting next to confirm, thinking that she would immediately understand what was going on on the next screen.

The faces came up and again she looked confused, asking me "what the hell is this?". I said "dunno", knowing that my pic would come up in a sec (the ring was already in my hand at this point, she had no idea).

A few seconds later my picture slided in and I looked at her, sure that she knew what was going on, and pulled out the ring.

She was floored :)
She had no idea till that second what was going on (mission accomplished :).

Luckily for me, she said yes!

A few minutes of mushiness ensued while we collected ourselves and indulged in the moment, and then I explained to her how the whole thing worked.

To top all this off, the next thing I obviously had to do was update my Twitter with the good news and that was how my Mom found out I proposed. When I called her to tell her the good news she answered saying "I need to discover on Twitter that you proposed?". She was a great sport about it :)

Like I said, yup, I'm a geek.