random title

Entries made in December 2004

This page contains all of my entries posted during the month of December 2004.

It's snowing, bitches

Posted by Dave on December 25, 2004 at 05:39 PM | Comments (0)

That is all.

Anti-spam: Dual honey traps

Posted by Dave on December 22, 2004 at 03:17 PM | Comments (2)

While posting the first article in the redesign series I realised I was in the middle of a spam attack. I got quite a few spam comments on my own blog, and more than a few on both Claires and Captain Ds blogs.

I spent quite a while last night deleting them from my main blog, and most of this morning deleting them from my supporting blogs (like my link blog) and from all the other blogs I host for my friends from this install. Inconveniences like these will make you understand that spammers are, to put it mildly, scum.

While I was deleting them from my blog, I grabbed the IP address of each spammer, so that I could block them with a .htaccess file. I found that there was a low ratio of comments to IP addresses. These things were coming from everywhere.

I implemented the Comment Spam Quick Fix from over at Burningbird, but I thought it could be improved.

I've renamed mt-comments.cgi to zombocom.cgi, and updated my templates accordingly. Anything that hits mt-comments.cgi automatically gets their IP added to the blacklist. This is the first honey trap.

The second honey trap is in the new comments script. Anything that fails the Comment Spam Quick Fix test also gets added to the black list.

I don't have a clue if this will work with version 3 of MovableType, but I suspect it won't. All I'm certain of is that it works with my copy of MovableType 2.661, which is otherwise unhacked. It may be possible to adapt it to MT3. Use this at your own risk.

First steps

  • Download a copy of your mt.cfg file.
  • Download a copy of your mt-comments.cgi script.
  • Rename mt-comments.cgi to a different file name (I use zombocom.cgi in this example).

The new .htaccess file

Put this in a file called “.htaccess”:

  1. Order Allow,Deny
  2. Allow from all
  3. # Automatically added

Download this code (1.txt), or download my most recent htaccess file.

Renaming the comment script

You've already renamed the file, now you need to let MovableType know about it. Open up mt.cfg, and replace the line that reads:

# CommentScript mt-comments.pl

With:

CommentScript zombocom.cgi

Save your changes.

Rigging the first honey trap

Take this code and save it as mt-comments.cgi

  1. #!/usr/bin/perl -w
  2. use strict;
  3. # Tasty honey
  4. open(DENY, ">>.htaccess") or die "Tried to add host (" . $ENV{REMOTE_ADDR} . ") to deny list, but failed to open file\nError: " . $!;
  5. flock(DENY, 2); # <-- Lock the file
  6. print DENY "Deny from " . $ENV{REMOTE_ADDR} . "\n"; close(DENY) or die "Tried to close deny list but failed (Host: " . $ENV{REMOTE_ADDR} . ")\nError: " . $!;

Download this code (2.txt).

Rigging the second honey trap

Update your templates as per the Comment Spam Quick Fix, but instead of their edit of mt-comments.cgi use the following code in the same place in zombocom.cgi:

  1. use CGI qw(:standard);
  2. if ($ENV{'REQUEST_METHOD'} eq "POST") {
  3. my $data = param('snoop');
  4. unless ($data) {
  5. # Tasty honey
  6. open(DENY, ">>.htaccess") or die "Tried to add host (" . $ENV{REMOTE_ADDR} . ") to deny list, but failed to open file\nError: " . $!;
  7. flock(DENY, 2); # <-- Lock the file
  8. print DENY "Deny from " . $ENV{REMOTE_ADDR} . "\n";
  9. close(DENY) or die "Tried to close deny list but failed (Host: " . $ENV{REMOTE_ADDR} . ")\nError: " . $!;
  10. die;
  11. }
  12. }

Download this code (3.txt).

Installing the spam fix

  • Upload mt.cfg, zombocom.cgi and the .htaccess file. Make sure zombocom.cgi and .htaccess have the correct permissions.
  • Rebuild your site.
  • Upload the rigged mt-comments.cgi script.

Hopefully this is of some use to you. It seems to be working for me... I've already caught a few bots while writing this article. If anyone has any suggestions or bugfixes, please leave a comment.

Making a start

Posted by Dave on December 22, 2004 at 02:55 AM | Comments (0)

The first part of the redesign series.

So now, a site must be designed, and work has to be done. But what will this work be? How do we decide how we are going to accomplish our goals?

The very first task is to decide what these goals are. This may seem obvious, but it's not as obvious as you may first think.

Getting site goals from a client

Often, a client will state their goals for a site, and it will read like a list of features. A client may say something along the lines of “Well obviously we need a home page, a product catalogue, and a contact page”. They may very well need all of these, but you should dig deeper than this. Be sure to ask them why they think they need these features.

If they've put any thought into it, they should be able to give you their reasons. If not, they've probably just assumed it needs to be there. Such assumptions are dangerous. You don't want to be locked into providing a feature on the site that you know shouldn't be there.

Let's take a look at the example of the product catalogue. Ask them if they plan on selling their products over the web. If they say yes, make it clear to them that the product catalogue will only be the public face of this; there is a lot more to an online store than what a customer sees.

If not, then what are the consequences? Can you imagine Amazon without the buy button? Depending on the products your client sells, a full product catalogue could do little more than annoy their customers.

If they are not going to sell their products over the web, why do they want a catalogue? If they want to use their website to increase their sales, there are better ways to do this.

In neither case is their actual goal to simply have a product catalogue. The client sees the product catalogue as a means to achieve their true goals. Discovering and clarifying these goals is one of the most important parts of making a website.

This site

You may be wondering why I'm mentioning this, as I'm designing my own site. But my client is myself, and in many ways I am the worst client possible. I may assume I need a certain feature on site, and push it through without making certain that it is necessary. It's easy to make such assumptions when working on personal projects.

O, and I'm paying myself terribly.

Why, for example, do I need a blog on my site? The answer is that I don't, unless it helps achieve a goal that I have set.

The goal of the new site is, first and foremost, to earn me more money. Goals like this need to be clarified. How do I intend to achieve this?

One of the things I'm working on is a product that will be very useful to a lot of web designers. To help me sell this product, I want to attract web designers to my site. A good way of attracting web designers is to become a solid resource to them. One way of doing this is by writing content that is of interest to designers, such as a running case study of a redesign.

I also offer web design and development services myself. I want people to hire me, so I must display my competence.

The goals of the new site

The site goals are:

  • Help me make more money.
  • Increase the number of visitors to my site from the target audience.
  • Display competence in my abilities, so that I am more likely to be hired.
  • Provide information about my product(s), in manner that raises interest and drives clients to contact me.
  • Encourage potential clients into a one-to-one conversation with me as soon as possible.

Remember this: design is, at its most basic, problem solving. By setting clear goals, you can understand the problem well enough to solve it.

Design series delay

Posted by Dave on December 21, 2004 at 01:41 AM | Comments (2)

My brother nearly burnt the house down today. Good work, Richard. That's enough excitement for one day. The start has been postponed until tomorrow.

In the meantime, check out this picture.

The design process

Posted by Dave on December 19, 2004 at 01:03 AM | Comments (0)

I'll be working on redesigning this site, as the design doesn't fit the new direction I have in mind. I've decided to open the design process up, so that people can see what I did to create the new site.

I'm not going to say that this is the one and only way to design websites, but I know that a real-world example would be very useful for people to study, particularly those who are just starting to learn.

Plus, as an added bonus to me, having to document my work in detail will help me to think a lot more about what I'm doing.

First update on Monday.

Christmas Wish List

Posted by Dave on December 18, 2004 at 02:16 AM | Comments (0)

I've made a Christmas wish list. Looking for last minute gift ideas for the most sex-obsessed evangelical Christian ever? Look no further.

Purchase of at least one gift from this list is required for continued friendship.

Continue reading "Christmas Wish List"

Site launch: Transware PLC

Posted by Dave on December 17, 2004 at 11:41 AM | Comments (0)
A screenshot of the transware site

I did some work for Transware PLC recently, and I'm happy to announce that the site has been launched. I was involved with the visual design, template creation, and asset creation. This site was built using web standards.

Anatomy of a face

Posted by Dave on December 17, 2004 at 02:45 AM | Comments (1)
I now have a mangey beard. Hurrah!

As I do not have any client meetings until the new year, and have no pressing need to look dashingly handsome - having no particular fair lady to impress - a strange opportunity arose... to grow a beard. I had also blunted my last razor-blade... a new one would require half an hour of travel (and a solid short-term memory). The beard is therefore a combination of experimentation, laziness, and clear hilarity.

My problem with hot women

Posted by Dave on December 10, 2004 at 01:01 AM | Comments (19)

Like most people, I have hang-ups about sex. I worry if I'll ever be good enough in bed, and I worry if I'll ever get over my performance anxiety enough to actually enjoy myself. I'm a virgin, and I know that after my first time I'll probably be a bit ashamed at myself for my obvious lack of finesse. Well congratulations, dipshit; you're bound to be crap the first time. Don't expect to be some kind of sexual virtuoso on the first attempt.

But, I've got a bigger problem. Because I believe what I believe, I can't have sex before I get married. Now, I'm sure this is for the best in the long run, but it is (to put it both mildly and bluntly) a right pain in the sack.

But that's not my real problem. My real problem is this. When do I say to a woman who I've met and that I'm interested in, that I can't have sex with her unless we end up getting married?

It certainly can't be the first thing I say. The following isn't a great way of starting a conversation:

Me:
Hey there.
Hot woman:
Well hello!
Me:
My name's Dave. You won't be getting none of this ass.

But similarly, I can't say let the situation progress to here:

Hot woman:
Well good morning, sleepy-head!
Me:
I have something to tell you. You won't be getting none of this ass. Er... again.

So, how do I deal with this? I know from experience that it's not necessarily the kind of thing a woman wants to hear. How do I bring this subject up?

Update for December 3rd

Posted by Dave on December 03, 2004 at 02:28 AM | Comments (2)

Usually, I have to be told to shut up. Never did I expect that doing so voluntarily would result in angry messages being sent my way. So I'll make a deal with all those whiners: I'll write, and you won't complain about the quality.

And send me a medal. Thanks.

Chief whiner

Grimlock. In a wig. Firing lasers out of his eyes

Most vocal about all of this has been Claire. Every time I talk to her, it's been Why aren't you writing? this, Why aren't you writing? that, and When someone gives you a compliment, say “thank you”; not “I know”. I'm getting a bit tired of it.

I tried my best to find an angry picture of Claire, but I couldn't; you'll have to make do with Grimlock. Although both lead packs of dinosaur-like robots, that's where the similarity ends. I've tried to make the picture look more like Claire by adding in some curly black hair and lasers shooting from his eyes.

So, what's been really bothering me about Claire lately? Take a guess. It's her fucking laser beam eyes. For quite some time now, I've been trying to cut a deal with the Man upstairs for the ability of flight. So far, nothing. But I've told Him that, if it is not His will that I can fly unaided, then I will settle for being able to shoot lasers from my eyes.

And what do I see on Sunday? Claire, shooting lasers from her eyes. Then I find out that Kevin has some weird ability to deal with crazy people, a skill I could obviously do with. Obviously.

Bastards. The lot of them. The contempt I feel for them right now, sitting on my clearly non-flight-capable ass, is beyond measure. Bastards.

The other two

Less vocal have been Des and Aidan. Alright, that may be a bit of a stretch... Des has been mainly saying things like What the fuck is with those pictures, and Aidan has been complaining that my RSS feeds don't output full posts. But I need some sort of segue into the following events.

Aidan is living over in England with his fiance Lori, but was over here for two weeks recently. On the first Tuesday, at 11 O'Clock, Des decided we were going into town. After a quick drop home for a change of clothes and food (and to drop my laptop home), I caught up with them both at the Q-Bar. Aidan was drunkingly playing drums with the table, to a beat that had nothing to do with what we were hearing. We left soon after that, and headed down to the the Viperoom. It's hard to put things in order, but what I do remember is:

  1. A comfortable ground floor, and a dingy underground dancefloor.
  2. Aidan dancing, on his own, to some Nirvana; though there was no Nirvana playing.
  3. A spectacularly attractive young woman who was, unfortunately, more drunk than Aidan.

We dropped into Zaytoons for a kebab, then got a cab back to Des' house. I was woken up in the morning by Des, then after falling asleep again, by Des' great sister. She did not impress me at all when she called me Rory.

We headed out again the following Wednesday; again, a last minute decision. We met in Doyles, then popped into the Plu+bar (Renards, basically). The barmaid seemed intent on proving to everyone that yes, she had large breasts; and yes, she made it very obvious. Another thing that was very obvious was the sky-high price of a pint. Five euro for a pint of Carlsberg! (Photo of receipt on its way).

Aidan was pissed off that the place was full of “poshos”, and that his semi-formal attire would probably get him kicked out by snobs. He complained that if you dressed up nicely, or were a hot woman, you'd get in. Me, I thought this was a great deal: dress up nicely, and get into a place full of hot women.

And damn it, it was. I noticed two damn fine women checking me out. I didn't do anything about the first woman; I'd just arrived. But I noticed the second woman later on in the night, we caught each other's eyes across the crowded bar. I look at her and smiled, then tried to beckon her over with hand signals. I'm such a lazy bastard when drunk (and in general); there was no way I was going to walk through all those people who were in the way. Suffice to say, she didn't seem to appreciate that.

Claire, this is what I was talking about when I mentioned my “hilariously shit technique”. I'd be a bit disappointed in any woman that responded favourably to that.

I stayed with the group, then went again to Zaytoons... best kebab shop in the city.

What's the best thing about this entry? Although not all of the websites linked here are crap, a lot are. It's the highest number of crap websites that I'll ever link to in an entry. I hope.

O, and another thing

I'm working on a project, that at the moment is very hush-hush. Those in the know, keep it under your hat. More on this as soon as is appropriate.

Copyright © 2003-2006 David Barrett. Valid XHTML & CSS.