Forum Code

I’ve noticed that “PM Spam” seems to be the new thing. A spammer signs up and sends private messages to lots of people. They’re usually not terribly obviously-spammy, either.

On one site, where I basically never used my account and never uploaded any info at all to my profile, I just got this private message:

Helo,

i waz browsin over for people like me, and I unearthed ur profile. You look like you’re a rather noticeable person, but I’m somewhat inexperienced at how things work here, and dont know where to go. Shouldn’t they have some sort of chat thing here? i hate writing messages to ppl, & maybe not receiving a responce! Well, if you are interested in talking with me, you can catch me over @ [link to another site], my name over there is [redacted].

So, ya, hope to see you there. I’m always lookin’ to meet more ppl.
[redacted]

My profile is totally blank, so I’m definitely not a “rather noticeable person.”

I think this is an easy problem to fix, though. For one, it should be easy to institute fairly sane limits on PMs. Don’t allow them to send more than [their total number of posts] PMs per day, or more than one a minute. (And you should have backend monitoring, so that if PMs are being sent exactly every 60 seconds, you catch on pretty quickly…)

Plus, when I have a PM, why not display, “This user has sent n private messages in the past 24 hours.” I can see, “This user has sent 1 private message in the past 24 hours” and think, “Wow, a real person! Contacting me!” But in this case, I’d see, “This user has sent 152,524 private messages in the past 24 hours,” and think, “Wow, way for the admins to be oblivious!”

Jerks

Quite some time ago, I came to realize that the best ‘teachers’ of a subject (not necessarily academics, but real-world) were the people who had to learn something the hard way. For example, I absolutely, positively cannot explain third normal form for databases, simply because it’s intuitively “right” to me, whereas 1NF and 2NF are intuitively “wrong.” Even when I carefully read up on how 3NF is defined, it’s hard for me to explain to someone.

On the other hand, there are some things that I used to be exceptionally bad at, which meant that I had to work really, really hard to get better. For whatever reason, being a geek is strongly linked with having horrendous social skills. And I’m a geek. I’m still not Mr. Charisma, but I’m no longer the weirdo at the party who’s sitting in the corner talking to himself about linked lists versus associative arrays. Because social skills weren’t as intuitive to me as they were for others, I became pretty accustomed to studying little details in how people act, and to consciously thinking about things that other people never spend time on.

Being unusually “tuned in” to how people interact, I’ve recently come to another conclusion, perhaps related to the above: a lot of computer experts are ecocentric jerks.

Of course I don’t mean everyone. (In fact, I don’t mean anyone here.) But with open-source software, or really any community project, it’s easy to see what goes on behind the scenes. And since it’s usually not a formal job, no one has to worry about being fired.

I’ve had my server in the NTP pool for a long time, and am on a mailing list for people who run NTP servers. The other day, someone posted about how he was having trouble with his server frequently being flagged as giving bad time, and asking how he might figure out exactly what’s happening and fix it.

The first reply essentially said that it’s because his server is horribly-configured. And it went downhill from there. Someone else said that if he can’t figure out how to fix the problem, he really has no business volunteering his server’s resources to the pool.

And then my favorite people came out: the ones that start griping about your e-mail formatting. You see, on this mailing list, people tend to reply inline. This person replied to one of the ‘friendlier’ e-mails, giving a little more information about his subject. Like 95% of computer users, he hit “Reply” and typed his message at the top of the message. Someone on the list replied, chewing him out for this, citing it as evidence that the person was clueless about basic Internet standards. (It’s not quite as good as the people that complain that your message doesn’t look right in an e-mail client from the 80’s, but it makes up for it in terms of being aggressive and very deliberately insulting.)

This is the same thing that I think keeps a lot of people from embracing Linux. They run into a common problem and post somewhere asking for help. And someone replies, quite promptly, telling them that they’re an idiot and that it’s covered in a man page somewhere, and that they really should have searched before wasting everyone’s time asking. And that person probably decides that the Linux community, as whole, is a giant douchebag, and they go back to Windows.

A lot of projects also seem to fall apart over pathetic arguments. You get fights over the proper formatting for indenting source code. (Two spaces? Five spaces? A tab? One space?) People want to use slightly different algorithms to do something, and each side flips out about how the other side is clueless and clearly has no experience. Nothing is a matter of opinion or personal preference: you’re absolutely wrong when you use a tab to indent, and the fact that you put curly braces on a new line indicates that you’re clearly a novice programmer. No, it’s not easier for you to read, and if you wanted your code to be easy to read, you should be using Visual Basic anyway.

This type of stuff drives me crazy, because it sometimes seems that whole communities are full of little kids who have to get their way, who have no concept of what’s a big deal and what isn’t, and who have absolutely no clue what it’s like to try being nice to someone. Someone graciously donated some of his server resources to the NTP pool. When he started running into problems with it and asked for help, the community essentially flipped him the bird, telling him that he was useless and had no business trying to run a server if he couldn’t solve his own problems. We probably lost a member today. But do you think many people care?

Wikipedia has a policy called Please do not bite the newcomers, accompanied by what has to be the most awesome image ever created. Essentially, you’re supposed to try to help newcomers understand the way things are done, instead of insulting them with a bunch of obscure acronyms and telling them they don’t belong. And a decent amount of people there abide by the policy.

I’m sure it’s not limited just to computers. I think open-source development is much more highly-visible than commercial software development, meaning that the feuds between developers are done in the public eye. Any group is going to have some jerks. On a message board I frequent, a member returned after a several-month absence, during which it turns out that she almost died from cancer, but a couple other members helped to get her into surgery. So someone posted a thread welcoming her back. Lots of people posted uplifting messages, including some of the administrators welcoming them back and talking about how great it was that the community was able to help. And then someone–a regular member, no less–posted a reply that this type of thread was really inappropriate, and why should she get special recognition just because she almost died from cancer…

It’s almost classical behavior in children: be mean to other people to boost your own self-esteem, insist on getting your way all the time, and so forth. But really, it downright scares me that some people are growing up and still have such an insanely self-centered view of the world.

It works!

It seems that everything is up and running.

I fully expect something, somewhere to be massively broken, I’m just not sure what is broken or where. Let me know as oddities pop up.

Activist Judges

Let me start by saying that there have definitely been some “bad” court rulings, both recently and throughout history. But there are two points I’d like to make about “activist judges,” both of which are things people seem to overlook and that drive me crazy.

“Activist judges” has become a lot like “special interest groups,” in that it’s a term that one side uses to demonize the actions of the other. The Democrats speak out against activist judges ‘electing’ Bush, and Republicans speak out against activist judges allowing gay marriage and abortion. What the two sides call “activist judges,” then, isn’t at all similar–an activist judge is someone who makes a decision that’s unpopular with one political party.

Today’s Nashua Telegraph carries a letter to the editor from someone pointing out the major problem of judges “ignoring the will of the voters.” It’s very well-written, but has one glaring problem: that’s how the system is designed to work. The Founding Fathers1 knew the problems of legislators running amock, and the “will of the voters” sometimes being misguided. (See tyranny of the majority, for example.) Throughout history, “the will of the voters” has been to deny women the right to vote, to enslave blacks, to deny blacks the right to vote, and many other things that, in retrospect, were just really ill-conceived ideas. (Unfortunately, it often seems that it’s legislators, not courts, that pave the way for progress, but I digress.) So the judicial branch is supposed to ignore the will of the voters, and instead focus on the founding principles of our nation. That’s why judges are usually appointed for life: to insulate them from political influence. Even if we end up with a radical2 liberal or conservative President, they won’t be able to made too big of a difference to the Supreme Court. That’s deliberately in place.

Yes, the courts have made some bad rulings. Sometimes I think they’ve trampled the Constitution, and I do believe that a handful of judges over time have allowed their personal and political convictions to get in the way of justice. I’m not sure I’d call them “activist judges,” though: I’m not sure I’d call them “judges” at all.

But there’s a lot of ambiguity in the law. Sometimes the law even contradicts itself. There really isn’t a lot of black-and-white in the courtroom: even when the law is clear, there are probably different laws that could apply, too. Thus a 5-4 Supreme Court ruling doesn’t necessarily mean that 4 (or 5) judges were “wrong,” so much as that there are two strong, conflicting arguments, and the judges applied different reasoning.

I’m willing to bet that, throughout history, people have criticized rulings. Dred Scott? Brown v. Board of Education? Scopes v. State [of Kansas]? But all of a sudden, we’re applying the label “activist judges” and implying that judges are disregarding the law and just going with their own personal beliefs. Surely, it happens. But surely, it doesn’t happen nearly as often as people seem to complain about.  I’m not all that convinced that there’s a pandemic of “activist judges” all of a sudden, but that a lot of controversial issues have come to the surface in the past decade. What’s new, as far as I can see, is that people are rushing to blame the judges for their personal rulings. It’s sort of like an umpire at Fenway ruling that the Yankees tagged a Sox runner a fraction of a second before he reached the base: it’s going to be a very unpopular, very controversial ruling, and probably attract lots of booing. People are going to claim that the umpire was bought off, or biased, or just blind. But most times, that’s not really the case, and we’re just taking our disappointment out on the person making the call, even though the call was right.

So I’m not disputing that “activist judges” exist, perverting justice by imposing their own beliefs instead of the facts. I just think they’re a lot rarer than people claim. When dealing with controversial issues and applying very unclear laws to them, there are going to be rulings where the facts were interpreted differently than you like. So to me, “activist judges” are almost a sort of conspiracy theory: as if a cadre of liberal or conservative (depending on who’s making the accusations) judges have secretly infiltrated our courts and flagrantly disregarded all the facts, just going with their personal opinions. And I really don’t buy that there’s a judicial conspiracy on either side of the aisle.

But whether you believe that there’s a judicial conspiracy underway or not, you should at least refrain from complaining about judges that “disregard the will of the voters.” That just means that the system is working: they should be disregarding popular opinion, and only looking to apply existing law.


[1] This usually isn’t a proper noun, but I think it ought to be.
[2] And I really mean “radical.” Both leading candidates have been called “radical,” but I mean it in a more literal sense: a “radical conservative” might espouse Fascism, and a “radical liberal” might think that Socialism was too conservative of a system. (Okay, and Bush and McCain have been called Fascist, and Obama et al. have been called Socialist, but I again mean it literally, not as an exaggerated way to demean someone.)

Intel’s Got Bite

I just came across a reference to Intel’s E5440 processor. I’ve frankly kind of been annoyed with the multi-care phenomenon: it’s a great idea, but for the longest time, we were seeing things like 2x 1.6 GHz, which weren’t any better than the 1x 3.2 GHz you could buy a few years ago.

Not even mentioning the fact that it’s a 1333 MHz FSB, it’s all-around amazing. It’s a quad-core Xeon chip. 2.83 GHz clock speed, meaning that the chip is now much faster than any previous processors (since there are four 2.83 GHz cores on the CPU). So I was very impressed. But it turns out that it also has a 12MB L2 cache, which is gigantic.

Suffice it to say, I want one. 😉

Coming Soon: Downtime!

My old (and current) server will start the next billing period on the 23rd. I need to give two day’s notice to cancel, which means, as I understand it, today (Thursday the 21st) is the last opportunity for me put in a cancellation notice. I intend to do so in the afternoon.

The plan is that I’ll deploy the shiny new Debian VM image Andrew got working on the new server in the morning, set it up to do DNS, update the domain records, make a full backup of the old system, and then request an “End of billing period cancellation,” which should mean that the old/current server will stay online through the 23rd, giving me two whole days to get the new one working, which should be something I can do in an afternoon. I suspect that DNS may become a major headache, though.

This is the only way to avoid paying for another month on a server that’s now very old and outdated, yet suddenly more expensive as my hosting company thought that they should give more than a 50% increase in costs to their long-term customers. The way I’m doing he move is hardly the ideal way to do it, but it’s the, “I’m not paying $86 for another month” way of doing it. This method has some risks, though:

  • In theory, the cancellation should be an “End of billing period” cancellation, meaning that when I submit the cancellation order on the 21st, it’ll go dark on the 23rd. In practice, they may pull it earlier. (Which I’ll fight, but it’ll still be down…)
  • The new DNS records may point people to the new server before the kinks are worked out. If the blogs are suddenly a default Apache “It works!” page, don’t fret. (Again, it’s poor practice to ever have DNS records pointing to servers before they’re ready, much less tested. But unless preventing this is worth $86 to anyone, it’s a risk I’m taking.)
  • The old DNS records may not time out as quickly as they should, meaning that the new server is up and running well and life is peachy, but some clients may still be trying to connect to the old server after it’s offline.
  • The new server might not be up before the old one is taken offline, in which case DNS doesn’t matter either way because neither instance of the site would work at the moment.
  • Things could go better than expected, and the new server comes up tomorrow afternoon/evening, and the old server stays online until the 23rd. But some clients may get the old IP while others get the new one, resulting in major headaches trying to keep the data synced so that people see the same content.

I’m making a full backup before starting anything, and then I’m copying data directly to the new server, so existing content will actually be safer than ever. (As it will reside on three different disks.) However, there’s a decent chance that the sites hosted here will be unreachable at some point between now and the weekend, and there’s an even greater chance that anything posted between now and then will reside only on the server being decommissioned. If all goes according to plan, I can manually sync any new posts over, so it shouldn’t be a big deal in any case, but things with computers rarely work as planned, so the short version is until further notice, don’t post anything here that you’d miss if it were irretrievably lost. (However, do feel free to post, just please don’t post a painstakingly-composed, heartfelt post without saving a copy on your computer.)

Neater E-mail Products

Open-Xchange is exactly what the name might suggest: an open-source competitor to Exchange. It’s one of the businesses that has both a free (GPL) version and a proprietary, expensive version. Note that the free stuff doesn’t work with Outlook, meaning that it’ll be a great web-based groupware solution (e-mail, contacts, calendar, to-do lists, and even file management, and any of that can be shared with other users on the server), but that it won’t interface with Outlook. There’s a demo of the web GUI here, which seems pretty spiffy. (It’s the non-free version, but the functionality, from what I’ve read, should be the same, or at least similar.)

Open-Xchange appears to sit on top of Postfix for SMTP and Cyrus for IMAP: it’s a spiffy interface to existing (popular, arguably best-of-breed) technologies, instead of trying to write a mailserver from scratch. This means that ‘normal’ mail clients can access the e-mail too. It also means that ‘normal’ server stuff can be dropped in: MailScanner for anti-spam, for example. (Aside: I didn’t know that SpamAssassin includes Bayesian support now.)

However, Open-Xchange is severely limited if it can’t work with an Outlook client (IMHO). I also use GMail for e-mail and calendar, and use my Treo as my primary calendar and contacts database. So it’s getting to be this big mess with things existing in many places.

So enter Funambol. It’s normally described as being something for syncing mobile phones: contacts, calendars, and all that, too. However, I view it as even more novel: it includes a lot of connectors, so that, to me, its best quality is that it can function as a synchronization layer. It’ll sync with Open-Xchange via a connector, meaning that I could update contacts in Open-Xchange and get them on my Treo. (It also includes an Exchange connector.) And there’s a connector for GMail, too, meaning that it might just be possible to get all the places I keep my contacts and calendars and to-do lists to stay synced up.

And, Funambol includes Client Plugins for not just things like Windows Mobile, Palm, Blackberry, iPod (?!), and iPhone, but also for desktop clients like Outlook and Evolution.

I’m sure it won’t work out quite as perfectly as I’m dreaming it can. I’m already starting to doubt the Google integration: it seems the connector might just be for contacts, for example, when what I really want is Google Calendar.

And on the subject of “the cloud” and syncing your data between devices, Kyle’s comment about how he was running his own Mozilla Weave server got me curious. There are some directions on how to set it up here. (Note that there isn’t a “Weave Server” software product per se, it’s just a browser plug-in that communicates with a server using WebDAV in a specific manner. It can do encryption, too, it seems.)

Neat E-mail Products

I stumbled across two things I didn’t know existed before.

The Anti-Spam SMTP Proxy (ASSP) is exactly what the name suggests. It sits in front of your existing mailserver and runs various anti-spam measures. Linux users already have MailScanner which seems to bring various technologies together, but there’s something neat about being able to ‘drop in’ an anti-spam tool. (Almost like a Barracuda, except free.)

I also noticed Claros inTouch, which for some reason, I’ve never heard of. Which is a shame because, from the looks of it, it’s the best-looking webmail client on the face of the planet. (Yes, even cooler than RoundCube.) I haven’t looked into it too much, but it seems that it’s free (they refer to “free as a bird,” typically “free as in speech,” but it doesn’t look like you have to buy it, either), and it also seems that, being AJAX, it does POP/IMAP in addition to ‘normal’ webmail, which might be interesting.

Of course, I haven’t actually worked with either of these, but thought they might be interesting options.