Using iSCSI and AOE to create artificial disk errors
One of the nice things that you can do with iSCSI and AOE is use themto test how your system (volume management, filesystem, programs, etc)really deal with low level disk errors. All sorts of interesting issuescan come crawling out of the woodwork when you do this; it is veryeducational and occasionally rather alarming.
(Testing this sort of thing is otherwise fairly difficult, because fewpeople have controllable error-producing hard drives sitting around,especially hard drives that will repeatedly run fine for a while
An interesting issue when yum upgraded gaim
A while back, the Gaim chat program got renamed to Pidgin forcomplicated reasons. Fedora duly released a pidgin package that saidit replaced the old gaim package, and I duly typed yum update on myx86_64 machine, and things came to a screeching halt with errorsabout file conflicts . It turned out that theupdates repository had both the i386 and the x86_64 versions ofpidgin, and yum was picking the i386 version, which depended on
Universities are not businesses: an implication
Part of the peculiarities of the university environment is that universitiesare not businesses. Well, yes, of course. But consider one of theimplications: universities do not directly make money.
In a company, you can justify a more expensive thing on the groundsthat it never the less makes the company more money, either directlyor indirectly (through increased productivity, for example). Because acompany makes money, what matters is not the absolute expense but theprofit/expense ratio.
(It matters so much that
Weekly spam summary on July 21st, 2007
This week, we:
- got 12,549 messages from 259 different IP addresses.
- handled 19,129 sessions from 1,520 different IP addresses.
- received 291,606 connections from at least 79,247 different IPaddresses.
- hit a highwater of 8 connections being checked at once.
Connection volume is up pretty noticeably from last week . Connection volume fluctuated overthe map over the week:
| Day | Connections | different IPs |
| Sunday | 31, |
The downside of a unified buffer cache
When vendors started releasing Unix systems with a unified buffercache , people discovered that the new operatingsystem releases tended to perform not so well under load. Generallywhat happened is that programs got paged out madly, so any time youtyped a new command line in your shell session there was a great biglurch as your shell was paged back in and then the program startedand so on, and by the time you got back to your shell it had pagedout again.
The underlying problem is that processes can use up
A safety tip: keep your different sorts of source trees separate
Like many places we are slowly moving out of an era where we ran Unixesthat came from the vendor with very limited amounts of packages, and sowe had to build and install all sorts of them ourselves. Some of thecollection we just compiled as-is, and some of it we had to modify, andsome of them we wrote ourselves from scratch.
And we put the source code for all of them in the same local sourcetree.
Allow me to suggest that you not do this. If you
Why I like Python's large integer support
The simple explanation of why I like Python's large integer support(somewhat misleadingly called longs for historical reasons) is that theymake it convenient to deal with arbitrarily large binary numbers.These crop up surprisingly often, sometimes because a large bunch ofbits is the natural representation of things like IPv6 addresses, andsometimes because they make algorithms clearer and simpler.
For example, take the job of generating a random password that's drawnfrom a given alphabet. The simple approach to doing this is:
from math
Random passwords are not necessarily good passwords
I was recently writing a random password generator and in the processit occurred to me that there is an important difference between randompasswords and good passwords, because we mean different things by thoseterms.
A truly random password is one that an attacker can't guess betterthan through random chance even if they know your password generationalgorithm, so that on average they would have to try half of all of thepossible passwords before successfully guessing yours.
(How many possible passwords there are is based on how many bits of
Why SSL and name-based virtual hosts don't get along
Part of validating a SSL certificate is making sure that it is a SSLcertificate for what you are actually connecting to, to avoid thepossibility of a man in the middle attack. SSL certificates for websiteshave a field (the CN portion of the 'Distinguished Name') that names thehost they are for, and so target validation consists of checking thatthe certificate's CN is the same name as the host portion of the URL.
This checking is pretty literally a string compare; the web browserdoes not
Weekly spam summary on July 14th, 2007
Our SMTP frontend died (twice) around 8am on Friday morning, so some ofthe stats for this are partial stats and some of them are missing abouttwo hours of data. That said, this week we:
- got 10,583 messages from 249 different IP addresses.
- handled 17,948 sessions from 1,258 different IP addresses.
- received 257,246 connections from over 50,000 different IPaddresses.
- hit a