Monday, August 30, 2004

Weekend that was !

Now , my definition of an ideal weekend would be the one that just passed by !
For starters , I knew it was going to be a great one at end of friday itself.
My friend Aparup got back from US that day , and got with him Civ 3 Conquests their latest expansion pack.
I am kind of crazy about this game and have been eagerly looking forward to this pack (kind of like Sid Meier's games !)
To add more fun to the whole thing , /me finally decided to get Doom3 !!!
The latest and greatest from Id - the hype around this game has been huge and even though I have been majorly excited by the trailers and the rest , frankly was not sure whether the game will leave up to the expectations.

Decided 'not' to play them friday night - postponed the fun to saturday, instead was fooling around with my chess engine.
Improved it a bit , fixed some bugs , patched/improved/reimplemented lot of evaluation patterns and was having a nice time :)
It is much more stronger and less buggier - and if it can survive the endgame , tends to win against commercials too ! (I have only very primitive evaluation code - this is a TODO and a tough one at that :( )
Then , at around 6ish , Sood mentioned valgrind (ya both of us had a night out :P - common for me in weekends - first for sood at erudent).
Had to try it out after the glowing review by Sood ;)

Now comes an interesting part , 'cos of which I mention valgrind.
When I ran it with the "Memcheck" tool - it indicated 33xxx number of errors (This was some code inside a function that was getting called in a loop - program startup thingy).
Interesting part is that when I looked at this code , everything looked perfectly fine.
I almost gave up and thought that valgrind sucked and was giving incorrect errors :P
But something in me did not believe this explaination - so went through the documentation of valgrind on how it worked , then looked a bit at their source.
What I saw was interesting - it looked like for this partcular case it was reporting , there was no way in hell valgrind could be wrong !! (unless there was a tool bug which I discounted for the timebeing)
So spent another 45 mins and in the end came up with the flaw !!!
A cursory - even a bit detailed analyss would not have unearthed it !

The logic that was implemented was normally correct and yet inadequate for a corner case (A corner case for which I had explict code - which unfortunately was insufficient !).
And it took me good 45 mins to see the flaw - that too for a piece that was not so complicated , which I had written just 5 months back !!

This immediately convinced me on the potential of valgrind in general for this sort of debugging !
Cachegrind tool did give some very interesting data - have not yet completed my analysis of that - way too big to complete in a single sitting :D

Hence my full recommandation for valgrind ! Pretty neat tool to use to find possible bugs in your code.
Note : Error reported indicates , there is possibly an error , no error reported does not mean their absence !!
Note1 : valgrind did report a bunch of errors in glibc :P Hope the gnu folks are listenning ;)

Saturday night (slept the whole day ;) ) I started off with Civ3 (Aparup had borrowed Doom3 when he gave me Civ3 on friday - he wanted to check it out) - pretty neat game !!!
The default conquests that come with the pack are very well designed and really really good (only the drawback I saw was the timeout :( ) - even in the normal mode , the number of new options and modifications are cool ! Make the game very challenging to play in >=semi-demi mode (I find the lower levels too easy ;) )
These guys are good and make some really quality games ! Eagerly waiting for Pirates (their next game).
Spent a lot of time playing and exploring the expansion pack.
Found it to exceed my expectations in most cases - needless to say , I am going to spend a lot of time in the coming weeks/months playing this :)

Sunday , tried Doom3.
I am hooked.
They have not only met , but exceeded my expectations !!!!
The game is just too well designed and scary ! It is scarry and spooky to an extreme - you will be afaraid to move to any new place - and open places ? No way !!!
In the game , you meet a guy who refuses to move out of his hiding place - trust me , through the game I felt like doing the same !!!
I found that there are two ways of playing the game - a) The normal fps style - complete mission as fast as possible : that is kill , kill , run b) Really enjoy the game - look around , listen to conversations , explore the place , "admire" the monsters - that sort of thing :)
I was trying b) - the creatures are just too good (renderng , kinetics , ai , sound) , the ai is good and the sounds and shadows are brilliant - needless to say they have made this game spooky and scary to an extreme !
The audio clues are so clear that you get scared of any new sound ! - and trust me , any new sound (from my expierence that is ), cant be good !!
It is almost like being there yourself - health is soooo precious !!!!
Lot of times , I know there is going to be someone around , just by the sounds or shadows , or (believe this !) 'cos I 'feel' that there is a difference in the place !
I played it out of pure instict - this game is a true masterpiece I must say !!!

Now to be fair to other fps's in the market , it has been ages since I played one seriously - just never liked this mouse based navigation too much - have tried most if not all leading titles , but they are too 'shallow' in my opinion.
Add to it , the lowering priorities for gameplay and gamedesign in fps shoot them up games and more focus on the 'kill' factor , fps (frame's per sec here - not first person shooter) and the like and you get a perfect recipe for me to shy away from these sort of games.

But I didnot feel any of these coming into consideration whicle playing doom3 !
The storyline is just too good - have not completed the game , but throughout the game I am curious as to how , why , where and what is happening !!!
The accidental converations that you overhear in the kitchen , the murmering in the hall , the mails and audio clips that you view in the pda - all give you clues and keep you wanting for more !!
There are some puzzle solving elements in the game too (though positively aneamic as compared to say Myst and the like - but hey , this is after all a shoot them up game !! ;) )

This game is a really really worthwhile investment of your time and money - do try it out !!!

PS : For people who want to buy it , Doom3 it is available in Brigade road , Bangalore - so grab your copy today !!! )

PS1 : No , I am not paid for byId for writing this about Doom3 - though would love to work there - even as a janitor :D Those people are the visionaries in this field !!


Anonymous aparup said...

I miss those old days man :(


5/14/2006 05:17:00 PM  

Post a Comment

Links to this post:

Create a Link

<< Home

Friday, August 27, 2004

Cool flash sites

Usually I do not like sites where people insist on you using some plugin , some browser ver , etc.
In general , I do not prefer using and propogating proprietary stuff - but these sites/flash uploads were prety cool - too cool not to mention them :)

For people who like puzzle solving , this is a very cool site to visit !
Had lot of fun solving this one yesterday - reminded me of the older games where gameplay and not polygons per sec was more important.
Where there is that small puzzle left which you know is simple but just cant crack !!
Reminds me of guru and myst ;)
(Update : finished it finally - thanks to tiger :D )

This is a must watch for all linux lovers - A really cool windows spoof !! Try exploring it ! (Esp the crash option - it actually freezes :) ) - quiet 'emotional' :P looks real nice :)
IF anyone does 'buy' it - please gimme a peek on the complete thing ! is a cool "game" :D - bloody addictive though !
is part 2 of it ... not that hot though. and for all my friends who drink :)) - another addictive game !


Post a Comment

Links to this post:

Create a Link

<< Home

Monday, August 23, 2004

Docs from this site

Forgot to mention this - pretty stupid of me actually.
I deal with stuff like this daily and when it came to something that directly affects me - *boom* brain for a stroll around the park while I kept posting here !
When I went to Koushik's site today , I noticed it : I forgot to put up the status of the posts in my blogs !!!!!

Ok , not sure of what the validity of trying to retrospectively apply rights is - this will be relevent to the future posts atleast if not applicable to the past ones !

"All posts under this blog are (c) Mridul Muralidharan 2003-04
All articles are licensed under GNU Free Documentation License.
Comments belong to respective owners."

Must modify template too ...

Had a nice weekend - spent till 4:30 at night with aj and Srikanth on sat :D (ONLY till 2 on fri ;) )
Discussing all things under the sun - it was nice generally hanging out ! Guess the cops did not like that idea though and chased us off on fri ....
Met the dangerous tiger on sunday , ooooh so scary :D - well she did try scaring me on thu last week !!
She does not have the handle tiger for nothing ! Maddie , you think you have dangerous nails ?! :)
Had a nice time chatting up - was at Rao and Sood's new place (cool fridge btw !)

AND , back to another week .... surprisingly I woke up way too early - so in office for a change at 10:30 in morn :)


Post a Comment

Links to this post:

Create a Link

<< Home

Sunday, August 15, 2004

Calvin and Hobbes

Most of my friends know that I am a nutcase when it comes to Calvin and Hobbes ...
I find it tough to identify why I like it so much.
Some of those strips take up entirely new meaning when you know the exact reason behind their creation - the best example being the very last strip.
When I first read it , I did not know that it was the last one , it brought tears into my eyes when I realised that it was the last strip ever ..... the meaning conveyed was suddenly entirely different , made my heart heavy and suddenly I felt all sad and senti with tears in my eyes :(
Similar would be strip 93. Read it , and then read the description of this strip (page 149 in Tenth Anniversary book).
The feeling are completely different ! You actually feel sad and feel the authors pain ....

Very powerful emotions , and messages are conveyed through such a simple strip (hmm, is it really that simple ?) - the range is quiet unimaginable.
I enjoy reading Calvin and Hobbes anyday .
The emotions that get evoked in me are startling - from downright 'stitches in the stomach' laughter spells to extreme sorrow to comtemplative silence .... Bill Watterson has done it all using c&h.
Some of the 'truths of life' suddenly take a very stark and glaring meaning when it comes out of Calvin.
Not just the fact that a 6 years is mouthing them , but also the fact that the way he nonchalantly puts them ... in a manner that gets you thinking and suddenly puts things in perspective.
Some of Calvin's one-liners which stump his dad and mom , usually gets me thinking too along same lines.
Makes me think about making a change for the better in my life too ... someday I might actually get out of my comfort zone , overcome my huge reserves of laziness and actually do something about it :)

In the meantime - let me finish the rest of the books that I got - 6 more to go ! Well , I have read all the strips , but it is amazing fun reading the books , esp the ones which has Bill Watterson's comments on them - AWESOME stuff !!! Worth their weight in gold :)

Other than obvious reasons , I also respect Bill Watterson for having passionate ideals regarding catoons in general and Calvin and Hobbes in particular and sticking to his values and ideals to the end - being passionate about them in the first place and not backing off from them even in face of intense pressure.
Any person who believes in a set of honourable ideals passionately is someone to be respected and Bill Watterson is clearly a man to be respected and if possible emulated !!

Been 10+ years since last Calvin strip - sure do miss the cast :( *sigh* hope someday we see its revival !!!!

Some links that I sometimes visit - hope none of them are in violation of the authors rights !
A link collection -


Post a Comment

Links to this post:

Create a Link

<< Home

Monday, August 09, 2004

We didn't start the fire

Yesterday Anoop showed me this page - a really cool site !!
Considering that it has reached 1mil+ visitors , most of you would have already visited it ... but this is the first time I was doing it.
I always enjoyed the song - and this adds a new dimension to it :)

Had the blogger meet on sunday - seems like nearly same bunch of people turn up most of the times ....
This is my second time at one of these meets - and cardinality of the set of intersection of the two events is almost same as the cardinality of the union of the two meets ;-)
People take a hint - please try to attend these , if nothing , atleast will get to see the people I know virtually :)

Will write something more about the network thingy later ... need to clarify things - I am pretty lousy at documentation and writing things down properly.
The ideas keep bouncing up and down in my head forcing a lack of coherence when writing it down - Terry Prachett will be able to write something ultra cool to describe it :)
The books by him are forever in my top reading list ! Alongside catch22 and Calvin series :D (hmm , and many others , but let us not get into that - can see these books in front of me - so they get preference ;) )
Now I know why my doc-writer had to come back to clarify what I wrote for her so many times ... hmm , the fact that the final doc looked nothing like what I wrote initially must have been a hint - Anu , my salutes to you , you were great ! :)

Speaking of which , anyone has suggestions on how I can get my life back on a more "decent" timezone ?
Currently sleep at around 4 - 6 and wake up late - way late (not mentioning time here for obvious reasons - go to work only after that ;) ). People who have sucessfully managed to turn the clock around - please help - think this routine is going to screw me up pretty badly soon enough .....

Arrgh - 20+ books to finish reading ... on top of all the work related docs that is.
"Should control urge to buy books" - never works well ... never knew that harmless browsing of books in a shop would end up being so expensive :)
It is the money part that is not what irritates me , I like those books, hence bought them - but the fact that I buy them without any idea of when I can erad them is what gets my goat ....

Ok , people - it is light off now - will try to wake up earlier tommorrow - only 3:30 at night now !!!


Post a Comment

Links to this post:

Create a Link

<< Home

Thursday, August 05, 2004

More comments on the below

Kousik raised some queries and so have some of my friends when I talked to then irl.
So here goes some clarifications - note : I am pretty miserable at writing down ideas - so please bear with me !

Let me explain what I meant , and taking the the online marketplace as an example.

First things first :
The idea is not to come up with any replacement or alternative to a single vendor. It is not like a single vendor trying to push his network over others , etc. That sort of thing just wont get accepted - everyone thinks theirs is the best ;)

Now that , that is cleared , let us move on (this is a point oft mentioned to me !!)

Let us consider the online marketplace - more specifically , a bunch of buyers and sellers - here the term is used loosely - it could be buying and selling goods or services.
Usual cases are - you go to a site , advertise your wares (if you are the seller) or search through the advertised wares (if buyer) - and then negotiate on a price.
Negotiation could be by bidding , flat rate (no negotiation !) , offline negotiation (that is not within the purview of the marketplace ) or maybe other more complex domain specific forms.

Now , here the restrictive things are :
Every buyer or seller is exposed to only products or customers who belong to that network.
Someone else interesting in other similar network is not accessible.
I , as a developer , might have a better form of negotiation , etc which is not pluggable into this system since it is controlled by a single entity.
A new player in this field is stiffled even if he might have really cool service ideas , since he does not have the required userbase.
It is like vendor-lockin in a different sense.

What I was talking about was like this -
You have a base network in place on/over the web. (Network is used in the sense of a set of networked servers (server-set as i call it) - not a traditional network layer thingy ;) ).
Every user will have a id in the base network.
This id will be unique across all servers , clients (and service providers) - it will be his network id.

The idea is like this -
Consider a network which handles these :

a) User identification and verification (maybe certificate based , liberty based, etc).
Every user will be uniquely identified in the network and non-repudiation will be built into network.
b) Allow users to run queries for available services/goods/etc (whatever it is called) on the network.
(Think of kazaa query for doom3 :D )
c) Allow users to publish new offerings ,remove their current/previous offerings , etc.
d) Allow for basic notification mechanism - for a buyer to intimate a seller of his interest, etc.

So basically you have a network offering all the basic services required for a marketplace - I am using marketplace in the layman's sense , not in full-blown ecom sense.

Now consider an example.
A housewife wants to get her house painted.
She logs into the network with her id , sends out a query for a painter with required parameters (availability timeframe , rate range , location , etc).
She will get , as a response , all the painters who have advertised in this network.
These could have been through service provider portals , or direct publication to the network.
She can notify him with her contact info , or if the painter had put up the contact info , can directly contact him.
(The service providers might offer value added services in this regard).
You can have portals or service providers on this network , who can offer value added services like aggregation , ranking , authenticity , other market differentiators which use the underlying user base and features.
This way , you will never have vendor-lockin in the traditional sense.
You might keep visiting a service provider due to his value-added services or his market differentiators - but you can switch anythime without loosing your customer base as a seller or your potential seller base.
Also , a new players entry into market will be having minimal overhead and you might have lot of specialised vendors.

The network takes care of the actual search , user-validation (through signed requests) , publishing of requests , etc.
This is transparent to a developer writing the client , and it is going to be transparent to the service providers on this network.

Hope this clarifies some of the stuff I mentioned ! Please feel free to post comments - would be more than happy to have feedback on this :)

Some of the other things I was toying of include these :

a) The network of server-sets should be open - so that you do not have a single entity controlling the whole thing.
You should be able to plug in a new server anytime into the network and take it offline at anytime too !
There should be no info loss when doing this. We modelled this loosely as a staggered server-set in a hierarchical way.
(Rajesh suggested this loosely modelled on how dns works).

b) When a server goes down , connected clients to that server should not suffer and should be automatically connecting to other serversin that server-set.
Fault tolerance and security should be built into the network and would not be an after thought :)

c) Client type - We (more specifically Noble :) ) envision a thin client based client - there would be very minimal client side info storage so that you can have very light clients. Everything would be in a distributed form in the server-set.

d) The actual communication between the client and the server-set can be anything - http , direct socket , wml , etc.
The actual communication between servers will always be the same and assuming that they will be directly able to talk to each other.
This way , you can have different client types able to get into the network.
Like a guy with a wap enabled phone or a fat client - each talking to a corresponding server which understands that specific client protocol.

e) Value added services by service providers.
All the current marketplaces would be able to build on top of the base network to offer their services.
You can continue to use the base network directly , while these guys can offer more sophisticated solutions like specialisations for a particular domain , credibility ranking , etc.
This way , whatever you can do currently can be done using this network.

f) Noble was suggesting that the distributed nature of this system can be modelled by using juxta - this is not the time to decide things like this ! but he suggestion is with merits :)

g) The network as such would not be doing any content classification or interpretation - hence this base idea can be extended to other domains and services too !

Note - this is just an idea thrashed out by a couple of 'nutcases' here :D
Toying with ideas 'cos of our frustrations with how things currently are.
Need to not end up with an implementation !
Content aggregation from disparate networks to provide a unified view to the user (like froogle does) is masking the underlying problem - it is a workaround I feel and not the solution !! (I think this is what you were suggesting Kousik ?)


Post a Comment

Links to this post:

Create a Link

<< Home

Tuesday, August 03, 2004

Disparate Networks

The more I look at the networks in place today , the more pissed I get - you have different networks for everything - be it shopping , gaming , chat - anything.
Any service you take , and you have a different set of network with its own conventions which are totally independent and inoperable with each other.
Considering that the set of networks for a service are essentially offering the same service , it is highly questionable as to what gains they get out of maintaining seperate islands of service and being inoperable with eachother.

Consider a simple example - Chat. (All examples here are going to be a gross simplification :) ).

Let us consider the http based chat solutions- you have Y! , ICQ , MSN , etc.
Essentially , all of these are the same - different eyecandy , slightly different market differentiators for maintaining unique identity - but essentially the same.
You send a message 'friend' or 'buddy' and you have a way of ensuring the identity of the sender/reciever.
Everything else is just an ad-on based on this basic principle.
But now , are these networks inter-operable ? No !
Can a Y! user message a MSN user completely transparently ? No !

Maintaining multiple chat networks (in the virtual sense) in not helping anyone - dont take this as a issue with single sign on , etc. Single sign on is just masking the basic problem.

Ok , in case I am not clear in the above , let us take another example - online selling and buying.
I am going to primarily target used goods trade - though this can also be extended to all kinds of trade !

Consider the various networks that are available - from top of my head : eBay , baazzi , etc.
The same problem persists here - these portals (or vortals as you may) are essentially offering the same - a virtual marketplace and yet sadly , completely uninteroperable.

The basic requirements for these networks are the same -
User enters things to sell.
Interested user searches for good to buy.
And then they negotiate.

Now , a baazi user cannot buy something that is getting sold in eBay.
And the various forms of bargaining are quiet varied ....

Need for the hour is some sort of generic network which is the underlying base.
There should be a base solution where anyone should be able to access the base services.
All these companies - MSN or Y! or eBay , etc should operate on this base network to offer their market differentiators.
Base network for a base service - a chat network , a online marketplace network , etc.
(This way maybe you can aggregate networks to create more complex networks !)
That way , they will remain inter-operable while maintaining uniqueness and offering value added service (maybe of monetary interest for companies).

Been thinking of this sort of problems for too long not to put it up on the blog :)

BTW - the ches thingy requires some extensive evaluation tuning - hence will take sometime before I put it out ... sadly.


Post a Comment

Links to this post:

Create a Link

<< Home