Search

/Reza

my biased two cents …

Agent Oriented Programming

We all have heard about conventional Object Oriented programming (OOP). Objects are our everyday tools when it comes to making software. A typical programmer’s way of thinking is to take a problem and break it into some objects which can accomplish a task to satisfy the over all goal. For each object to be able to handle all the cases the programmer has to think of them and code the object accordingly so that it will handle all the possible scenarios.

Pause for a moment and think wild, what if we could some how make the object become more intelligent so that single piece of code will be able to think and handle all the scenarios, or maybe to be more realistic, we can say it will be able handle unexpected scenarios. Its like it will have a behaviour and can work its way around in autonomous environment. Not only can they think on their own but can communicate with other agents in their vicinity and collaborate to achieve a goal. It would be great wouldn’t it ? Sure it would. But to give it some intelligence and make agents communicate with each other, makes it even harder on the programmer’s perspective. I let the reader speculate on the door of possibilities it will open up, if it can be done to that extend.

The good news is, people have already started working on this and they call those intelligent objects “Agents” and further the name “Agent Oriented Programming”. I would suggest every one to have a peek into this concepts.

For Java people good news is there are a lot of agent development frameworks have already been developed to aid the development process of Agent Oriented programming in order to build intelligent systems. To name such frameworks JADE is one of them.

This is “end of dumb object era“ and beginning of a new era for “intelligent objects named Agents.

Creating your own video using Animoto !

Guess what, now you can make your own videos online. Its really cool. You just have to give some of your pics and select a music for it. The web service makes cool video mix and generates a video based on the music.

Special thanks to Kaisar Haque for showing me this wonderful web service. To check out more see the web page Animoto.

And meanwhile enjoy this video I have made using animoto.

[clearspring_widget title=”Animoto.com” wid=”46928cc51133af17″ pid=”49dc777813bdcfe9″ width=”432″ height=”240″ domain=”widgets.clearspring.com”]

How to install Windows XP in Thinkpad T61

I had Original Vista in Swedish language  installed in my Lenovo Thinkpad T61.  When I tried to install Windows XP it showed some error saying it didnt actually find the hardisk. I have digged the net and found that other people also suffered the same problem. But unfortunelty I really had to search hard to find the solution. This is very obvious as there are not many people who have thier hands on this monster. 

Here is the trick in simply one line. Continue reading “How to install Windows XP in Thinkpad T61”

My new Lenovo Thinkpad T61

I finally got my hands on the Lenovo Thinkpad T61. Its just too kwel. Check it out !

 

22515.jpg

Specs:

What Facebook has to offer for developers !

Well, not to metion that Facebook has taken the world by storm. It is the fastest growing community and its growing even more as we speak.  Who has made facebook ? Mark Zuckerberg , a guy from Harvard University developed Facebook only in 7 days while doing his bachelors.

facebook2.png

Not only social networking and entertainment but facebook has managed to give something great to the web developer community as well. It has given a platform to test and make your small ideas come to life,  in no time. With the huge user base it  is definetly worth making something and trying it on facebook platform. They have already released a FacebookAPI and you can easily integrate any web apps as a facebook app by using the Developers Application in Facebook. It is as easy as filling up a form.

Take a peek into this video where Mark Zuckerberg speaks to 800 developers at the San Francisco Design Center about Facebook Platform, why they built it, and the applications it enables people to build. http://developers.facebook.com/videos.php.

Even Bill Gates has a Facebook account and has all his friends listed. I am sure he is keeping a close eye on this new boom in the web world.

Moving out from blogspot to WordPress !

Well after using blogspot for a while… I finally decided to move out from there and start writing in wordpress. There are a number of reasons behind it. The main reason why I moved is I think the admisntrative options for wordpress is better than blogpsot. Its eaiser to post here, at least I feel comfortbale. Well from now on stay tunned to this link.

Thanks to the import function in wordpress .. I imported all the blog entries here in no time 🙂

 Wordpress Rocks !

Last words for RTL colleagues !

Following is a mail I sent out to my RTL colleagues when I left for Sweden to do my masters in Software Engineering and Distributed Systems ..

Hello All,

As you might have heard (or perhaps not) today is my last day at Relisource. Unfortunately today is a curfew and none of you are here at this moment to say goodbye. I think its all good as the goodbye part would have been very tough for me. Many things have happened and so many people have come and gone, and in this last day, I am not sure what to write for all of you, since there are so many things and each deserve a special thank you in their own way. It’s been an exciting and eventful one year and eight months. I will cherish this memories and moments I have lived with you guys for the rest of my life.

In short, I would like to say no matter which part of the map I am in I will always keep in touch and flood your email boxes with my mails no matter what Vaskar Da has to say.

I would also like to take this opportunity and thank all the people in RTL, each and every one of you have, in some way influenced my life in a big way. I have learned a lot during my stay here, not only coding but how to lead and enjoy each moment of life. I have better understood the meanings of fun, commitment and professionalism.

Please do pray for me so that I can stick to path of goodness and follow my own religion with faith and believe.

This is the end of a memorable chapter of my life and beginning of a new one.

Regards
/Reza – End of a wonderful Chapter !

How to justify that your code is stable !

Have you ever wondered how much tested your code is ? We often write Unit Tests to ensure proper functionality of a product. But how do you ensure that the Unit Tests actually covers most of the functionality. Well the solution to this problem is a open source tool named Cobertura. This is for Java freaks only. Cobertura is a tool which calculates the code coverage of your project.

A sample report generated by the tool :

Detailed report on the lines covered by the unit tests written for the project:

Feature List :
[This feature list is quoted from official cobertura page : http://cobertura.sourceforge.net/index.html ]

  1. Can be executed from ant or from the command line.
  2. Instruments Java bytecode after it has been compiled.
  3. Can generate reports in HTML or XML.
  4. Shows the percentage of lines and branches covered for each class, each package, and for the overall project.
  5. Shows the McCabe cyclomatic code complexity of each class, and the average cyclomatic code complexity for each package, and for the overall product.
  6. Can sort HTML results by class name, percent of lines covered, percent of branches covered, etc. And can sort in ascending or decending order.

The integration of this tool is very straight forward. They have given the ant script which when added to your projects ant will automatically have this integrated with your project. So simply go to the following link and digg more on how to integrate : http://cobertura.sourceforge.net/

I am sure Java lovers will find it great and indeed a nice tool through which you can justify that your code is stable and it RoCks. 🙂 Enjoy !.

– Reza

Porting legacy codes to Visual Studio 2005

Lately we were given a code base from EA. It was a mixture of C and C++ codes. They continously added code to it on demand in an adhoc basis for the last 14 years. Our task is to develope the same tool from scratch if need be we can use some of their codes as well. And the requirement is the tool needs to be developed in Microsoft Visual Studio 2005. So our first task was to build the existing legacy code they dumped us with in 2005. While trying to do so I faced a few issues which I want to share in this post :

Commmon Problem 1:

error C2220: warning treated as error – no ‘object’ file generated
warning C4996: ‘wcstombs’ was declared deprecated
c:\program files\microsoft visual studio 8\vc\include\stdlib.h(562) : see declaration of ‘wcstombs’
Message: ‘This function or variable may be unsafe. Consider using wcstombs_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.’

Solution –
#pragma warning ( disable : 4996 )

Commmon Problem 2:

error C2440: ‘initializing’ : cannot convert from ‘const char *’ to ‘char *’

The code was :
char *pTxdGroupXml = strstr(name, “_resources.xml”);

Solution –
Change the code to :
char *pTxdGroupXml = (char*) strstr(name, “_resources.xml”);

Common Problem 3

error C3861: ‘_assert’: identifier not found

Solution
#define _assert(exp, fileName, lineNumber) assert(exp)

Common Problem 4

error LNK2005: __configthreadlocale already defined in MSVCRTD.lib(MSVCR80D.dll) LIBCMTD.lib
Solution
ProjectSettings – > Linker – > Input -> Ignore specific Library : LIBCMTD.lib

Hope this post helps when you are down and fighting to build a mamoth Legacy Code.

– Reza

Blog at WordPress.com.

Up ↑