Saturday, December 31, 2005
Bye Bye 2005
I still keep some free coupons, so I have to clear it up today, watch a free movie, have free drinks... no plan for today but there is no celebration for the new year eve.
I quickly read through my 2005 blog, and it seems like I don't do much these years.
Bye! Bye! 2005!
Wish everyone a happy and prosperous new year.
Can't Skypeout
I didn't notice that after I have upgrade the Skype to a later version (1.3.0.17) on my OS X, I can't Skypeout again. Not just Skypeout, I can't make skype call to my friend online.
I thought is the new Skype problem, but I have deleted the older version from my hard disk, so I upgrade to the beta version (1.4), and is not working too.
When skypeout it just keep show connecting, but I can't hang up the call.
When skype to online friends, it shows 'Playback error'.
My friend told me could be the sound setting, but all my application is working ok except the Skype, but I remember I install a soundflower software which can redirect the audio to another application, I though I can use it as my skype recorder.
After i uninstall the soundflower using OS X Package Manager, the skype is working again, including skypeout, seems like skype confuse with sunflower.
Soundflower is an open source software.
Sunday, December 25, 2005
Is Christmas, 2005
Friday, December 23, 2005
Secret behind the wardrobe
Thursday, December 22, 2005
I like (free) movie
Which database I know?
All these database are installed and used in our development environment, I have installed most of it by myself many years ago, mostly old version which are outdated, eg. Informix 5(?), Oracle 8.
Install Oracle 8 on Linux operating system is not an easy task, you need to patch the system, at the middle of the installation process. I think Oracle people don't write good installer on Linux, may be they don't have good software people who familiar with Linux development, I hope they have improve by now.
Normally programmer focus on programming, we left SQL queries to the database administrator. We don't know much about database optimization, it need a professional to do it. That is the ideal case, normally we have to play both roles.
I know how to compile postgresql and mysql database, does it consider a special skills? I even do software packaging for postgresql on Linux and Solaris. I know some other database like Cloudscape, if you have forgotten, it is a embedded database purely written in java, and is open source. Cloudscape can store a java object as a data field, eg. a java method (function). Cloudscape source code has pass to apache, will be Derby next time.
I know another database(?) call netisam (from Sun, and no more supported by Sun), I bet not one heard it before, even if you know about it, you should have erase it from you memory, because netisam don't support JDBC, ODBC, even SQL queries! (I put a question mark after the database) and no more supported by Sun. Then how it works? If you have worked on Informix ESQL/C before, you should know, netisam is just an embedded database.
The worst thing about netisam is, I don't find a open source replacement for it!
Tuesday, December 20, 2005
Feed Planet Malaysia
Jason from Planet Malaysia include my blog into the website, but he ask me do I have another feed? The atom feed from blogger doesn’t display any content in PlanetMy. Jason didn’t told me what is the difference between my feed and the others. May be PlanetMy don’t know how to handle the different format between atom and RSS.
I suddenly recall, I have another feed from feedburner. The display seems to look better now. The atom feed just display one line in PlanetMY, without any content:
BLUE - People: Antero Taivalsaari
The feedburder’s feed display the title and content:
FuYiChin - People: Antero Taivalsaari
Antero Taivalsaari started the KVM (K Virtual Machine) project while working in Sun Lab …
Link:-
RSS, Atom, And The Syndication Standards Dance
Cinema ticket online
People still don’t get use of online technology?
I though I am going to work on Palm programming, but didn’t. I went for the movie ‘King Kong’ (2005, by Peter Jackson), is hard to get movie tickets from Mid-Valley and KLCC cinemas, is a long queue during holiday seasons.
directed by Peter Jackson, 2005. Is the re-make of the 1933 'King Kong' and not the 1975.
Finally get the ticket from Amcorp Mall cinema, you don’t need to queue up for a ticket, and they don’t use computerize ticketing system like GSC or TGV, they use paper and pen to mark the seats and movie tickets.
Someone should sell a ticketing system to them, but after I thought over again, if the current system works for them, they do not need another system, until their business expanded.
The second question in my mind, since there is online booking system available, like cinemaonline, why people still queue up for hours to buy movie tickets? Is just wasting time queue up at the ticket counter there. The truth is I don’t use online ticketing system too, because normally I don’t go for a movie during peak season.
I suspect a lot of people have book the tickets, but did not turn up and collect the tickets. I hope there is a better system, easier to use, can buy ticket through PDA or mobiles, cut down the long queue. For those people who are not familiar with computerize system, they can stick with the traditional (queue) system.
Singapore Golden Village Multiplexes, use Red Hat Enterprise Linux system as their booking system (replace the earlier Windows Server), may be the volume of their online booking is bigger.
Friday, December 16, 2005
One Touch Treo
Wednesday, December 14, 2005
People: Antero Taivalsaari
Reading: about palmsource
PalmOS development on OS
After trying very hard on setting up palm development on windows cygwin environment, but fail. Finally I get it running on OS X environment.
You need the prc-tools to compile the palmos program, prc-tools are just gcc cross-compiler for palmos platform, sometimes we just name it as toolchain. prc-tools is available in sourceforge, but there is no os x binaries download. I found some download link for prctools-osx, but is not valid anymore.
Finally I get a copy of prc-tools from here (it doesn't look like an apple site?), package by Zenonez.com, it should be available in Apple ADC too. According to the announcement, Metrowerks has drop m68k palm support in CodeWarrior, so Zenonez.com continue working on the prc-tools on os x.
Zenonez.com has package everything (including the Palm SDK) together, integrated well with Xcode (OS X Development Tools). I follow the instruction from Zenonez.com to compile MacPalm hello world program, it works. But I can't locate where is the m68k-palmos-gcc compiler. Is 3am after I finish, I should have gone to sleep 2 hours ago.
Tuesday, November 29, 2005
WeSync Palm Data
I though I can sync my palm data to WeSync, but I saw this:-
WESYNC REVIVAL IN THE WORKS …
PalmSource® has sold WeSync™ software to Tanner Research™. Under this new management, you can soon look forward to seeing:
* WeSync 1.6 for Palm OS® 5.x compatibility
* WeSync Support coming back online
* New users again welcomed & able to sign up
link:-
PalmSource Sells WeSync, gearbits.
Friday, November 25, 2005
Distributer make different software package
Thursday, November 24, 2005
my pkg-get wget bug fixed
Cinema Cinema
Movie business in doing quite good for these 2 years in Malaysia, take GSC Malaysia as an example, in year 2004 its revenue is 100 million and 10 million profit. You can read the news here.
GSC and TGV are the two bigest cinema operators in Malaysia. GSC (Golden Screen Cinema) own by PPB (PPB controlled by Robert
Kuok Hock Nien), TGV (Tan Golden Village) own by Tanjong PLC ( controlled by Ananda Krishnan).
You can book ticket online through cinemaonline, anyone though of watching movie online?
Wednesday, November 23, 2005
spreadsheet on unix
Internet Explorer JavaScript Remote Code Execution
Saturday, November 19, 2005
Nokia acquire Intellisync
Tuesday, November 15, 2005
ACCESS Completes Acquisition of PalmSource
Thursday, November 10, 2005
Wednesday, November 09, 2005
Postgresql 8.1.0 release
Thursday, October 27, 2005
Ubunto Automatix Installer
My friend is having some problems while installing mplayer on ubuntu, he found a solution to install the mplayer using automatix installer, and his mplayer is working fine now.
Anyone having the same problem should check out the ubuntu forum for automatix.
Tuesday, October 25, 2005
Bart Decrem
Bart is very active in open source world, he co-found Eazel in 1999 (together with some former apple employee like Andy), working on Nautilus File Manager, Miguel de Icaza was one of the board of directors, they work closely with the gnome community. Unforturnately Eazel was unable to secure additional financing and shut down in year 2001.
Bart has a korean wife, and he want to lean Korean Language. He move to Korean and work in Linux One (Korean company) and Hancom, after Eazel was shut down. Hancom is popular for it hancom office suite on Linux operating system, including a mobile version on Zaurus PDA.
He is the founder of Flock and leading the development of Flock browser.
You can find Bart's biography here.
Link:-
An interview with Bart on his working in Hancom.
Flock browser
Monday, October 24, 2005
WINE is 12 years old
I always do not believe simulator or emulator will work well, especially those standard set by Microsoft, that's the reason I don't think WINE and Mono will work well.
WINE has been developped for more than 10 years, expected to be beta soon (what! just beta!?). Yes! The software is alpha now, there is a news from NewsForge.
Software take time to be matured, 10 years is not that long for a matured product, hope WINE progress well in the future, then we have more choices.
Opensource project with commercial support develop much better than those without commercial support. Crossover office (from codewevers) build from WINE, work better than WINE, when running application like Microsoft Office and Internet Explorer.
PS.
WINE, WINE Is Not Emulator (It is a Windows emulator)
Link:-
LWN.net, Wine to Reach A Major Milestone
Wa! Online radio
Wa!FM, the chinese radio channel stop broadcasting on 15th October mid-night (exact time should be 16th October 1.00am), it will temparary stop for one year for re-organize, but is not sure it will be back on air again. Many audience try to save Wa!FM, they even sign petition online, but still still can't save the radion station.
I told my friend, they should try internet broadcasting or even Podcast. My friend told me, is not easy, and I agree, but I was wrong. In about one week time after Wa!FM stop broadcasting, they setup a website and start broadcasting through internet, 24 hours non-stop, but is repeating program every 8 hours.
The streamming through microsoft format. Why don't they provide more option like in realplayer format or Ogg Vorbis (an opensource audio/video format). Podcast is a good choice as well.
"Life found their way!" and Wa! Online found their own ways too!
Wednesday, October 19, 2005
PalmSource join opensource effort
Jimmy Wales
Monday, October 17, 2005
Two New Palm Device
I didn't notice that Palm came out with 2 new product-- Palm TX and Z22.
Palm TX. Finally palm have a PDA with build in Wifi, Tungsten C and LifeDrive support Wifi but is not really a PDA for me. Palm always don't have a Wifi because they claim that wifi will drain the battery. You can install a SD IO Wifi on some of the Palm product. Many user prefer SanDisk Wifi card than the original Palm Wifi card, because the SanDisk card has an integrated card with flash memory(256Mb?), and is cheaper but many people have problem with the driver. Can you imagine the Wifi card from Palm is selling at USD129! The new Palm TX with high resolution display, Wifi, bluetooth, fast CPU, selling at USD 299, what else you can complain with it?
Z22. I though Zire 31 will be a good device to replace my Palm Vx, but seems like Z22 is even better, selling at USD99 only, with 20MB memory, less that 100g, just my ideal weight for PDA.
Friday, October 14, 2005
Google hire gaim developer
Since Google Talk client only available on Windows platform now, other operating system users have to use 3rd parties IM client. I am using AdiumX on OS X to connect to Google Talk, it is working fine. AdiumX is base on gaim engine. (The setting of Jabber for AdiumX and Gaim is a bit different, please refer to the Google talk help center for gaim and adium)
The advantages of hire opensource developers and using opensource software, allow google to go into some areas like instant messager with less effort. Google just provide the IM client for windows but software on other platform (eg. OS X and Linux) is already available. Take a look at Yahoo! Messenger and MSN, their clients on non-windows platform is still struggling, is either the version are too old (compare with the software available on Windows platform) or is not working properly(Yahoo messenger have some problem executing on OS X 10.3 Panther, after patched with os online update).
Google hired Firefox lead developer-- Ben Goodger early this year.
Zombie computer
Thursday, October 13, 2005
Max Levchin
Max Levchin is the co-founder (together with PeterThiel) and former CTO of PayPal, he could have retired at the age of 28(?), after PayPal was sold to eBay for 1.5 billion dollars in year 2002, but he didn't and start another company-- Slide.com, online digital photograph management company.
eBay bought PayPal because PayPal has the ability to prevent fraud case on internet.
Max Levchin on NerdTV.
iPod video
Wednesday, September 28, 2005
Palm, Microsoft, Verizon team up
Palm is moving to some direction that is not what I was expected. Is the software and not the hardware which make sense for me, if someone like WinCE so much, he/she could have bought a iPaq and not a Palm. If Treo selling good in the market, PalmOS could have diminish from the market slowly, then we will have less choice.
Linux on PDA is still not popular, may be Nokia can do a better job than PalmOS.
Let see if WindowCE run better on Palm Treo than on iPaq H63xx, that could be interesting.
Friday, September 23, 2005
CMU Sphinx
Mozilla Firefox 1.0.7
Palm ppp to os x
Spending few hours of trying and trying, finally I am able to connect my Palm PDA to the internet through OS X system, using the usb-serial cable. I follow the macoshints website, setup a pppd on os x, but it always give me a DNS error on palm. I miss out ms-dns option in the pppd script.
Later I try to connect ICQ and GoogleTalk using ICQ for palm and jabberpalm, but no luck. I can't connect using both of the palm client, is already 4am in the morning, so will try next time.
I am able to connect to the mobile version of yahoo mail. wap for yahoo. (Sony Ericsson T610 can direct connect to this yahoo wap site) google pda.
I should blog the method for palm connect to the internet through serial and pppd script, on both windows and os x platform.
Wednesday, September 21, 2005
Business oppotunities
This website (from korea) for small and medium enterprise, help you to match your business partner. They invite you to Korea, provide free accommodations of 3 days 2 night in Seoul, visit electronic show and meet your potential business partners in Korea. Register through email before 30 September, trip is at October.
ACM 2005
I get this website from ACM (ASEAN Communications and Multimedia) 2005.
Monday, September 19, 2005
Birth of pilot
Japan's Access to acquire PalmSource
Saturday, September 17, 2005
Good service
Since I can't sync my Palm's data through IntelliSync to Yahoo, but I can sync Avantgo using its client on the Palm, I suddenly think of FusionOne. FusionOne provide a service to sync the pda data to in the internet, I have stop using it since I can sync it to Yahoo. Is good enough to have it on Yahoo and my desktop.
Unfortunately it complains, client too old. I try to login to the website, it reply me, "account not active". I write a email to fusionone support, immediately I get an auto reply that my request will be process as soon as in between 24 hours.
Just a few hours later, I get a reply that fusionone has stop the free service, and my last sync of the data is year 2001, which is 4 years ago! This is what I call a good service, they still give customer support for a free service, and a service that they have stopped. For a good service like this, I don't really mind paying a small amount of money for it.
Where is my category?
I try to sync my Palm PDA data to Yahoo, using IntelliSync. I just want to sync my Palm's memos, so I disable all sync option except memos in Palm Desktop (v4.0), but the memos sync nothing to my palm desktop.
I try to install the version 3 which came with my Palm Vx, but it can't launch the old version of the Palm Desktop on my XP properly, so I have to use the version 4.
Since the Palm Desktop v4 can sync my address book, I want to give it a try, to sync the address book to Yahoo. I have done it before with IntelliSync and it works, but I have forgotten exactly which version.
This time I make a small mistake, after I have installed the IntelliSync it change my setting, enable all the sync option that I have already disable earlier. Worst thing is, it deleted the category setting of my expenses, and all records group as 'Unfiled'.
It happened before especially when I do the 1st sync on the new version of Palm Desktop. Last time it deleted my Address book's category, and now is Expenses. Too bad.
Friday, September 16, 2005
Tuesday, September 13, 2005
wAntAn productions
Backup the blog
Cassandrappg's blog is down because it was hacked. Xia Xue's account was hacked too. I think is time to make a backup of the blog.
Blogger don't provide a backup solution, but can follow the instruction here. It sound dangerous to me, I will only try when I am free.
If you miss the cassandra's blog, this girl play warcraft!
I found the interview in Taiwan, when she was invited by HiNet.
eBay to buy Skype
Finally the news is out, eBay announce to buy Skype for 2.6 Billion (USD), half in cash and half in stock. There will be another 1.5 billion from eBay, if Skype meet eBay's expectation in the future.
news from New York Times.
Monday, September 12, 2005
Three billion Skype
There are many romors around, eBay want to buy Skype for 3 billion. The exact number is not sure, but eBay is not the first company putting up the offer. Once heard Rupert Murdoch's News Corp, Google, Yahoo and some other Telcom company. 3 billion is a lot of money, who know is reasonable?
Skype founded by Niklas Zennstrom and the others.
Friday, September 09, 2005
Aplix's JBlend
Friday, September 02, 2005
Automake tutorial: xtris example
I write a few automake tutorial before, and this is just another one.
Normally I will write a hello world program as a sample for the automake tutorial, but hello world is just too simple for a automake tutorial, so I use xtris as an example.
What is xtris?
xtris is a multi-player version of the classical game of Tetris. The program just base on Xlib and nothing else, most unix operating system have Xlib, so xtris can be compiled on most unix platform eg. Linux, Solaris.
There is a windows port by Vedran Vidovic.
xtris license under GPL, you can download the source code (version 1.15) from here.
Why xtris is good for an automake tutorial?
1. GPL. The program license under GPL, so I can just make modification on it.
2. Easy to compile. The program can be easily compile in major unix platform eg. Solaris, Linux, so less problem to solve for compilation, user can focus on automake itself.
3. xtris doesn't came with configuration script, you need to edit manually when you compile xtris on Solaris operating system.
Automake for xtris
xtris does not came with configure script. It is a very easy compile program, but you might need to make some modification to the Makefile, to make it compile on Solaris sytem.
xtris is a graphic base program written using X11 library and not depend on any other GUI toolkit. The X11 headers and libraries path for Linux and Solaris is different, Linux use /usr/X11R6 but Solaris (normally) located at /usr/openwin. Ya, Solaris use Open Window and not X-Windows.
Another problem came with socket command. On Solaris, need to link with the socket library, but on Linux is not necessary.
Some programs provide imake file to solve the X-Window library problems, I don't really like the imake. Some programs privide two Makefile, one for Linux and the other for Solaris, but the automake and autoconf script make the compilation in unix world much more easier.
Basic step for automake
1. make sure you have automake, autoconf, and m4.
2. use autoscan to generate configure.scan, and modified configure.scan to configure.in
3. aclocal and autconf
$ aclocal
$ autoconf
4. create Makefile.am
5. automake
That's it, you should have configure script now, and you can use the script to generate the Makefile:
$ ./configure
Let's start
You cane use autoscan to generate a configure.in template, or just create one manually. Different version of autoscan may create different configure.in template, the sample I give here base on old version, but should work.
1.
$ vi configure.in
# Process this file with autoconf to produce a configure.script
AC_INIT(xtris.c)
AM_INIT_AUTOMAKE(xtris, 0.99.0)
# Checks for programs
AC_PROG_CC
# check path and header
AC_PATH_XTRA
CFLAGS="$CFLAGS $X_CFLAGS"
LIBS="$LIBS $X_LIBS"
AC_CHECK_LIB([nsl], [inet_ntoa])
AC_CHECK_LIB([socket], [accept])
AC_OUTPUT(Makefile)
2. create Makefile.am
There binaries to be created, xtris, xtbot and xtserv.
xtris compiled from xtris.c
xtbot compiled from xtbot.c, xtbot.h, decide.c decide.h
xtserv compiled from xtserv.c
$ vi Makefile.am
# process this file with automake to produce Makefile.in
XTRIS_PROGS = xtris xtbot xtserv
bin_PROGRAMS = xtris xtbot xtserv
xtris_SOURCES = xtris.c
xtbot_SOURCES = xtbot.c xtbot.h decide.c decide.h
xtserv_SOURCES = xtserv.c
xtris_LDADD = -lX11
xtbot_LDADD = -lX11
xtserv_LDADD = -lX11
3. Create configure script
$ aclocal
$ autoconf
$ automake [--add-missing]
Automake need install-sh, missing and mkinstalldirs script, normally automake will make a link to these 3 files, but other system might not have these 3 script file for you compilation. So I remove these 3 links and copy it from the system. eg.
$ rm -f install-sh, missing, mkinstalldirs
$ cp -p /usr/local/share/automake{install-sh,missing,mkinstalldirs}.
Few other files like NEWS, AUTHORS could be missing complain by the system. I just create a file for the system to check
$ touch NEWS AUTHORS
4. Now you should have a configure script, which generate the Makefile
$ ./configure
$ make
==> generate xtris
Note:
Complain of VERSION redefined, I just modified:
$ vi xtris.c
#ifndef VERSION
#define VERSION "1.15"
#endif
5. package into tar.gz
$ make dist
Conclusion
This is a very simple makefile tutorial, my modification to the xtris is more than this. I move all the manual file to man subdirectory, add control for gcc and Sun Workshop C compiler, but I don't have any hosting area to upload my modified version of xtris.
Thursday, September 01, 2005
Phil Katz and arc wars
There are many compression utility and format available, eg. zip, arj, lha, rar, Z(unix compress), gz, bz2. The most commonly seen now is zip (windows), gz or bz2 (for unix platform).
I read this interesting article name arc wars, SEA (System Enhancement Associates) sue PKWARE (PK is Phil Katz) for copied ARC's program code and violated on using the name ARC. Since Katz's code (from PKWARE) is much more faster than SEA's ARC program, SEA is not happy with it.
The result is obvious, costly legal suit hurt them both, financially and reputation. Phil Katz release a new compression format Zip, which was widely used until today.
Phil Katz died in year 2000 at age of 37.
link:
arc wars from hacker dictionary.
A story by Thom Henderson, of SEA company.
A smaller world.
Wednesday, August 31, 2005
BurgerSpace
BurgerTime is the first game I play on PC at 1985. Is originally written on a coin machine then ported to PC.
BurgerSpace is clone of BurgerTime, and is open source, many classic game have clones.
BurgerSpace is base on
1. SDL (SDL, image, mixer), game library
2. flatzebra, double frame buffer library
3. OpenGL, a standard 2D 3D graphic library
I don't think I can get it compile on Solaris system because the missing OpenGL library. Since I have a working version of critical mass on OS X, may be I can get BurgerSpace work on OS X too, even though is not stated at the website.
Since today is a holiday, may be I can get it a try, while watching the DVD movie-- Jackal.
I make use of fink to download the 3 SDL libraries (SDL, image, mixer), getting it compile is so easy, but seems like quite slow on my ibook, should get a faster machine (eg. 1.2GHz) to get the compilation work done.
SDL is a great game library, portable to multiple platform eg. windows, Linux, Solaris, OS X. I am not familiar with it, will take if I have more free time, anyway I don't write games.
The fink install the libraries in /sw directory. I can't get flatzebra package from fink, so I compile from the source code, manually. I have some problem while compiling flatzebra, the compilation script is able to detect the SDL libraries, but didn't add the SDL_image, SDL_mixer libraries in the Makefile, I didn't change the compilation script but add in the missing libraries in the Makefile manually.
-I/sw/include
-lSDL_image -lSDL_mixer
I install my flatzebra in /usr directory.
There is only one problem with compiling SpaceBurger, can't find the OpenGL library. MacOS X should came with OpenGL library, after I search through the website, finally I found, still the compilation script.
I change
-framework Cocoa OpenGL
to
-framework Cocoa -framework OpenGL
That's easy.
BurgerSpace is a good clone instead, is almost like the old game, except for the contact distance of cooker (player) and sausage (and others) should be adjusted.
I get it working on my OS X after I have finish the movie. Wow! It take me four and half hour to finish the 2 hours DVD, because some times I pause and continue while doing the compilation. Spend all day (afternoon) compiling open source program, don't make it any different on other days.
PS. unable to upload pictures today.
Critical Mass Game
Is boring day and feel lazy, I found this game in apple site.
Critical Mass a.k.a. Critter
Surprisingly license under GPL, written on SDL and openGL library. I try to get it compile on Solaris 2.6, but missing openGL, which is 90M size, so I give up.
Friday, August 19, 2005
Embedded in you ARM: code density problem
ARM cpu is a very popular low power consumption cpu used by many embedded design. ARM use RISC design, and that's how the ARM name came from--Advance Risc Machine.There are some advantages of RISC design over CISC (eg. Intel cpu), but the code density (code size) on RISC cpu is much higher than a CISC cpu. This is not good for embedded system, because in embedded system, every byte is counted.
Why RISC cpu's code density is just higher? The simple answer is RISC cpu instruction set is fix size and some times it needs more instruction set to accomplish an action, compare with CISC cpu.
To solve the code density problem, ARM design the Thumb instruction sets. ARM was first design as 32 bit cpu (mean all instruction sets are 32 bits), Thumb instruction code are subset of the most commonly use ARM code and compress into 16 bit instruction code.
The 16 bit Thumb code will be decompress as original 32 bit instruction set before execution in cpu, since the decompress is done by hardware, there is almost no overhead for decompression.
Overall there is an improvement about 30% in code density on using Thumb code. Even though thumb code execute slower than normal ARM code, but sometimes in certain condition, Thumb may perform better than ARM, when you have slow memory access, because access of the shorter Thumb code is fater than the ARM code.
The other advantages of using thumb code is, you can have your embedded device design with a 16 bit bus, which will lower down the cost of the hardware.
All ARM9 and XScale included with Thumb technology, according to some website.
Remark:-
Below is some simple and easy undertand of the CISC and RISC design. For detail explaination of it, please refer to the web.
What is the different between CISC and RISC design?
RISC stand for Reduce Instruction Set Computing, it has less instruction set compare to CISC (Complex ...). RISC is less complicated in chip design, less transistor, smaller in size, cheaper, consume less power... RISC will have fix size instruction set which help the pipeline design possible and easier.
What is a pipeline?
Normally machine use a cpu cycle to complete execution of an instruction. Pipeline design split each instruction into (normally) 5 stages. The cpu with pipeline design doesn't need to wait until an execution of instruction to be completed before it fetch in another instruction, once a stage of instruction is completed, the cpu will fetch in the next instruction.
Effectively with pipeline design, cpu can execute 5 instruction together (insteed of 1 after another), if these instruction does not depend on each other.
Super pipeline refer to cpu which have more than 5 stage.
What is superscalar?
Superscalar cpu have more than 1 pipeline. Normally 1 for instruction and another for data.
Embedded is another battlefield
IT (Information Technology) world are very competitive, different product, including hardware and software competing each other from time to time. The most popular could be the long rival between AMD vs Intel in CPU war. In software area, Netscape/Mozilla vs Internet Explorer, Linux vs Microsoft Windows operating system, many more examples happen everyday.
In embedded world, there is still competition and war going around, but the company and products that taking part are different from the normal player that we are familiar. CPU in embedded system does not target for speed performance, but more on power consumption, majority of the embedded system (eg. mobile phone) is using a ARM cpu and not an intel cpu.
In software operating system, Windows is the most popular operating system on desktop environment, but on smart phone, Symbian OS is the big player, and Palm OS was major OS supplier on PDA. Window CE from Microsfosft is growing strong in these area, surpass Palm OS in PDA operating system, but embedded system create another battlefield for new players, just like Netscape vs Internet Explorer in network (Internet) area. Even though Netscape has lost the battle to Internet Explorer, but is work from Netscape is always remarkable.
There is a few area that I explain here, why embedded world is so different from the normal IT world in terms of concept design, implementation on hardware and software.
CPU
ARM is a very popular CPU in embedded system, for it low power consumption chip. The cpu can be as low as 1 watt power consumption, but still running at 200 Mhz frequency (I know is nothing compare to Pentium these days). ARM license its core design to other other vendor like Texas Instrument, Samsung etc, many people does not know about it, but ARM (or ARM designed) chip is install in most mobile phones. The StrongARM chips used by earlier iPAQ PDA, some of its technology came from ARM.
(StrongARM is a join effort of DEC and ARM to create a faster CPU in 1995. As a settlement of lawsuit between DEC and Intel in 1997, DEC sold off the Hudson semiconductor manufacturing plant and agree to cross-license for 10 years on their cpu design with Intel. The reason that DEC want to sold off it manufacturing plant because the plant was not fully utilise with manufacturing on DEC Alpha CPU, which Intel might be able to solve the problem with its popular cpu)
Display chipset
The current display chips install in desktop now days is not suitable to use in embedded system. The chips consume too much power, and hi-resolution (1024x768 or higher) is just a waste for embedded system. Normally the display resolution for PDA or smart phones is just 240x320 pixel or even lower.
ATI came out with Imageon product line (used by Dell's Axim PDA), which is a low power consumtion display chipset but still give 3D capablities to embedded device(eg. mobile phone) to have 3D games running smoothly on it, without sacrificed the battery life.
Portable game console
Nintendo has been in game console for many years, but now losing the market to X-Box and Sony's Play station. Nintendo's gameboy series is still going strong in portable game console (like in old time 'Game & Watch').
Sony's has new PSP (PS portable), and new comer Nokia's NGate (base on Java games, not that popular as the other 2 products) are the major and potential players on the portable game console market.
kvm, j2me java virtual machine
Java was first design target for small device, but growing into a bigger platform (above 20Mb) on today's desktop operating system. In 1999, Sun's java2, split the java platform into Enterprise (J2EE), Desktop (J2SE), Embedded (J2EE) edition.
The KVM is a J2ME virtual machine which has a small foot print (about 200K insteed of 20Mb), which fit into many embedded platform. The J2ME which still base on the java programming language, but change its design architecture to fit in small device, eg. j2me class need to be pre-verified, before it was deploy, this will simplified the java run time implementation.
Other company like IBM and HP work on j2me vitual machine eg. HP's chai, IBM's J9. I think HP has stop their development on the chai virtual machine.
Graffiti
Palm is not the first PDA available on the market, Apple's Newton Message Pad is selling much earlier. Palm is the first successfully product after Newton Message Pad and Pocket PC, one of the successful reason of Palm is they get the design right.
Normally PDA doesn't came with a keyboard, the using of PDA will be heavily depends on hand writting recognization software. There is some PDA now attached with a keyboard device, which I think it is a bad idea, but good for those people who does not familiar with hand writing.
Apple's Newton Message Pad is not successful for its poor hand writing software, same problem happen in Pocket PC too. Palm co-founder Jeff Howkins have something different in mind, since software is hard to recognize human hand writing, why not let user learn some special writing which can be easily undertand by the software?
That's how he design Graffiti, the way you write on Palm device. The result is impresive, you spend very little time on learning how to write in Graffiti (major key stroke is simular with normal alphabet, only minor changes in some of the alphabet), but can be recognize effectively by the device.
mpg123 vs mpg321
Many people know mpg321 is a free clone of mpg123 (take note of 123 and 321), long before mpg123 licence under GPL (an open source license). Another advantages that using mpg321 over mpg123 on embedded device is, the code implementatation of mpg321 does not use floating point calculation. Some embedded cpu like earlier version of StrongARM (SA-110) doesn't came with co-processor (floating point unit), even though you can have software simulation (eg. Linux kernel) as co-porcessor, but running mpg321 which does not use floating point unit, will consume less cpu power.
Internet browser
An internet browser like Mozilla and Internet explorer, easily occupied 20Mb of storage. A standard PDA could have design with storage much lesser than that. Netfront browser from Access software, is much smaller in size which fit into embedded device.
There is a minimo (Mini Mozilla) browser from open source world, it is still under development. The name remind me of Mini-me in the movie--Austin Powers.
QT Embedded and GPE
Qt and Gtk are 2 main stream graphic toolkit (for X windows system) on unix/Linux platform. As they improve the toolkit library from one version to the other, the library size is getting bigger and bigger, the other problem is the UI widget is not suitable for embedded environment.
Qt (Trolltech) split out an embedded version of the toolkit--Qt/E specially for embedded system. Gtk create the GPE, GPE Palmtop Environment, they re-design some widget that is suitable to be displayed in embedded environment, and re-write some application base on it eg. PIM(Personal Information Management), clock etc.
Matchbox window manager
The is no way to port Gnome and KDE into an embedded system, is just too huge, Even it is workable, that is not the right way to do it. Some people use ICE window manager or Fluxbox on embedded linux, because they are small in size. Is still not an ideal solution, those window manager are design for desktop and not embedded system like PDA environment. Many of the functionality is not necessary on embedded system, example resize of window, user could hardly display more than one window on the samll display screen.
Matthew Allum have a good understand of the problem, so he create the matchbox window manager. Nokia had eyed on the matchbox and working with Matthew closely to put matchbox in Nokia's up coming Internet Tablet product.
Matchbox is a well written piece of software, which started from scratch. It was host on handhelds.org and now move to openedhand.
Chinese system environment
In Dos and Windows days, ETen, NJStar, ChineseStar, TwinBridge are the most popular software which provide chinese support to Dos and Windows. Later on Palm OS, is the PalmDragon and CJKOS (from NJStar) software.
Chinese vector font
Vector font is a very common technology used in today's GUI display. The roman character true type font contain 26 alphabetic character is just a few hundred kilobyte in size, but a chinese true type font which contain more than 10 thousand of character, easily occupied 3 to 5 megabyte of storage.
Back in 1990s, there is a jetfont from New Fairland, fit in 3 chinese vector font in 1.2 megabyte storage. Since the vector font is not compatible with true type and require its own display driver, the product almost disappear from the market after windows 95, not it was used in kanjiweb software, you could hardly hear anyone refer to it. The small foot print of jetfont is just nice to fit into an embedded system.
Another font company, Arpic have a HiFont product (chinese link is here), which claim to be a small foot print (1Megabyte) font which is suitable for IA system.
Conclusion:
There are many area in embedded which is unexplored, many of them are workable by just tweaking around the existing system and product. The above is just some examples taken from the real embedded world, hopefully it can help to think further on embedded system.
Wednesday, August 17, 2005
Nokia Internet Tablet 770
Read it the news today (again!), I have not seen it on the market yet, anyway I don't shop around. 200g is a bit heavy for a hand phone, 80g to 100g sounds more reasonable.
I am looking forward for the real product, because it should be running a Linux os (May be the later model). Many company try to make linux available on embedded device, but most of them is not really successful, I hope Nokia can change this.
There is a development platform available. Earlier I have blog on openedhand.
The nokia official page is here.
Tuesday, August 16, 2005
using cloudscape
I just try the cloudscape 3.5 today, is easy to get it working. I downloaded it many years ago from cloudscape.com.
My cloudscape 3.5 came as a java class file, about 10MB file, the class file itself is an installer
$ java cloudscape351
The install in /usr/local/cloudscape. I install everything is about 23M.
$ export CLOUDSCAPE_INSTALL=/usr/local/cloudscape
$ export CLASSPATH=$CLOUDSCAPE_INSTALL/lib/cloudscape.jar;
$CLOUDSCAPE_INSTALL/lib/client.jar; $CLOUDSCAPE_INSTALL/lib/tools.jar;
$CLOUDSCAPE_INSTALL/frameworks/RmiJdbc/classes/RmiJdbc.jar
To test the class path is install properly:
$ java COM.cloudscape.tools.sysinfo
Cloudscape Information
3.5.1
If you don't see the above information, means the class path was not setup properly.
Using the cloudscape client, cloudview
$ java COM.cloudscape.tools.cview
You can use the client to create table, store data, query SQL statement etc. You can try it yourself.