Author Archives: luis

Android + Glass Meetup

Did I mention that I started up a group called Android + Glass, a meetup which is focused on developing apps for Android and Glass over in the Tysons Corner area?

In addition to iOS, I also like to develop for Android. I’m also a Glass Explorer (I got in on the second round thanks to my buddy Andrew at Near Infinity.) Since the native Glass SDK, the GDK, is built on top of Android, I get to leverage all of that for Glass dev.

I also have a passion for getting developers together. I’m not sure exactly why, but I think it is just great to meet other programmers and talk with them. Maybe so we don’t feel so alone in the world? Not sure.

Also it is nice to have a meetup group that is close by. Around where I live and work, traffic is brutal. We regularly tie with Los Angeles for the worst traffic in the USA. It’s so bad that a guy from Manhattan said that he thinks our traffic is bad. Manhattan!

So I’ve started a local Android and Glass (and likely soon Wear) development group in the Tysons Corner area. We’re meeting at Capital One DIG, which is the building next to the infamous “shopping bag building.” It is kind of connected to Tysons Corner via a walking bridge too, which is nice if you want to go there to shop or eat beforehand.

Why start another group? Proximity and focus. There are other groups that discuss Android and Glass, but none in the immediate area. They usually meet either near Dulles or in downtown DC. While that seems close on a map of the USA, it can be an eternity in rush hour traffic.

Our focus is also purely on Android and Glass (and Wear) development. We don’t really talk much about other Google technologies unless they build on Android like Glass. We talk a bit about Glass usage because it is so new. We are also exploring related wearable technologies because the whole wearable space is pretty new. But we always look at them through a development lens: how can we write apps for that platform? What applications make sense in that context? What are the common techniques when developing with that API?

I do like the other local groups, namely the GDG-DC, Google Glass DC and DC Droids. I will likely go to their meetings occasionally and I encourage you to go there as well, especially if you live close to them. If you love all Google technologies, GDG is the best bet. If you like to explore all aspects of Glass, not just the programming side, Google Glass DC is probably better. But I hope to make a nice cozy regular meetup for Android developers and Glass developers here in the Tysons area.

Speaking of which, we have already had two meetings and we will have another one on April 29th, where we’ll be talking about mostly about Android and Bluetooth LE (and we’ll also have an Oculus Rift on hand to compare and contrast vs Glass, especially the SDKs.) We will have regular meetings, which I think is important for a meetup – as I’ve learned from Jose, the organizer of NSCoderNightDC. The meetings after that are scheduled for May 21 and June 18.

If you are interested in makings apps for Android or glassware for Glass, I encourage you to join the meetup group and RSVP for one of the upcoming meetings. Did I mention there will be free pizza and drinks courtesy of Capital One? :D

iOSDevCampDC 2014 Coming in August!

Mark your calendars: the date for iOSDevCampDC 2014 will be Saturday August 2 Friday August 1, 2014. We’ve booked a big place this year for iOSDevCampDC 2014 – the new DIG space at Capital One in Tysons Corner. It will follow the same one-track format, although we’re thinking of having some more time in-between sessions so we can enjoy the game room. I hear foosball and air hockey are good for learning. :)

We’ve also issued a Call for Speakers, ending on March 28th, so if you’re interested in speaking, send us a talk proposal with what you want to present, a short bio and link to your Twitter (or other) profile to info@iosdevcampdc.com. We would love to have at least one female speaker especially. Natalia presented along with Keith and Kiril about Harbor Master back at iPhoneDevCampDC and she was well received.

If you are interested in attending, please stay tuned and follow @iosdevcampdc on Twitter. We’ll likely be opening up early bird ticket sales sometime in April.

I’m going to be speaking at WearablesDevCon

WearablesDevCon is a conference about wearable technology from March 5 – 7 over in San Francisco.

I’m going to be giving two talks:

A tutorial called “Transitioning from Android to Google Glass” where I will take people from building apps for Android (and mobile devices in general) to Glass.

I’m also going to go in-depth into live cards in my talk “Deep Dive into Google Glass Live Cards.”

I’m really excited about Google Glass. I think it is going to be the premiere wearable general computing platform. I’m also interested in seeing what other wearable technologies are out there. If you’re interested in Wearables, then check out WearablesDevCon. If you use my last name “DELAROSA” as a coupon code, I think you get an extra discount.

Enable Two-Factor Auth in GitHub

My source code is really valuable to me. So I like to secure it as much as possible. GitHub does a good job of securing things on their end. I use SSH to pull and push my code so that it is securely transmitted over the network to my computer.

However, there is still a potential problem with having a single password to log in to the GitHub website. That log in also allows access to your code. If someone wanted to pull from one of my repositories, they would have to have my SSH private key (and password) which is on my computer. If they somehow figured out my password, they could just log in from anywhere. How can I stop that from happening? Obviously, generating a random, unique password using a password generator like 1Password will help. But that isn’t enough, since someone could stand behind you and watch you type it in on your computer or phone, then later impersonate you.

What I need is Two Factor Authentication. This makes it so that an attacker needs both my password AND a physical device (i.e. the phone I carry around.) That device either receives an SMS with a code or has a synchronized authenticator app that generates a code that I enter in my password. It is easy to enable this on GitHub and I recommend that everyone do so.

To enable Two Factor Auth, follow the instructions at: https://help.github.com/articles/about-two-factor-authentication

Note that for ongoing authentication, I personally use Google Authenticator but others like to use Authy. You can also use SMS to get your codes if you prefer.

I have my backup recovery codes stored away in case of emergency. These are useful if you lose your device – you have to make sure these are also kept secure.

I’m giving a Google Glass talk at DevIgnition

If you’re in the Washington DC area, please come to my talk about Developing for Google Glass at DevIgnition. I’ve only got 30 minutes, so it will be a whirlwind tour but it should be enough to get you started on the premiere platform of the Wearable Generation(TM).

Also, I wrote up a blog post on the savvy apps blog discussing my initial thoughts on the GDK.

UPDATE: The slides are available in the Glass section of my blog.

Lagunitas – an iOS app inspection tool

If you make iOS apps, sometimes it is helpful to verify that the archive you made via Xcode has what you expected inside of it. Lagunitas is a tool to help you do that, courtesy of @soffes.

I just tried it out and it works great. Here are some usage notes:

I use rvm so I have a nice Ruby 2.0 environment on Mountain Lion, so I installed the Ruby Gem for Lagunitas like so:
rvm use 2.0
gem install lagunitas

After that, I changed to the directory that had an IPA I was interested in.

I fired up irb:
irb

Once in irb, I required (which is like an import) lagnuitas and tried to inspect the app inside the IPA:
require "rubygems"
require "lagunitas"
ipa = Lagunitas::IPA.new("myAwesome.ipa")
app = ipa.app

I was confronted with this error message:

NameError: uninitialized constant Lagunitas::IPA::SecureRandom

And so I guessed at the right require:
require "securerandom"

Voila – that fixed it and everything went well after that:
app = ipa.app
=> #<Lagunitas::App:0x007ff002905570 @path="tmp/lagunitas-e5c477f91f8777d76f2c9e79ececd358/Payload/myAwesome.app">
app.identifier
=> "com.luisdelarosa.myAwesomeApp"

iOSDevCampDC 2013 coming up this Saturday August 24

Time flies. We’re having our fifth iOSDevCampDC already! Well, technically it was iPhoneDevCampDC, then iPadDevCampDC, then iOSDevCampDC after that. The 2013 version is happening this Saturday, August 24 at Viget Labs. I have to give a lot of thanks to Viget since they’ve hosted us 4 out of the 5 years!

We sold out again this year. Something we’re trying is to not have any sponsors to simplify things a bit. We’ve appreciated all the sponsors we’ve had over the years, but inspired somewhat by iOS 7, we’re trying to make things simpler and flatter. The website (iosdevcampdc.com) is another thing that is a bit different – we’re going with a one page design this year to see how that goes.

Well – I’ll see everyone who got a ticket on Saturday. Feel free to say hi. Hopefully it will be our best one yet!

If your Emulator doesn’t show up in the Devices list…

Sometimes the Android Emulator that you just started up does not show in the Devices list in the DDMS Perspective of Eclipse. If that happens to you (like it just happened to me), then do the following in your command line to get it to show up:

adb kill-server
adb start-server

You should see this output:

* daemon not running. starting it now on port 5037 *
* daemon started successfully *

Then your Emulator instance should show up in the Devices list.

I’m not exactly sure why this happens, but it has to do with adb (the Android Debug Bridge) going into a bad state. The kill-server/start-server combo serves to reboot it and back into a good state.

I’m giving a talk about the Android Emulator at AnDevCon Boston

Good news! I’ll be giving this talk again at AnDevCon San Francisco in November. I’ll be updating it based on questions I received in Boston, recent developments from Google and Intel. Also there are some things that I wanted to include in the original that I’ll be adding. Come check it out live in San Francisco!


Two weeks from now, on May 31st, from 2:00 PM to 3:15 PM, I will be giving a talk about the Android Emulator at AnDevCon Boston. It is titled “Becoming More Effective with the Android Emulator”, but in order to spice things up a bit, I’m going to give a it a MythBusters-style twist. The subtitle is “Android Emulator Myths…Busted!”

I’ve really fallen in love with the Android Emulator as part of my Android development workflow. I find it a lot easier to work with than switching over to a device, especially with the advancements that have been made in the past year or so. So I really want to share my insights in how to make it work well for everyone. I’m hoping it encourages more people to discover how useful the Emulator is as a tool in the Android toolbox and use it more regularly.

If you want to attend a pure 100% Android development conference, definitely check out AnDevCon. I’ve been to the previous two events and really enjoyed all the content as well as meeting more of the Android community in person. Also, if you use code “DELAROSA”, you should get an additional $200 off the registration.

Hope to see you there!

Will the Android Developer Tools for Eclipse continue to exist?

Here’s a paraphrased quote from the Q&A session after the What’s New in Android Tools session at Google I/O 2013:

We will continue to support Eclipse. We are focusing on the Android Studio to get that up to speed. We will be changing the build system of ADT (Android Developer Tools) in Eclipse to use Gradle (from Ant.)

- Xavier Ducrohet, Android Developer Tools Team