Saturday, February 18, 2006

Stress free productivity

As David Allen describes in Getting Things Done, like most people I feel frustrated and bogged down by the great number of things that are on my mind. While working on an important project, the mind keeps reminding that your investment decisions are overdue, there is an important social event to attend, you need to make that important decision and so on.

The book makes for interesting reading, but I have summarize the tricks in a short algorithm that would be easier to remember.

  • Make a list of the projects you currently have. Everything that requires two or more actionable items should be considered a project. Highlight the very next physical action required to move the project forward.
  • Normally, you would have 50 to 100 projects. Divide the projects into several categories and group these into areas of responsibilities like Finance, Health etc. This way you can also track the time spent on various areas.
  • Make folders for each of the projects that contains reference material and other documents regarding the project.
  • Mark all your incoming stuff, ideas, things to do into following folders.

a) Trash - No action required and not needed in future

b) Reference - No action required but may be needed as reference

c) Someday - No action required recently but in distant future

d) Followup - Action to be taken by someone else

e) Calendar - Scheduled at a particular time

f) Projects - Is a next action on some project

  • Your calendar should be sacred and should contain only those items that must absolutely be done on that date or you do not need to do it at all. Moving tasks in the calendar to another day should not be done as far as possible.
  • Start your day by looking at your calendar and tackle the items. When you find free time between the items on your calendar, look at your projects list and select a next action depending on the time you have available.
  • Do a weekly review of your projects and next actions. Spend some time on the maintenance of your system.
You can buy this Outlook plugin which helps implementing the methods.

Thursday, February 09, 2006

Back to the protocols

We do so much programming for the web applications and still rarely get a chance to understand how the basic protocols work. So when I was recently asked to provide some material on IP spoofing, I waded through the specification after a long time.

Since the handshake between client and server consists of passing the source address as well as the sequence number generated by the server, for a successful attack we need to send an initiating message and since we do not receive the answer from the server, we need to guess the sequence number generated by the server and send the correctly incremented number in our ack. We also need to disable the spoofed host through flooding or some other means. Here is an excellent article with source code for this attack.

When you are on the same local network as the host whose identity you are trying to assume, the attack is much easier because IP packets are available to you.

Here is a much referenced paper on TCP/IP security problems by Bellovin including attack through routing protocols, ICMP and other application level protocols.

Sunday, February 05, 2006

O2 Adventures

Not having blogged for a long time does make you lazy. This blog started as a journal of the interesting problems that I came across, and as a reference in case I need to work upon the problem again. Yesterday I was doing all the research again to upgrade the firmware of my O2 XDA II Mini which I did some months before, so I decided to be more diligent this time.

O2 XDA II Mini has been one of the most popular smartphones, mostly because it is a full blown Pocket PC Phone with almost the size of a regular mobile. In fact, this was one of the main reasons that made me decide in its favor instead of its smaller cousin, the Windows Mobile for smartphones. It boasts of a 416 MHz processor with a lot of applications including the Midlet manager for J2ME applications.

However, the support for this phone leaves a lot to be desired. One of the reasons could be that this phone is manufactured by a lesser known company called HTC from Taiwan and resold as O2 XDA, iMate JAM and many other names. HTC also has many other models which are sold by different names and this is the key for being able to find useful links. Fortunately, there is a forum of excellent people have who reverse engineered the XDA devices down to the ROM upgrades and other software. Here is how to improve the camera settings , which was very irritating because 1.3 MP camera is supposed to be good !

Few months back I took the plunge of ROM upgrade, mostly because I was blinded with the desire for Windows Mobile 5.0. My device runs Windows Mobile 2003 and the new version offers much more usability without sorting to the stylus and more advanced office applications. It also has a large number of managed APIs for Graphics, GPS, Telephony which would be useful for certain personal productivity applications I wanted to work upon.

I tried to upgrade my Mini without noticing that the ROM was meant for Himalaya or the XDA II. Not having even the ROM backup, I ended up losing all data but fortunately got the original ROM for O2 after registering with the IMEI number of the device. For some of the XDA devices, the official ROM upgrades are available. The iMATE also has a site on which o2 users cannot register, but if you know the precise link, it may be possible to get hold of the downloads. In fact, I managed to download the manual for setting up wireless modem from here.

The end result has been disappointing, it seems there is an announcement from O2 that there will be no update released to Windows Mobile 5.0 for existing devices. Mike calligaro tries to explain the reasons for this. Of course the existing device owners are bound to feel cheated, firstly because some devices have released updates and so the xda developers would be the place to watch :)

Some other useful applications for the Pocket PC, free of course :)

Pocket Media Player
Agile Messenger (Free version)
Networking Utilities
Powertoys from Microsoft