From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <4767E481.70503@degood.org> Date: Tue, 18 Dec 2007 10:17:21 -0500 From: John DeGood User-Agent: Thunderbird 2.0.0.9 (Windows/20071031) MIME-Version: 1.0 To: nemo@lsub.org Subject: Re: [9fans] graphical clock demo at IWP9 References: <4767E213.9070208@degood.org> <8ccc8ba40712180711x30dda594v1a62248c820cba19@mail.gmail.com> In-Reply-To: <8ccc8ba40712180711x30dda594v1a62248c820cba19@mail.gmail.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: Fans of the OS Plan 9 from Bell Labs <9fans@cse.psu.edu> Topicbox-Message-UUID: 1c4abbc0-ead3-11e9-9d60-3106f5b1d025 I hate it when that happens. :-) Sorry, I dropped the tarball in the wrong place, please try again. Francisco J Ballesteros wrote: > Sorry, > > not in server. > > On Dec 18, 2007 4:06 PM, John DeGood wrote: > >> Ron Minnich encouraged me to bring my incomplete little graphical clock >> program to IWP9, and then he encouraged me to complete it. So please >> blame Ron for this: >> >> http://degood.org/plan9/mclock.tar >> >> History of this clock program: in the 1970s Dave Robinson, an EE >> professor at UDel, wrote a cute graphical clock program in PDP-11 BASIC >> that displayed on a Tektronix vector graphics terminal >> in his lab. The clock >> image was drawn as vectors, with the filled areas composed of hundreds >> of side-by-side vectors. >> >> In 1982 I got a printout of the program from Dave, typed in all the >> vector coordinates, and then rewrote the program in FORTRAN for an HP >> 3000 timeshared minicomputer, outputting escape sequences to an HP 2648 >> raster graphics terminal >> in my lab. >> >> Flash forward ~25 years: I stumbled across a line printer listing (on >> green bar paper, of course) of my 1982 program in my basement, and on a >> whim decided to rewrite it in C for Plan 9 using draw(2). It looked >> very retro. I tried adding color, but it still wasn't satisfying >> because the hundreds of vectors used for area fill weren't compatible >> with variable size windows. So I tediously determined bounding polygons >> for each of the filled areas and called fillpoly() instead. >> >> Magic feature: when the clock diameter is > 600 pixels (e.g. >> fullscreen) the linewidth increases from thick=0 (1 pixel) to thick=1 (3 >> pixels) to make the clock more readable from a distance. >> >> Have fun. >> >> John >> >> >> > >