Archive for the ‘Reviews’ Category

In praise of Tile trackers

A friend (hi Charles!) sent me a couple of Tile products (one “slim” for my wallet, one “mate” for my keys) to test out. Like other tracking products on the market, you attach a tile to your belongings, register and name it with the app.

When you lose sight of your belongings, use the app to track it down. You can play a sound to help you find where in your backpack or purse it’s gotten to or use the app to find where it’s gone to on a map.

I’ve used and reviewed similar products in the past. Despite (and possibly because of) Tile’s “no self-service” design, it has provided the best user experience to date. The unit is small, easy to attach to things (the “mate” has a built-in hole), and extremely light.

Like other trackers, Tile uses crowdfinding to notify you when your tile shows up after it goes missing.

If your item isn’t where you last had it, select “Notify When Found” in the app and when any device in the Tile community simply passes by your missing item, you’ll automatically be notified of its most recent location. This feature works 100% anonymously and automatically to protect your privacy.

Over the weekend, my son and I visited a very large park. I slipped my keys into his backpack and used my app to keep an eye on how far ahead of me he had biked. He enjoyed his ride without constant “mom nag” but with a certain peace of mind for me. (Update: No, this would not have worked at a state park, you’d need a phone with GPS for that, but it was fine at an inner city park with lots of phones accompanying bikers, joggers, dog walkers, etc.)

For the most part, thankfully, I haven’t needed to use the Tile or its app. For the few times when I’ve needed it, it’s been right there for both  keychain and wallet, reducing my anxiety and making it easy to find my stuff.

Tile Mate and Slim cost $25 and $30 for a one pack, with discounts as you buy in quantity. You can purchase adhesive tape (for remote controls), iron-on pockets (for jackets), and zip straps (for your bike) to secure more items than just keys and wallets.

The batteries are guaranteed for a year, then you can “reTile” at a discounted price ($12/Tile original, $15/Tile mate, $21/Tile slim).

Yes, Tile is not cheap (especially if you buy single units) but I’ve been extremely impressed by the reliability, ease of use, and the accompanying application.

Programming Cozmo

Anki has been kind enough to let me play with their new Cozmo unit and explore their SDK. Cozmo is a wonderful device, developed by people who understand a lot of core principles about human interaction and engagement.

Cozmo is adorable. When it recognizes your face, it wriggles with happiness. It explores its environment. When it’s bored, it sets up a game to play with you. It can get “upset” and demand attention. It’s one of the most personable and delightful robots I’ve played with.

At its heart is a well-chosen collection of minimal elements. The unit can move around the room, with a 4-wheel/2-tread system. It includes an onboard forklift that can rise and fall, an OLED “face” that expresses emotion, and a camera system that ties into a computer vision system, which I believe is based on PIL, the Python Image Library. (Anki tells me that Cozmo’s vision system “does not use PIL or Python in any way, though the Python SDK interface uses PIL for decoding jpegs, drawing animations, etc.”)

Three lightweight blocks with easily-identified markings complete the Cozmo package, which Cozmo can tap, lift, stack, and roll.

Between its remarkable cuteness and its vision-based API, it’s a perfect system for introducing kids to programming. I was really excited to jump into the SDK and see how far I could push it.

Here is Anki’s “Hello World” code (more or less, I’ve tweaked it a little) from their first developer tutorial:

import sys
import cozmo

'''
Hello Human
Make Cozmo say 'Hello Human' in this simple
Cozmo SDK example program.
'''

def run(sdk_conn):
    robot = sdk_conn.wait_for_robot()
    robot.say_text("Hello Human").wait_for_completed()
    print("Success")

if __name__ == '__main__':
    cozmo.setup_basic_logging()    
    try:
        cozmo.connect(run)
    except cozmo.ConnectionError as err:
        sys.exit("Connection error 😬: %s" % err)

Although simple, this “Hello World” includes quite a lot of implementation details that can scare off young learners. For comparison, here’s the start of Apple’s tutorial on Swift “Learn to Code”:

screen-shot-2016-12-12-at-11-45-24-am

There’s such a huge difference here. In Apple’s case, everything that Byte (the main character) does is limited to easy-to-understand, simple calls. The entire implementation is abstracted away, and all that’s left are instructions and very directed calls, which the student can put together, re-order, and explore with immediate feedback.

In Anki’s code, you’re presented with material that’s dealing with set-up, exceptions, asynchronous calls, and more. That is a huge amount of information to put in front of a learner, and to then say “ignore all of this”. Cozmo is underserved by this approach. Real life robots are always going to be a lot more fun to work with than on-screen animations. Cozmo deserved as simple a vocabulary as Byte. That difference set me on the road to create a proof of concept.

In this effort, I’ve tried to develop a more engaging system of interaction that better mirrors the way kids learn. By creating high level abstractions, I wanted to support the same kind of learning as “Learn to Code”. Learn to Code begins with procedural calls, and then conditional ones, and moving on to iteration and functional abstraction, and so forth.

My yardstick of success has been, “can my son use these building blocks to express goals and master basic procedural and conditional code?” (I haven’t gotten him up to iteration yet.) So far, so good, actually.  Here is what my updated “Hello World” looks like for Cozmo, after creating a more structured entry into robot control functionality:

from Cozmo import *

# run, cozmo, run
def actions(cozmoLink):
    '''Specify actions for cozmo to run.'''
    
    # Fetch robot
    coz = Cozmo.robot(cozmoLink)

    # Say something
    coz.say("Hello Human")

Cozmo.startUp(actions)

Not quite as clean as “Learn to Code” but I think it’s a vast improvement on the original. Calls now go through a central Cozmo class. I’ve chunked together common behavior and I’ve abstracted away most implementation details, which are not of immediate interest to a student learner.

Although I haven’t had the time to really take this as far as I want, my Cozmo system can now talk, drive, turn, and engage (a little) with light cubes. What follows is a slightly more involved example. Cozmo runs several actions in sequence, and then conditionally responds to an interaction:

from Cozmo import *
from Colors import *

# Run, Cozmo, run
def actions(cozmoLink):
    '''Specify actions for cozmo to run.'''
    
    # Fetch robot
    coz = Cozmo.robot(cozmoLink)

    # Say something
    coz.say("Hello")

    # Drive a little
    coz.drive(time = 3, direction = Direction.forward)
    
    # Turn
    coz.turn(degrees = 180)
    
    # Drive a little more
    coz.drive(time = 3, direction = Direction.forward)

    # Light up a cube
    cube = coz.cube(0)
    cube.setColor(colorLime)
    
    # Tap it!
    coz.say("Tap it")    
    if cube.waitForTap():
        coz.say("You tapped it")
    else:
        coz.say("Why no tap?")
    cube.switchOff()

Cozmo.startUp(actions)

And here is a video showing Cozmo executing this code:

If you’d like to explore this a little further:

  • Here is a video showing the SDK feedback during that execution. You can see how the commands translate to base Cozmo directives.
  • I’ve left a bit of source code over at GitHub if you have a Cozmo or are just interested in my approach.

As you might expect, creating a usable student-focused learning system is time consuming and exhausting. On top of providing controlled functionality, what’s missing here is a lesson plan and a list of skills to master framed into “Let’s learn Python with Cozmo”. What’s here is just a sense of how that functionality might look when directed into more manageable chunks.

Given my time frame, I’ve focused more on “can this device be made student friendly” than producing an actual product. I believe my proof of concept shows that the right kind of engagement can support this kind of learning with this real-world robot.

The thing that appeals most to me about Cozmo from the start has been its rich computer vision capabilities. What I haven’t had a chance to really touch on yet is its high level features like “search for a cube”, “lift it and place it on another cube”, all of which are provided as building blocks in its existing API, and all of which are terrific touch points for a lesson plan.

I can easily see where I’d want to develop some new games with the robot, like lowering reaction time (it gets really hard under about three quarters of a second to tap that darn cube) and creating cube-to-cube sequences of light. I’d also love to discover whether I can extend detection to some leftovers my son brought home from our library’s 3D printer reject bin.

Cozmo does not offer a voice input SDK. It’s only real way to interact is through its cameras (and vision system) and through taps on its cubes. Even so, there’s a pretty rich basis to craft new ways to interact.

As for Anki’s built-ins, they’re quite rich. Cozmo can flip cubes, pull wheelies, and interact in a respectably rich range of physical and (via its face screen) emotional ways.

Even if you’re not programming the system, it’s a delightful toy. Add in the SDK though, and there’s a fantastic basis for learning.

Review: Man, I hate Cursive by Jim Benton

Screen Shot 2016-08-21 at 7scaled.58.09 PM

If you like good, stupid, subversive humor (and who among us does not?), consider pre-ordering Jim Benton‘s “Man, I Hate Cursive”.

Due out this October, this cartoon collection for “People and Advanced Bears” is silly, witty, and laugh-out-loud fun. It offers a collection of Benton’s more popular strips from Reddit, “shining a light on talking animals, relationships, fart jokes, and death” according to the book’s promo copy.

I liked it a lot. Admittedly, some of the humor leans off-color: it’s the kind of book you gift a friend, a fellow programmer, a geek, but not maybe your mom unless your mom is a friendly programmer geek, in which case, she’ll enjoy the laughs.

You’ll probably like it too, in which case, it’s excellent for leaving around on coffee tables if you’re a little uptight or in bathrooms, where its humor might be more appreciated during those deeply  philosophical times when you forget your iPad and don’t subscribe to the Ikea catalog.

Screen Shot 2016-08-21 at 7.57.05 PM

At just under a hundred pages, the book ended way too soon for me.  “Man, I Hate Cursive” is available for pre-order on Amazon ($11.07 paperback, $9.99) and will be published on October 18, 2016.

NetGalley provided me with a free copy of the book for this review.

Book Review: Post this Book

cover86411-medium

Sometimes there is such a thing as too many memes and kitten gifs. David Sinden and Nikalas Catlow breathe fresh air into social media feeds with #Post This Book  (Sourcebooks, $9.99, complete with built-in hashtag). This sweet inspirational book is suitable for tweens, teens, and even college students. It offers 150+ pages of ideas for tweeting, tumbling, facebooking, vine filming, and instagramming.

It’s not a book you read. Each page offers one or two ideas along with quick descriptions. You turn pages, you get inspired, you go out and express yourself using those ideas. Everything is simple, but well tweaked to connect with an audience and inspire a conversation.

Screen Shot 2016-06-26 at 7.56.15 PM

With kids and social media, there’s always tension between privacy and free expression, appropriateness and creativity. I’m pleased to say that in the time I spent flicking through pages in this book and showing examples to my kids, that I didn’t find anything objectionable or problematic.

The ideas in this book allow kids involve themselves in public fora (using anonymous nicks and handles, of course, because, you know, reality). At the same time they’re exploring their imaginations, they’re not crossing inappropriate lines that are so prevalent on Tumblr and beyond.

Screen Shot 2016-06-26 at 8.17.05 PM

This book’s projects offer positive ways to test the waters of social media. Whether brainstorming how to “zombify something unlikely”, videoing time lapsed “tidying up”, or creating “a tabletop obstacle course”, all the projects I read through were inspirational and fun.

#Post This Book goes on sale on July 1st from Sourcebooks. It’s a perfect “gift” book — for just 10 bucks, you can probably buy a small tin of colored pencils or markers to pair with it without breaking the bank.

I was given early access to the manuscript for this review courtesy of NetGalley and Sourcebooks.

Review: BetterTouchTool

I am a shortcut-addict. Right now my drugs of choice are the superb Keyboard Maestro and Apple’s built-in Spotlight. Now that I bought my new (well, new-ish refurbished) Macbook Pro, I’ve been frustrated by my trackpad and the limited vocabulary of available useful gestures and the overwhelming vocabulary of gestures I don’t think I’ll ever actually use.

While Safari’s pinch-to-overview tabs is nifty, it’s slow and annoying. I just want to flip between tabs and I don’t want to have to reposition my hands from their “scroll au natural” baseline.

Enter BetterTouchTool ($7, with adjustable pricing). It’s basically Keyboard Maestro for trackpads and within minutes, I was set up with my new touch-then-tap to flip tabs. It was exactly what I needed and my money was soon winging its way through Paypal.

Like Keyboard Maestro, you can set the scope of the gesture to be universal or a single app. It offers a wide range of gesture customization, and you can set it up to activate menu items, take screenshots, mimic the built-in gestures with different touch styles, and more.

If you want to give it a full test ride, the developer offers a 45 day try-before-you buy. For me, it solved a problem that needed solving, it worked, and I was sold.

Book Review: The Useful Book

Screen Shot 2016-01-13 at 3.40.53 PM

Netgalley recently allowed me access to Sharon and David Bowers’ The Useful Book (Workman Publishing, $20) to see what I made of it.

For someone who holds DIY and “making” close to her heart, it’s a fun but imperfect find, featuring over a hundred practical how-to “skills” that you might not have picked up from traditional sources like Home Economics class or Wood Shop.

The book consists of two sections, one focusing on home skills, the latter on handyman ones. The page layout is easy to follow with sensible columns, lots of art, and simple step-by-step instructions. You can dive into a random page and grab some how-to without having to read from cover-to-cover.

I see this more as a gift book suitable for a coffee table than a much-loved reference. I found the coverage to be entertaining even when I disagreed with some of the suggested approaches or found them missing important details.

I warn you that some of the topics may seem a little underwhelming (“How to boil water” and “How to care for your (sewing) needles” spring to mind). The practical applications (“Superstitious folk wisdom advises that, to protect a child from evil spirits during sleep, a key must be slipped under his or her pillow”) may not exactly fit my corner of the DIY community.

For example, my physicist husband points out that there’s absolutely no reason to stick with cold water for boiled water (#1, “How to Boil Water”), as dissolved mineral danger is hyped up in his opinion. He adds that the reason you want to cover your pot is to prevent heat from escaping, and make your water boil faster, more than losing water content through steam.

I learned that I could have drained my tofu (#47, “How to Cook with Tofu”)  — a step I have never taken and am unlikely to adopt even now, but was happy to learn about. (I use my hand to provide top-down pressure as I slice tofu sideways first before doing rows and columns.)

We like bright lights in our workspaces and are unlikely to swap them out for cost-saving lower wattage units (#177 “How to Slash Your Electricity Bill”)

This isn’t to say there isn’t good advice on-hand, like sanding rough spots when patching a wall but I do wish that they’d offered advice like checking the inside of a bike tire as well as looking at the outside for possible reasons why it went flat, a critical tip in goathead country.

If you’re looking for a nice housewarming gift for a new couple, this title could suit the bill. If you’re looking for a deeply geeky read, this probably isn’t going to be your cup of tea.

Amazon Kindle Fire, the $35 “Education” edition

It was hard to miss the $35 Kindle Fire deal on Friday. Deep discounts extended across nearly all the Amazon Kindle product line but I limited myself to purchasing two units, augmenting the 2011-vintage unit we already had on-hand.

Our new tablets arrived yesterday and they are definitely a step up in quality from the original line. They’re faster, the UI is cleaner, the features more extensive with built-in cameras and microphone. The units are not so different in weight but they feel better made and more consumer ready.

The new Fires are also more obviously and in-your-face a marketing arm of Amazon and less general purpose tablets. That is hardly surprising for a $35 (shipped!) purchase but it’s one that as a parent you have to be really cautious with. I quickly enabled parental controls (something I’ve never done on our iPads) and disabled insta-purchases.

One of the two Kindles is replacing a first generation iPad mini, which was lovingly purchased as “gently refurbished” before being dropped from a height of about three feet to its death, approximately five seconds (give or take a week) after its arrival. That mini replaced a 1st gen iPad, which since the mini’s untimely demise, has been back in service — gasping and wheezing and doing its best to keep up. The Kindle is no iPad mini but it has a role in our lives to fill.

Speaking as a parent, having a $35 alternate is a very good thing. I don’t really care that it doesn’t run all the same apps (or even very many of the good apps). It connects to the net, does email and web, allows child to do most school related tasks. It is acceptable.

We’ll see how the school transition goes. I suspect teachers will applaud the built-in book reading and condemn the onboard videos. (There’s also a music app but really who wants to spend time setting that up?) At the very least, this new tablet will probably work better and more reliably than the 1st generation iPad that’s currently being hauled to and from school every day. Fingers crossed.

As for the second Kindle Fire, well, that’s going to younger brother who is currently trying to keep his Chromebook working. The 2012 Samsung Chromebook although initially appealing turned out to be one of the worst pieces of hardware we ever bought

His all-Chromebook school agrees. They’re transitioning next year away from these cheaply made, unreliable pieces of…hardware…probably to iPads if they can get a deal/grant/whatever through the school district.

Every parent was required to purchase Chromebook insurance. We’ve paid twice for replacements, and this doesn’t count the 2012 Chromebook we personally bought out of pocket and liked so much for the first few months until it started to fail and fail and fail and fail.

Compare this to our 2011 Kindle Fire which other than a loose charging port is still working well and our 2010 iPad, which we’re abandoning only because it weighs about as much as a baby elephant and it cannot run new operating systems.

Amazon isn’t pushing Kindle into the classroom the way Apple makes that connection. It’s a commerce machine not a expression of learning and expression. I may have to use side-loading to get classroom-specific Android software onto the boy’s new Kindle Fire. Last night, I got the technique down, just in case.

For $70 total shipped between the two tablets, it’s an experiment I’m happier to make than usual. Wish us luck. I know there will be more roadbumps than if we went the iPad route.

Updates from a post-laptop world: Nulaxy keyboard adapter review

Ever since my daughter stole my laptop, I’ve been trying to make do with my iPad when on the go.

I own an Apple bluetooth keyboard but I hate the chicklets. So I bought this Nulaxy keyboard adapter from Amazon. For $25, I thought it would be a great “bring your own keyboard” alternative. Attach a keyboard, and it converts it to bluetooth for use with tablets.

It arrived yesterday, and this morning I finally got a chance to kick the tires so to speak. Unfortunately, I don’t have good news to report.

The lid of the battery compartment doesn’t stay on and won’t click into place. Any minor vibration on the table with it in use causes the lid and one or two of the batteries to pop out. Not good.

Even taped shut, it’s a disappointment. Unlike most people, I actually have drawers of keyboards around to test. So I grabbed four of them, ranging from low end to high, low-power to mid-power, plugged them into the Nulaxy, and attempted to sync.

I was unable to get a single keyboard to connect to my iPad.

I guess it’s time to process a return at Amazon.

I just bought a subscription to Cloak VPN

It’s that time of year. All my services subscriptions are either ready to renew or it’s about time I review what I’m paying for year-round. I currently have three especially problematic services:

  • VPN (hard to connect to, iffy  service, interference with Google),
  • Offsite backup (Java engine that completely destroys my Mac and creates a wind tunnel — I’ll probably be switching to Backblaze soon), and
  • An Internet provider whose service degrades if more than three people look at my site at once (I’ve heard good things about Digital Ocean, if you have alternate recs I’d love to hear them).

I’ve been with all three current providers for years and years. As of today, I’ve now managed to ditch at least one of them. Today, I threw my credit card at Cloak VPN. I’ve been testing the service for the last week and I’m hooked.

It’s a very Apple-aware iOS-designed provider. (I haven’t used the OS X component because my daughter, as you might have read here, has appropriated my laptop so I’m currently laptopless.) Most importantly, the service just works. When I connect to an untrusted WiFi network, the VPN service automatically switches on. When I’m home to my recognized WiFi, it switches off. Cell service is automatically trusted as a default setting.

In my daily life, I’m surrounded by attwifi and xfinitywifi hotspots. Now, my iPad knows that it can automatically connect to these and switch on my VPN cloak. Yesterday, as I was sitting at the car shop, I suddenly noticed that my iPhone was getting unusually good response speeds. Turns out that it had connected to a recognized big-name hotspot provider and sure enough, cloak was already there and protecting me.

This morning, Cloak got my money.

Service plans start from $2.99/month for 5GB bandwidth but if you consume a lot of data, for example with a laptop or at home, there’s an unlimited plan at $9.99/month or $99.99/year. The plans extend to an unlimited number of devices but they are one-person each. The company politely requests you don’t buy a single plan for an entire family, company, or dorm.

Review: em notes for Dropbox

I continue to struggle with “work on the go”. Daughter has taken my laptop (although that itself was not an ideal solution), leaving me with just an iPad and keyboard to work with away from the house.

When your brain and fingers are absolutely wired for Emacs editing, it’s a frustrating experience to have to work on the iPad, with all its touching. As a touch-typist, any time I have to move my hands away from the keyboard, it feels like I have failed.

After some searching around App Store, I eventually downloaded a few Emacs-style editors. Of these, em notes (about five bucks) offered the best solution. It links with your Dropbox account and enables you to edit text in an application folder there, ensuring you can load and work on documents and have them available as well in the “real world”, aka anywhere you’re not working on an iPad.

The app by Daisuke Kawamura is not entirely ported to English. Expect to find a few non-localized menu items and help write-ups. Despite that, and despite its Engineer-looking bare-bones design, it represents the best I could find for now although I hold out hope for better.

The fonts are adjustable, it integrates well with the system pasteboard, and you can disable the alternating blue and white lined background which caused me irrational anger. The key bindings are settable to either True Emacs or Mac-style, which is a really nice touch.

I could not get rid of the carriage return symbols which continue to haunt and irritate me and the app doesn’t respond to Command-N to create new files. Argh.

There’s a cool little feature for renaming files that I discovered by accident, by the way. Just tap the name on the navigation bar and it transforms into a name editor. Nice.

If only, the app could export a keyboard for other apps that supported Emacs key entry as well, it would come close to ideal. As it stands em notes isn’t pretty or perfect but I’m glad I forked over the money for it.

A few unrelated points:

While I’m writing about keyboard entry, I’d like to point out how frustrating keyboard-based iOS spotlight is. You can hop into it using Command-Space, just like on a Mac, but it’s slow as anything and if you’re trained to follow that launch with the text you’re searching for, 99% of the time, it will type into the currently active program instead of Spotlight because, yes, Spotlight launch really is that slow.

Once in Spotlight, there’s no way to navigate search results by the keyboard, so you have to reach around and touch the screen to pick the item you’re hunting for. So annoying.

As I was testing text entry today, I realized how far away I  keep my monitors. The relatively small size of the iPad normally doesn’t bother me because I  interact with it much nearer than I would with a proper monitor.

Using a stand and keyboard made it almost unusable for my eyesight because the iPad was pushed back so far. I think this is one of my major issues with laptops in general too. I tried setting up the iPad to my left to get it closer but it just gave me a sore neck.