Prepping for 2013 NYC Makerfaire!

We are heading off to the NYC Maker Faire again this year, but this time we plan to have our Kickstarter launched soon after! We also want to sell a few early bird packages to get our sensors into the hands of a few users so we’ve been working on making our website more presentable. I don’t really have anything else to say other than that, so I’ll just throw in some pictures of Mr. Howard here; he’s so photogenic!

RichAndShirtEveryone really likes Rich Howard.

Everyone really likes Rich Howard.

Working RPIP + Wiznet 5100 Prototype

We’re planning on using the MSPG2553 on our basestations, called RPIPs, but we want to use Ethernet as our backhual to send data to the cloud so I’ve working on getting DHCP and DNS working with the Wiznet Arduino shield. The wonderful mess of wires in the photo is my working prototype (an MSPG2553 on the launchpad board and a Wiznet 5100 shield). Woo!

msp_wiznet_wiremess

I’ll be cleaning up the code so that I can publish it on Owl Platform’s github, and we’re finalizing the hardware designed of the receivers. We’ll be using these new receivers when we launch our system, but other people may also get some use out of them since they’ll be pin compatible with Arduino shields while also have on-board radios. This would help people who are looking to migrate from the Arduino to the MSP since they could still use all of the Arduino shields that they’ve bought and worked with before, but with the MSP and an already wired and tested radio design.

Java WM Library 1.0.5

A (very) minor release for the World Model Java library.  I’ve changed the dependency on mina-core to the JAR type instead of the bundle.  All the MINA docs want you to use the bundle packaging, which requires the maven-bundle-plugin.  In the end, mina-core doesn’t require bundling, and it became a headache.

Maven Central should be updated in the next 24-48 hours.  If you’re impatient, you can always build from GitHub.  If you’re already using version 1.0.4, you don’t need to make any changes.

BCrypt Settings

Aside

While working on the new web API for Owl Platform, I had some trouble finding the right parameters for bcrypt.  It’s a great library/algorithm for password encryption, but I couldn’t figure out what the right log factor was.  The default value of 10 was described in plenty of articles, but I had no idea what was right for 2013.  Here’s what I found.  On my Intel i5 M460 (2.5 GHz), it took around 440 milliseconds to hash/verify a password using a log factor of 12.   This seems entirely reasonable to me.  I hope that on better hardware it will still take at least 5-10 milliseconds, slowing down attackers.

Ben and I got into a big tirade about what was really secure and what crypto strength meant and everything, but in the end I think a log factor of 12 is sensible.  I may bump it up to 13 before we go live, if the hardware keeps the hash under 200 ms.

Bay Area Maker Faire 2013

Live MakerFaire Demo!

We’re just starting day two of the 2013 Bay Area maker faire! We had a lot of fun yesterday meeting lots of people as they came by. Plenty of people are asking us how we are different from other sensing and Internet of Things groups — and given how many groups there are I totally understand the confusion!

The Owl Platform philosophy has two important ideas. First, people should be able to just unpack a sensor from a box, stick it somewhere, and forget about it. This means that sensors should be ready to use straight from the box and shouldn’t require constant maintenance, which is why the multi-year lifetime of our sensors is so important!

Our second main idea is that people want to program sensor data, not the sensor! Programming a sensor is a real pain — you need to worry about interrupts, wireless networking, battery consumption, and a lot of other details that don’t matter to your goal. Owl Platform’s network API let’s you get right to working with your sensor data so you can get right to making the sensor application you want. Our API is so simple that many of our apps can be written in 50 line Ruby scripts!

Check out the open source implementation of our API in C++, Java, and Ruby at github.com/OwlPlatform and read more about our system at www.owlplatform.com/developers.php

Java Library Betas

Status

The Java libraries are in Beta now.  I’ve finished the common (released), sensor, solver, and world model Java docs, but I still need to add unit tests to parts of the world model, and then write-up a few examples for testing before releasing them to Maven Central.

Things seem to be moving along nicely.  Ben is working out a few bugs in the world model/C++ socket code, and his port to MariaDB should be ready for lab testing soon.

Finishing the Java libraries

Status

I’m nearly finished with the Java libraries.  I’m adding the last Javadoc comments to the world model library now, and I think by Friday I’ll have enough unit tests and testing done to release the libraries to Maven Central.  It’s going to feel really good to get these things done and start working on the rest of the components again.  Perhaps even some work on my motion localization algorithm.

Quick code examples

Status

This weekend I added some new code examples that demonstrate how to use the Java libraries (sensor, solver). They’re just a start, mostly for testing/debugging. Later this week, when the World Model library is ready, I’ll add some useful Solver and Application examples. I’m thinking of making a little chat program that utilizes the World Model as a server.

All the Java example code is being kept in a repo on Github.