Saturday, December 31, 2005

Bye Bye 2005

Today is 31st December 2005, the last day of the year. It rained in the afternoon. Is time for me to say goodbye to the year 2005, feeling a bit sad with this, because time flies.

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

skypeI 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

Normally I don't invite people to join in party, I am just lazy to do that. This year is a bit different, I ask some friends to join in our Christmas eve celebration, some did turn up, some didn't, but is good enough. We have sandwich, mee, curry chicken, dessert, volka lime juice, main course should be BBQ chicken. The best part should the the gift exchange session after 12 midnight, where everyone get together. I get a nice organizer, but I use PDA these days, but still a good present for Christmas. The chicken wings are nice, but just too lazy too BBQ it. All people left at 1am plus, hope everyone have great time.

Friday, December 23, 2005

Secret behind the wardrobe

Sleep late yesterday night, but can't sleep well, keep dreaming.The scene from the movie Narnia keep showing in my mind. There is a secret entrance lead to the world of Narnia, behind the wardrobe. If everyone can fly (or fight) when he/she step on the land of Narnia, can we magnified the secret world (Narnia), keep everyone trained and send them back to the real world. Or is there any library which can open the door and link to the secret world, unleash the power. I must be thinking too much these days.

Thursday, December 22, 2005

I like (free) movie

Nothing can make me happier, other than watching a good (free) movie. I am quite lucky today, don't have to queue up for a movie ticket. I have this complementary movie ticket (20th century fox) from a friend, can't use it in Amcorp Mall's cinema, I think the lady at the ticket counter don't border to check for me. I try it at 1Utama TGV cinema. Seems like they accept, I get a ticket for the movie, 'The Chronicles of Narnia' (The Lion, the Witch and the Wardrobe), just about 10 minutes before the movie started, and is a center seat, may be is those people who have make the booking but never turn up. narnia The movie is about 2 hours, shorter than the 'King Kong', but longer that normal feature film. Is not that interested as what I expected, but not that bad at all. I enjoy the movie, because is free! People like free things, just like open source software.

Which database I know?

postgresqlA friend call me this morning, ask which database I know? I thought I am going to answer him, I don't know much about database, because I am a programmer and not database administrator. I suddenly know what he means, so I told him I know Postgresql, Informix and Oracle.

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.

cloudscape

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

blogger 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.

kingkong2005
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

palmYesterday night, having a chit-chat session with a friend during dinner time. He shows me his Palm Treo 600 smartphone. He show me the sms reader, which display the sms like a instant messenger chat session, access to phone, sms, camera function is so easy, by pressing 1 or 2 button will do. Treo 600 is running PalmOS version 5 on ARM cpu (it should be Texas Instruments OMAP ARM core cpu), I notice there is a PalmOne name on the device. Palm have taken out the ‘One’ and change back to their old name (Palm, and just Palm only). There is a newer and better Treo 650, with better colors and higher resolution display. treo650 I don’t really like the idea of mixing PDA function with a phone (but seems like it will be a trend). For Treo itself, I don’t like the keyboard and the antenna, but the Treo is a very impressive smartphone. It is one of the best selling among all their Palm products (Treo 600 sold out one million), there must be some reasons for it. Link:- Treo.net The-gadgeteer review (600) CNet Asia editor’s rating as 9 out of 10! theregister review for Treo 600. Review of Treo 650 on mobiletracker.

Wednesday, December 14, 2005

People: Antero Taivalsaari

Antero Taivalsaari started the KVM (K Virtual Machine) project while working in Sun Lab, he is one of the coder who write the first implementation of KVM, which was written in C. I have lost track of J2ME development for quite some time. I found this interview(J2ME Luminary Antero Taivalsaari), which is more than a year ago, but is quite interesting for reading. Antero's homepage.

Reading: about palmsource

itweek (6 Oct 2005), is the end in sight for Palm OS? My view: It depends on how good and how fast the next version of palm os, but I don't see a sign of the end of palm os. brighthand.com (21 Oct 2005), Palm OS Is NOT Dead osnews.com (2004), Inverview with George Hoffman on PalmOS 6 sideways shuffle to Linux (2005 Feb). My comment after reading:- Is PalmSource has no clear goal? or they didn't announce? PalmOS is a mixture of Linux, BeOS and PalmOS itself. Take a look at what MacOS (OS X) does, with Mach kernel, unix (BSD) like services runs on top, improve (Aqua) interface from old MacOS, backward compatible with OS 9, and slowly phase out in the future, it is clear. May be they should focus on the PalmOS user interface, runs on Linux, Symbian or whatever kernel.

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.

macpalm
My first try on Palm Programming (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

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

solarisBoth Red Hat (or Fedora Core) and Mandrake (Mandriva) use rpm as the software package format, but sometimes they use a different name for the software package, eg. FC use gtk+, but Mandrake add a lib infront which give you libgtk. When the system try to solve the dependencies, gtk+ and libgtk are 2 different package. FC# rpm -i gtkhello error: failed dependencies: libgtk>=1.2.0 is needed by gtkhello (why libgtk? because is a mandrake package) FC# rpm -qi gtk+ Name : gtk+ In Solaris how the software package was named? eg. SUNWaudio is audio application, you can find it by, $ pkginfo | grep audio Blastwave.org follow the original sun naming system, CSW, Community SoftWare package name, eg. CSWaspell. In blastwave.org and sunfreeware.com, all files is package into one package, when you install, you need to install everything. I prefer the RH/FC way, development and runtime are different package. eg. aspell and aspell-devel. You do not need to install the development package if you are not using it as a development environment, and you can static link the library by install the development package only. Since solaris package name has a limit of 9 characters long, I will name my package as aspell, aspell-d(for development).

Thursday, November 24, 2005

my pkg-get wget bug fixed

Found a bug on my pkg-get, detect for wget command, but didn't return the status properly, it was fixed. Seems like I am not familiar with borne shell script. I know borne shell better than korne shell (use by the original pkg-get). The importance of pkg-get is not the script itself, but the packaging and the service which is valuable. I test my pkg-get on Solaris 2.5, seem like working fine.

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

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

I am looking for a small text base spreadsheet running on unix platform, so I found sc. Many of the original code was written by James Gosling (father of Java), but is not easy to use as compare with Lotus 123. Sometimes technical is not a big issue, is the other part of the software like the interface which make the software a killer application. I compile sc-7.16 on solaris, bison and ncurses was needed, ncurses will replace the some of the original header files eg. curses.h. The sc need terminfo to run, I just keep the vt100 terminfo in /usr/share/terminfo/v/vt100 sc_spreadsheet I found a copy of the very old Visicalc spreadsheet, allow for downloading, but just for personal use.

Internet Explorer JavaScript Remote Code Execution

I just read from the news, check here. Is dated 21 Nov 2005.

Saturday, November 19, 2005

Nokia acquire Intellisync

Nokia acquire Intellisync for USD 430 million, you can read the news here. I like one of the Intellisync product which sync palm data to Yahoo. I have try the product few years ago and stop after I have switch to JPilot. I try the Yahoo Intellisync some time ago, but is not working, I am not sure is the sync software or the Palm Desktop program. That's the reason I access to my fusionone account again! I really miss that, sync my palm data to the internet.

Tuesday, November 15, 2005

ACCESS Completes Acquisition of PalmSource

Oh! I visit the palmsource website and found this announcement on the first page of the website. access_palmsource The news is here.

Wednesday, November 09, 2005

Postgresql 8.1.0 release

postgresqlPostgresql 8.1.0 was release recently, the release notes is here, I have download the source code and compile it on a solaris machine yesterday, it was compile successfully with some warnings. It has been quite a while (a few months) after I tried compiling version 8.0.3, so I just try my luck yesterday, looking for some newer release and I found version 8.1.0. The win32 binaries is here.

Thursday, October 27, 2005

Ubunto Automatix Installer

ubuntuMy 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 Decrem

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

This is a new browser base on firefox, expected to be an opensource browser (but not yet, still very beta), you can download from here to have a early experience of the browser. The development team is lead by Bart Decrem. Bart is popular in opensource world, he was active in Mozilla foundation. He is a co-founder of Eazel in 1999, Eazel close down in 2001, after they fail to raise another capital fund for its operation. Flock is ambitious, and it will not just be a browser but more. Flock is still very new, let see how it will perform in the future. Eazel is the company behind of the development of Nautilus, an open source file manager.

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

waonlineWa!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

palmFinally PalmSource has a goal in their future, and is clearer, this is good for those who develop PalmOS software, atleast they know where is this company moving now. OSDL (Open Source Development Labs) launch Mobile Linux Initiative, and PalmSource is one of the members. We hope that by working together will grown the market of Linux and PalmOS in mobile or PDA market. PalmOS was a well written software, simple and stable, fit in just nice for a PDA device, but their new version of the operating system (version 6, Cobalt), doesn't get much acceptance in the market. My personal comment to PalmSource is the software are poorly written, the new version of the software (eg. PalmDesktop) is worst that the earlier version, is less stable and not user friendly, the jpilot (an opensource palm desktop) work better than the original PalmDekstop software. The support on MacOS is poor. I hope they may change after joining the Mobile Linux Initiative and OSDL. Other paticipant in mobile linux include Trolltech(Qt), MontaVista Software, Motorola and Intel. PalmSource was acquired by Access co. (Japan) recently. Link:- What's not in cobalt

Jimmy Wales

Oh! Jimmy Wales is the co-founder (together with Larry Sanger) of wikipedia, you can find some history of wikipedia from their page on wikipedia too. I like wikipedia, is an online encyclopedia, you can find a lot of information out of it. Jimmy Wales's blog.

Monday, October 17, 2005

Two New Palm Device

palmI 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

According to this blog, Google hired Sean Egan, main developer of gaim, from the gaim website, seems like Sean is already working with Google for quite some time. Google have its own instanst messenger just like Yahoo and Microsoft, google's IM is very new (and still in bete version), compare to Y!Messenger and MSN, which already available on the IM market for many years. Google's messenger is base on a open protocol--Jabber.

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

Learn a new term today, 'zombie computer'. It refer to those computer control by the hackers (or crackers), using virus or install trojon horse program. These zombie computer are use to send spam mail, invade computer system.

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.

paypal


eBay bought PayPal because PayPal has the ability to prevent fraud case on internet.

Max Levchin on NerdTV.

iPod video

appleIs a long time I didn't blog. As all the rumors on the street says, iPod play videos. At the beginning of October, Apple send an invitation letter to the media, for a special event on 12 October, call "One more thing...". This is a usual phrase Steve Jobs like to use for introducing Apple new product. Expected to be an iPod video and yes, it is a iPod video. If I am not mistaken, this is the 4th time, Steve Jobs review new apple product, after MacWorld, Worldwide Developers Conference, special event for iPod nano, and now iPod video. I have not watch the video this time (is here), but I watch the pass three events, Steve Jobs speak on the stage, no doubt, he is good. No, I should say, "This is fantastic! Amazing.". Just like what Steve used to describ Apple's new product. Is important to have new product every year, especially for technology company. Apple is doing a good job this year.

Wednesday, September 28, 2005

Palm, Microsoft, Verizon team up

palmPalm 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.

palm
Ed Colligan(Palm), Bill Gates(Microsoft), Denny Strigl(Verizon)


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

I tried a voice recognize program which was written by one of my colleague, during university time, she can't remember what is the library that used in the program, I found out is Sphinx, an opensource project from CMU. The program was written in Visual Basic and running on Windows platform. It used some sampling data to convert the voice to text, it support English and Bahasa. Since the program more focus on Bahasa, is more accurate when use in Bahasa mode. Only certain words in the sampling database will be recognized, but is good enough, very impressive. The sampling data is quite big, about 150M. I told my colleague, there is a few area that we can apply the technology. I have a Sun server which do not have a console login, every time I need to telnet into the server to shutdown the system, may be I can use the sphinx as the interface to shutdown the server, by just saying, "Server shutdown!". How nice it will be! Another area that we can use it in our office is the PBX phone system, by integrated into the Asterisk. When anyone call in to our office, if they do not know a person's extention number, he can just say the name, then the system will connect to the person's extention automatically. Anyway, that's for fun and brain storm, no one is going to spend the time on doing it.

Mozilla Firefox 1.0.7

firefoxI have upgraded my firefox to 1.0.7. According to mozilla security web page, version 1.0.7 fix a list of vulnerabilities. Today a new exploits was found. There is a report from Synmantec says that, firefox browser is more vulnerable than IE, and for sure the debates goes on. Another report shows that the growing of firefox browser has slow down, which I think is normal. IE which still dominate about 80 to 90 percent of the browser market.

Palm ppp to os x

palmSpending 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.

acm2005
ACM 2005

I get this website from ACM (ASEAN Communications and Multimedia) 2005.

Monday, September 19, 2005

Birth of pilot

palmSome history for Palm, not really a good article for me. Jeff Hawkins startup Palm Computing in 1992, is not easy for Jeff Hawkins and Palm Computing, before the palm device hit on the street. Financial support, hardware design, hand writing recognition software, and most important the operating system and the PIM software.

Japan's Access to acquire PalmSource

palmOh! I miss out this important news. Access is a no name company (for many people), which create the very popular embedded netfront browser.

Saturday, September 17, 2005

Good service

fusiononeSince 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.

fusionone

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?

palmI 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

Avantblog

I found an website to blog through avantgo. I use it to write this blog using it.

avantblog
Avantblog

Avantblog is Avantgo plus Blogger. Avantgo is an online and offline browser available on palm a WinCE PDA.

Tuesday, September 13, 2005

wAntAn productions

blogger Jason told me he meet Jon in RMS talk. Jon is our ex-colleague, that I never keep contact for a long long time, seems like he work in Cyber Jaya after he left Tokuii, I am wandering which company in Cyber Jaya. DHL?

jon
Jon

Backup the blog

blogger 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.

cassandrappg

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

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

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

jblendWhich Java vitual machine on mobile phone? JBlend? There is a news here on Samsung to adopt Aplix's Java Execution Environment, JBlend. According to some information on the internet, JBlend is popular deploy in Asia market, their market should expand better when ARM (Jazelle) has team up with Aplix (JBlend). What J2ME virtual machine is used in other mobile phones?

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

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.

phil w. katz

link:
arc wars from hacker dictionary.
A story by Thom Henderson, of SEA company.
A smaller world.

Wednesday, August 31, 2005

BurgerSpace

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

critterIs boring day and feel lazy, I found this game in apple site.

Critical Mass a.k.a. Critter

criticalmass


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.

n770

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

cloudscapeI 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

cloudscape


$ java COM.cloudscape.tools.cview

You can use the client to create table, store data, query SQL statement etc. You can try it yourself.