jserv is currently certified at Master level.

Name: Jim Huang
Member since: 2004-04-16 15:02:10
Last Login: 2008-07-17 22:02:00

FOAF RDF Share This

Homepage: http://jserv.sayya.org/


I come from Taiwan, and take interest in Free / Open Source Software development, focusing on Chinese Input Method, Qt/Embedded, and free Java Runtimes. I got involved with Kaffe as sending a simple patch to get Kaffe and Qt/Embedded working together. Except Kaffe, I am also finding many interesting projects and try to help. I have another blog written in Traditional Chinese: Jserv's blog.


Articles Posted by jserv

Recent blog entries by jserv

Syndication: RSS 2.0

Cacao VM running on OpenMoko

The FIC guys gave me one handset of GTA01 (OpenMoko/Neo1973 machine) last month, and it brings a lot of joy and fun for hacking to me.

First, system emulator for OpenMoko based on qemu is really exciting, and I prepared a working Win32 version of openmoko emulator some days ago (look up the wiki for details). Then, back to Free Java world, I met several hackers around the world in #kaffe, #classpath, and #cacao IRC channel. Since I had portd Kaffe to Xscale-based mobile phones, I decide to take Cacao for a try.

After some slight modifications (with the help from twisti), Cacao works on OpenMoko GTA01, and here is the output for typical "Hello World" application in Java:

root@fic-gta01:/var/tmp$ cd /tmp/cacao 
root@fic-gta01:/var/tmp/cacao$ ls *.class
fp.class     hello.class
root@fic-gta01:/var/tmp/cacao$ cd bin 
root@fic-gta01:/var/tmp/cacao/bin$ ./cacao -cp .. hello
Hello world
root@fic-gta01:/var/tmp/cacao/bin$ uname -a
Linux fic-gta01 #1 PREEMPT Sat Apr 14
07:40:05 UTC 2007 armv4tl unknown
It is based on Cacao SVN (along with GPL'd ARM jit engine) + GNU Classpath version 0.95. However, I still manage to let gtk-peer work on Cacao inside GTA01 device. But I am of the opinion that it is really a good start point for joint of the power from Free Java (GNU Classpath, Cacao, Kaffe, etc.), OpenMoko, and Embedded Linux.

Also, I met guillaum1 in #cacao, who is the developer of MIDPath, and he suggested me to try the combination of cacao-cldc (cacao without GNU Classpath) + MIDPath. The design of MIDPath is very flexible, and it allows to have MIDP2 working on top of cacao-cldc (without Classpath) or standard cacao (i.e with Classpath). I will do that later.

In addition, some friends in Taiwan and I set up a new laboratory, named "Open RazzmatazZ Laboratory" (OrzLab), which funds an environment for freedom and creativity based on Free Software and Open Source efforts. We are looking for some improvements for OpenMoko, such as CJK (Chinese, Japanese, and Korean) text processing and input methods, Java VM integrations, etc. I do really enjoy the fun of hacking!

6 Feb 2006 (updated 6 Feb 2006 at 03:34 UTC) »
Ten Anniversary of Kaffe Project

In Feb 6 1996, Tim Wilkinson released the first version of Kaffe as version 0.1, which is the first independent free and open source implementation of Java Virtual Machine. See the ChangeLog here:
    Tue Feb  6 11:38:46 MET 1996    Tim Wilkinson   <tim@sarc.city.ac.uk>

    * Version 0.1 of Kaffe released.

    The brave action inspires many developers around the world, and various research projects and commercial products were constructing on the basis of Kaffe, and we could find some Kaffe-related projects in Links. Now, after ten years, there are many and many free Java runtimes and "clones". It's really amazing that GNU Classpath, GCJ, Kaffe, etc. are going better and better, more and more robust, and still free and open. :-)

    Happy Birthday to Kaffe!

Kaffe in Commercial Embedded System Product

I am looking up some commercial vendors for embedded system solutions dedicated to Linux-based realtime support today. There is one company, SYSGO AG, claiming that it is the leading software provider for Embedded Systems in Europe. After consulting the FAQs of ELinOS, I found the following interesting items:

  • Interesting facts about the use of Java on embedded Linux
      The commercial SUN Java 1.3 JDK requires about 30 MB in the file system and another 16-22 MB RAM for graphics applications. When graphic versions are integrated (e.g. Swing), the required classes add up to enormous volumes that are often too large for an embedded system.

      There are alternatives, but they usually have similar memory requirements when used with graphic versions. If it is possible to use access alternative graphic libraries instead of JAVA (e.g. QT/GTK...), a similar application can be handled with less than 4 MB.

      ELinOS offers Kaffe and Kaffe for QT as a Java environment in the DevelopmentKit.

  • Is there Java support for embedded systems? (VMs, versions etc.)
      ELinOS v3.0 comes with the Kaffe free Java VM for X86, PPC, ARM and Jikes. If requested, KVM or any other JVMs are possible.
So that, we can see that recent release of KaffeVM (with Qt/Embedded AWT backend) was shipped in industrial embedded system products, such as SYSGO AG's ELinOS. Interesting :-)
27 Sep 2005 (updated 27 Sep 2005 at 02:39 UTC) »

Play with GCJX

I just saw Ranjit Mathew's diary, Miscellany, and the status of GCJ attracts me, so that I decided to take a try with GCJx. I wrote a small build script, which can automatically check out from CVS, build GCJX, and show you if it's completed or not.

GCJX worked very well with my test cases, and I even modified kaffe/libraries/javalib/Makefile.am.in to drive GCJX generating bytecode for Kaffe's API implementations. It seems to work, but I think I should take a look over the existing build process, according to kaffe/library/javalib/Makefile.am:

    # Note: Makefile.am is generated from Makefile.am.in using 
    # developers/update-class-list (called from developers/autogen.sh)
    # Yes, it's slightly insane:
    #   Makefile.am.in -> Makefile.am -> Makefile.in -> Makefile
    Also, I found the kaffeawt building fault of Nano-X AWT backend. It would be better to introduce new rules for generating the separate jarball.

    Ooops, I have to say again, GCJX rocks. Kudos to Tom Tromey!

After following [KDE Contributor and Developer Conference], I found the topic [There is a K in microkernel - Qt/embedded port to L4], and I thought that's amazing to me although I can't attend the session due to physical distance. Recently, [the L4 guys] ported Qt to L4/DROPS, and they are finally about to present their great work in KDE aKademy.

As I recall, Alexander Boettcher told me the progress of Qt and Kaffe porting to L4 in mailing-list. Refer to [problem using QtAWT with 1.1.5 (Gnu Linux/i686)]. I am really excited that it works even better now. Later, I would like to put the sexy screenshots in Kaffe.org's collection [Screen Shots - Kaffe's Qt AWT backend], and, of course, I am willing to see the L4 porting efforts are going to be merged in cvs repository, too.

Exciting L4 !

2 older entries...


jserv certified others as follows:

  • jserv certified jpick as Master
  • jserv certified robilad as Master
  • jserv certified mjw as Master
  • jserv certified Anthony as Master
  • jserv certified saugart as Master
  • jserv certified gadek as Master
  • jserv certified miguel as Master
  • jserv certified cbj as Master
  • jserv certified rmathew as Master
  • jserv certified tromey as Master
  • jserv certified twiun as Master
  • jserv certified Akira as Master
  • jserv certified bonzini as Master
  • jserv certified graydon as Master
  • jserv certified mallum as Master
  • jserv certified gonzo as Master
  • jserv certified ijliao as Master
  • jserv certified kiffer as Master
  • jserv certified minipanda as Master
  • jserv certified argaldo as Journeyer
  • jserv certified jserv as Journeyer
  • jserv certified alejandro as Master
  • jserv certified lupus as Master
  • jserv certified zhaoway as Master
  • jserv certified kevlo as Master
  • jserv certified benh as Master
  • jserv certified sdodji as Master

Others have certified jserv as follows:

  • saugart certified jserv as Master
  • mjw certified jserv as Journeyer
  • Akira certified jserv as Journeyer
  • robilad certified jserv as Journeyer
  • jpick certified jserv as Journeyer
  • bonzini certified jserv as Journeyer
  • jserv certified jserv as Journeyer
  • argaldo certified jserv as Master
  • urglacier certified jserv as Master
  • chakie certified jserv as Master
  • LaForge certified jserv as Master

[ Certification disabled because you're not logged in. ]

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!

Share this page