psilandia

Pasi Savolainen

This is my site. It's ordered mainly in a 'directory' fashion. To navigate, use:

Specifics about me.

Uploaded ExSheep to GoogleCode

exsheep.png To test googlecode and to try and kick exsheep, I uploaded exsheep to googlecode.

Attached is a screenshot where you can see the interface, it's a bit dated but representative anyways.

Getting current SVN may involve some dickering around (most likely creating symlinks into graphics/ -subfolder). Well, good luck.

(3¼ years ago) | /code/exsheep/news/uploaded-to-googlecode | Comments 0

New version 0.4.4

voiceapp-solid-scope.png Got report that voiceapp no longer compiled correctly. Took a look at the code and made some fixes/enhancements, including:

Height and width of window are a bit constrained because of the way we get and process data. If spectrogram is enabled, window must be at least M/2 pixels high where M is number of samples we push through FFT (-n -option, default 512). M/2 is also always width of Analyzer, and M is always width of Scope. Window width can be less that Analyzer+Scope, Scope will just not be fully drawn.

Note that even with such simplistic graphics VoiceApp will push your processor.

Download voiceapp-0.4.4.tar.gz.

(4 years ago) | /code/voiceapp/060107 | Comments 0

Overhead of precalculating figlet captchas

After recent news item on slashdot considering easy defeatability of certain type CAPTCHA I set out to investigate risk of easy defeatability of wbcaptcha, figlet based captcha.

First, pixelized image based approach. This could be feasible, but it needs some kind of a rendering system. Probably 'lynx --dump' would do the trick, then searching for something that looks like a captcha and rendering that with suitable, most easily identified font and processing that as a regular image. Most likely selecting color of font and expanding that to make insignificant spaces disappear.

With that approach, there's a snag. Visual text identifying has very big problems with overlapping characters. And with figlet that means option called smushing (and used in probability P(0.5)). I'd say that limits it to at most 50% hit rate, with heavy (at this point of time) calculations and rather complex image analysis. I kinda hope that people capable of doing it are doing better things :)

Another approach would be to simply pregenerate all the letter combinations captcha has, get MD5 sum of them and make database of combination (dictionary attack).

As for the feasibility: wbcaptcha uses 60 different characters in captcha and subsequent characters are independent of eachother (eg. it could be 'aaaa' as well as 'abcd'). It can use 2 different renderings of characters (smushed or plain) and there're several fonts available (I have 5 listed). Default length of captcha is 4 characters (not limited to). This means that there are 60^4*2*5 ~= 13*10^6 possible renderings of captcha with figlet. MD5 checksum is 16bytes in length when stored, if we add to this length of corresponding captcha, this becomes 20 bytes. In total this database would weigh at approximately 260 Megabytes.

That's little. It would probably take little time for some zombiefication software to generate that size of file and query it locally.

Againg, there's a snag. Upping the word length to 5 characters makes database 144Gigabytes in size, 6 characters makes that 8 Terabytes and 7 characters takes 509 Terabytes.

My conclusion is that at this time, with current default settings wbcaptcha can be a push-over defense, but with little hardening it could be rather formidable, if not entirely equivalent to image based captchas.

The equation for database size is 60^(number_of_characters)*2*5*20 bytes. You can easily evaluate it's size in google, for example: 60^8*2*5*20 bytes in terabytes.

(4¼ years ago) | /code/misc/figlet-captcha-precalculation | Comments 1

CAPTCHA plugin for blosxom

Today's piece of code is a CAPTCHA plugin for blosxom. This one is based on ASCII art (there already is one that generates images) generating 'figlet' program.

You can see the effect by using the 'Post Comment' button below.

Things of note are that you will need to have 'figlet' installed, or alternatively just use the venerable BSD 'banner' program. Second thing is that you should configure wbcaptcha to be loaded before writeback (or other writeback -acting plugin, like wbnotify). So if your writeback is called '1writeback', call wbcaptcha '05wbcaptcha'.

The story.html setup can be tricky unless you use interpolate_fancy, with which it really isn't. Here is sample story.html for wbcaptcha. Look for things having wbcaptcha. Best of all, read documentation for plugin with 'perldoc wbcaptcha'.

You can download wbcaptcha - 2004-10-11 here.

Please note that this plugin only affects incoming comments/writebacks, not trackbacks. For more information please look at blosxom spam prevention wiki page.

I recently pondered wbcaptcha security in a short piece, it may be of interest.

Edit 2004-10-18: Bill Ward made his captcha plugin available.

Edit 2005-8-25: Warning about trackbacks and spam prevention link.

(4¼ years ago) | /code/misc/wbcaptcha | Comments 6

wmgmail version 0.6.3

New version, minor feature enhancements:

As usual, download wmgmail-0.6.3 here.

(4¾ years ago) | /code/wmgmail/news/wmgmail-0.6.3 | Comments 0

Download wmgmail

Source distribution:

Debian users are welcome to use the repository I've set up at http://psavo.iki.fi/debian. You can also download single .deb package if you wish so.

(4¾ years ago) | /code/wmgmail/download | Comments 0

Debian/unstable python-libgmail 0.0.8+cvs20041108-1 will break wmgmail

So don't blindly upgrade.

There was a patch that's needed by wmgmail (it saves some info from searches for quick retrieval), and it was taken in Debian/experimental version of python-libgmail (0.0.8-3). Now it was dropped (unknowingly, I think).

If you upgraded and need wmgmail back, apply this libgmail-threadinfo.diff patch. Restart wmgmail after applying it.

Update 12-Nov: New package (0.0.8+cvs20041108-2) fixed that, thanks to package maintainers. (removed note about other breakage, my own fault)

(5 years ago) | /code/wmgmail/news/debian-python-libgmail-0.0.9-breakage | Comments 0

wmgmail screenshots

wmgmail-qmd-autoclose.jpg Quick mail preview timeout in action. Configuration dialog, Interface tab.

wmgmail-dialogs.png Quick mail preview without timeout or launched via '>' -button.

wmgmail-nomail.png Mail and no mail indicator.

wmgmail-dark.png Dark mode for darker-toned themes.

(5 years ago) | /code/wmgmail/screenshots | Comments 0

wmgmail version 0.6.2

wmgmail-dark.png New version, minor feature enhancements, bugfixes:

As usual, download wmgmail-0.6.2 here.

(5 years ago) | /code/wmgmail/news/wmgmail-0.6.2 | Comments 0

Packaged libgmail for Debian

I packaged libgmail, a python library handling messaging with Gmail for Debian.

Ok, did it actually quite a few days ago, but now took the plunge and arranged it so it could be apt-get install:ed.

To install and keep updated on this package, do following:

  1. Add deb http://psavo.iki.fi/debian ./ to your /etc/apt/sources.list
  2. apt-get update
  3. apt-get install libgmail
  4. (install some package that uses libgmail and use it)

The reason I packaged it is so that I can develop wmgmail, a DockApp gmail notifier with it.

Update: python-libgmail package has now entered Debian/unstable, I suggest using it. As of version 0.0.8-3 it has the patch that wmgmail relies on. My repo still has local versions, but they're unlikely to be updated.

(5 years ago) | /code/misc/debian-libgmail-package | Comments 0

wmgmail version 0.6.1

New version, minor feature enhancements, bugfixes:

As usual, download wmgmail-0.6.1 here.

(5 years ago) | /code/wmgmail/news/wmgmail-0.6.1 | Comments 0

wmgmail, Yet another Gmail notifier.

wmgmail-screenshot.jpg This is a DockApp, intended for use with WindowMaker or fluxbox -window managers. It has a graphical configuration interface using GTK+.

wmgmail-dialogs.png wmgmail-nomail.png Functionality includes:

Dependencies

wmgmail has four dependencies. For absolute minimum utility you'll need python, pywmgeneral and libgmail. If you want graphical configuration and mail preview, you will also need reasonably recent (for GTK version 2) pygtk.

Installation

Non-debian:

  1. tar xvfz wmgmail-<version>.tar.gz
  2. cd wmgmail-<version>
  3. python setup.py install
  4. Done. After this you should be able to start wmgmail by typing wmgmail.
Technoblabber

wmgmail is written in python and uses libgmail for interfacing gmail, pygtk for dialog interfaces and pywmgeneral for dockapp business. Great thanks to all respective authors.

(5 years ago) | /code/wmgmail/about | Comments 1

wmgmail version 0.6.0

New version, major feature enhancements, including:

As usual, download wmgmail-0.6.0 here.

(5 years ago) | /code/wmgmail/news/wmgmail-0.6.0 | Comments 0

Humanized dates/ages for blosxom

After seeing some places implementing humanized dates and ages (Gmail impressed me most :), I coded fluffydates -plugin for blosxom.

It's output is age of certain date or date's shorter/more readable form. It most often looks like this for dates: 0:02; Yesterday 9:44; Thursday 9:44; February 18; February 18, 2003. For age it would look something like this: 20 minutes; 9½ hours; 0¾ day; 1¼ days; 7½ months; 1¾ years.

It supports multilingual sites, a primary language can be chosen and other languages used via interpolate_fancy blosxom plugin. interpolate_fancy can also be used for accessing date translating functions to have more interesting effects.

Usage/installation is simple: drop it into your plugin folder, and place $fluffydate::story_date and/or $fluffydate::story_age in your story.html. For fancier accessing you'll need interpolate_fancy.

With interpolate_fancy, you can use four additional functions, human_storydate, human_storyage, short_date and date_to_age. Two former are almost same as those provided via variables, but these can be localized.

All four functions take two parameters, lang and short. lang tells which language to use (English and Finnish so far :) and short tells if shorter form of date should be used (Mon instead of Monday, etc.)

Example with interpolate_fancy:

Download fluffydate.

Updated 2004-10-18: fixed typo, fixed one close-shaved moment cutoff, fixed handling with not found dates (again, typo).

(5 years ago) | /code/misc/fluffydate | Comments 0

wmgmail, Yet another Gmail notifier.

wmgmail-screenshot.jpg Update: Available for download!
This one is a DockApp, intended for use with WindowMaker or fluxbox -window managers. It has a graphical configuration interface using GTK+.

wmgmail-dialogs.png wmgmail-nomail.png Functionality includes:

Download

Source distribution: wmgmail-0.5.0.tar.gz.
Debian users are welcome to use the repository I've set up at http://psavo.iki.fi/debian.

Dependencies

wmgmail has four dependencies. For absolute minimum utility you'll need python, pywmgeneral and libgmail. If you want graphical configuration and mail preview, you will also need reasonably recent (for GTK version 2) pygtk.

Installation

Non-debian:

  1. tar xvfz wmgmail-0.5.0.tar.gz
  2. cd wmgmail-0.5.0
  3. python setup.py install
  4. Done. After this you should be able to start wmgmail by typing wmgmail.
Technoblabber

wmgmail is written in python and uses libgmail for interfacing gmail, pygtk for dialog interfaces and pywmgeneral for dockapp business. Great thanks to all respective authors.

(5¼ years ago) | /code/misc/wmgmail | Comments 0

By popular request

I updated the amd76x_pm module for linux-2.6.0-test4, as there was some pci_dev brokage.

Tried to get it into 2.6 via Alan Cox, but he went studying, so now I try to use the Dave Jones route.

Download: amd76x_pm-2.6.0-test4.patch.bz2

Update: 2.6.9-rc1-mm5 changed a thing and patch didn't apply cleanly. This version below is fixed in that regard.

Download: amd76x_pm-2.6.9-rc1-mm5.bz2

(5¼ years ago) | /code/misc/amd76x_pm-linux-2.6 | Comments 0

Small update to amd76x_pm

I updated the amd76x_pm module to work with amd_k7_agp -module. It's now rediffed against linux-2.6.0-test9, but should apply to earlier kernels as well.

Update: applies and works at least up to 2.6.5-rc3 and 2.6.5-rc3-mm3 (both are newest at the moment of writing this).

Download: amd76x_pm-2.6.0-test9.patch.bz2

Update2: 2.6.9-rc1-mm5 changed a thing and patch didn't apply cleanly. This version below is fixed in that regard.

Download: amd76x_pm-2.6.9-rc1-mm5.bz2

(5¼ years ago) | /code/misc/amd76x_pm-linux-2.6.0-test9 | Comments 2

Python DockApp interface package for Debian

Packaged pywmgeneral, a DockApp python library for Debian.

DockApps are small applications that sit on the edge of your screen and display semiseful information. DockApps are supported at least by WindowMaker, fluxbox and blackbox.

To install and keep updated on this package, do following:

  1. Add deb http://psavo.iki.fi/debian ./ to your /etc/apt/sources.list
  2. apt-get update
  3. apt-get install python-wmgeneral
  4. (install some package that uses pywmgeneral and use it)

Last item in list is actually my own project, a gmail notifier as a DockApp. The're also some interesting applications on pywmgeneral upstream site.

(5¼ years ago) | /code/misc/debian-pywmeneral-package | Comments 0

xcurs 0.5.0 available

OK. A warning first: do not save over your data, always use fresh directory.

Functional are following things:

Requirements to start this program:

Download here.

(5¼ years ago) | /code/xcurs/v050 | Comments 0

xcurs 0.5.1 available

Ok, it's been a year, but this ain't dead yet :)

Added function to save a cursor as a serie of PNG images. Use these steps to use it:

  1. Select cursor you want to save
  2. Select File -> Export cursor images...
  3. Select folder in which you want to save cursor images (there's a bunch of them)
  4. done.

Download here.

(5¼ years ago) | /code/xcurs/v051 | Comments 0
Check HTML and CSS Validity. RSS feed Rendertime: insert_rendertime_time_heres