<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Matt Cutts: Gadgets, Google, and SEO &#187; Fun</title>
	<atom:link href="http://www.mattcutts.com/blog/type/fun/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mattcutts.com/blog</link>
	<description>neat fun stuff</description>
	<lastBuildDate>Thu, 23 May 2013 00:34:12 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Playing with a USB Missile Launcher</title>
		<link>http://www.mattcutts.com/blog/playing-with-a-usb-missile-launcher/</link>
		<comments>http://www.mattcutts.com/blog/playing-with-a-usb-missile-launcher/#comments</comments>
		<pubDate>Mon, 13 May 2013 06:45:43 +0000</pubDate>
		<dc:creator>Matt Cutts</dc:creator>
				<category><![CDATA[Fun]]></category>
		<category><![CDATA[Gadgets/Hack]]></category>

		<guid isPermaLink="false">http://www.mattcutts.com/blog/?p=4555</guid>
		<description><![CDATA[This is the last half-finished &#8220;hairball&#8221; blog post about USB devices on Linux. I actually did manage to get a working program that controlled a USB foam missile launcher. Unfortunately, I didn&#8217;t document all the steps, so this blog post just sort of stops at some point. I got a USB Missile Launcher for Christmas. [...]]]></description>
				<content:encoded><![CDATA[<p><em>This is the last half-finished &#8220;hairball&#8221; blog post about USB devices on Linux. I actually did manage to get a working program that controlled a USB foam missile launcher. Unfortunately, I didn&#8217;t document all the steps, so this blog post just sort of stops at some point.</em></p>
<p>I got a <a href="http://www.thinkgeek.com/interests/techies/8a0f/">USB Missile Launcher</a> for Christmas. The manufacturer, <a href="http://dreamcheeky.com/download-support">Dream Cheeky, provides software</a>&#8211;but only for Windows XP. And I thought to myself, &#8220;wouldn&#8217;t it be fun to practice some USB reverse engineering skills?&#8221; Because another Christmas present was a <a href="http://www.totalphase.com/products/">USB protocol analyzer</a> from Total Phase. I should note that <a href="http://code.google.com/p/pyrocket/">plenty of other people</a> have apparently already written drivers/<a href="http://sourceforge.net/projects/usblauncher/">software for USB missile launcher toys</a>, but I wanted to poke around myself.</p>
<p>Total Phase makes a high-speed <a href="http://www.totalphase.com/products/beagle_usb480/">USB 2.0 protocol analyzer</a> for $1200, or a regular-speed <a href="http://www.totalphase.com/products/beagle_usb12/">USB protocol analyzer</a> for $400. Here&#8217;s a trick someone mentioned: if you get the cheaper protocol analyzer and need to work with a high-speed USB device, you may be able to plug the high-speed device into a low-speed USB hub to slow the device down.</p>
<p>I decided to start with ladyada&#8217;s excellent guide to <a href="http://ladyada.net/learn/diykinect/">hacking a Kinect</a> by reverse engineering USB packets. So here&#8217;s what I did.</p>
<p>Step 1. Make sure the device works. It would suck to attempt to reverse engineer a broken device. I keep a Windows XP computer lying around, so I downloaded the <a href="http://dreamcheeky.com/download-support">software</a> for it, installed the program, and plugged in the USB rocket launcher. After the install, XP wanted to restart, so I restarted the XP computer (unplugging my USB rocket launcher after the computer was off), then started the rocket launcher software back up, then plugged in the USB device. Sure enough, everything worked fine. The controls are: pan left/right, tilt up/down, and fire. Tip: the rocket launcher uses bursts of air, so don&#8217;t jam the foam rockets down hard on the launcher.</p>
<p>Step 2. Probe the device. I plugged the USB rocket launcher into a Linux machine running Ubuntu 10.04 (Lucid Lynx). I ran the command <strong>sudo lsusb -vv</strong> and the relevant info from the list of USB devices on my system was this:</p>
<p><code></p>
<pre>
Bus 002 Device 045: ID 0a81:0701 Chesen Electronics Corp. USB Missile Launcher
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x0a81 Chesen Electronics Corp.
  idProduct          0x0701 USB Missile Launcher
  bcdDevice            0.01
  iManufacturer           1 Dream Link
  iProduct                2 USB Missile Launcher v1.0
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           34
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 No Subclass
      bInterfaceProtocol      0 None
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.00
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      52
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0001  1x 1 bytes
        bInterval              20
Device Status:     0x0000
  (Bus Powered)
</pre>
<p></code></p>
<p>Note that my Vendor ID = 0x0a81 and my Product ID = 0&#215;0701. Also note that bNumEndpoints = 1. An endpoint is a channel for USB data communication. Then we get the Endpoint info:</p>
<p><code></p>
<pre>
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0001  1x 1 bytes
        bInterval              20
</pre>
<p></code></p>
<p>According to ladyada&#8217;s <a href="http://ladyada.net/learn/diykinect/">write-up</a>, the &#8220;IN&#8221; means that data goes IN to the computer from the device, and the &#8220;Interrupt&#8221; transfer type is good for sending large amounts of small data quickly (e.g. a USB mouse).</p>
<p>Step 3. Prepare your Linux system to talk to the device. First, let&#8217;s review ladyada&#8217;s steps, which is for Windows. She installs libusb-win32 and then runs a program called inf-wizard to make a driver shell. Then plugging the device into Windows will attach the LibUSB-win32 device driver. Next, she installed Python and PyUSB.</p>
<p>I wanted to stick with Linux. I didn&#8217;t need libusb-win32 or inf-wizard.exe, and I already had Python installed. So my next step was to <a href="http://sourceforge.net/projects/pyusb/">download PyUSB</a>, extract the zip into a directory, change into that directory, then run <code><strong>sudo python setup.py install</strong></code> in that directory to install PyUSB. Since you&#8217;re installing PyUSB system-wide, you do need to run that command with &#8220;sudo&#8221; to run it as root.</p>
<p>Step 4. Write a short program on your Linux machine to talk to the device. I made a file missile-launcher.py and executable access with &#8220;chmod ugo+rx missile-launcher.py&#8221; next. Here&#8217;s the short program I ended up with:</p>
<p><code></p>
<pre>
#!/usr/bin/python

import usb.core
import usb.util
import sys
 
# find our device
dev = usb.core.find(idVendor=0x0a81, idProduct=0x0701)
 
# was it found?
if dev is None:
    raise ValueError('Device not found')

# Linux kernel sets up a device driver for USB device, which you have
# to detach. Otherwise trying to interact with the device gives a
# 'Resource Busy' error.
try:
  dev.detach_kernel_driver(0)
except Exception, e:
  pass # already unregistered
 
# set the active configuration. With no arguments, the first
# configuration will be the active one
dev.set_configuration()
 
print "all done"
</pre>
<p></code></p>
<p>Note that my &#8220;idVendor=0x0a81, idProduct=0&#215;0701&#8243; parameters use the values I found from lsusb -vv. If you compare against <a href="http://ladyada.net/learn/diykinect/">ladyada&#8217;s short program</a> you&#8217;ll notice one major difference. My code has these lines:</p>
<p><code></p>
<pre>
# Linux kernel sets up a device driver for USB device, which you have
# to detach. Otherwise trying to interact with the device gives a
# 'Resource Busy' error.
try:
  dev.detach_kernel_driver(0)
except Exception, e:
  pass # already unregistered
</pre>
<p></code></p>
<p>Ladyada&#8217;s PyUSB program for Windows didn&#8217;t have anything like that. But when I ran the program under Linux, I got the error message &#8220;usb.core.USBError: Resource busy&#8221;. It turns out that the Linux kernel tries to use a default kernel driver, and that prevents my program from talking to the device. Detaching the kernel driver lets me talk to the device just fine. I picked up this tip <a href="http://www.arcfn.com/2010/04/usb-panic-button-with-linux-and-python.html">Ken Shirriff&#8217;s post about a USB panic button with Linux and Python</a>. In theory you could also <a href="https://bugs.launchpad.net/ubuntu/+source/sudo/+bug/288964">unbind the USB device from a command-line</a>, but I prefer to do it right in my PyUSB program directly.</p>
<p>Note that you will need to run the python program as root, e.g. &#8220;sudo ./missile-launcher.py&#8221; or else you&#8217;ll get a warning message like &#8220;usb.core.USBError: Access denied (insufficient permissions)&#8221;.</p>
<p>At this point, you have a small working program that opens up a connection to the USB rocket launcher. If the USB rocket launcher isn&#8217;t plugged in, you&#8217;ll get a &#8220;Device not found&#8221; error, and if the USB device is plugged in, you&#8217;ll get an &#8220;all done&#8221; message and the program exits gracefully.</p>
<p>Step 5: Try to read from the USB device. In ladyada&#8217;s guide, she tried sending 0b11000000 = 0xC0 (&#8220;Read Vendor data from Device&#8221;) to a Kinect. I got no response from that, but I did get a response sending 0b10000000. That corresponds to sending:<br />
- a &#8217;1&#8242; to read from the device<br />
- a message type of &#8217;00&#8242; = standard. Ladyada got a response sending to &#8217;10&#8242; = vendor<br />
- &#8217;000&#8242; (reserved bits, so always 0)<br />
- &#8217;00&#8242; to say the recipient of the message is the device.<br />
Then sending a request of 0 got back a result of two zero bytes:</p>
<p><code></p>
<pre>
bRequest  0
array('B', [0, 0])
</pre>
<p></code></p>
<p>Interestingly, running the same program again would get a &#8220;usb.core.USBError: Unknown error&#8221; response. At that point, I would unplug the USB device and then plug it back in to reset it. I didn&#8217;t get any other responses from trying to send message types of class or vendor (as opposed to standard), nor did I get any responses from try to send messages to the interface or endpoint (as opposed to the device). See <a href="http://ladyada.net/learn/diykinect/">ladyada&#8217;s guide</a> for more details about fuzzing the device and what all the various bit fields mean.</p>
<p>Step 6: Set up the Linux computer to use the Total Phase Beagle. The CD worked nicely with HTML documentation on it. First, you copy some udev rules so that the device is writable by anyone when the Beagle is plugged in:</p>
<p><code><br />
cd /media/Total\ Phase/drivers/linux/<br />
sudo cp 99-totalphase.rules /etc/udev/rules.d/<br />
sudo chmod 644 /etc/udev/rules.d/99-totalphase.rules<br />
</code></p>
<p>If you&#8217;ve already plugged in the Beagle, you&#8217;ll need to unplug it and plug it back in for these rules to fire. Next, you&#8217;ll need the Data Center software. You can get it off the CD, but I&#8217;d recommend downloading the <a href="http://www.totalphase.com/products/data_center/">latest software and user&#8217;s manual from the website</a> instead. My CD had software version 4.20 for example and the website was up to 5.01. Extract the software zip file (either from online or the CD). Then follow the directions in the <a href="http://www.totalphase.com/docs/data_center_man/contents/">online manual</a> (or user manual <a href="http://www.totalphase.com/download/pdf/data-center-v5.01.pdf">PDF</a>). The directions according to the manual are </p>
<ol>
<li>Install the USB drivers and Data Center software. Copying the udev rules is enough for USB drivers on Linux. Unpacking the zip is all you need for the Data Center software, because the executable is self-contained.</li>
<li>Plug the Beagle analyzer into the analysis machine. This was my Linux machine.</li>
<li>Plug the Beagle analyzer into the bus to be analyzed. In this case, this was my XP computer. Don&#8217;t plug the USB missile launcher in yet though.</li>
<li>Start the Data Center software. Run the program &#8220;Data Center&#8221; in the directory you extracted from the .zip file. Follow the rest of the instruction in the Quick Start section.</li>
</ol>
<div class="plusone"><g:plusone href="http://www.mattcutts.com/blog/playing-with-a-usb-missile-launcher/"></g:plusone></div>]]></content:encoded>
			<wfw:commentRss>http://www.mattcutts.com/blog/playing-with-a-usb-missile-launcher/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A big challenge: running a 50 mile race</title>
		<link>http://www.mattcutts.com/blog/a-big-challenge-running-a-50-mile-race/</link>
		<comments>http://www.mattcutts.com/blog/a-big-challenge-running-a-50-mile-race/#comments</comments>
		<pubDate>Mon, 01 Apr 2013 14:46:24 +0000</pubDate>
		<dc:creator>Matt Cutts</dc:creator>
				<category><![CDATA[Fun]]></category>

		<guid isPermaLink="false">http://www.mattcutts.com/blog/?p=5533</guid>
		<description><![CDATA[You may have heard of my 30 day challenges, where I try something new for 30 days. Those challenges are great to try out a new habit and see how you like it. But I&#8217;m also a big believer in picking out really big goals too. In 2010 I trained for a few months so [...]]]></description>
				<content:encoded><![CDATA[<p>You may have heard of my <a href="http://www.mattcutts.com/blog/type/30-days/">30 day challenges</a>, where I try something new for 30 days. Those challenges are great to try out a new habit and see how you like it.</p>
<p>But I&#8217;m also a big believer in picking out really big goals too. In 2010 I trained for a few months so I could <a href="http://www.mattcutts.com/blog/climbing-kilimanjaro/">climb Kilimanjaro</a>, for example. For 2011, I went <a href="http://www.mattcutts.com/blog/matt-cutts-email/">skydiving</a> and ran <a href="https://plus.google.com/+MattCutts/posts/DCo2dur6HdC">my first marathon in San Francisco</a>. 2012 ended up being a blur: lots of work, plus trips and time with family. I still managed to run a couple more marathons and finish a <a href="http://toughmudder.com/">Tough Mudder</a> race back in Kentucky.</p>
<p>Which brings me to my big goal for 2013. On April 6th, 2013, I&#8217;m going to try to run 50 miles for the <a href="http://en.wikipedia.org/wiki/American_River_50_Mile_Endurance_Run">American River 50</a>. It&#8217;s an <a href="http://en.wikipedia.org/wiki/Ultramarathon">ultramarathon</a> from <a href="http://goo.gl/maps/FOdhF">Sacramento to Auburn</a> with flat ground for the first half and single-track dirt trails on the second half. The cutoff limit for finishing is 13 hours. As a running friend put it, &#8220;You really just need to make the 32 mile cutoff in 7.5 hours or so; after that you could walk the rest of the way!&#8221;</p>
<p>In theory, if you run the <a href="http://www.ar50mile.com/">American River 50</a> in 11 hours then you can qualify for the <a href="http://www.wser.org/">Western States 100-Mile Endurance Run</a>. But I&#8217;ve gotten a chance to run the trail half of the course a couple times now, and I don&#8217;t think there&#8217;s any way I can finish that fast. So I&#8217;m just shooting to finish in 13 hours. By the way, if you&#8217;re interested in ultramarathons (any race longer than a marathon) or trail running, there&#8217;s a great documentary about the 2010 Western States race called <a href="http://www.journeyfilm.com/servlet/the-53/Unbreakable--dsh--The-Western/Detail">Unbreakable</a>.</p>
<p>So that&#8217;s what I&#8217;ll be doing this weekend. Wish me luck, and if anyone want to suggest running music, please leave a comment pointing to a good <a href="http://www.youtube.com/watch?v=kK42LZqO0wA#t=0m10s">YouTube video</a> for running. Thanks!</p>
<div class="plusone"><g:plusone href="http://www.mattcutts.com/blog/a-big-challenge-running-a-50-mile-race/"></g:plusone></div>]]></content:encoded>
			<wfw:commentRss>http://www.mattcutts.com/blog/a-big-challenge-running-a-50-mile-race/feed/</wfw:commentRss>
		<slash:comments>28</slash:comments>
		</item>
		<item>
		<title>My Halloween costume for 2012: Matt Romney!</title>
		<link>http://www.mattcutts.com/blog/halloween-costume-mitt-romney/</link>
		<comments>http://www.mattcutts.com/blog/halloween-costume-mitt-romney/#comments</comments>
		<pubDate>Wed, 31 Oct 2012 16:34:43 +0000</pubDate>
		<dc:creator>Matt Cutts</dc:creator>
				<category><![CDATA[Fun]]></category>

		<guid isPermaLink="false">http://www.mattcutts.com/blog/?p=5449</guid>
		<description><![CDATA[My fellow Americans, I&#8217;d like to introduce my latest Halloween costume: Matt Romney! My five-point plan for the Mitt Romney Halloween costume went like this: Start with a suit and tie. Put a little silver in my sideburns. My wife used some silver and white eye shadow. Swoosh the hair up a little bit and [...]]]></description>
				<content:encoded><![CDATA[<p>My fellow Americans, I&#8217;d like to introduce my latest Halloween costume: Matt Romney!</p>
<p><center><br />
<img src="http://www.mattcutts.com/images/matt-romney.jpg" alt="Mitt Romney? No, it's Matt Romney!" /><br />
</center></p>
<p>My five-point plan for the Mitt Romney Halloween costume went like this:</p>
<ol>
<li>Start with a suit and tie.</li>
<li>Put a little silver in my sideburns. My wife used some silver and white eye shadow.</li>
<li>Swoosh the hair up a little bit and lock it in with hairspray.</li>
<li>Take off the glasses, and</li>
<li>Add a flag. Boom!</li>
</ol>
<p>This was a fun, easy, comfortable costume. I practiced a few of Mitt Romney&#8217;s catchphrases and I think people really enjoyed seeing &#8220;Matt Romney&#8221; around the Googleplex.</p>
<p>My wife and I are also trying something new for Halloween. I remember as a kid when I got a full-size candy bar for Halloween&#8211;it blew me away! I still remember those neighbors as really cool. Recently someone <a href="http://imgur.com/gallery/YDD1Y">reminded me of that experience</a>.</p>
<p>So this year, the first couple dozen kids who stop by our house are in for a nice treat:</p>
<p><center><br />
<img src="http://www.mattcutts.com/images/halloween-candy.jpg" alt="A lot of full-size Halloween candy." /><br />
</center></p>
<p>Happy Halloween, everyone! You might also enjoy seeing some of my other <a href="https://www.google.com/search?q=site%3Amattcutts.com+halloween">Halloween costumes</a>.</p>
<div class="plusone"><g:plusone href="http://www.mattcutts.com/blog/halloween-costume-mitt-romney/"></g:plusone></div>]]></content:encoded>
			<wfw:commentRss>http://www.mattcutts.com/blog/halloween-costume-mitt-romney/feed/</wfw:commentRss>
		<slash:comments>34</slash:comments>
		</item>
		<item>
		<title>Grow a moustache and fight cancer!</title>
		<link>http://www.mattcutts.com/blog/movember-mustache/</link>
		<comments>http://www.mattcutts.com/blog/movember-mustache/#comments</comments>
		<pubDate>Tue, 01 Nov 2011 18:16:49 +0000</pubDate>
		<dc:creator>Matt Cutts</dc:creator>
				<category><![CDATA[30 days]]></category>
		<category><![CDATA[Fun]]></category>

		<guid isPermaLink="false">http://www.mattcutts.com/blog/?p=5096</guid>
		<description><![CDATA[For my next 30 day challenge, I&#8217;ll be growing a mustache to raise awareness and money for men&#8217;s health issues, and specifically prostate cancer research. Men of search and SEO, please join our team. You can raise awareness, or raise cash. And it&#8217;s super simple: just don&#8217;t shave your moustache for 30 days. The name [...]]]></description>
				<content:encoded><![CDATA[<p>For my next 30 day challenge, I&#8217;ll be growing a mustache to raise awareness and money for men&#8217;s health issues, and specifically prostate cancer research. Men of search and SEO, <a href="https://www.movember.com/us/register/details/team_id/247596">please join our team</a>. You can raise awareness, or raise cash. And it&#8217;s super simple: just don&#8217;t shave your moustache for 30 days. The name of the event is <a href="http://movember.com/">Movember</a> and it should be a blast. Here&#8217;s <a href="http://us.movember.com/mospace/1467912/">my profile page</a>, for example.</p>
<p>To keep myself honest, here I am, clean-shaven, with a today&#8217;s issue of USA TODAY on November 1st:</p>
<p><center><img src="http://www.mattcutts.com/images/mattcutts-cleanshaven.jpg" alt="Matt Cutts, clean shaven on Nov. 1st" /></center></p>
<p>By the way: <strong>Kim Kardashian is getting divorced</strong>‽! I really thought they had a love for the ages.</p>
<p>This is going to be an extra-fun 30 day challenge because I&#8217;m joining up with <a href="https://twitter.com/#!/duaneforrester">Duane Forrester of Bing</a> and we&#8217;re both raising money for the cause. I have to warn Duane though: he might not realize how fast my moustache grows. For example, here I am just an hour after I shaved clean:</p>
<p><center><img src="http://www.mattcutts.com/images/mattcutts-cleanshaven-later.jpg" alt="Matt Cutts, just an hour later!" /></center></p>
<p>That&#8217;s right Duane, <strong>I can grow a moustache in an hour</strong>, so look out! <img src='http://www.mattcutts.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  By the way, thanks to <a href="http://michaelhalvorsen.com/2011/10/calling-search-marketers-participating-movember/">Mike Halvorsen</a> for asking a timely question about <a href="http://www.movember.com/">Movember</a> during our recent <a href="http://www.youtube.com/watch?v=R7Yv6DzHBvE">live Q&#038;A on YouTube</a>.</p>
<p>This should be quite a fun month:<br />
- If you&#8217;re a woman (or a man who can&#8217;t or won&#8217;t grow a moustache), you can still help out the cause by <a href="https://www.movember.com/us/donate/your-details/member_id/1467912">donating to our team</a>.<br />
- Men, I hope you will grow a moustache this month. A great cause like Movember only comes around once a year&#8211;<a href="http://us.movember.com/mospace/1467912/">why not join us</a>? All you have to do is <strong>not shave</strong>. It doesn&#8217;t get any easier than that.<br />
- The Twitter tag is <a href="https://twitter.com/#!/search/%23seostache">#seostache</a> if you want to root us on. I hope to see some serious stache from fellow people of search!</p>
<div class="plusone"><g:plusone href="http://www.mattcutts.com/blog/movember-mustache/"></g:plusone></div>]]></content:encoded>
			<wfw:commentRss>http://www.mattcutts.com/blog/movember-mustache/feed/</wfw:commentRss>
		<slash:comments>44</slash:comments>
		</item>
		<item>
		<title>Halloween costume: stickman from xkcd</title>
		<link>http://www.mattcutts.com/blog/halloween-costume-stick-man-xkcd/</link>
		<comments>http://www.mattcutts.com/blog/halloween-costume-stick-man-xkcd/#comments</comments>
		<pubDate>Mon, 31 Oct 2011 17:16:40 +0000</pubDate>
		<dc:creator>Matt Cutts</dc:creator>
				<category><![CDATA[Fun]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://www.mattcutts.com/blog/?p=5070</guid>
		<description><![CDATA[For Halloween this year I asked people on Google+ what I should be for Halloween, and someone suggested going as the blackhat stick man from xkcd. You know, this guy: That sounded like a good challenge. I finished the costume and taped a video, but unfortunately I didn&#8217;t have enough time to get the video [...]]]></description>
				<content:encoded><![CDATA[<p>For Halloween this year I <a href="https://plus.google.com/109412257237874861202/posts/PK8PtRyduC3">asked people on Google+</a> what I should be for Halloween, and someone suggested going as the blackhat stick man from <a href="http://xkcd.com/">xkcd</a>. You know, this guy:</p>
<p><center><img src="http://www.mattcutts.com/images/blackhat-stickman.png" alt="Black hat stick man from xkcd" /></center></p>
<p>That sounded like a good challenge. I finished the costume and taped a video, but unfortunately I didn&#8217;t have enough time to get the video to the quality level that I wanted. Here&#8217;s the video:</p>
<p><center><iframe width="640" height="360" src="http://www.youtube.com/embed/-d8O3j3YXIQ" frameborder="0" allowfullscreen></iframe></center></p>
<p>A couple quick things: 1) I know the video is cheesy and lo-fi, but that&#8217;s what I was going for. 2) With a little more time and more work on the video (e.g. better lighting, turning off automatic brightness on the video camera, a little more time spent on the greenscreen key) I think it could have been pretty great. But sometimes you run out of time, and October was a busy month. <img src='http://www.mattcutts.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Maybe I&#8217;ll write a bit more about the costume and the video later. Happy Halloween everyone!</p>
<div class="plusone"><g:plusone href="http://www.mattcutts.com/blog/halloween-costume-stick-man-xkcd/"></g:plusone></div>]]></content:encoded>
			<wfw:commentRss>http://www.mattcutts.com/blog/halloween-costume-stick-man-xkcd/feed/</wfw:commentRss>
		<slash:comments>31</slash:comments>
		</item>
		<item>
		<title>Halloween Pumpkin: Portal Turret!</title>
		<link>http://www.mattcutts.com/blog/halloween-pumpkin-portal-turret/</link>
		<comments>http://www.mattcutts.com/blog/halloween-pumpkin-portal-turret/#comments</comments>
		<pubDate>Mon, 24 Oct 2011 15:26:44 +0000</pubDate>
		<dc:creator>Matt Cutts</dc:creator>
				<category><![CDATA[Fun]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[How to]]></category>

		<guid isPermaLink="false">http://www.mattcutts.com/blog/?p=5056</guid>
		<description><![CDATA[I made a Portal turret for my Halloween pumpkin! I was trying to think of things to carve: vampire Android? R2-D2? Zoidberg? Then I thought: I could do a character from Portal 2! I was going to carve something like GLaDOS or Wheatley, but then I realized that a portal turret would be perfect: To [...]]]></description>
				<content:encoded><![CDATA[<p>I made a Portal turret for my Halloween pumpkin! I was trying to think of things to carve: vampire Android? R2-D2? Zoidberg? Then I thought: I could do a character from Portal 2! I was going to carve something like GLaDOS or Wheatley, but then I realized that a <a href="http://www.google.com/search?tbm=isch&#038;hl=en&#038;source=hp&#038;biw=1214&#038;bih=785&#038;q=portal+turret&#038;gbv=2&#038;oq=portal+turret&#038;aq=f&#038;aqi=g10&#038;aql=1&#038;gs_sm=e&#038;gs_upl=1571l3480l0l3685l13l11l0l3l3l1l206l1209l2.4.2l8l0">portal turret</a> would be perfect:</p>
<p><center><iframe width="640" height="480" src="http://www.youtube.com/embed/bJuJ8M3zuUw" frameborder="0" allowfullscreen></iframe></center></p>
<p>To make the glowing red eye, I punched a small hole in the pumpkin, taped an LED to a battery, and pushed the LED from the center of the pumpkin through the small hole. I thought about doing an actual red laser, but 1) I don&#8217;t want to blind any kids walking by my pumpkin, and 2) laser beams aren&#8217;t visible unless there&#8217;s fog or smoke or something for the beam to hit.</p>
<p>To make the side &#8220;gun&#8221; sections of the pumpkin, I had a small dowel rod lying around, so I just cut two small stakes from the dowel rod and jammed them into the pumpkin sides. It&#8217;s a bit rickety, but it works. For the video, I played some turret sound effects and moved my red laser over the pumpkin as if another turret was locking onto it.</p>
<p>I didn&#8217;t want to take long to carve my pumpkin. I finished it in maybe an hour, but check out this really <a href="http://neil.fraser.name/news/2010/10/28/">elaborate pumpkin that someone else did</a>. And it turns out that they work at Google too!</p>
<p>I like how my pumpkin came out overall:</p>
<p><center><img src="http://www.mattcutts.com/images/turret-pumpkin-halloween-portal.jpg" alt="Portal 2 turret pumpkin for Halloween!" /></center></p>
<p>Happy Halloween, and I hope you&#8217;re getting creative with your pumpkin carving!</p>
<div class="plusone"><g:plusone href="http://www.mattcutts.com/blog/halloween-pumpkin-portal-turret/"></g:plusone></div>]]></content:encoded>
			<wfw:commentRss>http://www.mattcutts.com/blog/halloween-pumpkin-portal-turret/feed/</wfw:commentRss>
		<slash:comments>36</slash:comments>
		</item>
		<item>
		<title>Good Books for Summer Reading?</title>
		<link>http://www.mattcutts.com/blog/good-summer-books/</link>
		<comments>http://www.mattcutts.com/blog/good-summer-books/#comments</comments>
		<pubDate>Mon, 27 Jun 2011 15:54:54 +0000</pubDate>
		<dc:creator>Matt Cutts</dc:creator>
				<category><![CDATA[Books/Magazines]]></category>
		<category><![CDATA[Fun]]></category>

		<guid isPermaLink="false">http://www.mattcutts.com/blog/?p=5000</guid>
		<description><![CDATA[It&#8217;s summertime, so I&#8217;m looking for a bunch of fun books to read. I just ordered two books by John Scalzi (Fuzzy Nation and The God Engines), two books by Dean Karnazes because I&#8217;m training to run a marathon (Run!: 26.2 Stories of Blisters and Bliss and Ultramarathon Man: Confessions of an All-Night Runner), plus [...]]]></description>
				<content:encoded><![CDATA[<p>It&#8217;s summertime, so I&#8217;m looking for a bunch of fun books to read. I just ordered two books by John Scalzi (<a href="http://www.amazon.com/gp/product/0765328542/">Fuzzy Nation</a> and <a href="http://www.amazon.com/gp/product/1596062991/">The God Engines</a>), two books by Dean Karnazes because I&#8217;m training to run a marathon (<a href="http://www.amazon.com/gp/product/1605292796/">Run!: 26.2 Stories of Blisters and Bliss</a> and <a href="http://www.amazon.com/gp/product/B000HT2OXU/">Ultramarathon Man: Confessions of an All-Night Runner</a>), plus <a href="http://www.amazon.com/gp/product/031261246X/">Zero Day: A Novel</a> by Mark Russinovich. I&#8217;ll let you know how they turn out.</p>
<p>I&#8217;ve gotten some <a href="http://www.mattcutts.com/blog/vacation-books/">great</a> <a href="http://www.mattcutts.com/blog/good-summer-vacation-books/">suggestions</a> for <a href="http://www.mattcutts.com/blog/best-books-to-read-in-2008/">good books</a> <a href="http://www.mattcutts.com/blog/best-books-to-read/">to read</a> in <a href="http://www.mattcutts.com/blog/good-books-to-read/">previous years</a>. Here&#8217;s how I expressed my summertime reading preferences early on:</p>
<blockquote><p>Okay, I’m looking for fun, light reading for my vacation. I don’t want search stuff, I don’t want heavy reading, I don’t want geopolitics or history.</p>
<p>Things like The Curious Incident of the Dog in the Night-Time. Or Terry Pratchett. Or early William Gibson. Cheesy cyberpunk if they don’t get the computer stuff too wrong. Neil Gaiman. Transmetropolitan.</p></blockquote>
<p>Based on that, what books would you recommend for fun summer reading?</p>
<div class="plusone"><g:plusone href="http://www.mattcutts.com/blog/good-summer-books/"></g:plusone></div>]]></content:encoded>
			<wfw:commentRss>http://www.mattcutts.com/blog/good-summer-books/feed/</wfw:commentRss>
		<slash:comments>193</slash:comments>
		</item>
		<item>
		<title>Announcing the winners of the Kinect contest</title>
		<link>http://www.mattcutts.com/blog/kinect-contest-winners/</link>
		<comments>http://www.mattcutts.com/blog/kinect-contest-winners/#comments</comments>
		<pubDate>Sat, 29 Jan 2011 22:42:25 +0000</pubDate>
		<dc:creator>Matt Cutts</dc:creator>
				<category><![CDATA[Fun]]></category>
		<category><![CDATA[Gadgets/Hack]]></category>
		<category><![CDATA[Linux/Ubuntu]]></category>

		<guid isPermaLink="false">http://www.mattcutts.com/blog/?p=4689</guid>
		<description><![CDATA[When the Kinect launched, Adafruit Industries ran a contest for the first person who released open-source code to extract video and depth from the Kinect. Adafruit also ended up donating to the EFF after the contest was over. When I was in grad school, I would have loved to have a device like the Kinect. [...]]]></description>
				<content:encoded><![CDATA[<p>When the <a href="http://www.xbox.com/en-US/kinect">Kinect</a> launched, Adafruit Industries ran a <a href="http://www.adafruit.com/blog/2010/11/04/the-open-kinect-project-the-ok-prize-get-1000-bounty-for-kinect-for-xbox-360-open-source-drivers/">contest for the first person who released open-source code</a> to extract video and depth from the Kinect. Adafruit also ended up <a href="http://www.adafruit.com/blog/2010/11/10/we-have-a-winner-open-kinect-drivers-released-winner-will-use-3k-for-more-hacking-plus-an-additional-2k-goes-to-the-eff/">donating to the EFF</a> after the contest was over.</p>
<p>When I was in grad school, I would have loved to have a device like the Kinect. So I <a href="http://www.mattcutts.com/blog/open-kinect-contest/">decided to run my own contest</a>:</p>
<blockquote><p>
The first $1000 prize goes to the person or team that writes the coolest open-source app, demo, or program using the Kinect. The second prize goes to the person or team that does the most to make it easy to write programs that use the Kinect on Linux.
</p></blockquote>
<p>It&#8217;s time to announce the prize winners. There&#8217;s been so many cool things going on with the Kinect that instead of two winners, I ended up declaring seven $1000 winners.</p>
<p><strong>Open-source Application or Demo</strong></p>
<p>I picked two winners in this category. </p>
<ul>
<li><a href="http://twitter.com/#!/tomoto335">Tomoto Washio</a> for <a href="http://code.google.com/p/kinect-ultra/">Kinect Ultra Seven</a>. This program lets you transform into <a href="http://en.wikipedia.org/wiki/Ultra_Seven">Ultra Seven</a> with lots of different powers. It&#8217;s a really fun demo&#8211;check out the <a href="http://code.google.com/p/kinect-ultra/">videos</a>:<br />
<object width="640" height="390"><param name="movie" value="http://www.youtube.com/v/RUG-Uvq-J-w&#038;rel=0&#038;hl=en_US&#038;feature=player_embedded&#038;version=3"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://www.youtube.com/v/RUG-Uvq-J-w&#038;rel=0&#038;hl=en_US&#038;feature=player_embedded&#038;version=3" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="390"></embed></object></li>
<li><a href="http://technofetishist.info/">Tiago Serra</a> and the <a href="http://www.sensebloom.com/">SenseBloom team</a> for <a href="http://www.vimeo.com/17966780">XBox Kinect OSCeleton</a>. The application sends 3D tracked body skeletons through the OSC protocol. Essentially, it’s a do-it-yourself motion capture system:<br />
<iframe src="http://player.vimeo.com/video/17966780" width="640" height="390" frameborder="0"></iframe></li>
</ul>
<p><strong>People that have made it easier to write programs for the Kinect</strong></p>
<p>A ton of people have made the Kinect more accessible on Linux or helped the Kinect community. I ended up picking five winners.</p>
<ul>
<li><a href="http://marcansoft.com/blog/">Hector Martin</a></li>
<li><a href="http://sourceforge.net/users/arneb/">Arne Bernin</a></li>
<li><a href="http://www.nonpolynomial.com/">Kyle Machulis</a> </li>
<li><a href="http://brandynwhite.com/">Brandyn White</a></li>
<li><a href="http://nui.joshland.org/">Joshua Blake</a></li>
</ul>
<p>All of these individuals pushed things forward so others can develop great programs on the Kinect more easily. Congratulations to all the winners, and to everyone doing neat things with their Kinect!</p>
<div class="plusone"><g:plusone href="http://www.mattcutts.com/blog/kinect-contest-winners/"></g:plusone></div>]]></content:encoded>
			<wfw:commentRss>http://www.mattcutts.com/blog/kinect-contest-winners/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>My predictions for 2009</title>
		<link>http://www.mattcutts.com/blog/2009-predictions/</link>
		<comments>http://www.mattcutts.com/blog/2009-predictions/#comments</comments>
		<pubDate>Tue, 04 Jan 2011 01:13:27 +0000</pubDate>
		<dc:creator>Matt Cutts</dc:creator>
				<category><![CDATA[Fun]]></category>

		<guid isPermaLink="false">http://www.mattcutts.com/blog/?p=4573</guid>
		<description><![CDATA[Everybody is throwing out predictions for 2011, so I thought I&#8217;d do something different. Here are some of my predictions for 2009. Wha wha wha?? That&#8217;s right: 2009. As 2008 drew to a close, I jotted down some predictions, but I never hit the &#8220;publish&#8221; button. Some of them weren&#8217;t fully-formed (or even complete sentences!), [...]]]></description>
				<content:encoded><![CDATA[<p>Everybody is throwing out predictions for 2011, so I thought I&#8217;d do something different. Here are some of my predictions for 2009.</p>
<p>Wha wha wha?? That&#8217;s right: <strong>2009</strong>. As 2008 drew to a close, I jotted down some predictions, but I never hit the &#8220;publish&#8221; button. Some of them weren&#8217;t fully-formed (or even complete sentences!), so I won&#8217;t print all of them. But some are interesting. Here are a few:</p>
<p>- &#8220;Market share for IE falls below 50% in some countries in Europe.&#8221; <strong>TRUE</strong> according to <a href="http://gs.statcounter.com/#browser-eu-monthly-200812-201012">StatCounter</a>. Here&#8217;s a graph:</p>
<p><center><img src="http://www.mattcutts.com/images/ie-market-share.png" alt="IE Market share in Europe" /></center></p>
<p>- &#8220;Cuil will be acquired by Baidu.&#8221; Definitely a <strong>MISS</strong>. This was an educated guess on my part. I didn&#8217;t think Cuil would do well, and someone named Greg Penner was on the <a href="http://venturebeat.com/2008/09/12/search-engine-cuil-is-valued-at-absurdly-high-level-of-200m-despite-flop/">board of Cuil and also a board member of Baidu</a>. </p>
<p>- &#8220;More people will realize the inevitable truth that Bill Gates saw years ago and that Apple has chased since the introduction of the ROKR: of all the devices in your pocket, the only one you&#8217;re not willing to give up is your phone. Therefore, all personal gadgets will eventually be subsumed by your phone. Camera? Already part of your phone. Pen and notebook? Quite close. Video camera? Almost there, give it a couple more years. Car keys, wallet? It will come. In five years, your phone will have fingerprint authentication and be able to start your car or pay for groceries with contactless/RFID chips. It&#8217;s all coming. In 10 years you&#8217;ll use your phone to authenticate yourself at the doctor, authenticate prescriptions, and store your personal health history, not to mention all your desktop preferences, bookmarks, browser add-ons, and keys to which music you have permission to stream or download from the cloud.&#8221; I call this <strong>TRUE</strong>. Most people now agree that your phone is a personal computer in your pocket. Back in 2008, not everyone realized this.</p>
<p>- &#8220;By the way, if anyone figures out how to lick the problem of satisfactory output/input, e.g. heads-up displays or retinal lasers and a virtual keyboard or something with as high a bandwidth as normal typing (and they will), your computer will migrate into your phone. Solving the input/output problem is one of the most important problems for the next decade. Witness the efforts that companies have put into pen-based computing and voice recognition, for example. Re-examine the success of some major products in the new light of better input/output mechanisms:<br />
- Google Maps: direct manipulation<br />
- iPhone: touch and multitouch<br />
- Wii: accelerometer and optical sensors<br />
Smart computer scientists and engineers should be paying as much attention to sonar, inertial, and optical sensing technology as they do to the change from hard-drive platters to solid-state storage.&#8221; Um. This one was more of a rant then a prediction.</p>
<p>- Here&#8217;s what I wrote back in 2008: &#8220;Canny self-promoters plus a few genuine believers will jump on the Facebook backlash early, either for privacy/personal information or for keeping Facebook&#8217;s data to itself. But unless the site makes a Beacon-level mistake, Facebook will experience massive growth in 2009, and the Facebook backlash won&#8217;t begin in earnest until 2010 or 2011.&#8221; Right now it feels true. Maybe we&#8217;ll check back after 2011 to see whether that&#8217;s accurate. </p>
<p>- &#8220;Semantic web technology won&#8217;t take off, at least not in the generally-accepted ways.&#8221; I&#8217;m going to call that <strong>TRUE</strong>. Remember how Web 3.0 was going to be the semantic web? You don&#8217;t hear that meme as much anymore.</p>
<p>- &#8220;The most interesting &#8220;savviness&#8221; test for me will be which of Yahoo, Facebook, or Microsoft let you freely retrieve your email with them into Gmail. Odds are that none will allow it, but if I had to pick one, it would be Yahoo.&#8221; A double <strong>MISS</strong>, because Hotmail did allow POP3 access in 2009. Meanwhile, I believe Yahoo still wants <a href="http://overview.mail.yahoo.com/enhancements/mailplus">$20/year for POP access</a>. I don&#8217;t think you can fetch Facebook mail using POP or IMAP.</p>
<p>- &#8220;Vanity iPhone apps.&#8221; This was a prediction that individuals would commission their own personal iPhone apps that collected their blog posts, tweets, photos, etc. The other part of the idea was that conferences would commission conference-specific apps. While a few savvy conferences have <a href="http://sxsw.com/node/4200">done this</a>, I wouldn&#8217;t call either trend widespread. So it&#8217;s a <strong>MISS</strong>.</p>
<p>- &#8220;In the same way that millions of people dropped their land-line for a cell phone connection, thousands of people will attempt to go digital by scanning their photos, ripping their CDS, digitizing their old VHS tapes, and scanning their papers.&#8221; <strong>MISS</strong>, I did a lot of those things in 2009, but average people didn&#8217;t. The brunt of the analog to digital migration will happen as data is &#8220;born digital&#8221; from the beginning. Millions of people will have physical photos stuck in boxes that they don&#8217;t look at much, plus digital photos on Facebook, Flickr, or Picasa.</p>
<p>- &#8220;Google Chrome becomes one of Google&#8217;s most successful products.&#8221; I think this is <strong>TRUE</strong>. (Remember, this prediction was less than four months after Chrome was introduced in September, 2008. Back then I was going out more on a limb.)</p>
<p>- &#8220;Breakthroughs in green technology push renewable energy closer to the mainstream, but not into the mainstream. As many people focus their attention in this area, unexpected surprises abound, such as the do-it-yourself solar roof installation or practical solar shingles. Expect to see more green technology scams as well though.&#8221; Meh. <strong>MISS</strong>.</p>
<p>- &#8220;Apple will weather the 2009 recession much better than most people expect as people continue to buy with their heart, not always with their head. More people will realize that &#8216;Once you go Mac, you never go back.&#8217; &#8221; I&#8217;m calling it <strong>TRUE</strong>. Apple radically outperformed the Dow in 2009. Apple has done very well competing against MSFT in operating systems.</p>
<p>- &#8220;Obama&#8217;s administration mandates that all federal buildings much use Compact Fluorescent Lightbulb (CFL) technology before his presidential term ends.&#8221; I&#8217;ve still got at least two more years on this prediction. If the mandate is for LED lightbulbs, I&#8217;m still counting it.</p>
<p>- I thought some public officials would start lifestreaming as the ultimate endorsement of transparency. That&#8217;s a <strong>MISS</strong>. Chalk it up to believing that politics would be different after the 2008 election. Oh well.</p>
<p>- &#8220;Microsoft will demo a snazzy new phone operating system, but it won&#8217;t get much traction, either because a) it&#8217;s not as snazzy as the iPhone or b) people don&#8217;t trust it to be as open as other mobile operating systems.&#8221; Given that this was a prediction for 2009, I&#8217;ll call it <strong>TRUE</strong>. Microsoft didn&#8217;t get a lot of phone traction in 2009.</p>
<p>- &#8220;Someone not officially associated with Android will work on an &#8220;iPhone skin&#8221; for Android to make Android look like an iPhone.&#8221; <strong>TRUE</strong>. Looks like that did <a href="http://www.ubergizmo.com/2009/04/iphone-interface-skin-for-android/">happen in 2009</a>.</p>
<p>- &#8220;Twitter&#8217;s 2009 business model consists of premium features that either individuals can pay for (at a nominal rate such as $1/month or $10/year) or that businesses can set up for self-contained twittering. The premium features include richer API access as well as some new features, such as the ability to save tweets to be posted in the future or periodically.&#8221; That, my friends, is a <strong>MISS</strong>. Although Twitter is now <a href="http://gnip.com/twitter">charging for richer access to Twitter data</a>, so maybe not a horrible miss.</p>
<p>- &#8220;Hacking of PC clients will decrease, but hackers will shift their sites to web server software. Massive databases of cross-site scripting attacks will be traded in the underground. Script kiddies will launch dictionary attacks. Anyone that writes their own web server software will probably be at a high risk of being hacked.&#8221; Overall I&#8217;m going to call this <strong>TRUE</strong>. As individual PCs become more secure, there&#8217;s a multi-year trend toward <a href="http://www.wired.com/threatlevel/2010/12/gawker-hacked/">hacking webservers</a> instead. I fear we&#8217;re just at the beginning of this.</p>
<p>- &#8220;When Android opens premium apps, one of the big controversies will be developers who take great premium-app ideas for the iPhone and rewrite the ideas behind the app for Android, but without the permission of the iPhone developer. Expect flashlights, lighters, beer, farting applications, goldfish, etc.&#8221; I&#8217;m not sure if this is <strong>TRUE</strong> or a <strong>MISS</strong>. I haven&#8217;t read a lot of complaints from iPhone app developers about Android app developers stealing their idea and writing their own apps.</p>
<p>- &#8220;Multiple people write a bit of JavaScript that site owners can add to their page to guilt IE6 users to upgrade to a new browser. Any browser, just something that was released after 2001 (IE6 was released in 2001?!?). The JavaScript code becomes a viral sensation and sweeps across the net. Whoever authors or hosts this JavaScript gains status around the web. Through the collective work of a bunch of savvy webmasters, SEOs, and site owners, IE6&#8242;s market share drops to 5% in some markets by the end of the year.&#8221; IE6 is slowly riding into the sunset, but call it a <strong>MISS</strong>. A few businesses will probably be running IE6 a decade from now for their internal apps.</p>
<p>- &#8220;eBay introduces spell correction for search queries which delivers a small boost for their profits.&#8221; I&#8217;m going to call this <strong>TRUE</strong> because the search [ipod touc] returns &#8220;Did you mean: ipod touch?&#8221; at the top of the eBay&#8217;s results now.</p>
<p>Okay, it&#8217;s your turn. Which of your predictions for 2009 or 2010 were spot on or off-base?</p>
<div class="plusone"><g:plusone href="http://www.mattcutts.com/blog/2009-predictions/"></g:plusone></div>]]></content:encoded>
			<wfw:commentRss>http://www.mattcutts.com/blog/2009-predictions/feed/</wfw:commentRss>
		<slash:comments>52</slash:comments>
		</item>
		<item>
		<title>Open Kinect Contest: $2000 in prizes</title>
		<link>http://www.mattcutts.com/blog/open-kinect-contest/</link>
		<comments>http://www.mattcutts.com/blog/open-kinect-contest/#comments</comments>
		<pubDate>Thu, 11 Nov 2010 17:41:07 +0000</pubDate>
		<dc:creator>Matt Cutts</dc:creator>
				<category><![CDATA[Fun]]></category>
		<category><![CDATA[Gadgets/Hack]]></category>
		<category><![CDATA[Linux/Ubuntu]]></category>

		<guid isPermaLink="false">http://www.mattcutts.com/blog/?p=4442</guid>
		<description><![CDATA[I&#8217;m starting a contest for people that do cool things with a Kinect. See the details below. Before I joined Google, I was a grad student interested in topics like computer vision, motion self-tracking, laser scanners&#8211;basically any neat or unusual sensing device. That&#8217;s why I was so excited to hear about the Kinect, which is [...]]]></description>
				<content:encoded><![CDATA[<p>I&#8217;m starting a contest for people that do cool things with a Kinect. See the details below.</p>
<p><center><img src="http://www.mattcutts.com/images/open-kinect.jpg" alt="Open Kinect Logo" /></center></p>
<p>Before I joined Google, I was a grad student interested in topics like computer vision, motion self-tracking, laser scanners&#8211;basically any neat or unusual sensing device. That&#8217;s why I was so excited to hear about the <a href="http://en.wikipedia.org/wiki/Kinect">Kinect</a>, which is a low-cost ($150) peripheral for the <a href="http://www.xbox.com/">Xbox</a>. The output from a Kinect includes:<br />
- a 640&#215;480 color video stream.<br />
- a 320&#215;240 <strong>depth</strong> stream. Depth is recovered by projecting invisible infrared (IR) dots into a room. You should watch this <a href="http://www.youtube.com/watch?v=nvvQJxgykcU">cool video to see how the Kinect projects IR dots across a room</a>. Here&#8217;s a single frame from the video:<br />
<center><img src="http://www.mattcutts.com/images/ir-projection.jpg" alt="IR Projection" /></center><br />
but you should really watch the whole video to get a feel for what the Kinect is doing.<br />
- the Kinect has a 3-axis accelerometer.<br />
- the Kinect also has a controllable motor to tilt up and down plus four microphones.</p>
<p>What&#8217;s even better is that people have figured out how to access data from the Kinect without requiring an Xbox to go with it. In fact, <a href="http://www.adafruit.com/blog/2010/11/10/we-have-a-winner-open-kinect-drivers-released-winner-will-use-3k-for-more-hacking-plus-an-additional-2k-goes-to-the-eff/">open drivers for the Kinect have now been released</a>. The always-cool <a href="http://www.adafruit.com/">Adafruit Industries</a>, which offers all sorts of excellent do-it-yourself electronics kits, sponsored a <a href="http://www.adafruit.com/blog/2010/11/04/the-open-kinect-project-the-ok-prize-get-1000-bounty-for-kinect-for-xbox-360-open-source-drivers/">contest to produce open-source drivers for the Kinect</a>:</p>
<blockquote><p>First person / group to get RGB out with distance values being used wins, you’re smart – you know what would be useful for the community out there. All the code needs to be open source and/or public domain.</p></blockquote>
<p>Sure enough, within a few days, the contest was won by <a href="http://marcansoft.com/blog/">Héctor Martín Cantero</a>, who is actually rolling his reward into tools and devices for fellow white-hat hackers and reverse engineers that he works with, which is a great gesture. Okay, so where are we now? If I were still in grad school, I&#8217;d be incredibly excited&#8211;there&#8217;s now a $150 off-the-shelf device that provides depth + stereo and a lot more.</p>
<p><strong>It&#8217;s time for a new contest</strong></p>
<p>I want to kickstart neat projects, so I&#8217;m starting my own contest with $2000 in prizes. There are two $1000 prizes. The first $1000 prize goes to the person or team that writes the coolest open-source app, demo, or program using the Kinect. The second prize goes to the person or team that does the most to make it easy to write programs that use the Kinect on Linux.</p>
<p>Enter the contests by leaving a comment on this blog post with a link to your project, along with a very-short description of what your project does or your contribution to Kinect hacking. The contest runs until the end of the year: that&#8217;s Dec. 31st, 2010 at midnight Pacific time. I may ask for outside input on who should be the winner, but I&#8217;ll make the final call on who wins.</p>
<p>To get your ideas flowing, I&#8217;ll offer a few suggestions. Let&#8217;s start with the second contest: making the Kinect more accessible. In my ideal world, would-be hackers would type a single command-line, e.g. &#8220;sudo apt-get install openkinect&#8221; and after that command finishes, several tools for the Kinect would be installed. Maybe a &#8220;Kinect snapshot&#8221; program that dumps a picture, a depth map, and the accelerometer values to a few files. Probably some sort of openkinect library plus header files so that people can write their own Kinect programs. I would *love* some bindings to a high-level language like Python so that would-be hobbyists can write 3-4 lines of python (&#8220;import openkinect&#8221;) and start trying ideas with minimal fuss. To win the second contest, you could write any of these libraries, utilities, bindings or simplify installing them on recent versions of Linux/Ubuntu (let&#8217;s say 10.04 or greater).</p>
<p>Okay, how about some ideas for cool things to do with a Kinect? I&#8217;ll throw out a few to get you thinking.</p>
<p><strong>Idea 1</strong>: A <a href="http://images.google.com/images?q=minority+report+ui">Minority Report-style user interface</a> where you can open, move, and close windows with your movements.</p>
<p><strong>Idea 2</strong>: What if you move the Kinect around or mount it to something that moves? The Kinect has an accelerometer plus depth sensing plus video. That might be enough to reconstruct the position and pose of the Kinect as you move it around. As a side benefit, you might end up reconstructing a 3D model of your surroundings as a byproduct. The folks at UNC-Chapel Hill where I went to grad school built a <a href="http://www.cs.unc.edu/~tracker/">wide-area self-tracker</a> that relied on a <a href="http://www.cs.unc.edu/~welch/kalman/">Kalman filter</a> to estimate a person&#8217;s position and pose. See this <a href="http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.46.5550&#038;rep=rep1&#038;type=pdf">PDF paper</a> for example.</p>
<p><strong>Idea 3</strong>: Augmented reality. Given a video stream plus depth, look for discontinuities in depth to get a sort of 2.5 dimensional representation of a scene with layers. Then add new features into the video stream, e.g. a bouncing ball that goes between you and the couch, or behind the couch. The pictures at the end of <a href="http://research.microsoft.com/pubs/75684/Szeliski-Multimedia99.pdf">this PDF paper</a> should get you thinking.</p>
<p><strong>Idea 4</strong>: Space carver. Like the previous idea, but instead of learning the 2.5D layers of a scene from a singe depth map, use the depth map over time. For example, think about a person walking behind a couch. When you can see the whole person, you can estimate how big they are. When they walk behind the couch, they&#8217;re still just as big, so you can guess that the couch is occluding that person and therefore the couch is in front of the person. Over time, you could build up much more accurate discontinuities and layers for a scene by watching who walks behind or in front of what.</p>
<p><strong>Idea 5</strong>: A 3D Hough transform. A vanilla Hough transform takes a 2D image, looks for edges in the image, and then runs some computation to <a href="http://www.google.com/images?q=hough+transform+lines">determine lines in the image</a>. A <a href="http://en.wikipedia.org/wiki/Hough_transform#Detection_of_3D_objects_.28Planes_and_cylinders.29">3D Hough transform</a> finds planes in range data. I&#8217;ve done this with laser rangefinder data and it works. So you could take a depth data from a Kinect and reconstruct planes for the ground or walls in a room.</p>
<p><strong>Idea 6</strong>: What if you had two or more Kinects? You&#8217;d have depth or range data from the viewpoint of each Kinect and you could combine or intersect that data. If you put two Kinects at right angles (or three or four Kinects around a room, all pointing into the room), could you reconstruct a true 3D scene or 3D object from intersecting the range data from each Kinect?</p>
<p>I hope a few of these ideas get you thinking about all the fun things you could do with a Kinect. I&#8217;m looking forward to seeing what cool ideas, applications, and projects people come up with!</p>
<div class="plusone"><g:plusone href="http://www.mattcutts.com/blog/open-kinect-contest/"></g:plusone></div>]]></content:encoded>
			<wfw:commentRss>http://www.mattcutts.com/blog/open-kinect-contest/feed/</wfw:commentRss>
		<slash:comments>88</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using n/a

 Served from: www.mattcutts.com @ 2013-05-23 04:07:17 by W3 Total Cache -->