The real programmer’s Snoopy Calendar.

I was googling around last night waiting for this huge dataset to copy (lol more on that disaster later) when I came across this cute posting about real programmers.

And of course in there, every ‘real programmer’ has a Snoopy Calendar dated from 1969.

With a bit of googling, I come across this site that has the needed snpcal.for, snppic.for and snpcal.dat. Now granted this is from 1987, but hey, it’s as distant as even the original program from the 1960’s.

Now there is a lot of folklore about this program from the 1960’s along with an older version which can be found here, but sadly it wasn’t enough to keep the wikipedia page alive as they had no real sources backing it up prior to the 1980’s.

Anyways with a few minor tweaks, the code from the 1980’s will compiler on MS Powerstation Fortran, and that code will in turn compile via f2c!

So, for the few people that care about this kind of thing, or stumbled upon it, here it is:

Just take note that it’s made for a 132-column printer, which was a popular thing back in the day. Although I’m sure laser & various ‘jet’ printers can print this thing in portrait mode.

I’ve included the source that I changed, along with a win32 exe and the output (in MS-DOS text format) here.

If you want a more ‘modern’ version of the calendar, just edit the data file, you can easily find the star/stop portion in there (search for 1969!).

Next time I’m near a printer and nobody’s looking I’ll have to print one!

2 thoughts on “The real programmer’s Snoopy Calendar.

  1. After minor tweaks to snppic.f, in lower case below,

    c Next two lines for gfortran
    integer ISET, INUM
    character*2 IBLNK, ILINE, ICHR
    c Changed next line from Hollerith to quoted text for gfortran
    c DATA IBLNK/1H /
    data IBLNK/’H ‘/

    this compiles and runs on gfortran 6.4.0 just fine:
    gfortran -O1 snpcal.f snppic.f -o calcal.exe ; ./calcal.exe ; more SNPCAL.OUT

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.