An embarrassment of RichIAs

First we had Shockwave, which begat Flash which begat Flex and Apollo, while meanwhile people have been busy doing Ajax.

Of course Microsoft wants to get in on the action, and Sun does too — announcing JavaFX today.

The name “JavaFX Script” is brilliant – now instead of just confusing Java and Javascript, people can confuse them with JavaFX too! Plus it sounds a little like “Flex” and has two As, a J and an X in it. Maybe Microsoft will rebrand Silverlight as “JFlex.NET” to help things along.

Color names in JSON format

I’m an inveterate side-project starter. I spent some time tonight deleting old web projects from the server, and it felt great. I did come across a couple things I wanted to save or pass on though; one of them was this quaint list of named web colors (the “Netscape color names”).

I still use these in my web classes when I first introduce the idea of colors in HTML, because it’s a lot more fun for students to type in “lemonchiffon” and see the result than it is for them to learn hexadecimal.

Twittered

You know, I have yet to actually try Twitter, but if this is the kind of thing people say on Twitter then it’s OK with me!

Protecting the server with mod_evasive

As I hinted in my report several days ago about this server suffering a DOS attack, I’ve taken some measures to prevent a repeat occurrence. One of them was to install the mod_evasive Apache module, which was suggested by a number of people.

(There’s also mod_security. It’s way more complex than I need right now, but would be worth looking at for a busier server.)

Initially I was skeptical, since mod_evasive doesn’t seem to be a very actively maintained project. But it looked so simple I decided to give it a try. Installing via FreeBSD ports was, as usual, nearly instantaneous. Configuration looks like this (I’ve omitted a few settings for simplicity’s sake, and these are not the actual numbers I’m using):

My first DOS

If you tried to reach this blog or anything else on this server this afternoon, you may not have had much luck.

A computer in Korea was hammering my server so hard (aka Denial of Service attack) that my hosting provider temporarily disabled Apache so that my instance didn’t bog down the whole VPS. I was busy at work when this happened and am not sure exactly how long it was out, but this was one of the most severe outages I’ve had in the last three and a half years.

Comment Spam

Other than using Akismet, the anti-comment-spam measures I have in place here are pretty primitive. I block some common patterns and blacklist some IPs. (I don’t have plans to make it any more sophisticated since I’ve told myself any new blog engineering effort needs to go to the new Django-based version, not the old PHP5 one.)

I was looking at server logs this week and noticed an unusual number of POST requests, then realized that they were foiled comment-spam attempts. I counted them up:

Bicycle Repair Man bundle for TextMate

Look! For a long time I’ve wanted to try working with Bicycle Repair Man, the Python refactoring tool. Unfortunately, the fact that it had neither documentation nor integration with my favorite editor kept pushing it to the back burner.

About a month ago I was excited to come across a post from a guy named David Coffin who had created a BRM integration script for TextMate. I hooked it up per his instructions, and with a little fiddling I got it working. The first thing I tried was the Extract Method or Function command. I had code something like this (structurally, I mean):