Wednesday, August 13, 2008

Hadoop HBase with Maven2

I'm using Maven2 now, but there was an problem with Hadoop HBase. It doesn't exists at any major Maven repository. If you want to use HBase with Maven 2, you need to deploy it into local repository by yourself. It's easy, just download this files:


Then configure HBASE_HOME enviroment variable:
export HBASE_HOME=/path/to/hbase

Run deploy-deps.sh and all done. After it you can use following dependency:

<dependency>
<groupid>org.apache.hadoop</groupid>
<artifactid>hbase</artifactid>
<version>0.1.3</version>
</dependency>


You can modify those files for your needs, if you wish.

Friday, July 11, 2008

Yet Another Java vs Erlang Comparison

When i meet the Erlang first time I ask myself "Can I write same applications using Java?" and answer was "Yes, of course, no problem". At those time Java was my favorite language, i know it very well, and don't understand what for and why i should use another programming language.
But the time is changing, now my answer is "It depends on tasks". You can write any program using any language, maybe it will be Java, C#, C, maybe some of Python or Ruby magic, and yes, you can always use Lisp, Erlang, Haskell, Q and any other Turing complete language.

All software you can done with Java you can rewrite with Erlang, and vice versa. The difference there is inside the conception, inside the main approach of architecture of this languages.

Java is easy to read, easy to write language, but totally overloaded language :( Do you remember this megabytes of simple classes with setters and getters only? All this deep hierarchy of interfaces, abstract classes and so on.
The big plus of Java that it have big army of developers, tons of books and gigabytes of additional libraries and frameworks. Some tasks you can do faster in comparison with any other programming language. It's easy to start project using java, it's enterprise standard, like COBOL was some time ago.

Erlang, in other hand, is harder to understand, because of different paradigm. But it requires less code for equal functionality, and less debug. With Erlang you just write what you want, just algorithm of your program, no more, forget about this classes, which you really don't need, just use tuples and lists where you need. And the main feature is not a concurrency, the main is a fault tolerance.

Okay, using any other programming language you can write fault tolerant system, but with Erlang you can't write weak and fragile code :) Of course using only Java you can write system better than written on Erlang, but Erlang just give right tool for doing that easier, and nothing more. It's the reason why sometimes Java equivalent of an Erlang system requires too much time to develop, and too much PC resources to run.

Choose programming language which best fits for your needs, for current tasks. If it's easier to use Java - use Java. If it best fits for Erlang - use Erlang. And remember that you can always mix both of them in one application.

Wednesday, June 25, 2008

Eclipse 3.4 Ganymede is out!

There are no download from official Eclipse site, only Eclipse "friends" can download it now.
But you can use this link instead:
http://ftp.heanet.ie/pub/eclipse//technology/epp/downloads/release/ganymede/R/

Tuesday, June 24, 2008

WinXP Acer Recovery Tool

For a long time I'm using some Linux PC's, but my girlfriend has Acer Travelmate laptop with a Windows XP. You know that this operation system need to be reinstalled after 1-1.5 years of use. And last evening I've done it with my girlfiend's laptop. I've made some investigations and have found an easy way to do this: just press Alt+F10 when boot up your laptop and you will enter into Acer recovery console where you can make a fresh Windows XP install without any problem. It loads all the data from an hidden hdd partition, and there no need for any Windows installation CD. After 15 minutes you have a laptop with a fresh WinXP, with all required drivers and software, all configured for this laptop and so on, like it was just bought. It'd saved me much time.
I think it's a useful cooperation of software developers and hardware producer.

Friday, June 20, 2008

Free and open Java

There are many rumors about free and open java. Yeah, i think it's a great step. If it works like a standard Sun Java it's very very good. Last time i've used it was about 1-2 month ago. Maybe it wasn't latest version on those day, i don't know, it come in with an regular Ubuntu update, but Eclipse just stop working after this :( I spent about one hour until realizes what is happened.
BTW, if it opened now i think it can make easier to fix bugs (there was too many minor bugs, where patch presents, but not fixed for a long time, in some cases more that a few years) and performance optimizations and improvements (maybe some one will make a tail recursion optimization for java, for example?)

About this blog

Hi! My name is Igor, i'm software architect at Moscow, Russia and it's my blog about software development. I've stated this blog personally for myself, for improving my English skills. If you had found some good article there it's good for you, but if you found an mistake (and notified me about it) it's very good for me :)
Ok. Lets start blogging!