News: Java goes Oracle

With one company (IBM) jumping off the merger train another big one joins the game: ORACLE. I guess at this moment no one can really judge if that is the better choice or not, neither would anyone be able to foresee what exactly going to happen to “our” (as in OpenSource) Java, MySql, Netbeans, JavaFX,…
For the last few hours news IT websites, blogs and forums in the IT world are rapidly filling up with news, opinions and rumors about the big deal which definitely will impact the IT world.

Some news summary from JavaLobby (link)

JUG (Java User Group) Singapore

I was recently ranting about a missing Singapore Java User Group. There is some information about previous groups but they appear dead. I try to start a new one… I considered to use meetup.com but I am not really willing to pay money for this. Sorry.
I am not a Java Guru or expert, but that wont stop me to organize something.

Netbeans Wiki Info

The SUN Techdays (20.22 Jan 2009) would be a good starting point.

The first Sourceforge project

I started my first project on Sourceforge.net, project title UUIDgen (link).  The very simple Java Swing application creates UUID’s on demand. Not really a big deal, since the basic packages are ready available in Java SE. Gather some experience with the process of creating releases, documentation and maintaining sourcecode in the open source context. Feel free to download the first release (requires installed JRE) or get the Netbeans 6.1 project.

UUIDgen Screenshot

UUIDgen Screenshot 0.1 Alpha

Sourceforge.net

Sourceforge.net

Napkin Design

While browsing some old email I came across this one. Some relative send me a programming assignment task to be implemented in Java. It is a one page rough description of the requirements. The funny part is, that a lot of times serious, or real world-, software modules are planned in the same fashion. Sometimes the initial spark gets scribbled on a napkin in a pub, sometimes I get requirements from customers with less text as well ! So, in a way, everything starts with this, its just a matter of your methodology if its going to take off towards the CMM 5 heaven or get lost in compilation with spaghetti code.
Unfortunately I dont know about the result of the below task

napkin design

napkin design

About unique numbers and ID’s

I am sure everyone of us had the requirement to save data in a DB, a hash or whatever. Most of the times we were creating this unique numbers, often used as keys for reference, by ourselves simply counting +1. Sooner or later we realized, oops I used the number already or I need to merge tables and now we have duplicate ID’s and so on and so on. Most DB offer some auto-increment feature or you make use of the row-id as oracle create one (internally for each record). I came across the UUID (wikipedia link), which is a universal unique ID creation method. In Java its damn simple to create one:

import java.util.UUID;
[..]
UUID uID = UUID.randomUUID(  );
[..]

I worked once for a company which used long integer as their ID field. The max value is 2,147,483,647 and recently they hit the limit facing the problem of hardcoded long integer all over the sourcecode and DB. I guess the UUID would help (using it from the start).
Remark: Putting in a lot of brain power they fixed the problem without refactoring about 1 mill lines of code.

With the help of 122 significant bits in a version 4 UUID you can create 2^122 (5,316,911,983,139,663,491,615,228,241,121,378,304) numbers ! Enough for the lifetime of this universe !