WordPress plugin Smart Throttle 1.0.0 released

WordPress plugin Smart Throttle 1.0.0 released. With this release Smart Throttle is hosted on WordPress plugin repository allowing users to easily install and upgrade.

In this release I have added the ability to configure throttling parameters. You can download the latest release from either here, here or from your WordPress blog under Plugins -> Add New in wp-admin.

Please do not forget to rate the Smart Throttle plugin and give your ideas to improve it. ๐Ÿ™‚

My fight against comment spam on WordPress blogs – Smart Throttle

My blog was hit with a comment spam flood which almost brought down the server under load. There were aproximately 30 bots continuously posting spam comments, geez don’t they realize that none of the comments get published. With all the writes to the database, my servers came to a crawling stop. I disabled comments for a while, until I figure out a means to prevent the spam messages from being posted. First option was CAPTCHA, I installed re-CAPTCHA WordPress plugin. This did reduce the spam but in an ugly way. I was thinking of a means to stop the nuisance spam without even writing to the database. Then I came accross this, and gave me the idea for Smart Throttle WordPress plugin. It’s very simple, depending on the rate of comments in the last hour by the user the comment flood time out will be automatically adjusted. Check out the plugin home page for details how it’s done. The plugin is released under GPLv3. I have now disabled re-CAPTCHA plugin and so far things are looking good, most of the spam bots are lost in the you are posting too fast message ๐Ÿ˜‰ . Give your blog a break with Smart Throttle.

Subversion to Git

My new year resolution was to ditch Subversion and move to Git. I switched to Git as my SCM for all my development work on new year day it self. I did hit some issues because my ignorance about how things are done with Git, however everything was fixed within the day. Now, 20 days later; I’m really happy that I did make the switch. Git has reduced development time greatly. No longer do I think about whether I should commit, wait for commit to finish for many minutes, or worry about overwriting someone’s work. Now I spend more time doing actual development than thinking about planning merges and commits.

I’ll blog about the few gotchas that I faced when I have time, hopefully soon. Development is fun again, thanks to Git. ๐Ÿ™‚

Use KernelCheck to build the latest kernel for debian/ubuntu

I recently found this awesome project called KernelCheck that allows you to build the latest Linux Kernel for your distribution. It requires very little interaction from the user and automatically optimizes the kernel to user’s needs. Currently it only supports Debian based distributions but support for RPM and Slackware based distributions is planned. KernelCheck is build around the AutoKernel idea by PinguinZ.

Building the Linux Kernel was never easier on Debian (and derivatives) before. I just compiled the 2.6.28.1, it wasn’t a pain at all.

v4l supports Avermedia PCI pure analog (M135A)

I bought a Avermedia PCI pure analog (M135A) recently (26th December) and to much to my delight it was just plug and play on my home media center running Debian testing with custom built Linux kernel 2.6.28 (Released on 24th December). TV tuner was working with no issues. All local TV channels we accessible :).ย  Even the remote was working (not all but the most critical ones like volume control and channel selection are working). Since my sound card didn’t have a mixer I had to use sox to redirect the sound from the TV tuner to the sound card. Running the following at start up did the job.

sox -r 32000 -w -t alsa hw:1,0 -t alsa hw:0,0

Just in case not all required modules are loaded in your case, the required modules to use this radio tuner are:

  • saa7134
  • saa7134_alsa
  • tda827x
  • tda8290

I’m really happy that now most of the hardware I can find in local shop is just plug and play on GNU/Linux. My kudos to v4l (video4linux) and the Linux kernel developers ๐Ÿ™‚ .