The stupidity of being nickled and dimed by vendors

We have some current rackmount servers from Sun and HP. They both comewith convenient, built in remote management systems that are basicallyequivalent from my perspective; each has remote power control, KVMover IP, and virtual media . There's only one importantdifference between the two: Sun gives me this for free as part of thebase server but HP wants a few hundred dollars to give me a licensethat enables the useful features (KVM over IP and virtual media).

I suspect you can guess whose servers


Why I don't like inverted if conditionals

Perl has an often used feature where you can write a conditionalstatement in a form like:

statement if (condition);

(You can use unless too.)

I find this usage lurching because it's a dislocation in my flow ofthought. I start out reading the code thinking that the statement alwayshappens; then I get to the if and whoops, time to backtrack on myunderstanding.

The worst form of this is when the if is indented a lot, so it'salmost flush right with


Why you can't use object.__new__ on everything

Here's an interesting error message, somewhat slimmed down:

>>> object.__new__(dict)
TypeError: object.__new__(dict) is not safe, use dict.__new__()

At first blush this seems a peculiar artificial limitation: object isthe root of the Python type hierarchy and thus its __new__ is theroot version of creating new objects, so why doesn't it work?

Like the last peculiarity this


A small update on comment spammer behavior

Back in CommentSpammerBehavior I wrote that checking the HTTP Referer header wasn't worthwhile because everyone got it right. That is nolonger true; a significant number of comment spam attempts come fromsome group that is using HTTP Referer headers of the (illegal) form'URL1, URL2, ..., MyURL' (where MyUrl is the URL of my 'write a comment'form); the number of URLs varies.

(A few times they have left out the spaces after the commas, making


ZFS's issues with long term storage management

Unfortunately, one of ZFS's current issues is that it does not have anydirect support for the sort of data migration you need to do for longterm storage management . There arethree possible approaches to this:

  • direct migration support: not present.
  • growing a pool with the new storage then shrinking it by removing theold storage: while ZFS can grow pools it can't shrink them.
  • add the new storage as a mirror and then detach the old storage: youcan't mirror raidz or raidz2

Painless long term storage management without disturbing users

One of the things I have become conscious of recently is that managingyour storage over the long term without lots of pain and withoutdisturbing your users requires an additional set of features that youmay not realize you need. (Partly I came to this realization by blithelyproposing a design for our next generation of storage without reallythinking about the issues, and then having people gently point out theproblems I had missed.)

(By 'painless' I mean that it does not take a lot of sysadmin effortto deal


The advantage of a SAN

It's simple: the advantage of a SAN is that it decouples your storage spacefrom your servers .

This means that you can deal with each side independently; you can addstorage or move storage without having to change the server hardware,and you can replace (and add) servers without having to do anything toyour disks. In turn this means that you can use common garden varietyservers instead of big monster servers that are designed to hold loadsof disks, which means it is much easier to maintain and


Weekly spam summary on June 23rd, 2007

This week, we:

  • got 10,190 messages from 259 different IP addresses.
  • handled 18,093 sessions from 1,527 different IP addresses.
  • received 223,304 connections from at least 76,627 different IPaddresses.
  • hit a highwater of 10 connections being checked at once.

This is up a bit from last week inboth connection volume and the number of different IPs tryingto talk to us.

DayConnectionsdifferent

One reason why the Debian package format is not my favorite

In their wisdom, the people who created the Debian package formatdecided to allow packages to ask the person installing them questions.By including this feature, they insured that Debian packages do quiz the people installing them about various things.

The problem with this is that questions are landmines . Every timeyou ask one, you are gambling that the person knows enough about theissue to give you an informed answer. When they do not, at best theyjust pick the default answer (fortunately Debian seems to mostly insistthat package


A thought on web server capacity measurement

The traditional way of measuring how much load your web server can takeis to use a tool such as ab to see how many requests a second youcan handle and how fast the requests get handled. People throw aroundnumbers such as their web server serves pages in 0.03 seconds under aload of 50 simultaneous requests, for example.

(Sometimes they just say 0.03 seconds withoutmentioning important information like what sort of pages, on what sortof a system, and with how many simultaneous