Wednesday, July 16, 2008

Which JAR file ?

Class path issues are always painful and will waste lot of times from programmers. When you are working with big projects it makes things more & more cumbersome. In a Java project, how do we find out which JAR file contains the class files we are looking for? Most of the time programmers are will adopt bulldozer methodology to overcome this issue. Bulldozer methodology means programmer will copy all list of suspected JAR files in to the classpath instead of required libraries only. Obviously this will add unnecessary extra mega bytes of junk to your final release.

To find out which JAR file contains class file looking for, has to have good search utility in your operating system. If you are using Linux operating system 'grep' command is the ideal to overcome this issue. It is very fast and reliable tool carry out text searches against binary files.

Let's say we are looking for a JAR which contains class file called 'Contstants'.
grep Contants *.jar

Sunday, July 6, 2008

Orthodox or Unorthodox

I was overjoyed to see Sri Lankan cricket teams recent success in Asia cup final. As an avid cricket watcher I was so pessimistic about victory against Indians and even didn't watch some part of the match thinking that it would end with a sad loosing. Though our batting didn't work as it expected, bowling and fielding gave us one amazing victory against mighty Indian cricket team. When you look at the victory I could see one big difference between Sri Lankan and Indian cricket teams. That is some Sri Lankan cricketers are very unorthodox and while most of Indian cricketers are methodical and orthodox to my opinion. If you look at Sri Lankan cricketers like Sanath Jayasuriya, Muttaiah Muralitharan, Ajantha Mendis and Lasith Malinga they are unique and you can't find this kind of players in every other team. They came to the international arena the way they know how to do it rather than going on methodical guide lines given by some other pundits. Also everybody must give big credit to their coaches not over correcting these players. This reminds me a story happens in my life too. May be this would not fully correlate the above but since this my own blog it wouldn't be a big problem either :).

After the graduation one day I went to the Colombo university to meet one of my friends. Coincidently I met one of our senior most professor's in our mathematics department. He was one of my favorite teachers in my university time and I was so pleased to have a chat with him. He asked me what is I am doing and how is the work going on. I replied him, that I am a software engineer and job is quite boring since it is monotonous. Then he replied me it is monotonous because I am following set of standard procedures and advised me to break those ground rules time to time see how things go, that is what most of the academic researches do.

Anyway congratulations to the Sri Lankan cricket team, it was fun to see this unorthodox players doing well against orthodox players. Hope it will be more fascinating to see battle between Sachin Tendulkar with Sri Lankan unorthodox spinners in coming Indian tour in Sri Lanka.

Friday, July 4, 2008

Official Death Announce ?

People say she was dead as born. Though both of her cousin sisters went quite well and changed the world towards much anticipated paradigm shift, she couldn't support them as people expected. It is the UDDI I am talking here.

SOAP, WSDL and UDDI are the corner stones of the web services technology. You would have seen these 3 technologies in every web services introduction books with all types of nice pictures. Though SOAP and WSDL were doing quite well UDDI never came in to the party. Finally OASIS decided to give it up and close the work.

Now people are moving towards web services registries with the lessons they learned from UDDI and I am looking forward to see how it will survive in future.

Thursday, July 3, 2008

'@' issue in samba printers

I am a happy KDE user and using Kubuntu for my day to day work nearly 2 years without major hick ups. To access printers shared my working place I wanted to use KDE Print comes with Kubuntu since it would help me to get rid of painful configurations and also now we are not in our grand father's generation of Linux users (anyway I always respect people who know configuration correctly but I am not). Only way I could access this printer was using Samba due to some internal administration issues.




When I was using the above mentioned configuration wizard it asks print server, user name, password to be used to access printer. Each time I tried to configure printer it ends with a weired error message. To me I was giving configurations correctly but it was time wasting and annoying.



After some struggling time I just looked at the Samba URL used in the internally and guessed the error it could happens in this kind of scenario. Brovo .. guessing was correct. Here is the details.

Samba uses a protocol given to connect to the printer internally and you can observe '@' used to separate password and server-name.

smb://username:password@server-name/printer-name

Since I was using a bit secured password it had '@' sign in the middle too. So protocol is getting messed up the my very secured password. Then I just change my password and used new one for printer. Finally everything worked perfectly.

Moral of the story is that don't use '@' signs in your passwords when you are going to access samba shared printers.

Friday, June 27, 2008

To overcome WS-*

Last week one of my colleagues asked me couple of questions about web services, thinking that I know it better than him but in the middle I puzzled with some of those questions was unable to answer them. I realized it is time for me to bit more organize my web services knowledge. Reading a good technical book is the only possible solution came to my mind. There were couple of eBooks with me but choosing correct one was the main problem. I went with the book with the longest name and with the biggest number of authors I had on this subject. It was "Web Services Platform Architecture: SOAP, WSDL, WS-Policy, WS-Addressing, WS-BPEL, WS-Reliable Messaging, and More". This book is one of the very good technical books I went through recently and really impressed with it.

It starts with describing the rudimentary difference between of SOA and web services terms. Now I understand how badly people are using terms SOA and web services without knowing real concept. This is how it explains it.

SOA represents one abstraction of architectural concept. It is an approach to building software systems that is based on loosely coupled components (services) that have been described in uniform way that can be discovered and composed.


Web services represents one important approach to realizing on SOA.

Then breaks down web services technology in to nice layered architecture and starts describing each layer both architectural and practical usage point of views. So reader has a clear picture where he is in before diving in to the deep end. The book ends with two case studies to giving more information practical usage of web services technology.

Sunday, June 22, 2008

Bill Gates

Though I don't accept his business culture and products, we have to agree Bill Gates is one of most influential people in the modern computer era. He changed the way people look at the computer and creates generation of people like me with his own vision (I think he is one of the first people understand the value of computer software than hardware). For some people he is evil but for me he is yet another complex human being trying to achieve his own goals. But his motivation to what he does is truly amazing. This is a video done by BBC about William Henry Gates gives insight about him. Worth watching but I am not encouraging you to be his customer.
Part 1
Part 2
Part 3
Part 4
Part 5
Part 6
Part 7

Sunday, June 15, 2008

Seven Years in Tibet

One of my friends recommended to read book of "Seven Years in Tibet" in his blog. As I am very lazy to read (specially novels and story books), managed to find the film of the story. It was a nice film with out that much happenings. Then I investigated bit on the book on the wikipedia and found book was based on a true a story and written the main character Henrich by himself. Though my friend told me that book was more interesting than film, I still believe watching film is much easy for me than reading a novel :).

IMDB

Wikipedia

Thursday, June 12, 2008

Software for a concurrent world

I always enjoy listening good technical speeches. This is one of those interesting ones.
http://www.infoq.com/presentations/erlang-software-for-a-concurrent-world

First thing noticeable is the guys presentation skills, that is definitely damn good and he backed up his views computer science theory and real world examples. As a software programmer I also think now the time has arrived us to think more seriously about concurrency about our programs. If we can achieve this parallelism via using CPU level then that would be hugely advantageous as the he suggested.

But there is something I don't agree with him here. Will the business programmers will move in to a functional programming language to achieve this task? For me it is going to be huge leap which will require some additional time and money which can not be satisfied easily. If we can achieve this same parallelism while sitting in the same business programming language like Java that would be very nice feature add programmer's armory. I am wondering is there a bridge between Erlang and Java?

Friday, June 6, 2008

LinkedIn fascinated me

I always enjoy looking at architecture of successful big computer projects in the web. This is an article gives the insight of famous LinkedIn project.
http://cookiesareforclosers.com/blog/2008/06/linkedin-architecture

These are some of the key points fascinated me on this project.
  • See how LinkedIn architecture evolve as time goes. This is one of the key factors to be a successful computer project I believe.
  • LinkedIn works according to the agile software process. So it can be successfully adopted in large scale projects like this too. See what advantages they are getting with their test cases. Most of the time software programmers are very lazy to write test cases and even architects are not pushing for it. I believe when a project grows in it's size, test cases gives more and more advantages than it's early stages.
  • The communication methodology used in the project is asynchronous communication with JMS. Sure the project implementation would have bit more complex but it is always acceptable considering the performance gain can be acquired this kind of architecture.

Saturday, May 31, 2008

First Blog

After long and hard look, I start blogging here. Let's see what I can do here.