Big Bang

Stardate: 11000.3

They say hind sight is 20/20.  Well, here’s putting that to the test.  Sort of.  Here’s the theory, what if we started at the end and moved backwards?  OK, so not quite the advantage of true hind sight from a linear single-history timeline moving backwards.  But, a powerful tool to help with goal-setting, tracking, course-correction, and goal-tweaking!

When I was appointed to the office of Chairperson for IPN, USA – about six months ago (173 days to be precise) – I had little framework by which to gauge just exactly how much my day-to-day life was going to be consumed by this remarkable institution.  Just how many new friends I was going to make along the way.  How much was I going to learn and how many lives was I going to touch.

So, I figured a blog (yeah, Karim 2.0) recording some of these encounters would help me as I look back and also – inshallah – younger volunteers as they look forward to serving humanity through IPN and/or other simimlar institutions.  I hope to record my travels on this exciting adventure and I invite you to join me in my journey through this blog.  I guess, now would be the appropriate point in time to quote HS Shajahan’s words of wisdom: fasten your seatbelt!  😀

PS: Happy New Year!  Hope it is happy, peaceful, and prosperous for all!!

MapPoint 2010 and .Net

I have noticed that even the simplest of tasks – if performed infrequently – become challenging.  One example, upgrading the MapPoint control.  Since new releases only happen every year or every other year, it becomes increasingly difficult to assert with a reasonable degree of confidence that nothing was missed in the upgrade process!  Of course, upgrades are *much* easier than the initial implementation.

So, for all those who have so badly wanted to do add MapPoint functionality in their .Net applications but didn’t have a cheatsheet, here is a peek at our process for integrating MapPoint in your Visual Studio applications.  Enjoy!

  1. Copy the MapPointControl.ocx and MPNA83.tlb (from the MapPoint installation folder to your working folder)
  2. From your working folder, run AxImp
    • For instance: Aximp /keycontainer:YourKeyContainer /source MapPointControl.ocx /out:AxMappoint.dll
    • Where YourKeyContainer is the name of your certificate container for code signing.  Quick note: code signing is optional but I would strongly recommend it
  3. This will generate 3 files:
    • MapPoint.dll
    • AxMappoint.dll
    • AxMappoint.cs
  4. Next, you will need to run the type library importer as follows:
    • tlbimp MPNA83.tlb /namespace:MapPointApp /out:MapPointApp.dll /asmversion:M.m.B.R /keycontainer:YourKeyContainer
    • Where M.m.B.R is simply the Major, minor, build, and revision numbers that you wish to assign to the generated MapPointApp.dll
    • Once again, code-signing is optional but recommended
  5. Almost there! Here is the final step (needed only when code-signing)
    • “C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\signtool” sign /i Issuer /n CertificateSubjectName /t TimeStampServerURL /v MapPoint.dll
    • “C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\signtool” sign /i Issuer /n CertificateSubjectName /t TimeStampServerURL /v AxMapPoint.dll
    • “C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\signtool” sign /i Issuer /n CertificateSubjectName /t TimeStampServerURL /v MapPointApp.dll
    • “C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\signtool” sign /i Issuer /n CertificateSubjectName /t TimeStampServerURL /v MappointControl.ocx
    • Where Issuer is the name of the certificate issuing authority, CertificateSubjectName is well the subject name on the certificate and the TimeStampServerURL is also jsut that
    • The /v option is to enable verbose mode

Software upgrades

Tis the season I guess. I have at least 5 different applications/toolsets that need to be upgraded. Somehow, even for a techno geek such as myself, upgrades are always accompanied by a sense of apprehension. A fear of rejection of the upgrade that sets the entire system into a spiral of degeneration leading to multiple untraceable BSDs or an apparent slowdown of the overall computer system.

Having said that, it is time to overcome my fears for as the old adage goes, no guts no glory. Will report later on the overall success/frustration ratio.