Wednesday, October 25, 2006

The future of JavaME is also about new hardware

I think the future of JavaME is not only about new Java API’s.
We now have got a lot of new Java API and also updated JavaME profile’s (MIDP2.0 and PP1.1). But I think hardware that support it is missing (but not so much for the MIDP 2.0 profile).

I would like to buy new cool hardware that also support Java, but I don’t find it!

I bought me a SavaJe phone at last JavaOne, because it support Java ME/CDC1.1/PP1.1 and AGUI. The phone was an ordinary phone, nothing to be excited about.

I hope Next Generation UMPC (Origami devices) called 'Vistagami' tablets will support JavaME/JavaSE?
I wondering if there will be a next generation of Nokia’s Internet tablet (Nokia 770)? (Nokia 770 is running on the linux platform (not symbian)).
I also read rumours about a new device (a phone) from Apple called iPhone, look interesting.

I think there will come a killer PDA/tablePC during 2007 (like Apple’s Ipod), which company will sell it? (Apple, DELL, SUN, Nokia, SonyEricsson…). I don’t now but I think the market is there now.
I hope this new device will support Java, so I also can write new cool Java applications to this device!

Update:
I have been talking with Maximiliano Firtman in his blog about The future of JavaME.

I wrote this:
I am not sure if devices like Nokia 770 and UMPC (Microsoft's Ultra Mobile PC) will run well if they only have support for JavaSE. I think JavaME/CDC1.1/PP1.1 is perfect for these small devices. The next problem is which company can supply a JVM for these devices? The PocketPC platform is a good example how difficult it has been to find a JVM for that kind of device. Perhaps now when SUN Open Source JavaME it will help us to get jvm’s for more hardware platforms?

I agree that JavaME/CLDC/MIDP is already available on many consumer cell phones.
No hardware problem here, only Java fragmentation problem!
So I agree MSA for CLDC (JSR-248) is something really good for us developers!
I look forward when we have devices that support JSR-248 (MSA for CLDC) and JSR-249 (MSA for CDC). But again there are no devices that support it yet!
We will have devices soon that support JSR-248, but for JSR-249 it will takes some time I believe, I hope it will be a faster process to agree about this JSR-249!

But it is different for JavaME/CDC/PP, I think JavaME/CDC has not yet hit its mark with smartphones and PDAs.
For JavaME/CDC/PP there are nearly no devices you can buy, for example how many Nokia devices have support for JavaME/CDC1.0/PP1.0? , not many phones and for JavaME/CDC1.1/PP1.1 there is no phone.

I also think that the JavaME/CDC1.0/PP1.0 implementation has not been so well so far.
You can often find frustrated developer telling you things like this:
Why are CDC implementations always so buggy?

But I think there will be a change during 2007, with more devices supporting JavaME/CDC1.1. But it look like the next generation GUI on wireless handsets is not settled yet (AGU or eSWT)
Because of that I think we will have devices during 2007 supporting Java ME/CDC1.1/FP 1.1 profile with eSWT and other devices supporting Java ME/CDC1.1/Personal Profile 1.1 with AGUI (like the SavaJe phone) and Java fragmentation problem again for the JavaME/CDC platform

Friday, October 20, 2006

Something really good for me as a developer

It is not something new, but for me VMware is new.
I have since some month ago started to use VMware workstation (I was not so expensive to buy), there is also a free version called VMware player.

"VMware Player lets you evaluate new or pre-release software contained in virtual machines, without any installation or configuration hassles. You can also share existing virtual machines with colleagues or friends—just use VMware Player to run any virtual machine."

VMware has helped me lot as I often as developer/architect have to install new software, updates..
After a while my PC is completely over installed with different servers and became slower and slower.

The last months I have working with architecture for mobility at one my customers, this architecture also includes Mobility Management server and Security Servers. All these servers we need if we have a lot of users/devices out there.
So with VMware I am able to install a new server (linux or MS server 2003) on my laptop and have it well integrated with my developer environment (Netbeans/Carbide.j). It is really good not have to install all different servers direct on my laptop OS and to be able to test new version before you upgrade the real server.

Monday, October 16, 2006

90 % of SPAM Email have now disappear from my Email server

I maintain my own mail-server (posfix) on a linux server (fedora core 4).
I have come to hate spam and the waste of resources which comes with it.
I think about 80 % of all mail to me is spam.

But during this weekend I have reconfigure my postfix-server to get rid of all SPAM.
I found this really good article about Filtering spam with Postfix.
It was really easy to filtering spam with postfix; now 90 % of SPAM Email has now disappeared from my Email server.

I haven't yet integrated SpamAssassin or Dspam with postfix, after I have done that more SPAM will be removed.

But now it is possible again to using my Nokia phone to read mail!
:-)

Update:
There is also an Open Source product called Zimbra Collaboration Suite (ZCS), Open Source Edition that could be interesting (I haven’t tried it my self). The idea behind Zimbra is provide a do-all 'black box' that Just Works. All needed software is included. Read more about it here.

Read more:
Using PostFix To Reject Spam

How to install Postfix, Amavisd-new, SpamAssassin, Pyzor, Razor, DCC, and ClamAV on Fedora Core 4 - v2.1.8

How to get Dspam, Postfix, and Procmail to play well together

Dspam

Wiki, Integrating DSPAM with Postfix

Nine ways to combat spam

Tuesday, October 03, 2006

Now available: Sun Java Toolkit 1.0 for CDC, Beta

Now something I looking forward to next release of Netbeans, Netbeans 5,5 RC1

I have last week used 5.5 q-build 200609062200 of NB + q-build 20060907 of Mobility Pack for CLDC. It looks very nice for a mobility point of view!

What I have understood Netbeans CDC Beta2 should also be available together with 5.5 Release Candidate 1 on Tuesday October 3rd.

Now I have also found this information:
Sun have now released Sun Java Toolkit 1.0 for CDC!
Great news!

I am now prepared for Netbeans 5,5 RC1, Netbeans CLDC 5,5 RC1 and Netbeans CDC Beta2 when they release it today.
**************************
Sun is proud to announce the Sun Java Toolkit 1.0 for CDC, Beta has just been made available. With the toolkit comes the platform emulation environment that supports the Connected Device Configuration 1.1, Foundation Profile 1.1, Personal Basis Profile 1.1, and the recently completed Advanced Graphics User Interface 1.0. These technologies serve as the base for the CDC platform and support for developing applications on CDC are provided through the combination of NetBeans Mobility Pack for CDC and the Sun Java Toolkit for CDC. We are looking for feedback on the tool, so have a go and try it out.
Downloads and information can be retrieved at:Sun Java Toolkit 1.0 for CDC, Betahttp://java.sun.com/products/cdctoolkit/overview.html
NetBeans Mobility Pack for CDC Previewhttp://www.netbeans.org/kb/50/mobilitycdc.html
Thanks,Sun Java Toolkit for CDC Product Team

Monday, October 02, 2006

Running Glassfish and Apache httpd on fedora Core 4 server

I have installed GlassFish V1 Milestone 7 - build 48 on a fedora Core 4 server.
I have also installed: JDK5.0 and Ant 1.6.2
I also have to add JAVA_HOME to point to JDK5.0

I would like to integrate Apache httpd (2.0.54) with Glassfish, I found this excellent blog about this.

But I get this error in "mod_jk.log":
[Sun Oct 01 13:29:21 2006] [5737:22208] [error] init_jk::mod_jk.c (2450): Initializing shm:/etc/httpd/logs/jk-runtime-status errno=13

But the Glassfish server works ok, it is the integration that don’t works completely ok.

Do you now what is wrong?

I have done this:
1) I downloaded this file “mod_jk-apache-2.0.49-linux-i686.so”, I copy the file to: /etc/httpd/modules

2) I created this file: /etc/httpd/conf.d/glassfish.conf, that look like this:
LoadModule jk_module modules/mod_jk-apache-2.0.49-linux-i686.so
JkWorkersFile /etc/httpd/conf/worker.properties
# Where to put jk logs
JkLogFile /var/log/httpd/mod_jk.log
# Set the jk log level [debug/error/info]
JkLogLevel debug
# Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
# JkOptions indicate to send SSL KEY SIZE,
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
# JkRequestLogFormat set the request format
JkRequestLogFormat "%w %V %T"
# Send all jsp requests to GlassFish
JkMount /*.jsp worker1
# Send all glassfish-test requests to GlassFish
JkMount /glassfish-test/* worker1

3) Then I created this file:
/etc/httpd/conf/worker.properties, that look like this:
worker.list=worker1
# Set properties for worker1 (ajp13)
worker.worker1.type=ajp13
worker.worker1.host=localhost.localdomain
worker.worker1.port=8009
worker.worker1.lbfactor=50
worker.worker1.cachesize=10
worker.worker1.cache_timeout=600
worker.worker1.socket_keepalive=1
worker.worker1.socket_timeout=300

4) I have also copy to /usr/glassfish/lib:
- tomcat-ajp.jar
- modeler-1.1.jar
- commons-logging-1.0.4.jar

5) Then I enable mod_jk by adding one line in this file: /usr/glassfish/domains/domains1/config/domain.xml for the tag "jvm-options":
-Dcom.sun.enterprise.web.connector.enableJK=8009

6) I then restarted the Apache httpd (Apache/2.0.54)

7) After that I start the GlassFish server, with this:
asadmin start-domain domain1

8) I downloaded hello.war, from here and copy the file to:
/usr/glassfish/domains/domain1/autodeploy

9) The deployment didn’t work so I did this:
cd /usr/glassfish/domains/domain1/autodeploy
asadmin
asadmin>deploy hello.war
Now the deployment works ok!

10) Test the server
Locally on the server:
http://localhost:8080/hello = works ok!
From Internet:
http://www.ojn.se/hello = works not!
http://www.ojn.se:8080/hello = works ok!