Archive for September, 2008

HashQuel: A Java Attempt at DDS

We are releasing HashQuel 0.9RC1 tomorrow. That is we are officially saying, go try it out.

The project is hosted at http://gitorious.org/projects/hashquel. There are details on how to pull the full source code from that repository on the site.

In case you were wondering what HashQuel is, simply put its a Distributed Hashtable Implementation in Java. The major technology behind it is RMI. Nothing more nothing less. This of course is apart from Junit, Ant and Log4j. You will also need a working mysql server installed in case you want to persist your data.

There are quite a number of DDS out there, so why write another one. Well one it is cool, two, you get to know that you can really do it, three, NONE has been done using RMI, four, the Java solutions out there are either incomplete or too grandiose, five, Most of them good ones have too many buzz words around them, six…….

This is an attempt to create a simple, usable distributed hashtable implementation using just RMI. You dont have to know RMI to be able to use HashQuel. We have taken the pain to encapsulate so much of the trouble of connecting to the RMI Server, creating a stub, etc. All the developer needs is a jar file. Two to be precise, one is the server, the other is the client.

A detailed description is available with the source code online. This is a rather new project so we lag behind a bit in terms of documentation. But since most people that we envisaged to use HashQuel are developers, they could learn a lot from the javadoc and the tests bundled with the source.

Visit the site, pull the source, read the README and try it out. We will welcome comments and criticisms either here or on http://naijadukes.net

For those willing to join the project, mail to trinisoftinc@gmail.com

Leave a Comment

Netbeans, another Visual Studio?

One of the things I hold against visual studio cum .NET guys is their low level of understanding of some basic principles governing their trade. This is no joke, I know a .NET guy who doesnt know Jack Shit about css and javascript! I know another guy who have done Visual Basic all his life and I have the priviledge to interview him for a job position. He’s been programming Visual Basic for some time, showed me some cool apps, like a fuzzy logic mapper, an online stocks calculator etc and he doesnt know jack about javascript, css and even his html has not gone past primary school level. I asked him what he used for his Online Stock Calculator and he said pure DHTML.

I hold this against them, bcos I believe that if a programmer didn’t know these basic underlying principles, he is but another Microsoft Word user! But of recent, I found out that I am also about to step in the same direction as these guys with Netbeans. So I stopped using Netbeans for a while to really see how I can survive without it and I my findings are quite interesting

My ANT is very very poor. It took me the better part of three hours to get my ant to work and do something meaningful. I used ant before now, so I thought I know it. It was until my build.xml almost frustrated me that I dusted my Definitive Ant again and thanks to the book anyway.

Tomcat Installation almost made me cry. At last i resolved to yum install tomcat(well I later got it to work)

Then AXIS: This guy I took for granted and it really dealt with me more. After the better part of three days, my web-services were up and running(how easy is it to do web-services in Netbeans)

Here come WTK. After the days of WTK1.1, I have never Installed it as a standalone, so the experience for me is really interesting. Although I goofed but it was not that much. There is a place I should have type /usr/share/java/bin/, I was typiing /usr/share/java

And so I brought my box up-to-date, I installed log4j, javamail, and the rest. I had a little problem with javamail. I forgot to add activation.jar to my classpath so javax.activation.DataSource was not found.

Now my point is this. I have engaged in battles with guys who dont belive in IDE’s. Netbeans was cool in the days when I it allowed me to do some things on my own. But these days, Netbeans has gotten so intelligent that it can actually do almost everything for me. What does this make me? How am I different from the average Microsoft Word user? By God’s name, you can write macro scripts in M$ word!

After 2 months of wading in the muddy waters of vim, makefiles and build.xml, I am back on Netbeans. But now I am a better Netbeans user, I now know what is actually happening under the hood. When Netbeans coughs, I know what syrup to look for. And above all I am able to appreciate the work of Netbeans developement team more than ever before.

The CRUZ is dis, know your tools, and know what your tools are made of. It makes you a better workman.

Comments (13)

Scala: After one week

Phone rings…..: Hey segun is that you….yes its me….look lately I’ve been playing around with scala, I will send some docs to you now, go thru them and by monday, I want you to start converting XXXXXX to scala…..but today is friday, I was hoping to rest this weekend….(laughs)my bad, see you on monday

So begins my journey with scala. This friday makes it a week. You will darn say its too early for me to start commenting right? well I will comment anyway.

When I picked Ruby up 2 years ago(I dumped it after a month), I have the same feelings I am having with scala now. These languages should just stop comparing themselves to java. Java is an old language, (we all know so please stop reminiding us) but so are old girlfriends, they may not be as beautiful as they were wen u met her, but u know all the curves, the voice, you know your way around, how to make her smile, how to annoy her etc.

One, scala is un-neccessary complex for an average developer. And the docs around aint helpful either. There is this guy who is never done java before, after we sat in the same office together for about a month, he can write a SOAP application with Java. I gave him a book on Haskell and till date, he is still having fun. He tried scala, and his comments about the language is bad(I reserve it pls).
What da heck, I learned VB.NET in one week and say 2 days. After then I was able to write a Remote Webcam Manager with it.
C# even took me less

In one week with erlang, I was able to write a client-server chat application

They say scala is close to java. One of the things I do often is this

while((ch = is.read() != -1) {
sb.append((char) ch);
}

I hope scalac should just compile this code(I actually have it in like a zillion files)

But No it doesnt

simple cast like that is done like this in scala

ch.asInstanceOf[char]

The best I can achieve so far is write java codes and compile them with scalac. This is after one rigorous week of experimenting. I wasn’t paid to experiement, I was paid to get the job done. If a new language can’t be grasped in one week to the extent that you can at least do something with it(I have a bunch of servlets written in scala, but like I said those are merely java codes compiled with scalac.), then I am afraid its way beyond me.

Scala lacks one thing…A good book or a good documentation…In as much as I love experimenting with new languages, I was really disappointed that the hype around scala was all noise.

This is however my view. Maybe I am gone past the age when the genius in me could pick up a programming language in one week,

Maybe if I dig for one more week…but I read somewhere about a guy who said he devoted 2.5 months and he didnt get a better view that I did.

Maybe the langugage is for super programmers on steroids, and I just dont belong in that class

ciao

Comments (10)

Java Documentation Additions

We were working on something and everyone is contributing little little snippet of codes, a method here and there. We document too a lot so I being the manager of the code put @author on every method of every class, bcos one person can not say he is the one that wrote a particular class from start to finish.

When I run javadoc, I recieved a very great shock. There are a lot of warnings flying across my screen and the bottomline line is Javadoc only supports @author on the class or package and not on methods grrrrrrrrr

I have to remove all the @author in the files(thanks to cat and grep) but wont it be a nice addition if subsequent versions of javadoc support this tag on methods too?

Never mind its me just thinking aloud.

ciao

Leave a Comment

Discoveries

Now I have been programming for some time and I just made a discovery today. I am writing an RMI application and I asked one of my methods to return an Enumeration. I keep getting errors(bcos I catch all errors and print my own error message). After some time I did printStackTrace() and the error was interesting. I am so sorry I couldn’t paste the stack trace, but it said something about serialising(Unsearalizable Error) so I checked the javadoc, and read the FAQ in the collections framework, what I discovered? The Java Collection Framework can not be Serialized.

This is a big discovery for me and It makes my work even more interesting because right now I am serializing a whole lot of Java Data Structures(dont ask me how, you will know later 🙂 ) major of them is the Hashtable.

You want to know what I am working on? Yes its a DHT you can find the project source at
http://gitorious.org/projects/hashquel

Thats all for now folks

ciao

Comments (4)