Sep 14, 2008

Zend vs Cake

If you are in IT department you need to update yourself constantly. If you fail to do so you will not be able to survive and I think you will lose your job one day. Recently I started working on CakePhp to update myself and have some taste of it. As I've already worked in Zend Framework so things were not looking hard. However few things that irritated me was their directory structure and their conventions. In cake you need to stick to their conventions and it provide you single way to do most of the things contrary to the Zend which is more flexible and provide you serveral ways for doing the same thing.
Although cake provide you components for Acl, Authentication, Email etc and it is easier to work with these components, however I will prefer to work in Zend until and unless my client force me to switch to cake.
Cake has some stuff that i would appreciate,
1. simple Acl and authentication handling.
2. more mature form creating especially validation which enable you to customize everything.
3. Configuration is easy and you can easily define routing.
4. Cake uses prototype and scripaculuous for implementing Ajax. I think it uses some functions(cakephp) to work with ajax instead of writing javascript.
5. paging is quite easy to work with.
I think for beginners it is good place to start.
However Zend has more loosely defined structure and provide you serveral ways for doing the same thing. The component like Zend_Db is fabolous to work with. you can create select, update, insert and delete statement easily. After all In my view Cakephp cann't compete Zend.

Aug 31, 2008

Writtin a novel

I love writing since I was high school student. Although it was difficult to write essays, letters and other material at that time however I'd often lifted pen and papers to express my views and thoughts, but writing for about some time I'd left writing in the middle.
The problem I think was I wasn't mature at that time and wasn't having proper guidance.
Recently when I red "A painted house"- a novel written by John Grisham, it gave me energy and courage to write something and express my inner feelings. So I decided to start writing my own novel. A month back I was really stuck in a software house with a lot of work burden which was preventing me from writing the prologue. However shifting to new software house has given me time to think about my pending novel. Today when I watched TV for about four hour and got bored, I once again rushed for pen and papers and started thinking of where to start. but things didn't get moved where I was hoping. Then an idea come to my mind 'why not browse and internet and find the ways how to write a novel'. when I googled for 'who to write a novel', I was served with millions of search results.
Selecting a website that is offering 'how to write a novel in 100 days'. This website has a schedule of how to motivate a person each day. It give you some courage and advised you to give proper timing and stick to that timings.

Aug 11, 2008

NUST interview

After waiting for about 1 and half month I arrived in NUST for interview. initially I was a bit worried about the interview, however my friends in NUST encourage me by giving me an idea what type of questioned would be asked in the interview.
It is however reality that a person get a bit nerves before appearing in the exam or interview no matter what and where your exam or interview take place. same was a case with me when i reached the waiting room.
I was thinking about the types of questions to be asked in the interview when i entered the room, but the environment and especially discussion between boys waiting for interview changed my thoughts. Although they first discuss few things about interview, but discussion suddenly changed to politics and current deteriorating situation of Pakistan.

Aug 7, 2008

Maxing HTML and PHP code

After working for about one year in website development industry of Pakistan I've realized a very serious problem. This may be happening in other countries as well, as I haven't had worked with international organization especially professionals.
The problem is maxing presentational logic with business logic. In simple words I would say maxing HTML with server scripting language like php, asp, coldfusion etc.
Here I would appreciate Microsoft professionals who have done tremendous job by developing Asp.net language. The way they have separated asp.net and html code from C# and VB.NET code is fabulous. However I would like to mention that in the beginning-in early versions of ASP.NET-the problem was there. However with the passage of time and introducing newer and more mature versions like ASP.NET 2.0 they have addressed lots of issues.
Before going into the details of problem mentioned above I would also like to comment about some companies who are providing open source solutions for languages like PHP etc. The contribution made by oscommerce (having the above drawback), zencart(I haven't studied but heard that it is a bit mature shopping cart solution than oscommerce) and joomla(very nice and more mature content management system) to php cannot be ignored.

The most important contribution is made by those who have developed frameworks(MVC’s) like Zend, Symfony, cakePhp, mojave(lacking documentation and community support) etc. One cannot imagine how worthy and brilliant job they have done and how easier they have made work for lazy professionals like me.

Two months back I was introduced to mojavi by our company senior web developer. In the first few days I was exhausted and bored. However after developing a simple login application in mojavi I found it quite helpful. But things didn’t move forward coz of lacking documentation and community support.

I stopped working in mojavi but the virus of working in frameworks sneak in my heart and I started googling different frameworks.

Next few days I studied cakePhp, symfony and then zend, red their documentation, browse their community support sites and forums and also red articles about their differences.

Finally and luckily I selected Zend framework-This was because of small configuration overhead of zend framework than other frameworks.

After working in zend MVC I realized how easier it is to make a web application and how easy it is to extend and maintain existing one.

Now let me discuss the real problem which has made me sick since last few days.

After joining new organization 6 days back I was assigned a project for modification. The project was constructed in oscommerce. Boss was expecting that I would finish some small modification in few hours but I trapped in the middle and was unable to browser where modification needs to be made.

When boss arrived and asked me about the modification I was having no idea what to say and I felt a bit shy at that time. After telling him that I haven’t completed the modification he was a bit shocked and worried because he might be thinking that I was not a right person for the post I had been hired. He took me to his office and asked me about projects I had previously worked on. After showing him my projects he got satisfied but still I could see uncertainty in his eyes.

Why all this happened and why I trapped in the middle will I think clear the problem I have mentioned in the beginning..

As I have already mentioned that project was constructed in oscommerce so those how know or have worked in oscommerce will better understand the way oscommerce has been developed. Although they have separated php code form html up to some extent, however it is not as mature as joomla content management system or model view controller frameworks

Still oscommerce was not a big obstacle. The more irritating thing was the way previous programmer had implemented and constructed the pages. After working in office for about 10 hours I managed to complete some modifications but not entire.

When I came home, installed oscommerce and started doing the same modifications it took me minutes to complete them.

So I took some deep breathes and started thinking about whom to be blamed. But after thinking for about two hours I realized that no one could be blamed because client needs their projects soon, so developers only think about the construction not about what will happen in future if he himself or someone else try to extend or modify the project.

Lot of website have been made in similar scenarios and situations.

So as a professional one needs to be very careful while modifying the project.

Although professional developed application based on the client recommendations however I think we professional should think seriously about the future extensions and maintenance and try to make application both client and professional friendly.

It will not only make our job easy in future but increase production as well.

Jul 21, 2008

How nice it is to have a third party tool on your cv

After developing a project in Zend framework, I mentioned it on my CV and started applying for a job in new organization. oops in short span of 2 days i received interview calls from two organization straight away asking about zend framework. I realized how nice it is to have third party tool on a resume. However the problem is that different organizations are working on different frameworks. some on symfony, while other on cake and zend etc.
In first interview I was ask about CakePhp, but I was blank at that time, and my reply was "I haven't had the taste of cakePhp". The reason why i choose Zend instead of cake is simple.
"Initial configuration of cake is a bit difficult".
And this was my answer in interview too.
Now I have received a second call from the same organization and sure that they would hire me. however salary can change things suddenly.
hmm I think after wasting 8 to 9 months I need to join a good software house. This is very important for my future. Although i have worked on a project in zend, know how to work in ajax and good understanding of OOPs and Databases, but i haven't developed ecommerce and social networking sites. and i think it is important to work on this type of sites to secure my future in information technology field.

How nice it is to have a third party tool on your cv

Jul 18, 2008

Zend_Search_Lucene: amazing

I was always looking for a tool that enabled me to develop a search engine like Gooooogle. I don't like to put search on any website who direct users to google and google search pages for them. I was always looking to develop a search program that index all my website pages and when someone search a word or phrase, he/she find all the pages on my website with that word or phrase.
Although lot of websites provide the ability to search product or services they offer. The search is simple and limited because it only search the database not the website pages. however i haven't seen any which facilitate visitors to search their website pages.
Today, however I found solution in the form of Zend_Search_Lucene. It's based on the apache lucene(I don't have knowledge of apache lucene).
With the help of Zend_Search_Lucene you can crawel all your pages. Once the pages all crawled, the contents on your webiste are stored in the filesystem.
And later when someone search on your site you can programmatically retrieve those information and show them on the page.
I'll once again appraciate Zend Framework team for doing such a fabolous job.
Thanks Zend Team