SwiftlyTilting: usability, reusability

Friday, August 24, 2007

All hail Akismet

For some time I’ve had problems with spam commenters. I’ve held them at bay mostly by having an extensive spam word blacklist as well as holding all comments with even one link in the approval queue. My blog had been somewhat dormant for the last year, and I guess the spam bots had been lying in wait or something because soon after I started posting again, my database had been filled to the brim with spam in my approval queue, to the point where my host turned off write access!

I looked at various spam deterrants for blogs and found Akismet. It’s not just a blog plug-in, it’s a whole service which continually monitors comments and posts to many different blogs and other sites which accept user contributions. Using this massive amount of data it can quickly learn how to filter out spam, even as spammers come up with new tactics.

Akismet is free for small blogs, though they do ask if you’re making tons of money to use their pay service. Overall it’s a great service for the average blogger. Unfortunately it’s not without its downsides. You do have to send every comment through their servers and you have to trust that they don’t throw out any good comments. I don’t have enough user discussion to test the false positives, but so far I’ve not had any problems.

I installed Akismet on August 11th, and already it’s stopped over seven thousand spam comments from being made on my blog alone! Here is a live counter of spams stopped since August 11th:

Sunday, August 12, 2007

Winter 2.0.2

A user left a comment notifying me about a warning message which would appear if allow_call_time_pass_reference was set to off in PHP settings. I’ve fixed the problem along with a few other minor bugs for this release. I also added a new comment syntax {{#| You comment here }}

Change log:

* Fixed allow_call_time_pass_reference bug
* Fixed bug with <nowinter> tag
* Fixed bug when undefined variables were referenced
* Added alternative comment syntax

Download Winter 2.0.2
Downloaded 1002 times

Friday, August 10, 2007

Winter 2.0.1 and Winter manual updated

I finished up the initial stages of the Winter 2.0 documentation today, so now you should be able to fully take advantage of all the new features. I noticed a few minor issues as I was documenting the code so I corrected them and have released the changes as Winter 2.0.1.

Change log:

  • Fixed some bugs with #eval
  • Changed the | (bitwise or) operator to ? since | is a reserved symbol in Winter (can’t believe I missed that one before!)
  • Improved #comment so that it does not evaluate code
  • Improved the escape character system

Download Winter 2.0.1
Downloaded 978 times

Thursday, August 9, 2007

Imageshack toolbar adds itself to Firefox’s ‘User Agent’ identifier

I was poking around in a log and noticed the Imageshack toolbar had added itself to what my browser’s User Agent. Not really a big deal but still not very polite of the developers.

You can remove it by editing your default.js file in

C:\Documents and Settings\[UserName]\Application Data\Mozilla\Firefox\Profiles

and removing this line:

pref(”general.useragent.extra.ImageShackToolbar”, “ImageShackToolbar/4.2.1″);

Saturday, August 4, 2007

Winter 2.0.0

It’s been over a year since I last released an update for Winter. Since then MediaWiki introduced support for parser function extensions, which provide some of the same basic functionality as Winter. Winter code does not interfere with parser functions, and they can be used on the same page, though care must be taken when combining both types of code together.

This new version of Winter has been in the works for a few months now. Many new features and functions have been added, and some bugs have been corrected as well. The program code has increased in size by nearly 80% since 1.5.0!

Homepage on Mediawiki.org

About Winter:

Winter is the Wiki Interpreter, a complete programming language plug-in for MediaWiki, the software which powers Wikipedia and many other wikis across the internet.

Change log:

  • Added installation settings $wgWinterMaxNesting, $wgWinterMaxOperations, $wgWinterMaxIterations, $wgWinterNotAllowed
  • fixed bug in operation count which severely under counted operations
  • fixed bug when trying to loop inside of a function
  • added external function definition support
  • improved tag
  • improved error messages
  • added - and $ to acceptable function and variable name characters, explicitly defined _
  • depreciated #define in favor of #str_replace_all
  • added @ modifier for variable assignment operators
  • added < - and <=> variable assignment operators
  • added & | xor < < >> bitwise operators
  • added ^ arithmetic operator
  • added #add, #subtract, #multiply, #divide arithmetic functions
  • added #strtoupper, #strtolower, #ucfirst, #trim, #ltrim, #rtrim, #strip_tags string functions
  • depreciated #default in favor of #set_param_default
  • added #comment as another name for #null
  • added #debug for easy debugging stub display
  • added #rand function
  • added #html_to_xml and #xml_xpath xml function
  • added array variable type (2 dimensions maximum)
  • added #foreach loop construct for traversing arrays
  • added []= and [][]= operators for array assignment
  • added #count, #array_rand, #array_rand_value, #sort, #rsort, #asort, #arsort, #natsort, #ksort, #krsort array functions

Download Winter 2.0.0
Downloaded 1297 times

Validate XHTML | Word Press