Fixing FUMP errors – error(s) detected and other
Monday 15 October 2012 @ 1:28 pm

Suddenly I’m becoming expert in fixing FUMP script.  FUMP stands for Follow Up Mailing List Processor and is a script used as autoresponder, with followup messages.  One person asked me to fix a problem with it (strange error). I fixed it, wrote about FUMP on my other blog, and since then a few more people asked me for help.

So, nolens volens, I became FUMP fixing expert. Quite often it is fixing “Error(s) detected” error (when logging in), but sometimes there are other problems, like the aforementioned problem with additional libraries. The interesting thing is, that the script works flawlessly, and then out of sudden it stops, showing detected error message.

 If your FUMP is broken, you can write to me at following e-mail:

poczta [ “at” sign ] arystoteles.pl

I’ll fix it.

The e-mail above is changed so the spammers don’t get it, but you know what to put between poczta and arystoteles: @

Usually I need to check what is wrong, think, find the problem, then fix it.

 What is FUMP?

It is an autoresponder script, that you host on your own server (thus avoiding monthly or yearly costs of using other autoresponders like GetResponse, Aweber etc.).  Youcan have as many mailing lists as you want for no additional costs.  The server you host Follow Up Mailing List Processor must be able to run perl (obviously).  The script is old and not supported by sellwide now, so if it stops working you need to find somebody who is not afraid of diving into mess of it’s code and will fix it.  (The code of that script by Konstantin Ursaloff  is not bad, but it definitely is not beautiful either).

I accept those task to mend the fump because it is good diversion form what i usually do.

 So, to get your FUMP fixed, write to me at:

poczta [ “at” sign ] arystoteles.pl

You know what to put between poczta and arystoteles: @

Common types of erros:

Error(s) detected (with no other message) – the most common problem.

SQL error: : ERROR: 1064 – You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘(14) ,   `procnomber` tinyint(4) NOT NULL default ‘0’,   `pid` varchar(6) NOT NU’ at line 1 at lib/dbfunc.pm line 154.

ERROR: 1064 – You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘TYPE=MyISAM AUTO_INCREMENT=2’

and so much more 🙂

If you want me to install and configure FUMP script

you can contact me too.  I can configure your FUMP to be fully compatible with all diactricts, umlauts, international characters with very capable Unicode encoding UTF-8.

Was searched:

Comments (4) - Posted in work by  



Perl job = high salary
Thursday 29 April 2010 @ 6:46 am

Here is article (in Polish language, but you will surely understand the first bar graph) http://interaktywnie.com/biznes/newsy/raporty-i-badania/tak-w-polsce-placi-sie-pracownikom-it-12414 that shows that Perl developers earn the highest salaries in Poland (50% more than PHP coders) 😉

The numbers on graph means: length of bar – monthly salary in polish złoty (currency) – divde by 4 to get values in Euro, percentage in pink box – percentage of that language users (perl – 5%)

Comments (1) - Posted in work by  



Masons and mason
Wednesday 31 March 2010 @ 6:57 am

I’m reading now a book by Dan Brown, author of “DaVinci code”, titled “Lost symbol”. It is mostly about masons. And it quite resemble the previous books by this author. Anyway, it is riveting.

This seemingly off-topic introduction leads to the on-topic perl thing: the mason. It is a “High-performance, dynamic web site authoring system” and “solves the common problems of site development: caching, debugging, templating, maintaining development and production sites, and more.” and “you can embed Perl code in your HTML and construct pages from shared, reusable components.”. Well, sound nice. How it looks? Like this:

(there was something wrong here. I removed it 🙂 )

Sadly, the FAQ on the official page seems to be neglected and is spammed by merchants of medications made to make your weenie harder. On the other hand, newest version is 1.44 form Jan 4, 2010 – so it is still developed.

Assuming that I would like to learn something new, like “something big, modern, to easy make web applications – with templates, cache, scalability, quick development” should I dive into mason, or better look for something else?

So, I have question, asking YOU for an insight about this like:
mason is cool, and at least better to do the same by your own from scratch
– forget it, it is so 1990’s, learn catalyst instead
– forget mason and catalyst, learn PHP symphony (- no problem for me, I know PHP – more or less 🙂 )
– ruby on rails is the real thing (no, I will not learn ruby – at least now 🙂 )
– the best is framework …. (something not mentioned above)

Please write your opinion below. Thank you.

Comments (4) - Posted in work by  



How to easily resige images in Perl
Wednesday 17 March 2010 @ 6:46 am

How to easily resize images (jpg) in perl? Use Image::resize

use Image::Resize;
use autodie;

$src = "bigimage.jpg";
my $old = Image::Resize->new($src);
my $new = $old->resize(200, 300); # max dimensions

$jpegdata = $new->jpeg(95); # jpeg quality

open OUT, ">./smaller/$src";
print OUT $jpegdata;
close OUT;
Comments (0) - Posted in work by  



Perl 5.11.3
Wednesday 20 January 2010 @ 6:55 am

New version of perl – 5.11.3 was released. The next version will be (as they hope) 5.12

Waht is new in perl 5.11.3?

  • Perl is shipped with Unicode version 5.2, itself released in October 2009.
  • Perl can now handle every Unicode character property.
  • The experimental ‘legacy’ pragma, introduced with Perl 5.11.2 has been removed. Its functionality has been replaced with the ‘feature’ pragma.
  • Numerous CPAN “toolchain” modules have been updated to what we hope are the final release versions for Perl 5.12.0.
  • Many crashing bugs or regressions from earlier releases of Perl were fixed for this release.

In my opinion is is very good, that perl 5 is still developed, as version 6 have still a long way to go, before it may be used (first, by enthusiasts, then by  coders, next by big companies that need reliability and stability)

Comments (0) - Posted in work by  



Unicode horror – nice tool to convert
Wednesday 13 January 2010 @ 6:59 am

Here is a nice tool to convert for example different characters to percent encoding for URIs, 0x notation, decimal code points etc; (by Richard Ishida):

http://rishida.net/tools/conversion/

Ok, it is not strictly related to perl , but I guess it may be handy for people that were interested in the “utf at LAMP horror” cycle.

Comments (0) - Posted in work by  



Utf8 horror at LAMP – accept charset
Wednesday 30 December 2009 @ 6:55 am

Continuing the never ending saga of perl / utf horror:

<form method=”post” accept-charset=”utf-8″ action=”…”>

Well, I never used it… and my web app works.

Is this accept-charset really needed? Do you know?

Comments (2) - Posted in work by  



Utf8 in web perl application (LAMP) – dbi, mysql
Wednesday 23 December 2009 @ 6:59 am

Horror with utf8 and LAMP ( perl ) web application contiunued:

We need to take care of  mysql connection, so it is ut8 – ready:

if (my $dbh = DBI->connect(“DBI:mysql:database=”.$name.’;host=’.$hostname, $user, $password,
{
RaiseError        => $raise,
#             AutoCommit        => 1,
mysql_enable_utf8 => 1,
on_connect_do => [ “SET NAMES ‘utf8′”, “SET CHARACTER SET +’utf8′” ],
})) {

$dbh->{‘mysql_enable_utf8’} = 1;
return $dbh; # DBI database handler
}

We also must make sure that our tables are unicode:

CREATE TABLE `foo` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
….

)  DEFAULT CHARSET=utf8

And remember, that utf8 chars may take more space than normal – so prepare longer varchars in tables and be prepared for problem with indexes, like this: Specified key was too long; max key length is 1000 bytes – see http://bugs.mysql.com/bug.php?id=4541

Comments (0) - Posted in work by  



Utf8 in web perl application (LAMP) – binmode, charset
Wednesday 16 December 2009 @ 6:57 am

After wrestling with perl encoding, we need to make sure the pages of website we create are displayed in utf8.
This means we need to have proper header in pages, for example:

<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” “http://www.w3.org/TR/html4/loose.dtd”>
<html>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″>



</head>
<body>

and/or:

Content-Type: text/html; charset=utf-8

Second step, is to set binmode on STDOUT (if we print our dynamically generated webpages)

binmode STDOUT, “:utf8”;

to get rid of

Wide character in print at …

warnings.

Comments (2) - Posted in work by  



Utf8 in web perl application (LAMP) – part 2 – Encode
Wednesday 9 December 2009 @ 6:57 am

The data we get from outside (like STDIN) is usually binary data.
Command like uc, lc wants text strings.

Here is how to change binary data to text strings:

use Encode ;
$foo = Encode::decode_utf8($foo);

you can also convert from other encodings:
$data = decode(“iso-8859-2”, $data);

To check whether a string have utf flag turned on:

use Encode qw(is_utf8);
print is_utf8($foo) ? “utf8” : “not utf8”

If you do not know what encoding is the data, use perl module:
use Encode::Guess;
my $enc = guess_encoding($data, qw/euc-jp shiftjis 7bit-jis/);

You need to tell explicitly which encodings are suspected, because
by default, it checks only ascii, utf8 and UTF-16/32 with BOM.

Encode::Guess->set_suspects(qw/euc-jp shiftjis 7bit-jis/);

But remember, that the guessing is not magic, and it likely to fail.
For example it may fail to recognize whether data are in is-8859-1 or iso-8859-2
Because:

The reason is that Encode::Guess guesses encoding by trial and error. It first splits $data into lines and tries to decode the line for each suspect. It keeps it going until all but one encoding is eliminated out of suspects list. ISO-8859 series is just too successful for most cases (because it fills almost all code points in \x00-\xff).

Comments (2) - Posted in work by  



Older Posts »