Wednesday 10 December 2008

Silverlight Toolkit - Merry Christmas!!

Go grab the silverlight toolkit from here. A newer version got released today. If you are wondering what's new,

Here, take a sneak peek

What's New?

  • More than 80 improvements and bug fixes
  • AutoCompleteBox and NumericUpDown have been moved into the Stable Quality Band.
  • Three new themes have been added: Bureau Black, Bureau Blue and Whistler Blue.
  • The sample application has been given a make-over and is now more polished and easier to navigate.
  • More tests added.
  • Better design-time support in both Visual Studio 2008 and Expression Blend, including icons, property tooltips and better property organization in the property editor.
  • AutomationPeer support added for AutoCompleteBox, Expander and NumericUpDown (as well as UpDownBase).
  • Charting improvements galore!

What's in the Silverlight Toolkit December 2008 release?

Some Links

Silverlight Tookit Quick View

Monday 8 December 2008

Motherjane - All set to create vibes from the fields of sound!!

_DSC7426_Edit

Motherjane a band from cochin (if i'm right) are a bunch of highly talented creative musicians. These guys are true artists.. Their sound is unique, lively, original and backed by good lyrics. I've been a fan since early 2002. I distinctly remember my first experience listening to 'Mindstreet' from a GIR CD (Thanks to montry) It surely did wow! me and since then i have huge respect for this amazingly talented band and boy they deserve some respect!. See the videos below. (i only wished that they managed to make a good video. It's noticeably a bit patchy, not polished well. It's a shame that such talented bands do not get noticed by creative media guys.) I guess we need to spread the word and so here i am doing exactly that..Their's nothing that comes close to describing their sound. All i can say is, the band has certainly taken huge influences from carnatic music and you can definetly hear that vibeing out of Baiju's guitar and eventally the band itself. The sound is unsurpassed, unmatched and totally phenomenal. To me they are inarguably the 'Indian' Dream Theater.

One of the most amazing things about both the music videos from ‘Maktub’ is that one was shot in 25 minutes (”Fields of Sound”) and one in 15 minutes (”Chasing the Sun”).

Maktub - Motherjane Promo

Fields of sound..

Long before religion, music is probably the first spiritual experience anyone is initiated into and this song is a celebration of the knowledge that our souls have been sung to..

Fields of Sound on youtube

Chasing the sun

"Time is the actual distance between people when ones chasing the sun". Brilliant Song!

The band's front man suraj speaks to split magazine on their experience with chasing the sun

"We, being a positive bunch, just enjoyed the trip. Twenty to thirty hairpin curves at an indecent speed took a lot of that joy out of us. As we reached, the sun was well on its way down and the place was closed to the public. It took a precious 25 minutes to find a cop who finally removed the barrier and let us in. Once again the shoot was on. We removed John’s drums and sped down a hill looking for a horizontal surface. We didn’t even have time to think about whether the sun would go down before we set up shop. Actually, I guess all of us did, in the back of our minds. The crew got one camera positioned and we played the song the first time. The sun was sinking. We relocated the camera and took shot number two. The sun was really on its way out. Like a friend of mine in the advertising world said, we all think there’s a lot of time in a day until a shoot happens.

The third time, the camera moved as a handheld. I still don’t know how much of that footage was usable and the only thing in our control was to enjoy the take. We did just that, standing on that beautiful mountain and looking over at the space that expanded before us and giving it all that we had as the sun made its final descent.

In retrospect, I can make the remark that we were ‘chasing the sun’ in every sense during the shooting of its video. "

 

All time favourite - 'Mindstreet'

Mmm, I take a step
in my sleep,
The id lies bleeding in mindstreet.
My angel's shot, full of holes
But now I know how to get him home.
In this world,
made of myth,
The rules change with every beat.
There's magic
in the air,
'Cos here the gods hear your prayer.
Come act your dream in mindstreet,
Do what you want, go where you please,
Kick the devil in his B's
Stop living on your bleeding knees
Will... not give up, they say,
This is the way to Serendip.
Close your eyes,
learn to breathe,
The oceans are just a few thoughts deep.
Believe me...Not in me,
The messenger is rarely worth it.
If you wanna trip, go inside
Where the secrets of the universe hide.
And this is how, it's meant to be
The journey is the way you pay the fee.
Come act your dream in mindstreet.
Do what you want, go where you please.
Kick the devil in his B's
You don't have to live on your knees.
Keep coming back, oh yeah
Human kind has always sensed his track.
Feels better everytime,
To know, that we are all divine

Saturday 6 December 2008

Ideas from IBM - You've got (TOO MUCH) mail..

This white paper can be found here. It talks about efficient ways of handling information overload. The other interesting aspect to look out for is the IORG (Information Overload Research Group) which consists of people from IBM, Microsoft, Intel and various academia. :-|

Schneier on Mumbai

Schneier talks about security w.r.t the Mumbai attacks.

http://www.schneier.com/blog/archives/2008/12/lessons_from_mu.html

Thursday 4 December 2008

jQuery Basics

I’m going to demonstrate a few basic jQuery stuff that you should know before delving into jQuery. If you are new to Javascript you need to be starting here[link]. This might help[link] too. The audience for this tutor are ideally JavaScript novices who want to make a start with jQuery.Let’s start by understanding this small example -


the window.onload() event.




<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery Basics</title>
</head>
<body>
<script type="text/javascript">
window.onload = function(){ alert("Hello JavaScript!, document Loaded."); }
</script>
</body>
</html>



Now, As you are already aware, the window.onload event is fired when the HTML window loads. In the above code, look at the Javascript, on window.onload() event, we are calling a function, which alert’s the text “Hello Javascript!, document Loaded.”. This code usually runs smoothly unless for instance, if you are loading a lot of images, Then Javascript code isn’t run until all images have finished loaded, including banner ads etc.


Now, We have an interesting problem, In your window.onload() event, if you want to manipulate your document,( which is essentially the HTML DOM (document object model) ), then your document hasn’t loaded yet and your Javascript might not work correctly.


In order to over come this problem, jQuery gives you a basic construct the - ready event which looks like



$(document).ready(function(){
//Your Javascript code here..
});



Let’s now quickly try an example,



<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery Basics</title>
</head>
<body>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<script>
$(document).ready(function(){
alert("document has loaded, you can execute your js here..!");
});
});
</script>
</body>
</html>



First thing to note is that above example links to Google’s CDN to load the jQuery core file. You can download the latest version of this file from the jQuery website.Here, the alert statement is guaranteed to work only after the document has finished loading.


jQuery CSS example



<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery Basics</title>
<style>
label.test {font-weight: bold;}
</style>
</head>
<body>
<label>This is a label</label>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("label").addClass("test");
});
</script>
</body>
</html>



Here, we use the .addClass method to the label element to add a css class. Notice that this code is placed inside the $(document).ready(function(){}); To remove the class ‘test’ for the label element, replace the addClass(“"test”) with the removeClass(“test”);

jQuery Effects example



<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery Basics</title>
</head>
<body>
<labe>This is a label</label>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("label").click(function(){
$(this).hide("slow");
});
});
</script>
</body>
</html>

Click on the label and notice that it slows disappears.




jQuery Callback example


The syntax for executing a callback with no arguments



$.get('myhtmlpage.html',myCallBack);



Here, the function myCallBack() is executed after the page ‘myhtmlpage.html’ is got from the server.


What the above Javascript code is doing is, It’s registering the function ‘myCallBack’ (notice that when you write it, it’s without () ), to the get event. i.e ‘myCallBack’ will be executed after the get is done.


 


Now, Consider a scenario wherein you need to register a callback function by passing arguments.


Do not try doing this, this is Wrong



$.get('myhtmlpage.html', myCallBack(param1, param2));



The above line won’t work because, myCallBack(param1,param2) is executed before it’s registered. In other words, The returned value of myCallBack(param1, param2) is registered as a callback function, which is not write.Javascript is expecting a function pointer here. so, the right way to do this will be to enclose  myCallBack(param1, param2) with function(){ }. Yes, you guessed it, that’s the anonymous function. (I’m really really found of this Javascript feature, sometimes it makes me think, that’s where languages like C# got the ideas from, C++ is an obvious choice Smile with tongue out)



$.get('myhtmlpage.html', function(){
myCallBack(param1, param2);
});

In the above example, an anonymous function is created (just a block of statements) and is registered as the callback function. Note the use of 'function(){'. The anonymous function does exactly one thing: calls myCallBack, with the values of param1 and param2 in the outer scope.


I’ll soon be writing more on jQuery and jQuery UI which i’ve started to use extensively off late. The following is worth reading for more.





Next Steps