Development, Musings

How many languages do you know?

Sudden thought occurred to me that I’ve been learning programming since 1989 and how quickly its now 20 years.
Here’s a chronological order of the languages picked up so far.

I’m looking forward to doing more of PHP, Objective-C, Ruby and HTML 5! and who knows what else in the coming years. Might even re-visit Java since Android needs it.

For code editing, after a few years of using Visual Studio, I find myself using Dreamweaver and Eclipse more. Apatana and Netbeans have also taken residence so shall see which IDE takes over. Otherwise there’s always Notepad++.

Updated for 2010/2011:

  • Comfortable with: jQuery
  • Still Learning: Ruby (+Rails), Objective-C, jQuery Mobile, HTML5/CSS3
  • Trying best not to take up Java (with Android)
  • Development on new Macbook Air, getting to love console again 🙂
  • More Git, Less SVN. Loving Heroku

Technorati Tags: , ,


A Robust Rule-Based Event Management Architecture for Call-Data Records

Presented at KES 2004: Wellington, New Zealand

A Robust Rule-Based Event Management Architecture for Call-Data Records


Rules provide a flexible method of recognizing events and event patterns through the matching of CDR data fields. The first step in automatic CDR filtering is to identify the data fields that comprise the CDR format. In the particular case of the Nortel Meridian One PABX, five different call data types can be identified that are critical for call reporting. The architecture we have proposed will allow for line activity analysis while continuously publishing action choices in real-time. For performance evaluation of serial-line CDR data communications, an approximation to the CDR record loss rate at different simulated call traffic intensities was calculated. Here, the arrival process represents the arrival of newly generated CDR to the output buffer and the service process represents the process of transmitting the CDR over the serial connection. We calculate the CDR loss rate at different arrival intensities and observed that the CDR loss rate is negligible when the CDR arrival rate is less than 4 CDR per second.


Rule-based system, CDR loss rate, event filtering and correlation.


Network Programmer for Société Générale

Client: Société Générale
Business Type: Banking & Finance
Project: CDRTool
Duration: July 2002 to Nov 2003

A major European bank, the Société Générale Group is recognised for its profitability and its capacity for innovation.

Whilst studying to acquire my degree, I had the opportunity to collaborate with Société Générale, a major European bank, to develop CDRTool, a PABX Monitoring System as well as office automation and network monitoring projects.

CDRTool was designed and implemented around J2EE architecture to provide a robust mechanism for call data record monitoring and fraud detection. By using J2EE design guidelines, the system is able to be fault-tolerant and provides real-time monitoring of calls in progress to the system administrator.

I also co-authored and presented a paper at KES™2004 (Knowledge-based Intelligent Information & Engineering Systems) on the topic of “A Robust Rule-based Event Management Architecture for Call-Data Records“.

  • Final Year Project Industrial collaboration with Societe Generale
  • Rule-based correlation and Filtering of Call Detail Records for Societe Generale
  • Industrial Attachment with Societe Generale.
  • CDRTool – Developed a PABX Call Monitor System that was successfully deployed in Singapore, Hong Kong, Tokyo and Seoul.
  • Lead programmer for SC443 Game Programming Demo
  • Lead programmer for SC207 Software Engineering Project
  • Participation in Gigahertz 2003 IT Competition
  • Sub Committee Member for Japanese Appreciation Club 1999/2000