free hit counter March 2007 - Posts - Nauman Leghari's Blog

March 2007 - Posts

I personally use my own host to store snapshots that I embed on this blog. Normally the workflow from taking the snapshot to FTP'ing on the server requires three steps.


Use FastStone Capture to take the screenshot -> Open FTPZilla -> Upload picture and note down the URL


Now, with the help of Cropper and the "Send To FTP" Plugin, it is reduced to a single step which saves time as well as effort.


The plugin will get the image stored on your hard disk by Cropper and upload it on your selected FTP address. Once the file is copied, the generated URL is automatically copied to the clipboard. Easy, isn't it?


The plugin will also ask you to name the target file name on the FTP Server.  You don't need to enter the file extension here. Currently, It uses the png file format and add (.png) to the file name automatically. If you press Escape or Cancel then it will use the default file name that Cropper generated automatically.





-- Extract and copy the files in the plugin Cropper folder. If you already have plugins then just copy the files to the plugins directory.


-- You can get the Cropper.Plugins solution and add this project in that solution.

How to configure FTP Settings:


Make sure that you have placed the dll in the plugins directory.
Then Right Click -> Select Options -> Then Plug-ins




Here is a brief description of the different options:


FTP Address:
Name of your FTP Server. You can add directory in front of the address.
For E.g.:
Or Simply:


Username and Password are self-explanatory. Use Anonymous/Email address for anonymous access.


HTTP Address:
The HTTP address which will be used to generate the final URL. 
For E.g.: If you are uploading file abc.png on FTP Address
And HTTP Address is
Then the generated URL will be


Brian Scott:

Cropper Plugins:
FastStone Capture:


Hope you'll like this plugin. Please leave a comment If you have any question about the source or the addin.

kick it on

Gemstone, Tangosol Offering Native .NET Clients to Distributed Data Caches

Tangosol recently acquired by Oracle

WPF/e vs DHTML vs Flash vs WPF performance test

Emcaster: Topic based multicaster (Java and .NET)

Keep your multi-core CPU busy with F#
( My Goal: Learn Erlang )

I have just released 0.2 for Younx. Now you can schedule reminders by using the following syntax.


Visit Younx


At Java Tech Days today, I came across an exciting project called GreenFoot to introduce people to Object oriented programming by creating interesting real world examples. GreenFoot is based on the BlueJ platform which you may already know about. BTW, BlueJ pioneered ( or was it Smalltalk? ) the Object Test bench which is introduced in VS2005.

Some people say that Microsoft copied BlueJ here. Although this is true in a sense and credit should be given where due and not by trying to patent the technology :). But I give Microsoft or that specific team credit to introduce OTB to the masses. I asked the presenters whether NetBeans supported this and the answer was "No". Eclipse, not sure?

Ok, coming back to Greenfoot, it a like an IDE with a prebuilt graphics engine and a few top level objects like World and Actor. Now, you can start by putting objects in that world and then interact between them.

From the website:

"Consider greenfoot as a combination between a framework for creating two-dimensional grid assignments in Java and an integrated development environment (class browser, editor, compiler, execution, etc.) suitable for novice programmers. While greenfoot supports the full Java language, it is especially useful for programming exercises that has a visual element. In greenfoot object visualisation and object interaction are the key elements. "

It is difficult to put that in words but it is definately a cool project. It is free therefore you can try it out and recommend it to anyone starting with OOP and/or programming.

[What is greenfoot] [Download]
Here is a screenshot directly from the website. [Gallery]

Recently, Microsoft did come up with a version of Express Editions for Beginners which I admit that I dont know much about and can't write anything without spending any time. But, I would recommend the team doing that to look at some of the things over in Java world and see what you can copy :).


Just finished updating the project on Codeplex. Now the new home of Younx is


I finally come up with the name for this project.



Let's assume that we are a fictitious start-up trying to compete in the IM bot market. We are trying hard to add new features every week. Last week, we added the killer conferencing feature which is not yet provided by the competition but later found that most of the calls were being made by spammers who caught us through the recent TechCrunch announcement. Based on that, we decided to implement authentication by IM. We also noticed that Email is not sufficient to identify someone therefore we'll use mobile number to authenticate a person using SMS. 


The process is similar to CAPTCHA therefore I'll call it IM-CAPTCHA (TM-notyet). The following diagram shows the process flow from the first try by the user to the point where he finally registered, authenticated and uses the service. I needed an Actor for this and decided to impersonate one of my colleague who recently left BT  to join FitnessFirst.

Paul Hillman is a completely new customer of our service and this is the first time he is trying to use it.


Here is the description of the steps shown above.


1. Paul tries to send an SMS command but It fails because Paul is not registered on the system. He will get a response that he can register by providing his phone number.


2.  Paul responds by sending the register message. The bot then entered his info and send an sms to his mobile phone number to confirm his identity.


3. Now, Paul uses the unique number to finally validate himself.


4. Once he is validated in the database, Paul can successfully use any of the services provided by the bot.


Mr Hillman is definitely happy now :)


Download Younx  


Few things you need to setup the project:

- Change the login account and password in MSNSandbot/App.config file
- Add admin account into the database
            - Goto the output directory
            - run: sqlite3 btsdkbot.db (This will open the database)
            - run: .tables (To see the different tables in the database)
            - run: select * from User (To see the users)
            - run: INSERT INTO User (Email, Phone, Authorized) VALUES(
- Change admin email in the BTSDKAgent/App.config to match the one you just added. 


Next in this series, our startup will try to catchup with our competition by copying their features :).


Logo by LogoCreator

From the website:

  • I'm Hungry - Use SMS to find nearest restaurants offering a special deal, then make a reservation. Featuring Web21C and TopTable.
  • SMS Geoblog - Create your very own blog via SMS, and have each entry tagged with your current location. Share your GeoRSS feed, view it on Yahoo Maps, or search other bloggers' posts in your vicinity.
  • TranslateIt - Say it like a native with the help of Web21C, BabelFish and a text-to-speech engine.

Trying out MSMQ from Python is a pain as it is from unmanaged code. But, by using python you get the benefits of using the System.Messaging namespace with the flexibility of dynamic code. Here is how you can do this.

Start IronPython by

ipy.exe -X:TabCompletion -X:ColorfulConsole -X:ExceptionDetail

>>> import clr
>>> clr.AddReference('System.Messaging')
>>> from System.Messaging import *
>>> queue = MessageQueue('.\\private$\\myqueue')
>>> queue.Send('Hello from IronPython')


There it is, your message in MSMQ. Note this code assumes that you already have a queue with that name. If you dont have it, then lets create it now.

# First store the queue name is a string, so that we dont need to type it again
>>> targetQueue = '.\\private$\\myqueue'

# Lets check if it exists or not
>>> MessageQueue.Exists(targetQueue)

# Ok, create one now
>>> MessageQueue.Create(targetQueue)
<System.Messaging.MessageQueue object at ........>

Now you can send it by using the process above.
You have to try this out to see how cool is IronPython and its parent Python.

From the website:

"Antelope stands for Advanced Natural Language Object-oriented Processing Environment. This framework facilitates the development of Natural Language Processing software. Antelope, currently in (beta) version 0.7.1, is designed for the Microsoft .NET framework 2.0. Therefore, you can use it with C#, Visual Basic.NET, Delphi.NET and many other .NET compliant languages (even COBOL.NET!)."

See other features and download it here (registration required)

Microsoft Home Server is a step from the Redmond Giant to counter Google cubes.

Gizmo Project: The new version integrates voice calling to other IM networks (YIM, MSN, GTalk)

ETel Coverage: The future of Telephone

SOA + CEP = 'a new physics of computing'

More Posts