Yes. A geometric progression is one in which the second-order operation[1] is used rather than the first-order operation[2] to process each element of the progression in order to acquire the subsequent element. When charted on a cartesian visualization system, a geometric progression will be parabolic; whereas, an arithmetic progression would be linear.
There are of course higher-order progression classes than the geometric class; by leveraging a higher-order operation it is possible to achieve progression performance on a scale that will cause the competition to revisit their benchmarks. The gamma progression is generally considered the market leader going forward in this regard. By incorporating integration of this function into your gameplan, you can achieve results-driven core competency in the progressions market.
[1] Colloquially, "multiplication", although any second-order
function will do; it does not have to be traditional
Real-number multiplication.
[2] Colloquially, "addition", but with the same qualification
as for "multiplication".
Actually, BSD can be quite unstable and easy to crash. All you have to do is change the voltage going to the hard drive by just a few volts, and all sorts of weird things can happen.
> gives Can't use an undefined value as a SCALAR reference
Okay, but that's fourty-two zillion times better than dumping core seven minutes later for no apparent reason. Hence, "safely".
I didn't mean to imply that using undef as a reference was going to normally be what you really want to do, or anything. Just that it won't crash things randomly, allow an attacker to execute some arbitrary code, or be Practically Impossible To Debug (TM).
> A lot of this is because they've picked up bad habits from older > (or just plain bad) C++ textbooks
Could be.
FWIW, I do use warnings at development time (though I often turn them off when I'm done working on the program), and I've recently taken to using taint checking for many things, and I'm working on training myself to use strict in longer programs (anything more than a screenful is my rule of thumb for that now).
I still say C and C++ are evil. If I had back the time I'd wasted on them, I could learn three other languages with time left over for reading slashdot.
One can, however, write his sentences in a way that mixes "one" with the regular, truly-singular singular personal pronouns. One imagines that as the singular "they" over time passes out of the realm of plural-used-as-singular and into the realm of singular (as "you" has done), it may become acceptable to mix it more freely with truly singular constructs (such as "one"). That could take decades or even centuries, but it will probably happen eventually, I suppose.
> It might be stored internally as the bit value 1010101, but still > in C source code it is 0
C is evil.
In lisp, the equivalent is nil and it has no numeric representation.
In Perl, the equivalent is undef, it stringifies to "" or numifies to 0 regardless of platform, and _you can safely dereference it_. You can also scope the resulting storage location lexically...
This is of course due to the fact that it's a reference, not a raw pointer. I have been told that C++ also has references, but for some reason people are still using pointers. (Maybe the references in C++ are less useful than in other languages? Maybe C++ programmers have brain dammage? I don't know, maybe a lot of things.) (Yes, I know C is not C++. Actually, C++ is even more evil than C in my book, but what do I know? I'm Just Another PH.)
Lisp is well worth learning. It's a fairly different paradigm, and a fairly influential one. (A great many languages have borrowed ideas from lisp, almost as many as have borrowed syntax from C.) Also, lisp is not hard to learn; I would say it is WAY easier than C. The syntax is about as trivial as it gets, so you mostly just have to learn the semantics, and the only really hairy things are lambda expressions and maybe closures.
Is lisp practical? Well, not for everything. But it's worth studying for the ideas. It'll change the way you think about programming, even in other languages.
> 6000 emails in 3 days? That doesn't sound like nearly enough > for a serious spammer.
Read the article. Those are just the bounces that got *forwarded* correctly. The vast majority of the bounces were directed back to the (faked) From addresses; a small percentage of technically savvy victims figured out where the junk originated and set up automatic forwarding back to there; this is the 5880 number.
I don't know exactly what percentage that would be of the total bounces. It would of course be a very small percentage of the victims who would figure stuff out and set up the.forward -- certainly less than 1%. However, 5% of the people get 95% of the spam, so it might be a somewhat higher percentage of the bounced messages. It's hard to say. 1% is probably a fair bet, in terms of being within an order of ten (that is, the true percentage is very likely between.1% and 10%). Which means between 58800 and 5880000 bounces -- rounding, we can guess between sixty thousand and six million bounces were generated by this outfit's activity during a 1-3 day timeframe. We do not know whether this is a typical amount or an outlier, or how much variance there would be. All numbers courtesy of Jonadab's Flagrant Guesstimation, except for the initial 5880.
If we give them a heaping passle of benefit-of-the-doubt, we can imagine that during a three-day timeframe only fifty thousand bounce messages resulted from their activities *and* that this was a very active period for them, perhaps ten times normal, so that in an average day we can imagine that they would only cause around 1500 bounces netwide. That's a VERY conservative estimate, yet it's obviously enough that any responsible ISP ought to revoke their access first and ask questions later. Translation: spammers are scum. As if you didn't already know that.
I don't want their fingers broken. I just want their internet service revoked and their keyboards confiscated, that's all. They can then be offered nice productive jobs that don't involve access to the net, and we'll all be happy:-)
> If I move out of the house I rent, and you move in.. the junkmail > is yours
Well, I'd say that covers all those bounces and stuff. The personal letter to Martijn is presumably in the other category, though.
> I think it's safe to say that this IS a morally questionable act
Morally questionable? Heck yes. Illegal? Likely. But is it definitely *wrong*? The trick is to ask the right question;-) (Personally, I would not have published the mail (though I might have released statistical information about it, such as the number of bounce messages).)
I suspect they're betting that the former owners of the domain, due to the negative publicity associated with spamming, will not be deliberately stepping forward -- and if they don't, there'll be no meaningful lawsuit. Make your own analysis of the likelihood that this bet is a safe one. Of course, even if this bet is safe, that covers only the legal question; the moral question is a distinct question. As I said, I would not have published the mail, but those liberal Dutch seem to think it's okay;-)
The public library where I work has standardised on Mozilla (or in some cases Netscape 7) as the web browser for all of our computers that have a GUI. (The VMS system is strictly dumb-terminal stuff, so no graphical browser there.)
However, we have *not* standardised on Mozilla for mail. It does not provide the features some of our staff want. Several of our staff are using it, but just as many are using Pegasus Mail. The only benefits to standardising on Mozilla for email are that it is available for all major platforms and integrates with the browser. In other ways, other mailreaders (e.g., Pegasus for Windows users) are a good deal more powerful.
Macros should be done in software, but hardware remapping is very useful. This allows you to change the physical layout of the keys, and the keyboard keeps that new layout for all software (including if you change OSes, use the keyboard with another computer, whatever). Good for scenerios where what you really want is to have certain keys just be in different places.
I have an Avant Stellar, and I'm very pleased with it. It's got the good kind of keys (not the membrane ones), and it's fully programmable, fully remappable. And if you don't want to remap the three or four keys used for remapping (right ctrl, non-keypad uparrow, and I forget which other ones) you can remap the keys on the fly without any special software (read: OS is irrelevant). Though, since I need to remap right ctrl, I have to use the (Win32-based) remapping software whenever I want to change the layout. Fortunately, I don't change the layout very often.
Yeah, it does macros and junk too.
> In any case, in my programming duties, I often find myself needing > to do things like reformat 50 lines in an identical fashion.
Any remotely decent text editor can do this, no problem. But as long as what you have to do each time consists of identical keystrokes you could also achieve it with this keyboard, yes. Personally, I find that a lot of the repetitive editing I have to do doesn't consist of identical keystrokes each iteration, so I use Emacs lisp quite a bit. Sometimes I find myself doing the same thing often enough that I write a re-usable function, like this one...;; Sorry about the lack of decent indentation; I had to work;; around the lameness filter. (defun dehyphenate-interactively ()
"Walk through the current buffer from point to point-max looking for
hyphens on the end of lines and asking the user whether to dehyphenate each."
(interactive) (save-excursion (while (re-search-forward "- *$" (point-max) t)
(let ((hyphenated-word (concat (buffer-substring (save-excursion (re-search-backward " ") (forward-char 1) (point)) (save-excursion (re-search-backward " ") (end-of-line 1) (point))) (buffer-substring (point) (save-excursion (re-search-forward " ") (backward-char 1) (point))))))
(if (y-or-n-p (concat "Dehyphenate " hyphenated-word " ?"))
(progn (while (save-excursion (backward-char 1) (looking-at "[- \t]")) (backward-delete-char 1)) (while (looking-at "[- \t\n]") (delete-char 1)))
(forward-char 1))))))
For taking to a LAN party, I want a case with castors on the bottom, like a full tower case. You're going to drive to the LAN party anyway, so if it'll fit in the car it's good.
But a 17" laptop would be great for situations where portability is more important, such as when travelling overseas. The correct term here is "luggable".
Some time ago, an approximate standard was set for how big a laptop should be. This size was chosen based on several assumptions:
1. The user could only afford one computer, so this one had to
be good for all situations.
2. 640x400 was high resolution. (If you don't remember this,
you haven't been around computers very long. 320x200 was
medium resolution, BTW. 640x480 was the very best resolution
available. SVGA didn't exist yet.)
3. The mouse was an optional extra.
4. Nobody would need a computer in a standing/walking scenerio
where there's no place to set it down.
Today, all these assumptions are _obviously_ bogus. If you have a desktop at home, and a luggable like this (only maybe a little bit larger, perhaps with an 18" viewable screen and a full 104 keys) for travelling (plenty of space to set that up in the hotel room), plus a subnotebook with an 8" screen and a one-hand input device that you can carry around town with you... and maybe a wristwatch device or cellphone for those situations when you leave the subnotebook behind... wouldn't that be better than a traditional laptop with a 14" screen that's not ideal for any situation?
It's filtered, at the pumping plant usually, when they take it out of the reservoir. It still has some minerals in it, but nothing nasty.
Bottled water isn't really pure water either, generally; if you wanted that, you'd have to get distilled water. The only thing is, distilled water doesn't taste that great because it's too hypotonic. (Then again, Evian doesn't taste so hot either.)
Err, if you live in a *civilised* country, the tapwater has (just) enough chlorine to prevent living organisms from growing in it, as well as some fluoride (which greatly reduces your dental bills).
> Where can I obtain prodigious quantities of purified water for free?
Around here you can walk into any public building and there's a drinking fountain. Many businesses have one as well. To fill a bottle the size of the ones sold for a buck a piece would take you about fourty seconds, and nobody would look at you funny if you did it three times a day at any given drinking fountain.
Personally, I prefer room-temperature tapwater, preferably with some iron in it, but maybe I'm just odd.
Or we could just dispense with counting on our fingers and learn to actually (gasp) add. Then we could work in hex even though we only have ten fingers. It would sure make a lot of things easier. And in the process we could obsolete that dang metric system and replace it with something decent based on powers of two.
Resale value only matters if you own the home. If you're renting, screw that: drape the cables over the curtainrods and duct tape them to the tops of the doorways.
But yeah, my dream house, the house I would design myself and have built if I had infinite cash, would have networking in the walls. Fat conduit, actually, and easy-access junction boxes on the basement walls (or ceiling, if there's no basement wall there) directly below each wallplate, so that pulling new cable would be maximally easy -- unscrew the faceplate, drop the cable to the junction box, then downstairs you pull the cover off the junction box and route the cable through the horizontal conduit to the next junction box over, repeat as necessary. And there'd be wallmount switches every hundred feet along the basement walls so you don't have to route cable too far.
> The source of dynamically generated HTML is always going to > look like ass.
It doesn't have to. I write Perl code that dynamically generates HTML that's nicely formatted and validates. This requires only a very small amount of extra effort initially _and_ it makes your code easier to maintain.
When you see dynamically generated code that's messy, it's usually because the person who wrote the code to generate it writes HTML in a messy fashion. For example, HTML generated by CGI.pm is gross, because the author of CGI.pm doesn't write HTML very well.
> How can an organization continue to release code that has not > been tested to comply with four digit dates?
It's lawyerese. It means, roughly speaking, nothing. Ignore it.
There are, however, a couple of date-related bugs in Mozilla. They relate to cookies expiring too soon if the expiration date is beyond a certain date. Search bugzilla for 2038 and you will find them. By the time 2038 gets close enough that anyone might have a legitimate need for cookies to expire later than that, the date libraries will have to go to 64 bits. What has to be done to make this happen is a known quantity, and there won't be any problem. It just hasn't been gotten around to yet.
If you do this by editing that file, you have to do it while Mozilla (including quicklaunch) is NOT running, else it'll be overwritten when the program exits. You can, however, change the pref while Mozilla is running, in about:config
> Or throttling the CPU usage of Flash/Java applets so it won't > grind to a halt when I open a few pages with flash ads?
You should be able to do this at the operating system level. Just set the filesystem attribute for the plugin library that controls its minimum nicelevel and close any browser windows that are using the plugin (to force the plugin to be reloaded).
Of course, a lot of current operating systems are lacking this important feature, but in that case you work around it by using a nicety service that watches for new processes, matches them against a match list, and renices them as needed. You may have to install this separately, as some OSes don't come with it.
> Geometric ?, is that a word ?
Yes. A geometric progression is one in which the second-order
operation[1] is used rather than the first-order operation[2] to
process each element of the progression in order to acquire the
subsequent element. When charted on a cartesian visualization
system, a geometric progression will be parabolic; whereas, an
arithmetic progression would be linear.
There are of course higher-order progression classes than the
geometric class; by leveraging a higher-order operation it is
possible to achieve progression performance on a scale that will
cause the competition to revisit their benchmarks. The gamma
progression is generally considered the market leader going
forward in this regard. By incorporating integration of this
function into your gameplan, you can achieve results-driven
core competency in the progressions market.
[1] Colloquially, "multiplication", although any second-order
function will do; it does not have to be traditional
Real-number multiplication.
[2] Colloquially, "addition", but with the same qualification
as for "multiplication".
> A BSD lacking stability? *universe explodes*
Actually, BSD can be quite unstable and easy to crash. All you
have to do is change the voltage going to the hard drive by just
a few volts, and all sorts of weird things can happen.
> gives Can't use an undefined value as a SCALAR reference
Okay, but that's fourty-two zillion times better than dumping
core seven minutes later for no apparent reason. Hence, "safely".
I didn't mean to imply that using undef as a reference was going
to normally be what you really want to do, or anything. Just that
it won't crash things randomly, allow an attacker to execute some
arbitrary code, or be Practically Impossible To Debug (TM).
> A lot of this is because they've picked up bad habits from older
> (or just plain bad) C++ textbooks
Could be.
FWIW, I do use warnings at development time (though I often turn
them off when I'm done working on the program), and I've recently
taken to using taint checking for many things, and I'm working on
training myself to use strict in longer programs (anything more
than a screenful is my rule of thumb for that now).
I still say C and C++ are evil. If I had back the time I'd
wasted on them, I could learn three other languages with time
left over for reading slashdot.
> Programmers are prone to make errors when using [char* and its ilk].
Yes, I can go along with that.
One can, however, write his sentences in a way that mixes "one" with
the regular, truly-singular singular personal pronouns. One imagines
that as the singular "they" over time passes out of the realm of
plural-used-as-singular and into the realm of singular (as "you" has
done), it may become acceptable to mix it more freely with truly
singular constructs (such as "one"). That could take decades or even
centuries, but it will probably happen eventually, I suppose.
> It might be stored internally as the bit value 1010101, but still
> in C source code it is 0
C is evil.
In lisp, the equivalent is nil and it has no numeric representation.
In Perl, the equivalent is undef, it stringifies to "" or numifies
to 0 regardless of platform, and _you can safely dereference it_.
You can also scope the resulting storage location lexically...
undef $x; $$x=42; {my $$x="foo"; print "$$x\n"} print "$$x\n";
foo
42
This is of course due to the fact that it's a reference, not a
raw pointer. I have been told that C++ also has references, but
for some reason people are still using pointers. (Maybe the
references in C++ are less useful than in other languages? Maybe
C++ programmers have brain dammage? I don't know, maybe a lot of
things.) (Yes, I know C is not C++. Actually, C++ is even more
evil than C in my book, but what do I know? I'm Just Another PH.)
Lisp is well worth learning. It's a fairly different paradigm, and
a fairly influential one. (A great many languages have borrowed
ideas from lisp, almost as many as have borrowed syntax from C.)
Also, lisp is not hard to learn; I would say it is WAY easier than
C. The syntax is about as trivial as it gets, so you mostly just
have to learn the semantics, and the only really hairy things are
lambda expressions and maybe closures.
Is lisp practical? Well, not for everything. But it's worth
studying for the ideas. It'll change the way you think about
programming, even in other languages.
> bad-form early return
I don't know why early return is considered bad form. It's MUCH
better form than using traditional but intensely error-prone char*
buffers.
> 6000 emails in 3 days? That doesn't sound like nearly enough
.forward -- .1% and 10%). Which means between 58800 and
> for a serious spammer.
Read the article. Those are just the bounces that got *forwarded*
correctly. The vast majority of the bounces were directed back to
the (faked) From addresses; a small percentage of technically savvy
victims figured out where the junk originated and set up automatic
forwarding back to there; this is the 5880 number.
I don't know exactly what percentage that would be of the total
bounces. It would of course be a very small percentage of the
victims who would figure stuff out and set up the
certainly less than 1%. However, 5% of the people get 95% of the
spam, so it might be a somewhat higher percentage of the bounced
messages. It's hard to say. 1% is probably a fair bet, in terms
of being within an order of ten (that is, the true percentage is
very likely between
5880000 bounces -- rounding, we can guess between sixty thousand
and six million bounces were generated by this outfit's activity
during a 1-3 day timeframe. We do not know whether this is a
typical amount or an outlier, or how much variance there would be.
All numbers courtesy of Jonadab's Flagrant Guesstimation, except
for the initial 5880.
If we give them a heaping passle of benefit-of-the-doubt, we can
imagine that during a three-day timeframe only fifty thousand
bounce messages resulted from their activities *and* that this
was a very active period for them, perhaps ten times normal, so
that in an average day we can imagine that they would only cause
around 1500 bounces netwide. That's a VERY conservative estimate,
yet it's obviously enough that any responsible ISP ought to revoke
their access first and ask questions later. Translation: spammers
are scum. As if you didn't already know that.
I don't want their fingers broken. I just want their internet service :-)
revoked and their keyboards confiscated, that's all. They can then be
offered nice productive jobs that don't involve access to the net,
and we'll all be happy
> If I move out of the house I rent, and you move in.. the junkmail
;-)
;-)
> is yours
Well, I'd say that covers all those bounces and stuff. The personal
letter to Martijn is presumably in the other category, though.
> I think it's safe to say that this IS a morally questionable act
Morally questionable? Heck yes. Illegal? Likely. But is it
definitely *wrong*? The trick is to ask the right question
(Personally, I would not have published the mail (though I might
have released statistical information about it, such as the number
of bounce messages).)
I suspect they're betting that the former owners of the domain, due
to the negative publicity associated with spamming, will not be
deliberately stepping forward -- and if they don't, there'll be no
meaningful lawsuit. Make your own analysis of the likelihood that
this bet is a safe one. Of course, even if this bet is safe, that
covers only the legal question; the moral question is a distinct
question. As I said, I would not have published the mail, but
those liberal Dutch seem to think it's okay
The public library where I work has standardised on Mozilla (or in
some cases Netscape 7) as the web browser for all of our computers
that have a GUI. (The VMS system is strictly dumb-terminal stuff,
so no graphical browser there.)
However, we have *not* standardised on Mozilla for mail. It does
not provide the features some of our staff want. Several of our
staff are using it, but just as many are using Pegasus Mail. The
only benefits to standardising on Mozilla for email are that it is
available for all major platforms and integrates with the browser.
In other ways, other mailreaders (e.g., Pegasus for Windows users)
are a good deal more powerful.
Macros should be done in software, but hardware remapping is very
useful. This allows you to change the physical layout of the keys,
and the keyboard keeps that new layout for all software (including
if you change OSes, use the keyboard with another computer, whatever).
Good for scenerios where what you really want is to have certain keys
just be in different places.
I have an Avant Stellar, and I'm very pleased with it. It's got
;; Sorry about the lack of decent indentation; I had to work ;; around the lameness filter.
the good kind of keys (not the membrane ones), and it's fully
programmable, fully remappable. And if you don't want to remap
the three or four keys used for remapping (right ctrl, non-keypad
uparrow, and I forget which other ones) you can remap the keys on
the fly without any special software (read: OS is irrelevant).
Though, since I need to remap right ctrl, I have to use the
(Win32-based) remapping software whenever I want to change the
layout. Fortunately, I don't change the layout very often.
Yeah, it does macros and junk too.
> In any case, in my programming duties, I often find myself needing
> to do things like reformat 50 lines in an identical fashion.
Any remotely decent text editor can do this, no problem. But as
long as what you have to do each time consists of identical
keystrokes you could also achieve it with this keyboard, yes.
Personally, I find that a lot of the repetitive editing I have
to do doesn't consist of identical keystrokes each iteration, so
I use Emacs lisp quite a bit. Sometimes I find myself doing the
same thing often enough that I write a re-usable function, like
this one...
(defun dehyphenate-interactively ()
"Walk through the current buffer from point to point-max looking for
hyphens on the end of lines and asking the user whether to dehyphenate each."
(interactive) (save-excursion (while (re-search-forward "- *$" (point-max) t)
(let ((hyphenated-word (concat (buffer-substring (save-excursion (re-search-backward " ") (forward-char 1) (point)) (save-excursion (re-search-backward " ") (end-of-line 1) (point))) (buffer-substring (point) (save-excursion (re-search-forward " ") (backward-char 1) (point))))))
(if (y-or-n-p (concat "Dehyphenate " hyphenated-word " ?"))
(progn (while (save-excursion (backward-char 1) (looking-at "[- \t]")) (backward-delete-char 1)) (while (looking-at "[- \t\n]") (delete-char 1)))
(forward-char 1))))))
For taking to a LAN party, I want a case with castors on the bottom,
like a full tower case. You're going to drive to the LAN party
anyway, so if it'll fit in the car it's good.
But a 17" laptop would be great for situations where portability is
more important, such as when travelling overseas. The correct term
here is "luggable".
Some time ago, an approximate standard was set for how big a laptop
should be. This size was chosen based on several assumptions:
1. The user could only afford one computer, so this one had to
be good for all situations.
2. 640x400 was high resolution. (If you don't remember this,
you haven't been around computers very long. 320x200 was
medium resolution, BTW. 640x480 was the very best resolution
available. SVGA didn't exist yet.)
3. The mouse was an optional extra.
4. Nobody would need a computer in a standing/walking scenerio
where there's no place to set it down.
Today, all these assumptions are _obviously_ bogus. If you have
a desktop at home, and a luggable like this (only maybe a little
bit larger, perhaps with an 18" viewable screen and a full 104
keys) for travelling (plenty of space to set that up in the hotel
room), plus a subnotebook with an 8" screen and a one-hand input
device that you can carry around town with you... and maybe a
wristwatch device or cellphone for those situations when you leave
the subnotebook behind... wouldn't that be better than a
traditional laptop with a 14" screen that's not ideal for any
situation?
It's filtered, at the pumping plant usually, when they take it
out of the reservoir. It still has some minerals in it, but
nothing nasty.
Bottled water isn't really pure water either, generally; if you
wanted that, you'd have to get distilled water. The only thing
is, distilled water doesn't taste that great because it's too
hypotonic. (Then again, Evian doesn't taste so hot either.)
> not to mention some living organisms
Err, if you live in a *civilised* country, the tapwater has (just)
enough chlorine to prevent living organisms from growing in it, as
well as some fluoride (which greatly reduces your dental bills).
> Where can I obtain prodigious quantities of purified water for free?
Around here you can walk into any public building and there's a
drinking fountain. Many businesses have one as well. To fill a
bottle the size of the ones sold for a buck a piece would take you
about fourty seconds, and nobody would look at you funny if you
did it three times a day at any given drinking fountain.
Personally, I prefer room-temperature tapwater, preferably with
some iron in it, but maybe I'm just odd.
Or we could just dispense with counting on our fingers and learn
to actually (gasp) add. Then we could work in hex even though we
only have ten fingers. It would sure make a lot of things easier.
And in the process we could obsolete that dang metric system and
replace it with something decent based on powers of two.
Resale value only matters if you own the home. If you're renting,
screw that: drape the cables over the curtainrods and duct tape them
to the tops of the doorways.
But yeah, my dream house, the house I would design myself and have
built if I had infinite cash, would have networking in the walls.
Fat conduit, actually, and easy-access junction boxes on the basement
walls (or ceiling, if there's no basement wall there) directly below
each wallplate, so that pulling new cable would be maximally easy --
unscrew the faceplate, drop the cable to the junction box, then
downstairs you pull the cover off the junction box and route the
cable through the horizontal conduit to the next junction box over,
repeat as necessary. And there'd be wallmount switches every hundred
feet along the basement walls so you don't have to route cable too far.
My computer ballances my checkbook for me. Without being asked.
> The source of dynamically generated HTML is always going to
> look like ass.
It doesn't have to. I write Perl code that dynamically generates
HTML that's nicely formatted and validates. This requires only a
very small amount of extra effort initially _and_ it makes your
code easier to maintain.
When you see dynamically generated code that's messy, it's usually
because the person who wrote the code to generate it writes HTML in
a messy fashion. For example, HTML generated by CGI.pm is gross,
because the author of CGI.pm doesn't write HTML very well.
> How can an organization continue to release code that has not
> been tested to comply with four digit dates?
It's lawyerese. It means, roughly speaking, nothing. Ignore it.
There are, however, a couple of date-related bugs in Mozilla.
They relate to cookies expiring too soon if the expiration date
is beyond a certain date. Search bugzilla for 2038 and you will
find them. By the time 2038 gets close enough that anyone might
have a legitimate need for cookies to expire later than that,
the date libraries will have to go to 64 bits. What has to be
done to make this happen is a known quantity, and there won't
be any problem. It just hasn't been gotten around to yet.
If you do this by editing that file, you have to do it while
Mozilla (including quicklaunch) is NOT running, else it'll be
overwritten when the program exits. You can, however, change
the pref while Mozilla is running, in about:config
> Or throttling the CPU usage of Flash/Java applets so it won't
> grind to a halt when I open a few pages with flash ads?
You should be able to do this at the operating system level.
Just set the filesystem attribute for the plugin library
that controls its minimum nicelevel and close any browser
windows that are using the plugin (to force the plugin to
be reloaded).
Of course, a lot of current operating systems are lacking this
important feature, but in that case you work around it by using
a nicety service that watches for new processes, matches them
against a match list, and renices them as needed. You may have
to install this separately, as some OSes don't come with it.