Portrait of Amy

Amelie Zapf
Musical Generalist

Photo: Christian Appl 2004
Warning! Your browser does not support CSS.

Software

 
Sometimes I write Perl and PHP code. Not a lot of it, and no big projects, but just little applications that get a particular job done when I need it. The following scripts I wrote primarily with exactly that in mind, so they're not industry-quality code. They just work for me. I wrote them on a Linux box, so they're written to work on these. Being Perl, they might just as well work on any other operating system, but I don't have the time or knowledge to adapt them. If somebody feels the need to do so, go ahead; it's absolutely fine with me.

All scripts come packaged as a ZIP file with a copy of the GNU General Public License attached. Just take the *.pl script, stick it somewhere in your $PATH and you should be done. No fancy installers.

insert_headline

Using non-free fonts as Web fonts is an infringement of copyright. For short headlines, this problem can be circumvented with the following PHP function. It uses ImageMagick to render a specified text in an arbitrary font (the .ttf file being placed outside the web root) as a bitmap, and deposits it into a specified folder. ImageMagick is only being called when content has been updated.

Arguments:

Globals:

  function insert_headline($content, $style, $link) {
    global $fontstyles, $CONVERT, $fontsdir, $imagedir, $imagerel;
    if (!preg_match('/^\d+$/', $style) &&
        $style<0 && $style>=count($fontstyles)) { 
      echo "<b>ERROR:</b> No such style! <br>\n"; 
    } else {
      $filename=preg_replace('/[^a-zA-Z0-9]/', '', $content);
      $rval=0;
      if (!file_exists("$imagedir/$filename.png")) {
        $cmd="$CONVERT -background \"".$fontstyles[$style][3].
             "\" -fill \"".$fontstyles[$style][2].
             "\" -font \"$fontsdir/".$fontstyles[$style][0].
             "\" -pointsize \"".$fontstyles[$style][1].
             "\" -trim +repage -transparent \"".
             $fontstyles[$style][3].
             "\" label:'$content' $imagedir/$filename-$style.png 2>&1";
        exec($cmd, $output, $rval);
      }
      if ($rval) { 
        echo "<b>ERROR:</b> Image creation failed!<br>\n"; 
        exec("rm $imagedir/$filename-$style.png"); 
      } else { if ($link) {
          echo "<a href=\"$filename.php\"><img ".
               "src=\"$imagerel/$filename-$style.png\" ".
               "alt=\"$content\"></a>";
        } else { 
          echo "<img src=\"$imagerel/$filename-$style.png\" ".
               "alt=\"$content\">"; 
  } } } }

Sudoku Solver

A little text-mode program doing exactly what it says, and keeping you posted about the logic it employs. Configuring the script is not necessary. No dependencies, either.

Screenshot
Download

Wordsmith

A rhyming dictionary with a GUI, written in Perl/Tk. Consequentially, you need to have Tk installed, but nothing else. In order to work, this program requires a phonetic word list. For the English language, such a word list is available in the Moby project, and can be retrieved from here. Use "Moby Pronunciator", mobypron.tar.Z. Once unpacked, load mobypron.unc into WordSmith.

Screenshot
Download