Wednesday, May 19, 2004

James Gosling

James Gosling has come to India and as part of his trip , we had an "all-hands" with him.
This would probably the second all hands that I have attended in my 3 year career at Sun.
The first one being the first all hands after I joined Sun - after that first one I realised the futility of attending anymore of them - until today :)

After a very mediocre and screwed up intro of James Gosling by our site-director , the fun began when James took the centre stage.
His initial short intro talk about java in particular and computing in general was "nice".
Then the Q&A session began.
What I liked was that , of the many stupid questions raised , his responses went beyond the question and tried to make the session interesting and informative - and it sure was !

I cannot really say that it was an illuminating experience and I am really not enthu and fired up after the all hands but the feeling is more like after "having a satisfying talk with friends and people you respect while sipping tea in a warm afternoon" :)

It was more like an informal non-technical talk (well not much technical other than some stupid domain specific questions raised) : and considering the manager population there - it has to be that ;)
On more serious note - I was not really expecting any tech talk , neither was I expecting his views on how computing and IT is moving forward into future and what he considered was cool to work on , etc.
What I expected was what happened - a very mildy technical talk with a bit of his personal experiences and feelings.
Yours truely as usual was very silent and I was more interested in hearing what he has to say.
But thinking about it, what can you really ask him ? :)
His views are well known , I happen to agree with most of them.
I dont really need clarity or clarification on those , the only question I would have asked him would have been :
"When was the last time you coded on a serious project ?" :P
This is not rhetoric - he suffered from extreme attack of RSI of fingers and wrist for which he had to undergo surgery (If I am not confusing people here that is).

After the talk , the "bimbo" mentality started.
All run towards him crowding around for photo's , autographs , etc.
What was especially worse was that I was "forced" to go through this due to my "team".
Pretty miserable feeling and I have strong reservations against this sort of behaviour.

Bottomline is , it was a very nice one and half hours spent except for the last avoidable 10 mins.
BTW , my architect Rajesh T (well from previous team) very kindly got me an autographed copy of "The Java Programming Language" (co-authored by James Gosling). My heartfelt thanks to him :)

0 Comments:

Post a Comment

Links to this post:

Create a Link

<< Home

Wednesday, May 12, 2004

General rants

I am loosing focus , attempting to do too many things at a time is making me not complete any of them :(
Tried taking a break ... but that worsened things : kept on worrying about what all I could have done in that time !
Basic problem is , whatever I want to complete are not time bound.
And lack of progress distresses me - progress is not really measurable at most times , but the satisfaction of having done something well is good enough.



Ok , let me be more concrete.

* Take my chess engine for example...
I have been trying out algo , ideas , heuretics ,etc like mad.
There is absolutely no lack of ideas , I seem to be getting them most of the time ! - but carefully selecting them , trying them out , making an objective evaluation of them based on some testing , etc : this is a time consuming process.
In the end , while doing some impl or other ,I will end up finding a very critical bug (this could be a logical bug too).
This means , most of what I tried for past 'n' number of days was basically a waste of time.
The interaction of the bug with these ideas might have been the reason why they did not work out !
Even worse , things that I have incorporated might be just reducing the effect of the bug (and so I thought they were 'good').
Now that I have eliminated the bug - are detremental to the engine !
It is more critical that I dont make similar mistakes , since I have decided to release it soon ... and so it will no longer be fair to keep releasing newer versions just for single one-off fixes (however critical they are).
Hence the net progress made becomes quiet low.
For every 100 steps that I take forward , I seem to go back 99 :(
This leads to even more depression - so much so that sometimes I think I will just forget my approach of a careful searcher with heavy eval , good qsearch and limited extensions and just do (like most other engines) a dumb fast searcher , with heavy extensions and skinny eval which just tactically overpowers the opponents.
But till now , I have held on : though only barely sometimes !



* I have been planning to implement my evolution idea which I mentioned earlier (here under point 3 (Started reading Penrose's "The Emperor's New Mind") ).
I have basic design in head , with a scripting engine incorporated so that even semi-novice users can extend and try it out without needing to modify the main engine code.
For this end , I went through lex/yacc and had fair amount of sucess in understanding them and writing a bunch of parsers (esp for reading pgn files for my book engine for chess :) ).
Now comes the problem - I am just not able to continue from here !
I meant w.r.t the direction to be taken by me in designing the engine.
What do I do ?
a) Make an intermediate bytecode to which the 'scripts' gets compiled to and the bytecode gets interpreted ?
b) Make an intermediate parse tree which gets stored when you 'compile' the 'scripts' ? (And then just load and execute the entire tree at runtime : basically another representation of the yacc parse tree in a file).
c) Or just plain interpret this 'script' at runtime ? (similar to the egg approach of Shawn Hargreaves - the allegro dude).
d) Ditch entire idea of inerpreter , make this a linkable module for users with instructions on how to go about writing their 'custom' modules with a few examples thrown in ?
e) Just do it for myself , with no external script/module customisation. This means , to modify behaviour , you modify the core engine itself.

I hate option (e) and (d).
(a) would be like java , and a bit of overkill I think.
(b) is what I would like to do. (c) IF nothing else works out.
Also , I would like to make the entire design such that , later on graphics tools could be used for the 'creation' of worlds , the environment , the initial population distribution , etc.
Grand designs .... and not yet thrashed out the basic strategy *sigh*



* Now comes the last of the major worries : the OS I wanted to write.
This would be trivially ridiculed by most as a plain stupid idea and a waste of time.
At first glance , it would seem that way too - even to me.
But the more I think about it and more I read up on it , the more I feel it is a necessity.
The idea that something that got designed 30+ years still is the 'ultimate' w.r.t OS design is pretty much hard to buy.
I talk to people and most seem to just assume that nothing better , as compared to the unix approach , can be done !
This acceptance seems a bit scary to me , since I do see inconsistencies and drawbacks (which are now assumed as the way things are !!) even in the traditional unix approach.
Now let us look at the targetted user base.
The current OS's require a level of familiarity of computers for a user to use them effectively.
Ok , unix is out here - even more eyecandy OS's like Mac OS , Windows , etc are nowhere near the mark when you think about the simplicity to which they can be reduced to !
This is not just a interface thing but a user expierence thing.
Thanks to Noble Paul for pointing me out this whole new dimension to computing :) , some of his ideas - though radical are quiet convincing and practical (That will come in a normal post - not this 'rant' post ;) )
(I am still waiting for Guru to post about this - he was expected to do so last week : so get your ass moving Vipin !)

I have not yet worked out most of these details of the OS.
I continue to read some very fascinating docs and have some very thought provoking discussions , and so I will reserve my comments on this for later.
This is actually the only part which gives me some sense of satisfaction - though there is no apparent progress !

0 Comments:

Post a Comment

Links to this post:

Create a Link

<< Home

Sunday, May 02, 2004

Some thoughts

I was quiet busy reading up on various papers , sites , etc on latest ideas on OS tech - most books seem a bit outdated.
I came across some very interesting papers - but what was more interesting was that some of the really good ones were from the 80s and 90s (the earlier ones are part of the books ;) ).
For last few years - I could find most interesting papers from google , everyone else seemed to be interested in other fields.
Which got me wondering and I started to dig up about google.
I came across
*An interesting blog
*Google architecture
*GFS
* An NY times article
*Google watch and Google watch watch ;)
*Article on feasibility of doing a gmail by others is here

in one of my excursions today.

I came across internal papers , albeit old ones (92-94) , about some ideas from sun labs too - maybe they are public now ... not sure of that.
In another discussion with one of my collegues at Sun , I got some new ideas on how UI should be/would be.
He was expounding on what one of our Distinguished Engineers (UIRB) said on UI - "The best UI is no UI" !!
We were more specifically discussing on the hierarchical structure of a file system : folder/files and how this is exposed to the users. His point was that you dont need to expose folders to the user at all.
The idea of a user is "I want that file/application/resource" - you should not constraint him by asking him to go through a structured way of accessing it/forcing him to remember the "path"/location of the required resource.
The logical structure is imposed for developers/system to manage things and the enduser is really does not care if the binaries are in "/usr/bin" or his docs are in /home/uid/docs" -> the result is important for him - not the how/where.
(Ofcourse , we are talking of proper info here , not some spoof , etc - like a trojan for executables !)
Though I am not yet understood this idea/convinced about it - it was a very interesting discussion , which I hope to continue next week. And (from my perspective) it did open new avenues to ideas and more radical thoughts ;)

Speaking of which , some happy news too -

* A collegue of mine who joined along with other 38 of us at Sun is gtting married tommorrow at Tirupathi !!
Wish her all the best for a Happy , Prosperous married life
* My flatmate is getting engaged tommorrow.
He remains a bachelor still - but will soon lose that freedom ;)
Wish him the best too !!!

Looks like a season for typing knots :)
All this talk about love , true love , passion , etc from NKV is sure worrying : considering that "love is in the air" and people are getting hitched ;)

0 Comments:

Post a Comment

Links to this post:

Create a Link

<< Home