Thursday, November 16, 2006

Presenting - Proto.in Widget

I hacked this scriptlet today for proto.in ...

To add the following widget into your blog or webpage ,simply add the following line scriptlet into your html code , to get your own proto.in widget...
<script id="protoWidget" src="http://proto.in/protoWidget/protoWidget.js" type="text/javascript" language="'javascript"></script>

Developer Notes:
I used the following 4 files...
protoWidget.css , protoWidget.js , protoWidget.gif, protoLoad.php


I Initially used iframes and the xmlhttp to read cross domain ,but even though i could get around the infamous ' cross domain same origin ' policy ,couldnt pass the data between the iframe and the parent window . SO ,decided to shift to a dynamic script tag and json format where i spit out the feed xml using php into javascript which was dynamically appended to the dom .A word of caution if you are planning to make your own feed reader ! Dont fall for the unterminated string error .xml as you know will be nicely formatted with elements in different lines ,et cetera . But once you pass this into javascript ,line breaks are a strict NO NO .

Then again ,there 's a hack against this as well. Heres my version of how to retrive cross -domain feed/data without NO hassles of security ,NO browser prompts ,and NO script signing needed. Here you go.(PS: sorry for the code not being aligned properly,but hope u can get a gist of it )

protoLoad.php
var fullXML={bosky:101};

/* reading feed as string into json form */
var _xml={data:'/* pass any site / feed here as querystring. */
if($site){
$fp = fopen($site, "r");
$buffer = "";
// get output in buffer variable
if ($fp) {
while(!feof($fp)) {
$buffer .= fread($fp, 1076);
}
}
$buffer = str_replace("\n","", $buffer);
$buffer = str_replace("\r","", $buffer);
$buffer = str_replace("\t","", $buffer);
$buffer = str_replace("'};

/* ok so now we have the xml string in xml.data . Now to DOM ify it ! */
getXMLTree(_xml.data,'item');

function getXMLTree(xmlStr,nodeName)
{
var xml;
this.load = function (nodeName){
if (window.ActiveXObject)
{
xml = new ActiveXObject("Microsoft.XMLDOM");
xml.async="false";
xml.loadXML(xmlStr);
}
// code for Mozilla, etc.
else if (document.implementation && document.implementation.createDocument)
{
var vParser = new DOMParser();
xml= vParser.parseFromString(xmlStr,"text/xml");
}

if(nodeName!=undefined){
fullXML = xml.getElementsByTagName(nodeName);
}else{
return (xml);
}
}
this.load(nodeName);
}

/* ok so now we have the xml node in fullXML . Now to send it back to client */
parent.window.readData(fullXML);

protoWidget.js
./* client side that initiates the script tag to call protoLoad.php*/

/** METHOD 1 */
** @description This method uses hidden iframe and xmlhttp to read the feed.But it is limited since you cannnot reference data from a child iframe of url location A to the parent window of url location B. You can do this only if you set document.domain explicitly , or the are in the same domain . not very useful !
*/
protoWidget.prototype.readCrossDomain = function(){
this.iF = document.createElement('iframe');
this.iF.id='protoWidgetHost';
var iS = this.iF.style;
iS.border='0px';
iS.width='0px';
iS.height='0px';
this.iF.type='hidden';
this.iF.src = this.crossDomainSrc;
this.add('insert',this.script,this.iF);
}

/** METHOD 2 */
** @description This method uses a dynamically added script tag , which is actually a php file that splits out the feed and puts that into a javascript variable. no securty violations ,no issues . very useful !!!
*/

protoWidget.prototype.readJSON = function(){
var head = document.getElementsByTagName("head").item(0);
var oScript = document.createElement("script");
oScript.setAttribute("src",this.remoteURL);
oScript.setAttribute("id","src1");
this.add('append',head,oScript);
/* makes a call to protoLoad.php here */
}

protoWidget.prototype.add = function(type,addTo,obj){
if(type=='insert'){
addTo.parentNode.insertBefore(obj,addTo);
}else{
addTo.appendChild(obj);
}
}
.
.
.
/* this is called when reading feed is done .in otherwords this is the callback.*/
function readData(_fullXML){
/* thats it ._fullXML is the xml node of the feed ,carry on with the parsing,et cetera . cross browser issue solved . 8 )*/
}

For the full version of the protoWidget.js check it out here .

Oh ,theres no feeling for a geek to substitute writing beautiful code..... 8 )

Keep Clicking,
Bhasker V Kode

Technorati Tags:, , , , , , , , ,

Wednesday, October 25, 2006

How to get hired as a Tutor at TutorVista

Well ,to be quite frank - I intend to try my hand at teaching ,after im done with my stints with software at a later point of time . And heres how you can become a tutor too .

There are three kinds of people that we are looking for for the position of a Tutor , here at Tutorvista . Being a new age company you could be sitting in any part of the world and still be part of the Tutorvista family ,but Id like to explain the options a bit further .

1. Have u always wanted to teach, at some point in your life ?
If you are qualified to train students and have the passion to teach and interact with students from all over the World - from Iran to Egypt to the United States and the UK . Choose the grades and Subjects you are comfortable with and get started with Training that we provide before you handle the students . We take the quality of work, and dedication to time seriously. Both your time as well as those of the students from across the world . And once the training period is completed succesfully -you will certified by TutorVista , and ready to begin .

2 . Are you a school or college Tutor ,looking for part time work ?
Part time Tutors from across India and other countries have found that serving as a part time Tutor at TutorVista have helped them with extra earnings , but provided them with a chance to teach students what you love ....be it Trigonometry , Economics , Classical Music Reading or Japanese ! If you have a skill that you want to share ,then help us extend that satisfaction further by rewarding you for your dedication .

3 . Are you looking for Tutoring as a full time profession ?

TutorVista , is always looking for dedicated personnel to join its growing family worldwide . If you are looking for a full time career in the teaching field or want to shift to the rewarding world of the Tutoring , then look no further . Join now ,as a part time Tutor to get started or if it cant wait - you can always go for our Full Time Tutor positions .

If you feel you come under any one of the above categories , mail in your resume at careers@tutorvista.com with the subject " careers - Tutor#101".

If you on the other hand are a php programmer with 2-3 years of experience with server side programming particularly with extensive database expertise , send your resumes to careers@tutorvista.com with the subject as 'careers - dev#101' .

I can go on and on about the atmosphere here at TutorVista .From the bean bag infested office here in Bangalore, to the Saturday Intra- Office Cricket matches ,to the Celebration parties and the versatile singers that we have to ....uhmmm tolerate :P ...

But its a revolution best experienced than explained. So ,tell your friends & spread the word . TutorVista ......World Class Tutoring,A Click Away .... 8 )

Keep Clicking,
Bhasker V Kode
TutorVista

Technorati Tags:, , , , , , , , , ,

Monday, October 16, 2006

EDITED : Currying in Javascript - a Stress Test

The recent post on the recently established but relevent blog on Datastructures and Algorithms titled "What Arays are for " caught my attention the moment he brought the issue of sending multiple parameters over to functions ,and having a function call instead . Hmmm , interesting point but ...does that ring a bell ...Oh yes ! Sriram Krishnan on Functional programming and currying in C# way back at his msdn blog . Right ,so a quick info at what the wikipedia had to say about currying brought to the table some insightful information ...

"the technique of transforming a function that takes multiple arguments into a function that takes a single argument (the first of the arguments to the original function) and returns a new function that takes the remainder of the arguments and returns the result." - (source -wikipedia )

But honestly , i was a little reserved for even contemplating a " iterative function call VS simple array loops" challenge...however i did test it out ... thanks to the interest "What Arays are for" instilled into me early this morning...

After some time testing the awesome capabilities of the "apply" and "arguments" arguments in javascript ... by which you could generate an inheritance sort of capability by which you could forward all arguments in a present to another just by using the targetFunction.apply(this,arguments) ! wow !!! that should definitley save some time for me in the future (apart from seeing if i can port currying to actionscript ! )

So heres the code .... ive adopted it in relation to the simple example from the nice blog Mr.sanjay maintains , and ported a Currying solution as well.... the results are impressive ,and i feel well worth the interrogation !

The specification is simple ...just tryign to find an average from the total calcualted .
/* EXHIBIT A */ does this with without currying , /* EXHIBIT B*/ is what i hacked for WITH CURRYING...

/* javascript code
* @author Bhasker V Kode
* @date 16th October 2006
*/
/* EXHIBIT A - WITHOUT CURRYING */
var timer1 ,timer2;var ar= new Array();
var noOfStudents = 1000; // tested for 1000,10000,etc
function callAverage()
{
var agesOfStudents = new Array();
var i;
for(i=0;i <>
agesOfStudents[i] = i;
}
var avgAge=0;
timer1 =new Date().getTime();
avgAge = calcAverageAge(agesOfStudents, noOfStudents);
timer2 =new Date().getTime();
alert(avgAge +'found in '+(timer2- timer1) +'ms');
window.clearTimeout(timer2);
}
function calcAverageAge (ages, noOfPeople)
{
var sumOfAges = 0;
var averageAge = 0;
var i;
for ( i = 0; i < noOfPeople; i++)
{
sumOfAges += parseInt(ages[i]);
averageAge = sumOfAges/noOfPeople;
}
return averageAge ;
}


/* EXHIBIT B - WITHOUT CURRYING */
function calcAverageAgeWITHCURRYING(f,x){
return function(){
x = [x].concat(Array.prototype.slice.apply(arguments));
return f.apply(this,x);
}
}

function fn1(){
ar[ar.length] = timer1+','+timer2
}
function add(a,b){
return a+b;
}
function callAverageWITHCURRYING(){
var agesOfStudents = new Array();
var i;
/* filling array from DB /etc */
for(i=0;i < noOfStudents;i++){
agesOfStudents[i] = i;
}

/* starting excecution to find avg */
var sum=0;
timer2 =new Date().getTime();
var div = (noOfStudents%2==0)?0:1;
for(i=0;i < style="color: rgb(0, 0, 0); font-style: italic;">sum += calcAverageAgeWITHCURRYING(add,agesOfStudents[i])(agesOfStudents[i+1]);
}
timer2 =new Date().getTime();
alert(avgAge +'found in '+(timer2- timer1) +'ms');
}

************STATISCTICS************
for 100 students :
with currying : 0milli seconds
without currying :0milli seconds

for 1,000 students
with currying : 31 ms
without currying : 15ms

for 10,000 students
with currying : 481 ms
without currying : 31ms

for 100,000 students
with currying : 5812 ms ( and buttons hanged !! )
without currying : 875ms


So there you have it ...To check it out for youself ...add two buttons on your page ,and call the two functions as follows .... 8 )
<input type="button" onclick="callAverageWITHCURRYING();" value="callAverage with currying">
<input type="button" onclick="callAverage();" value="callAverage without currying">

Keep Clicking,
Bhasker V Kode

Technorati Tags:, , , , , , , , ,

Friday, October 06, 2006

Joel Spolsky heading Dojo ?!?!

I was checking out where I could submit my concept of ajacss ,and speech recognition with ajax,when i stumbled upon The 11th Internationall SOA Web Services Edge 2007 East - International Web Services Conference & Expo, to be held June, 2007, which announces that its Call for Papers is now open.

But what really grabbed by attention was the list of keynotes and panels on the right side of the page . Call it a typo or perhaps some news that I dont know but the page clearly read showed Spolsky,with the word Dojo under the last name .

Heres even a screenshot . screenie1 shows the top of the page that shows Joel Spolsky ,founder Fog Creek . While a little on the right side of the page (couldnt get both in one screenshot ) shows ,soive put that in screenie2

Free Image Hosting at www.ImageShack.usand heres the stealer... Spolsky , Dojo =>Free Image Hosting at www.ImageShack.us

check it out yourself ! Someone 's got some explaining to do :P

Keep Clicking,

Bhasker V Kode

Technorati Tags: news,dojo, spolsky, , bhasker, kode,

Wednesday, September 13, 2006

Proposal for a local Javascript Developers User Group

So your city has its own linux or bloggers user group ...cool . But off late ive been wondering about the need ,or rather the lack of a group dedicated to 'the big J' of scripting languages.

So where do i see this going ? Well ,first up - maybe form a Javascript UserGroup Bangalore Chapter or Chennai Chapter to start off with to come up with an indian Script.aculo.us or Dojo toolkit . Why not !

Ideally it would start off in a small way, and gradually like any other user group - with time mature into a sound and active forum for javascript developers dealing with a number of inherent fields like asynchronous data retreival , DOM and window handling reusable functions , or cross browser issues ,to other problems like making javascript loading more effiecient , dealing with cookies and security , and eventually even come up with suggestions and comments on ECMA scripting .

What do you think are required ..to name a few
=> website / wiki
=> spreading the word
=> ?

I think we can make this work... interested,just post your comments ?

Keep Clicking,
Bhasker V K

Technorati Tags: , , , , , , , ,, , ,

Sunday, September 10, 2006

AJAXifying Your Blog: 3 Ways to Enrich Your Blog

For those missed out , heres a overview of what my session at BlogCamp on Day-1 was about .

Since the unConference was indeed catered to bloggers , i decided to explain how asynchronous methodologies could help in the productivity of blogs in particular ......through 3 methods .


3 Ways that will enrich Blogs in the Future


1. From Content related 'Ads' to content related 'Content'
Traditionally people always took to adding a smart ad -aka adsnese /other text ads to insert ads that are in vibe with the rest of your blog posts /site content . This offers viewers more customized content . But why stop at that . The reason why the best bloggers prosper is because they do most home-work . Take that extra effort to push your own content. I know most people can relate to the fact that they might have made a lot of good posts over the years/months. So how do you get productive and make the most of your own creative content ? By simply reusing it smartly . Clever use of past creative content would give users visibility to explore your older pages . How ? By moving from Content related 'Ads' to content related 'Content'. Gapp in his nice tut yesterday at blogCamp titled "wordress hacks", explained that Wordpress offers the option of having an rss feed of your own categories,which can be placed in a widget /sidebar. Same theory holds for other providers . You not have a neat column of your favourite posts or posts from the blogs you read or feeds from your fav tech hud RIGHT on your blog. Personally i dont see the move towards ajaxy desktops. Instead what people develop is ways to bring content to your own blog.Why go after it . I dont need to go through N feeds ,if i have a neat sidebar with posts from my fav feeds or a list of my friends whove updated their blogs offlate . You get the Picture right .... make your blog all the more content wise with interesting 'content related content '.

2. Better use of your Archives.
Ive always wondered if I could make a better use of the gibberish numbers that take up considerable amount of space . Whats the alternative .Where do I see the future of Blog Archives heading - that pushes the frequency imformation of your posts with dates AS WELL AS inspire people to check out the blogs ?

Check out the demo for yourself .

3. Widgets , Widgets , Widgets
One line of Code . Thats all a bloggers need to have ,and need to get functional widgets. We are going to see more need for develoers to creat ewdigets for blogs ,rather than a site with widgets that you have to go to. Just stay where you are ,and plug them in .From blog statistics and pinkers , to flikr rolls and your favourite quotes . Here are a couple of widgets i showcased - best seen on Firefox.

- BlogCamperKode => a widget i developed for blogCamp
- TechEnclave News Ticker => one line of code (script tag) that adds an ajax forum ticker that reads from the site i help running - TechEnclave.com
- PineFeeds => something i amade sometime in 005 .

So there you have it... It was fun to be at blogCamp , looking forward for more events like this one ,and more geeky garage innovations from yours truly ... 8)

Keep Clicking,
Bhasker V Kode

Technorati Tags: ,,, ,, , , , , ,,,,

Tuesday, September 05, 2006

Into the Top 100 blogs in India

This did come to me as a surprise , But if blogStreet statistics are to be believed , "Bosky Says" , is now into the top 100 indian blogs ( in their list ofcourse ) .Im at 70 odd or so.

Cheers to that 8 )

Keep Clicking,
Bhasker V Kode

Technorati Tags: , , , , , , ,

Presenting a sneak peek at blogCamperKode

I will be attending blogCamp later this month , and like i explained in another post there has been a lot of planning and organising thats going on for the big event to be held in Chennai on September 9th , 2006 . I just wish i was there to help out .

More about what ive been working on with blogCamp in mind , heres blogCamperKode - the small little widget to give info about blogCamp - that im developing ...just for theheck of it ! 8 )

Check out a beta here.

it still has some changes internally to be made,but the functioning and working will be just like how the page above shows it . Before i make it to blogCamp i plan to make it possible to insert the utility with just onle line of code . And presto ! it turns up in your blog/ site 8 )

One request to the organisers though if youre listening in - i need a slot somewhere in the two days ! 8 )


Keep Clicking,
Bhasker V Kode


Technorati Tags: , , , , , , , , , ,

Thursday, August 17, 2006

Presenting "Lines of Kode", and my personal web site

Its been a long time since i posted on this blog. Part of the reason behind that is a new domain that i registered . www.bhaskervk.com where i plan to build my profile .Apart from that a new blog called Lines of Kode(nifty name .i know ! ;) ) has been set up at www.linesofkode.com which points to http://www.blog.bhaskervk.com .

So ill keep this blog to hence forth post technical content ,while i plan to blog on everything else and whats going on in general at my other blog - Lines of Kode

Do drop in there 8 )

Keep Clicking,
Bhasker V Kode

Tuesday, June 20, 2006

Getting Agile ,and joining TutorVista

Here below best describes the Manifesto for Agile Software Development :

Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan

I ve always had my reservations towards adopting theoritically superior methodolgies aka the traditional 'modern' programming paradigms. Object oriented ? Yes ,spared . I refer rather to the likes of quality obsessed services style and often highly automated forms of development across larger organisations. Otherwise ,when it comes to small teams needing to deliver and adapt to changing requirements or scalable realms of innovation - i feel its all another example of "habit taking over originality" thus suppressing tangible forms of innovation, in my experience.

Why do i talk about this now ? The reason being my decission to not take up the offer at EDS,and instead plunge into the world of startups ...namingly the one called "TutorVista" in India's silicon valley - Bangalore. Ofcourse this would mean that my earlier started venture with my other two partners would move into other hands ,and stealth mode . But i will look to come back to ut in the near future . Right now , its trying to out do myself with all the AJAX skills ive developed off late , play with encoding and web based communication interfaces which are at their challenging best at TutorVista.

Joining a consumer-directed setup like TutorVista that focuses on building personalized educational services across mainly the US and UK right targetted at the K-12,college student audience definitely throws open the challenges of where usability and the new AJAX realm will be put to test at its very foundations . Unlike most other web2.0 and off the age companies ,my role specifically at TutorVista would be along with our buddin team here in Bangalore to :
  • Making AJAX deliver its promises accompanied with a sound business model ( no surprises for why doesnt surprise the announced 2$ mn investment by Sequoia Capital .
  • B2C delivering staright up to the user. With the growing team in the operation department, as well as the strategically located business execs on the east and west coasts across the US apart from the UK .
  • The Utilitarian Movement - We address a problem . hitting the nail right where it should be hit . One of the only reasons eBay is what it is right now . It plugged right in seamlessly to existing needs provising real solutions effectively.
  • The Team - to back the venture . With the likes of senior personnel with experience in deverse domains such as IBM, Motorola, Amazon, British Telecom and McAfee. I will be directly under Mr.Ravi Kannan - CTO and one of the earliest members of McAfee when it started up ! Doesnt hurt that the CEO Mr.Ganesh and the team was even featured on CNBC's show to be aired some time now .

Heres what the companies USP is in essence :

Our mission is to provide world-class tutoring and high-quality content to students around the world. TutorVista.com is the premier online destination for affordable education - anytime, anywhere and in any subject. Students can access our service from the convenience of their home or school. They use our comprehensive and exhaustive lessons and question bank to master any subject and have access to a live tutor around the clock. TutorVista helps students to excel in school and at competitive examinations.

So how does it feel to work in a company with such challengin environment, diversified and vibrant personnel ,apart from the startup feel and starting off your career working in a company invested by the same the venture capitalists who invested in Yahoo and Google ?!

one word...Sublime....cant wait to get started at TutorVista ! 8 )

Keep Clicking,
Bhasker V K


>Technorati Tags: , , , ,,,,, , ,

Friday, June 16, 2006

Presenting an AJAX News Ticker - TENewsTicker

IMPORTANT NOTE :
a . Works only in firefox for now , if firefox throws error follow the steps below :
b.1. about:config
b.2. search for signed.applets.codebase_principal_support , set to true
b.3. restart firefox

You may be able to see the ticker live in action at the top of this very blog . As the name suggests, ive compiled a finished version of this ticker which you free to include in your blogs, sites ,etc . Heres another of the little tricks Ive been upto .

What does a AJAX based News ticker do anyway?
Using AJAX to asynchronously display the news feeds .In this case ,ive wrapped a nice interface to allow you to set the delay time , the topic as well as pause / continue the auto change feature. The TechEnclave one in particular goes through the RSS feeds of TechEnclave.com ,an Indian based technology forum that I am associated with .

What do I need to do to add this TechEnclave News Ticker to my blog / site ?!
Just add the following single line to your site / blog /web page under the tags.
<script language="javascript" type="text/javascript" src="http://www.geocities.com/bosky101/teTicker/tetickerscriptlet.js?"/>


Do you have any suggestions, feedback for the developer ? Do you want a news ticker for your own blog/site?
If so, feel free to drop me a comment here, or mail me . bosky101 at gmail.com


Ive also been trying to make this a Firefox extension ,through GreaseMonkey . Anyone with experience with it ,if you can assist me ,i'd appreciate it a great deal to get things done faster.

Keep Clicking,
Bhasker V Kode


Technorati Tags: , , , ,,,,, ,

Saturday, May 20, 2006

Bosky's AjaxLib Toolbar Icons demo

Have a exam on total wuality management tomorrow. But i guess the attempt to study fired some other grey cells ;) So hacked the following over a long days work !

Check out the Toolbar Icons (fisheye style ) demo



Version 4
- 3.30 am : bored and jobless.... enter idea !
- 6.30 am : done with version 4

Version 6
- 2.30 pm : added jumping effect
- 3.30 pm : added cross browser transparency

Compatability
- Firefox
- Internet Explorer

Other comments
- inspired by the a desktop dock i saw somewhere .
- icons from the web / hosted elsewhere .

Keep Clicking,
Bhasker

Saturday, April 22, 2006

I'm in the news !

Feels great to be in the news for a couple of ajax based initiatives regarding my projects . Suggestions, feedback , criticism , comments,and explanations ..... yeah got all of it ! And an insightful experience on the whole .

Who posted - What :

Posts from my blog
Cheers to more innovative work ,web 2.0 , and the joy of rss and blogs !

Keep Clicking,
Bhasker V K

Thursday, April 20, 2006

ajaCSS Low resolution Displays : an experiment

The Master Plan
To be able to trap a doodle or alphabet pattern exactly as the person writes it ,such that the recording is time consistent to the user actually making the doodle. Whats more ,to then be able to re-run /play the doodle exactly the way the user recorded it .So you could call this a sort of doodle recorder /player.

The Objective : TO try to automate and track the alphabet the user tried to draw .

april 19th version
- basic event trigger handling

april 23rd version
- added 5 second timer for drawing doodles
- generate the structured xml data for that 5 second doodle

april 24th version
- added 'toggle click to enable/disable ink '
- added a color chooser
- added a start /stop toggle button ( need to check for continuity of session though)
- removed 5 second cap for recording.
-added duration counter
- corrected xml format to handle inactivity during recording

CHeck out the april 24th version for new Instructions .

any other suggestions ?!

So whats news?!
  • being able to capture the cursor movements as a distinct reproducable xml object without any video/OCR utility involved. Effectively what this does is convert 'x' seconds of low resolution animation into xml ! and whats more ,you can play it back !

So how what can it do?!
  • e-learning systems : where the teacher shows how to write an alphabet, the kid can then keep looking at that .sounds too far fetched ?! hey ,ive got a point here :P ...and so did the microsoft imagine cup winners last year when they made a similiar tablet pc app that draws an alphabet in slowmotion for kids to follow .

  • send and receive animated Doodles ! : another web 2.0 startup possibility with the method i mentioned above .maybe you could have a 'drop me a ajaCSS doodle' on your blog or so . Any takers ?!

  • handwriting recognition : the cells that are touched are noted in a systematic xml format ,so its not tough to see how natural language programmaing developers can use this method for non video/web based handwriting recognition .Whats more ,each user will be first trained to write all the letters. which means that you have that much better chance of deciphering your writing (eg:x pattern might be g for someone,it might be q for someone else ,by analysing a simple formula:
    select ( MAX (no: of matching cells for a particular trained letter) )


Results of recent work

  • View a generated ajaCSS based xml for the letter A generated file for the doodle/animation for the letter A for a 10 x 10 matrix .(tested by myself, not the best though.) (without timing information for every 0.2 seconds) (april 19th version)
  • View with timing information for the letter A (with timing for every 0.2 seconds) (april 23rd version)
Technorati Tags: , , , ,, , ,

Tuesday, April 18, 2006

Sun-Times Google ad deal & Yahoo Maps customization

1.Sun-Times nets Google ad deal | Crain's Chicago Business:
'This limited test is part of Google's continuing effort to develop new ways to provide effective and useful advertising to advertisers, publishers and users,' the Google spokesman says."

2. Maps that are Consistent with YOUR design
Check out the work done with the Yahoo! Maps developer API ,with source .Very cool !
Image Hosted by ImageShack.us

Sunday, April 16, 2006

Presenting ajaCSS (ajax + CSS )

Since i stumbled upon AJAX a couple of months back ,I have been hooked onto making my own AJAX libraries and generally playing around with this piece of UI art.

One of my other projects of interest has been the possible future areas where AJAX can be used . This is what i focussed on during my talk at BarcampChennai titled "Emerging Areas in AJAX " .After showing a few demos on :
  • dynamically creating html elements using DOM (the document object model)
  • dynamically styling the page without postback from a remote CSS file.
  • ajax style presentation /ppt tool where clicking on next would source the next slide
  • simple demo of xmlhttpobject to load xml and txt files .
But what i beleive were the killers were my three pet projects:
  • Speech recognition with AJAX (watch the video demo )
  • ajax + css for low resolution displays (watch the video demo )
  • ajax + css for pattern matching / hand writing recognition (watch the video demo )
I shall now try to explain the above three concepts.

1. Speech recognition with AJAX (watch the video demo )
This is part of my final year project and i just wanted to see if it was possible for sasdk to have ajx features .seems it does . Ill try to attach a architectural diagram below that should explain the same . my other post on this topic also has details.

2. ajaCSS (ajax + css ) for Low resolution displays (watch the video demo )
- > Firstly what is ajaCSS ?!
Its just a convenient term i coined for refering to using ajax with CSS .

- >How can you create low resolution displays with
ajaCSS ?!
What impresed me with being able to dynamically loading a CSS file ,is that if i had a table with' n x n' cells ,and label each with a seperate div id ,then effectively i would have made a single frame of nxn resolution at a time 't' . Now refresh your css with ajax every second or 0.25 seconds ,and you have yourself a low resolution animation possible if you play the cells and their colors right . the quality of resolution is only bound by the number of cells , and hence by loading of a tables style with ajax at regular intervals of time , could make a definite future model for low speed /hi speed internet displays .

3. ajaCSS (ajax + css )for pattern matching / Cursor writing recognition (watch the video demo )
Continuing with the ajaCSS based 'n x n ' display model ,in association with the mouseover event could let the cells that the mouse has traced to be highlighted. then using an eexpert system or so , you could then recognize the alphabet the user attempted to trace . Neat huh ! 8 ) .

Now to continue research into these areas, or startup based on the business potential .Thats the question ! 8 )

edited: also check out my post on ajaCSS Low resolution Displays : an experiment

Keep Clicking,
Bhasker V K




Technorati Tags: , , , , , , , , , , , ,

My final year project - Speech Recognition with AJAX

Our project titled - "Component Based Intelligence System for Text Summarizing using Interactive Voice Response" , explores the implementation of speech recognition of dynamically generated grammars ,and subsequent data retrieval using the Asynchronous Javascript and XML (AJAX) client server model and compares it with a traditional client server model .

View Architecture image

This project was part of the final year project to be submitted as per anna university 's 8th semester project .My team mates were Prakash Hariharan and Manikanadan T ,apart from myself Bhasker V K ,all final year IT Dept , Sri Venkateswara college of engineering ( SVCE ).

View project demo video




Technorati Tags: , , , , , , , , , ,

Wednesday, April 05, 2006

C# From a Java Developer's Perspective

C# From a Java Developer's Perspective: "A COMPARISON OF
MICROSOFT'S C# PROGRAMMING LANGUAGE
TO SUN MICROSYSTEMS' JAVA PROGRAMMING LANGUAGE
By Dare Obasanjo" seems to be the most comprehensive and insightful article i have come across that deals with the comparison of java with C# . A resourceful read .

In addition , i also found this feature very interesting ,that allows the page to be an asp.net page be .html instead of .aspx :
Output ASP.NET Page to HTML
here are various reasons why it would be more appreciative to have the html page to be served to client.

In normal cases we have a webpage where the data is retrieved from the database. This data could be huge and may be its not changing frequently too. In such cases is there a need to always make a trip to to retrieve the data and sent it to the client??



Technorati Tags: , , , , , , ,

Tuesday, March 14, 2006

Presenting TEBookmarklet 1.0

Gathering inspiration from the nifty bookmarklet to add technorati tags to your blog posts ( as ive done below ) , i played around with some javascript and that led me to a day of challenging and - at the end of the day - satisfying piece of coding .

To install a beta version of this bookmarklet,go to this page and drag the TEBookmarklet1.0 linknear your browser toolbar under your address bar. Else wait till it is published on TE full the final version .

Presenting the TEBookmarklet1.0 a tool that i feel could help TechEnclave users and News posters especially. Its a very easy- to - use util that i spend today making ,and let me give a walkthrough :

Walkthrough

  • - suppose your on any page in firefox
  • - select any text ,click on the bookmarklet
  • - a new popup asks which section you want to post into
  • - click go,and the new thread comes
  • - text is automatically copied ,so go to the thread area and paste to get the text you highlighted in firefox in the thread.
Where it will be useful :
  • - for newposters who find something on the fly and can post quickly .
  • - for users ,a faster way to reach and post.
  • - can also be used as a copy highlighted text

Requisites
  • -You are registered and logged in as a TechEnclave user (register here)
  • - firefox with javascript enabled ( bookmarklet made for firefox as of now )
  • - Need to allow the site to allow popups when prompted (adblock wil by default disallow it )

I have made this tool for the TechEnclave Forum especially . To explore how you can have this feature for your site/blog or to help me code and migrate to IE as well ,do drop in a comment.

Keep Clicking,
Bosky ,
Staff & Super Moderator - TechEnclave.com


Technorati Tags: , , , , , ,

Live Clipboard , from Microsoft

What is it ?
The Live Clipboard web control is a DHTML control that provides copy/paste functionality for data associated with a web page using the Live Clipboard XML data format. It consists of the following components:
  • UI elements for displaying the Live Clipboard icon
  • Javascript objects representing the Live Clipboard object model
  • Javascript that handles serialization / de-serialization of the Live Clipboard XML data
  • Javascript callback function registration for retrieving data for copy, pushing data for paste, and notifying when the control is “selected.”
What else ?
  • uses standard Javascript and CSS techniques
  • works in many browsers : IE 6, IE 7 Beta 2 Preview ,Mozilla Firefox , Safari .
  • does not depend on installation of any client side applications or browser plug-ins,
  • and it never gains access to the contents of the clipboard without explicit user action to paste.
Check out the "Live Clipboard " demo here.

However ,I did wonder how it would handle certain events ,which we will try out now shall we :

Hypothetical Situation 1

step1
: copy complex object /data
step2 : copy normal clipboard text
step3 : paste complex object / data

Result 1 : shows error on status bar .

Hypothetical Situation 2
step1 : copy normal clipboard text
step2 : copy complex object /data
step3 : paste normal clipboard text

Result 2 : copies gibberish.

im not surprised that it did throw up this behaviour , but what would be really great (and this is feedback ofcourse ) is a way to identify and seggregate the two so that both the hypothetical situations will still show positive results .

So "Live clipboard team " , if your listening 8 ) - heres a feature that im sure you guys will give a thought into before the release .

Keep Clicking,
Bosky





Technorati Tags: , , , , , ,

Monday, March 13, 2006

The BarCamp phenomenon hits Chennai

The Web2.0 wave in Chennai ?! Well by the looks of what Kiruba Shankar and other volunteers have pain stakingly organised , I should get geared for a fun filled ,and geeky two days at the first Chennai BarCamp on April 8 and 9th ,2006 .

A little history from the BarCamp wiki

BAR Camp was created as an open, welcoming, once-a-year event for geeks to camp out for a couple days with wifi and smash their brains together.The first BAR Camp was held in Palo Alto, CA, from 2005 August 19 to 2005 August 21. An estimated 200 participants attended and gave numerous presentations on a wide variety of high-tech topics including:
  • Wikis and other collaborative editing paradigms
  • Social impact of technologies
  • Voting methods
  • Technical and physical security
  • Version control, configuration, and package distribution
  • Synchronous telephony
  • Women in technology professions
  • High-tech business models
Attendees must give a demo, a session, or help with one. All presentions are scheduled the day they happen. Prepare in advance, but come early to get a slot on the wall. Presenters are responsible for making sure that notes/slides/audio/video of their presentations are published on the web for the benefit of all and those who can’t be present on 8th and 9th April 2006.

Even as i speak , BarCampChennai is gathering mass ! So be there if you have something web savvy to contribute or just sink into and basically as the motive goes :
"To learn, meet people who share different interests, contribute, and push yourself and your thinking "
Keep Clicking,
Bosky



Technorati Tags: , , , , , ,

Thursday, January 05, 2006

Chennai MS Community Launch ,January 8th

Heres some rocking news for software enthusiasts to kick off the years activities .

The Chennai .NET User Group welcomes you to the VS2005 Community Launch on January 08-2006 at the Tidel Auditorium (Tidel Park) and is also celebrating its 3rd Anniversary with this launch .The one day event ,being the first event for the year will be filled with technology and fun ;seminars from leading speakers talking on the key features in the new Visual Studio 2005 , SQL Server 2005 ,and Biztalk Server 2006 ,seminars , free software Goodies , and fun events . Registration at the venue starts at 9.30 am . Also register yourself for the event at http://groups.msn.com/chennainetusergroup/communitylaunchsignup1.msnw
For more information on the event ,also check out www.cnug.net
For copies of posters to ciculate in and around your campus / locality / peer groups please contact me .

Do join us and 'Get ready to Rock' ! .

Bhasker V K ,
Microsoft Student Partner,
Marketing Manager - Chennai .NET Usergroup - Student Chapter