9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Lyndon Nerenberg <lyndon@orthanc.ca>
To: Fans of the OS Plan 9 from Bell Labs <9fans@cse.psu.edu>
Subject: Re: [9fans] impressive
Date: Tue,  9 May 2006 19:09:46 -0700	[thread overview]
Message-ID: <69296165-14FA-4F30-8923-F49C151B5778@orthanc.ca> (raw)
In-Reply-To: <2256501d5763ca7585ed7c8a52da5efd@quanstro.net>

> i think your problems miss the point.  an explicit portability layer
> is another name for a virtual os interface.  breaking things
> up on a call-by-call basis creates calls^2 virtual os interfacen.
> good luck in testing.

And in the case of things like the APR, it forces you to learn an  
entirely new set of interfaces.

> the ironic bit about autoconf is that the vast majority of autoconf  
> garbage
> is dedicated to features that don't make any difference.  using the
> lowest-common denomitor call would work just as well. (and why
> not, you have to code this case anyway.)

A case in point is some web-related stuff I'm dealing with at work.   
I'll use libxml2 as an example.  A grep for HAVE_ at the top level of  
that source tree turns up:

HAVE_ANSIDECL_H
HAVE_ARPA_INET_H
HAVE_ARPA_NAMESER_H
HAVE_BEOS_THREADS
HAVE_COMPILER_TLS
HAVE_CTYPE_H
HAVE_DIRENT_H
HAVE_DLFCN_H
HAVE_ERRNO_H
HAVE_FCNTL_H
HAVE_FINITE
HAVE_FLOAT_H
HAVE_FPRINTF
HAVE_FSCANF
HAVE_FTIME
HAVE_GETADDRINFO
HAVE_GETTIMEOFDAY
HAVE_INTTYPES_H
HAVE_ISINF
HAVE_ISNAN
HAVE_LIBHISTORY
HAVE_LIBM
HAVE_LIBPTHREAD
HAVE_LIBREADLINE
HAVE_LIBZ
HAVE_LIMITS_H
HAVE_LOCALTIME
HAVE_MALLOC_H
HAVE_MATH_H
HAVE_MEMORY_H
HAVE_NETDB_H
HAVE_NETINET_IN_H
HAVE_PRINTF
HAVE_PTHREAD_H
HAVE_RESOLV_H
HAVE_SCANF
HAVE_SIGNAL
HAVE_SIGNAL_H
HAVE_SNPRINTF
HAVE_SPRINTF
HAVE_SSCANF
HAVE_STAT
HAVE_STDARG_H
HAVE_STDINT_H
HAVE_STDLIB_H
HAVE_STRDUP
HAVE_STRERROR
HAVE_STRFTIME
HAVE_STRINGS_H
HAVE_STRING_H
HAVE_STRNDUP
HAVE_SYS_MMAN_H
HAVE_SYS_SELECT_H
HAVE_SYS_SOCKET_H
HAVE_SYS_STAT_H
HAVE_SYS_TIMEB_H
HAVE_SYS_TIME_H
HAVE_SYS_TYPES_H
HAVE_TIME_H
HAVE_UNISTD_H
HAVE_VFPRINTF
HAVE_VFSCANF
HAVE_VPRINTF
HAVE_VSCANF
HAVE_VSNPRINTF
HAVE_VSPRINTF
HAVE_VSSCANF
HAVE_WIN32_THREADS
HAVE_ZLIB_H

If you weed out the bits that are already in Posix, you're left with  
a few legitimate feature tests (libz, libreadline, getaddrinfo), a  
test for the underlying threads implementation, workarounds for some  
obsolete variants of time handling (all of which can be accommodated  
by Posix), and some fancy printf variants, which the library has to  
provide compatibility routines for anyway.  And why the configure  
script cares about what version of FORTRAN 77 compiler I have simply  
escapes me.

It's endemic.  The fact that it's not malicious is even worse.  The  
people coding this stuff just don't know any better: they learn from  
what they see already deployed.  Critical thinking doesn't exist any  
more :-(

Another case in point ... this afternoon one of our product architects 
(!) informed us we needed to install a wiki on the production web  
blades. Why?  Because they needed to serve up some 'nicely formatted'  
static web pages to a couple of customers, and all they knew how to  
generate was in a wiki syntax format.  They didn't know how to turn  
that into pretty HTML, so this was the solution.  They were stunned  
when we proposed a simpler alternative.  (Call the documentation folks.)

--lyndon


  reply	other threads:[~2006-05-10  2:09 UTC|newest]

Thread overview: 69+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-05-10  0:45 erik quanstrom
2006-05-10  2:09 ` Lyndon Nerenberg [this message]
2006-05-10  3:35   ` David Arnold
2006-05-10  4:03     ` Lyndon Nerenberg
  -- strict thread matches above, loose matches on Subject: below --
2006-05-08 22:02 erik quanstrom
2006-04-27  2:13 erik quanstrom
2006-04-27  1:35 erik quanstrom
2006-04-27  1:23 erik quanstrom
2006-04-27  5:08 ` Micah Stetson
2006-04-27  1:10 erik quanstrom
2006-04-27  2:06 ` Jack Johnson
2006-04-26  3:24 jmk
2006-04-26  2:38 erik quanstrom
2006-04-26  0:55 erik quanstrom
2006-04-26  1:07 ` Roman Shaposhnick
2006-04-26  0:26 erik quanstrom
2006-04-26  0:48 ` geoff
2006-04-26  0:54   ` Roman Shaposhnick
2006-04-26  0:53 ` Roman Shaposhnick
2006-04-26  2:15   ` Taj Khattra
2006-04-26  4:59     ` David Leimbach
2006-04-26 12:37       ` Anthony Sorace
2006-04-26 15:28     ` Rian Hunter
2006-04-26 16:39     ` Micah Stetson
2006-04-26 18:02       ` Bruce Ellis
2006-04-26 20:14         ` Micah Stetson
2006-05-08 14:50       ` Harri Haataja
2006-05-08 15:04         ` LiteStar numnums
2006-05-08 15:12           ` Charles Forsyth
2006-05-08 20:08             ` Micah Stetson
2006-05-08 20:52             ` LiteStar numnums
2006-05-08 21:10               ` Jack Johnson
2006-05-08 21:17                 ` andrey mirtchovski
2006-05-08 21:18                 ` Paul Lalonde
2006-05-08 22:25                 ` Francisco J Ballesteros
2006-05-09 21:56                   ` Dave Eckhardt
2006-05-10  0:13                     ` geoff
2006-05-10  8:39                       ` Lluís Batlle
2006-05-08 23:31                 ` geoff
2006-05-09  1:18                   ` Paul Lalonde
2006-05-09  1:39                     ` quanstro
2006-05-09  2:12                       ` Paul Lalonde
2006-05-09  2:20                         ` quanstro
2006-05-09  3:00                           ` Paul Lalonde
2006-05-09  9:32                             ` Bruce Ellis
2006-04-26 22:57     ` Roman Shaposhnick
2006-04-26  4:57 ` David Leimbach
2006-04-26  4:53   ` Ronald G Minnich
2006-04-26  5:11     ` Roman Shaposhnick
2006-04-25 10:20 erik quanstrom
2006-04-25  2:30 erik quanstrom
2006-04-25  2:48 ` Derek Fawcus
2006-04-24 20:37 Ronald G Minnich
2006-04-24 20:51 ` Charles Forsyth
2006-04-24 21:32 ` Brantley Coile
2006-04-25 11:06   ` Anthony Sorace
2006-04-25 11:08     ` Anthony Sorace
2006-04-25  2:15 ` Derek Fawcus
2006-04-25  2:23   ` Roman Shaposhnick
2006-04-25  2:37     ` Derek Fawcus
2006-04-25  3:51       ` Roman Shaposhnick
2006-04-25  8:17         ` Derek Fawcus
2006-04-25 17:53           ` Roman Shaposhnick
2006-04-26  1:11             ` Derek Fawcus
2006-04-26  1:19               ` Roman Shaposhnick
2006-04-26  2:12                 ` Derek Fawcus
2006-04-25  3:02   ` Andy Newman
2006-04-25  3:13     ` Ronald G Minnich
2006-04-25 19:57     ` Dan Cross

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=69296165-14FA-4F30-8923-F49C151B5778@orthanc.ca \
    --to=lyndon@orthanc.ca \
    --cc=9fans@cse.psu.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).