[Gllug] Controversial Joel Spolsky article

Bruce Richardson itsbruce at uklinux.net
Sun Dec 21 01:10:08 UTC 2003


On Sat, Dec 20, 2003 at 10:14:14PM +0000, Bernard wrote:
> In part the PC industry was created specifically to avoid some of the 
> practises that were common in the mainframe and minicomputer world. 
> Departments bought PCs without telling the central IT department.

I wouldn't deny that.  The elitism of the established computer industry
had a lot to do with it.

> That 
> was only possible because PCs didn't need a sysadmin. The story of the 
> PC is a struggle to escape from control by central IT. Now of course 
> Microsoft is trying to move everything back by running applications on 
> huge central server farms.

That's paranoia.  And simply wrong.  The earliest PCs didn't need
sysadmins because they were used for simple things.  PCs have become
more complex and even before they did, businessmen who installed PCs on
their desks soon found they needed support staff to keep them running.
Those support staff became the new PC IT world.

PCs that are being used as servers or networked desktops need admins.
It's not some sinister conspiracy by Microsoft or baleful sysadmins
trying to reclaim their territory.

> 
> >
> >Many of the poor practices and design decisions of companies like
> >Microsoft - binary configuration files,
> 
> There are some exceptions but most Windows programs used editable text 
> configuration files until relatively recently.

Like the windows registry?  Which "most" programs were these?  A few of
them used .ini files but only for the most basic, windows-related launch
parameters.

> The decision to move away 
> from text configuration files is a fairly recent innovation.

No, it isn't.  It predates Windows - you mentioned Windows, not me, at
this point. I'd been talking about the microcomputer industry from DOS
and before.  PC developers used binary configuration files for almost
everything right from the start, for three main reasons.

	1.  It saved precious bytes on tiny storage systems.
	2.  It obscured the contents and their intent.  This was a) the
	only protection against meddling on systems that had no
	filesystem security and b) commercial paranoia, given that
	microcomputers introduced a new
	3.  Lack of the right tools and ignorance of their utility.

I don't know which PCs you were using, but config.sys and autoexec.bat
were almost the only text config files in the whole bloody PC world for
years.  Even where DOS wordprocessors were sophisticated enough to use
printer description files, they were usually binary.

> It's a 
> deliberate decision, not an accident. Given that most Windows users 
> shouldn't try to manually edit configuration files I don't see much 
> wrong with it.

Obviously, you're not an admin.  Most Windows users shouldn't but some
should.  Filesystem security is how a mature OS protects applications
from uninformed tampering.  Putting configuration parameters into binary
files simply creates needless obscurity.  Looking through text
configuration files and logs often provides essential information to the
admin or clueful user trying to troubleshoot.  Without that you are
dependent a) on the developer having remembered to include everything
relevant in the GUI representation and b) on the GUI working.  When the
application breaks, you're then usually stuck.

> That's another aspect of what Joel was talking about. Windows systems 
> are optimised to work without the need for a sysadmin.

I can tell you from painful experience that that is a fantasy.  I can't
believe that you've ever worked in a real computing environment of any
size of you can make that claim with a straight face.

> > As a rule, such people are
> >actively suspicious of automation and the many productivity-enhancements
> >that a skilled admin can make to computer systems.  They will choose the
> >interactive, drag-and-drop solution over the automated solution because
> >they trust what they can see (even though what they see is just an
> >animated representation of an action).
> 
> It's called abstraction. One of the main aims of modern software 
> development is to hide all of the gory details.

I reread that several times, but I must have missed the clever logic.  I
fail to see how a Windows admin repetitively performing tasks by
drag-and-drop when shedulers and scripts are provided as basic parts of
the OS job (they even have GUIs, if that'll make you feel better), is
an example of abstraction and not ignorance.

The abstraction argument simply isn't relevant, but...
I deal with abstraction all the time.  The *nix virtual filesystem is an
abstraction, saving me from having to deal with the physical storage
systems underneath.  Logical Volume Management is an abstraction, so
that when I do look beneath the filesystem, I can treat the available
storage as a simple, pooled resource without having to be deal with
the unnecessary minutia of each physical storage unit.  But I can still
look at the details if I need to.  There's no need to bar access to the
inner workings to provide abstraction.

-- 
Bruce

I object to intellect without discipline.  I object to power without
constructive purpose. -- Spock
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 261 bytes
Desc: not available
URL: <http://mailman.lug.org.uk/pipermail/gllug/attachments/20031221/c751763d/attachment.pgp>
-------------- next part --------------
-- 
Gllug mailing list  -  Gllug at gllug.org.uk
http://lists.gllug.org.uk/mailman/listinfo/gllug


More information about the GLLUG mailing list