About being Kewl, Cuil, and k00L…

After all the hype about cuil, I checked it out (a little late, because I wanted the glitter it came in to settle down). I wondered what Tom Costello and Anna Paterson (ex-Googlians - At Google she was the architect of Google’s large search index TeraGoogle which launched in early 2006. Besides serving architecture she was the technical lead for one of the two Web ranking groups at Google, in charge of GoogleBase and the manager for a core piece of Google’s ads-matching technology. - from WIKIPEDIA) would come up with. Naturally like any blogger and google enthusiast, I would like to see how that search engine would benefit my blog. So I went and searched the typical high ranking terms on google that link to me. Here we go!

“Welcome to Cuil—the world’s biggest search engine. The Internet has grown. We think it’s time search did too.”

Cuil search for "fedora vmware shared folder"

Cuil search for "fedora vmware shared folder" - 16 results total, "but i will show you only two so that its easy for you to decide which one gets the random click (since none of them has anything to do with what you searched anyway :))"

Another "IMBA" search result at cuil

Another “IMBA” search result at cuil - slightly more results this time for “animorphosis (google results)” - this has nothing to do with my blog, just searched for the depth of the index. See for yourself :) 417 results, hardly any relavence.

High rank results

High rank results for "sdl visual studio 2003", 185 results .... hardly anything relavent. See below for google results.

So, yes! phew! Gosh! … thats a terrific experience. They do one thing good. Narrow the options for you. I mean who needs “googlian” results to choose from, and then sometimes its good not to show proper results … people hardly read books anymore. What has Cuil got to say about it? Here what:

The Internet has grown exponentially in the last fifteen years but search engines have not kept up—until now. Cuil searches more pages on the Web than anyone else—three times as many as Google and ten times as many as Microsoft.

Like hell :). That was Cuil for you.

Now what k00L is searchMe. With their on-going research on ontology and fasionable (visual) results (stacks and all), they have managed to impress me a lot more than Cuil could and obviously less than google did( for relavance reasons i.e.). Ontology is something i think Google misses right now and the future of search will have ontology as a quintessential part of it. Here is a quickie with search me:

visual search and ontology

visual search and ontology - same search query as I did with Cuil

A lot of people find searchme cumbersome, if not useless at first. This is largely because we, right now, are not used to this. When you first type a word on searchMe, it instantly returns categories. For me that is a massive advantage and lowers my search time, something google might have planned with “Im feeling lucky” but did not fly as such (unless you know what you are searching). For example, techCrunch’s analysis of Cuil vs Google mentioned searching “apple” and neither returned the fruit but if you try it on searchMe, you can instantly narrow it down to your required category (software, hardware, plant…what not!). It redefines the search for us. I term it Kool! (pun intended ofcourse!).

Now for those who think I am biased with google and searchMe and still think Cuil is flying, here are some results from Google (yes, shameless-self-praise-whatever!)

"fedora vmware shared folder"

"fedora vmware shared folder"

"sdl visual studio 2003"

"sdl visual studio 2003"

Now thats plain and simple, “cool” :)

Dual Screen Setup for Visual Studio 2008

my dual screen setup

my dual screen setup

After getting totally unable to live without multiple monitors due to multiple reasons [coolness, openess, manageability, productivity] and requirements, last month I ordered a pair of 19″ Widescreen Philips 190SW LCD for my office workstation (see image). Since most of my time is spent inside Visual Studio, i found it compelling to Google dual screen setups for visual studio as a developer and designer. Though i did not get much from it, I landed on Sara ford’s post about multi-monitor support in visual studio. Though the post itself does not provide as much information, the comments are quite helpful and show how everyone has his/her own taste of setting up the new enviornment.

FIrst of, we need a good software to deal with multiple monitors. Windows XP per se does not provide much functionality for it. I downloaded the trial version of UltraMon. UltraMon basically lets you use two seperate taskbars, display different wallpaper on each monitor and so on. It even lets you maintain seperate list of opened windows in each taskbar, something the regular windows taskbar does not allow.

Next I experimented with some setups for visual studio with multiple monitors. Some of them were a reflection of changes suggested in the comments of sara ford’s post. Here is the setup snaps for my workstation at office. Not the best, it is quite optimal for now. For advanced setups it would obviously needs tweaking. For example you would like to see threads panel in debug view, but since i dont need it I didnt keep it.

The Code View:

Code View

Code View

As you can see, i keep a solution explorer, toolbox (as a clipboard for snippets) and properties / class view on the secondary monitor. I use Class View to quickly search anything (this is a handy and under-rated tool - quite useful when you have 20+ projects in a solution)

The Debug View:

Debug View

Debug View

The debug view, again, is fairly simple and i keep the most used windows on  the secondary monitor.

The Design View:

design view

design view

The design view is arguable. I think the toolbox can even go on the left of primary monitor, but then again depends on the type of form you are designing.

So, what are your multi-monitor setups for Visual Studio Development Enviornmnet. What about general working enviornment?

Categories, Tags or the hybrid approach

Developing software is not the same as it used to be. With new paradigms, techniques and tools comming up its hard to choose the best methodology and the best tool to deliver quality products. Hence my delimma of organizing data. Would you rather categorize it (as it used to be) or tag it? There has been a lot of discussion on categories vs tags on blogs and forums lately. Had tags not been used/invented i wouldnt been writing this post or getting all confused on what to use.

So here is the scenario. You have a finances management software/tool where you write down your daily expenses etc. Just filing expenses in a software doesn’t do much good (at least not so much as to motivate me to make an exclusive custom software for it - in which case Microsoft’s Excel suffices). So, one of the major goals of this kind of tool is organization of your expenses. This is a narrow goal though. An even broader goal is planning and reporting. So we come to the part where organization is crucial. One way to organize you expenses is by making categories and n-level subcategories. Another is by tags. We discuss both, and see which one is better.

In strictly categories based approach we make categories and sub-categories. For example top level categories might be {house, car, loans, personal, kids, pets, traveling, communication}. Then you can have sub categories for each category. Say for example you can have {utility bills, groceries, maintainance, renovations, miscellaneous} for the “house” category. You can then have sub categories within these categories and so on (electric bills, phone bills, gas bills and what not!). This is the traditional approach to organizing such data. These categories need to be set before hand so that when entering new data you can choose the appropriate category. But what if you have a list of expenses on a paper and you just want to quickly add data? You do not have any predefined categories. So you add a on-the-go “add new category” feature. First you navigate to the appropriate parent category and then add the sub category inside it. From that organization point of view, thats fine. From the usability point of view, that sucks!. (imagine if you have all random data on little slips of paper that you want to enter in your software) Yes, you can say in a while we’ll have enough categories that we wouldn’t have to keep adding categories and come to a stable category list. Again, that sucks! Why? Well in the above example we have 6 top level categories and say, at the least 5 sub-categories to each, and then 3 more to each. so we end up with 6×5x3 categories. (okay maybe not that much, but it would be a fairly big figure). We cant really show all the categories in one screen to the user. So maybe a tree view would be the most useful way to represent this kind of categorized data. But again, having four levels of categories will require atleast 4 clicks. (if we restrict the user to adding to only the leaf categories, i.e. you cant add an expense to just “car”, you gotta tell what kinda “car” expense it is) then its really a pain and imagine how long it would take to add expenses, eventually driving the user away from the software (at least in the initial phases - and know that the real reporting/planning phase has not yet arrived. We’re talking about non-tech savvy people and regular pc users - not highend data entry people).

So now there is this concept of tags. Tags are words that describes the data. A datum can have multiple tags associated with it which act as a meta for the datum. For example, i have a picture. It’s of my friends, at KFC in Islamabad. Its a birthday party picture. Its in the evening. So “friends” “kfc” “Islamabad” “birthday party” “evening” are all tags for this picture. There can be other pictures at other KFCs around the country. There can be other pictures of Islamabad. There can be loads of pictures of birthday parties. The point is, we’re just defining the context on the go for this picture. There are no predefined categories or folders to put this picture in. I don’t want to make 5 categories and put this picture in all 5 categories. And if i realize its not Islamabad KFC its Karachi kfc then i have to go to Islamabad category and remove it from there and make a new Karachi category and so on. So when searching though these images ill have a lot more freedom since ill just have to search for specific tags with each image. (by the way this is how search engines organize information from around the world wide web and when you fire up a search it goes through the tags and shows the appropriate matching results. Not that simple, but thats the 30,000ft view of it). So benefits of tagging are maintainance, easier and more precise searches, no more redundant categories (if you go back and see the categories examples, we had maintainance category in house. It can so easily be in Car or any other category as well at any level, hence a redundant category even though the context is different). But what about usability? First we had to do clicks, now we have to type! (well not really, we can just click at the already defined tag). We’ve removed the hierarchical structure so that cuts down some milliseconds. We’ve removed redundant categories so we’ve managed to save some room. We’re making tags on-the-go so no pre-funtime grumbling. We can show a real time tag cloud (like the ones you can see in flickr or wordpress). We can, if we like see a real-time hierarchical structure of our expenses. (pick one tag and it will create that as a root and will show other sub tags etc. That would look really cool by-the-way its on my “must have” features). Some might say that as out database increases so would increase the time to get real-time clouds and categories but i guess that can be sorted out and we don’t really have to search all information for tags. (some have ranted about how slow tag clouds can perform on the web etc. ) And finally we also get a better visualization domain for our data. We can pick maintainance and see how much we’re spending on maintainance generally. (this will include car maintainance, house maintainance etc). Yes could have been done with categories but with tags we have a more logical structure for indexing and we dont have to search through categories and n-level deep sub categories to find “maintainace” category and then again go back up the list to see where it actually belonged and so on. (i hope im not being biased towards tags here).

So, so far tags look much useful than categories. I thinks its basically a matter of freedom. Do you want to restrict the user to certain categories? Are you giving any freedom? Sites like deviant art are strictly categories based and do not have much freedom. Not that its bad. They cant afford to. Everyone has his way of defining his art. but art has certain fixed categories. Even though there are a million painters the paint with mostly the usual tools and materials for example “oil” “water colors” “pastels” etc. Maybe they scale up to 100 but thats it. The domain of art is finite. (as in, the categories). Similarly the domain of music is finite. Yes, new genres are added every now and then but its not that dynamic. This lack of freedom is also because deviant art needs moderation. Moderation in terms of categorization. Categorization brings quality of art available at the site and people can search their favourite art genre. (maybe if they add a tagging system above this categorization system then it can be even cooler).

In our problem domain, we do not have this kind of restriction. A narrow minded look might say that okay at the most only these 6 major categories can exist for a person. Lets take that as a valid argument. But what about sub-categories? How deep will you define the categories? Maybe this guy who’s the guy-of-the-house is just managing some homely finances. There is another guy who manages his football team’s finances. None of them need each other’s categories. and its not a public service anyway. (we’re talking about personal finances and only you can define and choose where you throw your money away :p) So categories are not that useful here. Tags are the way. If the software requirements specify that categories need to be heirarical, we can use our tags to create trees of heirarchy. If it requires strict heirarchy then we’ll have to stick with on-the-go definition of categories. I’m still thinking new ways to deal with this problem.
Have your say about the issue of tags vs categories. What do you propose for a personal expenses management software/service? We’ll have a look at the n-dimensional hierarchal views of tagged data as soon as i get time to work on it.

Shameless advertisment …

I happened to come across this very neat add-on for firefox 3. There you go to all the Firefox-Gmail lovers :)

Click here to view home page of Better Gmail 2.

How to add your Shared Items from Google Reader on WordPress sidebar

EDIT:Video on youtube, enjoy :)

Click here to watch how to add Google Shared Items feed as a RSS widget in WordPress. Requires silverlight.

The video is made using Cacatoo : a screen shot and screen cast software in making. Too early to review Cacatoo since its in alpha, but I’ll keep the readers updated :)

The purpose ofcourse is not cacatoo but how to add google shared items feed on wordpress as an RSS widget like the one you see on the right of my blog. Its pretty simple and google reader makes it even easier to share your daily feeds by “starring” and “sharing” them. Reader is one of the coolest products at google anyway :)

Animoto.com Review

live from animoto :)
Animoto is a rapidly growing AWS [EC2 - S3 - SQS] based online application that lets you create stunning videos from pictures and a sound track. Though kind of slow, the growth has been extremely rapid. The business model sounds amazing as well and as far as i can see they know it :)

Click here to view my test video starring me, myself and zaki :p

Amazon is doing a really amazing job at leading the cloud computing niche with AWS, something google probabably is a little lagging at (publicly, not technically ofcourse). My bet for future giants is google, amazon, apple, adobe … [microsoft, for its sheer size maybe]. What do you think?

Late Night Bloggin’: Windows Live Mail vs GMail Part 1

I have been planning to write about this topic for a while now but couldnt get time to research and write. Anyways, i still dont have time and havnt researched a lot but from a lay man’s point of view (and from the point of view of a designer/developer that i am) let me compare the two (dominant) email services for the next few days.

I do not want to go into the history and background of the services. There is plenty of information about that available elsewhere. It is just “a google” away. I shall be focusing on the following major points keeping my post short and precise:

a) Graphical User Interface
b) Useability
c) Features
d) Spam Filtering
e) Anything else i can think of … and conclusion

This, by no means, is meant to discourage or create a bias about the two companies involved. (Microsoft and Google) and this is not a “Microsoft vs Google” post. Both are great companies which provide good set of services.

The following snapshot shows a regular Windows Live Mail graphical user interface.

Windows Live mail design

The following snapshot shows a regular GMail graphical User interface.

GMail User interface

and now the comparison image of both together:

Comparison

At first look, the live mail interface is more shiny and eye-candy than the plain Gmail one. But in my opinion its one of those designs that use the web-browser real-estate rather lavishly not thinking a bit about the user and content and how to connect the two. Concentrate on the top banner of “Windows Live”. I dont see a reason why that should be there in the first place, and so big when theres another heading with an image already saying “Windows Live Hotmail”. The big banner on top is taking well around 20% of the space. Useless! Its probably reserved for advertisments, but then look at the bottom left corner that has a little advertisment there. Now the game is to stuff as much advertisment on the main page as possible. (regardless of wether the user wants to see them or not) This includes two essential type of advertisments. One is Microsoft advertisment and other is the “other” advertisment. Looking at the Gmail interface, we hardly see any space for advertisment. And how is that you wonder? (and knowing that gmail is coming from a company that generates a tsunami of money every second from advertisments). We’ll see how that works in a bit.

Second thing to notice in the two designs is the apparent presentation of information. Windows live mail provides a draggable divider between the mail listing and the actual mail content area. (center pane). Gmail does not provide such a facility. Why? Again, according to me (before you say sayz whu?) Live Mail is desperate to provide functionality and content at the same time and shamelessly failing at both! True you can see your mails and “the mail” content at the same window yet the lack of browser real-estate really “makes” the user grab that divider and move it all over the place just to see the actual mail or the list of mails. I personally have to move it up and down all the time. In comparison, if you look at how Gmail works, they show the mail-listing at the front page. Gmail people know that they have AJAX power at their disposal, so clicking on a mail to view its content and coming back to the mail listing is not a “big” trip. After all you will be viewing one page at a time (either reading a mail or organizing mails) and using AJAX thou shalt not have to refresht!. This very point Live Mail failed to understand creating a desperate use of technology.

Third point in the user interface is the left pane on both the services. In windows Live mail, it shows the list of folders i have followed by 4 services they offer followed by an advertisement followed by yet another service followed by privacy statement. (I shall mention the bugs in the folder view of live mail some time as well). Again we see a desperate move to stuff things for the sake of it. Gmail left pane includes folders, quick contacts for quick chat followed by “invite to gmail” box. This is far more cleaner than Live mail. So where does Live mail lack?

Windows Live (or msn) for that matter provides a set of services. All these services are co-related to some extent and require the same passport to sign in/up. Traditionally, the service for calander has been a part of the “hotmail” service. So was the “today” service that showed usual news and happenings. (which is useless in its own original way) Google also provides a set of services which are corelated to some extent or the other and require a single login scheme. The difference is the atomization of services. Do one thing at a time and do that good! The Google calander service is an entirely different service, so is google news, google docs and spreadsheets, google notes etc. All of them are(and i hope eventually will be ) integrated with the mail yet they have their own teams and spaces. (They are autonomous as well). Thats why, if you compare the two services through these two snapshots of their pages, GMail wins by showing up 5 + many many more services on this single page than Windows Live does. (Look at the very top of Gmail). A sheer flawed design on the part of windows live mail. Not only that, it shamelessly shows the desperation windows live mail team had at the 11th hours to show off other services in windows live mail and still failing badly. Information availability is the key! (dont expect them to use your services when you never told them about it). I dont think anyone using only mail will ever know what other services Windows Live is offering.

Looking for search, you can see a blind text box in the middle of the top pane in windows live mail. The two buttons next to it say “Mail” and “Web”. How ingenious? Another useability blunder. It is assumed by the live mail team that a text box (or a white box, for that matter) is a place to enter text. Any button, what so ever written on it, is meant to say “click me to search!”. Do we see the word “search” on the whole page? Pathetic! Did google not make it sure to everyone that information availability and search are going to be for future of web what operating systems is for software now a days? (or are we already in the future?). Look at Gmail on the other hand. No fancy CSS just plain usual text box and buttons that look like usual buttons. They even say “Search Mail” and “Search the web”. Not just that, it provides more search options! Brilliant! (Did you notice the contact search facility on the left on the gmail page? we’d talk about more features later).

Thats enough for today I guess. In the next post I shall discuss features of the two mail system. Feel free to post your own opinions about this topic.

Uraan vs Bentley ..?

I worked at Uraan Software Solutions in summer of 2006 as a Business analyst. Two days ago, CEO Uraan, Ali Naqi asked on my post on working at bentley about the comparison of expereince in working at the two companies. Specifically he asked:

How was working at Bentley different from working at Uraan? How do the two companies compare in:
a. Size
b. Teams
c. Hierarchy
d. Nature of projects
e. Project processes

Firstly, my experience with both has been inspiring and exciting. Uraan, being a not-so-infant-but-still-small-young-and-energetic-company was great to work at for mostly different reasons than at Bentley. I’d go point wise and then summerize.

Comparison by size and enviornment:

At the time i was at Uraan, fortunately or unfortunately uraan was going through renovations. Most of my time spent was at the ad-hoc office. I say it was a fortunate event because that brought me closer to rest of the employees as we were all sitting closer and were more accessible to each other. (I mean, in how many companies do you have your team leads, project managers, director and CEO sitting in the line of sight). Anyways, i say it was unfortunate because it was not really very pleasant. (wasnt unpleasant either, it was just something that had to be like that). There were about 25 people back then at Uraan and I got to know almost all of  them.

Bentley, on the other side is big. (I have a complete 6×6 cabin all to myself!). The office is situated at the Evacuee Trust building and they have divided it in two divisions. The testing division is on the second floor and the development division is on the third floor. (Trango is on second floor as well with the testing department). Nonetheless, people are accessible but not as much as in uraan.  I dont even know the exact figure, but the bentley office at islamabad has around 80+ employees. My introduction to a lot of them was because i come from the same institute as they came from: FAST. Yes, there are a lot of FAST graduates working at bentley. They are smart, helpful and fun to be with. So i didnt really have much problem settling in. But otherwise, there werent that many people i was interacting with. (Just the team lead Yasir-bin-qaser who happens to be a fast graduate as well, Group program manager Ather Nawaz and my neighbours:))

So overall id say the enviornment at Uraan that i experienced was much tighter than at Bentley. Bentley islamabad was originally Trivor Software Consultants. The CEO of Trivor is still working at this office, but i havnt had time to meet him yet. I got to know people at Uraan quicker than at bentley. The atmosphere and attitude of people is pretty much the same at both companies. People are generally nice and helpful. They are passionate about their work, company and technologies they are working in. One very important thing, its all about food! You get to interact with people more at lunches than on meetings. :) thats my experience. For a while food at Uraan was free and everyone ate together. (till they started the renovations and we had to shift to an ad-hoc office). A lof of different topics were discussed, not neccessarily technology oriented and that showed how versatile people at Uraan are. Same goes for Bentley. Bentley has a great breakroom and food/snacks etc are nice and free. People like to eat together and that brings a lot of interaction.

(One thing id like to mention here is that even if I try not to, Id still have some kind of bias towards the  fact that I personally knew the CEO of Uraan:))

Comparison By teams and nature of projects:

This one is really difficult to answer. I didnt really have an indepth knowledge of all the teams and projects at Uraan and its even more vague for Bentley. Bentley Islamabad is working on products of Bentley (Since it has been an offshore development and testing office for Bentley). Uraan on the other hand is more project based. Bentley works on enginnering and CAD/CAM products where as the project base of Uraan is more towards b2b or b2c web-based application and a collaboration application. As ive said before, bentley is large so it has many different teams working on different products. Some products are very mature and complex and a lot of employees are from differnt disciplines of engineering (mechanical, civil, electrical etc).

I’d write about the comparison in processes if the nature of work was the same. So I’m with the point of view that its basically uncompariable. Uraan is autonomous, Bentley islamabad is not. Bentley is head-quatered at Walnut Creek. There are regular online meetings/conferences between the two offices at Bentley. The whole eco-system is different because of the nature of projects. For example, the product my team is working on is Bentley PlantSpace Design Series. Design Series is a sub-module of PlantSpace, which itself is built upon Microstation and has many other modules as well. Design-series itself includes many modules where are developed using MDL (Microstation development language) which is based on ANSI-C and has its own compiler/debugger. (which itself is properietry to Bentley). This puts me, as a developer on one of the features of a module in DesignSeries, very deep in the heirarchy of the people working on the product. The codebase is HUGE. The other product i touched at Bentley was Bentley Instrumentation and wiring. It was mostly written in Visual Basic 6 and has a lot to do with data management. The codebase again was huge and i was put only to document and understand certain modules.

At Uraan i was working on, for example, Artbox.com’s marketting flow. I was in contact with the clients, my team lead Faraz and Project Manager Ali himself. That was all there was to Artbox’s development at that stage which later included graphic designer, php developers etc. With lawresourceexchange.com’s design, i was intacting with my project manager and team lead Ahsan and  through him the client himself. So its really pretty difficult to compare the processes of the two enviornments.

If i compare the application development at Uraan with application development at bentley, from the birds eye view i see them pretty comparable, even similar. But these processes, i suppose, are followed by an application development team sooner or later anyway. The only difference is the scale of projects and the tools used, which pretty much do the same thing anyway.

Conclusion:

As i said before, the experience at both the companies has been inspiring and exiciting for different reasons. The different reasons are because of different nature of work. Uraan gave me an oppertunity to look into the processes involved in developing web-based business applications and direct interaction with client. The whole iterative process itself offered a lot to learn about the enviornment and the process. However at bentley, being a hardcore developer gave me an entirely different set of problems and processes. The problems are mostly logic and implementation related. Having to deal with a huge microstation API and getting settled with their tools quickly wa an initial challenge. Then finding the right optimal solutions gave some proper exercise to my brain cells :) And then again, working on such a project where i can improvise and develop my problem solving skills is what i was looking for this summer. The algorithms, data structures and other issues involved have been really exciting. Ill conclude that there really is not much to look into the comparison of these two companies. As long as they have smart, passionate and intresting people with well defined processes, they are great to work at and I see a lot of potential in them.

Late Night Bloggin’: Bentley and the ‘double’ trouble quiz

Working at Bentley has been a great experience for me. Partly because of the great enviornment but mostly because of the problems I faced during coding one of the new features in the Microstation PlantSpace Designer Series. The problems ranged from  creating quick documentation solution to document lots of vb6 codebase in python to dealing with a massive Microstation API to solving a series of problems that required inventing new data-structures, dealing with graphs and adjacency lists and developing algorithms to traverse the graph in a specific manner which wernt supported in the API. (i shall be writing about them soon).

Since i was dealing with 3d elements, handling points in 3d space was unavoidable. Engineering applications (such as the CAD/CAM category, in which PSDS lies as well) are designed to cater a divesture of standards in terms of metrics used. In the core of the software though a uniform format is used to represent values. For example a point in 3d space can be represented in many differnet formats (inches, feet, fractions etc). The format used to represent the same point in the underlying software architecture in PSDS is usually a ‘double’ (since we’re working in C - or a subset of C called MDL: microstation developer language, and yes i was creating my own adjacency lists in C and traversing them recursively). So basically the x,y and z coordinates of the point are representated as a structure of 3 doubles.

One way to compare two points (and well the most obvious way) is to calculate the distance between the two points using the distance formula. Thats all well and solved and thats not the quiz. The quiz is, given two double values, how do you compare the two to N decimal places? In other words how would you compare two points to see if they are “close enough”. (and that can be anything from being equal to 5 decimal places or being absolutely equal).

quiz #4: My Contextual Switch!

Here’s really deep down dirty one. Even i havnt been able to answer this one as such, but nonetheless here it goes. (I’m taking up the responsibility of being the Teacher Assistant for the operating systems course for a telecommunications batch, i shall try to answer this completely in a short while. Have your shot! )

How do you go about calculating the time it takes to context switch in a unix enviornment?

I read this question somewhere as a question asked in a google interview. Its really intresting and requires a deep knowledge and concept of the core system. (or so i guess?)