Thursday, May 31, 2007

Technical interviewing

Here are a couple of mental exercises which I usually dislike doing. I hope you dislike these too :)

Part 1:
  1. Come up with all the work related tasks that you have to do in a usual week at work.
  2. What contributes to your bottlenecks?
  3. What skills would be useful to have for someone to do your job?
Part 2:
  1. Come up with the list of questions that are usually asked for a person interviewing for your job.
  2. Think of the number of times the "skills" tested for in above are useful on the job in the last 6 months.
How related are part 1 and part 2?

Friday, May 18, 2007

Grokking homeopathy

It is very common in India (probably elsewhere too) for any random person to read up some books and start prescribing for family and friends. This causes quite a few a misconceptions:
  1. It does not work or works very slowly.
  2. It has to cause an aggravation before you get cured (belief held by most doctors with homeopathic medical degrees too - great commentary on state of education, just like in most other fields).
  3. Taking random medicines is harmless to the cure.
Recently Dr Luc has started blogging about homeopathy for the public. It is worth reading through the blog to get an understanding of this cool healing modality and to know if you are really talking to a competent homeopath (see choosing a homeopath).

blog url: http://drluc.blogspot.com/
website: http://www.drluc.com/

Thursday, May 03, 2007

XmlSerializer wierdness

Using XmlSerializer for transport purposes is in general a bad idea. "Ahead of the curve" teams in the industry who believe in using every new thing that comes out usually get caught in these landmines :).

There are a few reasons for this
  1. You need to expose every field that you want serialized as a public property/field. What a joy to that your object model does not hide anything ;)
  2. XmlSerializer does not work for Dictionaries (who would have a dictionary in their api?)
  3. XmlSerializer does not work for List of lists and some such (rare, but u will sometimes run into this landmine if you try to solve 2 creatively).
  4. You can leak a few dlls (and due to way windows virtual memory works, you will lose atleast 64k of virtual space for every dll) on every serialization attempt if you are not careful (blogged about his before)
  5. Many useful framework classes are not xml serializable (e.g. Regex)
Now that we are fairly convinced that it is a bad idea to use xml serializer for transport, we will decide that it is the right choice for configuration files... more about this in future blogs :)

BTW, the DataContractSerializer with dotnet 3.0 solves all these problems and it is an infinitely better beast.