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


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.

Java Library Betas


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


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


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.

Java Sensor Lib 1.0.1

I’ve been working on the Java Sensor Library documentation for the last couple of days.  Javadoc’ing everything, seeking out bugs, and generally getting it ready for the 1.0.1 release to Maven Central.  Along the way, I’ve refined a few methods, found some logic errors, and introduced a simpler API.  I think it’s almost done, and after writing a few more JUnit test cases, it’ll be ready for release.

An Introduction


I hope today finds you well.  I’m Rob, one of the developers of the Owl Platform.  I’d like to take a minute to introduce myself and talk a little about what we’re doing here.

I’m a Ph.D. candidate at Rutgers University in New Jersey.  I’ve been working on indoor location systems and sensing platforms for the past 6 years.  Right now my energy is focused on getting the Owl Platform going (obviously!) and investigating techniques to track motion indoors.

The Owl Platform is the result of many years of many people working hard on the GRAIL project at Rutgers Computer Science. Since its inception, it was always a research tool, prototype, or technology demo.  We’ve used it to test new indoor positioning techniques, sensing platforms, and some ubiquitous computing applications.  Our favorite is still getting emails and twitter posts whenever someone makes coffee.

Now, however, we’re trying to make it ready for real use.  We want our friends, family, and everyone else to be able to interact with their world in new ways.  We know it has to be easy, and that’s why we’re putting so much effort into the Owl Platform.  We think it has the potential to combine many different “smart” devices to create truly “smart spaces.”

As described on our front page, we’re gearing up for a Kickstarter funding round next month, so we’re really busy getting things in order.  Not only that, but we’ve still got our normal school-related duties to attend to (writing papers, reading papers, sleeping at our desks).  In any case, we’re really excited and I hope that if you’re reading this, you’ll be excited too.  Keep coming back as the site gets better and we post updates and info about what’s going on.