Category Archives: Blogging

I changed the theme to suit my style

I changed the theme to zeeBizzCard and tweaked it a little to suit my needs. I like the large portfolio picture and the ability to customize the menus and the widgets. The theme makes me want to add more stuff to my blog and market myself some more, which is awesome. I wanted to have a way to list my latest pictures and videos but for now, they are just links.

I really like my page and I am hoping to keep refining it. Check it out from the menu at the top.

Creative Commons License photo credit: danorbit.

I love tweaking my blog and playing with it. It really makes me happy. That is what got me hooked on WordPress in the first place and it is such a pleasure to get back to the basics.

Pictorialis II: Ready for download

Pictorialis II is finally polished enough to be ready for download. The example blog can be found here:

Some of the features of Pictorialis II:
-Album building from the post interface
-Single photo addition, much like a photoblog
-Upload from FTP, point to the album, suggest an album name and description, type of thumbnail and click on publish album
-EXIF support even without PHP-EXIF
-GD and NetPBM support with optional NetPBM binaries
-XHTML compliant code
-Lots of custom fields for versatility and future features
-Picture preview on edit
-Picture Descriptions
-Everything is paged
-Look Ma, no tables!
-Count number of visits per picture (optional)
-Comments, trackbacks etc
-Clean simple design and CSS
-All of WP is included, so all the WP features are available!


Download the zip file from here:

Please post bugs and requests on the Pictorialis Support Forums

New and Improved

I have upgraded this blog to WordPress 1.2. The theme of this blog is very similar to a Movable Type blog and is meant to be that way. I wanted to debunk the myth of WordPress design. This blog is an extremely customized version of the original WordPress codebase and contains a bunch of plugins. Mose of these are very simple to install, have been coded by me and will show up in the next WuhWuh. This is more of a launchpad for that process.
Some of the plugins in this version include:
* Wiki Plugin
* Asides
* Most popular Posts & Post counter
* Waypath
* wp-stats from Jesuit
* Comment Preview form
* Google Pagerank strippper
* Technorati Link Cosmos
* Threaded Comments
* Redone narchives.php
* Redone BreadCrumbs navigation

Over and above my plugins, I had a very inclusive WordPress install which already gave me the following *new features*:
* Sub-categories: Categories can be arranged hierarchically and infinitely deep. Multiple categories combined with sub-categories gives WordPress the most comprehensive taxonomy system of any blogging software available.
* OPML Export and Import: You can import and export OPML to systems like Bloglines or desktop aggregators like NetNewsWire and FeedDemon.
* Automatic Thumbnail Creation System: WordPress has a refined upload feature that automatically creates thumbnails any size you want.
* Encyrpted passwords and cookies: All passwords in the database and password cookies are encrypted, ensuring maximal security.
* New plugin architecture: The new plugin architecture simplifies modifying or extending WordPressรขโ‚ฌโ„ข features. Plugins can now hook into nearly every action WordPress does.
* Localization of WordPress and Unicode support: The efforts put into internationalizing WordPress have borne fruit, and now you can adapt WordPRess to work in your native language. Several translations are already available.
* Advanced comment moderation: You can now fine-tune your moderation filters in a manner very similar to blacklists for other weblog tools. There is also mass-editing of comments, which makes it a snap to delete hundreds of comments with the click of a button, if necessary.
* Post preview: Near-instant previews while writing or editing articles help you proofread and make improvements before finally presenting your work of art to the world.
* RSS and LiveJournal Importers: The new RSS import script is the closest thing to an universal importer. It allows you to import entries from Radio weblogs even other blogging tools that we may not support specifically. The LiveJournal importer finally lets you have a full blooded self-hosted weblog without losing all your old LiveJournal posts.
* Unlimited update services: Now you can define multiple weblog change monitoring services to be pinged when you post.
* Directory flexbility: Now you can have all the WordPress files in one directory and the weblog in a higher level directory.

There is still a little more work to be done, but I am very pleased with the result. What do you think?

IRC to blog script

I wanted to tinker with the socket capabilities of PHP and wrote some small scripts to support automatic blogging of IRC conversations. It turned out pretty well after a few changes and issues that needed to be resolved. Here are the results.

The likely suspect is the #wordpress channel on where developers, contributors as well as helpful friendly folk hang out often. All of the conversations from that channel are now blogged to This is merely an experiment and if there are major objections to this process, this blog will be removed.

Some of the salient features of this include automatic blogging using xmlrpc. The script does not have to reside on the webhost machine. It is extremely fast and very configurable. At this time, every peice of conversation from every user is blogged as a seperate entry with the topic of the entry as the username of the person speaking. This is also turning out to be a test of extreme blogging through WordPress. The blog slows down after a certain size of the entries. All the entries are stripped of harmful tags before they are posted. Once this script has settled down a little and a few more bugs are ironed out, I will make it available for use. For reference, this uses the PHPIRC implementation for callbacks.

Stuff on my plate

Ive finally settled down to a harrowing daily routine of looking for jobs and coding, all the while spending some quality time with family. Here are some of the things on my little Post-It Notes Lite on my desktop:
Fix pinging on 1.2 – passed the buck on ๐Ÿ˜‰
– Checkbox for threaded comments – urgent
– Recent photos pictorialis – somewhat done, needs a little fixing
– Multiple upload pictorialis
– Fix “who is online” on all blogs – goofy time problem on server
– Write XHTMl syndication script, draw some prelim plans
– Apply for jobs – throw enough shit on the wall that something has gotta stick!

Just a note of thanks to NuclearMoose (aka Craig Hartel) for creating a very nice header image for Pictorialis. That image, along with the new theme, is going to become the default distribution. I am thinking of starting another little page for Pictorialis stuff with a space for themes. Craig says that if I am desperate enough, he might come up with the first theme for it. I would also like to start a showcase for Pictorialis. I have seen some superb designs come out of it! 1000 downloads for Pictorialis and counting!! ๐Ÿ™‚

Do you comment on your own blog?

I noticed a post on Chris Pirillo’s blog on which some idiot posing as Chris had posted their acrimonious message as a comment and Chris had to clarify himself and his position on another post. I frequently comment on my own blog in reply to questions and such. I think it is a necessity and very useful at times. Chris contends that he never, ever posts comments on his blog. Is that justified?

WordPress PhotoBlog New Version

There is a new version of Pictorialis out which fixes a couple of issues that were brought up with the Beta and you can download it from

Fixes for this version include:
– Built in EXIF support which does not need pre-compiled EXIF in PHP
– There is a selection mechanism for versions of GD which makes sure you always get the best possible thumbnails and pictures conversion.
– This also has some file upload fixes which makes sure that the uploaded files do not get erased before the script gets a chance to grab the files.
– The installation process has also been better defined with some fixes for the installation troubles reported from the previous version.

As in the pervious version, this new version has the following features:
– XHTML compliant code
– Simple once click addition of photos, auto thumbnail and resizing
– Extraction of EXIF information from original photo and saved as meta
– Easy installation, as easy as installing WordPress
– Simple, clean design and look
– Simple navigation

My example PhotoBlog with WordPress can be found at Pictorialis

TypeKey Comment Registration – did they miss the lectures again?

Six Apart recently launched their new “TypeKey” comment registration system. I have some serious problems with that system.

1) I agree with Matt and see a real problem with any centralized system that has no local component except for a closed API (more about that later). As has been discussed over and over again, any centralized spam prevention system is doomed to failure right from the start. Six Apart has many more resources than I can ever hope to have and will probably be able to handle all the traffic, but they leave the service open to all kinds of DDOS attacks from spammers which they could NOT handle. (as many other email blacklist servers and services have found out the hard way) If people say that comment spam is probably never going to reach email spam proportions, I will have to disagree. Once there is enough legislation to stop or stem email spam, blogs will just be the natural step down for spammers. But that is an arguement for another day.

2) I dislike that company’s elitist propaganda. Here are some excerpts from this TypeKey page:

“And TypeKey will work with TypePad weblogs as well as other tools and services soon after that.”

They expressly state that there will be a product “launch” and then …

“At that point, there will also be information about what is required to make use of TypeKey services in commercial applications.”

Six Apart is a growing company with many talented individuals who have defined blogging as we know it today. BUT, they are not Gods and never will be! Microsoft-esque promotional documentation language is just annoying and feels very elitist. Just for that I refuse to use their service.

3) How is typekey different from forcing users to register on a blog and only then allowing them to comment? What if I sign up for typekey and then post all kinds of junk?? who says whether my stuff is spam or not?? Some big shot blogger might think that my opinion on their “learned” topic is spam and decide to report me to TypeKey. Would that mean I could not comment anymore? Is one person’s comment another person’s spam?

4) This is proprietary software folks. Nothing to see here. There will …

” ….. be information about what is required to make use of TypeKey services in commercial applications”.

5) What about trackback spam? How will TypeKey prevent trackback spam? Get rid of trackbacks completely? Is there another component? No solution there at all.

6) As Michel points out, what about identity theft? What if someone signs up as Mark Pilgrim with a different email address and posts all kinds of junk? Who is to say that Mark’s email address is and not Centralized solutions of establishing identity break down without getting really personal information involved. I better make sure I am the first to sign up with all my names and nicknames!!

“TypeKey helps ensure that people who comment on a site have a verified identity, keeping conversations on track and helping to prevent abusive or offensive content (comment spam) from being posted.”

– Nah! Doesnt work right and I aint givin you my credit number neither!!

I think, I think I might be closer to done

With cautious optimism and glee, I would like to say that I might have more time to dedicate to a job search and coding now. ๐Ÿ™‚
As for the items on my plate, the more important ones are:

  • Promoting my Peace and Unity Meme (see above, please)
  • Applying for jobs for at least 2 hours a day (I have to be regimented, or I lose track)
  • Writing a very simple MySql based wiki’ing system which is designed to be intgrated into other systems (primarily WordPress)
  • Fixing my threaded comments hack to be compliant and non-javascript (and other little issues with it)
  • Writing some code to support a LiveJournal mod of WP which would allow more control over the posts (might take a while)
  • And of course, cooking and spending time with my Jennifer ๐Ÿ™‚
  • My parents are going to here on the 12th of April and that could not happen a day too soon! I have not seen them for almost a year and a half!! Jennifer Luckey will get sooo spoilt (again) ! ๐Ÿ˜‰

    WordPress Convetion ’04 ??

    Michel gave me a tremendous idea (not his fault, he was talking about something completely off topic)! I would really like to see a WordPress Convetion organized. It would mean lots of WordPress users from all over the world converging on a populous and fun city, having a “convention” of sorts (booths, vendors, talks, shows, trinkets and the like). I would love to meet some of the people that make up this community. I think it would encourage the community to grow and would draw some positive (and negative for sure) attention to the tool. I know some of you think that WP is not ready for the limelight, but would a convention hurt its chances?

    How many of you would think of attending? Who would like to suggest some cities? Do you think WordPress is ready for that kind of attention yet?

    Finished some preliminary work on WordPress Caching

    Here are some examples:
    Here is a WordPress 1.1 beta blog showing 300 posts.
    Here is the same blog, cached with my method

    Take a quick look at the bottom of the page for the generation times. The number in small letters in the center is for the main entries to be generated and displayed and the larger number to the left is the time for the whole blog to be generated.

    A little more work is required to make this a functional hack. The categories and comments sections (along with archives and others) do not use the cache at this point to display the pages. Only the index page uses the cached entries and produces all the right links. Consequently, some more work is required to update the cache when some information is edited or added. This could include adding or editing a post or addition of comments and/or trackbacks. However, with a larger numbers of posts and links, this cache speeds things up quite a bit from what I can tell. I had to mess around with quite a few of the functions to get them to work correctly with storing a variable instead of echoing them. If someone is interested in the code, leave a comment or email me.

    What do you think? Is this something worth investigating further?

    In jotting down some thoughts on a partially static WordPress:

    In my opinion, the part of WP which takes up the most MySql queries (and the most time responding to a request) is in setting up the posts for display. If there was another table in which the complete post markup was stored (including the post title, author, time, number of comments etc, one single entity created with all the HTML markup, and the filters are executed on the post) after being created (with the postID as the key for the table), the posts could be loaded multiple times relatively quickly. When a comment gets added to a post or a post is edited, the whole row is deleted (in the new table) and recreated with the same postID and new markup that is generated. The blog-header could contain code which would allow a complete rebuild through a switch. There might be the need for a second blog-header to manage the two different types of display requests.

    The categories and archives would work in very much the same way. The blog-header that controls the static posts would do a select postID from all posts in the main posts table for a category and then select again the same IDs from the statis posts table and display those in the order chosen. Permalinks could work the asme way they do right now with comments being selected live from the database etc. Rebuilding (adding or editing one post really) the static post table would take place at the end of a post or edit process and should be quick and painless.

    Any comments on this?

    Blog Statistics

    My crawler has unearthed dissappointing results. Here are the most recent stats:

    total blogs crawled: 49807
    total wordpress blogs: 193
    total Blogger blogs: 13587
    total Typepad blogs: 1358
    total .Text blogs: 269
    total BlogTool 1.4 blogs: 226

    I was really hoping to find more blogs that are run by WordPress. I have a sneaking suspicion that a lot of WordPress blogs do not have the original meta tags from the index and are thus not responding the way they should. In order to circumvent this problem, I would really like to solicit some help from my readers. If you are a blogger and your blog is using the WordPress application (any version) please click on this link, type in the url of your blog and click on submit. If your blog urls is already in the database, it will make sure that it is recognized as a WordPress blog and will show you the list of WordPress blogs crawled so far. This list can be used for publicity and for various other WordPress related issues and statistics. Thank you for your participation. Please feel free to post the above links in your own blogs.