Friday, December 18, 2009

Google countdown to 2010

I noticed that many bloggers and internet magazines are talking about Google mysterious countdown on www.google.com page. But it is nothing else then countdown to the end of this year in seconds relative to your timezone. Check it yourself using http://www.timeanddate.com/counters/newyear.html (you have to switch it to your timezone).
Yes, Google knows how to use media and how to get publicity...

Thursday, November 5, 2009

Joining Red Hat - JBoss division this week

I haven't been blogging for some time, now it is the time to announce that I joined Red Hat, JBoss division this week. More on this later.

Wednesday, August 26, 2009

Gartner's Hype Cycle - 2009

Want to know what might happen in the next five years in IT? Check the latest Hype cycle from Gartner:
http://www.gartner.com/it/page.jsp?id=1124212

Also you can check introduction of the 2009 Gartner Hype Cycle:
http://www.youtube.com/watch?v=QPN_CeOFHd8

Friday, August 7, 2009

Weekly digest 2009/32

I am starting new type of post on my blog today. Weekly-digest labeled posts will bring few links that I found interesting during my week. I will try to post this each Friday. So... let's see what I have today:

Wednesday, August 5, 2009

Farewell NetBeans IDE ... and Welcome IntelliJ IDEA

I have been using NetBeans and Eclipse IDE for more then 8 years now. It has been a great time. There are vital communities for both the IDEs and there was never shortage of new plugins. I had a chance to get into NetBeans platform as well and I found it very interesting. However, I was lucky enough to get a full working licence for IntelliJ IDEA from JetBrains folks few months ago (big thanks to Roman and Václav). Unfortunately, I can use it just for hobby projects now but the overall impression is far beyond what I was expecing. One of the results so far is that I have unsubscribed from NetBeans mail list today.

Speaking about IDEs the worst one I have been working with is Eclipse based RSA (http://en.wikipedia.org/wiki/IBM_Rational_Software_Architect). I am working with RSA 7.0 now which means that I can not install and use Groovy plugin (it requires at least Eclipse 3.4 platform or higher) and I am experiencing occasional crashes, mostly when working with SVN via Subclipse plugin (I have to say that this may be related to the fact that I am using Windows Vista because my colleagues using Windows XP don't experience similar issues with Subclipse).

Update: Below is the error messace from eclipse in case anybody can help.



Thursday, July 30, 2009

Kindle 2 - Fast Introduction

You want to know more about Kindle 2? OK, check this 6 minutes introduction video: http://www.thedailyshow.com/watch/mon-february-23-2009/jeff-bezos or check the shortened version (just 50 seconds!!): http://www.youtube.com/watch?v=wJC9nfVdAcE
(I like the later one).

Friday, July 24, 2009

How to locate log4j.properties file inside JAR?

If your log4j.properties file is inside a JAR file then you can tell Log4j library how to find it:

java -Dlog4j.configuration=jar:file:[path_to_jar_file]!/[path_to_properties_file_inside_jar] -jar myapp.jar

example:

java -Dlog4j.configuration=jar:file:/home/application/lib/logic.jar!/log4j.properties -jar myapp.jar

Wednesday, July 22, 2009

HadoopDB released

An interesting new project was announced: HadoopDB. Check this blog post for more details or visit project home page: http://db.cs.yale.edu/hadoopdb/hadoopdb.html

In short the project is described as:
  1. A hybrid of DBMS and MapReduce technologies that targets analytical workloads.
  2. Designed to run on a shared-nothing cluster of commodity machines, or in the cloud.
  3. An attempt to fill the gap in the market for a free and open source parallel DBMS.
  4. Much more scalable than currently available parallel database systems and DBMS/MapReduce hybrid systems.
  5. As scalable as Hadoop, while achieving superior performance on structured data analysis workloads.
Found via Ivan de Prado's delicious feed.

Monday, July 20, 2009

Testing opened socket in Vista, weird issue!

How do you test that there is some service listening on given port in Java? How do you learn that given port is free and you can start your own service there?

It seems that the Java Socket class can be used to find the answers to such questions. The most simple example would be to create a new instance using new Socket("localhost",port_number). If this socket can be instantiated and connected to given port then it is used by existing service, if not, you get an exception and you know that it is probably free. Not only similar approach is recommended in many articles on the web but it is also used in apache commons net (see here).

Now, I realized that this approach does not work on my Windows Vista Business SP1 (32-bit). It seems that under my Vista the Java thinks that any port is already taken and connection can be opened... wow!

The following is a simple java code which fails on Ubuntu and Windows 98, but passes on my Windows Vista (it should fail!) running under Java 1.5:

package somePackage;

import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.UnknownHostException;

public class SocketWorksOnVista {

public static void main(String[] args) {

Socket client = null;
ServerSocket server = null;
try {

// first let's test that we can open a socket at given port
server = new ServerSocket(4444);
System.out.println("server bound? " + server.isBound());
// close it for now
server.close();
System.out.println("server closed? " + server.isClosed());
// now, there is nothing running on port 4444

client = new Socket("localhost",4444);
System.out.println(client.getRemoteSocketAddress());

} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {

if (client != null) {
System.out.println("Is connected? " + client.isConnected());
try {
client.close();
System.out.println("connection closed");
} catch (IOException e) {
e.printStackTrace();
}
} else {
System.out.println("connection not established!");
}
}
}
}
Does anybody know what is wrong with this code? Why the following line: client = new Socket("localhost",4444) does not fail in Vista? Is there a bug in Java?

Note: I did test port availability using netstat -an | grep 4444 (using Cygwin) prior and after the test and I am sure there is no service running on my computer on 4444. If there were already running any service then the code would fail at the very beggining when trying to create a new ServerSocket instance. Also I did test different port numbers as well.

Tuesday, July 14, 2009

Scaling Hadoop, Webinar by Sun

Sun engineers released extended version of their Hadoop Summit '09 presentation:

Hadoop is typically scaled on a large pool of commodity system nodes. However, by using multicore, multithreaded processors, you can achieve the same scale with fewer machines. In this Webinar, we will discuss how Sun's chip multithreading (CMT) technology-based UltraSPARC T2 Plus processor can process up to 256 tasks in parallel within a single node.

We will also share with you how we evaluated CPU and I/O throughput, memory size, and task counts to extract maximal parallelism per single node, as well as an evaluation of the performance.


You cen download webinar talk here (sign in required - is free).

Saturday, July 4, 2009

Wednesday, June 24, 2009

Scaling Hibernate

Very interesting talk about Hibernate Shards and Hibernate Search: http://www.infoq.com/presentations/Scaling-Hibernate-Emmanuel-Bernard-Max-Ross

Emmanuel Bernard (JBoss) is an author of Hibernate Search (among others) and Max Ross (Google) is one of Google engineers behind the Hibernate Shards.

It is interesting to see what kind of challenges developers have to deal with when it comes to horizontal scaling. One of the take aways from this talk for me is that horizontal partitioning logic should be a part of application code. One should not rely on database built in partitioning. Hibernate Shards takes this idea one step further by adding one more abstract layer called virtual shards.

Illustrations and Paintings on the Web

I haven't been posting any illustration or painting related stuff lately. Unfortunately, I haven't finished any new piece myself so I have nothing to show now. On the other hand, there are tons of great artists on the web so here comes a list of few links which I found interesting:

Wednesday, June 17, 2009

Open Source and Cloud Computing

Some people expect the Cloud Computing to hit the top of Gartner's Hype Cycle [1,2] by the autumn this year.
As a fan of this "new emerging" architectural approach I am happy to see that open source community joins this hype as well. I think there are actually two important activities going on right now:
  • Apache community started shaping their ideas about how to build a software stack for the cloud. Click here for the main Lab wiki page, of particular interest can be a list of presentations too.
  • The other important moment is a strong recognition of cloud by the SpringSource (the company behind the Spring framework). Rod Johnson clearly stated in his keynote (see 01:51 of the footage) at SpringOne this year that:
    The cloud is really going to change the world of IT and therefore is something we absolutely need to consider in terms of our view of the world.
    I am sure Spring developers will keep this on their minds which can reslut in smooth integration of Spring and cloud deployemts and architecture requirements. The proof that SpringSource guys prefer action over words is recent acquisition of Hyperic.
From now going on, the fact that clouds are getting darker does not necessarily have to mean that something bad is coming. The opposite can be the truth - the darker the clouds are the brighter the future for them can be.

Monday, June 15, 2009

How Google handles large-scale graph computation

A Pregel seems to be the answer. It seems that this parallel computation model is worth keeping an eye on. I hope Google will reveal more details about their solution soon.

Wednesday, June 10, 2009

Monday, June 1, 2009

Quick Glance at Bing

Microsoft released its Bing search service. I gave it a quick glance this morning as I wanted to find out if it can be useful to me (as a Java developer). So I tried two simple tests:

Test #1

Query: Java File API

Two top most results are for JavaDoc, that is what I am lookng for.

Two top most results are irrelevant to me. It seems to prefer localized sources (though I did not check local search option) and provided some links to local Czech java related portal (java.cz) but the articles were not specific to Java File API.

Google provided good links but first of them was for 1.3 and the second for 1.4 API version. Because I was looking for more uptodate API of Java File object I decided to give both search engines one more hint.

Improved query: Java File API 1.5

The link I was looking for was second on the result list.

The link I was looking for was first on the result list.

Test #2

Query: Groovy clousure

It realized that clousure is a typo. It provided corrected "Did you mean" service link and the two top most results were relevant, then it provided results for original search terms.

It did not realize that clousure is a typo and provided some results having the same typo in the text. As of writing the first result is some page in japanese which is little help to me (no transaltion link provided).

My conclusion:
As of now I am staying with Google. But I welcome Bing as it will make Google engineers think how to improve their search.

Update:
As for the Google search service it was probably using my personla profile and search history to improve search results (I was logged into my Google account). However, I think that all the search queries were quite simple and straightforward so still the results should be more or less comparable.

Saturday, May 30, 2009

Olšany u Brna

How to find village called Olšany? There are more villages having this name but I mean the Olšany near Brno. OK, let's try two simple ways:
Google finds it. Seznam does not. Google Maps URL is very simple and straightforwad, Mapy Seznam URL is not. Hmmm... Mapy Seznam is one of the two last products from Seznam which I am using sometimes (the other is Firmy.cz).

I know there are ways for the Mapy Seznam how to find Olšany u Brna but requires more clicks and the user has to choose between all the Olšany villages in the Czech Republic. Google is building its monopoly in a very natural way by providing good services. Mapy Seznam does not seem to be a competition one click away from Google Maps for me anymore.

Thursday, May 28, 2009

Googlepedia - Combines Google seach and Wikipedia

Googlepedia seems to be an interesting add-on for your web browser. It adds content from Wikipedia into Google search results. So when searching with Google you get the Google search results on the left hand side and Wikipedia article on the right hand side of your screen (instead of AdWords). Currently it works for Firefox and other browsers are planned. There is already a way how to install in into Google Chrome too.
Complete feature list can be found on project page: http://code.google.com/p/googlepedia/

Monday, May 25, 2009

Compass Framework Presentation

Here is my Compass Framework presentation for jOpenSpace 2009

One thing that really confuses me is why it is not possible to download pdf file from SlideShare site... does any body know? I would like to make this presentation downloadable.

Thursday, May 21, 2009

eyeOS - Web Based Operating System

Is the desktop application dead? Or is even desktop operating system dead?!

I was not sure if cloud computing is all about buzzwords but products like eyeOS convinced me that there is a huge change coming on the not so far horizon...
Authors of eyeOS define their product in three words: Internet + Files + Applications. All is hosted and running on the could somewhere and you have access to it anytime and anywhere. It sounds like a dream but it works. And what is more - it is FREE.

eyeOS is being developer by group of core developers around Barcelona with support from huge world-wide community and investors. It is being used by schools, public environments and companies.

Now, let's stop talking. Go to http://eyeos.info/, create a new account for you and try it! You get office applications, internet applications (ftp, browser, mailclient), media applications (video and music players) and more. It is worth looking at! I was surprised how easy it can be while the web browser is all you really need to run eyeOS.

10 MapReduce and Hadoop Tips

Tom White (an author of upcoming book called Hadoop: The Definitive Guide and Cloudera consultant) posted nice article at Cloudera blog: 10 MapReduce Tips. Among others it gives you short but useful overview of many technologies and tools around Hadoop and how they fit into the picture (Pig, Hive, Streaming ... etc).
BTW: Tom's book brings the best explanation of MapReduce basics I have red so far. I am really looking forward the final version of his book.

Monday, April 20, 2009

My Windows Vista Experience

I have been using Microsoft Windows VistaTM Business for more then 4 months now and I can not tell that this is my favorite OS. For me the most irritating problem is well known "Display driver atikmdag stopped working..." error. There are many sites and forum pages dealing with this problem and it seems that people are trying many crazy things in order to get rid of this issue (including registry modification or graphic card replacement ... etc). I don't want to spend many hours experimenting myself searching for solution which might work for me (my plan is to switch to different OS once my current project is done anyway). Lately, after many automatic driver updates the ratio of this problem dropped down but did not vanish. Usually I get 3-5 warnings per day. A single warning is OK, some driver crashes and is restarted. But sometimes the problem gets worse when driver restart is not successful - then the system gets into fast self destruction like loop leading to blue screen of death after 5 or 6 unsuccessful restarts. So when I get second warning right after the first one I know I am left just few seconds to system crash.

While this may sound like hopeless situation I found stupid workaround. Even if the system has already entered into self destruction countdown phase and is not responsive at all try hibernating it (most modern keyboards have this half-moon key). If you are fast enough and get the system hibernated then you can immediately bring it back and the problem is gone...

While this technique can not prevent me from disaster while I am away from my computer it keeps my attention, sensitivity and focus at high level while I am in front of my computer. Cool!

Wednesday, April 8, 2009

De Cuba Y De Panamá

De Cuba Y De Panamá is album recorded by Billy Cobham and Asere. More on their collaboration and background of the album here and here. You can listen to this album on Deezer.com. I checked last.fm but was not able to find such a complete list of the songs from this great album. Vivat Deezer.com! 

This album definitely has a capacity to become one of my favourite along with Cobham's very early Crosswinds and later Nordic. Interestingly, Nordic and De Cuba Y De Panamá albums share one common song - it is called As Fisrt I Saw You on Nordic and Hoja, Ontoňo y Flor on the later album.

Billy is exploring his roots. And he is really getting on the good path I think. Excellent...
Check myspace pages as well for some more information (and several cool videos too). Or better buy A Latin Soul DVD!

Unique chance for ICT professionals

If you are looking for an outstanding unique ICT job opportunity then why not to try one of these:
ICT Enterprise Architect
ICT Data Centre Solution Architect

Working for an ambitious Masdar Initiative project can be interesting.
Check youtube for some videos about the project.

Saturday, March 28, 2009

Facebook architecture & lessons learned

There is a very nice and useful talk given by Aditya Agrawal (director at engineering at Facebook) about Facebook architecture and lessons learned. The presentation is called Facebook: Science and the Social Graph (I am not sure why they picked up this name, sounds little misleading to me).

I have seen it just ones and I didn't get all of this but there are a few points that cought my attention:
  • No distributed transations at the database level (the way they ensure or better fix data integrity is similar to what eBay engineers are using - i.e. offline background jobs). The database schema is probably very simple (keeping things simple helps a lot if your system is expected to grow fast and needs to be scalable [i.e. distributed]). They hold only static data in the database and only the most recent one. Older data are moved to the warehouse. I guess it is then analyzed by Hadoop and Cassandra.
    There is also one older blog post by Greg Linden about scailing Facebook databases.
  • PHP for front end works well now BUT the question is if they would have used it again if they had been given a chance to write the system again. It turns out the that PHP is a good language for web programming but it is not very fast language and code base maintenance cost can grow high. It seems that the only justification for them to use PHP is (was) that it allowed them to start quickly and probably it was the only front end language they had enough experience with. They try to stick to principle known as "Use the right language, library and tool for the task" (see 46:00) so it is funny to see how Aditya gets an question from audience "Is your bet on PHP driven by the same principle?" (see 48:40). To me it is obvious that the fact that the PHP is dynamic (no typing = much harder code analysis and debugging) and interpreted language causes them a lot of troubles.
  • Memcached is one of the biggest star in their stack although they had to implement several customizations (probably the hardest one was switching it to UDP).
  • Thrift (50:00) seems to be one of their most interesting open sources project.
For more information you can also go to

Thursday, March 12, 2009

Troubles getting Manning MEAP books

Preambule: The following problem was fixed for me by the Manning team. Anyway, if you are facing similar issues, then be sure to check the Ebook support policy (link below in the text).

Manning MEAP book program provides very useful way of getting books on one of mostly bleading edged and very interesting technology topics at very nice price. I really like this service but I encountered issues with my recent order of two very promissing books (Hadoop in Action and Algorithms of the Intelligent Web). My order has been confirmed by email, my bank account was charged appropriately and I got an order code from Manning along with instructions about downloading books from their web. Everything worked fine up to this point. But the rest of the service did not work very well for me. I was not able to download books from the sandbox download page. It just tells me:

The order number and email address entered can not be validated. Please contact Manning support.

Please note that the downloads are available for 5 days from the initial order time. If your links are not available anymore, please contact Manning support centre.

Although this may sound unusual I am used to get this message after every MEAP order. In a normal situation I just contacted their support center via email and they fixed this problem for me. But not this time. I don't know what has changed with their support center but in spite of the fact that I have sent them 4 emails I did not get any response from them for more then 9 days now. I also did check that I follow their Ebook support policy. But still I don't have my books nor any response from them.

I hope I will be able to solve this issue soon and I also hope that the problem is on my side, not on Manning. However, without possibility to call them I don't see any easy way how I can check with them (because emailing obviously does not work for me this time).  Does anybody have any idea?

UPDATE (03/13): I have to say that the Manning team contacted me and promised quick fix. Will keep this post updated as things are moving forward...

UPDATE (03/14): I received download links today. Worked fine for me. Big thanks to Otis Gospodnetic, Steven Hong and Manning support team. (I was told that the problem was caused by my name having exotic diacritical characters.)

Monday, March 9, 2009

How to switch on Strings in Java?

Starting with Java 1.5 it can be very easy, check the following useful post about using switch on String values in Java:

Tuesday, February 24, 2009

University VŠB-TU in Ostrava Plans to Build a Computer in Clouds

University of Ostrava, VŠB-TU and its partners plan to build a super-computer/parallel-computing-grid/cloud (whatsoever...) within next 3 or 4 years. At least that is what I understood from a short TV spot (can be found in archive here). It should be the biggest center in the Czech Republic and the goal is to rank in the top 100 supercomputers in the world. This sounds really great. They also plan to rent the computing power to commercial subjects. Well, may be even the yelow elephant will lay its big warm foot in Ostrava in the future. It is said that you can not eat an elephant in one bite; contrary this elephant can eat the grid of size of 1000 processors [1] at once without any issues for sure.

[1] The only information about the size of the grid I was able to find, not sure if it is up to date and relevant:
http://www.cassia.cz/cassia/info/Clanky_archiv/20080520_Ostrava_superPC.htm

Update (17/03): More detailed information can be found at http://www.it4i.eu/equipment.php