potty thoughts

Google
Web pottypal.blogspot.com

Sunday, July 23, 2006

the Oracle
[DISCLAIMER: this's got nothin to do with Oracle the corporation or the product.. nor is this a How to on horoscopes or numerology or anythin such.. so hit the back button now if googlin gave u a wrong(?) result :D]

remember the Oracle from The Matrix? how hard do u think it could b to build one like her?
theoretically, it shud be quite simple ;)

well, here's an idea.. scraped directly off the Adaptive Signal Processing theory.. now just for those who dunno, it talks abt making blocks which dynamically adapt to a particular pattern of input and output..
here's a lil block diagram.. might not help much without a lil explanation :D [skip till next image if you're not interested in Adptive Signal Processing theory (or, if u're allergic to any badly explained theory for that matter ;) )]

the idea is that you have an input signal and you do some processing on it to get an output signal.. you want the output to be like something, which's your desired signal.. but the processing block deviates the output signal from the desired one while processing.. the difference between the output and the desired is the error signal.. now don't tell me that you're thinkin of directly sending the desired signal to the output, coz it doesn't exist :D.. if it did, then we'd have been spared of a subject :))

k.. the simplest case would be to add the error signal back to the input n you'll get the desired signal at the output.. simple math isn't it? but it aint so straightforward coz the processing system needn't be linear, or rather needn't be like the one producing the desired one.. so it's passed back to the processing system after being passed thru an adaptive algorithm which, I suppose, accounts for the nonlinearity..

[for more details on the subject refer to the Adaptive Signal Processing book by Bernard Widrow and Samuel D. Stearns.. Or try googling]


simple enuf? k.. here're some applications of such an adaptive system.. Oracle wud be the one in fourth quadrant..

the Oracle is supposed to predict a system.. which's basically telling what's comin up before it happens :)
but to achieve it with an adaptive system, I need a desired signal.. and as you might guess, I don't have one, coz if I did, I wouldn't be writin all this (don't argue abt the horoscopes plz :D).. so I start off with some seed input, which I expect to come out as is after a while.. that's like sayin I'll tell you today what's gonna happen tomoro, n you'll tell the same back to me tomoro..

what's a good seed input? how bout the good old sayin that tomoro's weather's gonna b the same as today's.. of course with 70% accuracy, which's no good.. so I slightly change my input..

I'll tell the Adaptive Filter, both what happened yesterday and what happened today.. the job of the Adaptive Filter is to adapt itself to give me today given yesterday.. sounds more like lookup doesnt it? I guess, it's okay for it to be a lookup to start with.. it'd later evolve towards pattern recognition.. (or simply towards an efficient way to lookup a humongous hash table :D) finally it shud end up learning enuf to be the smart oracle which tells you exactly what's gonna happen tomoro (or the next minute if u wish :D) by doing what could be called a dumb n brainless job of matching today against a looooooooooottttttt of yesterdays :D

theoretically, it's a possiblity since you keep accumulating a lot of yesterday's.. so many of them that your today shud match at least one of the yesterdays.. and once it matches, your tomoro shud be the next day of the matched yesterday..

hmm.. how bout a lil zap of reality? there's one major hurdle that I can think of.. representation of the information.. how'd you tell to the system what happened today? NLP? Audio? Video? it'd be a lil hard to process any of those, at least for now considering the current (pathetic?) situation of software where things like Voice Recognition are still considered among the cutting edge technologies and technical luxuries after all these years of software evolution..
and the next hurdle, which's kinda tied-in to the problem of representing the information.. the programming language of choice.. can't think of any for now which'd allow me to build such a system easily without by itself being an obstacle to my thinking.. Ruby? Prolog? or somethin else.. haven't tried Prolog yet.. hope it has some way to express this kinda information n also allow me to infer things based on that without makin me worry too much abt variable types and such silly issues..

this reminds me of Smith, according to whom we shud already have the right kinda programming language.. but well, he doesn't exist and his existence would've proved that he's right.. so let's wait till we see either a Smith or an Oracle :D..

Saturday, July 01, 2006

oh.. I lost a Scorpio :D..
u're given 15 days to secure a simple application n there's a Scorpio for gettin it right.. what'd u do? start on it from day 1? well, not if u're me :D..
guess a Scorpio wasn't enough to motivate me.. or probably I was being overconfident :D.. the problem was quite easy too.. easy enough to make me overconfident..
so, due to various (silly, nonsensical) reasons, I started on it at abt 5 hours prior to submission deadline :D.. at abt 6:30 PM on a Monday with the deadline being midnight that day.. as u can tell, I couldn't finish it :D.. submitted the solution with a lot of obvious security bugs.. I shud've realized that nobody gives a Scorpio for a task that can be done in 5 hrs ;)..

it's been well over a month since the results are out.. but havent been able to write abt this since then.. I broke my leg (now don't ask me how'd that prevent me from bloggin ;) ) followed by my shoulder.. my shoulder's still to get an okay from the doctor.. neways, now that I decided to write somthin, this was the most logical entry to make.. n this' also for the ppl who bugged me for the final results :P ..

generally, the contest was quite easy.. probably coz this was the first time.. spend two hrs online and u clear the first two stages.. spend another two-three days and u can easily get thru the final stage (now, I really mean this part.. it's not my overconfidence again :D ).. the application to fix for the final stage was quite easy.. not much of a hassle to fix it.. the best part of the contest's that the prizes are accumulative :) .. still dunno who got the Scorpio.. but I got an 80G xternal HDD (for bein in top 100), a voucher to get a Microsoft Security Certification (for top 500), a book on Secure Code Writing (for top 1000) and a junk CD containing nothing that I could find useful (for top 5000) :D..