[Beowulf] A start in Parallel Programming?

Joe Landman landman at scalableinformatics.com
Tue Mar 20 06:59:18 PDT 2007

Robert G. Brown wrote:
> On Mon, 19 Mar 2007, Joe Landman wrote:
>> ps disclosure: FWIW I do play the occasional Perl golf.  Last one I
>> played with was to write a roman numeral calculator (c.f.
>> http://www.fonality.com/golf/ and
>> http://www.fonality.com/golf/post_mortem.cgi?id=1).
> Just for grins I did this too (and thanks for nothing -- gawds, all I
> need is another mindless programming task:-)

Heh... Well last I checked I was #53 or so on there.  350 characters for 
a roman numeral calculator.  After it was over, I learned how to shave 
20-30 characters off.

Not that this is a useful skill or anything like that, but it was a 

Sort of like Sudoku.  Or the chess Queens problem.

> The only problem I have with it is the "least number of keystrokes"
> thing.  I personally think that this part at the very least needs to be
> "in the active subroutine, exclusive of debugging code" to eliminate the
> trivial overhead of getting the number in from the command line or
> whereever and various good-practice things like comments, indentation,
> newlines.

Actually I think minimal number of keystrokes is not necessarily the 
right way to do things.  Having programmed in APL ages ago, I can tell 
you that some abstractions are better left untouched ...

> The other problem I have with the challenge is that a) the test strings
> are all trivial and are far from exhaustive of the available test space;

This is curiously what separates the approaches. The most common short 
approach is to avoid doing conversions, but to run a loop over the 
indices 1 to 3999 and generate roman numerals from that.  Then when 
there is a match, use that in the calculation.  Saves having to do a 
forward/backwards conversion.  Wasteful on memory/time.  But sure saves 
on keystrokes.  Also, I cannot for the life of me mentally parse some of 
those "programs".

> b) the routine doesn't have to REJECT strings that are technically
> invalid (or at least odd) since the "roman numeral algorithm" isn't
> single valued without additional restriction.  For example,
>   XLII = 42 = VIIIL = XXXXII?
> (Note well that the answer in all cases, curiously enough, is "42",
> hmmmm:-)

Yeah ... but whats the question ...


Joseph Landman, Ph.D
Founder and CEO
Scalable Informatics LLC,
email: landman at scalableinformatics.com
web  : http://www.scalableinformatics.com
phone: +1 734 786 8423
fax  : +1 734 786 8452 or +1 866 888 3112
cell : +1 734 612 4615

More information about the Beowulf mailing list