Monday, February 25, 2013

Raspberry Pi (Model B 512MB)


Raspberry Pi

Quite a few friends and co workers have picked up one in the past year.  I figure it was time for me to check this neat little device out.  It's basically a 700mhz ARM11 based computer than can run linux and a few other things.  The Broadcom BCM2835 is pretty capable at 3D (xbox 1 levels) and hardware video decoding (1080p h.264) though the cpu is dog slow (300mhz pentium II levels).  If you go in with proper expectations for basically what is a $35 computer you'll come out pleasantly surprised.

I'm going to basically walk through everything I did to get things up and running, all the gotchas I ran into, and all the fun things I got working.

Hardware
- I picked up mine here in the USA from element14 model B 512MB for $35.  They were a pleasure to deal with.  I got it in about 3 weeks from ordering.  Yes, things are still back ordered even after a year but not as bad.  I also picked up this very nice clear enclosure for around $7.  Shipping was very reasonable.  If you don't want to wait amazon has a few sellers with prime for around $50 so you pay about a $15 premium.  My goal was to put this together as cheap as possible and try to use as many parts as I had lying around.
- You will need some SDHC cards (class 10 preferably since you want some fast ones) for persistent storage.  Everything boots off of SDHC so it's easy enough to try different images and builds.  I picked up two 16gb sony class 10 sdhc cards for around $8 each.  16GB seems to be plenty.
- Things I used that I already had:
- micro usb cable for power.
- USB charger with at least 700ma output.  I found some logitech one I had lying around that put out 1A so it worked fine.
- ethernet cable (always have a stack of extras from monoprice)
- hdmi cable (always have a stack of extras from monoprice)
- logitech cordless mediaboard .  Luckily this keyboard mouse dongle didn't draw too much power and worked fine with the Raspberry Pi (raspi) otherwise you might need a powered usb hub.
- here is what the lights mean:

PWR = 5V input power present
OK = SD card access indicator
FDX = Ethernet Full Duplex connection
LNK = Ethernet connection present
10M = 100 Mbps Ethernet connection


Total cost: $65 (including shipping)

I highly recommend you buy the additional codecs (about $5) if you plan to use this thing at all as a media player.  Do it early since it can take a few days to receive the codes by email.  You'll have to get at least raspbian up and running though to grab your serial number.

Raspbian "wheezy"
- This is the official linux (debian) distro for the raspi.  Grab it here.  Follow the pdf quick start guide.  It's pretty straight forward.  The link for Win32 Disk Imager is out of date.  You might also want to grab SD Formatter first and format the sd card before writing the image.  In Rasp-config make sure you set your keyboard to usa.  By default it is UK so @ and " are swapped.  In fact I would go through all the options.  I would change memory split to 128mb for gpu and change the password for user pi.  I also disabled overscan.  After a reboot or two you should be up and running.
sudo halt (properly shut down before unplugging)
sudo reboot
startx (start up lxde window environment)
- I had some intermittent hdmi issues but this seemed to fix it:
cd /boot
sudo nano config.txt
made the following changes:
hdmi_force_hotplug=1
config_hdmi_boost=4
- Mounting Network shares.  Just make sure you properly escape spaces in your share name when editing fstab.
- Here is a nice beginners guide.  You will want to do your updates:
sudo apt-get update
sudo apt-get update
sudo apt-get dist-upgrade
sudo rpi-update (update the firmware).
- I also installed tightvnc and have it auto start from that guide.  Tight vnc from windows worked pretty well. I also tried ssh with putty which worked fine too.  Handy if something goes horribly wrong and you need to remote in and shutdown the raspi nicely.
- Install libreoffice from the official pi store.
sudo apt-get install hunspell (get spell checking working)
- Install Minecraft.  It runs pretty well though draw distances are very short.
- Install chromium.   There is no flash support since flash for arm linux was never developed.  Browsing is painfully slow for the most part.  Don't even try gmail unless you use the basic html version.
- pretty good email client:
sudo apt-get install claws-mail (it will be under internet in lxde)
- Install quake 3 arena:
http://www.raspbian.org/RaspbianQuake3
I grabbed the pak files from
http://blog.sheasilverman.com/2012/07/raspbian-on-raspberry-pi-mame-mess-quake3-neogeo-and-cave-story-binaries/
The binary in that zip didn't work for me.  I had to compile it myself as documented in the first link.  It takes about an hour.  It runs incredibly smooth at 1080p.  I was quite impressed.
- Tried retroPi.  Building from source takes a day.  I found it a bit of a confusing mess and haven't quite gotten anything to work with it.  I would probably hold off on this.
- installed XBMC on raspbian.  It works for the most part.  There are some quirks like I can't actually type with the keyboard though keyboard navigation works.  I just can't type to enter stuff like share credentials.  I had to use the mouse and on screen keyboard.  I can't figure out how to shutdown back to the command line.  I can basically shutdown the raspi or reboot it.  1080p mkv's are stuttery.  Good thing there is a better way to run XBMC (see below).
- Installed vlc but not really worth it since it doesn't support hardware acceleration. OMXplayer is an included command line video player that supports hw acceleration but I didn't mess with it.  The idea of a command line video player sounds painful to use.
- You can also backup your sd card to an image file using win32 disk imager especially if you've spent several hours tweaking things.

Mame
- This is an image which you can expand using raspi-config:
http://blog.sheasilverman.com/2013/01/pimame-0-5-beta-release/
It works pretty well.  I loaded a few roms but you have to stick to the older games because of the limited cpu.

openELEC (XBMC)
- After researching a bit this is supposed to be the most optimized version of xbmc for raspi.  I installed this on a 2GB sd card.  You really don't need much space:
http://squirrelhosting.co.uk/hosting-blog/hosting-blog-info.php?id=9
- It works quite well out of the box.  I mounted the sd card in windows and modified the config.txt file (use notepad++) with my codec serial codes to enable vc1 and mpeg hw decoding.  This is very handy if you play mpg/mpeg2/wmv files.  It works great with hdhomerun recorded mpeg2 .ts files.  They play back very smoothly.
- Go under settings | appearance and make sure you have the right region set so the clock is right.
- Enable air play.  I was able to air play youtube from my iphone 5.  Performance was good.
- Other plugins work quite well like youtube and even twitch.tv.  Dig a little and you'll find all sorts of umm less official plugins, and you can even get pandora working.
- Everything played great off of network shares with full 5.1 bitstream audio output.  For mkv h.264, .ts, mpeg, avi, xvid everything played very smoothly even 1080p mkv.  The UI is a bit sluggish but actual playback was great.  Codec support is a bit more hit and miss though.  One wmv I tried had static sound, same with a flv. DVD ISO did NOT work for me even with the mpeg2 codec enabled.  But for the major codecs and containers it seems to do pretty well.
- photos and mp3s worked fine.
- subtitles are handled well
- the official xbmc remote app for iOS works pretty well.
- As a pure media player it's about 90% there.

WD TV Live vs XBMC Android MK808 vs openELEC XBMC Raspi
- WD TV Live still is hands down the best for streaming media but this raspi is close.  XBMC on android MK808 has broader codec support but the lack of 5.1 kills it.  Also, raspi plays hdhomerun hd mpeg2 files better than the  mk808.  Raspi is also friendly with plugins since the internal player actually supports hw decoding.  The UI is definitely more sluggish.  The biggest drawback of wd tv live is it only does media.  MK808 and especially the Raspi are mini computers that can do quite a bit more.  WDTV integrates nicely with harmony remote so it has the highest WAF.  I personally have no regrets owning all 3.  They each really have their own strengths and weaknesses.
- There's just something nice about buying the raspi.  First, the build quality seems better than these chinese mk808s.  The raspi just feels more solid, stable, and behaves more predictably than the mk808 though the mk808 really is a lot faster, fast enough for everyday use.

Killawatt numbers:
- power usage openelec: 2w idle.  3w while playing 1080p mkv.
- power usage raspbian: 2w idle at command line.  3w with cpu at max while running chromium in LXDE.

Highly recommended.  I had a blast over the weekend getting my linux on and just digging in to see what this tiny cheap computer could do.  For general purpose computing I think it's a bit limited.  For light office work it's fine but browsing is really too painfully slow to be practical.  I did install lynx (text based browser) and at least that was fast but yeah not that practical.  openELEC was a pleasant surprise performance/compatibility wise.  Emulation is relegated to very old retro stuff but works more or less.  For $35 I can't really ask for much more.  It's definitely a fun toy to tinker with.  Definitely good if you want to teach somebody computers and maybe a bit of programming.  I probably won't use it much as a everyday computer but would work pretty well as a media streamer.


Sunday, February 24, 2013

Amazon Kindle Paperwhite


Amazon Kindle Paperwhite

I never really felt the need to have an e ink based reader.  I've been doing long form reading on mobile devices for a long time starting with the pea green soup 160 x 160 screen on the palm III.  From there I moved up to an ipaq pocketpc and then finally the iPhone.  I've always been quite comfortable reading novels on iPhone sized devices.  I just liked how light and small it was; how very easy it was to hold it in one hand.  Staring at LCD screens for long periods of time doesn't really bother me.

The biggest issue I've always had with e ink readers was the requirement of a light source.  That's because I like to do most of my reading in bed, and I wouldn't want a light on that disturbed my wife.  Having some sort of external mini book light sounded ridiculous to me.  What was this the 80's?  So when the Nook Simple Touch With GlowLight was released I started to take notice of e ink again but still didn't really see the need for one.

So when my younger son mentioned he preferred "primitive" paper books over reading on his iPad I figured something had to be done.  It was time to consider an e ink device again because that is supposedly the closest thing you could get to paper without actually having paper (I'm all about reducing clutter these days since we recently moved).  Also, it's a new toy I could check out but no this wasn't for me.  This was for my son to help encourage him to read more.  Yeah that's the reason!  Time to go shopping.

My research began with looking at the 3 most notable e ink readers with a built in light.

Nook GlowLight: $120.  It was the first one out and so is a bit behind in technology.  It has a lower 800x600 resolution screen but supports epub which is my preferred ebook format.  I already have quite a collection of epub files in dropbox.  The way the lighting is implement also is less even and older tech than the other devices.

Kobo Glo: $130 (best buy).  This has the latest tech in screen and resolution 768x1024.  It also uses newer methods of lighting the screen that produces better and more even results.  It's a tad bit pricier though.  It has epub support and incredible flexibility on customizing the look with the ability to adjust justification and even the weight and sharpness of the font.  Kobo is definitely a lesser known brand compared to the other two.  Battery is NOT replaceable.

Amazon Kindle Paperwhite: $120 with special offers.  I don't mind the ads that much since you only see them on the home screen or when the device is off.  You will never see them while reading.  Besides,  you can always pay the $20 extra later if you want to opt out of the ads.  It has the same great tech as the Kobo Glo and the same resolution.  It has a layer called the light guide which spreads the light more evenly and only lets out light down toward the screen beneath it where the guide lets it.  What it lacks are some of the customization options.  I really wish it had a way to set justification though there are some work arounds I'll discuss later.  It doesn't support epub which was a bit of an issue for me but not insurmountable.  Kindle uses the mobi format.  One odd thing is you can't actually completely turn off the light while reading.  You can adjust the brightness really low though.  The only time the light is completely off is when you "turn off" the device (while it displays ads).  It has 2Gb of non expandable internal memory which should be plenty (about 1000 books).  Battery doesn't seem too difficult to replace.

Why e ink:
- Most paper like reading experience.  Works great in sunlight
- With the light models now it works great in the dark too.
- Incredible battery life.  Kindle is advertised at 8 weeks with 30 min per day.  That comes out to around 28 hrs of battery life.  Power is only needed to paint the pixels (and for the light).  Image is retained after that without power.
- Light doesn't shine directly toward you so it should cause less eye strain.
- Size and weight is like that of a typical paperback.
- Cheaper than a 7" tablet.  No distractions.

Some disadvantages:
- Painting/refreshing the screen is a bit slow which can be distracting to some.  It doesn't bother me at all.  Forget about ever displaying video on one of these screens.
- No color so I wouldn't want to read comics, manga, magazines, or PDFs on this thing.  A 10" tablet is much better for that.
- No distractions.  They are designed to do just one thing and one thing really well though they do have some limited web browsing capabilities.  The paperwhite even dropped the audio capabilities.  There is no headphone jack so that means no text to speech either.

I went with the Kindle for a few reasons.  Amazon is probably the biggest name in books so you have a lot of support and a large library of ebooks to choose from.  They own audible too so their whisper sync works across your kindle, kindle apps on iOS/android/pc/mac, and also compatible audio books.  This allows you to read on any device and stop and pickup where you left off on any other device and even between listening to the audio book and then later reading where you left off.  It works well and is really convenient.  It's well supported by most libraries though most libraries do epub too.  You get some advantages being a Prime member like the ability to borrow books for free.

I also picked up this screen protector for $15 for 3 and the official leather case for a crazy $40 (UPDATE: Try this cheaper $7-9 alternative).  The case is really nice though if over priced.  The kindle snaps in snug and the magnetic cover turns the Kindle on and off like the smart cover on the iPad.  It just feels really good in your hands.  You might also want to pick up a usb charger since one is not included.  I didn't since I have plenty of usb chargers.  The screen protector is probably overkill in my quest to make this thing as child proof as possible.  It's also cut pretty close to the edge so it's very difficult to position correctly as there is almost no leeway.  Having the screen sunken in a bit and having to work within the edge of the bezel makes things just that much more difficult.  Here are some tips I always follow when putting on screen protectors.

I highly recommend calibre which lets you basically convert between many ebook formats.  I used this to convert my epub collection into mobi.  This usually works quite well preserving all images and formatting.  Converting from other formats like word or pdf gets you more mixed results.  I personally don't care for the gui or the library aspects of calibre.  Luckily calibre supports conversion by command line.  I wrote some hand batch files to help simplify the process.

Save this into a .cmd file then drop a shortcut into your send to folder.  Now you can just right click on any epub file from file explorer and select the shortcut from send to and it will convert the file to mobi in the same directory.  This one is good for converting epub to mobi.

"C:\Program Files (x86)\Calibre2\ebook-convert.exe" %1 "%~dp1%~n1.mobi"

This one does some formatting to help cleanup conversion from PDFs (note: I prefer left justified):
"C:\Program Files (x86)\Calibre2\ebook-convert.exe" %1 "%~dp1%~n1.mobi" --change-justification=left --remove-paragraph-spacing --title="%~n1" --title-sort="%~n1" --pretty-print --remove-paragraph-spacing-indent-size=.5

Run this one from a cmd prompt and it will batch convert all files in the current directory:
for /r %%i in (*) do "C:\Program Files (x86)\Calibre2\ebook-convert.exe" "%%i" "%%~dpi%%~ni.mobi"


Do NOT convert to the newer KF8 format since for some absurd reason the kindle personal document service cloud storage doesn't support it!

There are a few ways to load books onto the Kindle. You can always tether and go through usb. Of course you can easily download any books purchased through Amazon over the cloud.  You can also use the buit in browser and hit dropbox.com.  Click on any .mobi file and choose download it and it will appear in your device's library.  The final and most convenient and feature rich way is to use Amazon's personal document service which gives you 5GB to upload your own content which is a LOT of books.  Storing your own books in amazon cloud lets any kindle app/device easily download it from the cloud tab from within the app.  Also, this is the only way to get whisper sync to work across apps/devices with your own books.  To upload your books you could always use the custom email address which is provided with every kindle device/app.  It works but there is a bit of a lag before it gets processed.  My preferred way of bulk uploading is using their Send to Kindle windows (or mac) program which integrates nicely with file explorer.  Just select multiple files (up to 25 at a time) in file explorer and right click | send to kindle.  You can login to the amazon web site to manage your documents.  One thing I noticed that is lacking is a bulk delete.  It's very tedious if you want to delete many books out of your personal documents.  Luckily there is a handy bookmarklet that works great.

Highly recommended.  The kindle really is great for long form reading being easier on the eyes and just the right weight and form factor.  It's light on your wallet too.  Whisper sync really is great letting you read on your tablet, phone, or the paperwhite and just seamlessly pick up right where you left off.  Amazon also has a pretty good selection of free books and many public libraries support the Kindle.  I recently finished the game Spec Ops The Line which I found really quite good.  It was a very underrated game in my opinion.  I might have to write a review on it someday.  Anyways, the story got me interested in reading Heart of Darkness which I never had.  Well, it's free on amazon so it was simple enough to grab it right from their store.  It informed me of the free audio book on audible so I grabbed that too.  So now I can listen to it in the car with the audible app on my iPhone during my commute and continue reading at home on my iPad, iPhone, or Kindle and pick up right where I left off. It really is hard to beat that kind of convenience.

Tuesday, February 12, 2013

Easyblue Bluetooth Keyboard and Mouse Dongle


- I picked this up at amazon for about $35 shipped.
- It's a BKM (Bluetooth keyboard mouse switch)
- This is an interesting device that fits a particular situation.  It's a small usb dongle.  When you attach it to a PC through usb it loads some standard HID drivers that are built into windows and also creates a small 4MB flash drive which has a windows/mac tray app. The device also has bluetooth that connects to your tablet or smartphone (iOS or android).  Once you pair the EasyBlue with your mobile device you are set.  Now you can use your existing desktop keyboard to control your pc or your mobile device by toggling between the two with a hotkey (ctrl + up is the default but can be changed in the tray app).  It works seamlessly and super fast.  There is ZERO delay switching between pc and mobile device.
- This does NOT add bluetooth to a pc.  The pc side is only an HID device and flash drive.  The mobile side is all bluetooth.
- So basically you get all the advantages of a bluetooth keyboard (and mouse for android) without having a separate keyboard taking up valuable desk space.
- First thing I did was update the firmware and software to 2.0 from the manufacturer's site.  It's all in korean but it wasn't too hard to figure out (let google translate it).
http://www.easyblue.co.kr/xe/index.php?mid=down&document_srl=9125
- It has a small hole to put on a keyring.
- The tray app has a lot of settings like custom hot key, custom keymap, toggle tray notifications, toggle the LED light, etc.
- You can cut and paste text (ctrl c, ctrl v) between the pc and mobile device.  This is great for urls and such.
- Works even when inside citrix receiver with the easyblue attached to your host pc.

Highly recommended.  It's a convenient space saving device.  Sure, there are times when you need a portable bluetooth keyboard but this sure is handy if you need to iMessage somebody.  Now, if only apple would let you map enter to "send" in the iMessage app (or you can try this kludge which actually does work).

Wednesday, January 09, 2013

WD TV Live (3rd generation)



After moving to my new house I decided to stop using htpc's and see if I can live with alternative devices like this streaming box.  You can typically find these for around $80-100.  These 3rd generation devices have a Sigma Designs SMP8670AD 700mhz processor with 512MB of DDR2 memory which makes them quite capable little boxes.

- Small and silent.
- Relatively inexpensive.
- Extensive file format support.  You can pretty much throw any video (avi, mkv, vob, iso, ts, wmv, mpg, mp4, and many more), audio (mp3, aac, flac, ogg), or image (jpg, bmp, png, tiff, gif)  format at it and it will play it.  When I mean everything I mean everything like very high bitrate 1080p x264 MKVs, entire bluray ISO rips (no menus though, plays just the movie), DVD iso (full menus) and more.  It does this all natively with NO TRANSCODING.  This means almost no cpu utilization on your server.  All you have going is disk and network IO.  Recordings from hdhomerun (mpeg2 ts, ac3 audio) play just fine.
- Good support for streaming all that media off of network shares.  No plex or dlna server needed (though dlna is supported); just raw browsing of network shares - fast and efficient.  I like how you can set fetching meta data only on demand.  Keeps things lean and fast when browse vast quantities of content.
- Pretty good internet streaming support with youtube, netflix, hulu, pandora, and several others.  The only big name it's still missing is amazon VOD which I wish it had.  Youtube isn't HD though unfortunately but this is a lame restriction by google and isn't WD's fault.
- Great subtitle support even when streaming.  Those SRT files work just fine with your MKVs.  Good flexibility on size and positioning.
- Very good hdmi support and will pass through everything to your receiver like bitstream DTS and dolby trueHD.  DTS-HD master audio isn't supported and you will only get DTS core due to licensing issues.
- Good and easy to navigate UI.  You can browse LARGE collections of media pretty easily in list view and paging.  There are basically two ways to browse: add network share folders to your medial library and just a raw folder/file view of your shares.  The first gives you some nice features like sorting and resume but it takes a bit to build that library.  I only add my most commonly accessed folders to the media library.  Folder view is fast but you can't sort.  This is fine for the rest of my media collection.
- Resume doesn't work across multiple wd tv live devices.
- Very high WAF.  Works great with Logitech harmony remotes.
- Great iOS app that really saves time entering usernames and passwords for shares and internet services.
- Instant on from sleep state
- Firmware update over internet works fine.  It has built in 802.11bgn wifi (2.4ghz only) but I didn't test it since my house is fully wired with cat6 and gigabit switches.
- 2 usb ports.  Any attached storage shows up as shares too so you can access that attached storage over your LAN.
- If you have multiple wd tv lives on your network you should give each device a unique name otherwise odd things happen.
- Can play music in the background while doing other things.
- Screensaver kicks in while music is playing.
- Accuweather app.  Shows current temperature on main menu.
- If there is a power outage it will wake up the wd tv live.  Sometimes you have to add the network share back when this happens (though this happens pretty rarely).
- If the network shares go down for a period of time (say you turn off the computer that the shares are on) sometimes the wd tv live won't see the shares again until you do a complete power on/off.  Hold down the power button for 3 sec to completely turn off the wd tv live.  This one is a tad annoying and I hope they fix this in a future update.
- Power usage: killawatt - 6w under full load (1080p mkv), 4w idle on main menu, 4w sleep.
- You can scan 16X in either direction, skip in 10 min increments in either direction, or go to a specific point in time.  I really wish it had a 30 sec forward/ 10 sec back commercial skip.  Using 1-9 to jump to 10%-90% would have been nice too.  Too bad these navigation features are missing.
- Really cool RSS feature.  You can add the rss feeds to all your video podcasts and watch them.  The best way to enter the url's is to cut and paste them from an iPhone or iPad using the wd tv live app.  You can also access a variety of features by hitting the IP address of the wdtv live with a browser including setting up rss feeds.  This is tempting but do NOT DO IT.  IT IS BUGGED and will screw up all your rss feeds and you will need to factory reset your settings.  Add rss feeds directly through wdtv only.
- Roku 2 XS is an alternative but targets a different kind of user.  I think the wd tv live is great for somebody who primarily streams a large collection of local content in a variety of formats and codecs and also uses some online services.  Roku is great if you primarily stream everything from online services and have some light usage for local content.  Roku codec/file format support is pitifully small: video: mp4 (h.264); audio:  aac, mp3; image: jpg, png.  For anything else roku requires a plex server (a buggy bloated pos IMO, transcode errors, cpu intensive, disk io intensive when scanning media, etc).  So yeah Roku would be pretty much useless to me.

Highly recommended.  For streaming local content and most internet content this box really does fully replace an HTPC for me.  It's small, quiet, sips power, relatively cheap, and plays pretty much every file format out there.  I have 4 of these now.

UPDATE 3/29/2013:
- Firmware update 1.15.10 was released yesterday.  I'm happy to report that the wd tv live now works with hdhomerun prime project connect (hdhr prime acts like a DLNA server) to stream live tv in full HD with 5.1 sound.  This is fantastic news.  I basically gained access to all my channels in 4 rooms for the low low price of $0.  WD TV Live just keeps getting better and better!

Android Stick PC (mk808)


MK808
We recently moved so I decided to change things up a bit.  In my old house every hdtv had a pc hooked up to it.  This added a lot of flexibility but also quite a bit of bulk, kind of messy, and unwieldy.  I'm trying the opposite this time using WD TV Live (3rd gen) and now these cheap android stick PCs to add a bit  more general computing.  The mk808 is basically a dual core android device without the screen.  It has hdmi out that you hook up to your TV.

Here are the critical items I think you need to get started:

$56 MK808 - At the time I ordered it from the seller: Sain Store which had it in stock and was fulfilled by amazon so you got prime shipping.  Since then it seems they have sold out.  I know geekbuying is a pretty major seller of these devices but it gets shipped from China so it will take several weeks to get it.  I have no experience with geekbuying).

$17 USB to RJ45 Ethernet Adapter - Some people report issues with wifi dropping in and out.  It worked fine for me for the couple of hours I tested on wifi.  Still, if you plan to stream HD content it's best to go wired.  This works great with the mk808.  Just plug and play.  No drivers to deal with.

$35 Logitech K400 Wireless keyboard with multitouch pad - This is a great compact wireless keyboard with a multitouch touchpad (2 finger scrolling, etc) that is still easy to type on.  It has some nice dedicated keys that work with android like home and the power button will sleep the android pc.  It also duplicates the left mouse button in the upper left corner.  This is handy for clicking and holding and dragging.

$3 Mini hdmi to hdmi cable - The one included is a bit crap and way too short.  Get a nice one that works with all TV's and resolutions at monoprice.

$1 Mini usb cable - You should grab this too since the one included is also a bit cheap.  This will prevent any issues if you plan to flash a custom rom using the OTG usb port.

$19 2 amp USB Power Supply - The apple iPad one is recommended because it's very well built if a bit expensive.  Mine came with a cheap 1 amp power supply.  Highly recommended if you plan to overclock.

Total: $131

So what starts off as being a cheap $55 ish android stick pc over doubles in price if you want to go for a good quality and highly reliable/usable setup.  It also has a microSDHC slot.  I dropped in a 32GB class 6 ($22) just for kicks.  It's not really needed unless you need more local storage or you want to use something like Titanium Backup between rom flash upgrades to quickly restore your apps.  With finless 1.6 you get 2GB internal app storage space and 4GB internal SD.

The first thing I did was install a full rooted custom rom: finless 1.6.  The process was pretty easy.  Just follow the instructions in the readme carefully.  The only thing I got stuck on was getting it into flash mode.  I ended up having to do the alternative paperclip method but that was easy enough.  After that flashing went smoothly.  I did play with it briefly with the factory default rom.  Google play store seemed to work fine.  I was even able to install onlive from the play store just fine.  Still, I wanted to take advantage of some of the neat apps out there that require a rooted system like being able to safely shutdown. I've been reading pulling the power isn't generally a good idea with some risk of corruption.  You also get 2GB of app install space which is nice.

- If you want full screen youtube app grab this version (though it doesn't seem to see the ethernet connection).  I just use the desktop version of the website which still lets you go full screen.  UPDATE: Grab the google.tv APK mentioned in this thread for the best full screen HD youtube experience.
- This thing is pretty tiny.  I stuck a killawatt on it.  1w sleep, 2w idle (screen on), 4w under max load (AnTuTu benchmark cpu).
- Performance isn't too bad.  9827 on AnTuTu benchmark.  Think Galaxy S2 speeds.
- Heat doesn't seem to be much of an issue.
- Only does 720p native and scales up to 1080p.  Native 1080p coming in 1.7.  Still, 720p upscaled looks pretty good and text is quite legible on the TV.
- If you completely shutdown the device there is no way to power it back up except unplugging it and plugging it back in.  That is why I'm choosing to just sleep it when not in use (1w of power I can live with) and hooking it up to a UPS I had laying around for safety.  Of course you could also try one of these IR controlled AC outlets.
- Boot time is around 30 sec.  Finless seems to take quite a bit longer than the stock rom.  This is another reason I choose to just sleep the device so it's truly instant on.
- Keyboard support is a bit inconsistent out of the box.  Depending on the app, sometimes the virtual keyboard still pops up and sometimes it doesn't.  When entering URLs into the default browser the enter key launches the site.  In chrome enter does nothing and you have to click on the GO button on the virtual keyboard.  After buying External Keyboard Helper app things work much better as you can actually select external keyboard as your input device.  Before, external keyboard wouldn't even show up as an option.
- No gameloft game support out of the box without some hacking.
- I think ethernet support feels a bit like a hack.  I've come across a few apps now (like the older full screen version of youtube, 1 password, and some games) that don't detect a network connection if wifi is turned off.  That means they won't work over an ethernet connection.
- When you cold boot the device ethernet usually doesn't work until you toggle it off and back on again.

Things you can do with this thing:
- Competent mobile Chrome browser with flash support.  It's still a bit clunky.  Scrolling is still pretty jerky and page load times are longer than I like but it is serviceable.  Do NOT expect iPad like silky smooth scrolling and responsiveness.
- All the usual streaming services like netflix, hulu,  pandora, spotify, etc are there.  You have the entire google play store of apps to explore.
- Stream local content either directly using es file explorer and the built in video player or something like plex or xbmc ( which is not hw accelerated yet so hd is choppy. You need to configure it to work with an external player like mx player.  I haven't tried this yet).  Subsonic is nice for audio.  I found the built in video player to handle 1080p mkv just fine natively.  Even subtitles worked.  Playback was smooth over ethernet but hitched over wifi (even in the same room as the router).  Seeking to different points in the MKV while streaming over a network share was quick and responsive.
- Play games that don't require multi-touch like angry birds.
- Use rkremote.  RKRemote.APK is in the finless distribution.  Just side load it on your android phone or tablet to control your mk808.
- Skype if you hook up a compatible web cam.
- Hook up an xbox 360 controller and load up a bunch of emulators and play a bunch of retro classic games from atari 2600 up through playstation one. (Going to dig into this next.  Will update post when I do.).
- Remote into your desktop using splashtop, teamviewer, etc.
- Tried out Airtight which is an airplay receiver so you can stream from your iOS devices to the mk808.  It works fine with audio and some video.  The built in video player works and so dies air video but goodplayer, netflix, slingplayer do not work.  All audio works fine though.  It's pretty limited but for 99 cents it isn't too bad.

I have one question for those of you more experienced with the MK808. Is there any way to output AC3 or DTS bitstream so I can get true 5.1 sound out of my receiver? Right now 720p MKVs decode just fine but all audio gets down sampled to 2 channel audio. It kind of defeats the purpose of having a nice home theater setup. I have mine hooked up to a pioneer VSX-1021-k receiver. I've tried a variety of players like mx player, xbmc, and plex. Nothing seems to work. When I set xbmc to output ac3/dts over hdmi all I get is static. So I'm just wondering if it's my pioneer being picky (and I know it's a bit finicky with some sources) or the mk808 just doesn't support what I'm trying to do.

Recommended.  It's a fun relatively inexpensive android hacking box dream if you don't mind spending time fiddling with things.  It's definitely not for the type of user that just wants to plug something in and just start using it expecting everything to work.  Without 5.1 audio support I can't recommend this for streaming video.  It's fine for more general purpose use but for media streaming the wd tv live beats the pants off of this thing in overall usability and capability.

UPDATE: 2/25/2013
- XBMC Revisted.
http://www.xbmcandroid.com/
Installed the neon version of mx player and xbmc neon set top box.  Make sure you launch mx player once before installing xbmc.  This new build is suppose to use mx player as an external player for hw accelerated video right out of the box.  This is partially true.  It doesn't work with files streamed over shares (internal player still gets used).  The work around is pre-mount all your shares outside of xbmc using cifsmanager.  So install that first.  Use your favorite file explorer app (I use root explorer) and head over to /mnt/cifs and create a directory for each share you plan to mount.  Once that is done fire up cifsmanager and create all your mounts.  Make sure you click on the share to mount after you create it.  Now that is done head back into xbmc and when you add video source pick root file system instead of network share and browse to /mnt/cifs/yourmount.  That basically tricks xbmc to think the content is local so mx player gets proper launched.  Just remember if you reboot your android you will need to head back into cifsmanager and mount all your shares again.  Performance is pretty solid.  I tried MKV 720p/1080p, mov, avi, divx, flv, mp3, wmv, mp4, ts and pretty much everything plays (granted with 2 channel sound only UGGGG).  DVD iso's don't seem to work.  HD Mpeg2 .ts recordings from hdhomerun play but not 100% smooth.  It's very close but just slightly off.  It's still very watchable.  Plugins are hit and miss with this weird external player version.  Make sure you go into android settings | display | zoom it so there is NO overscan.  Also, hide the bottom menu bar before firing up xbmc and you'll get 16:9 video that nicely fills the entire screen.  UI is nice and responsive.  This really isn't a bad setup if all you need is 2.0 sound.  Unfortunately that doesn't cut it for me.