..that they are supposed to immediately terminate the communication, whatever it is
I guess they get threatened a lot then.
When I ran Zeta Internet we used to get the occasional customer call and threaten to sue us for something or other. In every case it was a baseless threat, made simply because the customer was frustrated. We would ignore the threat and just do our best to fix up their problem, whatever it was.
The funniest one we ever got was the guy who threatened to sue us for 60 billion dollars because he didn't understand how to do FTP. We setup his website and while awaiting delegation of the domain sent an automated form letter with instructions for uploading the web pages which said something like:
If registration or delegation of this domain is
incomplete then the name
www.whatever can
only be used from within the Zeta network, so...
And the guy didn't understand what if/then means and went positively apeshit.
So anyway I can understand their policy. 99% of
these threats aren't serious, but the ISP doesn't
want to stuff up the 1% which actually are. This
policy stops the baseless ones in their tracks, because the really want technical support, not
the legal department.
in fact, the article seems to indicate he is handling things well.
In terms of.au, yes I think he is. The
truth is, there isn't all that much to do.
.org.au is a different matter however. People frequently complain of long delays and "being ignored" when attempting to register or
redelegate names in this namespace. It didn't happen to me... but then, I registered zeta.org.au before 1994...
The problems people are having with.org.au were mirrored a few years ago with.com.au registrations - it took several weeks to register a new domain. At this time Robert solved the problem by appointing Melbourne IT as the registrar for com.au. They cleared the huge backlog in about a month and then brought the cycle time down to 3 days.
So the problems with.org.au could be fixed as easily, and it doesn't require Robert to give up ownership of.au.
The question of new 2LDs under.au is a tricky one - Robert refuses (or ignores, which is the same thing) all requests for new 2LDs. Is this "handling things well"? I don't know, but given the ridiculous TLDs which have been approved (.museum, for xenu's sake! Why don't these fuckers fit under.org?) maybe being as tight as a fish's asshole on new 2LDs is exactly what's required.
I've never seen a Region 4 DVD with Japanese
subtitles either. They think that because
Japan is in another DVD region that there are
no Japanese in Australia?
In Australia, licenced telecommunications carriers
have some legal right to lay cable without
any compensation for the owners of land or buildings.
I found this when I ran Zeta Internet and we laid coax up our building's telecommunications riser to provide some other tenants with Internet access. The building owner was cool with it until I sold the business to
Pacific Internet and then he wanted to be paid for the use of the riser. So anyway I checked the
legislation and found that under certain circumstances carriers have this or that right.
Nevertheless we offered a fixed payment per annum and the owner didn't accept it and he stopped talking to us. I think it was a lot less than he was hoping for:-)
Here in AU the price depends a lot on where you get them. I have seen single-disc prices around
A$4; boxes of 5 or 10 around $1.20 - $2.50 per disc,
and spindles of 50 for anything from $35 and up.
The price is definitely going down though. Oversupply seems like a reasonable explanation.
I'm planning to buy 50 soon; that should be enough for a year.
Nick.
Remember the Cult of $cientology (just see
http://www.xenu.net/
) made a Battlefield Earth
site - not exactly a fan site, but they didn't
exactly point out that the site was made by
Co$ either.
[...] the not uncommon view that [L Ron] Hubbard's name smells, and the sole purpose of Author Services, Inc is to sanitise it.
The "news" page is particularly amusing. The top news item claims that BE is "#2 BEST SELLING DVD" (among which audience?). It's accompanied by
a frothing review from a Dr. John L Flynn...
One of the truly epic science fiction films of recent memory has finally been released as a special edition DVD from Warner Home Video [...]
I wonder who he is trying to kid? Isn't there
supposed to be some kernel of truth in marketing?
pROTECT YOUR CONTENT BY SWAPPING UPPERCASE AND LOWERCASE. yOUR DECODER JUST DOES A SELECTIVE xor
ON BIT 5. sUE EVERYBODY WHO SUPPLIES A PROGRAMMING LANGUAGE COMPILER OR INTERPRETER.
tHIS MESSAGE IS PROTECTED. yOU MAY NOT DECODE IT
WITHOUT MY WRITTEN PERMISSION.
Because otherwise the knowledge would be locked away as a trade secret and nobody else would be able to benefit from it, even indirectly. And
there wouldn't be any clause causing it to expire either.
Hardly. Somebody else will have the same idea.
And they'd be free to implement it too, in a patent-free world.
djbdns requires seperate machines for almost everything
From an ISP point of view, you really want to do this. Servers which customers use to lookup names should not be the servers which you use to store customer zone files. This ensures that when domains get redelegated away from your nameservers, that your own customers always see the correct (i.e. as delegated) zone contents.
Qmail appears abandoned.
What a pity. I use qmail in several places and it really works well. But I won't stop using it even if it is abandoned because I have the source, and ICHI (I Can Hack It).
IMHO there is no clear division between rewriting
code and fixing bugs; these two activities are
really at two ends of a spectrum.
Ignoring new development (e.g. replacing an
application with a new version with different
functional specifications), and focusing on the
maintenance process (i.e. fixing identified
errors in a program),
what is the minimum possible change to a piece of
code? Probably correcting comments (no functional impact, one hopes!) Examples of changes which
incur progressively greater impact (and this list is merely a subset) would be:
Constant value change (e.g. email address, timeout default, not pi)
Arithmetic or string expression change
Logical expression or flow of control change
(e.g. old code was using wrong test for failure condition)
Algorithmic change (e.g. change from bubble-sort to shellsort)
Design change (e.g. this program did
everything the wrong way!)
Abandonment of a "bad" program (or class) and writing
a functional replacement
ditto for a subsystem or the entire system.
The further an item is down this list, the longer it usually takes to make the change. So the decision becomes a value judgement: at what points does the utility of making the change exceed the cost of making that change?
At the extreme end of the scale we have the quick fix or quick hack which takes only minutes to implement but has an obvious benefit. At the other end there's the system rewrite, which might take months yet provide only a nominal improvement over the existing system.
As a developer and a manager I expect code to be of good quality whether it was written by the maintainer or not. Bad code (the stuff people want to rewrite) is code which falls over, gives wrong results, is not robust or is too specific (i.e. similar to being not robust, will fail erroneously given slight change of input conditions). Bad code is an indication the programmer was doing their job poorly.
When it comes time to fix bugs, I expect the maintainer to understand the minimal change
required to fix the bug, and also to evaluate the quality of the code which caused the bug. If it's bad code, it should be rewritten. Of course there's still a value judgement in here; I would not approve a rewrite which had negative utility.
There's also the matter of pride in doing a good
job. I take pride in writing good code, and I
expect my team to take pride in the quality of their work. To allow shoddy code (even somebody else's shoddy code) back into production
is contrary to the spirit of pride in one's work.
A prevailing attitude of "that code's bad but we'll only fix the big error and leave the rest of the bad code alone" must also imply, even subconsciously, that "bad code is acceptable" and this may reduce the quality of newly written code.
So in summary my advice is, if you wish to take pride in your work and become a craftsman rather than a hack, you should ensure that only good quality code leaves your hands. If your company asks you to bend (or abandon) your principles, make sure they have a good reason for it. Learn
how to write good code. Learn how to analyse code so you know exactly under what conditions the code fails, and thus make your own judgement on whether the code needs rewriting (and which parts need rewriting).
Although I agree that testing is important, I do
not believe that testing to that level is warranted in all cases, nor that carrying out
that kind of testing (i.e. a test to exercise
every feature) will result in better software.
Testing is not a universal panacea. The most
rigorous of functional testing regimes will not expose the flaws in a system design (for example,
how would unit testing find race conditions which
only appear in the complexities of a production system?)
Good software comes from good design. A badly
layered system probably can not be successfully
unit tested, because each part of the system
relies on all other parts. Badly designed systems are often unmaintainable because any change may cause failure in some unrelated other part of
the system.
Good design is an art as well as a science. One cannot arrive at a good design by mechanically following a set of rules, however one can apply some principles to help. Principles such as:
Keep it Simple, Stupid. Programming "tricks" have a tendency to stop working in a future release.
Avoid dependency on third party products (or at least, non-portable aspects of those products. I'm thinking, for example, of vendor-specific DBMS features).
Use the language best suited to the task at hand
Use the same language throughout the project. (It's mutually exclusive with the previous bullet, but that's where the art happens, in choosing the best compromise between two incompatible principles)
Think in terms of interfaces. Module to module. Parent to child. Human to computer. Business 2 Business (oh hang on, that isn't one of them). Producer to consumer.
Make interfaces orthogonal. If it's a control interface, make sure that all the needed functionality is part of the interface. If it's a monitoring interface, make it extensible for future parameters.
Document the interfaces, and test against them.
Test user interfaces against end users
Do not confuse end users with system design issues.
There are surely many other principles which can be applied. I know when I code, I am continually weighing the benefits of one principle over another, and making value judgements. I think it
results in pretty good and consistent code on the
whole. Not perfect, often the design is faulty,
but the first step in better design is to recognise the faults of the current design. And so
iterate, and improve.
... are obviously designed to provide maximum
redundancy when the received signal is corrupt.
There might even be some error-correction logic
within the symbol design.
The first page is easy enough to figure out,
even with the new - symbol. Once the alien scientist has understood base 10, it's just a short step to understanding that this is a list of prime numbers, and from there it is a short step to realise that big primes are frequently of the form 2**X-1. Once they've made that leap they will either marvel at our mathematical ingenuity, or laugh at it.
I'm sure quantum computing is going to be a
wonderful thing when we have developed techniques
to make effective use of the principles.
However I fear that this document has sacrificed technical accuracy for hype, and the author perhaps does not understand the topic as thoroughly as the article implies.
For example:
Hype -
quantum computers [can] run one billion times faster than typical silicon-based
computers
If we had built a quantum computer and benchmarked it, then I'd accept such claims. Since quantum effects occur at the atomic level, they're sure to be fast. How fast? Looked like the author chose a billion as a "really impressive number".
Technical inaccuracy - The article calls the XOR gate a "universal gate" (i.e. a
gate which can be combined to form any logical function). Now my
recollection of boolean logic may be faulty but
I do not believe that XOR is a universal gate.
NAND and NOR are, however, but the article does not describe these as they apparently do not apply to quantum computing. Perhaps in quantum computing XOR is the universal gate, but it isn't that way in classical computing! The author makes this claim twice, and includes a truth table which is incorrect (it is the AND gate truth table).
Richard Feynman wrote in his popular exposition of Quantum Electrodynamics that he had taken particular care in ensuring that his statements, although simplified, were still technically accurate. In other words he did not lie to the audience by introducing concepts as truth which have been proven to be false.
Although my understanding of quantum mechanics, quantum computing and quantum electrodynamics is low, what I do understand tends to make me distrust the details of this article.
I note that the article is filled with generalities, almost one per sentence! What
research did you do for this?
In my brief experience (played a few computer
games as a teenager) the arcade-type ones improved my reflexes, but mostly in the
specific scenario of the game (e.g. I would be able to dodge enemy ships, but this ability wouldn't help me with a shooter; I would have to learn new reflexes for that). I did martial arts for 2 years and I have quite slow reflexes there - being able to play Space Invaders at double-speed didn't help at all.
With the other games I played (mostly adventure types) the focus was always on finding the missing key to the puzzle. This was beneficial in the real world; I can think of many different things to try; but these games did not develop actual strategic skills. What passed for strategy was essentially random behaviour until the solution was uncovered.
My also brief experience of young gamers (in the 10-15yr range) is that they tend to be passive recipients of technology - in other words, users not creators. As another poster said, they're the consumers. Their role is to buy the game, and play the game.
At 10 years old I was designing and building
simple electronic circuits. I was programming in BASIC (sob, sob). By 15, I knew Fortran and Pascal and 2 assembler languages. By 16 I was extending my computer's capabilities using circuits I had designed myself (e.g. the Trs-80 wasn't really designed to take 256k of paged memory). By 18 I was into C, Lisp, Prolog and Unix. And guess what - it was mostly through playing around that I learnt these things.
I'm reasonably successful now, and in hindsight it was due to doing a lot of playing. Playing with technology, not playing games.
most network printers are all direct-IP addressable and have little need for a print server
Don't discount the humble printer server yet. The fairly expensive IP-connected printer my company has, uses a dodgy implementation of TCP such that when it is receiving a print job, it stops listening on the lpd port. Printing a document then becomes a hit-and-miss affair.
We once installed a HP hardware print sharer box for a customer. Unreliable as hell, and probably for the same reasons.
I suspect that other embedded-TCP devices use similar "cut-down" implementations. The APC masterswitch is vulnerable to ping-o-death and probably other attacks, such as synfloods. TCP is best left to "real hosts", IMHO.
... for Unix to become an official religion.
I visited the site about an hour after the initial attack. At that time, it was some jerk looking to make money. The page said something like:
I can't remember the email address. It doesn't matter anyway.
Let me see if I got this straight. Your home has bad wiring, and somehow that's their fault. Uhuh.
I guess they get threatened a lot then.
When I ran Zeta Internet we used to get the occasional customer call and threaten to sue us for something or other. In every case it was a baseless threat, made simply because the customer was frustrated. We would ignore the threat and just do our best to fix up their problem, whatever it was.
The funniest one we ever got was the guy who threatened to sue us for 60 billion dollars because he didn't understand how to do FTP. We setup his website and while awaiting delegation of the domain sent an automated form letter with instructions for uploading the web pages which said something like:
And the guy didn't understand what if/then means and went positively apeshit.So anyway I can understand their policy. 99% of these threats aren't serious, but the ISP doesn't want to stuff up the 1% which actually are. This policy stops the baseless ones in their tracks, because the really want technical support, not the legal department.
I got email from him a couple of days ago. Answering my questions, no less. It was definitely kre, not some impersonator.
In terms of .au, yes I think he is. The
truth is, there isn't all that much to do.
The problems people are having with .org.au were mirrored a few years ago with .com.au registrations - it took several weeks to register a new domain. At this time Robert solved the problem by appointing Melbourne IT as the registrar for com.au. They cleared the huge backlog in about a month and then brought the cycle time down to 3 days.
So the problems with .org.au could be fixed as easily, and it doesn't require Robert to give up ownership of .au.
The question of new 2LDs under .au is a tricky one - Robert refuses (or ignores, which is the same thing) all requests for new 2LDs. Is this "handling things well"? I don't know, but given the ridiculous TLDs which have been approved (.museum, for xenu's sake! Why don't these fuckers fit under .org?) maybe being as tight as a fish's asshole on new 2LDs is exactly what's required.
Nick.
I've never seen a Region 4 DVD with Japanese subtitles either. They think that because Japan is in another DVD region that there are no Japanese in Australia?
Is this the same Alex Chui which wwonline.com says is a spammer? See http://www.wwonline.com/spammers.html.
I found this when I ran Zeta Internet and we laid coax up our building's telecommunications riser to provide some other tenants with Internet access. The building owner was cool with it until I sold the business to Pacific Internet and then he wanted to be paid for the use of the riser. So anyway I checked the legislation and found that under certain circumstances carriers have this or that right. Nevertheless we offered a fixed payment per annum and the owner didn't accept it and he stopped talking to us. I think it was a lot less than he was hoping for :-)
I can't find the legislation right now, unfortunately but it should be somewhere under http://www.austlii.edu.au/au/legis/cth/consol_act/ ta1997214/index.html.
The price is definitely going down though. Oversupply seems like a reasonable explanation.
I'm planning to buy 50 soon; that should be enough for a year. Nick.
http://www.battlefieldearth.net/ links to the Warner Bros site;
http://www.battlefieldearth.com/ was written by Author Services, Inc which we all know is merely another of the corporate identities of Co$. In fact, it has been written that:
The "news" page is particularly amusing. The top news item claims that BE is "#2 BEST SELLING DVD" (among which audience?). It's accompanied by a frothing review from a Dr. John L Flynn ...
I wonder who he is trying to kid? Isn't there supposed to be some kernel of truth in marketing?tHIS MESSAGE IS PROTECTED. yOU MAY NOT DECODE IT WITHOUT MY WRITTEN PERMISSION.
Hardly. Somebody else will have the same idea. And they'd be free to implement it too, in a patent-free world.
It's better than getting Deep Vein Thrombosis (DVT) :-)
I wonder how much legroom the ship seats will have in Economy class :-)
From an ISP point of view, you really want to do this. Servers which customers use to lookup names should not be the servers which you use to store customer zone files. This ensures that when domains get redelegated away from your nameservers, that your own customers always see the correct (i.e. as delegated) zone contents.
Qmail appears abandoned.
What a pity. I use qmail in several places and it really works well. But I won't stop using it even if it is abandoned because I have the source, and ICHI (I Can Hack It).
They lose it because people torture them by attempting to post strange objects like hammers and bones.
I should have put a smiley (tm) in there because this person obviously didn't follow the subtle humour.
One day there will be a colloquial phrase often applied to geeks ... "get dotted"; I'll leave the interpretation open to your imagination.
The article fails to mention that Steven King has abandoned his online book experiment, because the percentage of payers dropped with each instalment.
Now I know why they call it going postal...
Ignoring new development (e.g. replacing an application with a new version with different functional specifications), and focusing on the maintenance process (i.e. fixing identified errors in a program), what is the minimum possible change to a piece of code? Probably correcting comments (no functional impact, one hopes!) Examples of changes which incur progressively greater impact (and this list is merely a subset) would be:
The further an item is down this list, the longer it usually takes to make the change. So the decision becomes a value judgement: at what points does the utility of making the change exceed the cost of making that change?
At the extreme end of the scale we have the quick fix or quick hack which takes only minutes to implement but has an obvious benefit. At the other end there's the system rewrite, which might take months yet provide only a nominal improvement over the existing system.
As a developer and a manager I expect code to be of good quality whether it was written by the maintainer or not. Bad code (the stuff people want to rewrite) is code which falls over, gives wrong results, is not robust or is too specific (i.e. similar to being not robust, will fail erroneously given slight change of input conditions). Bad code is an indication the programmer was doing their job poorly.
When it comes time to fix bugs, I expect the maintainer to understand the minimal change required to fix the bug, and also to evaluate the quality of the code which caused the bug. If it's bad code, it should be rewritten. Of course there's still a value judgement in here; I would not approve a rewrite which had negative utility.
There's also the matter of pride in doing a good job. I take pride in writing good code, and I expect my team to take pride in the quality of their work. To allow shoddy code (even somebody else's shoddy code) back into production is contrary to the spirit of pride in one's work.
A prevailing attitude of "that code's bad but we'll only fix the big error and leave the rest of the bad code alone" must also imply, even subconsciously, that "bad code is acceptable" and this may reduce the quality of newly written code.
So in summary my advice is, if you wish to take pride in your work and become a craftsman rather than a hack, you should ensure that only good quality code leaves your hands. If your company asks you to bend (or abandon) your principles, make sure they have a good reason for it. Learn how to write good code. Learn how to analyse code so you know exactly under what conditions the code fails, and thus make your own judgement on whether the code needs rewriting (and which parts need rewriting).
Testing is not a universal panacea. The most rigorous of functional testing regimes will not expose the flaws in a system design (for example, how would unit testing find race conditions which only appear in the complexities of a production system?)
Good software comes from good design. A badly layered system probably can not be successfully unit tested, because each part of the system relies on all other parts. Badly designed systems are often unmaintainable because any change may cause failure in some unrelated other part of the system.
Good design is an art as well as a science. One cannot arrive at a good design by mechanically following a set of rules, however one can apply some principles to help. Principles such as:
There are surely many other principles which can be applied. I know when I code, I am continually weighing the benefits of one principle over another, and making value judgements. I think it results in pretty good and consistent code on the whole. Not perfect, often the design is faulty, but the first step in better design is to recognise the faults of the current design. And so iterate, and improve.
The first page is easy enough to figure out, even with the new - symbol. Once the alien scientist has understood base 10, it's just a short step to understanding that this is a list of prime numbers, and from there it is a short step to realise that big primes are frequently of the form 2**X-1. Once they've made that leap they will either marvel at our mathematical ingenuity, or laugh at it.
However I fear that this document has sacrificed technical accuracy for hype, and the author perhaps does not understand the topic as thoroughly as the article implies.
For example:
Richard Feynman wrote in his popular exposition of Quantum Electrodynamics that he had taken particular care in ensuring that his statements, although simplified, were still technically accurate. In other words he did not lie to the audience by introducing concepts as truth which have been proven to be false.
Although my understanding of quantum mechanics, quantum computing and quantum electrodynamics is low, what I do understand tends to make me distrust the details of this article.
In my brief experience (played a few computer games as a teenager) the arcade-type ones improved my reflexes, but mostly in the specific scenario of the game (e.g. I would be able to dodge enemy ships, but this ability wouldn't help me with a shooter; I would have to learn new reflexes for that). I did martial arts for 2 years and I have quite slow reflexes there - being able to play Space Invaders at double-speed didn't help at all.
With the other games I played (mostly adventure types) the focus was always on finding the missing key to the puzzle. This was beneficial in the real world; I can think of many different things to try; but these games did not develop actual strategic skills. What passed for strategy was essentially random behaviour until the solution was uncovered.
My also brief experience of young gamers (in the 10-15yr range) is that they tend to be passive recipients of technology - in other words, users not creators. As another poster said, they're the consumers. Their role is to buy the game, and play the game.
At 10 years old I was designing and building simple electronic circuits. I was programming in BASIC (sob, sob). By 15, I knew Fortran and Pascal and 2 assembler languages. By 16 I was extending my computer's capabilities using circuits I had designed myself (e.g. the Trs-80 wasn't really designed to take 256k of paged memory). By 18 I was into C, Lisp, Prolog and Unix. And guess what - it was mostly through playing around that I learnt these things.
I'm reasonably successful now, and in hindsight it was due to doing a lot of playing. Playing with technology, not playing games.
Don't discount the humble printer server yet. The fairly expensive IP-connected printer my company has, uses a dodgy implementation of TCP such that when it is receiving a print job, it stops listening on the lpd port. Printing a document then becomes a hit-and-miss affair.
We once installed a HP hardware print sharer box for a customer. Unreliable as hell, and probably for the same reasons.
I suspect that other embedded-TCP devices use similar "cut-down" implementations. The APC masterswitch is vulnerable to ping-o-death and probably other attacks, such as synfloods. TCP is best left to "real hosts", IMHO.