Saturday, April 30, 2005

Yes, dhoop kinaray

Just to throw my own two cents to the post by Adnan, there's a rubai by Faiz Ahmed Faiz called Raat yun dil mein, which goes something like:

Raat yun dil mein teri khoi hui yaad aayee
Jaisay veeranay mein chupke se bahar aa jaaye
Jaisay sehraon mein haulay say chalay baad-e-naseem
Jaisay beemar ko bewajah qarar aajaaye

No wonder its no longer than that. A piece of art indeed! And no I'm not missing anyone in Istanbul. Its a wonder why I couldnt find any mp3 for this song through google. It must be out there somewhere.

Friday, April 29, 2005

Friday, Karachi

It so happens that my calendar was one day back. I thought I was going to be in Karachi on Thursday, whereas I was actually returning on Friday morning. So, I got in on Friday morning at 4:30 am. There were two or three international flights just landed and a hell of a rush at immigration counters. There is pathetically low air traffic at the Karachi airport and yet they managed to screw you at the immigration counter for 30 to 45 minutes! They must've worked very hard on that one.
I slept from 6 am to 12:30 pm and then after prayers from 3 pm to 6:30 pm. I've practically slept all day. With the confusion about the return day, there is a mess. I have to work on the INETA Pakistan projects from the coming fiscal year right now and email Goksin tonight so that he can communicate the same to INETA.
Hamza has learnt to make some meaningless noises that sound like words. His favorites are baba and abba.

Thursday, April 28, 2005


We went out of the Princess Hotel to Starbucks and did some blogging and emailing. Then at 10:30 am, we went to get me checked out of the hotel. There was an army of people checking in, so with considerable difficulty, I managed to get checked out. Me and Edgar went to the Taksim area of Istanbul by bus, which is where our conference had been hosted. We went around the streets where there was a tram operating. There were several shops.
Edgar bought some clothes for his wife. We went to Pizza Hut and got some food. We then went walking around. It was fun, I took several photographs. At 3 pm, we went back to the bus stop. We waited a long time for the bus to arrive and then at 3:30 we caught a taxi back to the hotel where someone was supposed to pick us up. Goksin sent someone up with his Ford Explorer to pick us up. He dropped us at the airport. I took some snaps along the way as well. At the airport the checking was rather strict and slow. Then there was checkin. I am having to carry the INETA MEA writing pads up to the aircraft. The lady refused to check that bag in. I checked in the other bag I had.
I'm blogging from Burger King after having checked my email again and replying to one. Our flight is at 7:20 pm, so there is about an hour to go. I have a window seat 24 K and Edgar has 11 G which appears to be aisle. I think its one of their large Boeing jets. Emirates EK 122 is taking us to Dubai. Let's see!

Last day

My flight coming back is at 7:20 pm. A car will pick us up at 4:30 pm from the hotel. Firas is leaving on Friday. He's being moved to a hotel in the Teksim area. Edgar and myself are leaving on the same flight to Dubai. Can you believe that he has to go through Dubai to Kenya?
Meanwhile, we'll take a shuttle bus to Teksim area to go sight seeing. Edgar has already checked out and his bags are at the concierge. I'll do the same in a few minutes and then go out. At the StarBucks, probably doing my last blog from Istanbul for this trip. I had hot chocolate today, instead of black coffee. Edgar had the same. I didnt quite like it that much, though. Let's see what's in Teksim. Firas was very excited about it. He's already been there.

Wednesday, April 27, 2005

Day 3, Microsoft Zirvesi

Oh my God, Top Gun is on, Turksih translation dubbing. It is near the end on the dogfight. I love this movie even though it is very old. Anyway, I'll log while I watch the movie.

What a start! We caught a cab to the conference hall. The highway was crowded, the taxi driver took the shoulder on the right handside. Before I forget to mention, the cars here are left hand driven like the USA and are driven on the right handside of the road. The driver banged into a van in front of him. He wasnt that fast and the damage was superficial. While the taxi was stopped, we waited as the meter continued to move. That was odd! Firas went out to take a look first. Then I ventured out. Edgar stayed in, which was wise. Dont step out at a strange place. You cant catch a can out on the highway anyway and there may be a law against walking or standing on the highway. Stay out of trouble. The cab driver radioed or something and another cab driver picked us up. We paid the previous one 5 liras and got in the other one. He was absolutely nuts and drove very very fast and rash and on the shoulder most of the time. In the end, he got caught in a traffic jam on narrow streets, so much for the hurry. We got in late. There werent many people in the hall where Clemens was speaking. Which was nice, we could make contact with him at a personal level, even though he is not that kind of a guy. Clemens even made a rather harsh remark during his dasblog presentation when he switched to Arabic and then going back to English, he said "so that we're not terrorists anymore." I was shocked!

Day 3, session 1, Transaction failure handling in distributed systems by Clemens Vasters

It is surprising that few developers know what they should do about failed transactions, or even whether or how we could know whether the transaction failed or succeeded.

There are two transaction strategies:

2-Phase Commit
Imperative transactions

two phase commit transactions are also called pessimistic transactions. They consist of
Begin Phase 0
Commit Phase 1
Abort Phase 2

Phase 0 is when we simulate work. Not actual work. In phase 1, we reach agreement on outcome, i.e., everyone is asked by the transaction coordinator if they can do this work. Transactions are not about getting things done fast, but getting things done accurately, even if it takes longer. Something fast but with errors is not acceptable.

Clemens Vesters
Endpoint reference
Contract reference
policy reference
location reference
instance reference

Reply Path is given to tbe service to tell it that this is the client and this is where it can give us when it has something for us.

Broker passes EP Reference to the client, and the client can connect to the ultimate service. Similar to COM Marshalling.

Process correlation: MessageID and ReplyTo. Client can correlate based on its hearders. You could use, for instance, a window handle to pass the reply to the appropriate application window, or anything else, for instance a memory reference.

Routing: Gateway wsr:via logical://addressA addressB etc. mapped to EPRs.

Question: What is the differnece between UDDI and WS-Routing

FaultTo: indicates the endpoint to send faults to
If a reply header doesnt exist, the from header can be used. FaultTo is rarely used in Fail Fast situations.

Eventing: How to subscribe to services. Event source (supports a method called Subscribe()) the service that you walk up to,

you can select what set of events you would like to subscribe to based on filter conditions, subscription manager, which may be sending the events to you instead of the event source sending them directly to the client. There is a notion of Renew(),

GetStatus(), Unsubscribe(), all based on EPRs.

WS-Addressing about 5 page standard. Interesting to read.

One way to do the two phase commit by using the [Transaction (TransactionOption.Required)] attributed with the class and [AutoComplete] attribute with the method. Alternative is:

ServiceConfig cfg = new ServiceConfig();
cfg.Transaction = TransactionOption.Required;
//do the transaction stuff
ServiceDomain.Leave(); //returns TransactionStatus which can be used to find
// the status of the transaction

This method uses transactions automatically. Use this if you are using multiple resources such as multiple databases. A user never knows whether the transaction succeeded or not. LocallyOK is a TrnasactionStatus enumeration value that means that locally, things look OK, but no knowledge of remote resources, which does not necessarily guarantee success.

The second technique is imperative transaction.

One solution to not knowing the transaction status is to become part of the transaction itslef using either EnterpriseServices or TransactionScope.

class TXResMgr
static void Run()
using (TransactionScope tsc = new TransactionScope())
Transaction tx = Transaction.Current;
tx.EnlistVolatile(/* */);

class TXAbortWorker : IEnlistmentNotification
public void Prepare(Enlistment enlistment)
public void InDoubt(Enlistment enlistment)
throw new Exception("whatever");
public void RollBack(PreparingEnslitment enlistment)
//This is where we can do some work

That was for Whidbey, but here is what we can do even today. We need to use the System.EnterpriseServices.CompensatingResourceManager namespace.
First, we code a compensator
class ESAbortWorker : Compensator
public override bool PrepareRecord (LogRecord rec)
return false;
public override bool EndPrepare()
return true;
public override bool AbortRecord(LogRecord rec)
//do our abort work here
return false;

Then we use a Clerk object inside the try block following ServiceDomain.Enter(); like this:


Transaction strategy number 2 is useful for situations such as bank transfers. Everyone falsely believes that bank transfers use the 2 phase commit, but that is wrong. Banks have something called a clearing account. Every bank has one with every other bank. Bank notification is palced inside a queue which is very veyr reliable, such as the SWIFT system in the USA. The money is debited from the first customers' account and a message is placed inside the queue. On the other side, the system takes the message out of the queue and places the amount in a clearing account. Then, the account is transferred to the destination account. In case something goes wrong, such as the account does not exist, an abort contingent compensator opens another sub transaction in which a "poison" message is placed back in the queue and the money is credited to the account from which it was about to be transferred, and some amount may be deducted from this.

Updating a database record is not a good strategy, especially in these situations. We would be much better off using an insert and having a ValidFrom and a ValidTo field, and marking the old record as invlaid. This way, we have a history. While MSMQ handles failure automatically, we must implement poison list ourselves, where we mark which messages in the queue have failed so that the same transaction does not keep getting retried over and over. Search Clemens' blog for implementation methods of poison lists.

The last session was about a marvelous and very complicated blog application called DasBlog. It is available for free download. Check it out, it is marvelous.

After that session, there was a speakers panel. We sneaked out after lunch. I got some exchange currency, Edgar bought some clothes for his wife. Firas stopped at a StarBucks nearby, but there was no WiFi there, which he learnt later on. Before the speakers panel started, there were speeches by Gurkan and Chigdem. Chigdem talked about MVP. That's about as much as I could get from the slides, everything was in Turkish. One of the slides also mentioned INETA alongwith its URL. I took a snap of that, too.
The speakers panel was nice, people asked questions, mostly in Turkish. They were giving wireless mice to everyone asking the questions. Firas got one, too. It was nice, as Steve, Clemens and Kimberly kept joking all along, too. We met Goksin after that. I made a call back home from his cell phone and he reimbursed our expenses to us and gave some cash for INETA activities and some INETA MEA writing pads. We went back straight to the hotel, dropped our stuff and got down to StarBucks to check email and stuff.

Tuesday, April 26, 2005

Day 2, Microsoft Zirvesi 2005

Day 2 of the event. We have a meeting tonight at 6 pm for INETA MEA. But first, we attend a few sessions. Goksin picks us up in his Ford Explorer. We go to the conference meeting. First up is Stephen Forte. Stephen is wild, he's crazy, he's the kind of guy you'd like to hear.
He's doing Data driven caching with data controls using Visual Studio .NET 2003 and 2005
He can be found at this page. He is with the NYC .NET Developer Group.
He has a company called Corzen Inc.
Data caching can really improve the prerformance of a web application and is a very sensible way of scaling a web application without really investing huge amounts in expensive server infrastrcture.
There are two parts to this, one, SQL Server does in-memory data caching for us, two, ASP.NET can be used to cache pages in-memory very very easily and it is highly customizable as well. So here goes.
Using a DataList, which is like a light weight DataGrid. Another thing that will be used is a DataRepeater which is something that repeats a version of HTML format on all records in your data. This is done inside a <HeaderTemplate> tag. Steve's website has several downloadable Repeater controls.

Performance tuning is a very difficult job. How do you trace what you can improve to increase performance? As already mentioned, caching can get you a lot closer a lot easier. It is the least expensive way of increasing performance. How do you use it? Very simple, use the <%@OutputCache%> directive on your page, with which you can specify the caching duration in number of seconds. There are also optional API calls that you can make. No change in code-behind files is needed. With this you could even turn off your SQL Server and the users would be able to use your web application through the cached versions.
But you'd say if it is a dynamic application in which a page is generated based on user input, it wouldnt work? Think again, there is the VaryByParam attribute that you can use to specify that different cached versions would be used based on a certain parameter, for example, which is used in certain SQL queries to fetch data and spit out HTML to the user screen. Also, VaryByHeader and another attribute can be used as well.
How about discarding the cached version when a certain resource changes? Sure you can do that. Even on filesystem objects. That is done with something called file dependency. You specify which file your application depends upon and as long as that file doesnt change, your cached page will be used. As soon as that file changes, your cached pages will be discarded. Marvelous!
This is done with a call to Response.AddFileDependency(Server.MapPath("data.xml")) as an example to watch for changes to a file called data.xml.
You can also add triggers to your database so that a certain extended stored procedure would be called when data in a table changes.
Can you cache only a portion of a page, such as when in an application only a certain portion is fixed while the rest is dynamically generated? Yes, you can, by using a user control. This is called fragmented caching.
SqlDataSource is new with Yukon and Whidbey. GridView can also be used.
can be used in web.config for this.
Scavenging is when your web server goes hunting for memory space and takes up space used for caching.

SQL Server 2005, bridging the gap between the DBA and the developer by Kimberly Tripp

I had viewed a few of her MSDN Webcasts, which is why her name sounded a bell.

ETL (Extract, Transform, Load)

SQL Computer Manager has been replaced with Configuration Manager in Yukon.

One can deploy a database project into SQL Server by using Whidbey, or compile a project to a DLL and ship it to be deployed on the server. The advantage of the former is that everything is backed up and restored during SQL Server backups and restores.
Be careful about SQL CLR, you can build user functions using SQL CLR which is running as managed code. It is a limited version of the .NET CLR, of course. However, it is not advised to develop your full applications this way. It is still better to keep the logic loosely coupled and TSQL still used. There are certain SQL data types which are different from the native .NET data types, for example String vs SqlString. SqlString keeps in mind the NULL value in concatenation. If you concatenate anything with a NULL into a SqlString, the result is NULL, which is the SQL Server behavior, whereas it woudlnt be that way if you used type String.

T-SQL Enhancements in SQL Server 2005 by Stephen Forte

SQL Server versions are codenamed after National Parks in the USA and Yukon is a National Park in Alaska.

XML is a native data type in SQL Server, which means that you can index data inside an XML column, search through it and use it as a reference into other columns or tables. There are two ways to pull XML data from a table:

select * from EmployeeTree for XML raw or select * from EmployeeTree for XML auto

auto is going to keep joins in mind.

select top 5 can be used to pull out the top 5 records froma table. Now it can use a calculated value or a value pulled from another SQL query. The same can be done with inserts, updates and deletes.

Common Table Expressions are like non-persistent views meaning they wouldnt be available to later statements. For example:

with CoolEmployees as (select * from EmployeeTree)

Where clauses can also be used here. One of the main reasons for using CTE is recursive queries.

Ranking and windowing functions. SQL Junkies website has Steve's articles on ranking functions such as this.

Part I of New features in Performance, Manageability and Recovery in SQL Server 2005 by Kimberly Tripps

Check out SqlSkills. Kimberly is back. SqlSkills has a lot of resources, do check it out.
SQL Server can be very stable and with 2005, in the event of damage to the server, you can restore it in most cases, without taking it offline, taking a single database or portions of a database offline. Of course, you can take the entire server offline if you wish, but you dont have to.

Unless your primary data file or log file gets damaged, you dont have to shutdown your server. But if either of these gets damaged, that is serious trouble that can not be restored while online. Damage to secondary data files can be sustained with online recovery.
How we use this facility is by creating separate file groups and placing different objects onto separate file groups. If you wish to put a single object over multiple file groups, you can use schemes.

Part II, not much to write down, it is about scalability in terms of having a primary and a mirror and optionally a witness, which can even be a machine running SQL Server 2005 Express (no licensing required), so that whenever the primary shuts down, the mirror takes over transparently without user interruption. Both primary and mirror can be kept in sync upto the second.

That's the end of the second day's sessions. Now we go upstairs to the INETA MEA meeting. Minutes of that meeting are available elsewhere. Then we go to Hotel Hilton, which is very close to the conference hall. All speakers are staying there.
I had a chat with one of the speakers in the hall. I forgot his name. I'll blog it later. From there we went to a certain historical tower from which the first person flew with wings. We had a multiple course dinner, I missed the count. I took photos from the top of the tower. They started by serving wine. Of course, I refused. Yikes, I started feeling uncomfortable and out of place. Everyone, even people with muslim names were dirnking. Everyone except me. Then there was some show about the Sultan coming to the stage and clapping to call two girls (properly dressed) sit on his sides and he feeds them some fruit or something from a tooth pick. Then he claps and they start dancing. I go, uh oh, let's get out of here. Then it gets worse. The ladies come down and drag a couple of ladies from the audience to the stage and those new ladies sit to the Sultan's side while the professionals dance. May I mention that the dancing girls looked very bored, obviously since they do the same stupid drill every night. So did the Sultan. Then the dancing girls ask the two guests and teach them how to dance.
After that, when I'm thinking it cant get any worse, an almost naked dancer comes on stage and does a dance. I'm like, holy shit, let's get out of here. They bring the main part of the meal, I take it, ask Edgar if he wants to come, he agrees, we tell Goksin, our host and we leave. Kimberly Tripp ceases the opportunity and escapes with us. We take a cab, drop her at the Hilton. She thanks us like a hundred times on the way for saving us from the party that was to go on further in the night for very long and the others were planning to go to a strip club, too. Puke!
What's really gross is that that almost naked dancer went to every table, every chair one after another, stood behind everyone one by one (a bit too close) and a photographer photographed. Yea, yea, I got trapped, too. I didnt even dare to move or look around. I hope they dont mail the photos to my place. I have no news of that photo and hope it gets destroyed or something.
She tries to pay the fare or split, but we refuse to accept that, we get to the hotel at 11 pm and then go to sleep. Escaped!

Monday, April 25, 2005

Developer Conference

Wonderful day in Istanbul. Attended a few developer sessions. Wonderful ones. Clemens Vesters is marvelous. Service Orientation and Indigo are topics that he covered very well.
Raphal is here, too. I have the leaders' meeting tomorrow morning. I'll blog tomorrow about today's sessions.

Day 1, Microsoft Zirvesi 2005

Here's about the sessions I attended on the first day of the event. This is very rough. It is just a sketch of my memoirs. I'll try to finish it later and improve it so that it can be useful for someone else me. Beware!

Service Orientation and interoperability
Clemens Vesters

As always, Clemens is impressive. This is a brief summary of the talk:
Many applications are silos. We write applications and frameworks because we dont trust others with our data. No super

framework exists and never will be that would work for all problems and situations. The reason is that business keeps

changing and that is because everyone wants to be wiser tomorrow than today. Silos make sense to software vendors but not to

users. For example, a medical professional at a hospital may have to enter patient data into four differnet applications.

This may seem necessary to the IT department because they bought four different applications for different purposes. But this

doesnt make sense to the user. Productivity is suffering and productivity enhancement is the software developer's job, not

the users. Information gathering is error prone and in this situation replicated information gathering is bound to cause

A CEO can request a quarterly report of how well his business is doing, but can not expet an answer if he asks this question

at any arbitrary time of year. The goal of interoperability is users talking to applications and applications talking to each

other at the same time.
Services: Services are a deployment level reuse, not just source code reuse. An application becomes unusable in a maximum of

3 to 5 years, because of all the hacks and quickfixes that we apply on it to fix problems which makes it unmaintainable. It

is easier to just throw it out the window and re-write it.
Where did the word application come from? An application of certain technology to a certain problem.
A System wires applications together.
A Service exposes functionality/capability of an application allowing programatic access. The word service has many different

meanings, which you can discover by asking different people what it means or doing a web search for it and you will find many

different definitions. A service is about evolution and coupling.
Elements of architecture:
These are all independent of each other
Edges: Everything talking to the outside world, e.g., SOAP, RPC, DCOM, RMI DCE etc.
Protocols: The rules governing the communication.
Platforms: For example, Biztalk Server, implementation languages like C#, and the runtime.
Control Flow: Request response etc.

The art of architecture is to find the right mix of the above elements. Service orientation only talks about the edges.
Every object oriented thing has three layers, the public methods, the implementation, and the other things that the

implementation talks to.
Tenets of service orientation:
PEACE(Policy-based compatibility, Explicitness of boundaries, Avoid coupling, Contract and schema Exchange.
Services control the contract, they can change and evolve. Tip: Never expose a .NET dataset as the only interface to a web

service. .NET clients would be very fast, but a Java client, for instance, would not be able to use it easily.
SOA Service:
Explicit boundaries
Contract and Schema
Autonomy is an architectural idea, autonomous computing relies on state management. Service orientation and architectre are

two different things. There is no such thing as Service Oriented Architecture. For example, you can put a web service on top

of a legacy system, exposing it as a service, but it would be a bad architecture.
Monologue: WS, WSDL are always a command-like thing. One software entity tells another what to do and it does it. It is not a

For service orientation, there is a design time contract and a runtime contract. Internal policies on two different

organizations may be different and a common ground would need to be found, for example, using Kerberos for authentication if

it is supported on both sides. The programmer does not have to worry about that. The total contract is the design-time

contract and the runtime contract.
SOAP has a header and a body. The applications deal with the SOAP body and the infrastructure deals with the SOAP header.

Contract exchange can be peer-to-peer or UDDI based (which is rare). AUtonomous services dont pass around references or

primary keys to tables so that the other side can query data on its own, but pass the actual data.
Stacking is another architectural issue, where you have a federator and several data stores, for example. The federator

contains nothing but the partitioning logic. Services can be moved around easily.

.NET vs J2EE comparison by Abdel Malek Kemmou
The comparison can be done at various level. At the language level, you can compare any .NET language with Java. The speaker

chose C#. Attributes are a way for you to evolve the language on your own. For example, you can have an attribute above a

string variable that defines that the string can only have alphabets in it and can be a minimum of 5 characters and a maximum

of 24.
Check out .NET Powered for an independent comparison between Java and C#.
As far as J2EE platform independence is concerned, there are some minor issues such as threading can not be dealt with cross

platform, because different platforms deal with threading differently. Also, rendering and event management is different. If

you are using EJBs, these are less platform independent because vendors always do extensions beyond the specifications, so it

depends on your application server etc and porting from one application server to another is not transparent. If you are

doing something like distributed transactions, you are tied with one application server.
On ASP.NET vs JSP, the idea of MVC or Model, View, Controller is there on ASP.NET as optional to some extent, with the code

behind file. The UI Process Application Block from Microsoft implements the complete MVC.

Indigo by Clemens Vesters

Channel architecture is an abstraction over all different transport protocols such as MSMQ and web services.
Service Programming Model is built over the channel architecture, which means that one consistent API whether you use

reliable messaing or whatever other mechanism.
System.Services is the namespace to use. Indigo comes with WSE 2.0. Indigo is going to make it really difficult for average

developers from making mistakes.
WSDL contains:
PortTypes, which has to do with "I need these inputs and I give these outputs"
Binding: Protocol such as SOAP
Services: Deployment thing
Binding properties: Transport, timeouts etc.

Endpoint: ABC (Address, Binding, Contract)
System.ServiceModel is the new namespace to work with.
How to work with Indigo?
Define an interface, implement it in a class such as
class Math : IMathWizard
On the interface definition use the [ServiceContract] attribute, on the methods use [OperationContract] attribute. Without

this, the method will not be exported to the outside world.

ChannelFactory generates channel/proxy

Proseware by Clemens Vasters
Proseware is another book merchant. It is different in the way it is implemented from Duwamish. It demonstrates a number of

conepts such as service orientation, web services, messaging etc. It is not a free download. It is Microsoft property and is

only given to those who attend a three day workshop designed around Proseware.
A catalog service owns the WSDL only, the inventory service implements the WSDL. Catalog and inventory services all push data

only and work better with a queue instead of request/response. Some parts of the system work request/response.

Then we attended the INETA Turkey meeting, which was mostly in the Turkish language so we couldnt do much, but we did participate here and there and gave our email addresses for a mailing list.
After that, we went to a concert nearby for the conference delegates. Microsoft gave this funny looking orange blanket type thing to the delegates as it was getting very very cold. Most songs were in Turkish or French, but some were in English, too. People smoke too much here and I cant stand that. Even in the open stadium, I was bothered and just snuck out for the maghrib prayers. After I returned, I took my sandwich, which Edgar had kept for me and the Coca Cola and we hit the road back to the hotel to surf for a while at StarBucks.
End of day.

Day 1 of the conference

Woke up this morning at 6 am and the sun was about to rise. I took a few snaps of it, but I was shooting through the room's glass window. So, it captured either two suns or the sun and the impression of the camera's lens on the window or both. Maybe tomorrow I would go to the rooftop to take that shot.
Then, I pressed my clothes to take out the wrinkles collected during the travel. Then, I copied the snaps onto the laptop, deleting them from the memory stick. Put the laptop and the DSC batteries to charging and went down for breakfast at 8:30 am. We are being served breakfast from 7:30 am to 10:30 am at a cafe downstairs. I just had some cereal and coffee. Now I have to brush my teeth before Goksin comes to pick me and Edgar up at 10 am.
The weather outside looks fine, its partly cloudy. I decided to wear my white INETA Pakistan logo shirt today. I was in two minds, thinking that I should wear the logo shirt on the day when I would make the presentation, but since I dont know when that will be, and we have a three day summit, and I have only two logo shirts, I decided, let's wear one today, and then I can ask Goksin when I am speaking and wear the other one on that day, wearing a regular shirt on the remaining day.
I can see the ocean from up here on the 17th floor, room number 1718, Princess Hotel, Maslak. I think there's a school or something opposite where we are, a couple of blocks away, since I could see quite a few people assembled at around 8 am. From this distance it wasnt easy to see whether it were kids or grown ups. I'll need my camcorder for that, so we'll see tomorrow. There's a gas station right opposite us and it is self service like the US. The traffic is left hand driven and much less rowdy yet faster than in Karachi. There is public transportation.
I wonder what's in store with just under one hour left till Goksin comes to pick us up.......
Alright, I've brushed my teeth, too. Just took a peek outside and, yes, it does look like a school of sorts as I can see kids playing soccer. I can also see at a small distance on a small peak some installation with brabed wire fencing on top of tall walls. A secure installation that also has some antennas on a very tall tower. Couldnt be a telecomm installation like an exchange because there arent that many antennae. Probably a police or some other organization's installation. Could even have something to do with public transportation. I resisted the urge to take out my camcorder for now. I'll try to put it off till tomorrow morning.
Most TV channels on the cable were in Turkish, so it was interesting to hear Sylvester Stallone speak in Turkish. Scorpion King was on in English. I liked the visual effects in that movie, it was nice to watch it again.

Sunday, April 24, 2005

Microsoft PDC 2005

Had a meeting with Mr. Vaqar Khamisani of Microsoft Pakistan in his office along with Adnan Farooq in which we talked about PDC 2005 to held in mid June. We discussed what role INETA Pakistan would play in the event and were offered one speaking slot each. We have both taken it up and are finalizing the topic of the presentation.


Enjoying wi fi in the Starbucks coffee shop. Blogging from Istanbul, Turkey. Goksin Bakir will be picking us up from the hotel at 10 am tomorrow morning. Us means myself and Edgar Okioga, from Kenya, very nice person. Had a very nice conversation with him and it enforces how much we have in common. The same sets of strengths and problems. It will be interesting to meet the rest tomorrow.
The hotel isnt the best in the whole world, but it is certainly very nice. The room is very nice and big. I have taken snapshots with my DSC and will upload them somewhere sometime soon.
Stay tuned, INETA Pakistan has arrived in Turkey!


Here I am at Dubai International Airport at 1:15 pm local time, 2:15 PST. I thought that the boarding card said 1:45 pm for the onward flight time while it was 1:45 boarding time. I rushed to the gate 21 to make it to the flight, thinking I might miss it. shush! I am sitting here waiting for the boarding to start.
The onward flight EK 121 takes me to Istanbul. The flight into Dubai was EK 601. It was a Boeing 777-300, a nice aircraft indeed. There werent many people in the plane and it was nice. The off boarding was smooth as people didnt rush it.
It will be nice ot be away from the steering wheel for a while. I dont like driving around in the rash Karachi traffic at all. But I have to do it because it is the best possible option. Better than public transportation. I went to possibly the worst possible place in Karachi to drive at, right in the heart of Saddar. If my father knew I was there driving my Nissan 92, he would probably kill me and hand my corpse on a busy intersection. He wouldnt even approve of driving a small Suzuki FX at that place, let alone the much bigger Nissan. Parking wasnt easy. And the reason I was there was to buy a digital camera. I was sure only to buy a Sony. No one does imaging like Sony does, just like no one does printing like HP.
I bought a 4.1 M Pixel digital camera. It is nice and taking nice snaps. I'll upload a few somewhere soon. Finally I have my own, something I have been wanting to have for a long time. I've also brought my Sony Handycam. I guess I have a hobby to shoot videos. I am scarce in those videos, of course, because I am behind the camera. But it comes as a hobby and I do fairly good shoots, having been doing it for quite a few years. Photography is also nice. I like doing it. I guess we'll be using this digital camera for the INETA Pakistan sessions from now on.
You set me free by Michelle Branch and Beautiful by Sarah Sadler from the soundtrack of the movie Just Married. I liked it, it is a romanitc comedy and the last shots were quite intense, I thought. Very nicely acted out and directed indeed, in my opinion. This is rough.

I think about you
and how you change everything you touch
I love you so much
you amaze me
lift me up to a higher place
put a smile on my face
you make me wanna be so beautiful
you make me wanna be
just like you
you make me wanna be
so beautiful
you make me wanna be just like you

Cant you see
there's a feeling its come over me
close my eyes
you're the only that leaves me
completely breathless
no need to wonder why
sometime you need that kiss you cant deny
I wanted to fly
so you gave me your wings
I held this breath
so I could see yea, can you set me free

there's a will
there's a way
sometimes words just cant explain
this is real
I'm afraid
I guess this time there's no hiding back
you leave me restless
you're in my heart
the only light that shines there in the dark

When I was alone
you came around when I was down
you pulled me through
and there's nothing that I wouldnt do for you

Wednesday, April 20, 2005

Got visa?

I got the visit visa stamped today for participating in the INETA Leaders' Summit in Istanbul, Turkey from April 25 till 27, 2005. My leave is approved. I'm flying out on April 24, 2005 and returning on April 28, 2005. The weather seems cool, which I like.

Tuesday, April 19, 2005

Windows CE PC

I've been wanting to do this for a long time. Here's and article that describes how to set up a dekstop as a Windows CE hardware. I might be doing this some time soon.


Last year on May 11, 2004, we bought a white Nissan 1992 from a relative of one of my school friends. It was in very good condition at that time, and the reason he was selling it was that he immediately needed the money to pay for his two sons' admission at Cadet College Peet-aro. Small kids. You'll know the reason for this spelling of Petaro very soon.
He sold the card, the payment was made, I got the keys, he got the money, he took his sons to Peet-aro and admitted them. You cant visit them quite often, but when he visited them, he found them somewhat depressed and they were asking him to take them back. He thought it must be the difficulty of adjusting to the new place without family. On subsequent visits, the insistence started to grow. Then the kids revealed why they didnt want to stay there. They told him that they were severely beaten at the college (hence my spelling for Petaro). They made some small excuses of taking the kids home for a few days and my friend reports having seen marks of beating on the kids backs even several days had past the actual beating, which should give you an indication of the severity of the beating.
That is sick! When I think about those kids, they were small kids, I couldnt even slap them! Of course, they didnt send them back. Peet-aro started missing beating them and called home threatening to cancel their admission without refunds. Rs. 0.2 million for a couple of kids physical and psychological torture? The father said, to hell with it.
Several months had passed in the school year and local schools in Karachi wouldnt give them admission. With great difficulty, he got them admitted somewhere and got private tuitions, and with a lot of hard work, the kids made up for the lost time.
Take my advice, dont send your kids to Peet-aro, and dont let anyone else do it either.

UMT news

I didnt notice, but UMT has a news about my seminar with them last year at this page

Sunday, April 17, 2005

Great Concern: My take on it

Here is my reply to the thread:

I'm sure you ladies and gentlemen's time is precious, but yet again, I am drifting into a lengthy reply. Forgive me for that.
It is indeed a great concern. I am confused with to the state that the society has gone into. I believe that Asad saheb has very rightly said that the IT industry is maturing. I have not yet met one young person or parent who is optimistic about jobs in the IT, especially software development/testing area. I am stumped as to why. People are opting for Electrical and even Mechanical or Industrial Engineering over Computer Engineering. While a lot needs to be done to correct our power generation and distribution network, I have yet to see any signs of progress in that area.
I personally evangelise heavily wherever I go that there are unfilled jobs in the industry and there is need for good skilled graduates.
On the part of NED, I am sorry to say that our recent graduates are job hopping hopelessly with very short span jobs, and some students even have aspirations of a four to six month job period before they get a student visa and go to secure their Masters degree. We can debate on that, too, endlessly, but we'd be drifting from the point here.
I believe the IT sector will need to show its presence and come out beyond the seth sahib rokra chaap stereotype through activities in which they show the society they are very much there, live and kicking. Roadshows of sorts, maybe.
University projects would have been a great idea, but I must admit myself that one was offered to me, albeit a little bit late, but I offered it to the class and no one picked it. Why an industry's real project lost its lure, is beyond my comprehension. I would think that consistent and volumenous projects with academia might attract students. For instance, publicizing some killer applications jointly being developed by an academic institute's final year students and a certain IT firm. Once again, I'm not sure how effective I can be, but for sure, it should not be limited to my institution anyway.
And, of course, to improve tunout quality, teacher's internships is another very good idea coined by PonderAlliance. The initiative again, must come from the academia with faxes being sent to IT industries seeking internship opportunities for their faculty members. While you can not do much about intake by institutions below a certain intellectual level, with the rest, a good and skillful teacher might do better than we presently are.

Great Concern Part VI

Here's another reply:

Dear PA’s members

Here I want to share my personal experience too. Right now I am working for Pakistan Software Export Board; we have a program for development of fresh IT/CS graduates known as Groom. (How much effective is it? experts like you Mr. Asad Urrehman, Mr. Saqib Ilyas, Mr. Ikram can tell very well)

Let me tell details of this program we are offering services of fresh IT/CS graduates to IT companies while government (PSEB) is liable for Stipend for a period of three months. It seems win win condition for both even for IT industry also for students (Human Resource).

But the response we are getting from Universities is very poor.

One side industry expectation is quite high they need person with expertise (practical knowledge) on the other hand the students we are getting are few with very poor hands on experience.

I would appreciate your comments in this regard to make effective this program.

Looking for your valuable comments

Zeshan Ahmad

Great Concern Part V

Here's another reply to that thread:

IT industry needs quality control for Human resource.
Every one in Pakistan is IT pro, From Matric Pass to
any level. There may be less than 1% pros who can
produce original work of softarwe development. The
market is controlled by Fluent English speaking people
and not professionals. The stunents who do persue
Degree in computer Science have very low grades in
Intermediate. How can we expect a third grader to
compete a real world of IT.

The Studnets from Engineering universities are doing
much better. Without better academics the results can
not be acheieved. The IT industry in Pakistan is bound
to collapse. The compulsory almost TIe wearing of IT
pros will not help. I am in Canada and no one is
wering ties not even in banks. We must come out of
false get ups of being a professional.


Great Concern Part IV

Dear All,
Good topic and very informative information, I am sure this will add value to the effort and will help individuals.

I agree with the analysis by all of you and want to add few observations on the scope of IT jobs.

Some months ago I came across a Network World e-news article which stated that '80 %' of Corporate America's decision making is based on information that does not reside on systems and databases!! But is located on fax machines, emails, answering machines etc..

Using my reflections from last six years in two large multinational mnc's I agree to the bold statement made above. One of the Largest mnc's in the world still have high, very high degree of 'manual perations'.
Top execs are still looking around for key decision making information which gets to them after a struggle.

That is state of affairs. IT is still in need more than what majority understands it to be. Then why this decline in IT jobs, and why this need is not creating more jobs?

In order to understand scope of IT we need to reconsider the words 'information' and 'technology'. Being able to put information in a scientific way to earn advantage in a business environment gives you an almost infinite area to play in. Its not like Finance and other 'pre' information revolution jobs.

But that power is not readily available. You have to get to it. There will always be ways in which information could be manipulated and used for better working. But finding and implementing those ways needs someone who is a 'leader' and can motivate people to move to the 'new world'.

IT is about automation, efficiencies, changing of status-quo. IT guys are silent revolutionaries of our age. They are leading the major waves of changes of our time. They, by definition, have to create their own world.

They are the ones who create the infrastructure in which the businesses find their place to live and prosper.

Even though they will reduce their own jobs in the effort of automation such as in the form of infrastructure management and outsourcing, but they 'CAN' create more jobs than they reduce.

In summary world needs real IT guys, the leaders of change, champions of knowledge based decision making, gurus with technical skills to touch the skies. Most of the IT guys lack vision and character to fight. They act like computers rather than people who can put computers to use.

So to me the great concern is the development of right IT guys and not the fear of reduction in IT jobs.


Great Concern Part III

Fallacy on behalf of recent intermediate pass out students is not their fault. Who should they refer to for their career counseling, their parents don’t know much about the industry, any industry for that matter. The parents opt to play a very safe game. “Go be a doctor or an engineer my child”. Yet again the parents are right in their own right, why experiment on their child. Why should he be the guinea pig? You must admit that still today being an engineer or a doctor is the safest bet. Another pre conceived notion that prevails is that of going for an educational degree that is “hot” these days. The very careful and up to date parents did their precious homework, consulted some relatives and friends who were working and asked “what is a better career option these days”. And even if they rightly decide the most in demand degree today is xyz, they push their child to pursue that. The child gets admission in a good school, tries to study the so called “hot career”. Here is the most severe error of judgment on behalf of the parents. What if the child is not interested in the academics he is forced to pursue? Now, how much amount of career counseling you do for that student, it really really doesn’t matter. For those students who opted for xyz degree themselves, efforts like those of this alliance is laudable, it gives them a career path within the career domain they have selected.

So now, even if you have all the road shows, all the joint IT firms & school ventures, all the awareness given to the students already pursuing the xyz degree might turn futile. For the students really into the xyz degree this is great, but I guess for concerns regarding the future intakes, steps need to be taken at college level. PA should focus their career counseling efforts in this channel. I’m sure with the type of people Ponder Alliance has, the results would start coming very soon InshaAllah.

RaFFat Raza.

Great Concern Part II

Here is a reply to that email I blogged earlier on:

I feel the IT Industry has about the same number of jobs as there were 3 years back; a good survey is neded to find the exact situation. But the IT job complexion has changed significantly.

Previously most graduates went into a software houses and did sw development.
Now most of them go into IT depts of local companies and mnc's. Package
selection and implementation is increasing as the industry matures and moves away from custom sw development.

ERP consulting, Business Analysts, IT auditors, security consultants, network gurus, Quality Appraisers, Project Managers .... these are the new IT job areas.

Business Analysts are rightly considered a focus area by Ponder Alliance. It is a critical industry reqt today .... as it was 20 years back when IBM set up the IBA CCS in 1983!

Unfortunately many of our present IT graduates lack analysis and documentation skills which are very much required for these new IT job areas.

Business domain knowledge is usually gained thru MBA, ERP knowledge thru
package certifications such as SAP Academy, Audit and security knowledge thru CISA/CISSP/CISM and various NW certifications. Quality Assurance areas are covered by ISO 9001 and CMMI courses. Finally, PMs need PMI certification to really excell in their project management.

Good academic institutions modify their syllabus on regular basis to keep themselves mkt oriented.

Academia / Industry liasion is weak mainly because there is no defined process for such activity in our academic institutions eg. what is the teacher's share in the revenues? Most IT teachers are very good in explaining things, their real job. But are usually lost when they have to prepare an agreement for a industry/institution project. Hence the teachers need to be trained too ... in industry practises and proj mgmt techniques ... before academia/industry liasion can pick up.

Sorry for a long answer

Great Concern

A little while ago on a mailing list called Ponder Alliance formed by people from the local computer software industry for improvement of software process and social work in general, there was this thread, that I wanted to share with a wider audience. Here is the original email:

Dear all group members

It is a great concern for the IT industry that in-take in the It institutes has been decreased dangerously. Due to cut in the expenditure by many organization there was a fall of job internationally and in local market. But we all know that usage of It has not been reduced. Students and their parent or advisor unable to understand that IT industry is now maturing. Students are not selecting IT filed as their career.

As Ponder Alliance has been into various institutes, it looks as if the trend continues to be same than we will not have the fresh people available for IT industry after 3 years or so.

Best Regards

Asad Ur Rehman

Wednesday, April 13, 2005

Video for Linux

Fahad and Faisal Nasim might find this useful.
Video for Linux
Video editing and capturing in Linux
eBox Video Capture
Video for Linux 2
I guess these contain enough information to find a solution from.

Tuesday, April 12, 2005


The primary partition on the hard drive of the machine in my faculty room developed some bad sectors, so Windows wouldnt boot. I have to reinstall the OS on that machine.

Sometimes not in UKP lane

A guy in a crooked chassis red Mehran, which also had a for-sale sticker on its back figured I was in the UKP lane behind a black cab, which was behind a bus, all driving on a two lane road with traffic going in both directions on the same paved road. He tried to overtake me on a 90 degree almost blind turning, with visible traffic from the opposite direction. I just moved a little closer to the cab in front of me to allow the Mehran to ram into the opposite traffic. But he just spoiled that golden opportunity to wreck his stupid vehicle by slowing down and getting behind me.
In Karachi, every vehicle is driven along the same mathematical model, and the model that is followed is that invented by motor rickshaw drivers. You know, the vehicle with the record highest number of rear view mirrors, none of which is used for any other tasks than glancing at the chic in the rear compartment. All drivers licences should immediately be cancelled.

Tuesday, April 05, 2005