Sunday, December 26, 2010

Unexpected Eason Chan Christmas Gift

Something absolutely unbelievable happened to me on Christmas day this year. I received a Facebook message from Jade Entertainment telling me I was selected to join an after-show VIP session to meet Eason Chan face to face after the Eason Chan Duo concert in Vegas! The message said the autograph session was canceled, but we can bring a gift for Eason. Since I only had less than 24hrs notice, I thought of the best thing possible, regift a Christmas gift. That's right, you heard me. It sounds kinda bad, but the gift was chocolate and I probably wasn't going to eat it anyways.

The concert was amazing and full of energy. I'm surprised he was so down to earth. He bypassed the "encore" segment, you know where singer pretends to sing the very last song of the night, then the audience yells "encore" repetitively until he comes out again. Of course, it's always planned this way. Instead, he provided comedy relief through the whole segment, which was way worth it then just waiting for him to come out.

After the concert, they put the selected winners in this little room where 20+ peeps waited for Eason. The concert photographer (the person who organized this meet up, thanks to him!) said the gift bringers were the lucky ones since he would take a pic of them giving the gift to Eason. Score! We waited about 10 minutes and Eason finally showed up. Honestly, he looked exhausted and worn out, but what do you expect after singing for 2+ hrs nonstop. I really felt sorry for him for having to go out of his way to do this, since he had to do another concert the next day. We took a group pic. I sat right next to him and had my arms around his shoulder. After the group pic, he shook hands with everyone and then received his gifts. This was all really brief and before you knew it, he had to go already. I did also score one of his concert posters (it was just lying on the floor, so I just grabbed it lol). All in all, this was a pretty cool experience and was glad the stars are able to do this kind of stuff for their fans.

Sunday, December 12, 2010

Binary Calc v1.51, small update

This update contains a some minor bug fixes and minor layout changes. The binary string display wasn't updating when you press the Convert button (premium version only). Plus I made some layout changes to the Ad screen (free version only).

I've debated going back to version 1.5 to open up the app to those who are still stuck with cupcake, but the UI looks awful in that mode, plus I won't be able to support small screen Androids (QVGA).

As always, you can download the app through these venues.

Proguard Integration in Gingerbread

The new android gingerbread 2.3 sdk doesn't have many front end user enhancements, but the backend enhancements for gaming and developers are superb. One important new feature is Proguard integration. What used to be many steps in setting up Proguard and configuring the properties files is one only now a two step process. I just want to share what I've learned in setting up Proguard in Eclipse.

First off, if you haven't already, read the android developers Proguard article for an introduction and overview of how to set it up in Eclipse. http://developer.android.com/guide/developing/tools/proguard.html

The jist of it is, in your default.properties file, just add a new entry for proguard.config set equal to the location of your proguard.cfg. If you have any special obfuscation configuration/exceptions, you can include it in the .cfg file. Read the proguard doc for more detailed information.

You're not ready to export your application yet. You need to create a new system variable (Windows: Control Panel->Advanced system settings, Advanced (tab)->Environment Variables->New...(under System variables). Set up the Variable name as "PROGUARD_HOME", and Variable value as \tools\proguard (for instance, my android sdk is located in c:\android, so my Variable value would be "c:\android\tools\proguard"). For Mac/Linux, if you are using those OSes, then you should know how to add the Environment variables there.

If you have Eclipse running while you are doing these procedures, restart it. You should be able to export your application now. Otherwise you will get the this ugly mess
eclipse.buildId=M20100909-0800
java.version=1.6.0_12
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
Framework arguments: -product org.eclipse.epp.package.java.product
Command-line arguments: -os win32 -ws win32 -arch x86 -product org.eclipse.epp.package.java.product


Error
Sun Dec 12 20:57:31 PST 2010
Failed to export application

com.android.ide.eclipse.adt.internal.build.ProguardResultException
at com.android.ide.eclipse.adt.internal.build.BuildHelper.runProguard(Unknown Source)
at com.android.ide.eclipse.adt.internal.project.ExportHelper.exportReleaseApk(Unknown Source)
at com.android.ide.eclipse.adt.internal.wizards.export.ExportWizard.doExport(Unknown Source)
at com.android.ide.eclipse.adt.internal.wizards.export.ExportWizard.access$0(Unknown Source)
at com.android.ide.eclipse.adt.internal.wizards.export.ExportWizard$1.run(Unknown Source)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
Happy coding and thank you Google for making it so much easier! I spent hours trying to re-setup and publish my app on a new Windows 7 install and this saved me the trouble.

Update: credit to this post for the fix http://osdir.com/ml/Android-Developers/2010-12/msg00965.html