learn these magic words and you'll never have to endure the frustration of doing dumb tech support for your family and friends again:
"I'm sorry, i don't know Windows so i have no
idea how to fix your problem".
these words (and variations on the theme) will save you many hours of time wasted in futile attempts to diagnose and fix some stupid Microsoft problem - by stupid problem, i mean either a stupid flaw in the software or a stupid user error.
This works especially well for *nix geeks, but it has been known to work for people who do Windows support as their day job. Your bothersome family & friends have no idea what you're talking about anyway so they will never spot the contradiction.
>> Pure capitalism would be when Johnny gets sick and mom can't pay, johnny dies.
> Because without the government, we all become heartless bastards who don't give a damn about our neighbors.
what's all this "become" nonsense?
americans are already heartless bastards who don't give a damn about their neighbours. *especially* the Libertarians who spend all their time whining about the fact that someone, somewhere in far worse and shittier circumstances than themselves may have got something that they didn't.
that's why you all whine about social welfare programs and government medical insurance - while turning a blind eye to the hundreds of billions wasted on corporate welfare programs....or the $25 billion bribe currently being offered to Turkey in exchange for letting US troops attack Iraq from Turkish soil.
you heartless bastards actually believe that poverty isn't a circumstance or a trap, but that it is a moral failing - anyone who is poor *deserves* to be poor. it's their own fault that they chose poor parents and grew up in a shit neighbourhood with crap schools and no job prospects. truly exceptional people can make it out of poverty traps like that due to luck or intelligence or skill or ruthless selfishness, but most people are stuck in it for the rest of their lives - and their children and grandchildren too.
[...]people may recall that Craig recently got in to a nasty flame war with Dan Bernstein
anyone who recognises the name Dan Bernstein will realise that this is hardly surprising. the guy is a know-it-all jerk with a severe inferiority complex, even the slightest comment about his software that could be interpreted in a less than glowingly positive fashion will result in lengthy and boring flamewar from him. that's why i've killfiled bernstein, i have no interest in reading anything that he has to say. i have no interest in running his software, either. the hassle and annoyance of integrating bernstein-ware into a working system far outweighs any of the advantages.
To make a long story short (and the flame war got ugly), Craig feels that a DNS server needs to support the legacy BIND [...]
yes, that cuts a long story very short. and conveniently throws away almost the entirety of my reasons for deciding that djbdns was worthless rubbish.
lack of backwards compatibility with bind was only one of the many reasons why djbdns sucks - lack of backwards compatibility is a common flaw with all of bernstein's crapware. as is his brain-damaged configuration style and his obsessive Not Invented Here syndrome that requires him to manically reinvent things that don't particularly need re-inventing.
Now, the only specific that Craig went in to when pointing out that he did not like my DNS server is that fact that, like Dan's TinyDNS, MaraDNS has no support for BIND's zone file format.
actually, that's not true. i didn't give ANY specific reasons as to why i think maradns is poorly written.
the reason why i think that is because of bone-headed comments you made in http://www.swelltech.com/pipermail/mara-archive/ 20 02-November/000885.html
in particular your excuse for not doing any signal handling: "I consider signal handling a security risk. MaraDNS responds to a HUP signal by terminating; one has to restart MaraDNS to reload the configuration files."
statements like these do not inspire confidence in your ability to write secure code. before i discovered that little gem, i was recommending maradns to people who wanted an alternative to bind for non-authoritative name servers. after reading it, i can't in good conscience recommend it to anyone.
I am not saying that BIND style zone file support is unimportant. However, I think Craig should be a little more courtious in requesting this feature than badmouthing MaraDNS on the Debian ISP mailing list.
1. when did i ever request this feature?
2. if i had wanted to make more than a passing comment about maradns, i would have emailed you directly.
3. if saying "maradns isn't particularly good software, but a) it's GPL, b) it doesn't have djb's weird configuration style and c) it's adequate for the task i want to use it for." qualifies as "badmouthing" then you really ought to acquire a thicker skin.
> Awwwwww, poor economy thieves. they're > exploited? fuck them. If they want to take away > our money and jobs, they can handle being > treated like dog shit.
you don't get it, do you?
the whole point of having special short-term work visas that are tied to ONE employer is *precisely* so that they can't say "No" to crap wages and lousy working conditions...they say "Yes" or they get sacked and deported.
the simple, angry response is to say "Fine, these fuckers deserve it"....but that's stupid. it's cutting your nose off to spite your face because by introducing a pool of labour which can't afford to say No, management are undermining YOUR ability to say No, too. i.e. divide and conquer is the name of the game.
the fix is NOT to treat these workers like dog-shit, but to require that *all* workers have access to good wages and good conditions so that YOU don't have to compete with people who have no choice but to accept being treated like dog-shit. compete against that and YOU will have no choice either.
this is why unions were first formed over a century ago. those who fail to learn from history are doomed to repeat it.
you don't have good wages & conditions now because management are benevolent. you have them because workers formed unions and fought hard & long for the things you take for granted now - <40 hour working week, safety in the workplace, no child labour, termination pay, holiday pay, sick pay, freedom from unfair dismissal, etc etc etc etc etc. none of these things were granted as a gift, they were won with hard (and sometimes violent) struggle.
> You are badly mistaken if you think a simple > script like this is enough to keep a large site > up to date.
no, i'm not. this isn't just theoretical, this is what i do to maintain a large network of (currently) dozens of machines. in the past, i have used similar techniques to maintain networks of hundreds of machines. it works.
> Imagine that although you're trying to keep the > host database up-to-date there it will always > not fully correspond to reality.
if i was so slack that i couldn't even maintain a simple database like that then i'd deserve to be sacked.
if nothing else, i'd be maintaining the DNS records that point to all those machines.
> Finally for this command to complete all of > those have to be up. What if a machine crashed?
you use a semaphore of some sort (e.g. touch a file where the filename = hostname) to indicate whether the upgrade has completed or not. then you just run the script again when you've got the crashed machine(s) back up again. no problem.
and since we're talking about dozens or hundreds of machines here, tee the output of the script so that you can leave it running overnight and review the log in the morning. stuff like this should be obvious.
frankly, you don't know what you're talking about.
what does this red-carpet thing do that something like the following doesn't do:
for i in host1 host2 host3 ; do
ssh $i "apt-get update ; apt-get install [package...]" done
a useful variant (for more complicated upgrades) is to write a sh script to do the upgrade, scp it to the remote machines and run it with ssh. this script can install/upgrade the packages, run perl or whatever to customise config files, and do anything else that is needed to ensure that the upgrade goes smoothly.
i've used variations of the above script to install or upgrade single packages and even full system upgrades on dozens of remotely-located debian boxes in one go (mostly internet gateways, firewalls, proxy servers etc).
for rpm-based systems it would be trivial to modify the script so that it used scp to copy the require.rpm packages to the machine and then used ssh to run rpm for the install.
all i see is another unneccessary daemon which gives remote root privileges which hasn't had anywhere near the security testing of ssh.
IMO, anyone who isn't capable of writing trivial scripts like the above has no business pretending to be a sysadmin and shouldn't be upgrading even one machine, let alone batches of them.
when it comes to querying the package database, debian's tools have no peer.
you can use dpkg for basic queries
you can use dlocate for some more queries like listing all man pages in a package (plus faster versions of some of the standard dpkg queries)
you can use apt-get and apt-cache for more complicated queries (e.g. to find out exactly what an upgrade would do if you issued the command, or to find out what packages depend on package foo, or to find out what package foo depends upon)
and if that isn't enough, you can use the wonderful grep-dctrl package to construct your own custom queries.
a simple example to show the Package name and version of any package that contains "bash" in the Depends field:
you can do a lot more with grep-dctrl, including telling it not to output the field names. you can also feed it's output back into grep-dctrl (thus implementing an "AND") function, and you can pipe the output into other scripts as usual to do whatever you want with it.
> If people did not overextend themselves on
> credit, debtor errors would be less of a
> personal tragedy, and more of a mere
> inconvenience.
what are you? some kind of communist infiltrator?
if people lived within their means and only bought
things that they could afford, what do you think
would happen to the economy? it would be an
economic disaster if people adopted subversive
beliefs like "if you can't afford to pay cash for
it then you can't afford it at all".
it's radical communist terrorists like you who
are destroying the world with their subversive
ideas.
> There's almost no political discussion offline
> about the fuzzy boundaries between human
> and other "lifeforms" -- clones, cyborgs,
> mutants, AI.
it's difficult to take seriously any article
which is so poorly researched that it starts off
with a throwaway line like this.
try reading some science fiction one day. this
kind of stuff is staple fare for SF novels, and
has been for decades.
or if fiction isn't what you want, try looking
at medical & science journals and the proceedings
of numerous bioethics conferences.
there's life outside of hollywood, you know.
> That topic has mostly fallen to Hollywood,
> which has taken up the issue in a series of
> movies
"taken up the issue" must be a new way of saying
"cash in on a fad".
nobody goes to hollywood movies to see issues
explored in an intelligent and thought-provoking
manner. they go to see laser beams, and cars
making impossible leaps over bridges, things
getting blown up, bad guys losing and good guys
winning...all with a maximal amount of explosions
and gore and minimal intrusion from reality.
learn these magic words and you'll never have to endure the frustration of doing dumb tech support for your family and friends again:
"I'm sorry, i don't know Windows so i have no
idea how to fix your problem".
these words (and variations on the theme) will save you many hours of time wasted in futile attempts to diagnose and fix some stupid Microsoft problem - by stupid problem, i mean either a stupid flaw in the software or a stupid user error.
This works especially well for *nix geeks, but it has been known to work for people who do Windows support as their day job. Your bothersome family & friends have no idea what you're talking about anyway so they will never spot the contradiction.
>> Pure capitalism would be when Johnny gets sick and mom can't pay, johnny dies.
> Because without the government, we all become heartless bastards who don't give a damn about our neighbors.
what's all this "become" nonsense?
americans are already heartless bastards who don't give a damn about their neighbours. *especially* the Libertarians who spend all their time whining about the fact that someone, somewhere in far worse and shittier circumstances than themselves may have got something that they didn't.
that's why you all whine about social welfare programs and government medical insurance - while turning a blind eye to the hundreds of billions wasted on corporate welfare programs....or the $25 billion bribe currently being offered to Turkey in exchange for letting US troops attack Iraq from Turkish soil.
you heartless bastards actually believe that poverty isn't a circumstance or a trap, but that it is a moral failing - anyone who is poor *deserves* to be poor. it's their own fault that they chose poor parents and grew up in a shit neighbourhood with crap schools and no job prospects. truly exceptional people can make it out of poverty traps like that due to luck or intelligence or skill or ruthless selfishness, but most people are stuck in it for the rest of their lives - and their children and grandchildren too.
[...]people may recall that Craig recently got in to a nasty flame war with Dan Bernstein
/ 20 02-November/000885.html
anyone who recognises the name Dan Bernstein will realise that this is hardly surprising. the guy is a know-it-all jerk with a severe inferiority complex, even the slightest comment about his software that could be interpreted in a less than glowingly positive fashion will result in lengthy and boring flamewar from him. that's why i've killfiled bernstein, i have no interest in reading anything that he has to say. i have no interest in running his software, either. the hassle and annoyance of integrating bernstein-ware into a working system far outweighs any of the advantages.
To make a long story short (and the flame war got ugly), Craig feels that a DNS server needs to support the legacy BIND [...]
yes, that cuts a long story very short. and conveniently throws away almost the entirety of my reasons for deciding that djbdns was worthless rubbish.
lack of backwards compatibility with bind was only one of the many reasons why djbdns sucks - lack of backwards compatibility is a common flaw with all of bernstein's crapware. as is his brain-damaged configuration style and his obsessive Not Invented Here syndrome that requires him to manically reinvent things that don't particularly need re-inventing.
Now, the only specific that Craig went in to when pointing out that he did not like my DNS server is that fact that, like Dan's TinyDNS, MaraDNS has no support for BIND's zone file format.
actually, that's not true. i didn't give ANY specific reasons as to why i think maradns is poorly written.
the reason why i think that is because of bone-headed comments you made in
http://www.swelltech.com/pipermail/mara-archive
in particular your excuse for not doing any signal handling: "I consider signal handling a security risk. MaraDNS responds to a HUP signal by terminating; one has to restart MaraDNS to reload the configuration files."
statements like these do not inspire confidence in your ability to write secure code. before i discovered that little gem, i was recommending maradns to people who wanted an alternative to bind for non-authoritative name servers. after reading it, i can't in good conscience recommend it to anyone.
I am not saying that BIND style zone file support is unimportant. However, I think Craig should be a little more courtious in requesting this feature than badmouthing MaraDNS on the Debian ISP mailing list.
1. when did i ever request this feature?
2. if i had wanted to make more than a passing comment about maradns, i would have emailed you directly.
3. if saying "maradns isn't particularly good software, but a) it's GPL, b) it doesn't have djb's weird configuration style and c) it's adequate for the task i want to use it for." qualifies as "badmouthing" then you really ought to acquire a thicker skin.
> Awwwwww, poor economy thieves. they're
> exploited? fuck them. If they want to take away
> our money and jobs, they can handle being
> treated like dog shit.
you don't get it, do you?
the whole point of having special short-term work visas that are tied to ONE employer is *precisely* so that they can't say "No" to crap wages and lousy working conditions...they say "Yes" or they get sacked and deported.
the simple, angry response is to say "Fine, these fuckers deserve it"....but that's stupid. it's cutting your nose off to spite your face because by introducing a pool of labour which can't afford to say No, management are undermining YOUR ability to say No, too. i.e. divide and conquer is the name of the game.
the fix is NOT to treat these workers like dog-shit, but to require that *all* workers have access to good wages and good conditions so that YOU don't have to compete with people who have no choice but to accept being treated like dog-shit. compete against that and YOU will have no choice either.
this is why unions were first formed over a century ago. those who fail to learn from history are doomed to repeat it.
you don't have good wages & conditions now because management are benevolent. you have them because workers formed unions and fought hard & long for the things you take for granted now - <40 hour working week, safety in the workplace, no child labour, termination pay, holiday pay, sick pay, freedom from unfair dismissal, etc etc etc etc etc. none of these things were granted as a gift, they were won with hard (and sometimes violent) struggle.
> Been there, done that.
so have i. it works.
> You are badly mistaken if you think a simple
> script like this is enough to keep a large site
> up to date.
no, i'm not. this isn't just theoretical, this
is what i do to maintain a large network of
(currently) dozens of machines. in the past, i
have used similar techniques to maintain networks
of hundreds of machines. it works.
> Imagine that although you're trying to keep the
> host database up-to-date there it will always
> not fully correspond to reality.
if i was so slack that i couldn't even maintain
a simple database like that then i'd deserve to
be sacked.
if nothing else, i'd be maintaining the DNS
records that point to all those machines.
> Finally for this command to complete all of
> those have to be up. What if a machine crashed?
you use a semaphore of some sort (e.g. touch a
file where the filename = hostname) to indicate
whether the upgrade has completed or not. then
you just run the script again when you've got the
crashed machine(s) back up again. no problem.
and since we're talking about dozens or hundreds
of machines here, tee the output of the script
so that you can leave it running overnight and
review the log in the morning. stuff like this
should be obvious.
frankly, you don't know what you're talking about.
what does this red-carpet thing do that something
.rpm packages to the machine and then used
like the following doesn't do:
for i in host1 host2 host3 ; do
ssh $i "apt-get update ; apt-get install [package...]"
done
a useful variant (for more complicated upgrades)
is to write a sh script to do the upgrade, scp it
to the remote machines and run it with ssh. this
script can install/upgrade the packages, run perl
or whatever to customise config files, and do
anything else that is needed to ensure that the
upgrade goes smoothly.
i've used variations of the above script to
install or upgrade single packages and even full
system upgrades on dozens of remotely-located
debian boxes in one go (mostly internet gateways,
firewalls, proxy servers etc).
for rpm-based systems it would be trivial to
modify the script so that it used scp to copy the
require
ssh to run rpm for the install.
all i see is another unneccessary daemon which
gives remote root privileges which hasn't had
anywhere near the security testing of ssh.
IMO, anyone who isn't capable of writing trivial
scripts like the above has no business pretending
to be a sysadmin and shouldn't be upgrading even
one machine, let alone batches of them.
when it comes to querying the package database, debian's tools have no peer.
you can use dpkg for basic queries
you can use dlocate for some more queries like listing all man pages in a package (plus faster versions of some of the standard dpkg queries)
you can use apt-get and apt-cache for more complicated queries (e.g. to find out exactly what an upgrade would do if you issued the command, or to find out what packages depend on package foo, or to find out what package foo depends upon)
and if that isn't enough, you can use the wonderful grep-dctrl package to construct your own custom queries.
a simple example to show the Package name and version of any package that contains "bash" in the Depends field:
$ grep-status -s Package,Version -F Depends bash
Package: wdm
Version: 1.20-7
Package: sysprofile
Version: 0.2.7
Package: htmlheadline
Version: 21.8-1
Package: bug
Version: 3.3.9
Package: dlocate
Version: 0.5
Package: fmirror
Version: 1:0.8.4beta-2
Package: bash-builtins
Version: 2.04-9
you can do a lot more with grep-dctrl, including telling it not to output the field names. you can also feed it's output back into grep-dctrl (thus implementing an "AND") function, and you can pipe the output into other scripts as usual to do whatever you want with it.
> If people did not overextend themselves on
> credit, debtor errors would be less of a
> personal tragedy, and more of a mere
> inconvenience.
what are you? some kind of communist infiltrator?
if people lived within their means and only bought
things that they could afford, what do you think
would happen to the economy? it would be an
economic disaster if people adopted subversive
beliefs like "if you can't afford to pay cash for
it then you can't afford it at all".
it's radical communist terrorists like you who
are destroying the world with their subversive
ideas.
> I don't know about your server buddy, but mine
> don't crash.
famous last words.
if you write your code with the assumption that
it will never crash, then you deserve whatever
happens to you when it does.
> There's almost no political discussion offline
> about the fuzzy boundaries between human
> and other "lifeforms" -- clones, cyborgs,
> mutants, AI.
it's difficult to take seriously any article
which is so poorly researched that it starts off
with a throwaway line like this.
try reading some science fiction one day. this
kind of stuff is staple fare for SF novels, and
has been for decades.
or if fiction isn't what you want, try looking
at medical & science journals and the proceedings
of numerous bioethics conferences.
there's life outside of hollywood, you know.
> That topic has mostly fallen to Hollywood,
> which has taken up the issue in a series of
> movies
"taken up the issue" must be a new way of saying
"cash in on a fad".
nobody goes to hollywood movies to see issues
explored in an intelligent and thought-provoking
manner. they go to see laser beams, and cars
making impossible leaps over bridges, things
getting blown up, bad guys losing and good guys
winning...all with a maximal amount of explosions
and gore and minimal intrusion from reality.