Prince of Persia

Check out my ‘Prince of Persia’ review here!

I have also added reviews for more movies…


HTC HD2 – MP3 Trimmer

I couldn’t fnd MP3 Trimmer on my HTC HD2 so I had to install it manually.
This is how I did it:
1. Go to this page from your HTC HD2 internet browser.
2. Once the page loads and you see ‘Click here to start download’, tap on that link area. Save the cab file to
somewhere on your phone.
3. After the download is complete, open the cab file from whereever you saved it to. Check the security
message and proceed to install ONLY if you are ok with the security warning. MP3 Trimmer will be installed.
You will see the install successful message…

That’s it! You will see the MP3 Trimmer in ‘Start-> Multimedia’. Simple, right?

Hope that helps…
– C S

Simple custom ObservableCollection

This is a simple custom Observable/Trackable Collection implementation… Use it as it fits your needs… The code is as is and no guarantees :).

public class MyObservableCollection : Collection
private bool m_suppressNotifications;

public delegate void MyObservableCollectionItemEventHandler(object senderIn, MyObservableCollectionItemEventArgs eventArgs);

protected override void ClearItems()
if (!m_suppressNotifications && null != CollectionCleared)
CollectionCleared (this, new EventArgs());

protected override void InsertItem(int index, T item)
base.InsertItem(index, item);
if (!m_suppressNotifications && null != ItemAdded)
ItemAdded (this, new MyObservableCollectionItemEventArgs(index, item));

protected override void RemoveItem(int index)
if (!m_suppressNotifications && null != ItemRemoved)
ItemRemoved (this, new MyObservableCollectionItemEventArgs(index));

protected override void SetItem(int index, T item)
base.SetItem(index, item);
if (!m_suppressNotifications && null != ItemChanged)
ItemChanged(this, new MyObservableCollectionItemEventArgs(index, item));

public void AddRange(ICollection items)
m_suppressNotifications = true;
foreach (T item in items)
m_suppressNotifications = false;

if (null != ItemsAdded)
ItemsAdded(this, new EventArgs());

public event EventHandler CollectionCleared;
public event EventHandler ItemsAdded;
public event MyObservableCollectionItemEventHandler ItemAdded;
public event MyObservableCollectionItemEventHandler ItemRemoved;
public event MyObservableCollectionItemEventHandler ItemChanged;

public class MyObservableCollectionItemEventArgs : EventArgs
private int m_index = -1;
private object m_item;

public MyObservableCollectionItemEventArgs(int index) : this (index, null)


public MyObservableCollectionItemEventArgs(int index, object item)
m_index = index;
m_item = item;

public int ItemIndex
get { return m_index; }

public object Item
get { return m_item; }

Where are themes stored on Windows 7?

The other day I was trying to find a nice picture that I saw in one of the Windows 7 themes (and use it as Desktop background without applying the theme) and realized the themes weren’t easy to find 🙂 on the disk. It is not a very obvious location so thought I should share that with you…
You can find the themes on your Windows 7 machine in “C:\Users\Your.UserName\AppData\Local\Microsoft\Windows\Themes”.
Hope that helps…

Have fun!
– C S

Install program on Windows Mobile device using msi/exe file…

It is easy to install a program on your windows mobile device using .msi or .exe files. You don’t necessarily need the .cab files. But before you can use the .msi/.exe file, you should install Microsoft ActiveSync on your PC. After that, download the .msi/.exe file onto your PC. Then connect your Windows Mobile device to the PC (when you connect the device, ActiveSync detects the device and syncs with it). After successfully connecting your device to the PC, you can just double click the .msi/.exe file and start the installation on your PC. Go through the install wizard and complete the install process. At the end of the process, AtiveSync takes charge and copies over the required files to your windows mobile device. At the end, ActiveSync asks you to check your device for further info on the installation process (some programs may not need any additional steps but some might). I installed Office Communicator Mobile 2007 R2 on my HTC HD2 and after ActiveSync copied over the required files to my phone, I could see a .CAB file being installed on my phone. I wasn’t prompted for any more steps. It just finished the install by itself.
See, easy right?
Have fun..
– C S