Small #Smithereen update. I now update actor objects if my local copy is older than 24 hours and an activity comes in from this actor. Cache invalidation is one of the hardest problems in programming and this isn't perfect but will work for the time being. Also started logging exceptions and fixed a bunch.
I'm so spoiled by Android runtime. There, NullPointerExceptions are informative: it tells you what was null and what exactly you tried to do that caused the null pointer dereference. The regular JVM says "java.lang.NullPointerException" and that's it, the message is always an empty string, because is it even life if you aren't suffering.