johnr@runx.ips.oz.au (John Rotenstein) (02/09/89)
[Adventures in Programming -- Logout] What do you get when you cross a journalist with a programmer? The "Adventures in Programming" series describes the development of a number of public domain programs. Share the joy, anger and amazement of writing a program as you learn new techniques which may save an insurmountable time in the future. A new form of public domain journalism. This adventure describes the development of Logout, a utility which provides information on the time spent playing with your computer. Learn techniques of modifying DSATs and installing shutdown routines as you venture into the dark and forgotten reaches of Macintosh... Copyright 1988 by John Rotenstein Printed reproduction requires written permission from the Author johnr@runx.ips.oz.au (John Rotenstein) --- (This file must be converted with BinHex 4.0) :&%a[CfpeG#""C(CPER4eFQ8ZFfPd!&0*9#&6593K!*!%'2F!N!6L[P0*9#%!!3! !'2Gb6'&e!3#3#!)33@4fC@jdGA*Pd8a[CfpeG"`a#!!+!"aX'J#3!`-!((+1!!- HU!!F!Qi!"8Z!!"aX'J-D!3S!+`!"!*!$(!+)9d4#6Ne69d3"!*r+L5UIbSR*!*! ',J#3"aKa!!!BV`#3"Z93rQJ!'%L`B-%8dJ`U*0KLS)Q"$3%m"0"L)N5,&"mkJ#L 3!'&(MJ9EI+3Sd!*%*3"-8J36NL8)L)"#aL3BJ##+K!YckYbT-iJa&i)+*$*35LM 4J3++#3%!U+C6RP#M5YdCK)bG-QlSe*&6CJk)0'j!3*(cjSbF-'hDJ$fM!`56XQr Ud'R3)!NG%(I#H!ec0``)1'(Nd-N$iSfE-L#Qm0e+*JaK0fR1S,Pl"`e@%(l0b%Q $P3b)1AA1R1P+TiaR[h$)QN@,&dfD-@KBJ+J$ar"R0(,*[,RM4[DG0'cBI(B-!Xe Z%'`-R`'4*qk*Ub$%P,PFCmjDjR(PJ'J5CS`,%%Q+Kr'FZSbG0((RX#'Xqr$R0'V C"2kVqQbE1E,"MQ&6Kmae`iK9pKSDb*8eQQGd[!'#Ih1X!3)GPMd)(f*KZ1&CBk8 9CXCRG!5Q&4cIKBI'H(r*jmCK##TS(PCDK4%FBH-K'1%FZ0'K'fm5YN'KKI5p38B GBqci99CPF$8((GHaNFD4rjNK@i)JP)(('08K"L&L8TBhKh@'bFEG'&A-8BB,$9" K'9GIlGAMDQf!B%CbI&dA@&`mAVRJ'ff%!4B)BlM)KQQIi9N'K%QQX3CLdK3K(aa LHNE&K00mCqD5D@+fTRfY$BJAF-)a#)GmK"Ph4i&Z,*I'A50k*YePeVN4*)FHdLD TDej4kSD#D)@Kah9QP-&AG'Ad@H@$%B*PaKYbj)QNEAf'*9eKBR3)&U#Di8NXBQF N*iD,)0J4@"TKL2%R#)q1XBCA+#4A+Pl)HTCFRk@GGKF*-GJ34!Ubk38#9eHj#+K Y5EKK(4Q)I3P@JM6q&FCSi#@44!Xbc"!$Q@BLjTmCCVa@"aYh!5EBN!!,,[QTBpI C5@0ZZi@&T)lXEUbUP4&fef+R)S0kRFGdI(H&CBGGTCfG"QIe4X+8MS%X9f23XGj Y+10iRPpf6P%M%Ea"X9Z4I1+C*imS!-D`&5h8J--0q&kE@"j(PY&Q%A+3!+8G%K@ 5mDGf4IX*D0F,)qC`#c2B)%-+Qd*SYVIm)8D#$%&N#PZqHlN"ihQHM@JZeRI%aBC RA,QiC"RjH@@R'h@d)Cef0-M`h4C#%'CRARR)4N4FfHTE&9TH%3aC9eQhmHQJC5a GB4k%VJZPES%65+KA4ZZAKZe"5LV(aRQid%@C%A)94aeTF+9M9JrL5XCTb%fViB0 5hS8#[liU+Ab%+b2@kUY(aJS(i!FVD(+00iEPRiYP4IF'(L"!!B4qYD3R48JD@BJ ,#2,dQ12-)3bp@TT@j"#@0f!X'G-)'Ir1!,Lme-T#d`%IE1a@UM'"`!M)dSSEq0+ leS&(2+GK3qE)`"i!,4")",+Jf5SR"`FG*NKE#JaKpP5Hmk4RDDNTLhh8XLi8L!N a4#!#%J`)a6*N$$*)JJi4TK!%+S!!EKDD@hifG+SSq3`%Sk'$9kki*-Z3!#%&hdN FM9*)Rf"4kPM"fFdFb,3cV+cSCa'D!YT+XlDf)HZ,FCYETIS8R,X&E'!&kdlpD#3 E1lb"2bacQ'a'#)I5D#F'IeZNhFK!43dQCcP3HTDR3!8S5R'&$TYCN@HUe5DrE,' ,qqT+GPjeU%k#6%GY3&Edb"@KrCeb,fJ53`-Ak#Z"JFaN(E*3B$a$"#Bmi3KZ3TD b3L5`dS`RAjq"JafjGDaN%G!V98S4#!j9"ML%XcY@`Y8#`3+Id''Q6JTLTc[08!G A,@Z&5KT-J8D&&GJ4D!lf'p&Gl#5'rr'T3KcL&,!@G"BFlDP2BKTIRY4`b+!KM%# @mC!!Qr6%(kk%L!iRm)V2#'-d0r#c9@H3!)dBj)+CT0A"6i5jhUN3FaLqI!F&82L 6AV!dT@%G,e!kUXb[JU#Mc63V5RM3%TIFi))88-pLi$UPr`$)`)RUm(I[d32R(KU @PNSV,,6ThS-Uak(0P-SV1L`0(ZJJ'aZqTNYV9G"-kC!!)'I'MDa$fNpr+"61F5U T8IZ+#j,F!aVBB-Cc%E+KJ"bl5XG!&NZ'e%i5L0#Db`#Y1ri6h4k*L9QhL5H-@+2 85QFM*Ri+Cd9Kq3f%&"ZPc)l@,T9+CcB"LG8'I5B[lM4Q@8STM5[dcQJkbU"`BlU GlXaKTX[j+a+))!-B-$1)SfQFClbeQI3m&U'#!94$4F[0N5B0R"IV&9HiYpbY,T! !1+UXQ@1SGFJrXLF0'#X5LfVV0ST&k$#QJHZ'hR)'fKV0CGIL5MN4mk```#'*hA( M-pQDA[ebMhAiLG+TcK3Ge4A,9IbCk[MNHTG$SSBX3IU459m)Qk("$$%CNm14J#@ XM*D48Vkb$YEqkL+%dMJ-4Q@IF8)cQ4(2+&L'mBb1CKXj%YhU,Q-JbjB!e3E#-0% cr855F1k`QF@LNPBF%LDCR2#D&NET9N5Q)TS#3k([R3Sp!%fXA+EP&G!m@%Q!NUh a!SQrP$9hKD24$Ykq&MBFe+#$VR'XRij$PMNIaR0k43aBiYG)cp52QF'8!f%Q5b! fBdBZH)S6)jFQT@$**Fmm-p[*E14Rj'l0dXJEjDcdZf$CK1I!PaX5TBAMPeAR6mk ,$9#L#B4Vcd6C9aQbNr@`aa8%PDqYFZ*4-#rQB5KbN3Tm62@ail5ZA[FC4id10MM KX"A%')eJZ86S9Pl9KZVFj9RTR"@PjQdl*$&5V4"0JK15i%8MlG+%Z*dMJTm&*i* C@QLU(U6DLZ-V115,4qmke-'K0,,QN6C+HZ(-M&QR9R(+SCaY1QU(I%XT+'dl3hl aplS$Y'&9IlZX2N)-#[B+JLIA(#f!dTHqq9dBl3cK#83S3VVr23G%DmV6"@mP`Zd 88RIqp8Vk'e5%6I1GYicR1TGQHX-"fq!a)2G6E43[BF6dTk59,*!!#Qm6%VBZKKZ (43TG+B*r81U9)``+2#j98(XELSHkDNHCRaQ8PmdQb,5e53Xf61@,36#%VDch,SK hMh3@A+#VPqURVh2$#Hj5cM5U98ah+H1fc+9@TCEQM'Ad),!@(!+V"Z(*((C09T* aFDNe,5cF!66@`NeRc+!TF`KGSEJH8iC4rE@V0Qq`Yi!6VR(YbEkA3JX6Pf1L-pa d0,1'%CUk)XiaC(9T)j+$1VX$4+p)TmB[*Xb`H-rBhJ8V36+@Gkh84,$c[%UhJ!r #RH2**jU1hN'fm6QK-cSMGKEZ"$UL8b4lX5@4J5*UaAjG%8GQi%QB%4aU4L&V&Mj U%5me0i"B%eH@88[,*arLXL-b%NRH*c3*de@J)3IR!4d,jM-KF(((XK9-`fVJTPL pjbHXYAJ2a$+`j'!GQ)"b)&-dj@PNphjLpaI9)AYIKKK'dReC")8kk"i)5)#'!5A 3e"eV8&j-%"Q6-3IL"#K3S"IhKJ,iK4ee)"l3BA0jF(F&YP$r9AcK)`CRS@P$iNP Q!%p&pa93"P'UP(Li-3Fkd!!pNQ,PPKK6`aZ2e#("%8#f4`G8i`CMm3CM!!*Y8BP M!!@`Y!0Z)KpRi"9YF6"P%'JTX!1'#"EUBcJcB!3c-!5b33)`-)Xc%)Y"J!-j8!1 S1#Pl`3BqKPbiXbFMBL'EPQV0BB-H063%-PjL-&UTJdC[J(9,9daP!&f"eQ&ea)$ V3STY3aYp85Gj!!GR"f1AP"br85UPP)`*maZ2D$4Ymhj,Bb3G)KL&1!90!!,@eBU [L)qc+!-JF)Zj#!)#1C!!",N(2FH2-"!$ZZC0RU&$X`J$rXL1`Z&VIYB($B"0-0! !4B"QNQ&N2J8#3X#&DQ8R5F3QXeCcccCb$P*b#M*Yq&9Y)(",f(Ca-PNT56Ga,DN f`V3J@h%Gm5-BXR*#fA-N5e16eN8TZP91X!+8lU3Mf)8l6jGU0HQ2P(+6Ze9cfX3 YEq"aF@)E+'"c1qG&rUJ[qR%dm$Kf(F+"Hr*)bi1#Nj4$BE%h-e!$13"(&jFYEl! Y`X&Gi&+#-FP&Fd-(9"!Z!93Eh)JCGr%ZA4N@Kb-%pr)AdCJ9N!"Q0LSR"kqb*m! NCPIe)(S"J"X5)p'''@lf6pa#BZ(M(PTB6&NeA-9$@bjT"RN`MN1hFXmd)fRR*X! KFkrj'SXjQ5CcQaNc,J+ADcf$0B(S(QRi+c`B"TDd2-eA"Q9613LfE0R6C[l4E@% "QU6j@PQ"KeR(2XqC,fl@EEQNAPMa+UQ**Gd*)p,Q)bmTQbb#K`G'*(*`NM8*B'3 `Q9Rb9jLTNjTfJC6R&iGKI"!A'0GS0("JCHif85G(G3dJ"$3P+Y%4'C9L*cACRjQ @"cp`FBC*Rj9LFbQR5l6CS46i9a+*PAGa"QN!(@Pe+R8@,+p82*BbDQTPGh6!LA) `"@NJ9R&8*a%L*6)69SM4EM2f,'Y`+cLLK5)*8GS*Cp`5Ri54K3QPRQ4`NK5CJij QETEM,Qp!)KCkEE0TQIc()%D$HQSNT%BSKj4#T1p')9k(*f"()q*P4FLbH!cL)*D %5EJc)Y#a+QMP"X'8C93((RhKL`T#R8C#,,pL-MMh'F#CQa1e*m1L,bVQNr2i)A( %-@8a+"cQ&feh&j[4)-08-3T@Tq!%FZ2M-6K(JB#KMFZKHSMUS"9$2V!"'GH$',S &*FDL65jhHm!Q2L"SEEKN(@+&&rTLFTQ$FMbC&S6"Pq%TShj"1(AJ2MMd@#"!!N' 3!+f*`fPQ-fQ1+"rrp+[)U6)4%TBYNfY2")"b)ArGiL,6HUiRk#a3f%lbN@)bqUA $ZU-QY!4)HRB&e+Xi'"B3Q$8)KU!`HD&KNCRr+CSRL*)%YClhe,"58NBkP5%MmQ$ !-DS4`MDQ"8Cb3cPEqQN*SLbmq5)K)iDJBMB$#QhVBKYA5P80X!@m@#N396lDBfE TT6%FFiKG-CNHeb[RCDhK3DC[i$1S"UPFpQEV3i9C'NGp!CN(JjL+3b$KSAUVT4R ZGKEaFUUaa#0`B"`1b$)3"4ERNCC`TPERB4djmim6Z'0Sp$bL-bimpKiG@E4BBbG lQ$5+HKG9&ReYSRSfad0VX"DfGS0hNU5fDAJ4+e1p`aR388D(p'5Pp(@RTKdbFe- QQb#jaM*p@aejNb2ZSarZFkQd-B1ij4qH)EKTqN+TSRQJQMkEdl"j5`Fc1!8@jKr L1"LZSadlm`Db)5EVKEZRNJFK-$d"0f5jpLcEmdq!-N"bL"JPL5NYC4eTdj!!'d) (E)8cHk'QGGBKf#H8-UBdl!NHqqC&h'U9pq1V!hYT#XZHj+%AL*9@q1T&a$T@Ib8 Q,58h-(Qjh2+biLTXQU*kKZ%lCZFY(*JCG"JIKi9N&Q*qG)SQ,dXQ3F#p8-Xp9DX [@XYKZc08UGYbI@Y&jD4'UfY$XaY4M`KS"b+e$#@51Y5h9rBG6d#ZEUQ#9*X%XR% V0rKVlH9JiK3BYa8@XcZjF&Ujlk%l%V39cQ4"C[!G8k!J%RS(qJ@CKh3q!r)$J+1 10Gb$-UC@`p+hbA%HTE)d$8SHpB%@'cS%)4XHeQ(%l0%94I+mYF3M+MU"KH%'%Q3 F'I8P)&!$S23#398G,c!&3TFb#VLKDfH"@'Qk*e",iM%jFK!#9e@UA*%IP+%[2p5 c3U4@P69fJV*EED*$HqG3QbbES(%UccNN),HB)+!'#eT%k&%GRrGbF35k#p)la#' Gb6Z[1Y9X(8F@N!#MRJC&be!b3fEMP!r%-*0ATcFiH2NcbfZm1b"!$I[a'Jjb*Q9 3$I#DKr$KR"NL6PXj,T@K)-qm0(R"2EqTZ&U)a"Uba04$+HfPHJKP'p%VI6PA*dL XG&$5D`cX'Ii,J8m5DC9RF#"6FBJ4V,JC[Te9R,a&[Ma(-+@40'U#a3ecNJ0-'%P 8JRplV!Ue3'em&FN""mZ,("9LICqlU1`c)5(M'6BhM"p,H'LcNHG"&QA&Je$b3-A )UDP9b4%Y563mdD3Pb@0&NLKQ'SQi*e33,!6L"'q3!#%M%!-aN!!$QX`lb5)q3Zh 'VP,3'f)db@'$8B!pjN)%&@@Xk+4PXAXk96&h6LSF6eB'EG(9e!c@B6!U#K@-DY3 l'e+T5j[$I[De3b8ElHCB5R)SCQ1ZI#dQ9KT0M5&q)1$@Aah@cZUAUh&I+Vh8l0* $eNS`eX(,PA%CSdbHrYXqIaFBdY21AM'`JJXS2JBC3A,([c+dGL63qI`pCV19iDT $I)TeGl(*GCaZPjSIf6QDCe[6X[a#%q5!GQ+ZPqBABe"r[9bdE@Nf9D)GHQBf,9C Qib12)[9Nq-@Erj5T#$@jaQ(GFBA5"*1bUTG%[ebPBR%e2c1P)"!Q43,*XpSqYCb b5@KfYV%RGV,FjL(@0I9eKb9K6`2G'@A3AcKMZCFh46LerPe1pRTTdS&RB"aGMhM Irq398)`QHB*Z!M)ZaR%jer&VqkdeIh8S`i4EJZX9&4XJ[F-'rU@P,K8C@k(+ZfT 1i8ST4e+R"fFTPINUh)TMH)!@dk)U-'QZY1'bT!XL&mF9Iq)Yh!1"b)3B9XQqrZQ q@42MeXI,5ZQrIiAGJM&'ZA5Ve9YHqce84ME$(p8`TI5$6"YXSP4T9pP3JS04%GJ !-E`d*,`99k)G&rdRE6+ae4Y!RENGfY%%@r'ea'ZA3G#ffV&Uc1aRYR&LCG!#%Ue *CK2+!)6HEAPCKG&*`AfST1%Khr'-df`Zrb($)!"h2rPZFY&ACL24r`S@"'-DXZ( Pm6,U0+9XSIiakpZ,[cK+-cLc431RIe)D5p02jFb"j`GN'C@q!@Y+rF0h&6K$pi@ bmp@`RXX`p-fIGc'FNpfQ*cXbEhJDCk!R-$Zc18XP(,0TqZ*pPKNk9d%N4+i`VQS f-@)N!NDCZ`kU9FKrc[jV%2JG99!EBI'bT@6D)DXpGU[[UrkrEN)@)FGR[TVJJ@E @LCPMFXJA+G8D"(3AX$8c5i1k)E)[BiY`#-8bkEia5))l@3BF,d5d4LXMVHhIV3T 61b66bj&%L)JQ*(UhlZh2%HZ(rXfr*XXAK16T`J2U`I5iGFd''d*,Q#C-aGX!Cre QKX%Y)l)PIq)90SIC8CB'dV(M4jAMH)LkGCA9f5%Qq4+U*K6$lT-RMbKl#k8J09r (XL%UIp3jHd[G@8J@`J%BKm&V$qBV@c`m)Z0Lim2IGR$PX(4*$Naj+MVKe-hF!l[ Ib5%Q40$Ia[bjJiBBB$-$S'qAT2V!Bd8m0XIN8BVUdSV9M1rhNrP!d0&5'C2P[6N E"-mRPlm@C0,%K@XFiU5'b%(i$RMbR-SV%'mfHjJpR2NR2HSC)V+9L('-CmC4K%& JLJA$X4(d%KSZY#8Q&R)GBJZC4p)RLTdJEr!$$4!0)+!%Ei!'ElI8@*%fB%%A59" [f`d[F&D)9'm9,&*ZAK%`BU'-TBAV-!*N3&Z`IR+K!4!"&Y)@BS"ebAa"JJL"J+H '!h"!!d"M#@Sc5)Dl3!&a!$CLIqi[eF'rEP)'jPm3H%3D-!bPQb*a&FK!!e"Up)% 8BBjf3KCq"(l,6RN%LR@`f8*62)jDB%#f`D!&!EPJ(13!A3#"lkmdN!$!q3F&RJ" )FLMeSJBS`,MJPd)5BA!#8q!+J)$U)J-XB"#S!P1!#NL")-!%NN!3)"--J!F)J($ 3!iJ#%9L$4@!06S8j@""U`N!)!#*J)!`!4+!('m&!)!"Qi!r+JB&J!1!!)B3%!f% "i)*%L!`'JJ1J!Sl`#`b%"r!+*L%`'!J43!aJ`M'!#GN!*M`&Q,!9B-*K-"!N!"S SKE+J$`!!9DJ+pm!UI)@UX!l%KEJ!!1V!3#J!J!!"P-)#!!"d)3#3!!!"!!J%!%" 3!9$K3*J!I"!!6)"&F!bl`6%m"`2"!T5!D2J#SL%4L)C)B#"SJ&bJ$AR"32J!S1! EUS+"!!*f!6Rm"32K"$5$G&J0"J)+B)B!!!9%!RFi$3C##SJ'pM!KY%)!i!TC)6r mKrf`&VV#KB!,I5%`E!T!S"J#!)4J$lp"(U#$%$%L5X5*5!Gj)4!!!!)!!pK"1`J !m1!G(!&)34,S`@a`#cNK!$!!a@!J)!"[#!!8J#d%!![J)3)!"X!5(`!"`)5D%!" %!&-`#N[K+Ib&PI!AcS+"3!'Q)3#S!+)3!&`!8M!3-N!6b!2pj%4)aDN)1Nj%9$` 4*j%J&%0i-!!)!LqmK3&!)6V&JE!"$-"!i!!+X3--JS(J!@i"1I`(!d%%6)#ib!d '`JK`"`1K",5"G#J!h'%3F)HA-"lL""43$q2K1(#(j-!H*J"l#!,`J'0mM*!!d6& 'Sc(`"5SM!1L+Yj!!)#b!!2!9!8!"%!#qd$-+J+eS&JI#9T3!M0%H,S@&D!AXi5@ `KjM!(U)#HcJ8&q)ab)Gl)$IUaYa)%AZMEp`*Q,%AHN8!m!rJSJ+iL4$J-[k$B3J !'N"`r!HI%5aH4J$J$C!!`N+i#G0a)H)%MLJ"C%%qE)J!!"*@!3$3'MXL34L,#r% PD%F!F!8!!"B!!&Q!)26&VRJ6&8"c"!!Ei3%!J15)'LR!88`*5K%!K!!!N!!(Ik1 "2*!!#()L!Rc-!!!: ---