A Perl script implements a singing, musical Internet

Installation

The boom-sender script is installed on the hosted machine; the Perl modules required for this are available from CPAN. AccessLog::Parser has dependencies for Getopt::Helpful, Date::Piece, File::Fu, and Class::Accessor::Classy.

If your provider refuses to install these, you can add a module directory in the user-writable area on the hosted machine and add the directive

use lib "/home/name/perl-modules";

to the Perl script to point it to the new location.

Alternatively, you could set up your own Perl installation in the user-writable area of the hosted machine.

Also, you could consider the PAR toolkit, which allows you to pack module archives and even executables without installation worries in a similar style to Java JAR files.

To reflect your local setup, you will need to modify the URL sound file mappings set up by the file2sound() function in boom-sender.

Make sure the sound files you reference are available on the sound server.On the sound server, the sound files are installed in $SOUND_DIR. The /usr/share/sounds/purple directory has a useful selection of short sounds.

In this directory the Pidgin IM client (formerly known as Gaim) stores the sound data that the program outputs when buddies log on or off or that it uses to notify the user of incoming or outgoing instant messages.

After starting the sound server boom-receiver and letting it run in the foreground, performing a short test with the telnet client in another terminal, and setting up the SSH tunnel referred to earlier, you can launch your logfile monitoring system script on the hosted machine, sit back, and enjoy the concert.

Extensions

In addition to the requested URL paths, the sound server could also play sounds whenever a request fails. The web server stores the return code for each request in access.log, and the log parser provides access to it with the $fields{code} hash entry.

To make sure you get the system administrator's attention, you might like to use flatulent noises or explosions for this.

Infos

  1. USA newsletter (in German): http://usarundbrief.com
  2. Clark, Jim. Netscape Time: The Making of the Billion-Dollar Startup That Took on Microsoft. St. Martin's Griffin, 2000.
  3. Cozens, Simon. Advanced Perl Programming, 2nd edition. O'Reilly. 2005.
  4. Listings for this article: http://www.linux-magazine.com/resources/article_code

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

SINGLE ISSUES
 
SUBSCRIPTIONS
 
TABLET & SMARTPHONE APPS
Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Admin Workshop: inetd & xinetd

    If you have many daemons running on your server, it can be quite difficult to keep track of them all. inetd and xinetd manage these services centrally and also take care of exchanges with your clients, allowing programs without network code to operate as Internet servers.

  • Free Software Projects

    DJs don’t need expensive decks now that Mixxx offers a competitive computer-based alternative. The Liquidsoap programming language provides a fully automated approach to generating flexible streams.

  • Ask Klaus!
  • LTSP

    The Linux Terminal Server Project offers a comprehensive approach to terminal services in Linux, including easy access to local sound cards, printers, and USB sticks.

  • MIDI with Linux

    A MIDI keyboard is a useful extension to any audio workstation. Learn how to connect a MIDI instrument to your Linux sound studio through a MIDI interface device.

comments powered by Disqus

Direct Download

Read full article as PDF:

072-076_perl.pdf (427.10 kB)

News