Skip to content

Recent Articles


Learning Highcharts 4 is out now

Learning Highcharts 4

Learning Highcharts 4Learning Highcharts 4 is the 2nd edition of my previous book, Learning Highcharts, and it is out now. This edition covers Highcharts 4 in 15 chapters with around 430+ pages. Four brand new chapters and one rewritten chapter, the rest of the chapters have been much revised with new sections. In a nutshell, it has nearly 50 percent of new material. Learning Highcharts aims to be the most comprehensive Highcharts book in the market. Moreover, the book comes with a myriad of examples showing you how to recreate from real-life charts with step-by-step approach. It also covers topics such as: APIs, events, integration with jQuery Mobile and Sencha’s ExtJs 5 frameworks, server-side PhantomJS script, Highcharts cloud service and plugins. Read more


Postgresql – command line to return a single size value of databases

Return the total size usage of a particular database

psql -c "SELECT pg_database_size(pg_database.datname) FROM pg_database WHERE pg_database.datname = 'MyDatabase'; " -t -h localhost -U postgres

Return the total size usage of all the databases

psql -c "SELECT sum(pg_database_size(pg_database.datname)) FROM pg_database;" -t -h localhost -U postgres;



Converting HTML document with IMG src link to IMG embedded data in PHP

In my previous blog, I need to convert a HTML document with IMG src link to IMG with embedded base64 image content. Here is a PHP script that scans the HTML document and replace the IMG tags with embedded content, i.e. changing from this

<img src='./4/data.png'/>

to that

<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhE....

Read more »


Notes on exporting HTML document with images to Word on Linux

We have a web application (under Ubuntu webserver) with a WYSIWYG html editor which let users to create a report template with custom tags. These custom tags are then resolved to technical graph images and embedded into the report. This application allows users to

  1. preview the report with graphs on the web browsers
  2. schedule to generate the report which then export to Word document and deliver via email attachment.

Read more »


Creating Bash 4.3.27 source package

Due to the severity of shellshock bug, I have to patch some of the internal legacy systems, like FreeBSD 8.0 which there are no more updates available. The only way I can update is to download the source from GNU site and build from that. However, the main source package is only available at version 4.3.0 at the time of writing. To remove the shellshock bug, it needs at least version 4.3.25. Although all the patches are located in the bash-4.3-patches directory, not of all them were created by pointing to “../bash-4.3″ directory, some with different names.

So here it is, I have created this bash source package 4.3.27 with all these patches. I built it on FreeBSD and it passed the env test.


Highcharts extension for Sencha ExtJs now includes Highmaps support

The new release now includes Highmaps support. A new online demo is setup and the demo code is included in the new release under the directory, highmaps_demo.extjs4. Read more »


Highcharts extension for ExtJs 4/5 is here now

screen Highcharts Extension 3.1.0 now supports ExtJs 5. It includes couple updates:

– All demos now refer to ExtJs CDN rather than from my demo site

– Added support for Solid Gauge series

Apart from removing deprecated methods in ExtJs, all the existing code should work directly with this extension & ExtJs 5. There are known issues using with sencha command which I still need more user feedbacks and time to resolve this. Hopefully, I will find some time to finalise my Highmaps extension for ExtJs.


Highcharts 4 extension for ExtJs is here

Highcharts 4 extension for ExtJs

A new version of Highcharts extension for ExtJs 4 is released. This extension (3.0.1) is a major release which includes following updates:

  • supports Highcharts 4 including the long waited 3D charts and heatmap (in beta)
  • added missing Pyramid series
  • beta support for Highmaps

The documentation has also been updated. Check out the demos on 3D charts and the license for usage. The demos for Highmaps and heatmap will be coming soon which will be implemented in separate web application (using Sencha Architect).


A new look for my demo page

After a couple attempts of redesigning my homepage, I decided to fall back to simplistic approach. A simple grids base demo using jQuery thumbnail and lightbox to popup each demo.



Web based Gapminder

If you haven’t heard of Gapminder, then watch this very charismatic presentation from Ted talk by Prof. Hans Rosling. Basically, Gapminder is a Flash application which presents the world of statistics and demonstrates how it has evolved over centuries. It has been in my long overdue tasks list to implement a web based Gapminder using my Highcharts extension for ExtJs. So far it took me few hours a week over couple months to come up with this prototype. The challenge is that simultaneously updating and animating nearly 300 data points (with color shading) in a fraction of a second is quite CPU intensive. At least, it is possible now in HTML5.

The following is a short video demo of the prototype. It is running under my Mac Mini (Quad core 2.3GHz i7 – 4G RAM).

However, there are still plenty to implement. Online demo and code on github will be available soon


Get every new post delivered to your Inbox.

Join 34 other followers