You are at The Krib ->Marine/Reefs [E-mail]

./calendar

Contents:

  1. Aquarium Maintenance Calender Generator C Program
    by kvk/kaos.sw.stratus.com (Ken Koellner) (2 Dec 91)
  2. Calender Generator Program - Example
    by kvk/kaos.sw.stratus.com (Ken Koellner) (2 Dec 91)
  3. Calender Generator Program - Instructions
    by kvk/kaos.sw.stratus.com (Ken Koellner) (2 Dec 91)
  4. Calender Generator Program - Source Code
    by kvk/kaos.sw.stratus.com (Ken Koellner) (2 Dec 91)
  5. Calender Generator Program - ANSIness
    by kvk/kaos.sw.stratus.com (Ken Koellner) (2 Dec 91)

Aquarium Maintenance Calender Generator C Program

by kvk/kaos.sw.stratus.com (Ken Koellner)
Date: 2 Dec 91
Newsgroup: rec.aquaria,alt.aquaria

Over the holiday weekend, I wrote a program to generate a weekly
aquarium maintenance calender.  It's the first program I've written
for fun in about two years.  I thought that, as a holiday gift to
fallow net.aquarists, I'd post it to the aq groups in case any of you
want to try it.  It's written in C and should be most portable.  To
use the program, you will have to know how to build a C program.  To
customize the calender generator to your needs, you modify the source
to change the intialization of a couple static arrays and maybe change
a few defines.  You don't have to be a seasoned C programmer to use
the program but you do have to be just a little bit source code
literate.

This post will describe what the calender produces and my next post
will contain an example calender and the next after that will contain
instructions for use of the program and the source.

The program generates a calender with one week per page.  On each page
is one entry for each day of the week.

For each day, you may specify tests and additives that you want to
appear for that day.  There are probably some tests and additives you
perform a regular basis and some you perform as needed.  Tests and
additives that you may perform as needed on particular days are
listed.  Tests and additives that you definitely want to perform on
particular days are listed with a reminder.  The reminder consists of
stars (*) by the name of the test/add and, for additions, the dosage.

You may specify units for both tests and additives.  You may specify a
dosage for additives.

The frequency of tests and additives may selected in a number for
ways.  First, you may specify every n days, eg every 10 days.  Second,
you may select one or two weekdays to perfrom the test/add, eg every
Monday and Thursday.  Third, you may select up to two days of the
month, eg the 10th of every month.

Some space is also left for each day so you may right in comments.
Comment space is also left on the end of the page if there is room.
You may also specify a title for your tank which is good if you want
calenders for serveral tanks.

Feel free to send me comments, suggestions, bugs reports on the
calender program.
-- 
"Lead, follow, or get the hell out of the way but do something!"-bumper sticker
All standard disclaimers apply; The above are my ideas not my employer's.
Copyright (c) 1991 by Ken Koellner.  All Rights Reserved.


Calender Generator Program - Example

by kvk/kaos.sw.stratus.com (Ken Koellner)
Date: 2 Dec 91
Newsgroup: rec.aquaria,alt.aquaria


This post contains an example of a calender generated with my program.
See previous post for description of program.  I included the first
two weeks of 1992.  My calender is configured as follows:

Title is "Twenty Gallon Micro-Reef".
Page size is 79x65.
Span is all of 1992.
Comment lines are double-spaced.
Additives specified are:
	Fe+Mn reminder 20 drops every Monday.
	I(odine) reminder 2 drops every Monday and Thursday.
	Sr+Mn reminder 15 drops every Monday and Thursday.
	Buffer is listed every day (I add it as needed).
	Kalkwasser is listed every day (ditto).
	Trace-X reminder 20 drops every ten days.
	Marine Plant Food 10 grops very Monday.
	Water, change reminder 3 gallons every 21 days.
	Water, make-up listed every day (I add it as needed).
Tests specified are:
	Temperature reminder every day.  Unit is F.
	Specific gravity listed every day, reminder once a week.
	Alkalinity listed every day, reminder once a week.  Unit is meq/l.
	pH listed every day, reminder once a week.
	Ca reminder every 14 days.  Unit is ppm.
	NH3 reminder on the 2nd of each month. Unit is ppm.
	NO2 reminder on the 2nd of each month. Unit is ppm.
	NO3 reminder on the 2nd of each month. Unit is ppm.
	PO4 reminder every 60 days.  Unit is ppm.
The first two weeks of 1992 are:


                           Twenty Gallon Micro-Reef
Wednesday  Time ________ 
Jan  1 *Temp*_______F  Buffer   ____tsps   ____________________________________
        SpG  ________  Kalk     ________  
        Alk  ___meq/l  H20MkUp  ____gals   ____________________________________
        pH   ________ 
        _______________________________________________________________________
       
        _______________________________________________________________________

Thursday  Time ________ 
Jan  2 *Temp*_______F *I       *2___drps   ____________________________________
        SpG  ________ *Sr+Mo   *15__drps  
        Alk  ___meq/l  Buffer   ____tsps   ____________________________________
        pH   ________  Kalk     ________  
       *NH3 *_____ppm  H20MkUp  ____gals   ____________________________________
       *NO2 *_____ppm 
       *NO3 *_____ppm  ________________________________________________________
       

Friday  Time ________ 
Jan  3 *Temp*_______F  Buffer   ____tsps   ____________________________________
        SpG  ________  Kalk     ________  
        Alk  ___meq/l  H20MkUp  ____gals   ____________________________________
        pH   ________ 
        _______________________________________________________________________
       
        _______________________________________________________________________

Saturday  Time ________ 
Jan  4 *Temp*_______F  Buffer   ____tsps   ____________________________________
        SpG  ________  Kalk     ________  
        Alk  _{;í×Ð_¢¢²ç4ÇBý³}ü½7`/ŠÅ×ÞÌ÷³G=lÑ_{0WÞÌ÷³}ìÁ_{0WÞÌ÷³}ìÁ_|î	â¨
¡Ö¶øý]ìÏ{3ÞÌ÷Í
       
        _______________________________________________________________________

        _______________________________________________________________________

        _______________________________________________________________________

        _______________________________________________________________________

        _______________________________________________________________________

        _______________________________________________________________________

        _______________________________________________________________________

        _______________________________________________________________________

        _______________________________________________________________________

        _______________________________________________________________________

        _______________________________________________________________________

        _______________________________________________________________________

        _______________________________________________________________________

        _______________________________________________________________________

        _______________________________________________________________________

                           Twenty Gallon Micro-Reef
Sunday  Time ________ 
Jan  5 *Temp*_______F  Buffer   ____tsps   ____________________________________
        SpG  ________  Kalk     ________  
        Alk  ___meq/l  H20MkUp  ____gals   ____________________________________
        pH   ________ 
        _______________________________________________________________________
       
        _______________________________________________________________________

Monday  Time ________ 
Jan  6 *Temp*_______F *Fe+Mn   *20__drps   ____________________________________
        SpG  ________ *I       *2___drps  
        Alk  ___meq/l *Sr+Mo   *15__drps   ____________________________________
        pH   ________  Buffer   ____tsps  
                       Kalk     ________   ____________________________________
                      *MarPlFd *10__drps  
                       H20MkUp  ____gals   ____________________________________

Tuesday  Time ________ 
Jan  7 *Temp*_______F  Buffer   ____tsps   ____________________________________
       *SpG *________  Kalk     ________  
       *Alk *___meq/l  H20MkUp  ____gals   ____________________________________
       *pH  *________ 
        _______________________________________________________________________
       
        _______________________________________________________________________

Wednesday  Time ________ 
Jan  8 *Temp*_______F  Buffer   ____tsps   ____________________________________
        SpG  ________  Kalk     ________  
        Alk  ___meq/l  H20MkUp  ____gals   ____________________________________
        pH   ________ 
        _______________________________________________________________________
       
        _______________________________________________________________________

Thursday  Time ________ 
Jan  9 *Temp*_______F *I       *2___drps   ____________________________________
        SpG  ________ *Sr+Mo   *15__drps  
        Alk  ___meq/l  Buffer   ____tsps   ____________________________________
        pH   ________  Kalk     ________  
                       H20MkUp  ____gals   ____________________________________
       
        _______________________________________________________________________

Friday  Time ________ 
Jan 10 *Temp*_______F  Buffer   ____tsps   ____________________________________
        SpG  ________  Kalk     ________  
        Alk  ___meq/l *Trace-X *20__drps   ____________________________________
        pH   ________  H20MkUp  ____gals  
        _______________________________________________________________________
       
        _______________________________________________________________________

Saturday  Time ________ 
Jan 11 *Temp*_______F  Buffer   ____tsps   ____________________________________
        SpG  ________  Kalk     ________  
        Alk  ___meq/l  H20MkUp  ____gals   ____________________________________
        pH   ________ 
        _______________________________________________________________________
       
        _______________________________________________________________________

        _______________________________________________________________________

-- 
"Lead, follow, or get the hell out of the way but do something!"-bumper sticker
All standard disclaimers apply; The above are my ideas not my employer's.
Copyright (c) 1991 by Ken Koellner.  All Rights Reserved.


Calender Generator Program - Instructions

by kvk/kaos.sw.stratus.com (Ken Koellner)
Date: 2 Dec 91
Newsgroup: rec.aquaria,alt.aquaria

This post contains instructions for using my aquarium maintenance
calender program and the source code.  See previous post for
description and example.  If your reasonable C literate, you
can probably just read the comments and the source and figure
out how to use the program.  These instructions may help.
Since I wrote more than I thought I would, I'll put the source in
another post.

First, I suggest just compiling the program for your system and seeing
if it works.  If you don't know how to do this on your system, find a
local who does and get help.  Run the program to verify that it
generates the calender currently specified.  It takes no input and
writes to stdout.  You probably want to redirect the output to a file.
If you don't know what that means, find a local programmer and ask.

Second, you have to customize the program for you needs.  This
involves editing the source and then rebuilding the program.  It is
really quite simple as there are only a few things you need to change.
There are quite a few comments in the code to help you do this.
First, the things you definitely will want to modify:

	Title, my title is set to specify one of my tanks.  You
	should change initialization of the character variable
	'title' to the name you want to use for your tank.

	Additives and tests, the program is currently set up to 
	generate a tests and additives schedule for one of my tanks.
	You will want to change this to one of your tanks.  You 
	do this by modifying the initialization of the static
	arrays 'adds' and 'tests'.  Take a look at the comments
	for the 'adds' and 'tests' arrays as well as for the 
	'event' structure.  You should be able to figure out
	what to do.  You may have as many entries as you want 
	in these tables but you must have a least one test and 
	the tables must be terminated with NULL entries.
	I advise using the same length strings for name, unit, and
	dose as the calender as it is generate now looks pretty nice.

Next, the things you may want to modify to further customize your calender.

	Span of calender, the program is set up to generate a calender
	for all of 1992.  It you want some other span, you will have
 	to change some or all of the define symbols FIRST_MONTH,
	LAST_MONTH, FIRST_DAY_OF_MONTH, LEAP_YEAR.  If you just
	want a 1992 calender, leave these alone.

	Size of page, the program is set up tlï-ÐDÍ

	comment lines.  If you want single spacing, change 
	COMMENT_INTERVAL from 2 to 1.  The COMMENT_OFFSET define
	adjusts the position of the comment lines within the day 
	for double spacing.

If you have any questions, comments, suggestions, bug reports on the
program, feel free to send them to me.


-- 
"Lead, follow, or get the hell out of the way but do something!"-bumper sticker
All standard disclaimers apply; The above are my ideas not my employer's.
Copyright (c) 1991 by Ken Koellner.  All Rights Reserved.


Calender Generator Program - Source Code

by kvk/kaos.sw.stratus.com (Ken Koellner)
Date: 2 Dec 91
Newsgroup: rec.aquaria,alt.aquaria

Here is the source.  It's a little under 400 lines, most of which is
comments.  I compressed and encoded it so it wouldn't be such a big
post.  If you can't deal with a compress and encoded form, email me
and I'll send you the source in vanilla ascii.

Instructions:

  Put everyting below the line in this post into a file called fish.c.x.
  Execute the command: 
	uudecode fish.c.x  
  This will create fish.c.Z.  Next, execute the command: 
	uncompress fish.c.Z.  
  This will create fish.c.  Now you can build the program.  This may
  be as simple executing the command:
	make fish

I was was thinking of writing this program to generate neat postscript
output with different types sizes and boxes and all sort of cool
stuff but I've never done anything with postscript and don't have
time to learn.  Plus, the ASCII output is more portable.  If anyone
wants to add this or any other feature to the program, send email and
we can discuss joint work on the program.


---------------------------------------------------------------------------
begin 444 fish.c.Z
M'YV0(]*X&<.F#IDR('C,H4,FS1L7:'PH6!B&3IHQ(,:-at-"2,'A HW;RR.0=-at-#
MA (0($0,>0,GCYPT9]#0 8%B3 H0,7+DB %"3!X02\JX ?JF#!LV;LK(<<'%
MC8B3*5?"25-F#H-at-W9D#008-PSILZ<D9>S;HUC54X<MZ<D1.F#8-at-V87Z*0=AP
MX4LQ=>B4(0/"S)N.9N24*=/T*4H1:-_827.0[]:N7\,B-)N1)56^ D&DH6-5
MJ$7!='[>V8Q&*QK*8UBZA"D3!$B1A)U"12QXCE([>UV-at-7.E&;V^K6$UWI5/Q
M(-at-B.;/-8#>.&[T$S JN^C=L389LW#:'OU?JF\.PY=3:#R!,9!!RP<-[8GL-4
M]N$DQ]F\20H"=)C,88[69\V9>WPV\9WQ%VEMS,$""&14%,:!:;0!!QMEM.%9
M<?.QX-UA:%4UH47SC:69&W[) 1>'0S%'QH'7+:29-at-W\1UQL;>1PHWQMKM&!B
M"V8,QL:%*<T!1QECI*$=7SZ91AET$+9G6$I$F$7'77DY-%1P99V5UEIM7344
M''&U0,<;+=1A&PBVR;'82%91EMAI8FR6&X\J;23'&0*=<9P;/ZTA$%_!Y8A0
MB""(B=!?YJFWGI0>/D8F5G3<P=%D<\"Y9AIMZD6&DK-1<9I57IG1Z*,-at-;&05
M2" X*-at-=;O>6A&PB:(B1H1VV(.=-!>HD8'9GA$=<F&YOE 2>-at-S/UTGASIK;=J
M$B>X]5I]5:7GQAR40M-at-7H7=L---&</SXK&99D5='?76X 6>5YEW)5AM*[J# 
M1,2)E)&<'N$F![0=]C ;#"[D((*Z"KR-at- JN;EJO6N2"<(912%4D71JF#K0'C
M<7'4P5$:=;-at-%ET#$13<00F/D)]1!2YWT;Q(SH87Q<D-Y)L=/-at-)81AD8(4C?:
M5F3^&.206E75WY?5F:=4B!*2(?*=?(5!1D,D6L7S7-,==)Q5=Q-at-%8!A6I?6&
M6X"FUH:$OQ'M6DA5N3!T%E]EQ%Q\7H$ 81BXU?SRGX3JM1#*11^]F916>?L6
M?S[+ ?300HY7MI\ \KK&9'2LVJK 6+I%W.&COG'<G'5$Z!E[*)'];6H-at-P-at-16
M&8#/Q+.W'26UEU5%7I=='G4>UU<9=QCIQAEI#J6H5V"-)+9'(&-at-NL!AAB/&P
MH[WYIQ%S!-at-OWX=WYI:$'A5.2Q14()QA-QAPG>#VTHB?(S5GVND*HM.2VB3Z]
M]W0?9W?2_E5;D>#?$C]39D.3;C:$S2FUJN^"4B]8&WM22O8 A3ZO6>]N'=(;
MJ(;V'(&XZ6$":AW/R""Y#BUL)'+(V% 2]!,348]7"QD-at-H0[(/A-M3V=Y*QL 
M8S*KAPPM"&Q(6_F4EZ/8-3 IXZL9D(3TD]MQ*7K*ZQC^0*:;L95M-/J1GW]F
MJ"B+T$%:=I&-at-Y!;FAK; K2--9,X:A#,T(7Y,*9JQ2HAVIX(7K,M?(( A-at-%[5
M A_M$&<+J8,9LI(9126F<6'44AE: #S;\&59>E *F/J8&X^8L5__FD(9S*<A
M_RCJ.KU!0PKCQYR2O:0WV_D*'0X4-at-Q;$0 8(*HI5U,"<%AQD#+HI(R)!H,B9
ML(%JHI/<)U<P+5C]!2%;.=M\$)('ERW%D H8P0T18H0D2&$*5/A"$Y[-at-!"H-at-
M 2?!'"8(F! $9"J3F<[$B0Q6V4HCY5!1T)G7K*A#I>F%4T60I)G>W'BS&(& 
M!CVXPG90$(,7U#,',DB!"U0IS#) AS[%/&8RB1"$+'SA"4:X9C.?20-N+M(_
M/ '4VN#0-at-EYRY$!EL%-.\)E*,_;SGPAA0A&" (4O9&&D4H"F0QDY)I[=SGF#
MZE9YI-at-*DF)HG##_ZI2K1&)0RP$%MMX)6()E%M?D$3UHHX$$,: "#%;3-at-)H32
M&Q(!M)&V\4P-at-8Q ,U2 CH:')B0RI:4R-at-\C>OU B&3$^J4^W*A3$S8(Z?TF1"
M$IQ0A"],(0E:* ((;I"#:/KS5E (PA'J>M>\-at-L &-3AC(A]*+I>>;S/2"H[]
M7+2&CBK-at->!U1-at-1.E51(1H.2SH VM:$=+A:BE"-at-1'R(]\AM*$BZ2E!5(8C!GV
MI5A6H6H.K]2+<,:$L2G6L-at-PP&<HK9R>QY/&,<V;HG_T"0Y7FO-6,%'$79CW"
MP3E\02]XH,,6N-at-""DD!E#[.90K-at-X* (6S*8)\R&O>0]#A<K-0;VSD2<9< A?
M]J(!+.^-2WEG8X27U#<E4Z-at-(6,-at-+%93T05UH),)\NO<NY.$R8.$2']3^M*>K
MY,4T[SL"=KA#(Q#XX 8Q4XYE/WHK(CSA"GNM;4]_^IB6HD$P').3559[!LM&
MUSC354$Z)7G=,F1WN_9""7-at-/HP3F[/<P1BB#&(Z<DB9PA,DB" ):H*R$<%&Y
M#FR <A#J< 8H*Q(.4'["&.-at- 92<H!LI$ -*2#(S-at-?RG8#0P^WNP>3)D(5T5I
MT[O.-at-H$CATHU>,[/]2M(0;#,+&BSMII2$U7$0B4?6U(QC%&8>5XIEFHIA9=E
MZ]A0[O 2W=:1*]MKD$TY"+^^ 6T[]KL8)JNX,1NW"\?PTJRHNYL2*LSZ"[C.
M-:YINTHBQ&6M"]OQJH:PD3ESJ]3]6Q-at-2E"R8V'F1K*XN#D8P%F+K[AC((-C#
M#&+  AG-at-8 4B):E)4<J";9<;!N7F]-at-S0;>YVLUO=[SYP;:?PI#J,^7.U1%!5
MLDJIU-at-6F#!$3RAA^$IPRX.8WED6C[S2MPW:"P."7^]"=""X]&)?JUPG_5X+2
M *,O8.PV^<DCQ%?FFFKK!-at-8]J,M1RY#Q$+\A:F78(F5&_A,,:C#$'H+Y%C,*
M-at-AGT-at- [NY>#)4VZ6E>]4XW&YVGQH-G-YU5PI-R=U<';\<(W6H <QJ '-4*YR
MX97AZ#CQ&B-at-A-)-UVHR'-at-6*QY!HEN>KVC6$QOXHM(VG9T/SH.6B5-at-[WI\%VH
M4'OC'?^XF?*C+I3\/>DZCT'A/S1.\NA<!HL_/'EVK'B_%X^#2H\DY*'2AX<?
MG [\0B.]]7[OLP+J('/-at-=YMFISZDI0$WNC&Q$TY !1 , 0E!<,)-at--at-6GWO?-at-S
M[WLWB9"ADN,J2FCQ.0[79A8/\>*!D Y?^'? !Y('YG^>60!L3O0%,_V!+[[S
MW-at-O]8EF*R[6?#X7(MHUN;I_[W8/=R8?[CVNLB.>N6%%M0CD#S5! -at-P;/JU1_
ML0:C<A%EH$_ A$;PAQ"J-5:;47]D<G_XHW^EX4%KTS8^\C;Y5AM8-A,H-at- , 
M* <"Z!H$J$]-at-UTV*\C][LGT 5SG4USY<,11254FN-at-X)DY1\4I#S>TW(F.#W/
MIX+=]Q/-%TNE\H*EID0+<X%B04#GIR+;,T79XDN>)Q3']AAG11FD0H-$=(!N
MMF S$2(&(X0?HSS((3.DX3I.4 5,P 0/UQLKTW)" "1AT#_!\4IZ4'/8P3%7
M<QX6P7K6\P58X5:+="#D,H8_$2LJ4E4*B'^P)'S_LDMK^"3N5(&(TQ/#M44>
M-$-!F$.!E!;'%H/%0RKH$VWNXCTY,S?;U5U]AT:CM8JL.$U.THHH$5O9QQ>B
M!79.$ 1-H%>?505.D 14-at- ? B >-at-Q1=WP!-W $IMP!-M $J?18S&B(S*R(PH
MH4KL%2%-at-=B BH&NY9-at-3EA1+<!-at-+H!HX'$H[AZ(WC>([BF([A!0='D!+8J(VY
MUHTX-at-8[DB(XH<0/TF(^S 4-;U(W9B&L2$-at-<OD&4',H_I6(_I>(_Y>)#KE1)P
M\$SNF!+PN&L%^8T(B9 *R9 ,.1M#L# 1^8^YEBUM((\7N9 X00,+68^SX01(
M, ,?J8TB29(I:8\:&8XR<(XK^02-at-Y(\P"0<C69 EJ9$H$90W*8XYZ9(\J6LQ
M"90SF9 U>2!%B6ZS 05/T'])&9(^*9-/F9 V$)0JB1)GF(8%"0)AR01C&5I>
M29-I:91LMB[<5&^E=T7ZEGIWT3HD]'HL!P*R1WNVAWNZ5P2JU'MX9Q=[UW<H
M47Q6A'RQIGR-at-1WRQ1D&V87V> 50+X8,LZ'U0$838EX+2=YG5QWFM)WZLQ%A<
MT5+FIX#K-at-Y>3%"CJUY?MIU?O%P;QMX#&)QVW X'YMW_P(2A\-at-0,&&)NSJ1^,
MZ8!S-at-)NSHYNLN1V^J8,/!9F3(5.45#P+XYP-)R2742IEB(7Z,XUFA$8D-at-YWZ
MP30/\C:8(5S^1 =M!%.),CV,V1=4P0:7HH4 -at-Q"9^(%;I :R E3QUT3H1YAQ
M*8K&83VM-P>G&&39MDJPF* )R-at-2O"(NR6&&A98NX6 3!*(R[V(N_&(R?96)3
MH(L(4BK/^!;1.(P-at-6BK0^!;22(TID60KT 1#<1COF&MD0"QSX(\R  -:N99#
M"94S.1OP(5I7^04S"-at-<UBHTR((];B9'I6)0UH(^',05RT**2 Z,2*:,TZH]9
MEZ--N:,-at-P*1.FA)"($<YTA$OF6N<0:3^B*0&J:-)BI.'L03YL46?%:2ZEJ9G
M:9%;VJ9L66ML,1(M-at- 5EBFM#6J0I<:-:NI4XL992>1A.)-at-=0P 9&P!=!.JA8
MBJ-,J:=<&I5?*-at-)(( -/0&RL%Z1GD!^$*-at-(S-at-*2*6I R-at-*=/.1N="-at---L 95
M\%.B2JIV"EJL&I1<FI90499G"5J^*EK!JJ?E2*P-*6_S1IJ4X5C6(1 54S&N
M43%ST1%S&!VKJ40Y%6)%Q#L:MF& 4ANWT3I(*)=:PS6<<2S)"0(>"%=_11]-
M,%=?(%=T-05?  5%( 5?0%"&A-at-,KY4V.-#V"9P<A-Q>-,AA#4:Z3R2LXI!N-at-
M= <!.("Z TPD1A]#\ 1-D(O-] 5S107W:-at-5!H(;;)'K*FD/%-at-D"V8TYI($Z5
ML34)>RN9H3(L0RA")['25+$76P09BU!&T*&U%P-NJ5-at-J$+1".[1$JP)%T!P>
M4-at-5ET-at-)3<';0L7*L!'1S5+146[1F9!*UY619I1[Y%D&LQS,>%!A7DYQRT$9.
M>YV.IA15!""[Q$=;59X'-at-0=5T80-at-L(F#]+:,I[8A%T!RBS)"PA>G]P:MHSI8
M1CY2FQ4=4EUDY%'25 180 4H\ 5N<!,H$+F3NP(QD *"=BL;:[F4Z[F>I+D3
MBQ#+1 0F=-at-6>2Q.I6P)Z>6*B*TVE6VBI6[F2>Q.L6VBOVZZD^P1$8+DL\ 5M
M\+FU"P*L&[G!J[FU)06:="L\-at-R1K]%,*BQ S4QKCI12I=TMB1"-at-(BW# 9 >"
M*S3.NQ(LVQLU$6O1J[G#=YBQ--at-:1YWS1-at-3^T9A?X-at-P+GNWA0X2.71 =F0+_1
ML0+1BS\L( (EL$]%J-at- )-at-!+R2EAX500M\+]"85X'G!(-at-,)$47,$6?,$83,%/
M$<$-at-F<$>_,$-at-K(T;C!(I\'UNB4:M,B:-at-<-at-;R 3P DC;P04%P=BUL4WXW-0?U
MYS-at-O]A4QH3R:I(?UL;PX1+>*HA% L-at-9?H)EI$25) :#3=GDOQP(4U 8L<!TQ
MPD&BN<1[:,.V\9Q16#S8HBW <;*4,;.JA#&7Q15C-at-,1!B *:J0)!" ?H>Z"&
MEQ4H  ,-at-$ (]$,<MX . EP<>ATF#QP9S7,<TX;B06[HHP$$LP,=^?!^!)\-at-"
M2\-at-IT -85\B?!1I-at-,1259\-at-H\%DH-at-,B+_'*5O,>?1U&/['-at--D[D%]EE\P >'
M_+BC? >E[,B8]WB8C!*O',N0.\6U?,I]C'F4E\L-at-L,NA+,N^;,FVG'0[ED^M
M3,*MK,ERP,F+)\U# 0,FC!*UI<7,*SDF(YVEF#C A,8_G!=4H#/ERQ$>-at-1=F
M((-at-ZXQ'>(\>&>6SE>\1)_'DH8 (H$,]]C(66*7!YD ("_<S9!-at-)H],TSH9V9
M=;6AA;]MA0+L', J4 )S,-%645[\[ .UR0(9S9-at-E3-#6C!.+!UJ==]#YNYDU
MJ*)&P5MV;,1K?,^>D<_[K#.HW(.="= "3<Q[8-#_-at-I\J\GR:,1,J"EH.W1O[
M&]&>1='$>]$<3=-]O-$=[0:;\=&B%=*='%HEW=/Y"=3BH:(AC<V<=\+_PLWT
MP3,(?2>M9[*61<YYH8=!<#3IG%D1W7K_8CWRG+[^QX#0Q\Y;, ,RT 7VZ\DN
MS<;XK,]VW<\1PIG<YYDY3= [;=+4IM# )%IV,08M-at-0*,^041?=A^K!X%.-*?
M5=F7G=GLO +R*Q0HP-G.F0(LP-F,:=I/,K^J[=D"#=HH4=3Z"]%R)-$4;=$P
MRMD;3=IR1-6A9=6V#0)9S5;%(]DJ'4->7,\OW<:&?30U[23_3'V-+5J/K=4_
M_8I=S=!$C=!'O=M);15*[8[ ;46M3=U][-'';=P$G=P^[4K>+=0,_=4F7%NJ
M!E3T$58(<<:]H0"JA-at-)S/&2,Q]]E-at-!WN/#>!'+<'8CW6Q;<RHC%OH)CJ'+U\
MG<!VM<"8"]B.J<XJP,[%TK[SPP)JP )K8.&9Q;Y0 14H'#!UYD?^<3-at-^)89'
MLU9%_!>",6:541!MX :697C2>31^.$<S5!(Q-at-,>T=-IN,-.F" -=X *U>1-+
M'MNHC3Y; .4NX-XMCA)H1!$9%"J7%N2A%#LET;D!94WZ>E )M4P+1=RDAN0[
M('S*G=L"'"E.P=&0]=D(#A)8=]Q0 2-at-H8,4]-at-.;&9$UN[DPE;,4\4.C-A +4
MA.C8A 2+_-at-9YL (KH-,$+>A3W /8/,6-7EW NW1HL 6Q^P19,.B6G-at-* /<68
MKKD1#%X1C$8.-!->(2$?$K=A TP1'+T;5A)-at-'<'HT^ ^1FO!CA(03NS"".SJ
M$L$&[.7_<M;1BYTT0VJUZ346-at->OC:ED1+-XT<><HH=2%(<6_UF,_1D%WT 5Z
M+B$EC.#8-at->G\,NO1GA9H4C41<A]2S7K1"S5EB#X/?N->L[VVSB41JTH17"T<
MAQ#\FQ0;Q-at-.$!J\)3*_VBJ_Z:A()<,"[C.7#SK=1?NUZ3)9HR 0&C/&P#.%;
MD.P<+^7W]_%E">O:S=,(OIYT(3.G(2TS\E.J].RAA4;S\3 =8AN<PQ?1>R!G
M374>)'59074&+UHBSK4E-at->%RU.RB%3CTU%U/'QW8 >L)-at--OC;0;%$L E, /F
M+0.26L6D;EW8I5U6K.ZB[,L?'<&-at-M=*-at-<_%<K]M>KQX!/%HB\/9,+T?% -at-(K
M4!),;O?%\M$Z#UIH! 4G'2SAG&_D$KW</O5VK/$HI.P=O_(ET?(C/WP7CQ((
MCU0A-at- +E3 ?GO!"$C_<F0/D,SK>8W-at-6-W?F?1?6JSQF6K_*X;LD-at-GX9:S_1:
ME>*;WQ-^S[6!GW?SV_1S\/81W ?K O>?E?B+CR=I32*.'S"0S^N23Q,FC_+Y
M-at-P>7C^LL'_*[?Z"PCX"RV17X%C5G]3XGR#<^$A(2IRC5;_ 13/7&W\#1P<X\
MT(=_6#[A#UJRSORW[4D,A(IP^-at-S$R . $DQ!*< %"*,.H&C1?T;NH;0 FF#\
M0, $A'IF0.LA0.37]^Z>51A^-at-\_X<4"L]OL^G\(+?:/OK9&! L-at-"3$#VNW'*
MKO6]/N9']5[-at-]:A]UP[W:3[8!UK$0.]K=A&L H) *]?D1" 0-##+3[0X/VK#
M^ 2>VTA"<8/Z18>. -at-(.V.&+?78,C^$^1>;KR, *L%D8*YGH+)[% L -at-SDHF
M&ZMC?2R!9-at-5AW_]#">'K:IBKA:=DAML1A'E!P'RH"<'5&PZ$#&,P_:,"!HOK
M(!BX7?*[-at-M#N.-P;U2(L3EIY8&=C:NF%%F^' N[<N,. [:X+PCM$B-Q-at-WK0K
M)S-/--0\A'#S-at-(G.2WP71GAH$02'.A8)S-D-at-&,?ZU3D[)-at-(*0R;$>EYP!4-at-]
MBY<(:1R+Z5-;I%KA$"UQ4PQ&Y.MSDF/X=<%=> K_!5;Y'Y,)Z<$=2X2TO-at-1Q
M !"D)C6$"W$F":F>*,-TZ.XF^(#6=05<7FC9;E&+(\R$I! [=(XL'$8OQ]CM
M0M!B FE"] ()F"XAE(3 ,E-at-V7%[1>E1/"Y8$+DCAOJ#%"H-L;F<5 2I0!-at-_B
M&=18S40-,H&!!OO$6R4<8"H SW4C#5=8B-at- $ZWR>9;2$L)&X:QQ-at-!R.)*+$D
M7KP#=A)3(DG<>T!0[OT^BU-at-+G0+?FX3Y:W_5PMER$T$+3:1HXVZS?+9[^ ;^
M'"=,;O1&';H&V#$-92$'V83)#^:%H> -at-#1\)J5,;;X ED#F2)A61UM2YBJ!P
:/$"A4ICS4(*/V0QWC+-at-EMZF8]/#=9,-:V-at-P)
 
end


-- 
"Lead, follow, or get the hell out of the way but do something!"-bumper sticker
All standard disclaimers apply; The above are my ideas not my employer's.
Copyright (c) 1991 by Ken Koellner.  All Rights Reserved.


Calender Generator Program - ANSIness

by kvk/kaos.sw.stratus.com (Ken Koellner)
Date: 2 Dec 91
Newsgroup: rec.aquaria,alt.aquaria

One more thing.  I forgot to mention that the program is written in
ANSI C.  Some non-ANSI compilers may complain about some things.  On
Sun, I compile it with gcc because cc won't cut it.  The things you
may have to change include the implicit concatenation of string
literals and the ANSI style parameter lists.
-- 
"Lead, follow, or get the hell out of the way but do something!"-bumper sticker
All standard disclaimers apply; The above are my ideas not my employer's.
Copyright (c) 1991 by Ken Koellner.  All Rights Reserved.


Up to Marine/Reefs <- The Krib This page was last updated 29 October 1998