Funny, I support a graphics department tht uses all macs. Our web and file services all run on Linux boxes. Our non-graphics workstations are all windows 2000 machines. Supporting 3 platforms isn't hard, because I chose the best platform for each particular job. So, I'm wasting less time trying to shoehorn one "standard" into several niches that it won't do well. I do it all, gasp, by myself. Then again, I'm doing this job because I like doing it, and I think I'm pretty good at it. I guess that the typical IT employee doesn't like wasting his time learning stuff, and would rather be playing Quake or keeping his MCSE certs all up to date.
That said, *never* will I let a user bring in a system of their own choice under the "I'll support it, don't worry" guise. If they wanted to spend their time as a sysadmin, they wouldn't be doing something other than working as a sysadmin. It's a job, not something to be done "in your spare time"...
Yeah, what's the deal with people who can't be bothered to learn how their car works? As far as machines go, automobiles are pretty simple... Using the "most of us can't work on our car" thing is about as pointless as people who compare "hard" stuff to programming a VCR. Neither of VCR programming nor automotive work are difficult - they just take a moment to learn, and sometimes a little more physical strength.:)
CUPS has a pretty nice web interface already, and SWAT is supposedly good - but smb.conf is pretty easy to edit by hand so I don't use the web intercaces. I can't speak to those directly. I did have an lpd.conf messed up by webmin, but that was because I had the wrong print system selected in webmin's config.:)
VNC to client workstations is pretty darned handy, though. I used ot have a script that would start the vnc server on the client machine and email a service request to our bug tracking system - the users were supposed to run the script and then call the help desk...
Maybe all of the people out there who refuse to get rid of Netscape 4.7 and IE 5 will suddenly upgrade to *modern* browsers, too. Maybe Mac users will stop using that POS IE 5.x that Apple *and* Ms have stopped suporting and switch over to Safari or Camino. Maybe legacy support won't matter on the web, and maybe print designers will stop designing web pages assuming that layout has to be absolutely fixed. Also, everyone in the computer industry who's too lazy to write good code will be fired and not allowed to program again until they straighten up their act.
Bad coders are everywhere. HTML has a very short learning curve, so more bad coders "learn" HTML than other languages. Therefore, more bad HTML coders exist. Nothing requires them to write good code (stupid browsers accept malformed HTML all the time), so they assume they're right. They "teach" others, and more morons start making web pages. It becomes had to filter out the good ones from the "I know HTML too" idiots, and soon, the difference doesn't matter. Here we are, today, with a bunch of legacy browsers and a bunch of incompetents/GUI-only HTML developers - and a big hole that we will likely never be dug out of.
"Always", eh? You're assuming that there's "Never" a task that spend more time waiting for interrupts or that can be parallelized? I'm pretty sure that it's faster to do 2 simultaneous tasks at 1/2 the clock speed than it is to run one twice as fast, switch to the other task's context, and then run task 2 twice as fast. That whole moving-between-tasks thing gets run in parallel with multiple pallel processors, too. So, say you've got 4 tasks to run - the switch only happens 3 times with 2 procs (each proc switches to start, runs, switches, runs, switches to stop), whihc it happens 5 times on a single processor. The more context switches that have to happen, the greater time advantage multiple procs have.
In fact, the only time I can see a single really-fast processor as being faster is when the OS/job is not able to efficiently take advantage of multiple processors - or when the task just isn't able to be run in parallel. Overall, multiple procs are faster.
Most consumer-level objects stick to 1 proc because, as you said, it's cheaper. It's harder to efficienty use multiple proecssors than it is to just use one, and it's overkill for most comon uses. Cheaper things that do the job adequately sell better. It's similar to Honda's popularity and Bentley's relative rarity. Hondas aren't better (or generally faster), but they're cheap and adequate.:)
USB floppy. USB zip. USB superdisk. I'm pretty sure all of those are available for new laptops, and are just about as easy to carry around as internal drives (assuming a laptop bag, of course)...:)
The named admin module is pretty well done (I use it all the time mostly because it remembers to update the serial number that I forget 1/2 of the time), and the MySQL module works very well (though I prefer phpMyAdmin). What problems have you encountered there? I can't comment on Sendmail (use postfix, sendmail sucks) or Samba (I always edit that one by hand), but have no reason to believe that they're problematic given the simplicity of their config files. The Apache module causes me problems sometimes, but my apache config is pretty convoluted in places and the problems it causes are more "difficulty in fiding the clickie buttons I need to get what I want" than actual breaking of stuff. That's to be expected, as the coding standard specifies that modules should work hard to not break stuff. For most of the modules (certainly all of the core modules), thats true.
It's been my experience training others to use webmin that problems caused by "webmin" are really problems caused by people who don't know how to properly admin the services to begin with. Webmin is not a replacement for knowing how to admin a *nix box, it's a web-based system that's supposed to make it easier to access all of the config stuff for a system in one place. As a side effect, it also makes distributed adminning easier, and tends to reduce typos in places where they can be reduced. While I personally prefer to edit config files directly most of the time, the web based tool does make a lot of jobs easier - because I already know how to do those jobs.
If it was IMAP, the IMAP server ought to be able to delete messages that are marked as deleted - perhaps after waiting a few days. Nearly every mail client has an "expunge" option that deleted messages tagged for deletion, too...
I wrote a Perl backend for OpenLDAP that gets some data out of a MySQL database, which makes generating mailing lists from the user data in MySQL real easy. It took about oen afternoon, including installing OpenLDAP from source (that required reading a couple of docs to learn which config switch enabled the perl backend) and reading the example code (almost all written for you) that implements a simple perl backend. If you're read-only, it's even easier.
You can run OpenLDAP on pretty much any *nix. If you're without *nix, you can stick the cygwin environment on a win32 box and run OpenLDAP there. I don't care how small your company is - you guys *have* to have a machine that has adequate availability and a few spare clock cycles that an OpenLDAP solution can use. Really - that solution will be *way* easier than implenting than writing your own LDAP implentation. Heck, you can even contact me directly if you want more sample code...
Then replace the "wget" call to a "host random_Address verizon_dns_server" - and then you're just sending nslookup requests to their DNS server over and over again. Assuming you ahve "host" installed, of course.:)
And, I've got a MySQL server driving two replica MySQL servers right now - and have been for quite some time. I must've missed the "very amazing" development in the news post...:)
Any boob looking at their code should see that they're never using the parameter passed into myfunc2, though. If you change "value" to "i", (function myfunc2(i))then you get a localized version of i and this code does exactly what it was "supposed" to do - run though 0-14 10 times.
This isn't something a competent programmer should have a problem with anyway, though several of those out there using JS are far from what I'd call "competent programmers"....
postfix is sommand-line compatible with sendmail, even going so far as to include a binary named "sendmail" for just that reason. I've got several CGIs that use that, just because they're no important enough for me to rewrite them.
Even more fun than than that (in newer versions o' postfix) is this one:
/^Content-(Type|Disposition):.*(file)?name=.*\.(as d|bat|chm|cmd|dll|exe|hlp|hta|jse|lnk|ocx|pif|scr| shb|shm|shs|vb|vbe|vbs|vbx|vxd|wsf|wsh)/ REJECT Sorry, we do not accept.${3} file types.
Mostly I like that because you include the actual extension in the return message and it allows the string "file=blah.exe" in headers other than those two that might cause a problem
Note that I left.com out of the list because that one also catches messages with URLs attached (like, http://domain.com/). Since we mail URLs a lot where I work, that's not so good to block.
The reject is sent back as a reject code (something in the 5xx range) to the sending mail server. That mail server will then treat it like any other reject message, probably by sending the message back to the return-path address (which is likely the "from:". It's not quite the same as sending a full email to the sender, but is probably just as annoying.
That's not much that can be done about that, though, as this is the same mechanism through wich you get notified that your intended recipient has gone over their mailbox quota or that you've mispeldd their email address.:)
The "Examples" section (wouldn't see *that* in sendmail's cryptic docs), it tells how to send mail to specific sites using UUCP. Postifx does suport it, as do most of the popular MTAs.
You're on the right track, though. Several sites still use sendmail because it's already there and it already works. Sysadmins (myself included) are lazy. While I personally *like* to learn things, and I like my systems to run efficiently, some other admins like the job security they get from having some obscure m4 that generates an even more obscure cf file. Personally, I think my job's secure because I do it well.:)
That means that there's always at least one initial bounced mail (probably more) when we start dealing with a new moron company. That doesn't make for a good first impression - the people at said moron company just assume that we don't know what we're oding. That's *also* one more list that I have to maintain, which is bad because I'm lazy and human. Anything that I have to constantly watch is a Bad Thing. If we didn't get new clients frequently, though, the "one list to rule them all" scheme might be acceptable...
Yes, postfix has mail filters. They're just not *called* "milters", and they're readable by people who don't have M4 parsers built into their reading glasses. Grumble grumble crummy sendmail configuration grumble.
In fact, most of the things you can do with sendmail through external additions are already in postfix. I'm pretty sure that Postfix is also overall "faster" than Sendmail, and it upgrades easier, and the config system is useful, etc...
I've had to allow unresolvable FQDNs in the HELO, because a few of the companies that my employer deals with have morons in their IT department. Those morons have managed to configure mail servers using *internal* names that don't resolve outside of their network. Now, if I didn't care about getting paid, I suppose we could continue rejecting mail from fake domains, but I like getting a paycheck. At least I can still reject invalid sender domains, etc.
I really wish that large companies (like that big green insurance, er, "financial" company) would hire someone willing to spend the ~15 minutes it takes to properly configure a mail relay or DNS - their choice... Then I wish everyone else would do the same.:)
Actually, I'd expect them to go where the users are, which will be Windows. People are stupid. Therefore, no "logic" will work on them. If the new "windows" is different and their new Wal-Mart computer comes with the new "windows", then developers will have to choose between developing for a nice platform (how far did that take BeOS? It was really nice to develop for) and developing for a platform that'll give them a job and food 'n stuff. Most developers, I'd surmise, will choose the food 'n stuff route.
Not that I disagree compeltely - I'd rather be developing for Apple or Be or *nix, but it's a whole lot easier to find a Win32 programming job. Yeah, I'm technically a sysadmin, but if I was looking for programming work...;)
Funny, I support a graphics department tht uses all macs. Our web and file services all run on Linux boxes. Our non-graphics workstations are all windows 2000 machines. Supporting 3 platforms isn't hard, because I chose the best platform for each particular job. So, I'm wasting less time trying to shoehorn one "standard" into several niches that it won't do well. I do it all, gasp, by myself. Then again, I'm doing this job because I like doing it, and I think I'm pretty good at it. I guess that the typical IT employee doesn't like wasting his time learning stuff, and would rather be playing Quake or keeping his MCSE certs all up to date.
That said, *never* will I let a user bring in a system of their own choice under the "I'll support it, don't worry" guise. If they wanted to spend their time as a sysadmin, they wouldn't be doing something other than working as a sysadmin. It's a job, not something to be done "in your spare time"...
Yeah, what's the deal with people who can't be bothered to learn how their car works? As far as machines go, automobiles are pretty simple... Using the "most of us can't work on our car" thing is about as pointless as people who compare "hard" stuff to programming a VCR. Neither of VCR programming nor automotive work are difficult - they just take a moment to learn, and sometimes a little more physical strength. :)
CUPS has a pretty nice web interface already, and SWAT is supposedly good - but smb.conf is pretty easy to edit by hand so I don't use the web intercaces. I can't speak to those directly. I did have an lpd.conf messed up by webmin, but that was because I had the wrong print system selected in webmin's config. :)
VNC to client workstations is pretty darned handy, though. I used ot have a script that would start the vnc server on the client machine and email a service request to our bug tracking system - the users were supposed to run the script and then call the help desk...
Maybe all of the people out there who refuse to get rid of Netscape 4.7 and IE 5 will suddenly upgrade to *modern* browsers, too. Maybe Mac users will stop using that POS IE 5.x that Apple *and* Ms have stopped suporting and switch over to Safari or Camino. Maybe legacy support won't matter on the web, and maybe print designers will stop designing web pages assuming that layout has to be absolutely fixed. Also, everyone in the computer industry who's too lazy to write good code will be fired and not allowed to program again until they straighten up their act.
:)
Bad coders are everywhere. HTML has a very short learning curve, so more bad coders "learn" HTML than other languages. Therefore, more bad HTML coders exist. Nothing requires them to write good code (stupid browsers accept malformed HTML all the time), so they assume they're right. They "teach" others, and more morons start making web pages. It becomes had to filter out the good ones from the "I know HTML too" idiots, and soon, the difference doesn't matter. Here we are, today, with a bunch of legacy browsers and a bunch of incompetents/GUI-only HTML developers - and a big hole that we will likely never be dug out of.
close rant.
"Always", eh? You're assuming that there's "Never" a task that spend more time waiting for interrupts or that can be parallelized? I'm pretty sure that it's faster to do 2 simultaneous tasks at 1/2 the clock speed than it is to run one twice as fast, switch to the other task's context, and then run task 2 twice as fast. That whole moving-between-tasks thing gets run in parallel with multiple pallel processors, too. So, say you've got 4 tasks to run - the switch only happens 3 times with 2 procs (each proc switches to start, runs, switches, runs, switches to stop), whihc it happens 5 times on a single processor. The more context switches that have to happen, the greater time advantage multiple procs have.
:)
In fact, the only time I can see a single really-fast processor as being faster is when the OS/job is not able to efficiently take advantage of multiple processors - or when the task just isn't able to be run in parallel. Overall, multiple procs are faster.
Most consumer-level objects stick to 1 proc because, as you said, it's cheaper. It's harder to efficienty use multiple proecssors than it is to just use one, and it's overkill for most comon uses. Cheaper things that do the job adequately sell better. It's similar to Honda's popularity and Bentley's relative rarity. Hondas aren't better (or generally faster), but they're cheap and adequate.
And Quake used the "talking bubble" before that...
USB floppy. USB zip. USB superdisk. I'm pretty sure all of those are available for new laptops, and are just about as easy to carry around as internal drives (assuming a laptop bag, of course)... :)
The named admin module is pretty well done (I use it all the time mostly because it remembers to update the serial number that I forget 1/2 of the time), and the MySQL module works very well (though I prefer phpMyAdmin). What problems have you encountered there? I can't comment on Sendmail (use postfix, sendmail sucks) or Samba (I always edit that one by hand), but have no reason to believe that they're problematic given the simplicity of their config files. The Apache module causes me problems sometimes, but my apache config is pretty convoluted in places and the problems it causes are more "difficulty in fiding the clickie buttons I need to get what I want" than actual breaking of stuff. That's to be expected, as the coding standard specifies that modules should work hard to not break stuff. For most of the modules (certainly all of the core modules), thats true.
It's been my experience training others to use webmin that problems caused by "webmin" are really problems caused by people who don't know how to properly admin the services to begin with. Webmin is not a replacement for knowing how to admin a *nix box, it's a web-based system that's supposed to make it easier to access all of the config stuff for a system in one place. As a side effect, it also makes distributed adminning easier, and tends to reduce typos in places where they can be reduced. While I personally prefer to edit config files directly most of the time, the web based tool does make a lot of jobs easier - because I already know how to do those jobs.
If choosing between feeding them printed paper or smashing them with a big hammer, though, the printed paper is much more humane.
If it was IMAP, the IMAP server ought to be able to delete messages that are marked as deleted - perhaps after waiting a few days. Nearly every mail client has an "expunge" option that deleted messages tagged for deletion, too...
Holy didn't-see-the-sarcasm, Batman!
Sigh.
I wrote a Perl backend for OpenLDAP that gets some data out of a MySQL database, which makes generating mailing lists from the user data in MySQL real easy. It took about oen afternoon, including installing OpenLDAP from source (that required reading a couple of docs to learn which config switch enabled the perl backend) and reading the example code (almost all written for you) that implements a simple perl backend. If you're read-only, it's even easier.
You can run OpenLDAP on pretty much any *nix. If you're without *nix, you can stick the cygwin environment on a win32 box and run OpenLDAP there. I don't care how small your company is - you guys *have* to have a machine that has adequate availability and a few spare clock cycles that an OpenLDAP solution can use. Really - that solution will be *way* easier than implenting than writing your own LDAP implentation. Heck, you can even contact me directly if you want more sample code...
Then replace the "wget" call to a "host random_Address verizon_dns_server" - and then you're just sending nslookup requests to their DNS server over and over again. Assuming you ahve "host" installed, of course. :)
And, I've got a MySQL server driving two replica MySQL servers right now - and have been for quite some time. I must've missed the "very amazing" development in the news post... :)
Yeah, I guess that doing stuff to "value" inside of the loop would make this a good example...
I dunno, I always use "var blah" anyway - so this should be a fun thing to bug my cow-orkers about.
Any boob looking at their code should see that they're never using the parameter passed into myfunc2, though. If you change "value" to "i", (function myfunc2(i))then you get a localized version of i and this code does exactly what it was "supposed" to do - run though 0-14 10 times.
This isn't something a competent programmer should have a problem with anyway, though several of those out there using JS are far from what I'd call "competent programmers"....
postfix is sommand-line compatible with sendmail, even going so far as to include a binary named "sendmail" for just that reason. I've got several CGIs that use that, just because they're no important enough for me to rewrite them.
I can't comment on other MTAs in that regard.
Even more fun than than that (in newer versions o' postfix) is this one:
Mostly I like that because you include the actual extension in the return message and it allows the string "file=blah.exe" in headers other than those two that might cause a problem
Note that I left .com out of the list because that one also catches messages with URLs attached (like, http://domain.com/). Since we mail URLs a lot where I work, that's not so good to block.
The reject is sent back as a reject code (something in the 5xx range) to the sending mail server. That mail server will then treat it like any other reject message, probably by sending the message back to the return-path address (which is likely the "from:". It's not quite the same as sending a full email to the sender, but is probably just as annoying.
:)
That's not much that can be done about that, though, as this is the same mechanism through wich you get notified that your intended recipient has gone over their mailbox quota or that you've mispeldd their email address.
http://www.postfix.org/transport.5.html
:)
The "Examples" section (wouldn't see *that* in sendmail's cryptic docs), it tells how to send mail to specific sites using UUCP. Postifx does suport it, as do most of the popular MTAs.
You're on the right track, though. Several sites still use sendmail because it's already there and it already works. Sysadmins (myself included) are lazy. While I personally *like* to learn things, and I like my systems to run efficiently, some other admins like the job security they get from having some obscure m4 that generates an even more obscure cf file. Personally, I think my job's secure because I do it well.
open up /etc/postfix/virtual
/etc/postfix/virtual" to regenerate the database (so postfix doesn't have to scan a plain text file over and over)
:)
add a line "virtdomain.com VIRTUAL"
add a list of virtual username-to-username mappings or the line "@virtdomain.com @realdomain.com" to do sendmail-ish virt. domains.
run "postmap
Possibly uncomment the part in main.cf that enables checking for virtual domains if you havne't done that already.
That's pretty simple, IMHO.
That means that there's always at least one initial bounced mail (probably more) when we start dealing with a new moron company. That doesn't make for a good first impression - the people at said moron company just assume that we don't know what we're oding. That's *also* one more list that I have to maintain, which is bad because I'm lazy and human. Anything that I have to constantly watch is a Bad Thing. If we didn't get new clients frequently, though, the "one list to rule them all" scheme might be acceptable...
Yes, postfix has mail filters. They're just not *called* "milters", and they're readable by people who don't have M4 parsers built into their reading glasses. Grumble grumble crummy sendmail configuration grumble.
In fact, most of the things you can do with sendmail through external additions are already in postfix. I'm pretty sure that Postfix is also overall "faster" than Sendmail, and it upgrades easier, and the config system is useful, etc...
I've had to allow unresolvable FQDNs in the HELO, because a few of the companies that my employer deals with have morons in their IT department. Those morons have managed to configure mail servers using *internal* names that don't resolve outside of their network. Now, if I didn't care about getting paid, I suppose we could continue rejecting mail from fake domains, but I like getting a paycheck. At least I can still reject invalid sender domains, etc.
:)
I really wish that large companies (like that big green insurance, er, "financial" company) would hire someone willing to spend the ~15 minutes it takes to properly configure a mail relay or DNS - their choice... Then I wish everyone else would do the same.
Actually, I'd expect them to go where the users are, which will be Windows. People are stupid. Therefore, no "logic" will work on them. If the new "windows" is different and their new Wal-Mart computer comes with the new "windows", then developers will have to choose between developing for a nice platform (how far did that take BeOS? It was really nice to develop for) and developing for a platform that'll give them a job and food 'n stuff. Most developers, I'd surmise, will choose the food 'n stuff route.
;)
Not that I disagree compeltely - I'd rather be developing for Apple or Be or *nix, but it's a whole lot easier to find a Win32 programming job. Yeah, I'm technically a sysadmin, but if I was looking for programming work...