Archive

Archive for August, 2009

The next step of human evolution : to need less sleep.

August 14th, 2009 Comments off

Mutation Tied to Need for Less Sleep Is Discovered

The scientists were searching the samples for variations in several genes thought to be related to the sleep cycle. In what amounts to finding a needle in a haystack, they spotted two DNA samples with abnormal copies of a gene called DEC2, which is known to affect circadian rhythms. They then worked back to find out who provided the samples and found a mother and daughter who were naturally short sleepers. The women routinely function on about 6 hours of sleep a night; the average person needs 8 to 8.5 hours of sleep.

Even under the reproductive selection pressures brilliantly outlined in the first 10 minutes of Idiocracy, needing less sleep would still be a handy trait.

Categories: General, life, society Tags:

Hulu & the PS3 : Fixed with a small VM

August 9th, 2009 34 comments

Update 8-11-09


Depending on the shows you want to watch, you may not need hulu, and instead can watch what you want at sling.com. Tip o the Hat to a commenter at Joystiq.

Show availability is mixed tho, for example, “The Daily Show” & “Smallville” play, but “Burn Notice” and “Warehouse 13″ don’t play. For those shows sling.com just acts as a front end to hulu.com.

Summary


I have put together a small Linux virtual machine that should, for most people, re-enable Hulu content on the PS3. It provides a web proxy configuration that only effects Hulu related network traffic, thus not slowing down gaming or making the PS3 otherwise dependent on the VM’s proxy.

The one machine that is always on at my house is an old (2002) Windows XP box that currently serves double duty as a file/print server and is host to a Windows based security camera package. Thus, I needed to make the Virtual Machine image as small and lightweight as possible.

The Fix : Download and Run It


1. Download VMWare Player.
2. Download 7zip, to uncompress the VM.
3. Download the VM via http, 50 MB download.
4. Uncompress the VM, and run it with the Vmware Player. Login and password are “notroot” / “huluproxy” if you want to login and look around.
5. Configure the PS3 to use the IP of the Virtual Machine as its Primary DNS.
– This means that on the PS3′s network configuration wizard, chose “custom”, and when you get to DNS, choose “manual”.
- Set the primary DNS of the PS3 to 192.168.1.5, aka the IP of the VM.
- Set the secondary DNS to be the ip of your router, should be 192.168.1.1
6. Visit hulu.com on the PS3 and see if it works.

Alternatively, if you are a techie, you can set this up yourself on your own linux machine, see the Configuration section below. I recommend the Linux Mint the distribution.

If you are stuck running Windows, and if downloading and running a VM from some random blog bothers you (which it should), by all means download a more stock VM image and configure Squid and Dnsmaq yourself. In “porting” this solution to my Windows box, I started with an Ubuntu 9.04 image from this gent and configured from there. These VMs are pretty heavyweight tho, which I why I rolled my own once I knew it would work.

The Fix : Conceptually


The fix detailed by the yPass.net guys works but does have one problem: all of your PS3′s network traffic will get routed through the Proxy server. Thus making it very annoying if the Proxy server ever goes down.

Ideally, only network traffic going to Hulu should be routed through the Proxy server, which can be done by setting up your own DNS server.

Thus the fix conceptually looks like this:

Squid and DNSMasq to just proxy and 'fix' Hulu content

Hulu PS3 workaround using Squid and DNSMasq

Step 1. Configure the PS3 to a DNS server (Dnsmasq) that you control, and that has been configured to lie to the PS3 when it asks for the IP address www.hulu.com to it and tell it to use the IP address of the local Squid proxy server instead.

What is nice about this, is that the PS3 can be configured with two DNS servers, a primary and secondary. Configure the PS3 to use the new DNS server as the primary DNS server, and the normal DNS server as the secondary. Thus, the PS3 will still operate normally even if Dnsmasq or Squid is down.

Step 2. The proxy server forwards requests onto the real Hulu servers, but changes the “User Agent” of the browser so it looks like the request is coming from a Windows machine. It does this by being configured as a “transparent reverse proxy”, which unfortunately the Windows port of Squid does not support. Thus you are pretty much stuck running Linux.

Step 3. Enjoy your lazy weekend mornings splayed out on the couch catching up on your favorite shows, but be aware of the limitations of Hulu on the PS3.

One caveat with this setup, as compared to the original proxy setup, is that you can’t login to hulu.com and see your Queue or Subscriptions as in this configuration the Proxy can’t handle the https traffic. To “work around” this, I just bookmark the pages of the shows I want to watch.

The Fix : How it is Implemented


While I worked and debugged the Squid and Dnsmasq configuration on my Linux dev box, I don’t leave it on all the time.

As mentioned above, transparent reverse proxy is not supported on the Windows version of Squid, so I created a very small Virtual Machine of Debian 5 Linux, with Squid and Dnsmasq setup to run on my old, always-on Windows box.

The Virtual Machine boots to a static IP address of 192.168.1.5, uses 128 MB of ram and 500 MB of disk space.

The VM should also “just work” for most people. By definition, if you have a PS3 and you are wanting to watch Hulu on it, you A) have a broadband internet connection, and B) most likely have a home gateway / wifi access point (Linksys, DLink, etc).

Most home gateway routers, don’t dish out IP addresses that low by DHCP so it shouldn’t conflict with anything else on your network. Also, most home routers use 192.168.1.1 as their address in the home (LAN side). If your home router uses a different address, you will have to edit some config files to get it to work.

The Fix : How to configure it yourself, aka not running the VM


Squid: Starting with the default conf file from Squid 2.7 (what comes with Debian/Ubuntu), modify the /etc/squid/squid.conf file as follows.

Uncomment this line in the file

http_access allow localnet

Comment out this line of the file

http_port 3128

Add these lines

http_port 80 accel defaultsite=www.hulu.com http11 vhost allow-direct

header_access User-Agent deny all
header_replace User-Agent Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.11) Gecko/2009060215 Firefox/3.0.11 (.NET CLR 3.5.30729)

Dnsmasq: Starting with the default /etc/dnsmasq.conf

Add the following lines:

address=/hulu.com/192.168.1.5
address=/www.hulu.com/192.168.1.5
address=/static.hulu.com/192.168.1.5
address=/ads.hulu.com/192.168.1.5
address=/assets.hulu.com/192.168.1.5
address=/t2.hulu.com/192.168.1.5
address=/urlcheck.hulu.com/192.168.1.5
address=/secure.hulu.com/192.168.1.5

address=/a.hulu.com/192.168.1.5
address=/b.hulu.com/192.168.1.5
address=/c.hulu.com/192.168.1.5
address=/d.hulu.com/192.168.1.5
address=/e.hulu.com/192.168.1.5
address=/f.hulu.com/192.168.1.5
address=/g.hulu.com/192.168.1.5
address=/h.hulu.com/192.168.1.5
address=/i.hulu.com/192.168.1.5
address=/j.hulu.com/192.168.1.5
address=/k.hulu.com/192.168.1.5
address=/l.hulu.com/192.168.1.5
address=/m.hulu.com/192.168.1.5
address=/n.hulu.com/192.168.1.5
address=/o.hulu.com/192.168.1.5
address=/p.hulu.com/192.168.1.5
address=/q.hulu.com/192.168.1.5
address=/r.hulu.com/192.168.1.5
address=/s.hulu.com/192.168.1.5
address=/t.hulu.com/192.168.1.5
address=/u.hulu.com/192.168.1.5
address=/v.hulu.com/192.168.1.5
address=/w.hulu.com/192.168.1.5
address=/x.hulu.com/192.168.1.5
address=/y.hulu.com/192.168.1.5
address=/z.hulu.com/192.168.1.5

Hulu uses alot of sub domains.

The Fix : Troubleshooting


If you need to have the VM use a different static IP address, you will need to update the address in the /etc/dnsmasq.conf file and the /etc/network/interfaces files. Nano is the availalbe text editor, "sudo nano -w /etc/dnsmasq.conf" & "sudo nano -w /etc/network/interfaces". Either reboot when you are done or restart the services.

To verify if dnsmasq is working : On a Linux machine, do “dig @192.168.1.5 hulu.com“, it should report back the 192.168.1.5 address instead of hulu.com’s real address. I don’t know how to “dig” on a Windows machine.

To verify if squid is running : In a browser on another machine goto “http://192.168.1.5“, you should get a nice “The requested URL could not be retrieved.” message.

Categories: General, open source Tags: ,

The state of Hulu on the PS3

August 6th, 2009 Comments off

Initially it barely worked. Sony worked on the flash player and playback performance was much improved.

Life was good. I could catch up on the Daily Show on lazy weekend mornings splayed out on the couch, at “hi-def” 480p and “full screen”.

Recently however, Hulu decided to start blocking PS3′s based upon the User Agent string of the http (browser) header, as documented here.

These guys figured out how to get it working again with the help of an extra linux computer running in your house. That works, but there are still some problems with Hulu playback on the PS3, that are just due to the nature of the device.

Two small gotcha’s:

1. Don’t turn on subtitles. That crashes the PS3 hard; you have to power cycle it via the switch at the back.

2. Don’t pause long enough for the buffer to fill all the way, as that tends to crash the PS3 browser as well. I speculate that letting the buffer fill maxes out the PS3′s limited memory (256 megs). Thus, instead of pausing, I just check to see where I am in the show, and when I come back reset the show to that point.

While not providing as nice of a playback performance as a “real” computer, it makes up for it by running on the big TV in my living room and being basically an “extra” feature of the PS3.

Also, I like the WordPress theme the yPass.net guys use so much that I grabbed a copy.

Categories: General Tags: ,

Welcome to the 21st Century

August 6th, 2009 Comments off

I can now listen to streaming internet radio (Pandora) in my car when commuting too and from work.

How cool is that? Only way to make that better is to be commuting to the beach.

Having used the original iPhone for 2 years, the new hardware and 3G connection on the new iPhone were big steps up.

Still want my flying car.

Categories: General, life Tags: ,