Facebook ✔ seen 01:58


 

You might have noticed that recently FB added a new feature in the chat to show whether the other party you are chatting with have seen the messages you send or not. This is a cool feature for some extent as long as I can check whether my friends have seen the message I send. But same theory applies to me as well. I personally do not like this much.

There are plenty of other ways to avoid a person in FB. Simply I can make myself offline to that particular person. But let’s discuss about something really wobbly about this feature.

Technically speaking this seen feature can be implemented in many ways. And also a real question I have in my mind is ( and FB did it in a very sneaky way) to know whether FB assures that the other person read it or not. The answer is No.

I tested few scenarios of this ‘seen’ feature.

The rule of thumb is, FB detects the seen when and only if your browser tab on which FB is loaded and the chat window of a particular chat are open and in focus.

Simple.

And FB says whether the user has seen the message or not. It doesn’t say anything about whether the user has read the message. Because FB sends the seen acknowledgement to the other party approximately after 8 – 9 seconds from the time it got the focus event fired. In some cases this time is very short; something between 1 – 3 seconds. But it doesn’t bother about the length of the message whether the message can be read in 10 seconds or not. So it just says the users has simply seen the message. It makes perfect sense.

In Windows 7 we can hover the taskbar icons and get the full snap of the windows we have opened. From the OS perspective this is not focus. This applies to FB as well. Because technically in FB this feature works on Javascript focus events which get the focus signal from the browser, where the browser get the triggers from some sort of a system call from the OS.

So you can use this method to read the messages without getting caught. :) but this is not always possible and easy.

Imagine Cup 2012 – Srilanka


The team I lead won the Microsoft Imagine Cup 2012 local finals in Srilanka in software design category, and now we are expecting to show the colors in Sydney in the world finals.

No need to tell much about the Imagine Cup since it is one of the most famous and prestigious technology competition hosted world wide by Microsoft to solve or support the toughest problems that the world has been facing for decades; which are also addressed by the United Nations as their Millennium Development Goals. More Info : http://www.imaginecup.com

When considering the Imagine Cup and myself I have 2 years of experience with Imagine Cup. In 2011 also, I competed under software design category with a difference group lead by one of my friend and our solution got the 2nd runners up in the local finals. This time I was invited by my few other friends to join and lead the team.

I joined them and we created a solution which can creatively support the sustainable development of the country. Our solution is simply and carefully crafted to be developed on top of already available technologies such as Facebook and mobile phones. This gained a massive reach to our solution.

I’m very happy that my team won the Imagine Cup, I personally feel very happy about that we brought the Imagine Cup to the Faculty of Information Technology after 4 years.

We hope that we’ll do our best in the world finals.

Windows Phone SDK in Windows Server 2008 R2


I have been using WS2K R2 in main primary laptop for last 5 months. I wanted to install the Windows Phone SDK on my server. Then I got the error that WP SDK is not compatible with the Server OS. I googled and finally found this useful link.

http://blogs.msdn.com/b/astebner/archive/2010/05/02/10005980.aspx

If you have an offine WP 7 installer like an ISO file extract them using any file compressing tool and follow the steps mentioned in the above link.

But another pain point is Zune does not support on the server OS. Don’t worry .. I did the search again found this following link.

http://robmensching.com/blog/posts/2009/9/12/How-to-install-Zune-software-on-Windows-2008-R2

Personally I didn’t check the Zune install on Windows Server 2008. So if it is not working don’t blame me, I just believe the Google :)

 

C# Delegates


Delegates offer a great deal of power to the C# and they fundamentally alter the way C# works compared to Java. I came across an article about delegates in C# from one of the MSDN blogs.

Here is the link

The link has the code where you can simply understand just by reading scanning the code.

The funny part is the author has mentioned that if you still want to execute a delegate in a asynchronous way and still need more control on that, then try executing the delegate from a thread. It’s true. But I can’t imagine a situation why we call delegate as a new thread, rather we can simply use the new thread for the work.

But if you think a little more you can really understand that, author has a good point in that, which really explains and clears the confusion most of the people have on delegates, which is whether the delegates are synchronous or asynchronous.

Delegates can be called either synchronously or asynchronously.

Rajini Style App


 

Hi, I never thought of writing a post today. But this website made me to do so. http://www.desimartini.com/​allaboutrajni.htm

A tribute for the creativity of those guys, it’s simply cool. So what is it to have a Silverlight version of the Rajini style app.

No big worries here’s the code. I named it as Rajini Style app. The code is not a matter here, but I salute the creativity of those guys who really made us think.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Net.NetworkInformation;

namespace RajiniStyleApp
{
    public partial class MainPage : UserControl
    {
        public MainPage()
        {
            InitializeComponent();
            NetworkChange.NetworkAddressChanged += new NetworkAddressChangedEventHandler(NetworkChange_NetworkAddressChanged);
        }

        void NetworkChange_NetworkAddressChanged(object sender, EventArgs e)
        {
            if (NetworkInterface.GetIsNetworkAvailable())
            {
                textBlock1.Text = "You need to switch off the Internet \n in order to view the content";
            }
            else
            {
                textBlock1.Text = "Disconnected ... Runs on Rajini power >> \n visit :: http://www.desimartini.com/​allaboutrajni.htm ";
            }
        }
    }

 

You have to add the System.Net.NetworkInformation namespace.