Thursday, February 22, 2007

Talk by Vint Cerf

There was a talk by Vint Cerf yesterday as part of Google speaker series.
I was expecting something interesting and so joined Alok and Gautam for it.
Unfortunately, it was just a very serious recruitment drive thinly disguised as a talk :-(

At times, he would stop explaining the very basics or waxing eloquent about how google was super awesome place to be at and would actually get into something interesting - like the design considerations when they started off, etc : but would stop really fast.
We suspected that the people sitting in front of him might have been a bunch of college kids who would just space out when he got technical, or he had strict instructions 'this is a recruitment drive'.
The Q&A session was an absolute waste of time (we walked off after the initial few q's) and were limited to how great 'page rank' was (newsflash - this is not 1998 !) or how to get into google, etc.

Unfortunate waste of time ... giving the rest of the google speaker series a pass : I dont want to sit through another series of 'why is google a great place to work' type talk.


Blogger aadis said...

Ah, not feeling *that* bad about missing it now :D

2/23/2007 03:15:00 AM  
Anonymous Anonymous said...


Radhika Suman

2/23/2007 03:59:00 AM  
Blogger compu said...

Why is it that presentations by Googlers inevitably end up sounding like recruiting campaigns. Either they must have some serious Kool Aid there or....

Also, was at the last NY talk and the Q&A there blew too; half the room left, the other half just talked over it.

5/12/2007 09:41:00 PM  
Blogger Mridul said...

yep, the ol' google name does not do it anymore to pull candidates imo ... there are people who actively shoot down a google interview offer 'cos of their snobbish attitude.
So they are sponsoring events/talks/code camps to attract recruits.

What is sad is the people they use to pitch for these drives.

5/13/2007 08:47:00 AM  

Post a Comment

Links to this post:

Create a Link

<< Home

Sunday, February 18, 2007

CCT9 day 2

The day started badly, Vipin woke me up to tell me that there was a power outage expected from 8 am to 6 pm ?!! And shortly thereafter power failures started happening on and off.

The first game against Baron could proceed though - but npmess did not evaluate the resulting KBP end game properly, and a bug in the null move condition made it enter zugwang and subsequent loss. I did not play to the loss, the power went off and I resigned and disconnected.

As a last ditch effort, I sent a copy to a friend of mine to connect using - but it was just not the same : memory params (it was swapping on his box), book, etc are conditioned for my machine - and needless to say, the games after that were all losses.

Thanks to the pathetic infrastructure in this city (sic), day 2 was miserable failure for my engine.
The power came right after everything was over - a symbolic F U to me from mottu (as Aparup puts it).

Took part in the blitz tournament after CCT9 - had to miss the first round due to the generous present from BSEB - but finished in the middle of the pack : considering my engine is 'slow', this blitz showing is reasonable. There were a couple of losses due to king side attack where I thought my eval sucked : need to revisit that.


Blogger Unawoken said...

Hey dude,
Good show there, 3/4 on the first day! Cool. Yeah, 2nd day must have sucked. Still am awed that you write and maintain a >= GM engine!

2/27/2007 01:31:00 AM  
Blogger Mridul said...

oh no, this version absolutely crap when it comes to endgames - so absolutely nowhere near a GM.
Like I said - it cant even plan KRK properly - shuffles quite a bit to mate !
And KPK, etc? pretty damn sad evaluation.

Anything more complicated, and it is ruined.... but all in all, I kind of like this version :-) So I will continue to hack at it on and off, let me see where i can take it :-D

2/27/2007 01:40:00 AM  

Post a Comment

Links to this post:

Create a Link

<< Home

Saturday, February 17, 2007

CCT9 day 1

It has almost become a tradition for me to take part in CCT - and no, I never do well :-)
In order to not break the streak this time, I hacked up a new engine (lost most of my code when I suffered multiple harddisk crashes earlier) during dec time .. patched a few protocol interfacing bugs Leo (he runs WBEC) found and entered the program for the tourny.

The first game was as black against Arasan - a known nemisis : most of my engines have some set weaknesses - which some opponents always tend to exploit - I dont think either of us know what it is - some pattern is messed up, or I under/over evaluate some aspects : whatever be it, Arasan is one such engine which tends to usually get the better of me.
And this time, Jon told me that he had just got Arasan to work multiprocessor - so it was dual arasan facing npmess !! (and I had not yet completed adding MP support to this version, so it was single proc).
The game started off fine enough, and after a good battle we were in endgame in a KR endgame - when disaster struck. I had a bug in my evaluation : specifically the part which tells which 'stage' of the game the position is in - opening/middlegame/endgame - and cos of some muckup, rook endgame was not considered as late endgame - worse, it thought it was middle game and started applying king safety penalities !!
To make long story short, it fell from draw to loss in span of like 2 moves - but npmess realised this after a long time, though arasan's eval kept going up.

Loss, fire editor, fix - in the 10 mins before next round : and we are back in business for game 2 - against Alarm.
Alarm, (un)fortunately, did not turn up - and so npmess wins the first point : by forfeit - but would have liked to play ...

Round three as black against Symbolic - which is written in C++/lisp.
This was an interesting match, but Symbolic underestimated the king side attack of npmess when it sacrificed a major for a minor and npmess walked home with its first OTB victory in the tourny.

Round four was as white against Neurosis.
The game followed the opening book right into endgame (2 rooks + opposite bishops with neurosis pawn up). Traditionally, this sort of position is a draw if the king is activated fast enough - but cos of some bug (which I am yet to fix), npmess just refused to move its king ...
And slowly but surely, neurosis got into a commanding position poised for win - the exchange of rooks was npmess's last ditch effort, but still the score was two pawns down.
This was an interesting match, for the first time, my engine was outserching another engine - and I was hoping for a draw though things looked bleaked : when neurosis blunders cos of low depth I guess.
First it went from -2.x to -0.3 or so : and then neurosis blunders again - it sac'ed its bishop : it looked like a good move to both of us (programmers), but npmess went from -0.3 all the way to 5.x. This either meant I had a HUGE bug, or the game was over - luckily for me, not my bug and so npmess wins comfortably from then on.
It was really tough luck for Stan - neurosis did deserve the win.

Tomorrow first match : facing Baron by Richard - and it is known to have a good endgame eval in comparison to my engines : which suck ass when it comes to simple elementary endgame eval (heck, this version cant even evaluate KPK properly !!). Also he is running a parallel engine on a faster hardware.
So if the game goes to endgame, npmess loses - else there is some glimmer of hope.

So all in all, after day one, score is 3 out of 4 ...
4 games down - 3 more tomorrow, and there is a blitz tourny after that : this is going to be fun :-)


Post a Comment

Links to this post:

Create a Link

<< Home

Wednesday, February 07, 2007

Paucity of updates ...

For quite sometime now, I have not been keeping by blogs updated. Here, my work blog and the blog at work.
And when I do update things here, it is just to drop a line or push some link ...
I was tempted to call it the 007 effect, but considering it started earlier - I cant use that tag :-P

Essentially it is a combination of work becoming really interesting (and so a bit too hectic), and some really interesting projects I am doing in my free time.
Cant discuss much about work - except to say that we are trying out some really interesting stuff on the server :-)
In my freetime, I am currently doing two things primarily ... a webserver and a chess engine (yet again :-P).

I was at home this december during Christmas for two weeks, and by the second week I was bored ... The webserver was a result of that: spent the second week hacking at my sisters laptop to write the initial NIO based code.
It was essentially an expiriment to see how efficient I can make a webserver in java and to rethink on async IO ... whether I can reuse any ideas for our server at the end of it (yep, there are things I am reusing btw :-) ).
Ever since I joined Sun, I have been associated with HTTP in one way or the other - and so it is not surprising that this expiriment pretty soon became a slightly more interesting effort.
Though there are about 30 points still left in my todo list before I can claim complete conformence with 2616, in most cases the things left out are just optional features.
The initial idea was just to serve static pages, no dynamic content - that was easy :and no, I am not using mmap'ing stuff, etc to make the actual file IO performent - I am interested in the server performance w.r.t network IO & overall design, not performance of a specific spi impl.
Then I dabbled with making it support the servlet spec : but the 'heavy duty' nature of the spec, coupled with the non scalable approach w.r.t thread usage made me ditch that idea - no offence to the designers of that spec, but the design principals there just do not match mine : I just dont want to encourage the pattern on one thread blocking until the client code returns ! I was not writing a general purpose server - a specialised server with performance & throughput in mind for people who want to leverage that :-)
Next was to use it as a webdav server to try this idea out (well what is mentioned by Jean-Louis Seguineau in the comments on how to use webdav actually).
The webdav idea still stands ... but in the meantime, I modelled an async IO based api for content developers (nope, no one else has used this server to date) who want to use the server essentially as an http infrastructure - and surprisingly, I did not have too much trouble porting an old servlet I had written into this new one.
The best part was, it was not as disruptive as I believed it would be : though I guess I am used to thinking this way (async notifications, event handlers, etc) which is not the case for most people I guess .....
Also, extended this to support and enable comet apps to use the server as infrastructure - though I dont have any apps which use this yet.
Once both of these were done, suddenly I have a server which is designed to support and scales really well for both long poll & comet apps ! (the usual paradigms for async notifications to client in ajax apps).
Should be interesting to see how it actually performs with a real world app (I do plan to port something I wrote for work as an expiriment - though that would remain confidential code).
I am yet to decide what I will do with this server, but for now it remains private with access to none :-)

The chess engine was started ... god knows why, I just love writing one :-P
The main expiriments this time are in evaluation, qsearch and move ordering. I am also using move ordering & static position analysis data to try out some pruning ideas ... so far it seems to be doing quite well. But as usual, unless I actually dig into Fine's book I guess it will not play real good chess - leaf evals suffer from lack of sufficient positional knownledge ... I have owned this book for almost 4 years now and yet to go through more than about 20 pages !


Anonymous Anonymous said...

Good post man

- Aparup

2/08/2007 04:55:00 PM  

Post a Comment

Links to this post:

Create a Link

<< Home

web 2.0 video


Anonymous Kalpana Dhalokia said...

I really liked it.

2/07/2007 03:09:00 PM  

Post a Comment

Links to this post:

Create a Link

<< Home