Why there's a bunch of spam from university webmail systems right now
You may have noticed that as of late there's a bunch of spam (usuallyadvance fee fraud spam) coming from various university webmail systems.(When it has real IP origin information, it is often from the usualsuspects.)
Until now, I thought that this was because spammers had workedout how to compromise webmail systems. It turns out that it isworse than that; phishers are specifically targeting universities.And these are not your run of the mill ordinary phish attacks,where you get email about
An alternate take on availability numbers
The usual way of presenting availabilitynumbers is to cover how much (or how little) downtime you have per year.As another way of understanding them, let's turn that around and ask howmuch less downtime you have as you move from one availability level to ahigher one.
| 90% to 99% | two hours less in a day almost 33 days less a year |
| 99% to 99.9% | three days less in a year |
| 99.9% to 99. |
Get statistics
Here is one of the best things you can do to improve your ability tofind and fix problems:
Get statistics .
Over and over I have seen statistics be a big part of solving problems.Not infrequently they are a big part in identifying the problems;sometimes having a reliable way of telling whether the problem ishappening or not is half the battle.
(There is a world of difference between 'sometimes the NFS fileserversare slow' and 'sometimes the new RAID controller has average IO servicetimes of over a
The problem with PID files
The problem with PID files is that while you can use a PID to verifythat your daemon isn't running, you can't use it alone to verify thatyour daemon is in fact present. You have to use other mechanisms, liketrying to communicate with it, to verify that whatever has the PIDactually is your daemon, instead of something that has inherited thePID.
Most of the time the risk that people think about with this is PIDrollover: your daemon dies, the system churns through tens
What I needed to make my custom Fedora 8 environment work
One of my little peculiarities is that I use a quite custom environment,one that comes nowhere near a graphical login program, much less Gnome orKDE. One of the consequences of this is that I get to set up by hand anumber of things that a normal environment runs automatically, like volume management .
These custom things keep changing themselves as I move from versionto version of Fedora, so here is what I had to do to get my environmentrunning nicely under Fedora 8:
- If you start your X session
Why people are accepting bad uptimes from Internet applications
Recently (for my version of recently), some pundits have askedwhy people are willing to accept the sometimes less than stellaruptimes that they get from your typical internet service. (Okay,the original article applied the question to various other services too.)
My view is that it's pretty simple and really comes down to two things:
- people are not willing to abandon flawed services, because flawedservices are generally better than nothing.
- people are also not willing to pay the price of carrier grade uptimes,because
Google Mail has a spam problem
Actually, Google Mail has had a spam problem for a while now. Theiroldest problem is advance fee fraud spammers; GMail has been playinghost to a revolving cast of them starting roughly from when it firstbecame reasonably easy to obtain a GMail account. Given that 419 spamis hard to detect automatically this isn't too surprising, but still .
Recently it's gotten worse, possibly because automation may have becomemuch better at creating GMail accounts. I'm seeing recognizable repeatspammers, with more
ZFS: Reservations versus quotas
Suppose that you have a a number of groups (or people), each of whichis purchased a certain amount of disk space, and that you have put allof the groups in the same overall ZFS pool. ZFS gives you two ways tolimit each group's disk usage to the amount of space that they'reentitled to: reservations or quotas. Which one is better?
It turns out that the answer is simple: use quotas.
(In both cases you give each group a top level container
A simple Python class to trace access to object attributes
Every now and then I run into a situation where I want to know whatattributes on an object are getting accessed when. Fortunately it'spretty easy to knock together something to do this, in a variant onthe mutating proxy pattern .
Here is a sample implementation, as a Tracer class:
def _repon(obj, n): return (not obj._t_il) or \ (n in obj._t_il)class Tracer(object): def __init_
The quote of the time interval, on XML
From an article by Henri Sivonen :
Draconian error handling creates an unstable equilibrium in GameTheory terms—it only lasts until one player breaks therule. One non-Draconian XML5 implementation in a key client productand the Draconian XML ranks would break.
(Discovered through Mark Pilgrim ,specifically his firehose .)
Applications to XHTML are left as an exercise for the reader.