Skip to content

Recent Articles

3
Jun

Due to my job, family, book reviews and many other commitments. General response time will be 3 – 7 days depending on the difficulty of the question.

If you require time consuming help, I am willing to provide a consultation service.

Many thanks

Joe (Contact me)

Read more

24
Feb

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.

screen

8
Feb

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

1
Dec

Implementing Stock Picking Wheel in Highcharts

Investor Wheel in Highcharts

This is the work that I have done a while ago but I didn’t have time to write up. About 6 months ago, I saw an impressive chart, Stock Picking Wheel, which represents a list of FTSE 100 stocks and their performance summarised in a donut chart. So I gave myself a challenge to see whether it is possible to implement in Highcharts and here it is. Read more »

17
Nov

Extract a list of symbols from stock exchange indices

As far as I know there is no free web service that can produce a single page of stock symbols from a stock exchange. Moreover, for webpages that produce stock symbols, all of them only output with pagination. However, the easiest webpage to extract the symbols list is the Yahoo finance. This article shows how to extract a full list of symbols with a few repeated commands.

For Yahoo Finance, each page list approximately 50 symbols and it takes 3 calls to get all the symbols of FTSE 100 stock exchange. Here are the commands:

# Return the first 49 symbols
curl -s "http://uk.finance.yahoo.com/q/cp?s=%5EFTSE" | grep -o '>[A-Z]*\.L</a>' | sed -n "s/>\(.*\)<\/a>/\1/p"
# Return the next 50 symbols
curl -s "http://uk.finance.yahoo.com/q/cp?s=%5EFTSE&c=1" | grep -o '>[A-Z]*\.L</a>' | sed -n "s/>\(.*\)<\/a>/\1/p"
# Return the final symbol (last page)
curl -s "http://uk.finance.yahoo.com/q/cp?s=%5EFTSE&c=2" | grep -o '>[A-Z]*\.L</a>' | sed -n "s/>\(.*\)<\/a>/\1/p"

For Dow Jones Industrial Average, it returns 30 symbols

curl -s "http://finance.yahoo.com/q/cp?s=%5EDJI" | grep -o 'q?s=[A-Z]*">[A-Z]*' | sed -n 's/.*=.*">\([A-Z]*\)<\/a>/\1/p'

For Nasdaq Composite, it is the same as above except changing the cp query to s=%5IXIC and repeat for many pages with parameter c. Alternatively, you can use this link to download the whole list.

11
Oct

Installing new kernel within Linux kickstart

I have to build a Ubuntu installer ISO using the kickstart utility but I need the installer to install a particular version of kernel. Here is the link for a quick guide on setting up Ubuntu kickstart. First, I added the following line into %packages section in the installer build script to install the target kernel package, ks.cfg: Read more »

12
Jun

[Updated] ExtJs 4.2: Changing column’s editor dynamically in ExtJS RowEditor

ExtJs 4 Row EditorA while ago I have written a blog on how to change the field type inside a row editor dynamically with ExtJs 3. Since then I received a number of requests for the same example in ExtJs 4. It has been way overdue, so here it is.

An online demo is available in joekuan.org and the source code can found in github.

9
Jun

Highcharts: Enhancing User Interaction on Pie/Donut Charts – Dynamic Connector

Donut chart with dynamic connectorRecently, I got a request from a Highcharts user asking me how to improve the user interaction on pie charts; when the pointer is hovered over a slice:

1. An arrow appears outside the pie section
2. A text box appears in the center of the donut charts showing the hovered section data

I think this is a good exercise and demonstration to show how flexible and powerful Highcharts can be. In this blog, I will show you how to convert a normal donut chart into the one showing here and you can try the online demo.

Read more »

6
Jun

[Updated] ExtJs 4.2: Using multiple fields inside a row editor cell for editing large values

A few people messaged me that the multiple fields row editor demo in my joekuan.org demo site is broken since I updated to ExtJs 4.2.

I have fixed the demo and it is working fine now. Also I have created a github repository, ExtJs_Examples, which contains all the one off examples code that you will find in joekuan.org (more will be checking-in).

References

[Updated] ExtJs 4.1.1: Using multiple fields inside a row editor cell for editing large values

ExtJs 4: Using multiple fields inside a row editor cell for editing large values
 

 

1
Apr

New release of Highcharts extension supports Highcharts 3.0

Highcharts Extension for ExtJs 4 - Bubble Series

A new version of Highcharts extension (ver 2.4.0) for Sencha ExtJs 4 and Touch 2 is released which supports the latest release of Highcharts 3.0 and fixes the compatibility issues with ExtJs 4.2 and Touch 2.1.1.
Here are the details of the latest changes: Read more »

Follow

Get every new post delivered to your Inbox.

Join 34 other followers