...and those were the...
18 March 06 12:21 AM

Though I don't like to post something out of my way here on my blog, but following one is funny... Can't stop myself from laughing and posting the link here on my blog. Man its funny..


And those were the best day of my life!!!!!!!!!!!!!!

Postedby fahad | (Comments Off)    
22 February 06 11:53 PM

Today after such a long period of time, I just opened weblogs.com.pk and wow, its upgraded.

These days I am spending sorta not-so-technical life... resolving issues of life and trying to perform my job gracefully at office!

Anybody who can help someone [three+ years of experience with .NET] in getting job in Middle East? Just drop me a line at inbox at fahadkhalil.com.

I am struggling with my schedule and trying to maintain one, I will be back online with my blog very soon. Gotta million things to post Smile [:)]

Postedby fahad | (Comments Off)    
Filed under:
Suggestion Needed...
22 December 05 02:33 PM

I am planning to write a piece of software which will manage a car's maintenance schedule. I will be using Visual Studio 2005.

Shall I make it web based system? Or a thick client?

Just for your information, I don't have ASP .NET 2.0 hosting.

Postedby fahad | 6 Comments    
Filed under:
Lotus Notes SUCKS!
22 December 05 12:39 PM

I have just typed an email in Lotus Notes and now want to perform spell check. Since Lotus Notes is *SO* user friendly, I unable to locate whether it offers such support or not. I am trying to copy / paste the text into MS Word and I am getting following STUPID error.

"File cannot be created"

Helloo... whats going on?

Who says Lotus is good software by IBM? I guess if we consider user friendly-ness, I am sure Windows 95 is HELL better then this pathetic piece of useless software.

For more *features* of this pathetic software, check out this website.

Postedby fahad | 2 Comments    
07 December 05 07:51 PM

Yes, today I missed the road show by Microsoft. I got late and you know coz of whom? Well... nevermind...

Now coming back to the point, Mr Ayy Bee, about you saying that I always put the party thread in delay mode, I was very busy in office work. Today BD guys have given demo at TLT Thailand of the prototype and according to the latest news, they are quite impressed by the work which has been done. So more work coming up...

Annual evaluations are coming up. I will be interviewed tomorrow or might be day after tomorrow. Lets see what happens :) And now about the rest of the week, I will be working for NetSolCQ UK. They are planning to build next generation Leasing software. Great thing is that they are doing it all using .NET 2.0.

And you there Mister Ayy Bee, yes I am waiting for next year's November rain. Lets see how I will be doing by then. And about Noel's email addy, arright, I will email you personally. About the wedding, a nice lady who was part of inBanking QA team got married.

About last question, seriously *no comments*

And I think I have got 30/30 :D

Anybody heard "Streets of Love" by Rolling Stones?

Postedby fahad | 1 Comments    
Filed under:
People, winter is here :)
29 November 05 12:43 AM

I am just back from the wedding ceremony of my colleague. It was a nice and descent ceremony really enjoyed the time – I guess it was coz of the fact that my old office friends were there.

While coming back I really enjoyed really fast driving and cold wind coming inside. I really enjoyed the fast driving on almost empty roads of Lahore. Speed is addiction. While driving fast I always remember quote of my boss… Noel once said that speed is thrilling, provided it is controlled – and always remember that there is a very thin line between controlled and uncontrolled speed. Just for you info, in his youth, Noel had owned world’s fastest car :)

I simply love cold winter nights. End of November is here and still there is no rain. I am sad.

And my ending remarks - human relationships are very difficult and complex things - hardest possible thing on God's green earth to maintain.

Postedby fahad | 3 Comments    
May day May day...
26 November 05 12:05 AM
...I guess Khurram should be there... so again, delaying the coffee shop gathering plan...
Postedby fahad | 2 Comments    
VS 2005 & SQL Server 2005 in Lahore!!!!
24 November 05 10:07 PM

Great news people!

As you know that VS 2005 and Microsoft SQL Server 2005 is out of beta and ready to go. Now the people behind the TechNet & MSDN Roadshow bring the much-awaited launch to our own city - the city of Lahore!

They are coming to Lahore on Wednessday the 7th of December. For details about other cities, check out. Reserve your seat now.

Postedby fahad | 2 Comments    
Filed under:
Bloggers gathering call!
23 November 05 11:32 PM

So people, what about this Saturday the 23rd of November at 2000 Hours?

I will suggest “Bee’s Hive” near Hussain Chowk, Firdoos Market, Lahore. For directions, just drop a line at inbox@fahadkhalil.com.

Almost end of November is here and still no rain!

Postedby fahad | 5 Comments    
It's like ten thousand spoons when all you need is a knife!
22 November 05 12:32 AM

I must appreciate the post by Aziz about Oracle. I am specifically refering to ...

Now I know why oracle guys are paid more because oracle is difficult because it is difficult to do small things in oracle easily. :).

This sentence is like a whole sea placed in a little box :)

Now a days I am again messing with Oracle in .NET. I will be soon sharing another list of problems.

Today in office we had a discussion about Oracle. People who were supporting Oracle were continuously insisting about fancy words like "Oracle is enterprise level solution"... "Oracle supports grid computing".. blah blah.. Well these are fancy words for DBA's but what good they are for me? Development for Oracle in .NET is really painful. After experiencing the flexible programming model of SQL Server, its like I am back in stone age. No doubt Oracle has improved itself, but WTH it takes to implement bool data type? Can anybody give me simple reason why they are not implementing this?

Now speaking about enterprise level solutions: do you really always needs fancy features offered by Oracle? I am sure out of 100 times you only need twice or thrice. Always using Oracle and considering it the ONLY so called "Enterprise Level Solution" is childish approach.

It's like ten thousand spoons when all you need is a knife!

Postedby fahad | 1 Comments    
Responding Aziz....
20 November 05 01:12 AM

Refering to Aziz's post, I am unable to post comments on his post... I guess there is some problem with the skin he is using. Can somebody check it please?

wow... I would love to do the consultancy :)

About oracle ... well, I might have taken the pleasure of filling those blanks.. but I will just say Oracle $ucks! Now a days I am also working on an application which talks with oracle... we spend tons of time on resolving minor issues which is pure wastage of time... and these minor issues are just coz of the "short-sightness" of oracle ppl... will discuss them in details laterz... about adobe, I use fireworks.. and I think I am not good with it.. I like to use my camera instead. But still, any problem, related to camera, .NET - Oracle, fireworks, you are more then welcome to ask.. I will try my best to help you out...

Postedby fahad | 4 Comments    
Filed under:
Visual Studio 2005...
16 November 05 12:23 AM

I have just started to develop an offline project of mine using Visual Studio .NET 2005. Visual Studio 2005 rocks! I have done one week's work in a day. .NET Rulez to the Maxx!

Beside this, really enjoying days of my life - working hard in office, designing/developing a cool application - getting time to design that app carefully - really enjoying my ride now a days :D ... its fuel consumption is excellent - it did 210 km (avg speed was 110 kmph) in one cylinder on highway and just did 175 km in city.

The only problem I am having is delayed sleep phase syndrome :(

Postedby fahad | 1 Comments    
Filed under:
14 November 05 11:28 PM
Ladies and gentle, I am pleased to announce that I have finally switched to Microsoft .NET framework 2.0. Now I will be developing software using Visual Studio 2005 Professional Edition. I have got the CD from my office. I will get DVD version tomorrow which will include MSDN and I guess Visual Studio Team System.
Postedby fahad | 9 Comments    
Filed under:
Express editions...
10 November 05 11:17 PM

Yes Ayy Bee boy... I know about oracle express edition. You know Rizwan is from Oracle and today when I told him about VS express stuffy, he said yea oracle has some big plans as well... but anyway, even if oracle offers itself @ free, I will not use it :P And now about on-going discussion about certifications... I am NOT saying that all certified .NET developers are bad people... but the problem here in Pakistan is that to hide their in-competencies, they do certifications. Yesterday I was conducting interviews for a friend of mine and there were three certified developers and they were unable to explain what difference between reference types and value types is! About Universities, I don't agree with you. Good universities leave good impact on the personality of a person. I am not giving biased opinion... it is my personal experience I personally believe that if you are good and you do certification for the sake of knowledge, you become more good. I am planning to do certification for .NET 2.0, but here again I will say that I will not write the certification in my resume above my B.S. degree. I got B.S. degree after four years.. it contains blood, sweet and tears... What I am is only because of that degree. In my university I have learnt how to learn and I am proud to talk about this fact.

About bheegi bheegi yaadian... none :P Just want to drive on highway with slow rain and Sarah McLachlan's Angel in background...

there's always one reason
to feel not good enough
and it's hard at the end of the day
I need some distraction
so tired of the straight line
and everywhere you turn
there's vultures and thieves at your back
and the storm keeps on twisting
you keep on building the lie
that you make up for all that you lack
it don't make no difference
escaping one last time
it's easier to believe in this sweet madness oh
this glorious sadness that brings me to my knees

Postedby fahad | 1 Comments    
Filed under:
Business Entities ... old story but new colors!
10 November 05 11:15 PM
In this new project of mine, we are making sure that application architecture is very mature and has a very solid base.

Beside other problems, like always we had an debate during the process of finalizing how we will model our entities. One thing was obvious that we will be using DataSet. First debatable issue was the usage of typed dataset vs. un-typed. I am in favor of using typed dataset as they facilitate the process of development and assist in avoiding data type mismatch, which is very common issue in case of un-typed datasets. You have to perform type checks in business tier before sending data to persistence tier. And hence code size increases. If you do not perform these checks, you get exceptions from persistence tier. If you are using transactions, these exceptions are very expensive coz at least I do not tolerate the fact that your are rolling back your transaction because instead of sending integer, you are sending a string by mistake. Beside this, all schema is ready made, you don't need to call the persistence tier with -1 to have the schema made in the dataset. Anyway, the top argument given against usage of typed dataset was that what if schema is changed? And if application is deployed on different machines, we gotta update the entity model every where. The answer is simple. We are porting an existing application which has been deployed in many countries and is happily serving many clients. We do not expect data model change. And if there is any, then updating a single assemble across three or four machines is not a big issue. Second object was that since typed dataset is "typed", it decreases the abstraction level between different tiers. My reaction on this argument was "Doughhhhh!!!". What is abstraction? Abstraction is hiding internal details, NOT an interface. Un-typed datasets are dirty in a way that if you change your database schema, they are automatically updated (so far so good) but what about the client of that business tier? You are changing the contract schema of data exchange with out notifying? You can update the client code based upon the change but what if you forget to change somewhere deep inside your code? Your compiler will happily compile your code. No major break down. This type of "Abstraction" is gonna kick you when you are least expecting. On the other hand, if you are using typed dataset, they will instantly break the contract and your business client will refuse to compile. I think this is good thing. Abstraction works well in case of interfaces and remote calls. You "abstract" your implementation but not that "contract". Abstracting your implementation helps you in changing the other side without breaking your business clients. Like there is a function called "bool ProcessCreditCard()", you are currently writing logic to work with LinkPoint. But in future, without breaking your clients, you can change the provider (provided that interface remains same). But what if you think about returning "Approval Code" instead of "bool"? This is breaking down the contract. You gotta update your clients now. Abstracting this change is NOT recommended.

Anyway, after that there was another issue. People were thinking that Typed datasets will act as entities. Then there occurred a problem... consider a scenario, a Quotation contains Applicant, Applicant information, Vehicle and Vehicle information. Similarly a Proposal contains Applicant, Applicant information, Vehicle and Vehicle information. Now question from the guy responsible for generating entities was that where should he place Applicant information? In Quotation or Vehicle XSD? Long story short, after discuss we agreed that we will define XSDs based upon subject areas. They will just be containers of data - not entities. We will model our entities like...

Quotation <Entity Object>
     - contains DataTable <of type Applicant> called Applicant
     - contains DataTable <of type Vehicle> called Vehicle
     - Expose DataRow <of type Quotation> called Quotation [or optionally will build set of attributes (in form of properties) around this single row]

     - A Method <Insert> ... will declare a DataSet, put all the tables in this entity into it and will pass to persistence to persist changes.
     - ....

If I need to to reuse Quotation some where, instead of defining Quotation information all over again, either I will inherit from this class or will Compose an object.

Now some words about insert method, our persistence tier contains one-one mapping against our database. One data access component against one table. We pass the dataset to the parent persistence object and after inserting itself, it passes the dataset to its junior. So in one call we persist all the changes.

Bottom line is, we are using kind of hybrid approach. Our entities are two faced. They have got kind-of OOP face for presentation tier (and others as well) and got dataset face for persistence.

Any comments / suggestions?

Postedby fahad | 5 Comments    
Filed under:
More Posts Next page »