...I won't use an email client that renders HTML. Or at least, won't let me turn that off.
When I get these mails, 95% of the time I delete them unread; no legitimate business should ever need me to "confirm my information". Every so often I look at one, and since I only see the raw HTML, it's easy to see that the images and whatnot are all being pulled from the real company site, except for the "login" link which goes to some mysterious dotted quad address.
(Side note to companies: stop letting outsiders pull images off your server; only let your own pages refer to them. It's an Apache FAQ, fer cryin' out loud.)
Every so often a friend will send me HTML mail, but I can cope.:-)
Yes, the old VMS operating system had this for its users' files by default. Doing things with file "foo" would actually create "foo;1", "foo;2", and so forth. (It's not a Unix system, so the semicolon isn't special to its shell.) Asking for file "foo" would auomatically pick the latest revision.
You quickly learned to issue the "purge old revisions" command once you smacked up against your diskspace quota repeatedly.:-) But being able to trivially look at older revisions was worth almost any hassle.
So if you google around for "linux filesystem vms" you may find something. Haven't tried looking myself.
...how about the compiler? One of my current random mutt.signatures is
AI.cpp:33241: warning: You wrote 'neurons.merge(solution1, solution2)",
AI.cpp:33241: you probably MEANT "neurons->merge(solution1, solution2)",
AI.cpp:33241: but there is a MUCH better way to implement this whole
AI.cpp:33241: function; doing that instead.
I have qmail run ClamAV while still the remote host is still connected, so if a virus is detected, the mail never makes it into the regular mail delivery chain. And ClamAV's freshclam program keeps the database up to date.
But I don't have anything in place to ipfilter the systems attacking me. (Had something at one point, long ago, but lost it.) Do you get that many repeated attempts from the same IP to make the increased filtering worth it? If you do, could you post your script somewhere?
You might also consider having that script also add an at(1) job to remove the IP ban automatically after a few days, so you don't get a zillion stale DHCP address piling up. (Off the top of my head, that. Dunno whether that actually makes sense.)
...there are many languages out there which follow these rules, and humans always tend to hate them.
Why should we need a semi-colon to end a statement. The line feed should be enough. Well, that's the way it was in assembly language and shell scripting, but people bitched and moaned, and statement-separators have been a part of both kinds of language ever since.
Why should we need a closing brace. Cannot the compier SEE that it is the end of a block simply because the indenting is different? And yet, whenever Python is suggested as a language, the usual response is some language bigotry about "the indentation nazis taking over." Heck, even Stroustrup tried a variation of C++ where the try/catch blocks didn't have to be enclosed in braces, because the "try" and the "catch" made everything redundant. The compiler was just fine with it, but the people using the language clamored for the braces to be put back.
I'll stick to Python, but I'll let the sloppy Perl coders share the same air as me.:-)
Competent QA people are definitely worth whatever you pay them. In fact, as long as the testers in question are not built like pre-Subway Jared, they are worth their weight in gold.
I fondly remember reading a Usenet thread, just after the first Matrix movie came out, in which somebody with only a Hollywood-moviegoer's familiarity with AI and programming in general was going off on how bugs in a complicated AI program could allow the AI to turn evil, etc, etc.
Best response in the thread:
[...] so it's extrememly unlikely that programming errors or sloppy coding would result in hostile AIs. On the other hand, that fucking paperclip in Office seems to do whatever the fuck it wants.
This function allows an application to determine whether or not it is being debugged, so that it can modify its behavior.
We call those heisenbugs and they are the bane of a programmer's existence. The whole damn point of a debugger is to replicate the same behavior as normal, not allow the program to choose to exhibit a different behavior.
"I'm going to look at you more closely now. Please act normal. (But it's your call if you don't.)"
Yeah, that "surprise inspection" works great everywhere else, why not in programming? Fucking morons...
I was happier not knowing about this function. soundman32, I shake my fist at thee.:-)
There used to be a mozdev plugin that would block all flash windows, but allow you to click individual ones to let them play. (It's no longer maintained, doesn't work with newer mozillas, and you can't even leave notes on the homepage anymore.)
All you'd really need at this point is something which remembers what kind of flash app you clicked on to allow to play, and once it saw a pattern, maybe it goes ahead and lets them play. Etc, etc.
If they answered the phone with a noncommital grunt, or even just "Hello" then I could easily be confused, because that's just rude. That's the question I asked the parent.
If -- as I was taught, for business contexts -- you answer the phone with some statement including your name, then they wouldn't have to ask.
Now, if you do that, and they simply ask for somebody else without identifying themselves, then hey, read 'em the riot act, because they're still rude.
how our group of developers is supposed to have a meeting with our customer's group of developers? I'm ginuinely curious how you would do this, since apparently you don't need to.
Email? Not real time, and not responsive, and everybody trying to "talk" at once. There are times when a linear flow of information is best, not the fractal branching of subthreads that's almost inevitable in large email conversations.
Text messaging? Yah, whatever. Like email, only with typos because everybody's trying to type in a hurry, and single-sentence lag because the other person isn't done talking yet.
Face to face? It'd be nice, but both groups are spread over seven time zones.
Conference calls are alive and well, and not "the rudest form of communication" by any means.
As for the "logging" thing, one guy types in notes in a wiki or something, then slaps a "meeting minutes" label at the end. Done.:-)
I loved the episode too, except for that minor bit where the crew is whispering so that the Romulan ship won't hear them. You know, across kilometers of hard vaccuum.
Then Spock drops a wrench onto the deck of the submarine^Wbridge, and Romulans all over their ship -- in the corridors, etc -- are all turning their heads, like, what's that clanging sound?
Once I stopped laughing, I also appreciated how the episode took on issues of racism head-on.
I was greatly disappointed that Denethor was never revealed to have been using another palantir (as was his right and duty as Steward). The movie portrays him as generally being a hardass until he goes insane, but the book shows that Sauron had played a large part in driving him insane via the palantir.
...can go to Valinor whenever they feel like it. Frodo and Sam pass such a group in the extended first DVD, and in the books there's a much longer sequence involving them.
(And there's no rush; the "last ship" in the movies wasn't about to sail, because there was no last ship. Plenty of Elves were left in Middle-Earth, and Cirdan "sail all you want, we'll make more" the Graybearded just kept building the damn things...)
Galadriel, however, was special. She was the only remaining one of the Noldor who had been banned from Valinor. (The others were dead or had returned.) The ban was rescinded at the end of the First Age. She was still too proud for her own good, though, and refused to accept the invitation. Also, she was one of the first to rebel, so the Valar were not keen on letting her back in.
Once she had learned how to get along with others, and in reward for her work against Sauron, the invitation was re-extended to her, and she accepted. So in her case, yeah, she had to wait until she was ready.
Usually I check Snopes and the Straight Dope archives. Last I checked, that snopes page wasn't there. (That "last updated November 2000" bit at the bottom is a pipe dream.)
Anyhow, nice catch and thanks for the pointer. Boy, my junior-high teacher is gonna be pissed when she finds out.:-)
Wonder if they had to pay royalties to Steven Hawking for having the robot simulate his voice?
Dr. Hawking's original synthesizer was an off-the-shelf module. Much of the hardware was customized, but not the voice. Same voice shows up all over the place.
Later, after voice customization became less freakishly expensive, he was asked whether he wanted to change it. He said no, because he and his family and colleagues had come to identify with that voice, and a change would be very difficult.
Calling a liar a liar sounds like something this guy does on a regular basis.
He runs a video game rental store in Canada, and doesn't hesitate to give shit to people who are trying to rip him off. "I'm sorry, I'm afraid I subscribe to the theory of intellectual osmosis. As such, I must now cease our conversation and move away from you before my intelligence begins to drop. Good day." is one of the far, far more polite ones.
More or less. The Black Death wiped out one-third to one-half of [any given European / West Asian / Middle Eastern geographical area], with the exceptions of Poland and Scotland, which didn't get touched.
Something to tell the next kid you find singing "ring around the rosey," a nursery rhyme about the Plague.:-)
For Sun's customers -- and therefore, for Sun -- backwards compatibility is king. Absolute king. (For example, you'd never see the kind of things that happened in the last version of the Linux kernel, where stuff was introduced in 2.4 and then dropped one release later in 2.6.)
That's why/bin/sh won't ever be POSIX compliant. Some scripts out there depend on the buggy behavior, and those scripts cannot be changed.
That's why fixed portable versions of commands (including sh) go in directories other than/usr/bin. They're present and available, just not the default.
And that's why the kernel prints its version name and number as SunOS 5.y, so that parsers will continue to trigger on "SunOS" and will view even the latest version of Solaris as numerically greater than the old BSD-based SunOS code. (Hate to say it, but most OSS projects would have let user code break and told the users it was their problem.)
Compatibility was in fact the whole reason for the Solaris version change that gets so many laughs from younger/. readers, or those who have never used a Sun. The jump from 2.5.1 to 2.6 changed so many things, and caused so many problems for Sun, that starting with 2.6-<2.7 they announced there would never be another incompatible break; never another change deserving of a bump in the major number.
Which, to them at least, meant that the leading "2." was redundant and could be dropped.
You find a computer-based application that I use which misbehaves in the presence of cosmic clock drift, and then I'll care about GPS correction.:-) Until then, what's the point?
While that sounds all nice and freedom-loving, that's exactly why any group larger than about 5 people usually gives up on Perl.
So there's 10 ways to do something. Okay, great, you only need to use one of them to write the code. But it's not the same way I used, and neither of those are the same way as the guy over here used, and the sourceforge[t].net code we just downloaded uses a fourth way, and the new hire wants to use a fifth because "it's the Perl Way."
So now all of use have to know all 10 ways of doing the same damn thing, and all the minor ways in which they differ. Just to read and maintain it, not to write anything new.
is if you had delicately balanced the whole thing, so that the torque from the exposed hard drive would start the "mobile" spinning...
...I won't use an email client that renders HTML. Or at least, won't let me turn that off.
When I get these mails, 95% of the time I delete them unread; no legitimate business should ever need me to "confirm my information". Every so often I look at one, and since I only see the raw HTML, it's easy to see that the images and whatnot are all being pulled from the real company site, except for the "login" link which goes to some mysterious dotted quad address.
(Side note to companies: stop letting outsiders pull images off your server; only let your own pages refer to them. It's an Apache FAQ, fer cryin' out loud.)
Every so often a friend will send me HTML mail, but I can cope. :-)
Yes, the old VMS operating system had this for its users' files by default. Doing things with file "foo" would actually create "foo;1", "foo;2", and so forth. (It's not a Unix system, so the semicolon isn't special to its shell.) Asking for file "foo" would auomatically pick the latest revision.
You quickly learned to issue the "purge old revisions" command once you smacked up against your diskspace quota repeatedly. :-) But being able to trivially look at older revisions was worth almost any hassle.
So if you google around for "linux filesystem vms" you may find something. Haven't tried looking myself.
...how about the compiler? One of my current random mutt
AI.cpp:33241: warning: You wrote 'neurons.merge(solution1, solution2)",
AI.cpp:33241: you probably MEANT "neurons->merge(solution1, solution2)",
AI.cpp:33241: but there is a MUCH better way to implement this whole
AI.cpp:33241: function; doing that instead.
I have qmail run ClamAV while still the remote host is still connected, so if a virus is detected, the mail never makes it into the regular mail delivery chain. And ClamAV's freshclam program keeps the database up to date.
But I don't have anything in place to ipfilter the systems attacking me. (Had something at one point, long ago, but lost it.) Do you get that many repeated attempts from the same IP to make the increased filtering worth it? If you do, could you post your script somewhere?
You might also consider having that script also add an at(1) job to remove the IP ban automatically after a few days, so you don't get a zillion stale DHCP address piling up. (Off the top of my head, that. Dunno whether that actually makes sense.)
...there are many languages out there which follow these rules, and humans always tend to hate them.
Why should we need a semi-colon to end a statement. The line feed should be enough. Well, that's the way it was in assembly language and shell scripting, but people bitched and moaned, and statement-separators have been a part of both kinds of language ever since.
Why should we need a closing brace. Cannot the compier SEE that it is the end of a block simply because the indenting is different? And yet, whenever Python is suggested as a language, the usual response is some language bigotry about "the indentation nazis taking over." Heck, even Stroustrup tried a variation of C++ where the try/catch blocks didn't have to be enclosed in braces, because the "try" and the "catch" made everything redundant. The compiler was just fine with it, but the people using the language clamored for the braces to be put back.
I'll stick to Python, but I'll let the sloppy Perl coders share the same air as me. :-)
Competent QA people are definitely worth whatever you pay them. In fact, as long as the testers in question are not built like pre-Subway Jared, they are worth their weight in gold.
I fondly remember reading a Usenet thread, just after the first Matrix movie came out, in which somebody with only a Hollywood-moviegoer's familiarity with AI and programming in general was going off on how bugs in a complicated AI program could allow the AI to turn evil, etc, etc.
Best response in the thread:
We call those heisenbugs and they are the bane of a programmer's existence. The whole damn point of a debugger is to replicate the same behavior as normal, not allow the program to choose to exhibit a different behavior.
"I'm going to look at you more closely now. Please act normal. (But it's your call if you don't.)"
Yeah, that "surprise inspection" works great everywhere else, why not in programming? Fucking morons...
I was happier not knowing about this function. soundman32, I shake my fist at thee. :-)
There used to be a mozdev plugin that would block all flash windows, but allow you to click individual ones to let them play. (It's no longer maintained, doesn't work with newer mozillas, and you can't even leave notes on the homepage anymore.)
All you'd really need at this point is something which remembers what kind of flash app you clicked on to allow to play, and once it saw a pattern, maybe it goes ahead and lets them play. Etc, etc.
(b), of course, which was my point.
If they answered the phone with a noncommital grunt, or even just "Hello" then I could easily be confused, because that's just rude. That's the question I asked the parent.
If -- as I was taught, for business contexts -- you answer the phone with some statement including your name, then they wouldn't have to ask.
Now, if you do that, and they simply ask for somebody else without identifying themselves, then hey, read 'em the riot act, because they're still rude.
how our group of developers is supposed to have a meeting with our customer's group of developers? I'm ginuinely curious how you would do this, since apparently you don't need to.
Email? Not real time, and not responsive, and everybody trying to "talk" at once. There are times when a linear flow of information is best, not the fractal branching of subthreads that's almost inevitable in large email conversations.
Text messaging? Yah, whatever. Like email, only with typos because everybody's trying to type in a hurry, and single-sentence lag because the other person isn't done talking yet.
Face to face? It'd be nice, but both groups are spread over seven time zones.
Conference calls are alive and well, and not "the rudest form of communication" by any means.
As for the "logging" thing, one guy types in notes in a wiki or something, then slaps a "meeting minutes" label at the end. Done. :-)
...my suspension of disbelief.
I loved the episode too, except for that minor bit where the crew is whispering so that the Romulan ship won't hear them. You know, across kilometers of hard vaccuum.
Then Spock drops a wrench onto the deck of the submarine^Wbridge, and Romulans all over their ship -- in the corridors, etc -- are all turning their heads, like, what's that clanging sound?
Once I stopped laughing, I also appreciated how the episode took on issues of racism head-on.
I was greatly disappointed that Denethor was never revealed to have been using another palantir (as was his right and duty as Steward). The movie portrays him as generally being a hardass until he goes insane, but the book shows that Sauron had played a large part in driving him insane via the palantir.
...can go to Valinor whenever they feel like it. Frodo and Sam pass such a group in the extended first DVD, and in the books there's a much longer sequence involving them.
(And there's no rush; the "last ship" in the movies wasn't about to sail, because there was no last ship. Plenty of Elves were left in Middle-Earth, and Cirdan "sail all you want, we'll make more" the Graybearded just kept building the damn things...)
Galadriel, however, was special. She was the only remaining one of the Noldor who had been banned from Valinor. (The others were dead or had returned.) The ban was rescinded at the end of the First Age. She was still too proud for her own good, though, and refused to accept the invitation. Also, she was one of the first to rebel, so the Valar were not keen on letting her back in.
Once she had learned how to get along with others, and in reward for her work against Sauron, the invitation was re-extended to her, and she accepted. So in her case, yeah, she had to wait until she was ready.
Usually I check Snopes and the Straight Dope archives. Last I checked, that snopes page wasn't there. (That "last updated November 2000" bit at the bottom is a pipe dream.)
Anyhow, nice catch and thanks for the pointer. Boy, my junior-high teacher is gonna be pissed when she finds out. :-)
Dr. Hawking's original synthesizer was an off-the-shelf module. Much of the hardware was customized, but not the voice. Same voice shows up all over the place.
Later, after voice customization became less freakishly expensive, he was asked whether he wanted to change it. He said no, because he and his family and colleagues had come to identify with that voice, and a change would be very difficult.
And he's never changed since.
Damn, just wait until that building gets a "restricted" floor and people start hitching rides with the mulebot.
Betcha the little guy's priority drops faster than a plummeting hospital elevator (think Resident Evil).
Calling a liar a liar sounds like something this guy does on a regular basis.
He runs a video game rental store in Canada, and doesn't hesitate to give shit to people who are trying to rip him off. "I'm sorry, I'm afraid I subscribe to the theory of intellectual osmosis. As such, I must now cease our conversation and move away from you before my intelligence begins to drop. Good day." is one of the far, far more polite ones.
More or less. The Black Death wiped out one-third to one-half of [any given European / West Asian / Middle Eastern geographical area], with the exceptions of Poland and Scotland, which didn't get touched.
Something to tell the next kid you find singing "ring around the rosey," a nursery rhyme about the Plague. :-)
For Sun's customers -- and therefore, for Sun -- backwards compatibility is king. Absolute king. (For example, you'd never see the kind of things that happened in the last version of the Linux kernel, where stuff was introduced in 2.4 and then dropped one release later in 2.6.)
That's why /bin/sh won't ever be POSIX compliant. Some scripts out there depend on the buggy behavior, and those scripts cannot be changed.
That's why fixed portable versions of commands (including sh) go in directories other than /usr/bin. They're present and available, just not the default.
And that's why the kernel prints its version name and number as SunOS 5.y, so that parsers will continue to trigger on "SunOS" and will view even the latest version of Solaris as numerically greater than the old BSD-based SunOS code. (Hate to say it, but most OSS projects would have let user code break and told the users it was their problem.)
Compatibility was in fact the whole reason for the Solaris version change that gets so many laughs from younger /. readers, or those who have never used a Sun. The jump from 2.5.1 to 2.6 changed so many things, and caused so many problems for Sun, that starting with 2.6-<2.7 they announced there would never be another incompatible break; never another change deserving of a bump in the major number.
Which, to them at least, meant that the leading "2." was redundant and could be dropped.
You find a computer-based application that I use which misbehaves in the presence of cosmic clock drift, and then I'll care about GPS correction.
An even better table: http://web.mit.edu/dryfoo/www/Info/condiments.ht ml
While that sounds all nice and freedom-loving, that's exactly why any group larger than about 5 people usually gives up on Perl.
So there's 10 ways to do something. Okay, great, you only need to use one of them to write the code. But it's not the same way I used, and neither of those are the same way as the guy over here used, and the sourceforge[t].net code we just downloaded uses a fourth way, and the new hire wants to use a fifth because "it's the Perl Way."
So now all of use have to know all 10 ways of doing the same damn thing, and all the minor ways in which they differ. Just to read and maintain it, not to write anything new.
"More than one way" is fine. Anarchy is not.