So much for good intentions. I get myself all geared up to

the problem I need to solve today? Well, I want to find out about how emacs networking works.

So first, I need a simple server to play with. Now normally when I think server I automatically think Apache but this time I want something a bit more basic. And if I was thinking enterprise I might reach for C++/ACE. However, for something basic, Perl is ideal.

I’ve just upgraded to Ubuntu 9.04 on this box and Perl is unused so let’s see if it has what I need.

06.52 Ubuntu finishes booting

I waste a few minutes on the internet.

06.57 I start Emacs

and remind myself just how gorgeous emacs-23 looks.

06.59 I check for the Net::Server package

$ perldoc Net::Server You need to install the perl-doc package to use this program. $ sudo apt-get install perl-doc $ perldoc Net::Server No documentation found for "Net::Server" .

It is not installed. I could install it using apt (it is called libnet-server-perl ) but I’ve got in the habit of using Perl’s CPAN module which provides package management facilities too. The advantage is that it is somewhat consistent across platforms.

$ sudo perl -MCPAN -e shell cpan[1]> install YAML cpan[2]> install CPAN cpan[3]> reload CPAN cpan[4]> install Bundle::CPAN

The CPAN bundle installs quite a bit so I go for breakfast.

07.15 Back from breakfast

cpan[5]> install Net::Server

I took this code pretty much straight from perldoc Net::Server .

# !/usr/bin/perl use strict ; use warnings ; package SimpleServer ; use base qw (Net::Server) ; sub process_request { while (<STDIN>) { s / \ r ?\ n $ / /; print STDERR "Received [$_]

" ; last if / quit / i ; } } SimpleServer->run( port => 8080);

I tested it using telnet localhost 8080 to confirm it does what I need.

07.20 All done

Presumably Python and Ruby have similar incantations that will get a server up and running quickly.

And unfortunately at this point I have to go to work. But later on, I can begin experimenting with emacs networking.