Concept Maps for sharing knowledge

A concept map is a graph to organize (domain) knowledge. It’s a way of representing concepts (entity/act/idea/process) and relationship between them. It is developed to facilitate learning and knowledge sharing among humans. Here is a simple concept map describing myself.

Concept Map of Ankit

The concept maps are quite similar to RDF Graphs, where we can explain entities and relate them with predicates only. With concept maps we can related any concept/idea with either predicate, act or relationship (RDF becoming more stricter).

Wish you a very Happy New Year!
- ankit

When Matrix runs on Windows!!

this is interesting …



Take the red pill, get the blue screen!

ha ha.. nice humor.

How to break password for Tally 4.5 accounts

Here is an simple patch for Tally 4.5. If you have lost your password, you can use this tool to unlock/recover tally account/company data file and access them again. It works only for basic security level (if the file is encrypted then this tool does not work).

Complete steps are written in the readMe.rtf inside zip. Make sure you take *backup* before applying the patch.

Download it here: tally password crack

- ankit

GTalk Hacks and Tweaks

Here are few hacks to use with Google Talk:

  1. Did you ever wish to run two instances for GTalk? This is possible and plain simple. Navigate to the shortcut that launches Google Talk (if not available, right click on C:\Program Files\Google\Google Talk\googletalk.exe and select Create Shortcut). Open properties. Add /nomutex in the target textbox.
  2. To keep GoogleTalk always on top: Go to the registry entry HKEY_CURRENT_USER\Software\Google\Google Talk\Options, create a new DWORD show_pin and set its value to 1. Restart GTalk and you will see a pin near the minimize button.
  3. To bring all GTalk windows in front press [Win] + [Esc] keys on keyboard.
  4. To write in bold use *this text is bold* and for italic _this is italic_.
  5. Coping someone’s avatar: Navigate to %userprofile%\AppData\Local\Google\google talk\avatars\. This directory contains all avatars cached in PNG format (rename them). Search by email in avatar.txt to find your friends avatar.

- ankit

Podcasting Making Easier

Here is how you can embed a mp3/song on a web page:

<embed type="application/x-shockwave-flash"
src="http://beemp3.com/player/player.swf" style="width: 290px;" id="126954385" name="126954385" bgcolor="#ffffff"
quality="autohigh" wmode="transparent"
flashvars="playerID=1&amp;bg=0xCDDFF3&amp;soundFile=http://www.tdfast.com/mfiles/headroom-Happy_Birthday_.mp3&amp;autostart=yes"
allownetworking="internal" allowscriptaccess="never" width="290" height="24">

You should replace the mp3 file mentioned under soundFile variable. The autostart=yes variable causes the player to play mp3 immediately (it can be removed).

You can follow this to add jingles on your friend’s scrap book. Here is an example of a Birthday jingle :)

For more information about customizing refer http://www.1pixelout.net/code/audio-player-wordpress-plugin/

- ankit

[Edited: this one for Happy New Year

<embed type="application/x-shockwave-flash"
src="http://beemp3.com/player/player.swf" style="width: 290px;" id="126954385" name="126954385" bgcolor="#ffffff"
quality="autohigh" wmode="transparent"
flashvars="playerID=1&amp;bg=0xCDDFF3&amp;soundFile=http://www.electricpocket.com/ringtones/Xmas/HappyNewYear.mp3&amp;autostart=yes"
allownetworking="internal" allowscriptaccess="never" width="290" height="24">

]

Visual Studio - Database Project Not Loading

Have you ever created a Database project and after some time you are not able to load it in the Visual Studio? Probably you might be getting following error:

An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)

The database project requires an active database connection to load at design time. Probably it uses that to compile/verify scripts. The problem here is Visual Studio is not able to connect to any such instance. Following are few solutions (these worked for me)

  1. Make sure the instance to which you want to connect is running and allows remote connections.
  2. After performing step 1, if it is still not loading then you may need to start the SQL Browser Service. Make sure it’s running.
  3. If the problem is still there, it has to be fixed from Visual Studio itself. Actually database project do not store to which instance it can connect. It’s a Visual Studio setting. In VS2008 go to Tool > Options > Database Tools > Design-time Validation Database > Connection Options. Specify your instance name here like “.\SQLEXPRESS”

If the problem is still there post it to MSDN forums :)

Ankit

Sony Ericsson W660i: Features (Review)

Two days back I bought W660i, a Walkman series mobile phone from Sony Ericsson. It features 2 MP Camera, Walkman 2.0, FM Radio, 512 MB card, Bluetooth, Video Call, Email/RSS, USB mass storage, Flight mode, Synchronization services, Stylish, … … all these in less than INR 9K.

Front and Side view of W660i

In addition to those common features, this phone features something new. In this post I’m going to write those specifications which you won’t be able to know unless you buy the phone. Here are a few…

(more…)

Eating Exceptions… eeehhhh!

Following are few points you need to take care when you decide to eat an exception. These are very much specific to C# language.

a. Limit the code block. Attempt to wrap one or two statements within try.

b. If an exception is eaten, log details to some logging mechanism. In short never write empty catch catch(Exception) {}.

c. Never eat exception that indicates some bad behavior of code execution like - ArgumentNullException,

NullReferenceException,

ArgumentNullException,

InvalidCastException,

InvalidOperationException,

AccessViolationException, etc;

d. There is a big difference between throw and throw exeception statements. This is in terms of resetting stack trace which the later does. If you are writing a framework or want to hide your internal implementation use throw exception, otherwise use throw only.

- Ankit

Let’s Digg into Google Maps

The Web would not be so simpler and interactive without Ajax. This technology makes Web applications pleasant, interactive, quick responsive and light weight. Take any of the online map applications, no matter whether it is Yahoo Maps, Google Maps or Windows Live Local, and you will find awesome precession, cutting edge technology (beyond DHTML, XML and JavaScript) well managed data. Being software developer, these always attract me and I want to understand the scene behind those best software architectures/implementations. Over the last few days I was studying (hacking) Google maps and wanted to see how it works? Here are my investigations.

Tiles: The very first observation is – not whole map is fetched at once. Instead the entire map is divided into tiles and a series of Ajax requests are fired to retrieve some part of the actually map. As soon as a tile is fetched it is displayed at its position. Their position is well calculated no matter user drags the maps while requests are on the way. The benefit here is, the user interface remains responsive and it makes user eager to analyze an area of map as soon as it’s available.

Pune-Google-Map.jpg
(more…)

My Online Presence

Hi,

I’m {PREF=”ID=cfd6bd57439bc4a9:TM=1205732323:LM=1205732323:S=tT1f1NaLxjumQJbv”}. I’m a regular Internet surfer. On an average I’m online for more than 8 hours a day and that makes me to think of a new phrase - ‘my online presence’, and somewhere it may hurt my privacy.

In Web 2.0 big companies are competing to gain as much as information about Internet users that they can show targeted contents especially ads.

The game players have already begun their game. They know about what web pages I visit, they know my friends, they know what I prefer to buy online, then know which newspaper I read frequently, which mail account I use frequently, what do I search every day, what videos I watch online, where do I live, how much time I spend on Internet, what types of ads made me to click. They have my all photographs, my daily calendar/schedule, my mails (may be your credit card statements in form of emails), and all my chat conversations. They even know what music I listen, my attitude, my behavior, and even what I’m doing currently.

They say it’s all automatic, machines (computers) read and process information giving you personalized service and there is no human interference. But reality may be different. Is all that these sufficient to protect your privacy?

Here is a bigger fear, giving all of your information in the hands on one single body! A single mistake in handling such massive information can lead to world’s biggest controversy in user’s privacy.

In short, I don’t want anybody to know the fact that the wristwatch I have given to my girl-friend for her last birthday was of just 100 bucks!

- ankit

A Long Absence…

A lot of topics were roaming in my mind, but not able to decide what to write and which one to take first. And it has been 6 months - I haven’t written a single blog post! All this is because of my studies, hectic schedule, didn’t get enough time and few other factors.

But, now Ankit is back with cool and new articles to write. And one promise to the readers of my blog - such absence will not occur again. At least I’ll try to write something about my experiences, my passions, techie stuff.

- ankit

Checklist: Cannot import webpart

While importing (drag/drop) your webpart to any SharePoint page, if you receive an error stating ‘Cannot import webpart’ or ‘unable to add selected web part(s)’… here is the check list you should look for:

  1. Make sure the webpart class is inherited either from Microsoft.SharePoint.WebPartPages.WebPart or System.Web.UI.WebControls.WebParts.WebPart
  2. The webpart class needs to be declared public.
  3. Safe controls entry in web.config file.
  4. If you are referring a webpart from GAC (i.e. assembly containing webpart class is placed in GAC) make sure the GAC version is the latest build and IIS is re-started.

- Ankit

SharePoint: ServerContext not set to an instance

I was playing through SharePoint object model and somewhere (don’t remember right now!) got an exception stating “ServerContext not set to an instance”.

My solution for this: Installed SSP (Shared Services Provider) and this problem is solved!
[ Edited:2008-03-24
I got this error while playing with stsadm.exe command
]

Windows CardSpace: FAQ for ASP.NET Developers

Few frequently asked question for ASP.NET developers:

  1. The Identity Selector dialog box is displayed only for SSL protected pages. Therefore you are required to deploy your application on a Web server and install a SSL Certificate.
  2. Windows CardSpace does not work with Self Signed Certificates and will die horribly. These certificates do not have CRL field. It contains a URL that CardSpace will check for the revocation list.
  3. For ASP.NET developers there is Toolbox control written by Christian Arnold. Add this to your Toolbox and you won’t need to write a single line of code. Watch demo.
  4. When you use CardSpaceLogin controls you must run application over SSL. The application pool also need to be run under Local System’s identify; otherwise w3wp.exe process will not be able to retrieve server’s private key. In such case you may end up with error stating “Keyset does not exist”. Note: This is not advisory if the application pool is shared with other Web applications. [ Edited: Refer Barry Dorrans comment for more details.]
  5. When using Information cards there is nothing like passwords.
  6. CardSpaceLogin controls are integrated with your identify providers such as Forms Authentication. For example: If you use Information Card to register a user, his details are reflected in the identify source.

TFS - Free Text search in History Objects

It’s a best practice to add comment when you do check-in to the source control. A text comment is associated with the change you made to the item. Some of the times you need to find a particular comment, but the View History tool available with Visual Studio/TFS is limited that you can’t make a search in the history results. Say you want to find all check-ins by a particular user :(

History Tool in Visual Studio 2005

Here comes the purpose of this small add-in. It provides search within history comments and find a particular change-set instead of traversing the whole list. The plug-in goes one step forward and facilitates free text search in change-set fields. For example you can use change-set id, username or even date-time as search keywords!!!

The major steps involved in developing this add-in are:

  1. Writing an add-in for Visual Studio 2005,
  2. Getting file history from Team Foundation Server (TFS),
  3. Look for the selected item in the Visual Studio IDE,
  4. Free text search along with the tools to compare two files.

(more…)