miidio Service running in Banana Pi

I had wrote a service running in Banana Pi few months ago. It is so incredible that Banana Pi is so stable. The service had run about 3 months and merely didn't be down only for few network issues. This service is an audio conversion service which supports miidio space. Currently, there are 5 services running in Banana Pi. 3 of them run once a day and 2 of them run once an hour. This hardware is so stable.


Visibility Monitor in Gecko and Gaia

What Is the Visibility Monitor?

An app showing lots images brings memory pressure in mobile world. In Android, they tries to recycle the existing UI elements to show images. The original is freed automatically when the UI element's image source is changed. That's handled by Java's reference count, IIRC.

Laser Ponter Tracking System

This is an old project executed by John Hu about 4 years ago.

Laser Pointer Tracking System uses normal web camera to detect the laser pointers. We use computer vision techinology to find out the position of laser pointers in camera and covert them to computer coordinate system. It is comprised of camera driver, v4l2, blob detection, blob tracking, gesture detection, and mouse/keyboard controller modules.

The first example is to use laser pointer to control a power point presentation:

Testing Page for Keydown, Keyup, and Keypress

It's pretty hard to remember that if all keys are dispatched the keydown, keyup or keypress events. This may be different in different browsers, like Firefox, Chrome, Safari, IE, Opera, etc.

So, I write a simple page for us to test it. There is an extra bonus of this page. We can also use it to know each keyCode of all keys.

page: http://jsfiddle.net/huchengtw/Wk7jR/show/

source: http://jsfiddle.net/huchengtw/Wk7jR/


Compile node.js for Banana Pi

Since I used Lubuntu for Banana Pi, the compiling procedure is similar to cubieboard. We can download the source from node.js and do the configure and make. But there is one thing different. We have to configure with an extra argument, otherwise we get the segmentation fault:

./configure --without-snapshot

Kitkat for Samsung Galaxy Note 8.0

The Kitkat for Samsung Galaxy Note 8.0 had released at April 30th, 2014. We may find it at http://samsung-updates.com/device/?id=GT-N5100.

It almost has all languages in this ROM. After intalled, the device runs more smooth than before. Let's rock and roll.

The screenshot can be found at, I had changed my language to zh-TW:


Inaccuracy Float Point in Computer World

This is a famous problem in computer world. It is originated from the design of CPU which uses binary as it essential unit. Let's see the problem here:

var a = 0.2 + 0.4;


In most browser, we may have the value 0.600...0001. It is very anonying when we want to show a value with decimal point. We all know there are few ways to deal with this issue. We focus on two here:

1. Math.round(a * 10) / 10

2. parseFloat(a.toFixed(1))