Sunday, October 31, 2004

Wisdom ++ !!

This is something that I read recently and had a profound impact on me.
Must say changed my outlook about most of my professional life.
Things I Wish I Learned in Engineering School by Rick Cattell

And while we are at it , this is something I wanted to post after reading one of kousik's comments some time ago about optimisation.
This is a post I read at James Gosling's site a while ago - this has been my philosophy always : must say I err on the side of spending more time on optimisation than writing code sometimes , but that is besides the point.
What I have found is that most of the axioms - like "premature optimisation is evil" , some of the xp methologies , etc seems to be targetted at the general programmer audience.
Most of the halfway decent guys seem to be immune or above this - they have their own set of rules , which frankly are not applicable to the average programmer.

My thoughts on this subject have not yet crystalised , but the general direction is that I will have to unlearn most of these axioms to improve , since by me assuming them in the first place limits the extent to which I can improve ..... not food , but a barnful of fodder for thought this weekend !!!
Kousik's post about
Simultaneous contract signing
, writing a netbeans module are the ome of the others that are eating my head !!


Post a Comment

Links to this post:

Create a Link

<< Home

Friday, October 22, 2004


My life had been nomadic throughout - dad had a transferable job , so it was pack your bags every 2- 3 years.
Mom just loved this kind of life - she always liked the excitment of going to a new place , setting up home , exploring the places and people around , while dad enjoyed the challenge of managing a new office , learning and improving himself , meeting new people and problems - that kind of thing.
All in all , this kind of life was something they liked (unlike a lot of others having transferable jobs !)

My feelings are kindof mixed in this regard - other than the house we own at trivandrum (part of our ancestral property) , I dont really relate to any place as home.

For me it is the people who make up the place and the surrounding are just yet another attribute. So home is where my parents are : not the actual location , but their current abode.
Dunno about my sis - but rarely heard her crib ;)

I enjoyed the frequent shifts in some ways.

I am not anything close to what people would call an extrovert - I am more introvert-ish.
But I do seem to make some good friends whereever I am - so it is cool :)
And ofcourse , while at school , this gives me a chance to shift to a new school by the time teachers branded me as a troublemaker ;)

What I dont enjoy about the whole deal is the fact that I resist and resent change.
I tend to 'fit into a routine' and changes are not taken very well , I tend to lose rhythm.
Instead of a number of small incremental changes (disturbing) - I prefer a complete change and get everything reset back to square one.
Maybe this last attribute helped me deal better with the frequent transfers that dad had.

Now let me clarify - frequent transfer means I am in a place for atleast 2 years and never not more than 3.

The only place where I was for 4 years continous is REC Calicut - my engineering college.
I met a lot of 'interesting people' there - to put it mildly and made some of my best friends ever.
Needless to say , the college changed my life in more ways than one.
Still , there is no nostalgia associated with the place as such - I do remember the fun we had , the trouble we got into , the people there , but am never nostalgic about the place.
The college as such is just emotionless brick and mortar to me - I have heard other people express different sentiments in this regard.
When I went to college sometime back - I felt nothing !!!
I was actually surprised - I am in 'some ways' a bit mushy and emotional :D (NOTE : only in some ways !!)
And this was the place where I had stayed maximum amount of time continously - had some of the best moments of my life (and some of the worst troubles) and yet I felt nothing.
The place was totally alient to me - other than my teachers , everything felt cold and alien. (Hmm , some of my teachers were also cold and alien ;) )
It was like yet another set of buildings - nameless , faceless and totally cold.
I am pretty sure if I had gone there with a bunch of friends , it would have been totally different !!

Maybe I should have made the trip with Alok and Ajay this weekend ......

Ok , back to watching Animatrix - these things disturb your brain patterns people and put disturbing thoughts in your head !!!


Post a Comment

Links to this post:

Create a Link

<< Home

Tuesday, October 19, 2004

Open Source vs Closed Source

Been ages since I wrote something here - been extremely busy with bug fixing : the experiences of which I will share at a later point of time (learned some lessons there :( )

This blog is motivated by what Kousik wrote "security of open source".
Closed source vs Open source is a sensitive topic - which is better/preferable/more practical.
The views that I express here are subject to change and are my current thoughts about this topic right now - which might change when I wake up tommorrow ;)
hmm a bit late to think about it after 12+ hours of travel and another 10 hours of work without a break in between !

Jokes apart , I planned to post this in Kousik's blog and then thought the better of it.
I have ended up posting comments longer than the blog I was commenting on in the past too :D

So here goes my pov (leaning a bit towards security aspects that Kousik discusses) :

This is an age old debate - and usually I dont take sides in this : can turn into a nasty flame war in no time.

But more seriously , I dislike two main things :

a) Companies believing that their products are more secure 'cos it is closed source.
b) Companies open source their products to get others (read open source developers) to clean up their mess, implement missing features , etc.

(a) is obviously false - just 'cos you have not shared the code does not mean exploits are impractical to find/are not found !
This has been disproved time and again - as a very bad example for this , we have the huge number of M$ exploits : without the source being out.
And I must say some pretty good exploits too - like that worm which targetted lsass.exe recently , the TSR's and polymorphic virii of old ! , etc
Also , knowledge of the exploits happen late in a closed source system - when a customer notices a breakin sufficiently to raise alarm bells.
Also , as soon as a exploits gets found , the cracker tends to attack multiple targets before the exploit is noted (hmm isn't this also true for open source - but maybe to a lesser degree)
So closed source helps only if the relevent people (dev and testing) are very very competent (top notch ?!) and the company can hire some rigourous testing teams who nitpick on everything.
This is under the assumption that the relevent company can hire closed source developers more comptetent than the best from open source who might get motivated to work on this product.
The so-called "security expert consultants" might also help ;)

(b) I particularly dislike the huge amount of junk that companies nowadays open source just 'cos they are finding that maintaining and managing the code is too expensive for them - hence we have a whole load of crap getting unloaded as open source.
By itself this is harmless - but it does not stop there.
Any furthur support for customers , is in some way , expected to be rendered by open source community - the same way they support linux , debian and the rest.
And when this does not happen , these executives , customers and journalists blame this on the failure of open source movement !
Assuming that open sourcing some project xyz will immediately raise interest and get a huge bunch of people to work on it is pure fiction - only few project manage to raise a faithful dev/test/user fan following and others which are sucessful usually have few mentor companies behind to forsee the direction of the product.

From my perspective , closed source and open source are just two ways of developing software - I am not particularly fanatic about either.
I would prefer source to be open quiet strongly - but it is not a religious thing.
Given a choice where this is not much of a performance hit , I prefer the open source version.

Examples where I would prefer open source effort would be
i) critical pieces of the system - so that people would always have a choice.
OS , your primary compile/linking/loading sub-system , critical applications (productivity suites ) , etc. (what about games ?! ;) )
Basically anything that has a mass necessity so that there is no lockin's and the user always has a choice.
Another field , which I have started noticing recently , is scientific apps.
I have intereacted with a few researchers - esp from biochem , genetics , microbiology.
And they were like asking me how tough it is to develop open source tools.
Sad thing is , the only tools that are available are very expensive.
IMO , scientific progress should not be stopped due to lack of proper tools - If the relevent scientists are unable to develop required open source tools , then the open source developers should be ready to help them out.

ii) Algorithms - especially security and crypto algos.
Not really very confident about this one - but my gut feeling is , the more number of people who attack and try to find loopholes , the better - since if the algo survives a higher cross-section - the possibility of it being stronger is higher !
(Note: assuming relevent people attempt it - not any tom dick and harry with a bunch of brute force passwd/key gens - still useful , but to a much lower degree )

iii) This place for sale - I am sure there are more categories that are relevent and are smack in the domain of open source.

I tend to dislike open source in quiet a few cases.
Topping this list are clone software , projects which rip the useful parts of commercial projects , shoddy pieces of work - and yet claim to be commercial replacements (it is ok to say we are attacking same problem domain - but to say that you can replace a 500+ man hour product with a weekend hack is quiet preposterous !).
As an example , how seriously can you respect a project which aims to be a windows replacement for linux ?!!!

What I see is , for an open source proj to suceed , you require :

I) A dedicated dev team who will stick with the proj for an extended amount of time.
II) A user community - preferably large - who actually use the product.
III) Fresh requirements , frequent updates , good testers.
IV) Preferably some closed source software whom the open source guys want to beat - preferably the closed source guy being a monopoly ;) - just kidding , but some competition does no harm !
V) And something I tend to forget - a preferably liberal source code license.


Above , when I mean open source , I mean not only that the source is open , but so is the license.
One without other tends towards closed source.
All views will be preferably reviewed tommorrow - though dont count on it !
This entry has taken a semi-rambling propotions .....
All comments welcome - though please pleaseeeeeeeee - no flames :)
I will try to research on sol10 again - was so much awed by zfs , that I kept at it for an extended amount of time reading up on fs design ... now that I am done with it , onwards towards dtrace and the rest !


Post a Comment

Links to this post:

Create a Link

<< Home