Some two years ago I did some very rough comparative benchmarking of different server side dynamic content technologies, and my results are available. These are obviously out of date and were not very scientific anyway; one of these days when pressure of work eases a bit I'll try a better test.
However, one thing is abundantly clear: starting new processes for CGI is hugely expensive, and the larger the binary you have to load to start the process, the more expensive it becomes. The PERL interpreter is huge, and consequently, run as CGI, PERL scripts perform comparatively very badly. THe situation must be very different with mod_perl, but I haven't tested this.
Mind you, this is not really a reason not to use PERL if you like it. Unless you have shedloads of bandwidth or run your website in a 386 box, or are doing some really complex backend processing, your CGI performance is not going to be your primary bottleneck.
I've been very pleased lately to see Open.Gov's clear policy statement on the use of open standards. I'm personally involved in working with some large UK companies on their own Web standards policies, and having this to point to has been extremely useful to me. How difficult was it to get buy in to these standards by all the people who 'own' different Government sites, and how difficult is it to enforce?
I notice, for example, that the Scottish Parliament's web site, and my local Council's Web site, do not yet conform. Without wishing to point fingers at specific organisations, is it your intention to cajole all sites within.gov.uk to conform to these standards? Is it appropriate for members of the public to draw administrators of these sites attention to these standards?
For my own personal machines I use the names of the Kingdoms of the North, and other important dark age placenames from this part of the world; this is posted from Gododdin, my web server is Rionedd, I also have Caleddon and (now long retired) Rheged. They're memorable and not likely to be confused with anything else.
For my company's machines we use names of bits of weaving technology (thus Beater, Comb, Dyebath...); for one customer who is an antigue dealer we use names of bits of old tachnology (Astrolabe, Ballista...); for my previous company we used names of rivers in Galloway (Ae, Bladnoch, Cree, Dee...).
I agree with all those who have said that naming machines with quirky 'real' names is fun. But it's also practical, because these names are memorable. There was a practice at some point during the Roman empire of naming your children Primus, Secundus, Tertius and so on. It didn't last; these names are not memorable, and so are not practical
By all means (as several people have said) use CNAMEs to associate functional (or descriptive) names with machines, but make the principal name quirky.
This is actually not a bad idea. Applying for a warrant to use the 'by Appointment to HM The Queen' logo costs something, but I don't think it's a huge amount. How would it be if the community applied on behalf of, perhaps, Linus, so that the right to use the logo was held in trust and could be aplied to anything with a genuine Linux kernel? If other people think this is a good idea I would be prepared to investigate what would be involved and report back.
I've been doing commercial development - earning my living - on Blackdown 1.2 for months now. Very, very occasionally it does something odd. 99% of the time it's rock solid. Yes, it would be nice if it were better, but there are a hell of a lot of things more fragile and in more urgent need of fixing. The Blackdown guys need a lot of congratulations, not the grudging faint praise they too often get on/.
When I started my professional programming life, there were no text editors, only structure editors. I remember when Xerox brought out the first text editor (confusingly called 'Sedit') in Medley, and we all barfed.
Yeth, Thtructure Editorth are wonderful - far more uthe than text editorth (if you uthe the One True Programming Language, of courthe).
10-20-30 years from now, their will be no need for people like us (slashdotters in general) and all those visual programming languages we all hate will be our equivelent of Assembly later on.
I can remember something almost identical to the above being said twenty years ago, by a well respected software guru who believed it. At the time, I believed him.
Indeed... I use KDE on a Toshiba Libretto with an 800x400 screen. One of the things which drives me nuts is that when KDE dialogs (such as the KDE Control Center) are bigger than the physical screen, there is just no way you can position them so that controls in the lower part of the dialog are visible. You are reduced to tabbing blindly in the hope of finding the right control...
Why on *earth* can they not grow scroll-bars when they're too big for the screen?
My degree is in Peace Studies and Philosophy. And I'm a fairly good geek, and used to be on the academic staff of a CS department. But it's harder work getting to here if you don't go through a CS education, because all the hard fundamental things that a CS education comprises do have to be learned and learning them on your own is harder work. Having said that, the technical end of Philosophy (logic, computability and so on) is a great help.
But the fundamental thing a geek needs is to know how to learn and how to structure thoughts and concepts. Law, or History, or Classics, or even, possibly, Literature, all teach that.
It depends what sort of books you're comfortable reading.
Of course there's Knuth[1]. Knuth (volume II, Seminumerical Algorithms, and volume III, Sorting and Searching) have a very important place on my working bookshelf although I don't use them often. Knuth is quite hard work - definitely easier to get through in a seminar group situation than on your own. It's also pretty expensive if you go for all three volumes.
Abelson & Sussman[2] is an easier read, and covers lots of good stuff; if you work your way through from cover to cover you'll understand a lot about software.
I also personally like Norvig[3]. It's an artificial intelligence text, but don't be put off by that: artificial intelligence is by definition hard programming, and although there are other sorts of programming which are hard in other ways (real time graphics rendering, for example, has a whole different set of problems) by the time you've really worked through any of the more demanding software areas you will have a mental toolset which will be applicable in many others.
[1] Knuth, Donald: The Art of Computer Programming: 3 volumes.
Volume I, Fundamental Algorithms: ISBN 0201896834 Volume II, Seminumerical Algorithms: ISBN 0201038226 Volume III, Sorting and Searching: ISBN 0201896850
[2] Abelson, Harold and Sussman, Gerald: Structure and Interpretation of Computer Programs: ISBN 0262010771
[3] Norvig, Peter: Paradigms in Artificial Intelligence Programming: ISBN: 1558601910
You'll find all these in a good academic library, or at http://www.amazon.com/ or http://www.compman.co.uk/
If you understand how to handle algorithms and fundamental data structures, if you understand how to analyse a problem in terms of things which can be computed mechanically, then you can build systems in any language.
Learning to use a particular language is helpful, of course, to practice the above, but that language should be well chosen. Of those you listed ColdFusion and ASP are short term temporary hacks to meet the needs of a particular instant in time, and that instant is already passing. By the time you leave college they may already be yesterday's technology. Java and PERL will last longer, but even they won't last forever.
But the most important thing, if you plan a career as a geek, is to learn how to learn. Being a geek is a matter of always looking over the next technology horizon, having the new skills *before* the market knows it needs them, riding the front edge of the technology wave not sliding down the back. And the method is learn, learn, learn, learn, never stop.
Re:Why Mozilla 5.0 will die. (At least on the Mac)
on
Whither Netscape 5.0?
·
· Score: 1
If you think that the current Mozilla skin is such a problem, here's a challenge: write a Mac skin, and contribute it to the project. It would be a valuable contribution, for two reasons: first it would exercise the User Language, and secondly it would allow you (and other Mac users) to evaluate Mozilla without having your delicate sensibilities hurt.
Indeed, as usual. In 1985 I had a Xerox 1108 (Dandelion) workstation with megapixel display, nice three-button optical mouse, and, of course, ethernet. Original big, fat, thick-wire ethernet that you have to cut into with a special tapping tool to add a drop-lead for a workstation (and you could only cut taps at particular intervals which had something to do with the wavelength of the signal.
But this was Ethernet, not TCP/IP; I can't remember the name of the protocol they ran, but I do remember that when our ethernet was (later) connected to the Computing department's ethernet, all their VAXen crashed and they were not best pleased with us...
XML is a technology with a lot of potential. Many if not most of the Open Source applications which people will use for Linux are going to end up using XML. Consequently if there are standardised libraries for parsing XML in different languages, and standardised places to keep DTDs (/usr/local/lib/sgml is probably common), this is going to be a big win.
But the biggest win will come from minimising the proliferation of DTDs. If the community can co-operate on the development of common DTDs then the exchange of data between software agents developed by different projects will be hugely easier. By all means have diffrent projects - both KDE and Gnome have, in my opinion, benefited from the competition between the two - but if that competition develops the sort of bitterness which reduces communiction and co-operation we all lose.
I would strongly urge anyone who is developing a new software agent - whether it's a user-level application or a new daemon - which either stores data or exchanges data with other agents to seriously consider XML as a format, but more importantly should look at the DTDs that already exist to see if any will fit, and should communicate with anyone else working on related tools.
If anyone wants to look at the XML tutorial I gave at INET99 it's here
One of the reasons I use Linux is that I'm relatively immune from the viri and other nasties which affect the Windows world. An important reason why I'm immune is that foreign software, if it is to do anything serious to the system, must be installed as root, and anything which I install as root I have the sourcecode to and have usually compiled myself. I usually haven't crawled through that code to check for hidden nastiness, but I could if I wanted to.
Recently I've had packages (mostly Java ones) which come with MS-Windows-like graphical point and click installers. To install these you've fundamentally two choices: to install them in the user space of some user, as that user, in which case you've immediately got problems with other users using the same software; or to install them as root, without being able to do 'make -n install' first to see what the hell they're up to.
This is what you're asking for if you ask for a point-and-click RPM installer. It would have (in the general case) to be su root, because otherwise it couldn't install into privileged parts of the filesystem; and before you know where you are you would have masses of hostile variants of well-known RPMs installing trojans and trap-doors and worms all over the shop.
Now, of course, we elite/.ers would not be affected by such packages
but the newbies and journos and other less elite and refined Linux users would be, and they would not be impressed. And then the media would be full of stories about how insecure and risky Linux was and we'd lose all the ground we've gained over the past years.
There really is a significant engineering trade off to be made here. Microsoft (and Apple before them) know this perfectly well and have made a conscious choice to go for ease-of-(unskilled)-use over security and stability. And Microsoft are now moving from that extreme ease-of-use position towards a still easy to use but more secure position by using installers that look at digital signatures and so on before installing a package.
Remember, we (the Linux community) are not competing with a bunch of incompetent morons here. We're competing with an extremely slick and professional marketing organisation, who hire very capable software engineers. We've got where we are because we occupy an ecological niche that Microsoft hasn't yet occupied: something with better security, but a bit harder to learn. I don't believe we can compete with Microsoft in their core market, because they are already established there and they are very good at what they do.
If we erode the things which make our product distinct from theirs we risk losing our market share, with (in my opinion) little prospect of taking theirs.
What we need to do is not change our product (at least, not radically) but to educate the marketplace to see its benefits. Our message must be 'Yes, linux may be a bit harder to learn, but the improved stability and reliability are worth it'. Instead of going out to capture their market, we need to bring (some of) their market to us.
I really don't buy the blacklist idea. It isn't just that I don't like the idea of blacklists; I also don't believe that enough people will use it to direct their job-seeking to make a difference. Much more powerful is the idea (from the original post) of running stock market indexes. If we can show that businesses who exploit OSS outperform the market by x%, then that's an incredibly powerful argument for adopting OSS.
And yet it's extremly likely to be the case, almost regardless of the quality of the open source software.
Many companies currently using OSS are high tech companies, which on the whole are performing well at present.
Companies which are willing to experiment with OSS are less risk averse - in other words, they are more entrepreneurial. Consequently, they're likely to do better than the market.
Companies with business critical OSS projects are by definition companies which are investing in new business processes, at least some of which are going to pay off.
Finally, their is of course the remote possibility that OSS is actually better, and that this will contribute to the bottom line.
So: all we need to do is get a list of companies which do use Open Source - IBM, Sun, SGI, HP, RedHat... and a list of companies with an anti OSS policy, and compare their value against their value a year ago. If the pros value has increased more than the antis, then we've got something to crow about.
I remember him saying before Waco that the four best police agencies in the world were (in order) the FBI, the Texas Rangers, the Texas Department of Public Safety, and the Mexican Federal Judicial Police.
Every so often someone in the British establishment says 'British [X] is the best in the world'. It's always a sign of a major scandal brewing in [X], whether that's beef, banking or beaurocracy. 'The best in the world' means out-of-touch and complacent, and out-of-touch and complacent is very, very close to corrupt.
I strongly disagree with the suggestions that Anonymous Cowards must necessarily have unlimited free speach on Slashdot. THe net is a pretty big place, and if people want to set up sites on which they can engage in peurile flaming, there is nothing to prevent them from doing so. But Slashdot is a valuable resource precisely because it is, by and large, a place where you can find well informed and insightful comment on technical issues; and it succeeds in being that precisely in so far as it succeeds in moderating out the flame-mongers.
If there were no moderation Slashdot would descend to the singal-to-noise ratio of the more popular parts of Usenet - in other words, just a smidgin above totally unusable. So I strongly approve the proposed changes. I like the idea of Karma; indeed, if I could extend it, I would like readers to be able to assign individual Karma values (so that if I, for example, found adturner's contributions particularly useful I could tweak his karma up and then I would tend to see his contributions more frequently). If this worked then perhaps a person's default karma would be the mean of all that persons individual karma values - in other words, the community would assign karma.
Of course, this would carry with it the risk of people with excessive amounts of non-life setting up large numbers of accounts in order to boost the karma rating of an individual, and also, of course, it's a lot of data to track (but that's what databases are for).
And, of course, the fact the Alan Turing committed suicide after being castrated by order of the courts is not something the British establishment likes to be reminded about. Typically British: probably our single greatest person of the century, without whom the war would not have been won, who invented probably the most momentous invention of the century, has a consenting relationship with another adult... Gosh! Shock! Horror! Off with his balls!
case $command in "HEAD"|"Head"|"head") exit 0;; "GET"|"Get"|"get" ) cat $file;; esac
echo "$now: $REMOTE_HOST: $command: $rq_file" \ >> $SERVER_ROOT/logs/access_log else # didn't find it; report and log cat $SERVER_ROOT/error/404.html echo "$now: $REMOTE_HOST: No such file [$rq_file]" \ >> $SERVER_ROOT/logs/error_log fi fi exit 0 # yes, I know it _shouldn't_ be necessary
I use a Libretto 100CT with RedHat 6.0 and KDE, which has a little widget which interfaces with the apmd to do suspend to disk. This means restarting the machine takes about four seconds. To make this work you have to create a 70Mb partition at the end of your hard disk and leave it alone, but that's not a hassle.
Getting Linux onto the machine was not entirely straightforward. There are a couple of good howto pages on the Web:
However, one thing is abundantly clear: starting new processes for CGI is hugely expensive, and the larger the binary you have to load to start the process, the more expensive it becomes. The PERL interpreter is huge, and consequently, run as CGI, PERL scripts perform comparatively very badly. THe situation must be very different with mod_perl, but I haven't tested this.
Mind you, this is not really a reason not to use PERL if you like it. Unless you have shedloads of bandwidth or run your website in a 386 box, or are doing some really complex backend processing, your CGI performance is not going to be your primary bottleneck.
I notice, for example, that the Scottish Parliament's web site, and my local Council's Web site, do not yet conform. Without wishing to point fingers at specific organisations, is it your intention to cajole all sites within .gov.uk to conform to these standards? Is it appropriate for members of the public to draw administrators of these sites attention to these standards?
Oh, and, by the way, keep up the good work!
For my own personal machines I use the names of the Kingdoms of the North, and other important dark age placenames from this part of the world; this is posted from Gododdin, my web server is Rionedd, I also have Caleddon and (now long retired) Rheged. They're memorable and not likely to be confused with anything else.
For my company's machines we use names of bits of weaving technology (thus Beater, Comb, Dyebath...); for one customer who is an antigue dealer we use names of bits of old tachnology (Astrolabe, Ballista...); for my previous company we used names of rivers in Galloway (Ae, Bladnoch, Cree, Dee...).
I agree with all those who have said that naming machines with quirky 'real' names is fun. But it's also practical, because these names are memorable. There was a practice at some point during the Roman empire of naming your children Primus, Secundus, Tertius and so on. It didn't last; these names are not memorable, and so are not practical
By all means (as several people have said) use CNAMEs to associate functional (or descriptive) names with machines, but make the principal name quirky.
Well, it's slashdotted at this moment (503 help I'm dead), and I think the last three servers I've seen slashdotted have all been Zeus.
This is actually not a bad idea. Applying for a warrant to use the 'by Appointment to HM The Queen' logo costs something, but I don't think it's a huge amount. How would it be if the community applied on behalf of, perhaps, Linus, so that the right to use the logo was held in trust and could be aplied to anything with a genuine Linux kernel? If other people think this is a good idea I would be prepared to investigate what would be involved and report back.
I've been doing commercial development - earning my living - on Blackdown 1.2 for months now. Very, very occasionally it does something odd. 99% of the time it's rock solid. Yes, it would be nice if it were better, but there are a hell of a lot of things more fragile and in more urgent need of fixing. The Blackdown guys need a lot of congratulations, not the grudging faint praise they too often get on /.
When I started my professional programming life, there were no text editors, only structure editors. I remember when Xerox brought out the first text editor (confusingly called 'Sedit') in Medley, and we all barfed.
Yeth, Thtructure Editorth are wonderful - far more uthe than text editorth (if you uthe the One True Programming Language, of courthe).
Speaking as one of the older geeks here...
I can remember something almost identical to the above being said twenty years ago, by a well respected software guru who believed it. At the time, I believed him.
Indeed... I use KDE on a Toshiba Libretto with an 800x400 screen. One of the things which drives me nuts is that when KDE dialogs (such as the KDE Control Center) are bigger than the physical screen, there is just no way you can position them so that controls in the lower part of the dialog are visible. You are reduced to tabbing blindly in the hope of finding the right control...
Why on *earth* can they not grow scroll-bars when they're too big for the screen?
Errr... well... no...
My degree is in Peace Studies and Philosophy. And I'm a fairly good geek, and used to be on the academic staff of a CS department. But it's harder work getting to here if you don't go through a CS education, because all the hard fundamental things that a CS education comprises do have to be learned and learning them on your own is harder work. Having said that, the technical end of Philosophy (logic, computability and so on) is a great help.
But the fundamental thing a geek needs is to know how to learn and how to structure thoughts and concepts. Law, or History, or Classics, or even, possibly, Literature, all teach that.
It depends what sort of books you're comfortable reading.
Of course there's Knuth[1]. Knuth (volume II, Seminumerical Algorithms, and volume III, Sorting and Searching) have a very important place on my working bookshelf although I don't use them often. Knuth is quite hard work - definitely easier to get through in a seminar group situation than on your own. It's also pretty expensive if you go for all three volumes.
Abelson & Sussman[2] is an easier read, and covers lots of good stuff; if you work your way through from cover to cover you'll understand a lot about software.
I also personally like Norvig[3]. It's an artificial intelligence text, but don't be put off by that: artificial intelligence is by definition hard programming, and although there are other sorts of programming which are hard in other ways (real time graphics rendering, for example, has a whole different set of problems) by the time you've really worked through any of the more demanding software areas you will have a mental toolset which will be applicable in many others.
[1] Knuth, Donald: The Art of Computer Programming: 3 volumes.
Volume I, Fundamental Algorithms: ISBN 0201896834
Volume II, Seminumerical Algorithms: ISBN 0201038226
Volume III, Sorting and Searching: ISBN 0201896850
[2] Abelson, Harold and Sussman, Gerald: Structure and Interpretation of Computer Programs: ISBN 0262010771
[3] Norvig, Peter: Paradigms in Artificial Intelligence Programming: ISBN: 1558601910
You'll find all these in a good academic library, or at http://www.amazon.com/ or http://www.compman.co.uk/
I know everyone has already said this, but...
If you understand how to handle algorithms and fundamental data structures, if you understand how to analyse a problem in terms of things which can be computed mechanically, then you can build systems in any language.
Learning to use a particular language is helpful, of course, to practice the above, but that language should be well chosen. Of those you listed ColdFusion and ASP are short term temporary hacks to meet the needs of a particular instant in time, and that instant is already passing. By the time you leave college they may already be yesterday's technology. Java and PERL will last longer, but even they won't last forever.
But the most important thing, if you plan a career as a geek, is to learn how to learn. Being a geek is a matter of always looking over the next technology horizon, having the new skills *before* the market knows it needs them, riding the front edge of the technology wave not sliding down the back. And the method is learn, learn, learn, learn, never stop.
If you think that the current Mozilla skin is such a problem, here's a challenge: write a Mac skin, and contribute it to the project. It would be a valuable contribution, for two reasons: first it would exercise the User Language, and secondly it would allow you (and other Mac users) to evaluate Mozilla without having your delicate sensibilities hurt.
You may not have noticed this, but the laws of Britain are not subject to the United States Constitution.
Indeed, as usual. In 1985 I had a Xerox 1108 (Dandelion) workstation with megapixel display, nice three-button optical mouse, and, of course, ethernet. Original big, fat, thick-wire ethernet that you have to cut into with a special tapping tool to add a drop-lead for a workstation (and you could only cut taps at particular intervals which had something to do with the wavelength of the signal.
But this was Ethernet, not TCP/IP; I can't remember the name of the protocol they ran, but I do remember that when our ethernet was (later) connected to the Computing department's ethernet, all their VAXen crashed and they were not best pleased with us...
Me to!
</aol>
But the biggest win will come from minimising the proliferation of DTDs. If the community can co-operate on the development of common DTDs then the exchange of data between software agents developed by different projects will be hugely easier. By all means have diffrent projects - both KDE and Gnome have, in my opinion, benefited from the competition between the two - but if that competition develops the sort of bitterness which reduces communiction and co-operation we all lose.
I would strongly urge anyone who is developing a new software agent - whether it's a user-level application or a new daemon - which either stores data or exchanges data with other agents to seriously consider XML as a format, but more importantly should look at the DTDs that already exist to see if any will fit, and should communicate with anyone else working on related tools.
If anyone wants to look at the XML tutorial I gave at INET99 it's here
Wait. Sorry. Whoa. No.
/.ers would not be affected by such packages
One of the reasons I use Linux is that I'm relatively immune from the viri and other nasties which affect the Windows world. An important reason why I'm immune is that foreign software, if it is to do anything serious to the system, must be installed as root, and anything which I install as root I have the sourcecode to and have usually compiled myself. I usually haven't crawled through that code to check for hidden nastiness, but I could if I wanted to.
Recently I've had packages (mostly Java ones) which come with MS-Windows-like graphical point and click installers. To install these you've fundamentally two choices: to install them in the user space of some user, as that user, in which case you've immediately got problems with other users using the same software; or to install them as root, without being able to do 'make -n install' first to see what the hell they're up to.
This is what you're asking for if you ask for a point-and-click RPM installer. It would have (in the general case) to be su root, because otherwise it couldn't install into privileged parts of the filesystem; and before you know where you are you would have masses of hostile variants of well-known RPMs installing trojans and trap-doors and worms all over the shop.
Now, of course, we elite
but the newbies and journos and other less elite and refined Linux users would be, and they would not be impressed. And then the media would be full of stories about how insecure and risky Linux was and we'd lose all the ground we've gained over the past years.
There really is a significant engineering trade off to be made here. Microsoft (and Apple before them) know this perfectly well and have made a conscious choice to go for ease-of-(unskilled)-use over security and stability. And Microsoft are now moving from that extreme ease-of-use position towards a still easy to use but more secure position by using installers that look at digital signatures and so on before installing a package.
Remember, we (the Linux community) are not competing with a bunch of incompetent morons here. We're competing with an extremely slick and professional marketing organisation, who hire very capable software engineers. We've got where we are because we occupy an ecological niche that Microsoft hasn't yet occupied: something with better security, but a bit harder to learn. I don't believe we can compete with Microsoft in their core market, because they are already established there and they are very good at what they do.
If we erode the things which make our product distinct from theirs we risk losing our market share, with (in my opinion) little prospect of taking theirs.
What we need to do is not change our product (at least, not radically) but to educate the marketplace to see its benefits. Our message must be 'Yes, linux may be a bit harder to learn, but the improved stability and reliability are worth it'. Instead of going out to capture their market, we need to bring (some of) their market to us.
And yet it's extremly likely to be the case, almost regardless of the quality of the open source software.
So: all we need to do is get a list of companies which do use Open Source - IBM, Sun, SGI, HP, RedHat... and a list of companies with an anti OSS policy, and compare their value against their value a year ago. If the pros value has increased more than the antis, then we've got something to crow about.
Simon, off to have a cold shower.
AC writes:
I remember him saying before Waco that the four best police agencies in the world were (in order) the FBI, the Texas Rangers, the Texas Department of Public Safety, and the Mexican Federal Judicial Police.
Every so often someone in the British establishment says 'British [X] is the best in the world'. It's always a sign of a major scandal brewing in [X], whether that's beef, banking or beaurocracy. 'The best in the world' means out-of-touch and complacent, and out-of-touch and complacent is very, very close to corrupt.
If there were no moderation Slashdot would descend to the singal-to-noise ratio of the more popular parts of Usenet - in other words, just a smidgin above totally unusable. So I strongly approve the proposed changes. I like the idea of Karma; indeed, if I could extend it, I would like readers to be able to assign individual Karma values (so that if I, for example, found adturner's contributions particularly useful I could tweak his karma up and then I would tend to see his contributions more frequently). If this worked then perhaps a person's default karma would be the mean of all that persons individual karma values - in other words, the community would assign karma.
Of course, this would carry with it the risk of people with excessive amounts of non-life setting up large numbers of accounts in order to boost the karma rating of an individual, and also, of course, it's a lot of data to track (but that's what databases are for).
Worth a thought?
And, of course, the fact the Alan Turing committed suicide after being castrated by order of the courts is not something the British establishment likes to be reminded about. Typically British: probably our single greatest person of the century, without whom the war would not have been won, who invented probably the most momentous invention of the century, has a consenting relationship with another adult... Gosh! Shock! Horror! Off with his balls!
Yup, beats mine. Here's the world's *second* smallest Web Server :-)
# ######################### # #########################
/usr/local/cvs/repository/gild/handlers/http,v 1.2 1997/10/15 20:16:08 simon Exp $
;; # that's OK; ;; # So's that...
//' | awk '{ print $1}'`
#!/bin/bash
###############################################
# #
# Project: Gild #
# http #
# #
# Purpose: HTTP 0.9 handler for GILD. Handles http requests #
# reasonably accurately, considering it's under 100 lines #
# of shell-script. #
# #
# Author : Simon Brooke #
# Copyright: (c) Simon Brooke 1997 #
# Version : 0.1 #
# Created : 10th October 1997 #
# #
###############################################
# $Header:
SERVER_ROOT="/usr/local/etc/gild/httpd"
DOCUMENT_ROOT="$SERVER_ROOT/htdocs/"
AGENT_NAME="GILD_http_handler/0.1"
now=`date "+%a, %d %b %Y %k-%M-%S"`
read command file protocol
case $command in
"HEAD"|"Head"|"head")
"GET"|"Get"|"get" )
* ) cat $SERVER_ROOT/error/501.html;
echo "$now: $REMOTE_HOST: Unknown command [$command]" \
>> $SERVER_ROOT/logs/error_log;
exit 0;;
esac
rq_file=$file
if [ -n $file ]
then
file=`echo "$DOCUMENT_ROOT$file"`
if [ -d $file ] # if it's a directory, look for it's
# index...
then
file=`echo "$file/index.html"`
fi
if [ -r $file ]
then
length=`ls -l $file | awk '{print $5}'`
ftype=`file $file | sed 's/[^:]*:
case $ftype in
"HTML" ) type=text/html;;
"ascii" ) type=text/plain;;
"english" ) type=text/plain;;
"a" ) type=text/plain;; # probably a shell script!
"GIF" ) type=image/gif;;
"JPEG" ) type=image/jpeg;;
* ) type=x-unknown/unknown;;
esac
echo "HTTP/0.9 200 OK"
echo "Date: $now"
echo "Server: $AGENT_NAME"
echo "Content-Type: $type"
echo "Content-Length: $length"
echo ""
case $command in
"HEAD"|"Head"|"head") exit 0;;
"GET"|"Get"|"get" ) cat $file;;
esac
echo "$now: $REMOTE_HOST: $command: $rq_file" \
>> $SERVER_ROOT/logs/access_log
else # didn't find it; report and log
cat $SERVER_ROOT/error/404.html
echo "$now: $REMOTE_HOST: No such file [$rq_file]" \
>> $SERVER_ROOT/logs/error_log
fi
fi
exit 0 # yes, I know it _shouldn't_ be necessary
I use a Libretto 100CT with RedHat 6.0 and KDE, which has a little widget which interfaces with the apmd to do suspend to disk. This means restarting the machine takes about four seconds. To make this work you have to create a 70Mb partition at the end of your hard disk and leave it alone, but that's not a hassle.
Getting Linux onto the machine was not entirely straightforward. There are a couple of good howto pages on the Web: