jmcnamara is currently certified at Journeyer level.

Name: John McNamara
Member since: 2001-02-16 13:18:59
Last Login: N/A

FOAF RDF Share This



Recent blog entries by jmcnamara

Syndication: RSS 2.0

I've moved my diary to use Perl.

17 Nov 2001 (updated 17 Nov 2001 at 16:24 UTC) »


Uploaded Inline::Awk to CPAN. This allows you to add awk code to a perl program:

        use Inline AWK;
        $num = 5;
        $str = 'ciao';
        print square($num), "\n";
        print echo($str),       "\n";
        print "Now, back to our normal program.\n"
        function square(num) {
            return num * num
        function echo(str) {
            return str " " str

Whether or not anyone in their right mind would want to do this is open to debate. :-)

First we take Manhattan

Berlin for the next three weeks.

31 Oct 2001 (updated 31 Oct 2001 at 23:38 UTC) »

It's hard to find time to write code and write about writing code.


Version 0.34 of Spreadsheet::WriteExcel took a lot of work due to the addition of a module of helper functions and the implementation of images in Excel. However, it clears the way for work on the Excel 97+ format which is now the dominant theme of feature request emails.

I also set up a project page at Freshmeat. This was mainly to provide an announcement service for people interested in new releases of the module. A lot of people subscribed to the project. It is nice to get this kind of feedback.

The Perl Journal is back on-line and so is the article that I wrote last year about Spreadsheet::WriteExcel.


I attended YAPC::Europe in Amsterdam in August. In the absence of any other event this functions as the European Perl Conference. It was very well organised and I met nice people.

The best talks that I attended were Mail::Box by Mark Overmeer and Mutagenic modules by Robin Houston. Michael Schwern's talks were also very good as was his idea for CPANTS.

The lack of preparation of some of the speakers was disheartening. Although YAPC is a grass-roots event I felt that some people were too lackadaisical.

I also felt that there were too many joke modules and in-jokes. Perl has a light hearted feel about it but jokes can wear thin. has to take some responsibility for this. It seems to have detached into an alternative reality, perhaps even one where Perl doesn't exist. :-)


Unfortunately, I am also responsible for a joke module: Inline::PERL.

Partially as an atonement for this I decided to resurrect my original idea for Inline::AWK. I discussed this at YAPC with Brian Ingerson, the author of Inline, and posted the initial release to the Inline mailing list.

Since then I've refined the module and built a test framework based on all of the code from The AWK Programming Language. I still need to do a bit more work with it before I take it back to the mailing list and then to CPAN.

Where I come from every young boy dreams of one day writing an awk compiler. :-)

15 Jun 2001 (updated 31 Oct 2001 at 12:39 UTC) »

Version 0.32 of Spreadsheet::WriteExcel was released on May 18th with new features to allow setup of the printed page. Features such as page orientation, paper type, headers and footers. These had been the most requested features for a long time but I had managed to get bogged down in the implementation of Excel's formulas and functions. The formula module burned me out a little and it took a long time to add the relatively simpler page set-up options. In order to get it finished I had to stop reading c.l.p.m and PerlMonks and I had to stop playing Golf.

I also had to stop reading module related email at the beginning of my working night when a stray problem might divert me from coding. This meant that my end of the night email responses were pithier but it did increase my productivity.


I also released Acme::Inline::PERL at Brian Ingerson's request.

Inline::PERL: Bring the power of PERL programming to your Perl programs. ;-)

Life (and how to live it)

Two weeks holidays in Italy from tomorrow. Non vedo l'ora.

18 Apr 2001 (updated 19 Apr 2001 at 14:28 UTC) »

I released version 0.31 of Spreadsheet::WriteExcel on April 12th. This release fixes the show-staller bug and implements other important functionality.

This is what ActiveState had to say about the module "Writes into Excel spreadsheet files. Somewhat limited, but fairly valuable." I guess that this is an example of damning somebody with faint praise.

As part of the testing I had to verify each of the 225 Excel functions. This took one week of something close to drudgery. Programming shouldn't be drudgery for two reasons. The first reason is that if you have to do a mundane repetitive task then you should be able to write a program to help you. The second reason is that if programming becomes a drudge then you should be doing something else.

As for the first reason: I did write several small programs to help with the testing but the cross checking still required an unavoidable amount of manual effort. I think that the avoidance of a certain type of hard work is what defines me as a programmer. In much the same way Perl espouses laziness as a virtue: "Laziness: The quality that makes you go to great effort to reduce overall energy expenditure. It makes you write labor-saving programs that other people will find useful, and document what you wrote so you don't have to answer so many question about it."

As for the second reason: Eric Steven Raymond puts this better in How to Become a Hacker.

5 older entries...


jmcnamara certified others as follows:

  • jmcnamara certified jmcnamara as Journeyer
  • jmcnamara certified cwinters as Journeyer
  • jmcnamara certified chromatic as Journeyer
  • jmcnamara certified mojotoad as Journeyer
  • jmcnamara certified pjf as Journeyer
  • jmcnamara certified bikeNomad as Journeyer
  • jmcnamara certified footpad as Apprentice

Others have certified jmcnamara as follows:

  • jmcnamara certified jmcnamara as Journeyer
  • sye certified jmcnamara as Apprentice
  • cwinters certified jmcnamara as Journeyer
  • pjf certified jmcnamara as Journeyer
  • chromatic certified jmcnamara as Apprentice
  • footpad certified jmcnamara as Journeyer
  • fxn certified jmcnamara as Journeyer
  • ask certified jmcnamara as Journeyer
  • mojotoad certified jmcnamara as Journeyer
  • IlyaM certified jmcnamara as Journeyer
  • arascofield16 certified jmcnamara as Journeyer
  • Purdy certified jmcnamara as Master

[ Certification disabled because you're not logged in. ]

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!

Share this page