Older blog entries for jmcnamara (starting at number 5)

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.


I received a bug report that looked like a showstopper. The nature of the project means that this is always a possibility. short(long(*story)): found the bug, the show goes on, albeit with a few minor script changes.

I have been adding support to Spreadsheet::WriteExcel for Excel's function names in other European languages.

The longest function name is in French, LOI.NORMALE.STANDARD.INVERSE (29 chars), followed by Finnish, NORM.JAKAUMA.NORMIT.KÄÄNT (25 chars). The shortest function name in all languages is T.

Here is the same function name in nine languages: TIME, ZEIT, TEMPS, NSHORA, TEMPO, TIJD, AIKA, ORARIO, KLOCKSLAG.

Waylaid myself in an implementation of Excel's comments. Represented by a small red triangle in the upper right hand corner of the cell. Which way does madness lie? This way.


Version 0.30 of Spreadsheet::WriteExcel was released on time. It now includes the facility to write formulas and functions. Despite the fact that this had been one of the most requested features I received only one email in relation to it. A bug report.

The author of the email said that with the inclusion of formulas the module had gone from interesting to useful. A fair observation.

Life (and how to live it)

Blood Simple was on T.V. The Coen brothers first feature. It doesn't contain the humourous undertone of their later films. I haven't seen it in a number of year. It is still really good.


I am updating the documentation in preparation for version 0.30 which will include access to formulas and functions. The target release date is the 28th of February.

The documentation, testing and distro preparation take at least half the development time of each new release.

Work (the most important thing is)

Went to the UK for a course on VoIP. "All your IP traffics are belong to us."

If it had been a week later I could have made it to London.pm to hear Damian Conway's talk.

Life (and how to live it)

Spent an evening in Oxford. The colleges were already closed. It is a nice town. Not as pretty as Urbino but more realistic. Ate a pizza at Quod.

16 Feb 2001 (updated 16 Feb 2001 at 20:53 UTC) »

Received a report of a subtle bug. The format string '00000' should pad leading zeros to a zip code in Excel but nothing was happening. It turned out that '00000' was matching as a number and evaluating to zero. Nice.

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!