Ping more search engines than with Ping-o-Matic

Now you can ping more blog search engines at once than it was possible with Ping-o-Matic. Poll-n-Ping! added 3 more services today, bringing the number of services that will be pinged to 18 whil Ping-o-Matic only supports 16 services.

Poll-n-Ping! is the latest pinging service. Poll-n-Ping! is morethan just a pinging service, it monitors (polls) your blog for changes. Also provides notification, should you blog go down for some reason. All this comes for free, the best price ever.

Go grab your Poll-n-Ping! account now, you can forget about pinging and concentrate on blogging. Poll-n-Ping will take care of pinging blog search services.

Poll-n-Ping!, automagically ping 15+ services

Poll-n-Ping! added 8 more services today to the list of services that will be automatically pinged, bringing the number to 15. Register for a Poll-n-Ping! account, and put your blog details today and never bother about manually pinging when there are new posts in your blog; Poll-n-Ping! will take care of it all.

The number of services that Poll-n-Ping! supports will increase further in the near future. Don’t forget to create a Poll-n-Ping! account.

Recipe for compressed script.aculo.us

I was searching for a compressed version of script.aculo.us javascript library in one file. The search turned out almost fruitless; I found outdated script.aculo.us versions compressed. It was obvious to me that I was on my own. I also wanted to post the method to do it instead of the result.

YUI compressor was the best tool I could use to compress any javascript. YUI combined with gzip compression for compatible browsers would produce the smallest on the wire javascript files (See http://www.julienlecomte.net/blog/2007/08/13/).

First attempt to put all the script.aculo.us files into one file failed with mismatched dependencies. I had to find out the correct order to concat the files. As I found out the order should be scriptaculous.js, builder.js, effects.js, controls.js, dragdrop.js, slider.js, sound.js (I have specifically left out unittest.js). If you want you can throw in Prototype into the mix at the begining as it is required by script.aculo.us (I did that).

Run the following command in a shell prompt from the script.aculo.us root. to concat prototype and script.aculo.us.

 $ cat lib/prototype.js src/scriptaculous.js src/builder.js src/effects.js src/controls.js src/dragdrop.js src/slider.js src/sound.js > scriptaculous.bundle.js

You need to download YUI compressor, run the following command.

 $ java -jar /path/to/yui/compressor/build/yuicompressor.jar scriptaculous.bundle.js -o scriptaculous.bundle.min.js

In my case I use YUI compressor version 2.3.5 and script.aculo.us 1.8.1, and the file sizes were 244KB scriptaculous.bundle.js and 146KB scriptaculous.bundle.min.js. That’s a 40% compression.

You need to configure your web server to serve javascript files gzipped for user agents that are accepting gzipped content. You have to do your own reasearch for that :). After gzip compression was turned on for javascript files the size of scriptaculous.bundle.min.js on the wire is 41K, that’s a 83% compression, wow that’s alot of saving on bandwidth and loading time.

You can download the compressed and bundled script.aculo.us scriptaculous.bundle.min.js. Hope someone will finds it useful.

Poll-n-Ping, coz u r busy blogging

I would like to introduce a brand new service. It is a automated blog search directory pinging service named Poll-n-Ping. It is different from Ping-o-matic and similar services, because Poll-n-Ping monitors the blog (actually the feed) for changes and when it detects changes it will automatically ping the blog search directories.

You can checkout the service at http://www.mohanjith.net/pnp. All this comes free of charge, but donations are always welcome. Right now there is no limit on the number of blogs that can be monitored by a single user. If you want your blog to be submitted to all the blog search directories that we add support from time to time, you will have to visit Poll-n-Ping regularly.

Soon I plan to add alert service Poll-n-Ping, the subscribed users can receive notification mails or IM when content changes, blog goes offline, and/or blog comes online. However this will be a paid service unless I receive enough donations to support the hosting.

Poll-n-Ping has Turbogears under the hood :-).

Hope you will find the Poll-n-Ping service useful.

Hacking drupal: Add search by node creation date and the author

Some of the users using one of my Drupal sites were asking for search by author and creation date. The site had 3000+ nodes and the user’s request seemed reasonable enough. I first started with googling for a Drupal module or a patch that would add the functionality, but none were found.

So when ahead and hacked the node module. I sucessfully managed to add search by author and node creation date to advanced search block. If you are in searching for a patch like I did you can find it at http://drupal.org/node/233476, I’m keeping my fingers crossed to see whether it would make it to the Drupal trunk :).

Blogger 502 errors

Few minutes ago this same blog, hosted on Blogger started giving 502 Server Error (for more than 15 minutes). I was frustrated and even thought of hosting my blog on one of my servers. I don’t know what caused the issue, but one thing I know this is not the first time and I was not alone; Even http://xooglers.blogspot.com/ was down (giving 502 errors). See http://www.flickr.com/photos/seeminglee/2050618571/in/set-72157603261415176/ for another instance where this issue shot up.

Googling for a cause landed fruitless, my likely guess is blogger servers were overloaded. Hope this doesn’t happen again.

Filter module support for Premium module

There was a need to put a log in link with destination get variable set if the user is not authenticated and trying to view a premium node. The obvious place to put such content is the “Premium body text” in /admin/settings/premium, however one problem was that “Premium body text” can only static html, no filters/format.

I couldn’t quite believe why filter module was not being made use of there, so I went ahead an made the necessary changes to make it possible to select the filter/format to be applied to “Premium body text”. The patch will add a Input format section to the settings form, that filter chosen there will be applied when the “Premium body text” is rendered into a node.

You can see the progress of the patch submitted to drupal.org at http://drupal.org/node/231641. I just hope the patch will make it to the premium module head. The development of the premium module is nearly stagnant :(, that conserns me.

Drupal Atom module spits invalid xml

Drupal Atom module is spitting invalid XML in some cases. It is obvious that all user generated text in XML should be either escaped or appear within CDATA section. However it is not the case with title and subtitle sections. If the site title contains “&”, then the atom/feed will guaranteed to be invalid.

I came across this the hard way, in one of the sites I was maintaining someone decided that they need “&” in the title, then the atom/feed was giving a XML parser error. After little bit of head scratching, I was able to triangulate the buggy piece of code.

You can read the progress of the issue at http://drupal.org/node/229392, you can download the patch from the same.

Hope I saved someone from much head scratching and frustrations.