gripusa

Tuesday, January 08, 2008

Do a programmer need to be lover ?

Do a Programmer need to be lover? yah i am not joking, we are the strangest creature of GOD, Dont we??? we have enigma of computers and keyboards but
we still possesses heart LOL!!!! Actually i was thinking about my life history and than i reminded one the "key advice" from one of my senior when i used
to be in college. He one day came while i am typically a stereotype of BONGA PROGRAMMER [apology if you don't understand it, this is my own term , combination
of a bookworm plus core dedicated person who dont look out of the box/world ----You must know what i mean box], so he came to me and said "usman i some time
feel that you cant be a big lad in programming"[hay hay he is touching my nerves]. I asked "why do u think like that" . He said "hay dude you dont have
any girl sitting right with you while working on your assignment, look at me while i am in the lab"[as that guy used to have two LOLs].
I often remembered his words many time in my life later on, i dont know this love feeling given me more passion to work or taken my way out but i still
feel that sometime when i am really dejected i can either none at all [infinite loop with no statement] or i can just bulldoze every thing in an instant.
What you think do we be a lover or not ?

Labels: ,

Tuesday, December 18, 2007

Roles not Persons Important for Organizations

Today i was thinking about how much the Bil Gates is rich and how it can influence others with his richness. Certainly the persons like him could effect many thousand or would say hundred thousands people. But than i thought people like Tony blair/Bush/Musharraf are not rich like him but their decisions could effect millions of people over the world. So than my thoughts turned towards these decisions makers especially those who are prevailed in the third world countries like Pakistan or so. Where it is often the case a dictator (or at least form of dictatorship) remains in the government. I was thinking that a single thought/decision of such person could influence the thoughts of all the nation or country. Thats why one of the reason democracy is being supported all over the world so that such decisions are monitored and measured by many people not a mere thought of a single person which could disrupt all the balance throughout the world.

If we carefully look over this thought , democracy is another form of delegating the responsibilities to respective persons hence no one is responsible for whole or all of responsible for their own particular actions. Hence if we look into that such managements/establishments depends upon the roles not the persons. hence it is not necessary to that establishment who holds the current position but it is important to them that the roles and responsibilities are being performed perfectly and no one can exceed the boundaries assigned to it.

Therefore, these processes and standard operating procedures (SOP's) are the one which predominantly played an important role in such managements and if we apply the same concept over the software development industry, we can see same principals and results here as well. If some company relies some particular individual to perform their excellent function than expect such organization don't last longer and may result itno collapse at any time. However, if any organization want to stabilize itself , than look into the SOP's of that organization which should be consistent across the organization, if that is the case than expect that organization could produce the results otherwise .......................

Wednesday, August 10, 2005

Proposal For harmony

Introduction to Harmony Project


Usman Bashir
Descon IT24 (Pvt.) Ltd.
Autonetzone.
Operation Badar
gripusa@hotmail.com
Abstract

Java is a dominant force in the information technology arena. Which is helping us to produce reliable, secure and multiplatform applications with an ease? Harmony is a collaborated effort to make the Java available to every one so that every can put his own flags in to its implementation. Harmony is also an effort to harmonize the work done by other open source initiatives. All these efforts are being done on the platform of Apache group which has a great respect in the open source world to produce exceptional products in the form of open source initiatives.

This document will try to put the efforts done and the goals that have been set by the team of harmony for this project. It will discuss the recent discussions in the community for harmony and its future plans, in both abstract and technical prospective.


Keywords.
Virtual Machine Software that acts as an interface between compiler Java binary code and the microprocessor (or "hardware platform") that actually performs the program's instructions.
LGPL LGPL allows everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
Architecture The software architecture of a program or computing system is the structure or structures of the system, which comprise software elements, the externally visible properties of those elements, and the relationships among them


Introduction to java.

Java has been around since more then a decade now; its popularity has been grown from browser's applets to Enterprise applications, from handheld devices to space ships. It has become a productive, secure and reliable platform to build applications. To date, the Java SE platform has been downloaded more than 50 million times, into embedded systems across the spectrum of consumer electronics, military, aerospace, telecommunications, automotive manufacture and industrial automation? A software market estimated to be worth $2.7 billion by 2007, up from $1.5 billion today, according to analyst firm Venture Development Corp

Java and open source community.

The community of java has been pushing up it further with new technologies and innovations. Java has been always empowered by the open source community that has adopted java as their premier platform since its beginning. Open source community has given a lot of goodies to the java and its technologies. There are several examples available for us where the community does help the java and help it to make more and more progress. The popular examples are tomcat, JBoss, hibernate, eclipse, struts and now many more are coming to help us to move free and open source world along with java. For example IBM, ORACLE and SUN are all pushing their premier IDE's free for us to use and developed. This is just because that we have created a background which makes them to push their core products as free. So when we are getting the boundary free why we are restricted from the core.

Basic Idea.
The basic idea behind harmony to create a modular VM and class library architecture, and using it, create a compatible implementation of J2SE 5.Harmony not only make us able to get a free and open source Java VM but also provide a modular architecture to plug and play with different class libraries and extensions living in the boundaries of specification imposed by the Sun Java Virtual Machine Specifications.
Sun Licensing.
This seemed to be a bit awkward goal for some one who is not familiar with the licensing terms.
As people usually consider the java free and open source completely but it is not the reality. You can modify the java source code compile it and build it but you are never allowed to share it with your sister company, neither you are allowed to participate in other open source activities by using your existing knowledge. It is because of the fact that Sun license impose a restriction over the user which has modified or reviewed the code of java virtual machine, he can not participate in any open source activity under the GPL or LGPL kind of licensing by either using or driving any thing from their source. This certainly prohibits the enthusiastic users of open source java community to look at the source code. This was a major implication for a user because he wants to review the code, share and distribute it with others by modifying it or using it as a baseline in some other applications.
Objective.
Harmony project will create a create a Compatible, independent implementation of J2SE 5 Virtual Machine that fulfils the requirements of Java Virtual Machine Specifications, community-developed modular runtime (VM and class library) architecture to allow independent implementations to share runtime components, and allow independent innovation in runtime components. In doing so, we intend to create a broad, collaborative community of contributors, implementers and users of the modular platform specification.
This virtual machine will be designed from ground up to create an optimized, modular, dynamic and extensible. It also let us to have the review over the implementation that is always hidden from us so it permit the users to modify the implementations to suite for their own purposes or even extend it with using the intension points that will be provided over the different nodes of the virtual machine.
Goals of Harmony.
While developing harmony following goals were set:
- have a simple plan upon which coding can immediately begin
- ensure that we have a focal point to begin the conversation among interested members of the community
- have a clearly defined set of technical needs to allow potential contributors, either code contributors or individual participants, a basis for consideration
- ensure that this is a community effort
- Together we will architect and implement via fresh new code or donation
- produce a set of specifications/designs allowing multiple interoperable implementations that allow for sharing, extension and innovation
Harmony and existing communities.
One of the questions does arise in once mind when there are other open sources initiatives are available in the community like Kaffe, SableVM, Jikes RVM, JNode and JamVM and so on, then why another activity is being put forward. Harmony is actually aimed to harmonize all these activities under one umbrella. This effort will not only help the existing communities to grow up more but also let them to communicate and integrate with each other on some solid base lines.
Harmony is not going to build everything from scratch, though there were few community members who proposed to do so, but most of members were agreed to use the existing efforts. For example it is decided to use ClassPath (that has been developed under GNU) as the class library for harmony project. So that initially the concentration should be focused to virtual machine. Similarly there are suggestions to use MMTK memory manager, GCJ compiler and integrate them into one combined solution for the user. It is also important to note that it is not necessary we are just using the integrating the work done by others and putting under the name of apache. It is rather a planned activity to put some thing in physical by using the existing code and then refined it one by one with the passage of time. As people only believe over the things that are in front of them physically rather then those which are still in air. This methodology becomes more important when you are developing open source projects and I remember at the very beginning many people came to mailing list and start asking when we are going to put some thing on actual.
So harmony is not putting another stone in the water rather then it is a combined effort to put the java community together and produce the things that are open and standardized with an harmonized effort.
Harmony and Sun.
Sun has been a long-time supporter of Apache and Apache projects, and Apache has a wide variety of projects that are implementations of Java specifications, such as Apache Geronimo, Apache Tomcat, Pluto, taglibs, etc. The Harmony is not an exception. This project is open to every interested member of the Java community, and every interested member is welcome to participate in whatever manner they choose.
Some people also thought that we are going to develop it because Sun has refused to release their source for Java SE under an open source license. But we would welcome if Sun doing that (as well as anyone else with a J2SE implementation!) as it would save a lot of time of us, and we whole heartedly encourage them to do so, but Sun has the right to do what it chooses with it's intellectual property rights.
So Harmony is not going to pull the weapons against the Sun rather then support the Java and its communities by creating a standard for integration though open source platform.
Components of Harmony:
The Harmony project will consist of following components that can be entitled as deliverables of the Harmony final release. But, as the project is still in early phase of development therefore it is not necessary that the list remains the same at the final stage.
Execution Modules
Execution Manager
Execution Engine
Code generator
Profile Collector
GC
Threading/sync Manager
Platform Portability Layer (OS and HW)
Class Libraries
Platform Accessors
VM Accessors
VM Core (the hub that glues all the above modules together)

Architecture of Harmony.
Although Harmony is not much at this stage that I talk about its architecture, as we are still looking for the different things to let the game begin. However after following the discussion of the community and participation some basic outline has been decided that will be followed during the development of harmony. I will try to explain the out line that has been almost decided so that you can have an over view how things are going to work in the harmony project.
The main internal structure of the JVM and class library project is illustrated above. According to discussions on the development list:
The Classpath project aims at creating a clean room, open source implementation of the Java standard API.GNU Classpath . (http://www.gnu.org/software/classpath) may be used to fill the need of the Classpath project, given that licensing may be honored on both sides, and proper credits are given.
The JVM project aims at creating a clean room, open source implementation of the Java Virtual Machine. There have been discussions of implementing it in Java, C/C++, or using a framework in which each component can be written in different languages. We currently lack a good choice for JVM code baseline. Potentially, we are facing re-implementing of JVM from scratch.
The OS Abstraction Layer (OAL) project aims at defining and enforcing a thin wrapper layer which connects the JVM and the Classpath to the services of the native OS. This layer is the only part directly interacting with the OS for non-development versions of the JVM. Currently the Apache Portable Runtime (APR) (http://apr.apache.org) seems the best choice.
The Development facilities project aims at creating APIs and tools to facilitate debugging and development-time profiling in order to track state within the JVM. Development facilities should be stripped from the build for non-development releases. Development facilities must be adapted to the JVM, and will therefore be defined pending the choice of JVM.
Expected Platforms.
The Harmony JVM is different from the existing JVM’s that its architecture will be designed in such a way that it will not tie to any particular platform or architecture. It will allow us to deploy our JVM on any kind of platform from embedded to enterprise environments. This is because that harmony is designed to keep this in mind that it can be extended to implement over any platform. However at first, we are focusing over the four major platforms i.e. Linux, Windows, Sun Solaris and Mac X. A VM for embedded system is also in view.
Current Status of Harmony.
The harmony is making a progress at a great pace; it already has caught the eyes of all major magazines, blogs and concerned companies like Sun, IBM, and BEA etc. Many people have already submitted their materials for the development and research like JVM’s, class libraries, memory managers and many more. The community is reviewing every submitted material so that it can be included directly or after extending it, in the project. There has been a heavy discussion on the licensing issues so that harmony may not run into the danger due to legal issues. The implementation language is also a major concern of the people , as some are arguing in the favor of java and others are determined to go with same traditional language i.e. C/C++. Similar an important thread over the mailing list is about the proposed architecture of the harmony.
In the recent days IBM has announced that it will support the harmony project and the employees working on the IBM J9 can participate in it. We have seen some good posts from them on mailing list as well. Similarly we got good suggestion from Bea’s experienced guys.
Harmony is currently in the incubation stage. Incubation stage in Apache projects referred to that stage, in which, the management of Apache has a close look over the projects under inception. If they think that the project has solid base line and well supported community then the project is moved from incubation to main projects as Tomcat, Meaven and others.
How to contribute.
To contribute into the harmony project , first you need to subscribe yourself with the harmony mailing list and then you can put your efforts on any topic that would you think, will help the project harmony. There are several different topics are available in which you can contribute with your skills like JVM sub projects, class library projects and development facilities project. To participate in the development you have to agree the simple licensed that has been put forward over the mailing list now so that we may not run into any kind of legal issues during the development.
Acknowledgement.

I would like to acknowledge Geir and every one in community who allow me to put my words on the community and then here in this document.

References.

[1] Wiki for Harmony http://wiki.apache.com
[2] Apache home http://www.apache.com
[3] ClassPath site http://www.gnu.org/software/classpath
[4] Kaffe JVM http://www.kaffe.org
[5] Sun Java VM specification http://java.sun.com/docs/books/vmspec

Edinburgh Guesthouse, Edinburgh Bed and breakfast and Edinburgh Selfcatering Apartments

Monday, January 31, 2005

New Camera Technology from HP

In the recent year the mobiles has impacted over the techonlogy scene as well as our daily lives. Especaily the invent of camera mobiles change the spectrum and it made all the guys and girls to cry who are found of shooting the pics.
But every thing has a hidden cost inside it , similarly what become a usual matter is that often we see a guy shooting some one he likes and vice versa which took this tech in to wrong prospect and even resulted a ban from suadi government in the country.
This is realy threat to the privacy of one because no one can restrict to other from shooting you.But HP is working over a techonlogy thorugh which it is possible to say "Shut Up" to such guys. This is aided with a remote module which enable you to decided weather u allow some one to took a shot or not.
The remote mdoule actually blur the shot and hence the picture will be dissappear in the fog. The remote device is connected with the embeded module of camera.
Altough i was not confirm when HP is gona to open this te3chonlogy for the public and how it gona to work, but if it works as pretended then it is realy a good news for the protection of human rights and privacy.

Monday, December 27, 2004

Google in a new prospective

Google has become a symbol of search over the web and no one is there who knows surfing and doest know about Google. We have benn fell in love with google since long now and its vast collection and speedy search always memorized us.
Now google introduced a new concept in searching with its beta version . This tecnology allows you to search while you are typing, this is just pheonomnal to think and imagine.
When i first time tested the site , i was just surprise how the Google is grasping our minds in the field of searching, i just type mobile and he listed me the top searches for mobile and as i moved farwards with "techonologies " , it again listed the hottest search for "mobile technologies".
This is realy helpfull for me , one i cant remember the spellings awwww i m week in it and then its dificult to define a proper word for searching over a topic but it may help that we can get the guide lines from top or hottest search done by the others.
do check it at following URL as the proper website has not been launched.
http://www.google.com/webhp?complete=1

Wednesday, December 15, 2004

Importance Of Web Services

The World is being hit by the new era of information technology that is being focused over the totaly novel concept but still have roots behind from the very first day of human history when the human beigns to seek the cooperation of each other and started barter trade system.Man always wanted to get some things that are prebuilt so that he could save his work time and effort to put it in some other usefull aspect.

So the informatics is also influenced by the same theocracy, human beings are not willing to program every thing from the ver begining , therefore many concepts has been introduced from the very first day humans started to use this miracle of sceince.They adopted programming languges, adopted structured pattrens, then moved to Object Oriented and at later stages they went for component world.Every thing seem to be integerated and ready to be use in on e or other.

XML is being the new horizon for the infotech, also influnced this concept and a new revolution brought into the vision with the introduction of webservices. The web services are not a new concept , it urges you to utilize the existing and prebuilt components and business services rather then developing them scratch. This made easier to bring the RAD model into Web Development.

Web Services offer the best interopertability among the different enviornments like J2EE and .NET to lagacy application built with C/C++ or 3G languages. This not only removes the hinder between the interoperatbility issues but also improves the useability of exisiting and available components and business logic for the businesses.

The B2B is the main focus of webServices as per my own view because it allows us to integrate the different edges between business applications seamlessly with each other. This is realy removes a strian from the developer point of view or the architect who ever go for the integrating two applications either from the same plateform or opposite plateforms.

Some people often question that when we have CORBA, COM/DCOM and RMI thne why we need for another technology. Actually every one is baes upon the binary infrustruate which makes difficult to integerate the applications and cross boundary suppot over the internet. Another disadvantage of DCOM and RMI is the propreitry issues as they are backed by Microsoft and Sun respectively. So only CORBA lefts but it was too difficult to program that i never go for that rather then i prefer to use the other alternatives (May be some people contradict my view but if u ever consider the real development time then it becomes realy combersome to do such things and i have seen the people often use thier own tricks in such cases or go for proprietry solutions.

Web Services realy open a new edge for us to provide the development at its pace , the common myth is that webservices is only for Web application (especaily the guys turning thier heads first time about this methodlogy) but this is wrong as it can provide u same benefits either you are working with distributed aplication or simply a desktop application. So Web services are not limited to any boundary as for as their useability is concern.

Web Services realy teamed up the business on demand as it is getting more respect now in the ecommerce and distributed applications. Web services allows us to provide on demand business services with an ease.

Altough there are several more benefits that provide the edges to Development life cycle but now i will trun my head towards the technical aspects of Webservices , so a person can get into the pond of Web Services easily.

Web Services are based upon the exisitng techonologies like HTTP and XML so they can be implment easily and not further modification is required in the Web Architecture (although Web Services do add a layer in whole Business Architecture ). The key ingrediants of Web Services are the Application providing services , SOAP Protocol , UDDI , WSDL and the host of web services.

The architecture goes like that ,

1.The business logic publishes its services that it is willing to provide to either outside world or other clients.

2. The services are hosted by a Server termed as Registry .

3. The Services are published with WSDL (Web Services Description Langauge) .

4. The client uses its WSDL description and call the services using SOAP protocol using HTTP.

5. The Service responds with the response of the request imposed by the Client and return the results also in the form of SOAP message.

Hence the above scenrio shows that thay are communicating with eachother using SOAP (built with XML ) so no dependancy exist between them with regard of palteform issues as XML and SOAP are palteform indepandant technologies.
This liberates us from the dependencies that exists before like properitry extensions etc. Now we can communicate information in this digital world in the form of real data not so called bits, because now we have the power to understand each other across the oceans.
This infact has brought a huge change in the Web and its co existing technologies in the recent years as well as upcoming years , so we can rightly said that now it is becoming the core of each plateform that are reshaping under the umberlla of WebServices. This scenrio become more clear as soon as public regietries (where the Webservices are hosted) available for the developers or users to acquire them. This will realy take us to the dream of "information global age".


Friday, October 29, 2004

IDE's Race

There was a time I remember when we work around with blue screen of Turbo C/C++ or Pascal and wish that some magic should be there in our hands so that rather then we have to go through so much coding we can do it in minutes, and thinking about windows seem a dream on those days, but thnx to those nifty IDE's like VS 6 or Borland's and other products just races us towards that realization, and we see what the RAD mean in real.
But this race is growing now in a rapid race that every one just astonish what’s going on, actually since the adaptation of internet and SOA the scene has been changed drastically, now we have the list of IDE's claiming every feature u can count on for the Requirement analysis to development and from deployment to maintenance. Although we love that we got so many things in just a single place but the load it is bringing with it is becoming worse. Now we have IDE's that took up almost 1 to 2 GB hard space and their memory recommendation has been gained up to minimum of 256 RAM (but i think we should say that at least 512) so such requirements just adding the another extra discomfort ness among the developers, then the newer versions are just coming like a flying horse, until u get equipped with one , u have to be ready for the new one and then certainly it incurs the training to purchase as well (oh yes if u living in licensed environments ha ha ha )
however one couldn’t see the race between giants in this field like Microsoft, IBM, Borland, Sun, BEA etc is taking us , we have to just swim in this rushing water of storm and make our lives saved with this rush in IT world , which is really pushing u on the speed of light
oh yeah don’t forget to check the new IDE's competition between Microsoft and IBM both were now starting a new race that was commonly related with Sun and Microsoft. IBM 's new Environment based upon Rational products and web sphere technologies are becoming challenge to .NET world let see what this brings for us, and don’t forget the silent giant Borland
..................