Tuesday, July 15, 2014

The story behind Seattle's floating homes!

In Seattle, there are a lot of people who live on the waterfront (in Lake Union). There are two types of floating life shelters: Floating Homes and Houseboats.

Houseboats are one of the most ingenious ways i’ve ever seen of gaming the system. It’s a pretty long but very interesting story. Read on.

Back in the early 1900s, people who could not afford a house on land in Seattle started building simple house-like structures using some logs and put them on Lake Union and started living there. Since the lake was open to the public, anybody was allowed to build such a "floating home" free of cost and live there.

People who lived on such floating homes did not pay any property taxes. On realizing that, a lot of people who lived on land started moving to the lake and naturally it started getting crowded. Since these floating homes did not have proper sewage system, people started to dump all their waste on the lake and hence it started to become a mess.

The City of Seattle then decided enough is enough, and drew up some regulations on how many floating homes will be allowed on the lake and designated certain spots in the lake to be for the exclusive use of floating homes. Since the number of homes were limited and they were always docked, they also decided to hard wire them into the city’s sewer and electricity systems. Thereby, floating homes were started to be considered as regular homes and people needed to pay property taxes on them.

The floating home used in the movie Sleepless in Seattle

When something becomes “limited edition”, obviously the prices go up. So all of a sudden, what was once the home of people who could not afford a house became a limited edition floating home that started to go for millions of dollars. Also, sewage and electricity were no more an issue.

Now, there were this new class of people who couldn’t afford a home on the land, and obviously not the waterfront as well. So they just started to put a roof on their boats, and started living there. Since they were just regular boats, there was no restriction on how many such boats could be in the lake as long they are registered vessels. It gradually evolved and today’s “boats” look like this:


628x471 (1).jpg

You see what they did there? It’s a lake and obviously the city cannot put a limit on the number of boats allowed on the lake. These “boats” are registered as vehicles to the DMV and are authorized to be in the lake wherever and whenever they want. The only restriction being, “they should be able to move on their own”. So all they need is to have a motor underneath that will help them achieve that criteria.

628x471 (2).jpg

If you look closely at the above photo, you can see a Honda motor attached to it on the bottom left. It’s very impractical for the city to enforce that rule on a day-to-day basis. So most of these boats, even though they self-propel at the time they are registered to the DMV, they hardly remain so throughout the year.

So today, you can find a lot of such "Houseboats" on the waterfront of Lake Union in Seattle.

P.S.: This was a story that was told to me when i took the Rode The Duck in Seattle. It’s really an awesome tour and i highly recommend taking it if you are visiting Seattle.

P.P.S.: I originally wrote this for this Quora question: "What are the best examples of people gaming the system?"


Friday, June 27, 2014

Use your Chromecast/Roku on a Hotel WiFi

Chromecast and Roku are really wonderful devices which allow you to take all your media with you where ever you go. Especially, if you travel a lot, it's definitely way better to watch something on your Netflix subscription rather than paying exorbitant rates on the hotel's pay-per-view.

But there's a problem. Hotel WiFi's usually use web based authentication (i.e.) their wireless network is usually open and anyone can connect to it. Only when you try and open a webpage, they send you to an authentication page that asks for a username/password (which the hotel will provide you) and/or asks you to accept the terms and conditions.

The problem is that Chromecast and Roku do not have native support for such authentication. But fear not, in this post, i am going to write about a few ways in which you can work around this limitation to enjoy Roku/Chromecast on the hotel's WiFi network.

Find out your device's MAC Address

2 of the 3 workarounds that i mention requires you to know the MAC Address of your Chromecast/Roku device. Here's how you figure it out:

  • Switch it on
  • Navigate to Settings->Network->Wireless
  • On the bottom right, you can see the MAC Address of the Roku
  • Switch it on
  • Connect your phone to the hotel WiFi and authenticate it
  • Open the Chromecast Setup app on your android phone
  • Tap on devices and wait for it to scan
  • Tap on your Chromecast device in the list
  • Tap "Set Up"
  • Tap "I see the code"
  • Tap "Set Name"
  • The MAC Address of your chromecast will be displayed on the screen now. 
Workaround 1 - Call the Tech Support

Most hotels give you a small sheet of paper with your WiFi username and password. That sheet usually also has a "tech support" phone number. Here is what you can do: Call the tech support number and tell them exactly this: "I would like to use the roku media player device over the hotel WiFi. I wanted to check if you could whitelist the MAC Address of my device to by-pass the authentication page".

Depending on the mood and knowledge of the tech support person, he/she might say okay. But nevertheless, it's gonna take some time before the whitelist happens. And once the whitelist happens, you can enjoy Chromecast/Roku over the hotel WiFi.

Workaround 2 - Spoof your MAC and authenticate from your laptop

The whole web authentication system works around MAC addresses. Once you enter your username and password, your MAC and IP addresses are going to be whitelisted for a certain amount of time (about 24 hours) and your device will be allowed to access the internet in that time period.

One key weakness about this authentication mechanism is that MAC address is easily spoof'able. So we are going to to assign your Roku/Chromecast's MAC address to your laptop and perform the authentication like usual and then make use of that whitelist to access the internet from your Roku/Chromecast. Here are the steps (follow them precisely to the word):
  • Find the MAC address of your Roku/Chromecast using the steps above. Note it down.
  • Open the terminal (assumes linux).
  • Run "ifconfig" and note down the MAC Address of the laptop. [1]
  • Run this command: "sudo ifconfig wlan0 down".
  • Disconnect from the WiFi network on the laptop.
  • Run this command: "sudo ifconfig wlan0 hw ether <mac address of roku>".
  • IMPORTANT: Turn off the Roku/Chromecast by unplugging it.
  • Run this command: "sudo ifconfig wlan0 up".
  • Connect to the Hotel's WiFi network on the laptop.
  • Open the browser and navigate to google.com (or any other website).
  • It will ask for authentication, provide username/password that the hotel gave you.
  • Type google.com again and verify that you can access Google.
  • Run this command: "sudo ifconfig wlan0 down".
  • Disconnect from the WiFi network on the laptop.
  • Run this command: "sudo ifconfig wlan0 hw ether <mac address of your laptop from step [1] above>".
  • Run this command: "sudo ifconfig wlan0 up".
  • Now you can plug your Chromecast/Roku back in and connect to the Hotel's WiFi network on that. It should now be connected to the internet!
You will have to repeat these steps after the whitelist expires (usually about once a day).

Note: The above two work arounds will connect your Chromecast/Roku directly to the hotel's WiFi 

Workaround 3 - Set up your own WiFi network

Buy a portable WiFi adapter and use that to share your Hotel's WiFi through your own access point.

Hope this helps!


Saturday, March 8, 2014

Chromecast URL Player

I was annoyed by the fact that the Chromecast SDK has been out for the public for quite a while and yet googling for a simple URL player for Chromecast did not yield satisfactory results. So I sat down to create my own simple web app for playing back any http video or viewing any still image in Chromecast.

URL: http://movies.foamsnet.com

Source Code: https://github.com/vickyg3/UrlPlayer

Would love to hear feedback. Feel free to fork, send pull requests.