Harappa Project New Site

As several people had asked, I have set up a separate website for the Harappa Ancestry Project at http://www.harappadna.org/.

I am keeping a link to the new site on the top menu bar here titled Harappa DNA.

I might also crosspost some items from the project here.

I have also set up a Facebook page for the Harappa Ancestry Project. Please like it on Facebook so I can get a nice short name for the Facebook page URL.

I have received several samples and will be reporting some analysis results soon. However, I do need lots of participants, so please spread the word.

Cross-posted at Harappa Ancestry Project.

Movable Type 3.34 to WordPress 2.8.4

As you can see, I have moved my blog over to WordPress. Actually, the whole domain, ZackVision.com, is powered by WordPress.

If you see any problems, please comment on this post or contact me.

I was using Movable Type 3.34 which came out in January 2007 and was now badly outdated. The reason why I hadn’t upgraded is because I was using a lot of hacks and had made my own modifications to the core code.

A few months ago, I ran into major problems with spam comments. That got me thinking about an upgrade. I was, however, able to solve the spam issue with MT-Akismet.

I downloaded Movable Type 4.2, the latest version, and played around with it. I liked it, but I realized that none of the plugins I was using had an upgrade for MT4. Also, I could find very few amateur bloggers on Movable Type. Professional websites and blogs were mostly using Movable Type, but the rest of the bloggers had switched to WordPress long ago.

I had already been using WordPress for a private blog and so I decided to take a look at the latest version of WordPress and how I could migrate my blog to it.

There were a few things I had to give up: No more MathML or serving all pages as application/xhtml+xml; no OpenPGP signed comments.

I also had to modify the Movable Type export script and WordPress’s import script so I could keep the same post IDs and slugs (basenames) as well as import tags and convert the content based on the text filter used in Movable Type.

Here are changes required in Movable Type 3.34’s lib/MT/ImportExport.pm file:

--- ImportExport.pm.orig        2009-09-23 11:25:12.975789000 -0700
+++ ImportExport.pm     2009-09-23 11:25:12.764003000 -0700
@@ -529,27 +529,27 @@
 AUTHOR: <$MTEntryAuthor strip_linefeeds="1"$>
 TITLE: <$MTEntryTitle strip_linefeeds="1"$>
+BASENAME: <$MTEntryBasename$>
 STATUS: <$MTEntryStatus strip_linefeeds="1"$>
 ALLOW COMMENTS: <$MTEntryFlag flag="allow_comments"$>
 CONVERT BREAKS: <$MTEntryFlag flag="convert_breaks"$>
 ALLOW PINGS: <$MTEntryFlag flag="allow_pings"$>
+POSTID: <$MTEntryID$>
-<$MTEntryBody convert_breaks="0"$>
-<$MTEntryMore convert_breaks="0"$>
 <$MTEntryExcerpt no_generate="1" convert_breaks="0"$>
+<MTEntryTags include_private="1" glue=","><$MTTagName$></MTEntryTags>
@@ -558,7 +558,7 @@
 IP: <$MTCommentIP strip_linefeeds="1"$>
 URL: <$MTCommentURL strip_linefeeds="1"$>
 DATE: <$MTCommentDate format="%m/%d/%Y %I:%M:%S %p"$>
-<$MTCommentBody convert_breaks="0"$>

And here are the changes required in WordPress 2.8.4’s wp-admin/import/mt.php:

--- mt.php.orig 2009-05-05 12:43:53.000000000 -0700
+++ mt.php      2009-09-23 11:49:00.182602000 -0700
@@ -375,6 +375,15 @@
                                        $post->post_title = $title;
                                else if ( 'ping' == $context )
                                        $ping->title = $title;
+                       } else if ( 0 === strpos($line, "BASENAME:") ) {
+                               $postname = trim( substr($line, strlen("BASENAME:")) );
+                               if ( '' == $context )
+                                       $post->post_name = $postname;
+                               else if ( 'ping' == $context )
+                                       $ping->post_name = $postname;
+                       } else if ( 0 === strpos($line, "POSTID:") ) {
+                               $postid = trim( substr($line, strlen("POSTID:")) );
+                               $post->import_id = $postid;
                        } else if ( 0 === strpos($line, "STATUS:") ) {
                                $status = trim( strtolower( substr($line, strlen("STATUS:")) ) );
                                if ( empty($status) )

I also added the following to the .htaccess file to handle the redirects needed from my old URLs to the new ones:

RewriteEngine On
RewriteBase /
# Old Monthly archives
RewriteRule ^weblog/archives/([0-9]{4})/([0-9]{2}) weblog/$1/$2/ [R,L]
# Old single entry links
RewriteRule ^weblog/archives/000([0-9]{3}).html$ ?p=$1 [R,L]
# Another old single entry links
RewriteRule ^weblog/archives/entry/000([0-9]{3}).html$ ?p=$1 [R,L]
# Old category archives
# Change underscores to hyphens
RewriteRule ^weblog/archives/([^_]*)_([^_]*)_([^_]*)_(.*)$ weblog/category/$1-$2-$3-$4/ [R=301,L]
RewriteRule ^weblog/archives/([^_]*)_([^_]*)_(.*)$ weblog/category/$1-$2-$3/ [R=301,L]
RewriteRule ^weblog/archives/([^_]*)_(.*)$ weblog/category/$1-$2/ [R=301,L]
RewriteRule ^weblog/archives/([^0-9]*)$ weblog/category/$1/ [R,L]
# To handle the old MovableType feeds.
RewriteRule ^weblog/atom\.xml$ feed/atom/ [R,L]
RewriteRule ^weblog/index\.xml$ feed/ [R,L]
RewriteRule ^weblog/index\.rdf$ feed/ [R,L]
# To handle old Movable Type permalinks.
RewriteRule ^weblog/([0-9]{4}/[0-9]{2}/.*)\.html$ $1/ [R,L]

I liked the iNove theme and installed it with some modifications done via child theme.

I have also installed the following plugins:

  1. About Me widget
  2. Akismet
  3. AmazonFeed
  4. AVH Amazon
  5. Collapsing Archives
  6. Contact Form 7
  7. Easy AdSense
  8. Efficient Related Posts
  9. Google Analyticator
  10. Google XML Sitemaps
  11. Lifestream
  12. NextGEN Gallery
  13. Now Reading Reloaded
  14. Page Links To
  15. Recommended Reading: Google Reader Shared
  16. Rich Text Biography
  17. JanRain RPX – Authentication from Facebook, Twitter, Google, Yahoo, Windows Live ID and OpenID
  18. Search & Replace
  19. Search Meter
  20. Sociable
  21. Thread Twitter
  22. WP-Syntax
  23. XML Google Maps

I am also working on a fork of Now Reading Reloaded. It will be for movies and will be called Now Watching. Once I have tested it, I’ll release it here and on the WordPress site.

While the blog itself has been completely moved over to WordPress, I am still working on migrating the other static pages. Also, my list of books read and movies watched is still not back yet.


They say imitation is the sincerest form of flattery. But copying whole articles without citation is not.

While plagiarism has been there forever, the Internet makes it really easy. At the same time, it makes it easy to find out if someone has copied and pasted your writing and passed it off as their own.

Recently, I found out that Paksir has copied my blog article about global gender attitudes without so much as a hint of where it came from. My comment on his blog to provide a link has gone unanswered for more than two weeks.

Let’s look at a more amusing example: Muhammad Imran Latif’s portfolio page. I was alerted to the similarities with my About Zack page last year. I tried contacting him, but got no reply. Since then, I have made some minor changes to my about page, so let’s compare his description of himself with mine from the wayback machine

Imran Latif Me
My name is Muhammad Imran Latif. I am usually known as Pomy & Imran. My name is Zakaria Ajmal. “Zakaria” is a biblical name and hence has different spellings and pronunciations in different languages. I don’t mind the different spellings that much, but to make it easy, I am usually known as Zack.
I am 27 years old and i am originally from Pakistan where I was born and raised. I was living in Daska, the beautiful city, before coming to the Islamabad. I am a Muslim. I am 35 years old and am originally from Pakistan where I was born and raised. I was living in Islamabad, the capital city, before coming to the US. Like most of the Pakistani population (97% according to the CIA World Factbook), I am a Muslim.
I came to the Islamabad 1 years ago and am currently a Web designer and Network administrator Computer field. I came to the US 9 years ago and am currently a graduate student in Electrical and Computer Engineering (research interests: computer vision and graphics/animation, video and image analysis, telepresence, etc.) at Georgia Tech in Atlanta, GA.
Other than research and teaching, I like to plants and gardening. I am also very much interested in economics, information technology teaching, social work, politics and national affairs. Other than research and teaching, I like to camp and hike, travel and take photographs with my digital camera. I am also very much interested in science fiction, history, politics and international affairs.
I got married to Sofia (nickname: Bahaar) on September 5, 2005. We have had a lot of fun together and plan to live together happily ever after. I got married to Ambrin (nickname: Amber) on December 1, 1994. We have had a lot of fun together and plan to live together happily ever after.
On August 29, 2006, a cute Michelle was born to Baahar and me. Nowadays, she is the center of our universe. On August 12, 2004, a cute Michelle was born to Amber and me. Nowadays, she is the center of our universe. She has a weblog of her own on which we post her photographs, video clips and milestones etc. If you would like to read her blog, please email me.

How much do you want to bet that Imran’s daughter is not actually named Michelle?

For the record, here is my policy on copying stuff:

All original content, whether text, images or multimedia, on this weblog, Procrastination, is Copyright © Zakaria Ajmal, except for posts by other authors which belong to them.

You can excerpt the contents of this website anywhere else but you must attribute it to us and cite the location (URL) from which you are quoting. However, you are not allowed to copy our images without permission. Similarly, you are not allowed to hotlink to any of our photographs.

An exception to this policy pertains to the comments by visitors and readers, which belong to the commenters themselves.

Hat tip to the two readers who tipped me off about these two cases.

Spammy Fame

I am so famous now that spammers are referring to my blogging.

Since I added the Contact link on my weblog, I have been getting all sorts of strange emails about asylum, sex, marriage and other topics. However, what made my day last weekend was an email that someone had received. Here is the email that was forwarded to me.


I got your contact from the cyberspace on my search for a sincere man who is marriage minded and have value for love and friendship and recognized the significant of having a good and sincere relationship, so I saw your profile on http://www.zackvision.com/weblog/2004/05/commenters-marriage.html and decided to contact you and I hope my proposition to be your friend will not be an exemption.

Well I am Vick Mazur as you may know me and I am from Russia, which my father is from Russia and my mother is from Liberia but at present I live and work in the Republic of Benin in a Charity Organization but I am a very good girl from a good family, my hobbies are playing basketball, reading the bible, working hard and watching movies. I dislike people that lies and dishonest things, i am not too fat and not too thin, i am average in height, i do not smoke nor drink, white in complexion with blonde hair and a nice eye ball and i am also a easy going lady but i will leave that for you to to judge when we start this friendship and I hope you are satisfy with this little details about me and I will also pray to God to make our friendship last longer without regretting knowing each others.
Please I will like to stop for now, kindly tell me more about yourself, your profession and country so as to march one more step towards forever, honest and sincere friendship and I will send you my picture when I hear from you.

You can also reply me at my yahoo email address: [email address removed]

Here is a blog post by the cousin of the person who received this email.

When I checked my spam folder later, I found out that Vick had sent the same email to my very spammy email address which I don’t use for my blog as well. Did I mention that the subject of the email was “I saw your profile on http://www.zackvision.com/weblog/2004/05/commenters-marriage.html”.

So finally I have accomplished something with this blog. I have become famous. Spammers are now referring to my blog posts in their emails. Ain’t life grand!

Oh and do read my famous post and all the comments there.