A Pragmatic Decision

August 5, 2008

(The following appears in the March 1988 UNIX Review magazine, in a comparative review of C compilers. The version of gcc that they tested in the article was 1.17, but you can still find the code they mention in gcc 1.40, in cccp.c.)

GCC’s early handling of the ANSI #pragma construct is perhaps worth noting at this point. Compiler writers are at liberty to deal with #pragma as they see fit. Paul Rubin, in a bit of whimsy, chose to start running the Tower-of-Hanoi game under emacs. Where this was impossible, a session of the hack game was attempted. Failing that, a rogue session was attempted. When all of these efforts failed, the compiler printed the error message: “You are in a maze of twisty compiler features, all different”.

More recent versions of GCC have this code disabled, however, and #pragma directives now are simply ignored. The original code is still distributed, though, for those who prefer it.

I/O Deja Vu

August 5, 2008
From dcn@cbnewsd.ATT.COM Fri May  4 13:48:27 1990
From: dcn@cbnewsd.ATT.COM (david.c.newkirk)
Newsgroups: alt.folklore.computers
Subject: How Virtual Memory Really Works (or Doesn't Work...)
Keywords: I/O Deja Vu from old Creative Computing
Date: 4 May 90 14:06:04 GMT
Organization: AT&T Bell Laboratories

The recent posting about the Thing King reminded me of a similar parody in
an old Creative Computing magazine - enjoy!


		I/O Deja Vu - A Farce in One Act
		--------------------------------

IBOX:	Hello, CACHE? I'd like the data for location 54321.

CACHE:	I'm sorry sir.  I don't have that data.  Just a moment and I'll
	try to get it for you.

CACHE:	Hello, MAP?  I need the address for location 54321.

MAP:	I don't have that address, sir.  That address is stored at location
	76543.  Just a moment and I'll try to get it for you.  Hello, I/O
	control? I need the data from location 76543.

I/O:	Just a moment.  I'll try to get it.  Hello, CACHE?  I need the data
	from location 76543.

CACHE:	I don't seem to have that data, and I'm not about to get it.

I/O:	Hello, MAP?  What is the address for location 76543?

MAP:	That address is 222543.

I/O:	Hello, CORE?  What is the data at 222543?

CORE:	That data is INDIRECT PAGE TABLE 21, PAGE 44.

I/O:	Hello, MAP?  That data you wanted is INDIRECT PAGE TABLE 21, PAGE 44.

MAP:	Fine.  Now I need INDIRECT PAGE TABLE ENTRY 21.  That would be
	stored at location 556.  Would you get me the data at 556?

I/O:	I'll try. Hello, CACHE?  I need the data from location 556.

CACHE:	That data is 6767.

I/O:	Hello, MAP?  That data you wanted is 6767.

MAP:	Good.  Now, let's see.  6767 plus 44 is 7033.  Now, get me the data
	at 7033.

I/O:	Hold on.  Hello, CACHE?  I need the data from location 7033.

CACHE:	I'm sorry.  I don't have that data.  You'll have to get it from CORE.

I/O:	Hello, MAP?  I need the address for location 7033.

MAP:	I'm sorry.  I don't seem to have that address. I'll try to get it,
	but I'll probably forget what I was doing before, so you might as
	well too.

MAP:	Hello, I/O?  I'm trying to get the address for 7033. That data should
	be stored at location 112233.  Would you try to get me that data?

I/O:	(sigh)  I'll try.  Hello, CACHE?  I need the data from location 112233.

CACHE:	That data is 4242.

I/O:	Hello, MAP?  That data you wanted is 4242.

MAP:	I'll store that away. HEY IBOX, I just stored something.

IBOX:	Hello, CACHE?  I'd like the data for location 54321.

CACHE:	I'm sorry sir.  I don't have that data.  Just a moment and I'll try...
-- 
				Dave Newkirk, att!ihlpm!dcn

The Calendar Gap

August 5, 2008
From dattier@gagme.chi.il.us Sun Feb  2 16:23:27 1992
From: dattier@gagme.chi.il.us (David W. Tamkin)
Newsgroups: comp.unix.questions
Subject: Re: cal: what's wrong with year 1752
Date: 31 Jan 92 22:28:51 GMT
Organization: Gagme Public Access Hermitage, Chicago, Illinois  60656-1252

poulson@cs.widener.edu (Joshua R. Poulson) wrote in
:

| In article 
| xiaoy@bullet.ecf.utoronto.ca (XIAO  Yan) writes:
| >Can anybody enlighten me as to what's special about the September 1752,
| >as far as `cal' command is concerned?
| > S  M Tu  W Th  F  S
| >       1  2 14 15 16
| >17 18 19 20 21 22 23
| >24 25 26 27 28 29 30
| 
| That's when some high record-keeper in the Catholic Church updated to
| calendar to correspond for various astrological and religious events.
| It corrected the calendar to correspond to holidays falling on the
| correct days.

Close; in *1582* the *pope* declared that October 4 should be followed
by October 15 to skip ten days and get the calendar back in line with
*astronomical* events. Further, century years were no longer to be leap years
unless they were divisible by 400.  The Julian calendar, by having too many
leap years, was just too long and already ten days over.  This adjustment got
*solstices* and *equinoxes* on the correct dates and thus date-based holidays
back to their proper relationships to the solstices and equinoxes: for
example, Christmas was occurring too long after the solstice and in fact
after perihelion.

So why September, 1752?  Protestant countries didn't go along at first, so
the UK didn't convert until 1752.  Whoever designed the cal program decided
to use the calendar in effect in Britain and its possessions (which, at the
time, included what would become the USA and Canada).  In the meantime, 1700
had been a Julian leap year but not a Gregorian leap year, so the difference
had grown to eleven days.  (That's why September 3-13 are missing.)  When the
fledgling USSR converted in the early twentieth century, they were thirteen
days off and found that their October Revolution had taken place on Gregorian
November 7.

| I could look this up, but I'm unsure of more than the fact that it was a
| guy named Gregor and that's why it's the Gregorian Calendar.

It was a guy named Ugo Buoncompagni, better known as Pope Gregory XIII, who
gave his papal seal to the results.

| Isn't history neat?

In those days it was rather sloppy and unsanitary in comparison to modern
times.

David W. Tamkin  Box 59297  Lincolnwood, Illinois  60659-0297 +1 708 518 6769
dattier@gagme.chi.il.us  CIS: 73720,1570  MCI Mail: 426-1818  +1 312 463 2670


Create your own website, free on WordPress.com.Create your own website.
Start free