Adam Kalsey says it:
Now spammers have turned their attention to weblogs and comment forms. In order to increase search engine rankings you are posting advertisements to our Web pages. What you failed to understand is that bloggers are smarter, better connected, and more technologically savvy than the average email user. We control the medium that you are now attempting to exploit. You've picked a fight with us and it's a fight you cannot win.
And you know what? He's right--at least for the most part. It seems to be that the majority of new bloggers are not so technically savvy, but that probably doesn't matter. Most are probably using hosting services like TypePad. Search engines are pretty smart about discounting links that all come from within a single domain.
That means blog comment spammers have to go after those that have their own domains. When they do, the odds of them hitting someone who's a lot smarter about fighting spam increase quite a bit I think.
One of the cool things about CVS that I've found incredibly useful at work is getting commit (check-in) notifications via e-mail. I've long wished I knew how to set that up for some of my personal repositories. Specifically, I had my book repository in mind. Since there are two of us collaborating, it'll be easier to know when the other has done something.
It turns out that it's really not rocket surgery at all. In the CVSROOT directory is a file called loginfo. By adding a line like this to it:
^book /usr/bin/Mail -s [book cvs]: %s email@example.com
We're able to get the e-mail upon commit. More information is here in the CVS manual.
You see, Hotbot was the first to introduce a tool like this. In fact HotBot had released such a tool quite a while ago, and at least they admitted that the bulk of it came from Dave Bau's tool.
It's too bad the press covering this stuff has such a short memory.
I just had this revelation the other day when I was forced to call ShittyBank, err, I mean CitiBank. You see, they splashed up a cryptic error message when I tried to login to their web site and view my credit card balance. It claimed there was an error and that I should call.
I couldn't imagine what the error was. It had worked fine just a couple days before. So I called. Remarkably, I got a human within 10 seconds. But that's about the only good thing I can say about the experience.
In Derek style, here's an abridged version of our discussion. We pick up the discussion after she got my CC number and confirmed that the various charges from Asia were, in fact, mine. That got me wondering...
Me: I'll be travelling again in a few weeks (to India). Would it help if I told you in advance this time.
CSR: Yes, it would! Could I have your departure and return dates?
Me: Sure. I'll be leaving from SFO on date, flying to Frankfurt, and then staying in Bangalore until I return on date.
CSR: Great. Will you be travelling anywhere else during that time?
CSR: Okay, I've put the information in your file. Thanks! This doesn't mean that the problem won't happen again.
CSR: This won't prevent your card from being flagged as stolen or having fraudulent charges.
Me: Wait a minute... Why did I just give you even more personal information about me than you had before?
CSR: In case our fraud department manually reviews your account.
Me: Let me guess. They don't manually review every incident, do they?
CSR: Of course not. ShittyBank is a very big company.
Me: So we're having this discussion on the off chance that someone decides to look at my file after you've decided there's a problem.
Me: What are the odds of that happening?
CSR: I don't know.
Me: Just so I'm clear. I've verified my identity to you. I am me and have my credit card in hand. You'd probably increase my credit limit right now if I asked. But you won't take my word for the fact that charges made in India are very very likely to be mine?
CSR: That's correct, Mr. Zawodny.
What I failed to ask is why their fraud detection waited nearly a week to do damned thing about any of this. As I said, I had no trouble a few days ago.
There was a lot of reaction to my recent post about MySQL at Sabre, most of which I don't have the time or interest to respond to. Too many people just Don't Get It and Never Will.
But I was inspired to visit the church sign generator and make the image you see with this post. I think it's amusing. :-)
Anyway, life would be so much easier if people stopped trying to think of MySQL in terms of Oracle or PostgreSQL or MSSQL or DB2 or... other database servers. It's none of them. It does many things they do not and doesn't do things they do. It satisfies different needs.
And, finally, those who want to argue that "a real database server should do ________ or ________" don't get very far with me. I don't care what you think a product should do in some abstract general terms. I care about how MySQL fits the needs of people I work with. Often it does. Sometimes it doesn't. And I have little problem figuring out the difference.
But, hey, if you feel like bitching MySQL, I won't try to stop you... But the recovering catholic in me knows that you'll probably go to hell for it.
In roughly 3 weeks, I'll be traveling to Bangalore, India to speak about MySQL at Linux Bangalore/2003 and to spend some time at Yahoo's Software Development Center (SDC) doing some training and hanging out with the crew there. Getting there involves some long-ass flights (stopping in Frankfurt), but it should be very worthwhile.
Now, I've never been to India before, so I'd appreciate any travel and cultural tips that might be helpful to a visiting American.
Also, if you happen to live in Bangalore and would like to meet up sometime, shoot me an e-mail or leave a comment here. Let's see what we can work out. You never know...
Felt tired at 10pm last night. Laid down for a bit. Woke up at 5:30am today.
So much for the stuff I planned to do last night. On the plus side, I'll be to work way early, so I can come home earlier than normal. Yeay!
A few months ago, I found myself in a drawn out stupid argument about MySQL with a self-proclaimed database expert. Along the way, I mentioned that Sabre was using MySQL in a pretty serious way. Not only did he tell me how completely wrong I was (because he knew people there and must be right), he refused to entertain the possibility of a company with such mission-critical systems using little old MySQL.
Well, Mr. Database Jackass, I've got news for you. You're wrong.
Here's the press release: Sabre Holdings Air Shopping Products Leverage MySQL Database
I know that you'll probably never read this, but on the off chance that you do, consider cracking your mind open just a little bit next time around. I told you that I absolutely knew that Sabre was working with MySQL, but you were too damned stubborn to listen. That's too bad. It makes you look less like an "expert" and more like a closed-minded idiot.
And while we're on the topic, here are two other recently MySQL announcements:
...just so you don't think this is some sort of freak event.
Yup, it's that time of year again.
Ever since I've graduated from college and worked full-time, the end of the year has meant that I need to set aside some time to fill out forms as part of a formal review process. The idea being that I assess myself, my manager assesses me, and my peers provide feedback. This all gets stirred together by my manager and then results in a rating of some sort and possibly an annual raise.
I usually have no trouble providing peer feedback. As long as I've worked with someone more than a trivial amount, I can usually think of something positive and negative to say about 'em. But when it comes to do the self-assessment, I'm always a bit stumped.
I really have no concept of what the expectations are--for me. I never really have and maybe I never will. I mean, it's me. Myself. I've with me 24 hours a day. How do I rate me?
Does everyone find this process exceptionally difficult? Or is it just me?
(Oh, I can't help but to comment on how odd it is that Yahoo! and my previous employer seem to use nearly the same assessment system. It's a bit spooky, really.)
As the result of a recent server-side change, anyone using the Unix Yahoo! Messenger client may connecting to the wrong (read: legacy, unsupported) group of servers. This may result in random disconnects.
To solve this, you have two options:
In short, you preferences file should say this:
Why there's no built-in facility for doing this and no automatic warning when you connect to the wrong server group is a bit of a mystery to me.
Have you even woken up at, say, 8am on a Sunday and then eaten breakfast? Yeah, me too.
Did you then start to feel a bit tired around 10am? Yeah, me too?
Did you then lay back down "for a few minutes" only to wake up at a bit past 2pm? Yeah, me too!