Choosing a password…

My wife received an email from a good friend recently that contained a link to a website. My wife is pretty internet-savvy, so she was wary of the link, despite the source, as the email contained just the link, no subject and no other content. However, it did throw her a little because it was sent to other mutual friends as well (listed in the to field).

It was evident that the source friends email account had been compromised*, which prompted me to write this blog post about passwords and what makes a good choice of password.

There are many good articles on password selection that I highly recommend you read:

However, these are the rules of thumb that I generally keep:

  • Never use a single dictionary word or name;
  • Make sure it’s more than 8-10 characters;
  • Use punctuation marks or other characters (e.g. !, ?, #, $, & etc);
  • If you’re worried about forgetting your password, use a password manager app (The WordPress article above lists a few).
  • Change them, if you can, regularly (the password manager app helps with this).

If you have any other suggestions or articles on password security, feel free to post them in the comments section.

* I have no knowledge of the strength of my wife’s friends password, I just thought it would be good to reiterate password strength in light of the situation.

Titanium – Always add a className to your table view rows!

Something that I’ve found to be increasingly temperamental is Ti Android’s differing ability (or inability) to handle different types of table view rows.  I’ve recently had a few situations where I’ve been stuck on a ‘WTF’ moment, trying to figure out what the hell is going on with my app in Android and why it wasn’t working.  Each time, it’s been one single thing that has been causing all the heartache and hear-tearing. The className parameter.

At the time of writing, Titanium’s SDK is up to version 2.1.1. I started writing Ti apps around about 1.5-ish and it was considered that the className property was more a performance helper in iOS than anything else. These days, it’s becoming more and more clear that it’s a necessity if you’re releasing an Android app.

So, remember kids, don’t forget the className parameter. If your table rows vary in any way other than the value of the title, then give it a different className.

Titanium – Gotcha with using events to update views in Android

While developing an app with Titanium Mobile which consisted of displaying messages (a bit like email), I was getting a crash in Android when I checked for new messages and updated the table views, however it was only crashing after I’d viewed the message list in a category and gone back to the main screen for a refresh. The frustrating thing is that it ran fine in iOS but not in Android. Read more of this post