2008-07-28

Microsoft position in open source community

Probably you know the Apache Software Foundation- one of the greatest source of production ready open source solutions, like famous Apache web server. And the Microsoft - the world wide corporation that earns money for their OS, Office suite and server software and seems to stay at opposite side. At 25th of July I've read CNET article about announcement that Microsoft is becoming a sponsor of the Apache Software Foundation.

Are Microsoft trying to change business model? Some kind of mix where open sourced subprojects will be used as parts of commercial products? Or just it's strategic move to have own people in open source community, to influence some future software directions. Officially, it seems that they are trying playing nice with open source. The Redmond giant doesn't want to be an enemy for everyone and sends white flag to open source crowd.

Undoubtedly, behind that are serious political and business reasons.

2008-07-21

Diving into Sakai project

I'm diving into Sakai project with intention to evaluate it as Learning Management System for my University.

Description from original web site:

"Sakai is a set of software tools designed to help instructors, researchers and students create websites on the web. For coursework, Sakai provides features to supplement and enhance teaching and learning. For collaboration, Sakai has tools to help organize communication and collaborative work on campus and around the world."

It's mature and well supported platform, targeted for large institutions. It uses some parts of J2EE technology with light approach. It's built on Spring framework and can work on Tomcat server.

Probably there will be need to customize some parts of platform to conform local requirements, so I have to check architecture and enchantment possibilities.

2008-07-15

The Java performance upgrades

Suns JVM (not to mention other JVM vendors) gains more and more in performance benchmarks. According to SPECjbb2005 benchmark data presented at Java One 2008, Java 6 get more than 100% speed prior to Java 5 at x64 platform. Such big gains were possible due to fact that applications and JVM were not so optimized to work at 64 bits. Many tests show that applications on x64 undeperformed to that on 32 bit platform.

For 32 bits JVM get smaller but still significant improvements. I felt that on my skin when switched from JVM 5.0 to newest JVM 6.0. Interactive applications work snappier now.

The direction of Java performance upgrades is in concurrency. To get good multi core processor utilization, new applications have to work in multi threaded way. If programmers won't write applications in the "new way", then maybe JVM and OS could better use multi-core as "back end". There is idea of implementing transparent internal concurrency for basic algorithms and data structures like collections or maps from Java libraries.

Latest JVM can raise desktop applications performance by two digits, but there is a lot of custom work for scalable server applications. Scalability still heavily depends on utilization of resources, memory in particular. It's still open field and solutions depend on application.

2008-07-08

Tools for static java code checking

Java language with its strong typing is well suitable for static code analysis.
There is variety of tools for early bugs and flaws detection through automated code checking. I mention three open source tools that any java programmer should give a try:
- PMD
- CheckStyle
- FindBugs

All tools have set of flaw detection rules. Every one has some strengths and weaknesses - all three are complementary to each other. I suggest you to run every of it and look at the different kind of flaws they explore. with default rules. It's possible of course to define own set of rules suitable for your needs. I've tried to install eclipse plugins for those tools - only PMD runs without problems. Maybe I should refresh my Eclipse 3.1 installation. PMD has a "copy and paste" duplication detection tool- but somehow it is not working with some characters in UTF-8 encoding. I hope it would be fixed - it's really useful tool.

So install code checkers - and view reports of your code. You can be surprised. It gives the opportunity to chop off the heads of some simple but nasty bugs.

2008-07-03

Illness and days without (almost) computer

I had no prepared post for that week. I get ill and I have to stay in bed. For past few days the best thing I was being able to do was sleeping. I'm trying to reduce time while lying in the bed with laptop on my belly, so now is moment I can write anyghing.

Such a pity that during good weather I have to stay at home.