Sunday, May 31, 2009

CakePHP Shell

cd cake/console
./cake report

lol jgn lupa lagi

Monday, April 27, 2009 new look

GPS Live Tracking using GPS

Extjs & Cakephp

The Movie add form. The drop down select value was retrieved from database via JSON

Basic grid using CakePHP & ExtJS.The data retrieved using JSON

2 days of learning Ext JS, slowly but result oriented.

Saturday, April 18, 2009

CakePHP Ext JS( pagination, add users )

Sample of adding user form

sample of datagrid with workable pagination

I follow the tutorial here ->

Friday, April 17, 2009

GPS Tracker HTTP Update Field Test

The HTTP Update logger running on my E71

The result on GPS Tracker Portal

This morning I fired up my Nokia E71 GPS update via http using Celcom Prepaid 3G. Update interval is 5 seconds. There gone my hard earn

Thursday, April 16, 2009

Display 1000++ schools on Goole Map

Spent almost 1 day on this. Cleaning up MySQL DB etc etc


Powered by
1. CakePHP 1.2
2. Javascript
3. MySQL
4. GMap EZ Framework

Tuesday, April 14, 2009

GPS Tagged Photo Viewer

demo :

My Nokia E71 camera have the GPS Stamp function. So when I snap a picture, GPS info will be stamped in the image's exif data. Uploading the image on the server is plain easy, but how to extract the GPS data in the image and store it into database ? The answer is to use PHP's built in exif parser.

-CakePHP 1.2
-MySQL Database
-GMap Ez Google Map Reader

Python S60 HTTP file uploader

I did some research on the net on how to upload file from S60 Python to webserver

1. uploader 1

Monday, April 13, 2009

Update GPS using HTTP

Simple Python Uploader

The task pretty simple, user just select the menu on the phone and it will update the GPS every 60 seconds. On listening server, it will receive data from HTTP GET and plot it into MySQL database

Update via http and GPS Exif parser

Currently, I can update GPS data using SMS update and by uploading log file. The next phase, will be HTTP update using GET method.


S60 Python on my Nokia E71 will update via http get using the sample url.


where xxx is the GIS value


Image taken using my Nokia E71 have GPS data stamped, so my plan is, when I upload the image into, the system can grab the GPS data and put it into the database and map it on Google Map

Sunday, April 12, 2009

Updated GPS Portal with new data

Upgraded the user interface on Nokia E71. The tracker now have 2 ltracking option, by SMS or log into text file

Sample of GPS data displayed on Nokia E71

The route used while logging to text file.

Sample of sms data being sent to listening server.

Sample of GPS log.

S60 Python GPS info

The python source code, pretty amateur

The result on my Nokia E71 phone.

So I'm back to python s60 programming. The task is pretty simple, get the GPS data and display it back.

My collection of books

Wednesday, April 8, 2009

CakePHP : Tracking GPS live last known position

left: MySQL lat/lon data
right top : CakeSMS SMS listening server
right bottom : CakePHP Shell Daemon

The result page

The idea is, you can track the tracker on the web browser without hitting the refresh button every 5 secons or use the meta refresh tag. Just open the Google Map then sit and relax. The marker automatically updated to new location using Ajax every seconds.

Nokia E71 will send the current GPS location every 30 seconds to listening server with Sony Ericsson W980 acts as GSM Modem. The received SMS then processed by CakePHP Shell Daemon which process the GPS location into the MySQL Database.

Then, using AJAX, the browser will call the last known location every second and mark in on the Google Map.

Demo URL :

Tuesday, April 7, 2009

Google Map : Update Marker using Ajax

The Javascript

Output in browser and sample XML data

Imagine you want to track in realtime without refreshing the whole page, this is the solution..ajax update the XML data.

Thursday, April 2, 2009

CakeSMS : Setting up Siemens C35i Modem

One of my client sent this GSM Modem to me, Siemens C35i USB. So I fired up my Linux Ubuntu and change the Gnokii settings.

Using dmesg, the modem connected at /dev/ttyUSB0

Some crucial settings on gnokiirc
speed = 115000
connection = serial
port = /dev/ttyusb0

Run the gnokii --identify to check the connection status

Tuesday, March 31, 2009

SLow down on programming, gaining on Forex Learning

I never invest in Forex, but have been reading about it extensively since months ago. provides the best guides ever. So I'll slow down a bit on programming reserach and put some efforst on learning Forex.

Pisces born clads are not greedy type, so the trait quite useful while trading on FX......

Sunday, March 29, 2009

Tiara Beach Resort

The aerial view of Tiara Beach Rsort

Travelling path from Putrajaya

Friday, March 27, 2009

Field Test 2 : Satria NEO from Putrajaya To PD

I'm not a 100% computer geek, apart from coding, I enjoy motorsports, esp Sepang Sunday Track Day Session. Yesterday I burnt almost RM900 changing new front tires, adjusting camber degree, changed the APM rear coilspring to Eibach.

Now the car handles beatifully. The new camber setup improved the cornering performance.

Wednesday, March 25, 2009

RoR : batch geocoding using shell command


runner in action

Imagine you have thousands of data of subscribers with address and postcode, and suddenly your boss asking for Latitude and Longitude value for each entry using the given address. The answer is, using geokit and RoR runner

ruby script/runner batch_geocoding.rb

Tuesday, March 24, 2009

GPS: View by route

Updated the prototype engine with display by route. Additional info is total distance in kilometer and time taken for the tracking.

Monday, March 23, 2009

GMAP Ez in CakePHP

This is the result

This is how i use Foreach in CakePHP to plot the map

This is the JS init in app/views/layouts.ctp
I use GMAP Ez Google MAP Framework ( )

Speed & Distance

The view sample

The controller sample.

The Location Model. Add process_afterfind() function

The result on view

The result on info balloon

So I add some new functions today, to display covered distance between 2 nodes and average speed too.

Saturday, March 21, 2009

Field Test 1 : Logging GPS from Putrajaya to Batu Pahat

Sample python logger used in this field testing.

Sample GPS Log with info window tracking from Plus Pagoh Toll to Batu Pahat, Johore town

The path taken from Putrajaya to Batu Pahat,

Sample logging output from Nokia E71 GPS Tracker

The aim for this field test is to do stress testing on the Python GPS logger running on my Nokia E71. The logger will write GPS and Time data into text file every 60 secs. Average cruising speed on my wife's Toyota Altis is 120kmh - 140kmh on the highway.

From the log file,
1. Must be able to upload to the server and automatic plot on Google MAP
2. Have to write a Python script to automate the upload using HTTP transport.

From the report
1. Calculate covered distance in meters.
2. Calculate each node covered distance
3. Calculate average speed
4. Calculate speed from node to node

Field Testing Reports
1. The logging was successful
2. Log file size is 86kb in size
3. Abto to upload and automatic plot without problem

Sunday, March 15, 2009

Python GPS logger

Simple Python script

My Prepaid credit is null, and I want to do live tracking today. So I fired up my vi text editor and begin experimenting.

The script should log the gps data every 5 secs into flat file
The format will be "gps|||

Live Tracking Site

Ok, it's live. Now you can track me live on the net ( unless I have enough credits on Nokia E71 Celcom's prepaid )

Saturday, March 14, 2009

Satria NEO Tracking Project

My wifey's Corolla Altis is not suitable for this project since, it's a family car. So I'll use my Satria NEO as test car in this Google MAP Live tracking project. Some facts about the car

1600cc normally aspirated Campro Engine
APM lowering spring ( till I got enough money for TEIN )
TSW Hockenheim R 16" Competition Wheels
205x50 Hankook rubber on rear and 205x45 Silverstone on the front
Built in Video Camera holder ( bought from US for RM400 0

For tracking device, I'll use Nokia E71 installed with Python script that will send SMS for current location for every 30 secs ( suck my money yeah )

For receiver at home, I'll use my Wife's SONY Laptop connected to receiver GSM Modem, Sony K770i.

For programming I'll use CakeSMS ( ) for SMS Framework and write simple listening daemon for SMS processing

For the output, I'll use GMap EZ framework for Google MAP.

This tracking device is suitable to track the car movement live on your web browser, maybe for Rally fan, can watch the car movement live on the mobile phone connected to GPS

Google MAP Tracking using Polylines

Info windows on event start

Infor windows on event stop

Friday, March 13, 2009

Formula to calculate distance of 2 corrdinats

$lat1 = 3.033555;
$lon1 = 101.87347;

$lat2 = $location['lat'];
$lon2 = $location['lon'];

$location['distance'] = (3958*3.1415926*sqrt(($lat2-$lat1)*($lat2-$lat1) + cos($lat2/57.29578)*cos($lat1/57.29578)*($lon2-$lon1)*($lon2-$lon1))/180);

Wednesday, March 11, 2009

Google Map Nokia E71 Tracking

On the left is my listening SMS daemon, on the right is the debug mode for Gnokii

Here's the tracking Sample. The balloon pointed where was me on the specified time

It works !