Author: preston.lee

  • Kindle 3G Upgrade: Mini Review, Recommendations

    The "Home", "Menu" and "Back" buttons are now to the right of the keyboard.

    I’ve previously expressed my love for the Kindle family of devices, and on a whim decided to upgrade from the Kindle 2 to the new Kindle 3G with 3G and wifi. For others contemplating the upgrade, here’s what you need to know:

    Pros

    • The new button layout is way better. Next/Previous button are on both sides of the screen, and Home and Menu buttons have been moved to the keyboard area, along with a new direction pad (“d-pad”) design that is easier to use, albeit different.
    • Smaller device footprint. Kindle 3 feels more compact and portable than Kindle 2.
    • The screen update time is noticibly better, but only slightly so. It’s definitely noticable and a welcome improvement, but don’t expect LCD-level performance here. It’s still e-ink.
    • Wifi! Not that on the more expensive model, you have both wifi support as well as the free 3G access.

    Cons

    "Next" and "Previous" buttons are now on BOTH sides of the device. A welcome change!
    • $189 for a bunch of marginal upgrades is a tough sell.
    • Keyboard is still ghetto. It feels like typing on a 1990’s scientific calculator.
    • The Next/Previous buttons depress easier than before, but they’re also smaller and don’t have any nubs to identify the button by touch. This seems stupid.
    • Sharper screen. It’s a subtle improvement, but definitely feels crisper.

    Recommendations

    • New users should go for it, and light readers should be perfectly fine with the Wifi-only $139 model.
    • Existing users with heavy usage patterns (at least an hour a day on average) should go for it. You’ll love the small speed improvements when highlighting and flipping pages.
    • Existing Kindle 2 owners with light usage patterns should skip this revision. Future models will certainly see further improvements and lower costs.
  • Spring 2011 ASU Webapp Course

    In Spring 2011, the College of Technology and Innovation at the ASU Polytechnic campus will again be offering CST 533/494: Database-Centric Enterprise Application Development. The calendar is not yet out, but should soon be listed as a Thursday evening class: one night per week for the Spring semester. The course will be available at both undergraduate and graduate levels for 3 credit hours.
    The course essentially teaches dynamic web application architecture concepts and development processes using Ruby (w/Rails), Java (w/Spring, Eclipse, and Tomcat), SQLite, MySQL, and other industry favorite technologies as a means to the learning process.
    • New technologists: If you’re looking for training and experience in this area, definitely check out the ASU Polytechnic campus.
    • Old hats: If you are an “old hat” software engineer just looking for the credit hours, this may provide a fun, project-oriented opportunity towards working on your degree.
    • Companies: I am always on the lookout for opportunities to expose students to industry perspectives. If you’re interested in any sort of corporate sponsorship or collaboration, please contact me directly.
  • Amazon Kindle Customer Service Experience

    Kindle 2 with M-Edge Leather Platform Jacket and optional e-Luminator 2 book light.

    About a month ago I noticed the top of my Kindle 2’s e-ink display starting to go out. Starting from the top of the screen, row-by-row slowly ceased to display “ink” until I could no longer see the battery indicator area. I could surely have lived with this, but given that the device is less than a year old I gave the Kindle support number a call.

    I purchase a lot from Amazon and have used pretty much every service they offer, including long-time Prime delivery service membership and I’m fairly certain that my Amazon book purchases would put me in their 99th percentile of perfered consumers–so perhaps the call handler knew to treat me better than the average Joe–but regardless, the process was a true 5-star experience. Abbreviated transscript of the call:

    Me: The screen on my Kindle 2 is going out.

    Rep: I’m very sorry to hear that. <additional scripted apologies designed to make me feel better> How about we overnight you a replacement?

    Me: Srsly?

    Rep: Sure. It’ll be delivered tomorrow morning.

    Me: Sweet!

    And that was it. The replacement arrived the next morning as stated. It took me less than 5 minutes total to deal with the issue. For a unit of anything under warrantee this is the level of service I would hope for. Bravo, Amazon!

  • TOMS Shoes

    I recently won one of a thousand pairs of TOMS shoes courtesy of a joint promotion in conjunction with Gowalla and AT&T to celebrate TOMS 1 millionth “shoe drop”. (It’s basically like the “One Laptop Per Child” program, but for shoes.)

    From the TOMS website:

    “TOMS Shoes was founded on a simple premise: With every pair you purchase, TOMS will give a pair of new shoes to a child in need. One for One. Using the purchasing power of individuals to benefit the greater good is what we’re all about. The TOMS mission transforms our customers into benefactors, which allows us to grow a truly sustainable business rather than depending on fundraising for support.”

    Thanks to TOMS, AT&T and Gowalla for the free shoes and I wish you the best of luck in the program!

  • MakerBot Thing-o-Matic Pre-Order

    I’m super excited to have just pre-ordered a Thing-o-Matic from MakerBot Industries. It’s a fully automatic 3D printer (aka CNC rapid prototyper) that can also be outfitted with different material nosels (aka extruders) to draw in 2D, print designs for circuit board, and even dispense frosting and peanut butter. (Not joking.) Here’s a great example of what you can do with it. (Skip to 3:00 for the cool stuff.)

    Here’s another video of the machine printing parts for copies of RepRap Mendel, another F/OSS CNC RP machine design:

    This is a new model that won’t ship won’t ship until November 2010, unfortunately, but I’m sure it’ll take a while to get some cool designs done, anyway. The idea here is that if anyone else would like their own desktop 3D printer (RepRap, CupCake, Thing-o-Matic or other F/OSS design), you’ll be able to print about 50% of the parts for it on this original “parent” machine and order your own electronics and other assembly hardware online.  🙂

    *Giddy with excitement.*

  • Upgrading From Ruby 1.9.1 to Ruby 1.9.2

    I’ve spent half the day so far inbeded in the furious stressful upgrade process of a handful of Ubuntu Linux 10.04 and Mac OS X Snow Leopard systems from Ruby 1.9.1 to Ruby 1.9.2. I haven’t even gotten to the Rails 3.0.0 stuff yet: just the baseline Ruby installation. I’ve gone through the upgrade process on both types of systems so far and the base issues have been the same. Here’s a common issue that many people are running into:

    preston$ gem1.9

    /opt/local/lib/ruby1.9/site_ruby/1.9.1/rubygems/source_index.rb:68:in `installed_spec_directories’: undefined method `path’ for Gem:Module (NoMethodError)
    from /opt/local/lib/ruby1.9/site_ruby/1.9.1/rubygems/source_index.rb:58:in `from_installed_gems’
    from /opt/local/lib/ruby1.9/site_ruby/1.9.1/rubygems.rb:883:in `source_index’
    from /opt/local/lib/ruby1.9/site_ruby/1.9.1/rubygems/gem_path_searcher.rb:81:in `init_gemspecs’
    from /opt/local/lib/ruby1.9/site_ruby/1.9.1/rubygems/gem_path_searcher.rb:13:in `initialize’
    from /opt/local/lib/ruby1.9/site_ruby/1.9.1/rubygems.rb:841:in `new’
    from /opt/local/lib/ruby1.9/site_ruby/1.9.1/rubygems.rb:841:in `block in searcher’
    from <internal:prelude>:10:in `synchronize’
    <…and so on…>

    Assuming you’re upgrading from a previous Ruby installation, note that the “site_ruby” directories are no longer used, and will eff up your 1.9.2 installation if you fail to delete them after the install. On OS X, run:

    sudo rm -rf /opt/local/lib/ruby1.9/site_ruby/

    On Ubuntu Linux 10.04, run:

    rm -rf /usr/local/lib/ruby/site_ruby/

    …to correct this issue. All note that you may see errors such as this:

    root@li92-132:~# rake –version

    /usr/local/lib/ruby/1.9.1/rubygems.rb:340:in `bin_path’: can’t find executable rake for rake-0.8.7 (Gem::Exception)

    from /usr/local/bin/rake:19:in `<main>’

    …despite have a rake gem installed. Apparently 1.9.2 comes with a version of rake internally, but is unable to find it for some reason relating to the rake.gemspec file. Remove the file to fix this issue. On Ubuntu Linux 10.04, run:
    rm /usr/local/lib/ruby/gems/1.9.1/specifications/rake.gemspec
    Notice the “1.9.1” path of the PATH. Yeah.. it’s weird. But for compatibility reasons your 1.9.2 installation will continue to use a path with 1.9.1. To quote the Ruby 1.9.2 FAQ page:
    The standard library is installed in /usr/local/lib/ruby/1.9.1
    This version number is “library compatibility version”. Ruby 1.9.2 is mostly compatible with the 1.9.1, so its library is installed in the directory.
    I’m sure there’s a wonderful technical reason for this, but it’s still misleading and confusing as hell. I ended up manually deleting a bunch of stuff I shouldn’t have because I thought I was innocently “cleaning up” after the old version. Whatever. Additional suggestions:
    • Just to keep things clean, you may also want to remove your old Ruby 1.8.x builds. (I recommend doing so unless you have older apps that haven’t moved to 1.9.x yet.)
    • Phusion Passenger seems to work fine on Ubuntu 10.04 with the latest version of Apache 2 as of this writing, though don’t forget to recompile, reinstall, reconfigure and restart apache2 when you do so.
    • Check if you still need rack v1.0.1 installed (for older Rails app) before nuking everything. 🙁
    I need a beer!
  • Thanks, KindleTools Users!

    Kindle 2 with M-Edge Leather Platform Jacket and optional e-Luminator 2 book light.

    I just wanted to shout out a quick “thanks” to the thousands of Kindle fans that have used the Kindle Tools website to find the PIDs for their Kindle devices. I’m aware that the site doesn’t fully support all models and variations of Kindle hardware devices and software applications, but I am supporting the site and hope to do so one day. The public-facing portion of the site is super easy to use and I never expected it to generate the traffic that it does, especially considering it’s a “one-time use” kind of tool. It’s very encourage to periodically receive a package in the mail gifted by a grateful Kindle Tools user off my wishlist. I generally don’t reply but do get these tokens of apprecation and your support is VERY much appreciated.

    Let’s all continue to support the Kindle community and Amazon.com, while simultaneously insisting on open standards, free data interchange, and the non-proprietary future of our data in the ebook domain. The last thing we want is non-interoperable ebooks, so make your voice heard!

  • 3D Desktop Ruby Applications On Linux

    Over the past year I’ve put out a few working demos of how to develop full 3D, OpenGL-based OSX applications using Ruby. Most of the comments I’ve received have been positive, but I think the high learning overhead has been the prime limiting factor in addoption. I also decided to focus exclusively on Mac OS X, further limiting the potential audience.

    I’m pleasing to learn that Martin “monkstone” Prout has successfully run the code contained within my Starfield.app–basically a folder of code on a OS X system that looks and behaves like an .exe does Windows–on a Kubuntu Linux system. I haven’t personally tried to replicate this myself due to a lack of time, but you can read how monkstone did it on his blog.

  • ASU Faculty Parking Fun Facts

    It’s the first day of class at the ASU Polytechnic campus in the East Phoenix valley, and I’m illegally parked without a permit. Some fun facts for you:
    1. A single-course, single-semester adjunct position for the 2010 year pays approximately $6K, before taxes. (Thus, around $12K pre-tax for the academic year.)
    2. An annual faculty and staff “Red Lot” pass costs $480 out of pocket. Everyone allegedly pays for these out of pocket either up front or automatic payroll deduction, though I know this to be false in some cases. These passes are “…[a]vailable only to faculty and staff. Some covered spaces available in red lots on a first-come, first-served basis.”
    3. Ergo, a part-time adjunct (such as myself) can expect to pay around 4% of their contract value just on the parking space.

    Nice.

  • The Worsening Fragmentation of the eBook Market

    On my way to the office this morning my bag seemed especially heavy, the natural effect of stuffing an attaché with a MacBook Pro, iPad, iPhone and Kindle. I felt silly feeling it necessary to keep all these electronic gismos simultaneously latched onto my shoulder within seconds reach of my left hand, each ready to perform some specific task that required firing on its individual display and taking a few milliamp hours off its individual lithium ion battery pack.

    Each of these devices is especially good at performing certain types of tasks, to the point that it also feels silly to not use the tool best suited to the job.  To a computer scientist all four of these are technically Turing machines–more commonly known as “computers”–but each has its own practical strength and weaknesses. And while carrying a single device solely by itself one becomes incredibly mobile, taking all four is not. I’m like a sleep-deprived mother of quadruplets sluggishly pushing a custom designed stroller through the grocery store. The monstrousity of brushed metal widgets, cables and wall warts I’m toting reminds me of that fictional car designed by Homer Simpson.

    But such are the pro and cons of appliance computing. Not all of these hardware devices are technically needed on this particular Wednesday, but the combination of specialized functions provided by the union allows me a more productive day. I could have left at least one at home, provided that I had a reasonable amount of interoperability between them to shuffle data.

    Stop. Oh god. I saw this coming the second Amazon announced they would use their own locked-down format (.azw/.mobi) for eBooks purchased through their store. (Aside: If you’re interested in Kindle encryption you may eventually find yourself at my KindleTools site for finding PIDs.) My biggest of fear with regards to the emerging ebook market is now in full swing. Not only are there subtle, often incompatible (and proprietary) differences in ebook data between reading application software, but most of the time I can’t even legally attempt it. It’s like Microsoft Office vs. Word Perfect vs Lotus Notes vs The People of Earth all over again.

    Each content retailer is trying to be the de facto digital ebook data locker for the entire market, and the folks at the top of the food chain–most notably Amazon–have no business interest in supporting standardized (or at least conventionalized) data interchange with less popular consumer applications and devices. But why would they? If they can provide the content and the software and the hardware with a majority of the market, why not do everything possible to lock consumers into the monopoly? Here’s a painstakingly detailed scientific visualization of the current eBook market:

    Amazon's view of the eBook market.

    Let me make this clear: I am no stranger to paying for books. I read a LOT, and especially over the past year it hasn’t been unheard of for me to spend well over hundred dollars per month on eBook content alone, which I do for many reasons. Here’s the 8th-grade equation demostrating how I can scientifically demonstrate the value of this technology in my life:

    Knowledge Gained (in the fictional unit of “knols“, K) x Ease of Future Reference (in the subjective economic unit of utils) / Content Cost (in dollars, $) x Total Consumption Time (in hours, 3600 x s)

    This new unit of electronic book value that I’ll refer to as a Vebu–short for “value of ebookS unit”–reduces to this:

    Vebu == knol utils per 3600 dollar seconds == uK/3600$s

    In other words, we need to maximize the availability of meaningful information (knol utils) at a minimum of money and time (dollars hours) to achieve maximum value for our electronic virtual book libary, Vebu. A simple, unsophisticated yet meaningful quantity.

    But here’s how this effed up market effects Vebu:

    • I have no less than 7 different, largely incompatible pieces of eBook reader software on iPad alone, as of today. Kindle, iBooks, Borders, B&N, Stanza, Free Books and Wattpad. (Effect: lower u, lowering Vebu.)
    • Borders, Barnes & Noble and the other brick-and-mortar vendors are freaking out, scaring they’ll become the next Blockbuster of the Netflix era. Each has their own application that works primarily with their own store, but not much else, forcing you to use their reader. Not all software is availble on all platforms, though, sometimes making lookups a major pain, and different retails of course carry different publishers, so it’s easy to unwittingly get sucked into all of them. (Effect: lower u and higher s, significantly lowering Vebu.)
    • None of the distributor reader apps are keen on “sharing” your content with friends/colleagues, forcing others to re-purchase content you should have been able to at least “lend” to them in the freakin’ first place. (Effect: higher $, lowering Vebu.)
    • O’Reilly, PragProg and other publishers don’t think the major distributors should be necessary, and some are leading the charge buy allowing you to directly purchase digital editions in a variety of formats. This is fine–I have no major qualms about this–but since most readers applications are trying to push you to the store of the vendor that wrote the apps, importing data can be a headache. (Effect: higher s, lowering Vebu.)
    • Amazon, already having a huge content delivery infrastructure, offers propriety features such as cross-device synchronization of bookmarks and highlights that isn’t as good in others. The Kindle hardware will also read to you in the car, but they only sync with Amazon services; Apple’s iBooks/iTunes is better with PDFs but doesn’t have text-to-speach; Stanza aggregates many different content sources but isn’t as great with commercial stuff… everything has distinct pros and cons. They’re all different and I have to use all of them because they can’t/won’t talk to each other and I can never remember which damn content locker to which I committed my stuff. (Effect: lower u, higher s, significantly lowering Vebu.)
    • The problem grows exponentially greater as more retailers, publishers, application developers, and independent authors enter the market, intentionally building walls that consumers have no interest in observing.

    Here’s what needs to happen.

    If you’re Amazon, Borders, B&N, or really any retailer that is gung-ho about becoming the provider of individual data lockers, that’s fine, but you need to give us the key. It’s understandable that you’re reluctant to open up your formats in a way that could be consumed in ways you can’t control, but consider this: if you never figure out how to allow publisher content to cross application and retailer boundaries, you are effictively capping Vebu to artifically low levels. If you instead focus on optimizing all the variables instead of restraining them, you’ll have a platform unmatched even by Amazon. I, for one, would switch to it in a heartbeat.