Retrieving Android Contacts

If you are developing a social networking app, or something similar (and who isn’t!), then you might need to retrieve contacts. There are several samples out there that do something like this (sample code in MonoDroid):

private void PopulateContacts()
{
   var uri = ContactsContract.Contacts.ContentUri;
   var cursor = ManagedQuery(uri, null, null, null, null);
   while (cursor.MoveToNext())
   {
      var contactId = cursor.GetString(cursor.GetColumnIndex(BaseColumns.Id));
      txtContacts.Text += System.Environment.NewLine + "Id = " + contactId;
      txtContacts.Text += System.Environment.NewLine + "Name = " +       cursor.GetString(cursor.GetColumnIndex(ContactsContract.ContactsColumns.DisplayName));
      var emailCursor = ManagedQuery(ContactsContract.CommonDataKinds.Email.ContentUri, null, "CONTACT_ID" + " = " + contactId, null, null);
      while (emailCursor.MoveToNext())
      {
         var email = emailCursor.GetString(emailCursor.GetColumnIndex("DATA1"));
         txtContacts.Text += System.Environment.NewLine + "Email: " + email;
       }
      emailCursor.Close();
      txtContacts.Text += System.Environment.NewLine;
   }
   cursor.Close();
}

Continue reading

So You Want To Live on an Island

As you may have read in Living the Dream, I live half-time in North Caicos, a small island in the Caribbean. When finding this out, fellow developers want to know how I managed to make it happen. I’ll talk about some technical considerations later, but the question is really about how you can position yourself to work in paradise. “You may ask yourself, well, how did I get here?”1 Lots of folks work, as an old co-worker of mine once said, their ordinary job in their ordinary way for their ordinary pay. It is the seemingly safe thing to do, and I fell into that pattern as well. Often, however, people want more, and when presented with proof that it is actually possible, the wheels start turning.

When I was growing up, I wasn’t ambitious. My family didn’t come from money, and most everyone I knew worked their ordinary jobs. I grew up thinking you went to college, and then you worked in a profession until you retired. The idea of starting a company never occurred to me. Why, I’m not sure, because a close friend of the family was an engineer who owned his own company. Yep, I had a mentor right there in front of me, and yet didn’t see it. I was constrained by my ideas of a normal life. Continue reading

Why You’ll Eventually Hate Your Boss

Perhaps you are one of the fortunate ones. Your boss is great. They respect you, appreciate your hard work, provide valuable guidance and insight, understand what you are doing, but give you enough freedom to create. Good for you! Now, wait for it, because it won’t last. Eventually, you’ll hate your boss. Hate may be too strong of a word, you just won’t want to work for them anymore because they:

  • Micro manage,
  • Play politics,
  • Don’t have any technical knowledge,
  • Are too negative and see problems where there are none,
  • Underestimate everything,
  • Make decisions without information,
  • Yell like a drill sergeant,
  • Are disorganized,
  • Can never be reached,
  • Change requirements hourly,
  • Think they know how to do everything, and it involves VB,
  • Never anticipate problems,
  • Don’t allow creativity, everything has to be by the spec,
  • Are indecisive,
  • Are too easy-going, and let people get by with murder,
  • Don’t provide input or add any value,
  • And on and on…

Any of these sound familiar? Do you want your boss to possess any of these qualities? Those of you with good eyes may see some contradictions in these common complaints. Requirements change all the time, but I can’t be creative, and have to do it to the spec? Well, which do you want, flexibility to be creative or stable requirements? I would guess the answer is ideally both, but at least a nice balance between the two, and therein lies the rub. It would be great to have a technically competent boss who provides tremendous input, makes timely decisions, but also allows plenty of freedom and independence to employees, all while being organized and setting clear objectives. Now that sounds easy enough, right? Continue reading

Is This Another Developer Blog?

Um, yes, er, no, on occasion, but not really. Is that clear? No? OK, so let’s talk about what this is. I am indeed a developer, and there will be some tutorials, tricks and insights about developing software, but that won’t be the only focus. I’m also a business owner, have had a long and varied career, and live on a tropical island, so I think there’s more to life than code. I also have opinions, and am absolutely willing to voice them. So, hopefully, this will be entertaining, interesting and/or educational in a number of different areas.

Joel on Inspiration

Once upon a time, there was an interesting site called Joel on Software. Oh, that’s right, it’s still there. Well, Joel used to write all sorts of interesting articles about developing software and the business of selling it. His company grew, and I suppose he doesn’t have time to write like he used to, but I enjoyed reading him, and miss those articles. They were perfect for in between code runs, where you want to let your mind relax for a bit, but you were still learning something. I hope this will provide you those kinds of experiences. Continue reading

Living the Dream

As the title of this blog hopefully indicates, I am a developer who lives on an island, a tropical island to be precise. North Caicos is a quiet island in the Turks and Caicos Islands (TCI). Roughly a million people spend a fair amount of hard-earned money to vacation here, including the random celebrity or two, and I get to live here half of the year. A number of fellow developers have said to me, “You’re living the dream.” The photo in the header was taken from my back deck, so yes, life is good.

There are two questions that people ask me right away:

  1. What’s it like living there?
  2. How did you manage to make it happen?

The second question has a lot of answers which I’ll talk about in other entries, so let’s get to the fun part first. North Caicos is a relatively small (40 square miles), lightly populated (1500 people) island with an amazing beach, and hardly anyone knows about it. The photo below was taken during the middle of a beautiful day in tourist season. The most people we’ve ever seen on the 1 mile stretch are 20. Yep, 20.

Empty Beach Continue reading