Monthly Archives: April 2005

No More Captcha

Well, I’ve got to say, Drupal’s captcha module is a huge disappointment. The idea is good but the execution is terrible. It caused serious confusion for the session management mechanism, causing people to be randomly logged out, or even sessions confused between different people. That’s a huge security risk, and just made the site so unusable that I couldn’t keep it on.

The good news is that I upgraded to Drupal 4.6.0 in all of this, and the new spam module looks much nicer than the one in 4.5.x. So maybe this will keep me happy for awhile.

Be Gone, Comment Spam! (Again)

I’ve had a lot of trouble with comment spam. This blog has blocked many thousands of comment spams. And unfortunately, it’s blocked a few of Cliff’s legitimate posts, too.

So I have switched to the new captcha module for Drupal. In case you don’t know, a captcha is an automated test designed to tell humans and computers apart. It often takes the form of a graphic with letters or numbers in it — letters or numbers than humans can read, but computers can’t.

I used this idea before with WordPress and it was 100% successful.

So now, you can prove that you are a human right when you make a post — and you will be told instantly if the post is accepted or not. And if it is, it appears instantly.

A lot of comment spam is arriving via trackbacks, and captchas can’t be used with them, so I’ve disabled trackbacks for now.

I think this should make blogging a lot less annoying.

This change also applies to the other Drupal sites hosted here: The Haskell Sequence, Forest of the Plains, and Rail Passenger.

I’ve Switched to Darcs

I’ve converted 24 public projects from Subversion or Arch to Darcs, preserving full history, as I mentioned earlier. It all went very smoothly. I’m even maintaining my Arch utilities in darcs :-)

Some small observations:

  • Committing early and often is good.
  • When a commit is virtually instantaneous, it’s easy to commit early and often. A commit in darcs doesn’t require it to hit the network.
  • Branching is a frequent need and is done far to infrequently. But Darcs makes it even easier than Arch. Very nice.

I’m Switching to Darcs

I’ve been using Arch/tla/baz for quite awhile now; I switched from Subversion awhile back. But they’ve got a bunch of things that annoy me. Offline working is clumsy. Performace is bad, and to make it even approach decent, you have to dedicate a huge amount of space to a revision library cache. Commands, even with baz, are clumsy and require an inordinate amount of typing. It’s still better than CVS and SVN, with its merging and all, but still — it’s been annoying.

Enter darcs. I’ve been keeping an eye on it for awhile, and it looks like it’s become quite stable, useful, and fast recently. I tried it out awhile back, and it wasn’t really “there” yet. I tried it out again this week, and must say that darcs is great. I’m converting all my Arch and Subversion stuff to Darcs.

The thing that really impressed me is this Darcs mirror of the Linux kernel Bitkeeper repository. Darcs is fast over this, far nicer than Arch was (I did a similar project in Arch awhile back), and it uses less than 1GB of disk space for a complete mirror.

Oh, and I wrote a 100-line Haskell program to convert Arch stuff to Darcs: arch2darcs. You can see an example of a converted repository at here. There’s also a program called Tailor (I didn’t write this one) that does a bidirectional sync between Darcs and CVS or Subversion. Sweet.

I’m happily converting the rest of my Arch and SVN stuff to Darcs today. Woohoo.

Randomly-Generated CS Paper Accepted at Conference

Now this is absolutely hilarious. A randomly-generated computer science paper has been accepted to a conference. Not just that, but the grad students behind the program that generated it are raising money so they can attend and deliver a randomly-generated talk.

Read the paper and you’ll probably burst out laughing.

If you don’t know much about computer science, it may look shockingly real.

Adventures in Networking

So I’ve had this notion recently of running Ethernet from our basement utility room to several rooms throughout the house. This would let us use VOIP phones at several locations, among other things. My Grand Plan was to use the existing phone cabling as a rope. Tie one end to the shiny new CAT5e cabling, then go pull on the other one.

But it hit a big snag. Several, actually. Apparantly, the phone cables are stapled to the house’s support structure — INSIDE THE WALLS! I would have a punch multiple holes in the drywall to make this scheme work.

So plans must be re-hatched.

The shortest run is to the office, which is adjacent to the utility room. I’ve just been running Ethernet cables under the door for some time, and I’d like to put in proper jacks. The wall that the jacks should go on has — yes, a phone cord in it, and yes, it’s stapled. But to discover that, I had to enter the crawlspace above the basement ceiling and below the main floor — a space about 1.5 feet high and not much more wide, and infested with all sorts of sharp pointy things (mostly nails), pipes, wires, etc. I only had to crawl about 10 feet but it took quite a while.

So, what to do? My dad suggested using a weighted chain, dropping it down the hole, then fashioning a hook to catch it from the existing electrical box. (Which, BTW, can’t be removed because it ALSO is fastened to the supports in a manner that requires access to the wall interior) I that that could work, and might also try adding a magnet to the mix. But it will require another visit to the crawlspace, and I’m just not quite up for that kind of fun yet.

So I started work on problem : an ethernet run from the basement to the bedroom, which is a second-story location. I figure the total length of this run is still about 20 feet or so, not bad at all. But, not only are stapes involved, but this one is an outside wall. That means no crawlspace access, but also insulation to deal with. The main reason for this cable run is to enable the use of a VOIP phone.

I pondered the situation for a few days, then started checking out Ethernet cabling specs. It turns out that a 10Mb link requires only 4 conductors (2 pair). The not-quite-cat3 “mystery cable” (appears to be unshielded, untwisted) has 6 conductors. Phone associates at 10Mb anyway. Could it work???

YES! With some punch-down ends from cat5ecableguy, I’ve got it working. I still can’t quite believe it, but it works.

Here are some links I found useful: