The Current Crisis Explained Visually. Nice Presentation.
The Crisis of Credit
March 19, 2009 · Leave a Comment
→ Leave a CommentCategories: Cool Videos · General
Unlimited Motivation required for the Start-Up
March 3, 2009 · Leave a Comment
A good one from Joel Spolsky, Unlimited Motivation required for keeping the start-ups going untill they reach success.
I feel even the bigger question is how to keep-up this Unlimited Motivation or in his terms how to do “careful morale management” especially when you fall in the second category of “large band of people who have some, but not unlimited, ability to motivate themselves”.
How Hard Could It Be?: Start-up Static
A new business is like a shortwave radio. You have to fiddle patiently with all the dials until you get the reception you want
→ Leave a CommentCategories: General · Personal Thoughts
The Best of Telerik ASP.NET Ajax Controls
February 25, 2009 · 2 Comments
Last year in July we decided to buy Telerik Suite here for our team and I think it has been a wonderful decision. At the time, we started working on an highly data intensive application and we had to reduce postbacks using AJAX. I had used ASP.NET Ajax Control Toolkit before (like here) but I found it limited and you still have to do a lot of work around the toolkit controls to actually make them work in more complex scenarios. So we decided to give Telerik controls a go and it has been amazing !
We have used various controls from the Telerik Suite in our applications like RadAjaxPanel, RadEditor, RadToolTip, RadChart, RadGrid, RadInput, RadUpload, RadSplitter, RadWindow. All these controls are useful and not only provide an amazing UI but also reduce the development time considerably, still I have fallen in love with specially two controls RadAjaxPanel and RadToolTip.
RadAjaxPanel
Rad Ajax Panel is an enhanced version of UpdatePanel with a wonderful Client Side and Server Side object model to work with. So, just put an RadAjaxPanel around everything you want to Ajaxify.
<telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server" Height="100%" Width="100%" LoadingPanelID="RadAjaxLoadingPanel1" HorizontalAlign="left"></telerik:RadAjaxPanel>
RadToolTip
RadToolTip is an amazing control and can be used in a range of scenarios specially for on-demand loading. You can actually fit a Web User Control in the tool tip and load it on demand on any event on the page. Some of the scenarios where we used the RadToolTip.
Data Validation (Since it can stick to any control on the page)
Dynamic Selection Menu (Loading On Demand User Control)
Dynamic Options (Loading On Demand User Control)
→ 2 CommentsCategories: .NET Development · ASP.NET Development · Microsoft
Creating ASP.NET UserControl Libraries for use in Multiple Websites
February 24, 2009 · 4 Comments
The Web User Control in ASP.NET is a powerful element to effectively reuse design components within the project. However, there is no standard way to create a Web User Control Library which could be used across mutiple web projects. In my current scenario I want multiple web applications to share the user controls.
Scott Guthrie has explained this here Building Re-Usable ASP.NET User Control and Page Libraries with VS 2005, but he is suggesting to publish the user controls project separately and then copy paste the files in your actual project. This is not very practical if you have multiple applications and a team which is constantly updating the user controls and the applications and continuously checking-in latest controls.
So here goes the solution.
- You need to create a Web Application Project instead of a Website project for your User Controls. The reason for this is that the Website project that you create with Visual Studio 2005 cannot be consumed by other projects within the solution. Moreover, since there is no project file, you cannot add Pre-Build/Post-Build events to the project. You will have to download Web Application Project Template for visual studio 2005 since Visual Studio 2005 does not provide this in def
ault installation. - OK, after you have the Web Application Project template, create two projects, one Web Application Project (UserControlLibrary) for the User Controls and another ASP.NET Website as shown in the figure.
- Now Build the “UserControlLibrary” project which will generate a single DLL (UserControlLibrary.dll) for this project. Now Add a Reference of this project to the other website project.
- In order to copy the ASCX files of the controls in UserControlLibrary to the website project, add a Post-Build Event for the UserControlLibrary, to copy all ASCX files to the Website project.
- Now add a UserControls folder under both projects and keep all your user controls under the UserControls folder in the UserControlLibrary. Go to the properties of the UserControlLibrary project and then to the Compile Tab, open the Build Options and add the following to the Post Build Event.
copy “$(ProjectDir)UserControls\*.ascx” “$(SolutionDir)WebSite\UserControls\” /Y
- After adding the post-build event
, whenever you compile your UserControlLibrary project, the DLL will be updated in the Website project because of the reference and the ascx will be copied by the Post Build Event that we just added.
→ 4 CommentsCategories: .NET Development · ASP.NET Development · Microsoft
Setting up Google Latitude
February 10, 2009 · 1 Comment
Just completed the Google Latitude setup on Blackberry Curve. The process is very simple. I was already using Google Maps 2.0 and just had to download the latest version of the Google Maps and install it, which comes with built-in Google Latitude.
The Latitude is completely opt-in right now and you need to have a Google account and approval from both parties to see each other’s information. A public interface would be good if someone wants to share the location openly on blog etc.
→ 1 CommentCategories: Dubai · Google · Technology
The Five Laws of Project Management
February 7, 2009 · 6 Comments
Inspired by the Isaac Asimov’s Three Laws of Robotics, and the Laws of Identity which I posted in the previous entry. I came up with my own Five Laws of Project Management based on my own personal experience in managing projects. (BTW I personally need to improve in these as well.)
Transparency, Boldness & Effective Communication: To me these are the most important personality traits required by a Project Manager. Transparency helps in managing the expectations of all stakeholders including the business, the management and the project team and boldness enables the project manager to remain transparent even in the time of crisis.
Many Project Managers who are not transparent, bold or cannot effectively communicate fail to raise the issues at the right time or bring a true picture in-front of management. The Project Manager should have a strong character and should raise the issues at the right moment. For example, issues like time limitation, lack of resources or unclear scope of work should be raised immediately and with strength. It is much better not to undertake a project or simply say “No” then to fail it, especially when you know in advance you are going to fail and you simply kept quite on that. Similarly, issues with the team like quality of work or delays in deliverables should be immediately highlighted and communicated to the team members.
Keeping this balance between the business, management and the team through effective communication while still managing the actual work is one of the most difficult challenges.
Documented Scope of Work: Most developers don’t like to write documents, instead they like to code and they start coding during or even before the requirements analysis is complete. Never write even a single line of code without a documented and clear scope of work which has been signed-off by the business or management. The lack of a signed scope of work is bound to put you in a loop. The loop of continuous changes and requests which will go back-and-forth between the client and your team for months if not years.
Also, always keep the scope document updated even with the slightest change in detail during the course of the project and get these updated documents signed. Having an updated and signed scope of work by the end of the project will save you a lot of trouble which generally people go through for project closure.
Team Work: I believe that “Only great teams produce great software”, so be very careful while selecting the team. The limitation of team members in numbers or in competence is one of the biggest reasons for failed projects. Make sure your team members are competent to do their job and are team players.
In case you are stuck with a team which is limited by number or have some members which do not have the required skills and you do not have the control to change or increase the team, then always factor in extra time in the project plan to cover for them.
Never create a project plan without knowing the team members and their skills. Many times I have seen project plans being made only with dummy R1, R2, R3 etc without even knowing or even without hiring the actual team members. Always remember that all team members do not have the same level of expertise and hence tasks cannot be assigned equally to R1, R2, R3.
Time Management: Efficient time management is also a big factor in overall success of the project. Nearly all Project Managers plan a little more time than actually required to complete a tasks, this time is called buffer. The buffer plays an important role for risk management and managing unforeseen issues and problems during the project.
However, in most cases the buffer time is used as a luxury and is wasted in the initial days of the project, either through a slow pace of work or simply relaxing because the project managers feels he has a lot of time on hand. This strains the project and the team at the end and if in case any unforeseen problem really comes along for which the buffer was originally intended, the project is delayed and gets into trouble.
So, never put-off the scheduled work for tomorrow even if you have a lot of extra buffer. Try to complete as much work as you can at the start of the project. Having some time at the end helps in better testing of the product and also helps in improving the product by adding additional (icing) features. It also saves the team from unnecessary strain.
Successful Closure: “Celebrate only after fully completing the Job”. Some project managers celebrate the achievement of certain crucial milestones in the project with great enthusiasm and consider the “Job Accomplished” without actually realizing that certain less important modules/tasks in the project are still not complete. This not only gives a wrong perception to the team but also these smaller less important things which are not considered “success factor” , in the end cause the failure or at least undermine the success.
For example, testing and documentation are a few phases which almost always take a hit because the project manager and team celebrate the “end of development” which such enthusiasm that they consider the Job completed and give less importance to the remaining phases. This results in multiple patches, service packs and fixes to the original product undermining the hard work and the success.
The successful closure of the project generally requires as much as hard work as in the start of the project. Becoming less focused at the end of the project always ends in issues which become apparent at a later stage. The Project Manager should remain focused till the Project is fully completed with all phases and in every detail so a true success can be celebrated.
Update 1: Take a look at some of humorous Project Management Laws which I found here.
→ 6 CommentsCategories: Personal Thoughts · Software Engineering · Technology
Laws of Identity
February 6, 2009 · 3 Comments
Just came across Microsoft Kim Cameron’s Laws of Identity.
- User Control and Consent
- Limited Disclosure for Limited Use
- The Law of Fewest Parties
- Directed Identity
- Pluralism of Operators and Technologies
- Human Integration
- Consistent Experience Across Contexts
The recent study and work for Single-Sign On and Federated Identities made me go through interesting writings regarding federation and identity management from SAML standards to Geneva Framework. More on Geneva Framework later.
→ 3 CommentsCategories: .NET Development · Technology
Post-Marriage !
October 16, 2008 · 6 Comments
I have been away for a long time I guess, first it was a very hectic month in July. We were working on a System for Classification for Hotels and with an extremely short, infact a nearly impossible deadline. Fortunately, we not only met the deadline but actually did a wonderful Job as well. The quality of work was really good and undoubtedly something which I can proudly boast; also got a good hand on Telerik Controls. Will talk about that later sometime.
On August 23rd I got married in Lahore and everything went great by the grace of Allah. Married life is amazing, though it brings a lot of responsibility it does make you more focused. Finally, after three years of living alone I have someone to go home to
I must say that all the time spent in Dubai/Sharjah/Abu Dhabi during past three years was great. The bachelor life has its own fun and I am lucky to have enjoyed some of that. I will miss all the 1509 gatherings in Sharjah, the late night fun and outings with the guys.
A lot of things change after you get married, suddenly I have now started looking at the clock during the day to see how much time is left, and no more late (very very late) sittings in office
. I’ve started having great home made food and you would get fatter, more fatter than you even thought about. You cannot continuously keep looking at Google News, GEO TV or BBC and you will start gettting interested in stories of Indian Dramas / Shows. Even your Google Web History would start getting affected :P. I was trying to find a link from my Web History and see what I have been searching for
. Recepies of Keema Mirch, Hari Mirch Keema.
I am again seening the clock, its a few hours before I head for the weekend.
→ 6 CommentsCategories: Personal Thoughts
Indoor Skydiving
July 28, 2008 · 3 Comments
A couple weeks back I had the chance to experience the Indoor Skydiving with some of my office colleagues. It was an amazing experience. I had seen this on TV many times but never actually had a chance to do it myself till now. There is new Skydiving Center opening up in Abu Dhabi and we got an official invitation for that.
Indoor Skydiving involves a vertical wind tunnel which generates air from 80 MPH – 140 MPH in a vertical chamber and you can perform a “body flight” in the chamber in-door. It is safe and specially good for people afraid of height since you only float a few feet (4-8) above the safety net and ofcourse there is an instructor to assist you as well
From Wikipedia
A vertical wind tunnel (VWT) is a wind tunnel which moves air up in a vertical column. It is a recreational wind tunnel, frequently advertised as “indoor skydiving” or “bodyflight”. It is also a popular training tool for skydivers.
Vertical wind tunnels enable human beings to fly in air without planes or parachutes, through the force of wind being generated vertically. Wind moves upwards at approximately 120 mph, the terminal velocity of a falling human body belly-downwards, although this can vary from person to person. A vertical wind tunnel is frequently called ‘indoor skydiving’ due to the popularity of vertical wind tunnels among skydivers, who report that the sensation is extremely similar to skydiving. The human body ‘floats’ in midair in a vertical wind tunnel, and this is called ‘bodyflight’ or ‘body flight’. more
Unfortunately, I only have some blurred pictures taken from a mobile phone but not any good pictures and since it was a trial, they did’nt give us the video etc as well. Maybe I’ll go some time later when the place actually opens up with everything.
→ 3 CommentsCategories: Dubai · Personal Thoughts
Interview @ PakSpectator
July 14, 2008 · Leave a Comment
I was interviewed by PakSpectator today. I think they are on bandwagon for taking the interviews. Interestingly Haroon Saeed had his interview published today as well. I am not sure if he recommended me or PakSpectator observed my fame from somewhere else
→ Leave a CommentCategories: General · Internet Buzz · Personal Thoughts
