Subscribe: kwc blog
Added By: Feedage Forager Feedage Grade B rated
Language: English
amazon  android  app  apple  apps  cloud  galaxy nexus  google  hudson  iphone  links icio  model  new  nexus  phone  photos 
Rate this Feed
Rate this feedRate this feedRate this feedRate this feedRate this feed
Rate this feed 1 starRate this feed 2 starRate this feed 3 starRate this feed 4 starRate this feed 5 star

Comments (0)

Feed Details and Statistics Feed Statistics
Preview: kwc blog

kwc blog

Last Build Date: Thu, 23 Feb 2017 00:00:00 PST

Copyright: Copyright 2015

Links for 2017-02-22 []

Thu, 23 Feb 2017 00:00:00 PST


Links for 2016-08-23 []

Wed, 24 Aug 2016 00:00:00 PDT


Book deals

Sun, 18 Oct 2015 22:24:03 -0800

I've slowly been converting my physical books to digital. Sales help:

Anathem: Kindle, Google Play

Name of the Rose: Kinde, Google Play

Vertigo 70% off sale on Comixology. Y: The Last Man, Transmetropolitan, DMZ, 100 Bullets, Ex Machina, V for Vendetta, and more.


Filling up the Amazon Cloud Drive

Sat, 17 Jan 2015 20:28:49 -0800

I'm currently shoving all of my photos into Amazon Cloud Drive. It appears to be the solution that I've always wanted for backing up my photos:

  1. It supports RAW photos
  2. It's cheap: unlimited photo storage if you have an Amazon Prime account
  3. Both iOS and Android apps for auto-backup and browsing
  4. It's file/folder oriented, which is necessary for backing up

I still love Google Photos for online editing and building albums, but Amazon Cloud Drive is simpler and focused on my core problem: I have 1TB of photos that I want backed up in one place.

I've been using a hodge-podge of Google Drive, Amazon S3, and Amazon Glacier to archive my old photos (especially my cycling photos). Now I can do away with all that and finally have all my photos in one place.

Pricing comparison for 1TB of photos:

  • Google Drive: $120/year
  • Amazon (S3): $180/year
  • Amazon (Glacier): $60/year

By Amazon's own pricing for other storage services, it appears that they will be losing money on me, but I imagine that my usage is an outlier; SLRs are becoming less popular and and sensors aren't getting much bigger.

NOTE: Flickr is technically the cheapest (free for 1TB), but it doesn't support RAW formats, so it's not a backup solution. Also, I find the auto-upload functionality in the Flickr mobile apps (both iOS and Android) to be very unreliable.


ROSCon 2012: Lightning Talks

Thu, 31 May 2012 09:11:57 -0800

width="640" height="360" src="" frameborder="0" allowfullscreen>

ROSCon 2012 was a blast! Thanks to everyone who attended. It was a bit mindblowing to me to see something I've worked on reach the '-Con' Achievement Unlock.


Man Hands: Galaxy Nexus vs. iPhone 4S

Sat, 07 Jan 2012 20:49:50 -0800


Any review of the Galaxy Nexus will note that it's huge. I like it. I'm 6'2" and this phone is great: it's much easier to type on and I can see much more content.

In the photo above I'm holding the Galaxy Nexus and my wife is holding her iPhone 4S. My phone is smaller relative to my hand, which leads me to conclude either:

a. The iPhone is too small for me
b. The iPhone is too big for her

She says (b), as she can't fully use the phone one-handed. I can use my Galaxy Nexus just fine, so it seems (a) and (b) are both true. Regardless, anyone who argues that the 3.5" is ideal must have ideal hands.

I was going to write a Galaxy Nexus review, but got distracted by the previous post. I fear that two posts in one month is all I can manage right now


Why Android is Better Off

Sat, 07 Jan 2012 20:41:20 -0800

I think this John Gruber quote on Siri explains why I use Android:

"...the whole thing still isn't up to Apple's usual level of fit and finish, not by a long shot. But I'm still glad it's there. I think the iPhone 4S is better off with Siri in its current state than it would be if Apple had waited until Siri was further along to release it."

If I had to distinguish between Google/Android and Apple/iOS, it's that each company decides differently whether or not a new feature is "ready" to put in.

Apple typically denies a new feature/product is necessary, secretly works on it for a very long time until it's polished, and then claims their solution is better than everything else out there. Sometimes this is very true (original iPhone), other times its marketing.

Google will see a need for a feature and put it in as soon as it is useful, even if it's not fully baked yet. They will then iterate on that feature again and again to make it right.

Google's approach means that people can take advantage of features sooner. It can be more difficult to discover these features because they can start so small and they get better and better in small and frequent chunks. On the downside, Google makes more missteps (Wave, Buzz, Google TV), and the ground shifts more rapidly (Android 3, 4).

Apple's approach means that new features are usually more polished and the additional fanfare helps users discover that they exist. But you have to wait a lot longer for them to arrive (notifications, Siri, cloud sync) and there are still mistakes (Apple TV, iTunes Ping, Spaces/Launchpad/Widgets/Expose mess).

It goes almost without saying that Google's approach is the web company style, and Apple's is the desktop software style: incremental, frequent updates versus major releases.

This is all just a spectrum, and Siri is one example of Apple straying a little more towards Google's side: releasing something when it is useful, but not fully polished.

So, I find Android has many more useful features *, and that's why I'm better off. YMMV.

* cloud syncing, turn-by-turn navigation, notification, desktop widgets, voice transcription, Face Unlock, Google Voice, customizable keyboards, Android Intents (apps plugging into other apps), NFC, etc...


Cloud Robotics

Fri, 13 May 2011 10:23:52 -0800

width="853" height="510" src="" frameborder="0" allowfullscreen>

Video from a talk I gave with some Googlers at Google I/O 2011.


Links for 2010-11-10 []

Thu, 11 Nov 2010 00:00:00 PST


Hacks with ROS: rosproxy

Tue, 05 Oct 2010 18:15:32 -0800

I've resurrected rosproxy, which is a hack I wrote several months ago to enable access to services and topics within a protected network. It's written in Python, so it's not super efficient, but it's useful when interfacing your robot with an external website or the like.

For example,

Internal network:

rosrun test_ros & 
rosparam set proxy/topics [chatter]
rosparam set proxy/xmlrpc_port 11313
rosrun rosproxy

External network:

rosrun rosproxy pub /chatter std_msgs/String http://externalname:11313
rostopic echo chatter
data: hello world 1286321252.19

Another related hack I did awhile back is ronin, which is a "masterless node". This is useful if you need to keep a node attached to a graph that is going up and down, e.g. if you want to pull data from a robot whenever it is up.

Both of these are "experimental" and will likely never be fully stabilized, but they are fun starting points and show some of the hackability of ROS.


Python script for Hudson API

Fri, 10 Sep 2010 16:10:18 -0800

Update: please use python-jenkins instead, which is the new-and-improved version below (and available via PyPI and in Ubuntu Oneiric).

We use Hudson to do our continuous integration -- anything from building and tests to creating documentation. It's been a fairly versatile tool for us and I highly recommend it.

I was a bit surprised to find that there were no Python scripts on the web for using Hudson's programmatic API. I ended up writing one and I'm posting it here for others to use to save themselves time. As good as Hudson is, the programmatic API is not well-documented, and there are also some annoyances like non-HTTP-compliant authentication that require minor workarounds.

We're now using this script heavily to make Hudson even more versatile: programatically creating jobs, chaining jobs, etc... We're now able to test at a much finer grain, which has led to better testing.

All the code I do for work is BSD, so enjoy:


Our robot fetches beer!

Tue, 06 Jul 2010 16:02:29 -0800

(object) (embed)

More info



Wed, 02 Jun 2010 20:56:42 -0800

(object) (embed)


iRon Man 2 Summary

Wed, 12 May 2010 09:47:26 -0800


Steve Jobs Tony Stark creates the iPhone arc reactor, which brings about world peace. He triumphantly greets his fans at WWDC Stark Expo.

His competitors desperately try to clone this new device, while secretly the CEO is stricken ill with a life-threatening condition. Gizmodo The US Air Force steals a prototype of a new iPhone 4G Iron Man suit from a drunken employee, and Apple Stark Industries uses legal threats to attempt to get the device back.

Steve Jobs Tony Stark creates a magical new iPad element, is miraculously cured from his life-threatening disease, and is able to use his new invention to fight off his enemies (for now).


Dinner at work

Tue, 13 Apr 2010 22:26:20 -0800


We get three meals a day at work, which is a great thing in itself as our chef is awesome, but I like the photo above because it shows another fun thing about our work place. You'll notice at the end of the table is one of my co-workers (in Indiana) joining us for dinner via our telepresence robot. I love the idea that someday I'll sit down to dinner with someone far away, like my parents or my sister. We may not share the same meal, but we can sit around the same table.


Nexus One vs. iPhone, and why no iPad for me

Thu, 08 Apr 2010 18:10:32 -0800

I switched from an iPhone to a Nexus One and haven't regretted it since. So many reviews seem to miss the point, in my opinion, because they focus too much on "X has faster processor" or "Y has better touchscreen." The Nexus One is nothing like the iPhone. They are very different devices. . I could talk about the Nexus One hardware vs. the iPhone hardware, e.g. the Nexus One has a better camera, the iPhone has a better touchscreen -- but it's not really about that. It's about Android 2.0 vs. the iPhone OS. There's two main differences: Data model: Computer-Centric vs. Cloud-Centric App model: Separate Apps vs. App Ecosystem Data Model Android and the iPhone OS have entirely different models for your data. The iPhone follows the Apple model -- your iPhone is a mirror of your (Apple) computer, just like your Apple TV is a mirror of your computer, etc... Even the iPad, which is supposed to be a netbook alternative subscribes to this model and, to me, is its glaring weakness. Even reviews with lavishing praise point out this same issue. How self-sufficient can an iPad be if it is meant to be regularly synced to another computer? In the Apple model, if I want to sync a Google contact, you sync your computer with your Google contact, then you plug in your phone, and it syncs. I hate this model -- I only plug in my phone once a month (at most). If you look at Pages on the iPad, review after review complains about the 7-step process it takes to 'sync' a document with your computer. Android follows the cloud model. When you get your phone, you enter in your Google accounts (and even Facebook), and everything starts syncing against that. My Picasa photos immediately appeared in my Gallery app. The same goes for starred location in Google Maps, contacts, and my even my search history -- great for auto-complete! The best is Google Voice, which you can have take over your phone. When someone leaves me a voicemail, I can get a text message with a transcription, listen to the voicemail in a Web browser, or read it in my e-mail. With the cloud, access is everywhere. App Model The other difference is the app model. Android Apps can do more, like replace your keyboard, customize your homescreen, or change your phone dialer. They can also hook into one another (and often do). I've downloaded a widget that puts my calendar agenda directly on my home screen (very useful). When I play music in the music layer, can listen in as well and update my recommended channel. Similarly, apps can plug-in to the main Gallery app, so I can now upload directly from the Photo app to Flickr, Facebook, Twitter, etc... The Apple experience is more siloed. If I want to upload to Flickr, I switch to the Flickr app. If I want to upload a photo to Facebook, I have to switch to the Facebook app. It's cleaner, but it's more time-consuming. Each app runs in its own sandbox, never to interact with another. It's also inherently single-tasking -- the "multi-tasking" in iPhone 4.0 pre-specifies what can be multi-tasked. This preserves certain performance guarantees for each app, but its a limitation that expresses Apple's approach to apps: apps can do what Apple says they can do, and nothing more. No iPad for me There are several reasons for me not wanting an iPad: the Apple App Store offends my software development principles, I don't see it being that useful with what I already own, it's terrible for real writing tasks, etc... But ultimately it's that I grew tired of Apple's approach to devices. I have an Apple TV, I had an iPhone from[...]

Telepresence for Robots

Thu, 01 Apr 2010 09:55:30 -0800

(object) (embed)

I've been hard at work on this


Natural Language

Fri, 05 Feb 2010 07:12:56 -0800

(image) (image) (image)

NOTE: the voice recognition was correct in these examples, kudos to Nuance

After all the hyperbole on the latest natural language app to be released to the iPhone, I gave it a quick test. As my quick test above seems to confirm, it's doing exactly what I thought it would. It's just looking for nouns (places, things) it understands and mapping them appropriately. If it doesn't recognize the noun, it assumes that it's a restaurant or a hotel. It pretty much throws everything else away.

I'm pretty adamant against "natural language" apps, mainly because once people understand the "magic", they realize that they were wasting their breath.