<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>Advogato blog for jmcnamara</title>
    <link>http://www.advogato.org/person/jmcnamara/</link>
    <description>Advogato blog for jmcnamara</description>
    <language>en-us</language>
    <generator>mod_virgule</generator>
    <pubDate>Tue, 21 May 2013 08:22:19 GMT</pubDate>
    <item>
      <pubDate>Tue, 19 Mar 2002 12:16:21 GMT</pubDate>
      <title>19 Mar 2002</title>
      <link>http://www.advogato.org/person/jmcnamara/diary.html?start=9</link>
      <guid>http://www.advogato.org/person/jmcnamara/diary.html?start=9</guid>
      <description>&lt;b&gt;fork()&lt;/b&gt;
&lt;p&gt;
I've moved my diary to &lt;a
href="http://use.perl.org/~jmcnamara/journal/"&gt;use Perl&lt;/a&gt;.
&lt;p&gt;</description>
    </item>
    <item>
      <pubDate>Sat, 17 Nov 2001 16:23:24 GMT</pubDate>
      <title>17 Nov 2001</title>
      <link>http://www.advogato.org/person/jmcnamara/diary.html?start=8</link>
      <guid>http://www.advogato.org/person/jmcnamara/diary.html?start=8</guid>
      <description>&lt;br&gt;
&lt;b&gt;Inline::Awk&lt;/b&gt;
&lt;p&gt;
Uploaded &lt;a
href="http://search.cpan.org/search?dist=Inline-Awk"&gt;Inline::Awk&lt;/a&gt;
to CPAN. This allows you to add awk code to a perl program:
&lt;PRE&gt;
        #!/usr/bin/perl
 
        use Inline AWK;
    
        $num = 5;
        $str = 'ciao';
    
        print square($num), "\n";
        print echo($str),       "\n";
    
        print "Now, back to our normal program.\n"
    
        __END__
        __AWK__
    
        function square(num) {
            return num * num
        }
    
        function echo(str) {
            return str " " str
        }
&lt;/pre&gt;
&lt;p&gt;
Whether or not anyone in their right mind would want to do
this is open to debate. &lt;tt&gt;:-)&lt;/tt&gt;
&lt;p&gt;

&lt;p&gt; &lt;p&gt; &lt;b&gt;First we take Manhattan&lt;/b&gt;
&lt;p&gt;
Berlin for the next three weeks.
&lt;p&gt;
</description>
    </item>
    <item>
      <pubDate>Wed, 31 Oct 2001 12:42:43 GMT</pubDate>
      <title>31 Oct 2001</title>
      <link>http://www.advogato.org/person/jmcnamara/diary.html?start=7</link>
      <guid>http://www.advogato.org/person/jmcnamara/diary.html?start=7</guid>
      <description>&lt;br&gt;
&lt;p&gt; It's hard to find time to write code and write about writing
code.
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;b&gt;Spreadsheet::WriteExcel&lt;/b&gt;
&lt;br&gt;
&lt;br&gt;
Version 0.34 of &lt;a
href="http://search.cpan.org/search?dist=Spreadsheet-WriteExcel"&gt;Spreadsheet::WriteExcel&lt;/a&gt;
took a lot of work due to the addition of a module of helper
functions and the implementation of &lt;a
href="http://freshmeat.net/img/screenshots/15162.jpg"&gt;images&lt;/a&gt;
in Excel. However, it clears the way for work on the Excel
97+ format which is now the dominant theme of feature
request emails.
&lt;br&gt;
&lt;br&gt;
I also set up a &lt;a
href="http://freshmeat.net/projects/writeexcel/"&gt;project&lt;/a&gt;
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.
&lt;br&gt;
&lt;br&gt;
&lt;a href="http://www.samag.com/tpj/" &gt;The Perl Journal&lt;/a&gt;
is back on-line and so is the &lt;a
href="http://www.samag.com/documents/s=1272/sam05030004/"&gt;article&lt;/a&gt;
that I wrote last year about Spreadsheet::WriteExcel.
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;b&gt;YAPC::Europe&lt;/b&gt;
&lt;br&gt;
&lt;br&gt;
I attended &lt;a
href="http://yapc.org/Europe/2001/index.html"&gt;YAPC::Europe&lt;/a&gt;
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.
&lt;br&gt;
&lt;br&gt;
The best talks that I attended were &lt;a
href="http://yapc.org/Europe/2001/proceedings/14/index.html"&gt;Mail::Box&lt;/a&gt;
by Mark Overmeer and &lt;a
href="http://yapc.org/Europe/2001/proceedings/18/index.html"&gt;Mutagenic
modules&lt;/a&gt; by Robin Houston. Michael Schwern's talks were
also very good as was his idea for &lt;a
href="http://archive.develooper.com/perl-qa%40perl.org/msg00148.html"&gt;CPANTS&lt;/a&gt;.
&lt;br&gt;
&lt;br&gt;
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.
&lt;br&gt;
&lt;br&gt;
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. &lt;a href="http://london.pm.org/" &gt;London.pm&lt;/a&gt;
has to take some responsibility for this. It seems to have
detached into an alternative reality, perhaps even one where
Perl doesn't exist. &lt;tt&gt;:-)&lt;/tt&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;b&gt;Inline::AWK&lt;/b&gt;
&lt;br&gt;
&lt;br&gt;

&lt;p&gt; &lt;p&gt; Unfortunately, I am also responsible for a joke module: &lt;a
href="http://search.cpan.org/search?dist=Acme-Inline-PERL"&gt;Inline::PERL&lt;/a&gt;.
&lt;br&gt;
&lt;br&gt;

&lt;p&gt; &lt;p&gt; 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 &lt;a
href="http://search.cpan.org/search?dist=Inline"&gt;Inline&lt;/a&gt;,
and posted the initial &lt;a
href="http://archive.develooper.com/inline@perl.org/msg00760.html"&gt;release&lt;/a&gt;
to the Inline mailing list.
&lt;br&gt;
&lt;br&gt;
Since then I've refined the module and built a test
framework based on all of the code from &lt;a
href="http://cm.bell-labs.com/cm/cs/awkbook/"&gt;The AWK
Programming Language&lt;/a&gt;. I still need to do a bit more work
with it before I take it back to the mailing list and then
to &lt;a href="http://search.cpan.org/" &gt;CPAN&lt;/a&gt;.
&lt;br&gt;
&lt;br&gt;
Where I come from every young boy dreams of one day writing
an awk compiler. &lt;tt&gt;:-)&lt;/tt&gt;
&lt;br&gt;
&lt;br&gt;</description>
    </item>
    <item>
      <pubDate>Fri, 15 Jun 2001 12:35:04 GMT</pubDate>
      <title>15 Jun 2001</title>
      <link>http://www.advogato.org/person/jmcnamara/diary.html?start=6</link>
      <guid>http://www.advogato.org/person/jmcnamara/diary.html?start=6</guid>
      <description>&lt;b&gt;Spreadsheet::WriteExcel&lt;/b&gt;
&lt;br&gt;
&lt;br&gt;

&lt;p&gt; &lt;p&gt; &lt;p&gt; Version 0.32 of &lt;a
href="http://search.cpan.org/search?dist=Spreadsheet-WriteExcel"&gt;Spreadsheet::WriteExcel&lt;/a&gt;
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
&lt;a
href="http://www.deja.com/group/comp.lang.perl.misc"&gt;c.l.p.m&lt;/a&gt;
and  &lt;a href="http://www.perlmonks.com/" &gt;PerlMonks&lt;/a&gt; and I
had to stop playing &lt;a
href="http://www.perlmonks.com/index.pl?node_id=70970"&gt;Golf&lt;/a&gt;.
&lt;br&gt;&lt;br&gt;
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.
&lt;br&gt;
&lt;br&gt;

&lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;b&gt;Acme::Inline::PERL&lt;/b&gt;
&lt;br&gt;
&lt;br&gt;
I also released &lt;a
href="http://search.cpan.org/search?dist=Acme-Inline-PERL"&gt;Acme::Inline::PERL&lt;/a&gt;
at Brian Ingerson's request.
&lt;br&gt;
&lt;br&gt;
Inline::PERL: Bring the power of PERL programming to your
Perl programs. &lt;tt&gt;;-)&lt;/tt&gt;
&lt;br&gt;
&lt;br&gt;

&lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;b&gt;Life (and how to live it)&lt;/b&gt;
&lt;br&gt;
&lt;br&gt;
Two weeks holidays in Italy from tomorrow. Non vedo l'ora.
&lt;br&gt;
&lt;br&gt;
</description>
    </item>
    <item>
      <pubDate>Wed, 18 Apr 2001 23:00:26 GMT</pubDate>
      <title>18 Apr 2001</title>
      <link>http://www.advogato.org/person/jmcnamara/diary.html?start=5</link>
      <guid>http://www.advogato.org/person/jmcnamara/diary.html?start=5</guid>
      <description>&lt;b&gt;Spreadsheet::WriteExcel&lt;/b&gt;

&lt;p&gt; &lt;p&gt; &lt;p&gt; I released version 0.31 of &lt;a href="http://search.cpan.org/search?dist=Spreadsheet-WriteExcel" &gt;Spreadsheet::WriteExcel&lt;/a&gt; on April 12th. 
This release fixes the show-staller bug and implements other important functionality.
&lt;br&gt;
&lt;br&gt;
This is what &lt;a href="http://www.activestate.com/" &gt;ActiveState&lt;/a&gt; had to say about the module &lt;i&gt;"Writes into 
Excel spreadsheet files. Somewhat limited, but fairly valuable."&lt;/i&gt;  I guess that this is an example of damning 
somebody with faint praise.
&lt;br&gt;
&lt;br&gt;
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.
&lt;br&gt;
&lt;br&gt;
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: &lt;i&gt;"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."&lt;/i&gt;
&lt;br&gt;
&lt;br&gt;
As for the second reason: Eric Steven Raymond puts this better in &lt;a href="http://www.tuxedo.org/~esr/faqs/hacker-howto.html" &gt;How to Become a Hacker&lt;/a&gt;.
&lt;br&gt;</description>
    </item>
    <item>
      <pubDate>Fri, 9 Mar 2001 00:10:15 GMT</pubDate>
      <title>9 Mar 2001</title>
      <link>http://www.advogato.org/person/jmcnamara/diary.html?start=4</link>
      <guid>http://www.advogato.org/person/jmcnamara/diary.html?start=4</guid>
      <description>&lt;b&gt;Spreadsheet::WriteExcel&lt;/b&gt;
&lt;br&gt;
&lt;br&gt;
I received a bug report that looked like a showstopper. The nature of the project means that this is always a 
possibility.
&lt;tt&gt;short(long(*story))&lt;/tt&gt;:   found the bug, the show goes on, albeit with a few minor script changes.

</description>
    </item>
    <item>
      <pubDate>Wed, 7 Mar 2001 23:37:37 GMT</pubDate>
      <title>7 Mar 2001</title>
      <link>http://www.advogato.org/person/jmcnamara/diary.html?start=3</link>
      <guid>http://www.advogato.org/person/jmcnamara/diary.html?start=3</guid>
      <description>&lt;b&gt;Spreadsheet::WriteExcel&lt;/b&gt;

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

&lt;p&gt;  The longest function name is in French, LOI.NORMALE.STANDARD.INVERSE (29 chars), followed by Finnish, 
NORM.JAKAUMA.NORMIT.K&#xC4;&#xC4;NT (25 chars). The shortest function name in all languages is T.
&lt;br&gt;
&lt;br&gt;
Here is the same function name in nine languages: TIME, ZEIT, TEMPS, NSHORA, TEMPO, TIJD, AIKA, 
ORARIO, KLOCKSLAG.
&lt;br&gt;
&lt;br&gt;
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.</description>
    </item>
    <item>
      <pubDate>Mon, 5 Mar 2001 13:09:47 GMT</pubDate>
      <title>5 Mar 2001</title>
      <link>http://www.advogato.org/person/jmcnamara/diary.html?start=2</link>
      <guid>http://www.advogato.org/person/jmcnamara/diary.html?start=2</guid>
      <description>&lt;b&gt;Spreadsheet::WriteExcel&lt;/b&gt;

&lt;p&gt; 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.

&lt;p&gt; The
author of the email said that with the inclusion of
formulas the module had gone from &lt;i&gt;interesting&lt;/i&gt; to
&lt;i&gt;useful&lt;/i&gt;. A fair observation.

&lt;p&gt; &lt;b&gt;Life (and how to live it)&lt;/b&gt;

&lt;p&gt; 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.</description>
    </item>
    <item>
      <pubDate>Thu, 22 Feb 2001 13:29:18 GMT</pubDate>
      <title>22 Feb 2001</title>
      <link>http://www.advogato.org/person/jmcnamara/diary.html?start=1</link>
      <guid>http://www.advogato.org/person/jmcnamara/diary.html?start=1</guid>
      <description>&lt;b&gt;Spreadsheet::WriteExcel&lt;/b&gt;

&lt;p&gt; 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.

&lt;p&gt; The documentation, testing and distro preparation take at
least half the development time of each new release. 

&lt;p&gt; &lt;b&gt;Work (the most important thing is)&lt;/b&gt;

&lt;p&gt; Went to the UK for a course on VoIP. "All your IP traffics
are belong to us."

&lt;p&gt; If it had been a week later I could have made it to
&lt;a HREF="http" ://london.pm.org/WhatDo.shtml&gt;London.pm&lt;/a&gt; to
hear &lt;a href="http://www.yetanother.org/damian/" &gt;Damian
Conway&lt;/a&gt;'s talk.


&lt;p&gt; &lt;b&gt;Life (and how to live it)&lt;/b&gt;

&lt;p&gt; 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.</description>
    </item>
    <item>
      <pubDate>Fri, 16 Feb 2001 13:35:30 GMT</pubDate>
      <title>16 Feb 2001</title>
      <link>http://www.advogato.org/person/jmcnamara/diary.html?start=0</link>
      <guid>http://www.advogato.org/person/jmcnamara/diary.html?start=0</guid>
      <description>&lt;b&gt;Spreadsheet::WriteExcel&lt;/b&gt;&lt;br&gt;

&lt;p&gt; &lt;p&gt; Received a report of a subtle bug. The format string
&lt;tt&gt;'00000'&lt;/tt&gt; should pad leading zeros to a zip code in
Excel but nothing was happening. It turned out that
&lt;tt&gt;'00000'&lt;/tt&gt;
was matching as a number and evaluating to zero. Nice.&lt;br&gt;</description>
    </item>
  </channel>
</rss>
