ANZ Online Money Manager

In the absence of a "better half" phsyically present to to control my spending, I've once again looked to technology to save my overall financial plan. And this time I'm actually quite impressed.

A simple google search let me to the ANZ Money Manager online app. I have to admit, the ANZ folks are ingenious when it comes to innovation with this little tool, I'm surprised no one at the branch recommended me this earlier.

Okay on with the feature, it's easy to use like most personal finance apps, but the biggest sale point is that it integrates seamlessly with the online portals of all major Aussie banks/credit cards/rewards programs/portfolio. A feature I found to be very limited in US-centric financial web apps and software such as Quicken or GnuCash. It will automatically update all transactions on a nightly basis. Which means when I login in the morning, I'm instantly see an up to date dashboard of all my accounts in different institutes:

  • banks
  • credit cards
  • loans
  • shares
  • superannuation
  • reward points (Qantas FF/Kris Flyer/Enrich etc)
  • bill alerts
It's even smart enough to categorize most of my transactions and present me with a nice graphical report of my ranked expenses. Presenting a very clear message: "Less drinking, more investing!"

Like all things online, one needs to be aware of the potential security risks. But the convenience of being able to access your financial snapshot anywhere with internet, and not having to log into 5 different websites is simply awesome.

Posted by Yun Saturday, August 15, 2009 1 comments Links to this post  



Chinese Game Stocks Drop Amidst Virtual Currency Legal Worries

Interesting article from Inside Social Games. A bit surprising that Tencent (creater of QQ) isn't listed as one of the companies impacted by the Virtual Currency ban.


A couple of interesting links too, such as the famous precedent case for theft of virtual goods and the not so surprising report that the Chinese virtual goods market is possibly x25 times bigger than the US.

Posted by Yun Thursday, July 16, 2009 0 comments Links to this post  



Grails + GAE JPA Error "Identifier expected at character 1"

Played around with the app-engine plugin 0.8.2 for grails 1.1.1, the screencast
instruction steps were very easy to follow, simply:

  • created a new grails app
  • installed the app-engine plugin (I picked JPA instead of JDO)
  • use grails to generate a domain object (called Player)
  • use grails to generate the Controller + View automatically
And my little web app was ready, but then I kept getting the following grails runtime error with my domain object:

Exception Message: Identifier expected at character 1 in ".Player"

After much digging around, I found the answer in a japanese groovy blog:

http://d.hatena.ne.jp/fujwara/20090531

it was quite an amateur error, domain objects in google app engine must be contained in packages, ie com.yunspace.Player, instead of just Player. Hopefully this post will be of some help to others.

Posted by Yun Sunday, July 05, 2009 0 comments Links to this post  



Facebook's Virtual Currency

This is very interesting indeed: http://www.raphkoster.com/2009/05/20/facebook-virtual-currency/


Along with Facebook's integration with openID and google account, opening up of its virtual currency api will indeed make Facebook the golden standard in social networking / gaming space.

Posted by Yun Wednesday, May 27, 2009 0 comments Links to this post  



Goole Apps/ENom wiping out both DNS and MX records problem

My blog has been offline for a few days due to unresolved issue with ENom DNS records for google app domain names:



Basically I experienced the exact same issue as described in the forums above. Wake up one morning, all my page and services became 404's and 503's repectively. Checked Advanced Domain settings and found all Host and MX records wiped out except a single entry for "www", which didn't really work either.

So after much googl'ing, I managed to restore the original default settings. I first deleted all my Google App Engine subdomains through the google cpanel, leaving only the essential mail, calendar, docs, sites and start services.  Then I had to manually only in all of the records one by one.

Thought I'd share it as a reference for anyone else having the same problem.

DNS
Default

Host
@ 216.239.32.21 (A) Address
@ 216.239.34.21 (A) Address
@ 216.239.36.21 (A) Address
@ 216.239.38.21 (A) Address
blog ghs.google.com. CName
calendar ghs.google.com. CName
docs ghs.google.com. CName
mail ghs.google.com. CName
sites ghs.google.com. CName
start ghs.google.com. CName
www ghs.google.com. CName

MX
@ (none) aspmx.l.google.com.MX 10
@ (none) aspmx.l.google.com. MX 20
@ (none) aspmx.l.google.com. MX 20
@ (none) aspmx.l.google.com. MX 30
@ (none) aspmx.l.google.com. MX 30
@ (none) aspmx.l.google.com. MX 30
@ (none) aspmx.l.google.com. MX 30

This is quite unacceptable for what's supposed to be enterprise grade hosting. And the fact there is no root cause found is even more dissapointing. Not sure if this is Google or Enom's fault, or maybe a combination of both. For now to prevent this from happening again, I will be frequently checking my host records and add extra subdomains through Enom rather than relying on Google cpanel to update the Enom records for me.

Posted by Yun Friday, May 01, 2009 0 comments Links to this post  



Getting QQ: a (web) journey into the east

In order to broaden my horizons, stay in touch with friends in China, and also play this new MMORPG that's only available in Korea and China. I decided to download the english version of QQ2009: http://imqq.com/

If you know what QQ is, skip this section...
For those of you who don't know what QQ is, read this article on The Almight QQ. What facinated me was that QQ's virtual currency, known as "QQ coins" are more accepted than Credit Cards in China, and all in a suddent it made sense why when I was in Chinese internet cafes, I frequently see dorky guys on webcam with foxy looking girls wearing very little clothes...

Now the beating starts...
Getting a new QQ ID was absolutely painful. There's 2 ways of registers, you can either go for a QQ ID or associate your email with a QQ ID. Sounds simple but I spent half a day:

  • I tried to just get a plain QQ ID. But I kept getting "You webbrowser doesn't support HTTP 1.1 spec" error on both Mozilla 3.0.10 and IE7. WTF? I even checked my IE settings and it had "HTTP1.1" ticked. I wonder what do browser to they use up there?
  • So I had to go for the second option. Associate a email with a newly generated QQ which is fair enough. Type in email, new username, entered password twice and I got a new QQ account.
  • Downloaded QQ Instant Messenger. Installed, tried to login, and my password isn't correct. I hit "forgot my password" link on the Instant Messenger, nothing happens.
  • After much googling I found a "QQ Lost Password" site. And it's all in Chinese, for a english version of the software?!
  • Again, I have 2 choices, "get my password via my secret password" or "via application process"
  • When I created the QQ account, I was never asked to create a password on a password. But I was stupid enough to select "secret password" and was greeted with a equally stupid answer: "Sorry you did not create a secret password for this QQ account".
  • Now I try to retrieve my password via the "application process". I had to fill out a long form, asking for various things which I don't have: social security number (isn't this a English version software?), previous passwords (if I knew I wouldn't be filling out this form), and mobile phone number (how would they know if they never asked me?).
  • Submitted the form, 3 days later, I get a email from QQ, saying my application was rejected because they can't validate who I am. Advise to all Chinese expats wanting to use QQ, don't lose your password.
In a Web2.0 world from a western perspective, waiting 3 days is simply too long for a password reset. So I did what anyone else would do, create a new account using a different email. This time it worked, now that I have my own QQ account, I can finally play the MMORPG right? Wrong! My cross-cultural internet adventure continues...

Posted by Yun Sunday, April 26, 2009 2 comments Links to this post  



My noobius transition to Linux

I have been evangelised to Raving Rob, my ex-RedHat colleague to use Fedora 10 Linux on my laptop, in order to:

  • leverage the 64bit capability of my dual-core processor for free.
  • become more productive with my time, normally spent waiting for Vista stuck on 100% CPU with no programs running.
  • just have a play around and brush up my rusty Linux admin skills.
After dual partitioning and installing off a USB, I'm immediately impressed with:
  • The application response time. Fire Fox, terminals, menus pop up the moment you click the button, no random processes churning away in the background blocking everything else in a seemingly single-threaded fashion.
  • [EDIT] Driver compatibility. I was surprised my sound, webcam, video all worked out of the box without any manual configuration.
  • [EDIT] CPU usage, the desktop still ran smoothly with CPU consistently at 90%, 50% Ram and 30% Swap. I had torrents downloads, software updates, multiple FireFox tabs with video streaming and several transparent terminals open across multiple workspaces.
Here is a list of steps I took to make my environment as user-friendly as possible:

To get the latest Fedora updates I ran:
yum update

Code
I needed Eclipse for dev work. So it was as simple as:
yum install eclipse

Java wise Fedora comes IceTea OpenJDK 64bit, which is the opensource build of Java 1.6.

Torrents
For torrents I still preferred to use Vuze (Azureus), but too bad the version of Azureus in the yum repository is no longer supported. So I downloaded version 4.1 from the Azureus site. Unpackaged the Vuze directory from the downloaded archive file and it ran out of the box.

The neat thing is with Eclipse and Vuze is that I can still use my workspace, torrents and download locations on my Windows partition. So I continue where I left off with my codes and downloads.

Internet
A few tweaks to FireFox since I need Flash to watch Youtube! But 64bit Flash hasn't been packaged yet, so I had to do the manual workaround which is:
  1. download the tar.gz from: http://labs.adobe.com/downloads/flashplayer10.html
  2. extract the .so file into ~/.mozille/plugins and restart firefox
For instant Messaging so far I'm just using the standard Gnome Internet Messager. It works okay, but no video or voice chat.

Multimedia
For pdf, audio and movie plugins, I followed the ever helpful Unofficial Fedora FAQ

Next steps:
Install J2EE, Maven, Webservers and start writing some 64 bit apps. 

Posted by Yun Thursday, March 19, 2009 1 comments Links to this post  



Dimitri the Stud

The story is this: A girl was out with friends having drinks on King St (in Toronto ). This guy approaches her and won't leave her alone - saying how cute she is. She finally gives in and hands the guy her business card. The attached is an MP3 file of not one, but TWO voicemails this guy left her

http://www.franksemails.com/audio/dimitri-thestud.mp3

Posted by Yun Wednesday, February 25, 2009 1 comments Links to this post  



M2Eclipse Dependency Graph for Maven2

While experimenting with the M2Eclipse plugin, I noticed the dependency graph feature which I found very useful. It illustrates the full picture of managed dependencies in a project ,and helps to highlight any duplicate/circular dependencies in the various poms.

For example, in my monkeymagic game, I declared 5 compile scope dependencies in my pom:

  • jme
  • jmephysics
  • jgn
  • jme-networking
  • jme-physics-networking
I click on the Dependency Graph and I get the following:


Dragging the boxes around a bit and straight away I can see that jgn, jme and jmephysics are duplicate dependencies. There no need to declare them in my pom since they are already referenced by my jme-networking and jme-physics-networking dependencies.

So by simplying my dependencies, my graph now looks like this:
Basically I only specified 2 dependencies, and Maven resolved another 13 automatically behind the scenes. My pom.xml is now a nice short snippet:



4.0.0
com.yunspace
monkeymagic
jar
0.0.1-SNAPSHOT
monkeymagic
http://maven.apache.org


junit
junit
3.8.1
test


jme-physics-networking
jme-physics-networking
0.0.1-SNAPSHOT
jar
compile


jme-networking
jme-networking
0.0.1-SNAPSHOT
jar
compile





Notice unlike Ant, Maven let's you describe what you what you want to do rather than specify how to do it. There's no need to code a whole bunch of "compile", "dist", or "ftp" tasks, simply tell Maven to package using "jar", give it the top level dependencies, it figures out the rest and off it goes.

M2Elipse still has a few funny bugs here and there: like 2nd and 3rd tier dependencies won't appear on your graph if the dependency is not in your local repository and you are resolving against your workspace. Occasionally the pom editor doesn't save your change correctly to the XML so when in doubt, hit CTRL-S multiple times.

In the end, the benefits outweighs the minor workarounds. Have a play with this plugin yourself and see what you think.

Posted by Yun Friday, August 22, 2008 1 comments Links to this post  



SVN and unwired

Had some free time lately to do some casual coding but came across all sorts of problems using the Subversive SVN plug-in. Constantly getting the following error:

Get repository folder children operation failed.
svn: REPORT of '/svn': 400 Bad Request (http://gbui.googlecode.com)

After spending the whole week re-installing eclipse, getting latest Subversive and SVN connectors (both are hosted on separate sites to make things more confusing), I finally figured out the problem was caused by my internet connection.

The internet provider I'm with: Unwired has a product called Venturi Optimiser which speeds up my connection but blocks off my SVN calls. Searching online there seems to be certain proxy/port settings which I could change but the easy way out is just to turn the Venturi thing off for now.

On with the coding then, yay!

Posted by Yun Sunday, August 17, 2008 0 comments Links to this post