Crazy Days at Metropolitan State Hospital – The Intake Ward

Like most people subsisting on the lowest rung of the hospital ladder, I’d often try to pick up extra shifts in order to make more money. Interested people would head down to the assignment office, where they’d have lists of openings, and if you qualified, you could sign up and take the shift, subject to a few restrictions. You couldn’t take more than two extra in a row, that sort of thing. The choicest assignments went to those with seniority, preference was given to people actually assigned to the ward they were picking up an extra shift for, and so when I picked up extra shifts, they were often first or third shift on my own ward, or wards that were incredibly unpopular for some reason.

As it turns out, it may not have mattered whether I was given preferential treatment on my own ward; it was immensely unpopular due to the higher-than-usual number of violent patients. So I was pretty surprised when I got a second shift on an “intake ward.” For some reason, nearly everything else was chosen first.

There was a good reason for this. The intake ward was the first landing place for people who were picked up by the police and given to the hospital instead of running through the court systems because of some obvious reason that they belonged here. I had wrongly imagined that the intake ward would be populated by gently eccentric people brought in by concerned families — not so, those people went to private institutions. In our hospital, the two major paths in were being brought in by the police, or on a stretcher, often to go through the most brutal phases of substance withdrawal. Many were homeless, picked up by the police for something as minor as vagrancy, but managing to clearly demonstrate that they were “a danger to themselves or others.” More than a few homeless wanted to get in to the hospital, checking themselves in, and living out their days with food, shelter, and medical care.

Though the greatest reason for its unpopularity among the staff was the sheer unpredictability of the place. After settling in on a ward, you got to know the patients well — what might set them off, what they like, who needs company. While everybody has their good and bad days, they are within parameters well established by their particular afflictions and medications. Not so on the intake ward. Anything could happen, so you had to constantly keep on your toes, and since everybody is virtually unknown, you can’t tell the difference between the truly docile and those preparing to spring into violent action. To make things just a little worse, most of the people there are quite convinced they don’t belong there at all — and a few actually don’t.

Within a few minutes of my arrival on the ward, I was waved over by a patient sitting in the day hall. He looked around to make sure nobody was listening, and said, “hey, want to know how to make a silver watch out of a nickel?”

“Sure,” I said. While you never want to buy into anybody’s delusions, it never hurt just to listen to anybody.

“Do you have a nickel?”

I searched my pockets, and came up with a dime and a penny, and nothing else. We didn’t carry much, and our keys were required to be firmly attached to our belts. In many cases, the keys dangling from the belt were the only way you could tell staff from patients. “No,” I said, showing him the two coins.

“Well, those won’t work, but I’ll at least tell you how to do it. You’ll have to just imagine the nickel. Now pay close attention,” he said, holding his palm flat, and pointing to the center. “First, you put the nickel in the center of your palm. Right in the middle, right about here.” He traced a nickel-sized circle on his palm.

He paused, looking around to see if anybody was paying attention. They weren’t. “Okay, now make sure you get it in the exact center of your palm. Right in the middle. Have you got that so far?”

“Yes,” I said earnestly, holding out my palm and pointing. “Right here.”

“Exactly,” he said, triumphantly. “You get that just right, and the rest is easy.”

I waited.

“Okay, the next thing you do,” he glanced around again, as if he were about to divulge a tremendous secret. “Is you get some tools, you make all the parts, and you put them together.” He beamed, having conveyed his miracle system to somebody who understood. “Next time I see you, make sure you have a nickel, and I’ll make sure you do it right.”

There was no telling what might happen with an actual nickel. Would he be profoundly disappointed in our inability to make his technique work? Would he become violent, now viewing me as an enemy, unable to use his closely held secret? Or would his delusion simply shift, always chasing what wasn’t around?

A call for help left me for little time to contemplate, and I ran to the source of the call. Another MHA blithely watched me run by (as was the case, more often than not) either on an assignment that takes priority, or simply profoundly lazy or risk-averse. I usually made an effort to believe the former.

I got to a room where a patient was up on a desk, waving a lamp, still plugged in and brightly glowing, and yelling “I’m not crazy!” which was doing surprisingly little to convince anybody. A staff member — an MHA, by the looks of him — sat on the ground by the desk, bleeding from the head, and looking slightly dazed. I had a little more sympathy for the man on the desk than the man under it, for some reason.

“Hi,” I said, as brightly as I could.

“Don’t touch me,” he said, fairly calmly, still brandishing his lamp.

“No problem,” I said, stepping out of the doorway. “Mind if I touch him?” I pointed to the dazed MHA.

I walked over and got him to his feet. To the man with the lamp, I said, “I’m just going to get him out of here and hand him over to the nurse. He seems to be upsetting you.”

“Uh. Okay,” he relaxed a bit, finally seeming to notice that the lamp in his hand. And that he was on the desk. He climbed down sheepishly and set the lamp down as I dragged the MHA outside the room. Aside from being dazed, he seemed okay, so I dumped him in a chair by the door and went back in.

I was followed by something I hadn’t seen on any ward during my entire tenure at the hospital — a psychiatrist. He stepped in, looked at the man now sitting at the desk, and said, “are you more angry or frightened right now?”

He gave this some thought, and said slowly, “frightened.”

The psychiatrist turned to me and said, “I think we’re okay here, I don’t want you to frighten him.”

The MHA was still sitting outside the room. Still rather dazed. Maybe a concussion. I half led, half dragged him to the nurse’s station, where I left him.

I returned to the day hall to find a man with a white headband and wristbands, neatly groomed moustache, clean, expensive tennis shoes, and an incongrously ratty-looking oversized t-shirt and shorts. “You there,” he addressed me as if I were his waiter, “I could use a hand here.”

I walked over and asked what I could do. “Any chance I can make a phone call?”

“Sure,” I said, pointing him to the pay phone.

He looked dejected. “I don’t suppose you’d loan me a quarter, would you?”

Because I had checked earlier, I knew for a fact I had a grand total of eleven cents in my pockets. “Just a minute,” I told him.

I walked back to the nurse’s station, where the MHA with the head would was lying on a bed behind the nurse… snoring. The nurse sat by the window, reading a magazine, and looked up at me.

“Hey, does that guy have a quarter in his pocket?” I asked.

Without a word, the nurse walked over and fished around in the snoring man’s pockets. In a moment, he produced a quarter, and handed it to me without a word. He went back to reading his magazine.

I went back to find the guy with the headbands talking to the guy who knows how to make silver watches out of nickels, nodding absently as he explained that “apparently, the police don’t like it when you try to play tennis naked.” He brightened when I handed him a quarter.

“Thank god,” he said. “My wife is going to kill me.”

“Yeah,” his friend agreed. “It’s too bad you didn’t get a nickel.”

The man with the lamp found me in the day hall next. “I just wanted to say thanks,” he said awkwardly. “You know, for not punching me or anything.”

“No problem,” I said brightly. “Hey, how did it go with the psychiatrist?”

“Well,” he said sadly, “he’s kind of a dick. I think I’m going to be stuck here for a while.”

A couple of weeks later, I got another shift in the intake ward. All the faces were new, as I should have expected, every patient who was there before either discharged or moved to a more permanent ward. Lamp guy and naked tennis guy had been discharged; nickel guy was committed to one of the long term wards, and I did see him now and again. He’d recognize me right away.

“Hey!” he’d call as soon as he saw me. “Did you ever find a nickel?”

Once, I actually had a nickel, which I handed to him. He examined it carefully, shook his head, and handed it back. “This one won’t work,” he told me. “It’s the wrong year. Keep looking, though, chief, I know you’ll do it.”


Crazy Days at Metropolitan State Hospital – The Tunnels

I moved to Waltham, Massachusetts a few days before my job started at Metropolitan State, and so I decided to look around Boston. Without a lot of cash, the best thing to do seemed to be to get on the T, pick a station, get out and wander around. I did precisely that, and as I got off the T at about 8:00 a.m., a guy with a shaved head walked up to me, looking rather lost, and perhaps a little jittery.

“Hey, uh,” he said sheepishly, “do you know the way to the train?”

“Do you mean the T?” I asked, unsure if he meant the same thing.

“Nah, I just came from the T,” he said in his thick Boston accent. “I mean the trains, like, to leave town.”

“Sorry, I have no idea, I just got here,” I explained. “I just got off the T, but that’s really the only thing that I know where it is.”

“That’s cool,” he said, and wandered off, presumably to ask somebody who knew what they were talking about.

He was quickly forgotten as I saw the sights in Boston, returning early in the afternoon. I got off the T and stood at the bus stop for one of the electric buses that passed near my Waltham apartment. As the bus came, a woman with a baby struggled with folding her stroller and asked if I would hold her baby for a moment.

“Sure,” I said, as the baby slept, and I was careful to support his neck.

She got on the bus with the stroller. The bus doors closed, and the bus drove away.

So I was alone, in a strange city, with a baby, and no earthly clue as to what exactly I should do next. I was going to get on that bus, obviously, so I at least had to wait for the next one, but if it came… should I get on? Would it be better to stay put, or go somewhere like a police station?

The thought occurred to me that this was my baby now, and I was picked, not to hold the baby for a moment, but to raise it as my own.

Another bus came by, and I decided not to get on. The most reasonable course of action seemed to be to just stay put, until the baby woke up. And then figure out what to do.

As I contemplated this, another bus stopped on the other side of the street (coming the other way) and the mother jumped out in a panicked run across traffic, yelling something along the lines of “OHMYGODMYBABYTHANKGODTHATFUCKINBUSDRIVER.” My ear had not quite attuned to the Boston accent, so I’m not entirely sure. At any rate, she gave me a hug, and took her baby. When the next bus came, I carried the stroller on board and got on first.

I hadn’t even begun work yet.

At the end of my first week of work, my supervisor assigned me to “take out the trash.” There was a big plastic-over canvas on a steel frame cart filled with trash bags and loose trash; “Dan” pointed out an old-style freight elevator in the middle of the ward with a steel door that required keys to open. “You can get down to the tunnels down through there, and then it’s a bit of a maze,” he explained, as I pushed the cart into the elevator. “Gordon will show you. He’s a patient, but he’s pretty trustworthy.”

With that endorsement, “Gordon” stepped onto the elevator as “Dan” walked away — he seemed awfully familiar, and we were descending to the tunnels as I suddenly realized where I’d seen him before — he was the person who had asked me for directions to the trains.

“Gordon,” who hadn’t said anything but had been staring at me since he got on, recognized me, too. “Heeeey,” he said, “you’re that guy I asked for directions.”

“Ah, I remember you as well,” I said. I couldn’t think of anything else to say, so to fill the uncomfortable silence, “did you ever find the trains?”

“What the hell do you think?” he said, becoming agitated. “Would I be back in this hospital if I’d found the goddamned trains?” He grabbed the trash cart, and started lifting it up and smashing it into the metal walls and steel gate of the elevator. The racket echoed up and down the shaft, and through the tunnels, and he was shouting now. “YOU KNEW WHERE THE TRAINS WERE, YOU JUST DIDN’T WANT TO TELL ME BECAUSE YOU KNEW I’D ESCAPED, YOU SON OF A BITCH” “Gordon punctuated this by slamming his body and the cart into the walls of the elevator as I backed into a corner, trying to be inconspicuous.

The elevator stopped. So did “Gordon.”

“Oh good, we’re here,” said Gordon cheerfully, as if nothing had happened. Seeing me frozen into my corner, he laughed and said, “just messin’ with you, man.” He started whistling and pushing the trash cart. “By the way, don’t tell anybody I escaped, they won’t let me do this any more.”

The tunnels at Metropolitan State were absolutely amazing. Under the buildings, miles and miles of tunnels criss-crossed the gigantic campus, leading to intersections, dead ends, sometimes entrances, and long-forgotten rooms and parts of buildings that hadn’t been used for years. Trash detail was an opportunity to explore that I thoroughly enjoyed — most of the time, “Gordon” and I would go together.

Most of the tunnels were long-ago painted concrete corridors lit with bare bulbs, in some cases so sparse that you could barely see the next lit one in the darkness ahead. A channel ran down the middle of the tunnel for drainage, and the floor gently sloped toward the channel. In the channel there was sometimes a trickle of water, but more often there would be some of the largest, most fearless cockroaches I’d ever seen in my life. Rather than hide, they had a tendency to stop and rear up as you walked by. It was like being threatened by a wallet with antennae.

A lot of rooms were empty and uninteresting, containing little but debris, but there was a room that contained an old-style dental chair with restraints with a few large splashes of brown stains on it; a few rooms just filled with little cages, about rabbit-sized; a room with one larger cage in the center, about human-sized; a room with a bed frame in the center of the room where the concrete walls had been chipped away nearly everywhere that a person could probably reach; a room where chains hung from the ceiling from a couple of high beams. Every new discovery was bizarre and creepy, yet stimulating. Most were probably arranged as we found them for much more mundane reasons than we could imagine.

As we explored further and further from the ward, we’d have to run in order to avoid being missing for too long — the loading dock entrance where we dumped the trash wasn’t very far away, and presumably either one of us would be missed — at least I thought so, until we got lost. So lost, in fact, that we had to leave the tunnels to get our bearings, and didn’t recognize the buildings around us — though it was an easy matter to walk back to our building by navigating by the bell tower. (We didn’t want to run, since that would probably raise questions, and possibly an alarm, so we settled for as casual-looking a power walk as we could manage.)

We slipped into the ward through the front door, then back down to the tunnels to retrieve the trash cart.
“Dan” saw us step off the elevator with the trash cart. “Where did you guys go? Did you guys get lost?”

“Gordon” answered before I could, “Yeah, nobody down there knew where the FUCKING TRAINS are.”


Crazy Days at Metropolitan State Hospital – I Don’t Belong Here

My first day of actual work, after training, was in the ward that would be where I spent most of my time at Met State. On the sprawling, 400-acre complex, it was a wing of yet another giant building, designated by a floor and direction. Between the staff, it was known as “chronic, long term,” which I was never quite sure was an official description or not.

Wards operated under the nominal control of a nurse, who usually sat in the “infirmary,” a little room with a half-door where medication was handed out. Operational control of the ward was in the hands of my immediate supervisor “Dan,” an MHA-3 (the number indicated seniority and pay grade), a large, genial man who introduced me to many of the patients, and outlined the basics of the job. We parted so that he could take care of something, and one of the patients I had just met pulled me aside.

“Donna” looked like a mental patient. Older and somewhat scrawny, she had a tired and haunted look. “You’re new here,” she said in a low voice. “You’ve got to help me.”

“Certainly,” I said cheerfully. “Just tell me what I can do.” We walked into the day hall, a kind of semi-open porch where there were open windows covered with bars and chain link fence.

“I don’t belong here,” she sighed, “I’ve been here for thirty years, and nobody will listen to me.”

I sat down to listen. I was determined not to judge her by her appearance — 30 years of living in a mental hospital would surely make anybody look like they belonged there. It was also my first opportunity to do some good; I assured her I’d listen, and do what I could.

“When I was a girl,” she continued, “my mother had me committed. You see, I’m a …” she glanced around to see that nobody was listening, and whispered, “lesbian.”

“In those days it was considered a mental illness; it wasn’t normal, and my mother had no idea how to cope with it. So she committed me to this place, and at first, being a lesbian was enough to keep me here.” She looked defeated and sad as she went on. “But now I’ve been here so long, I can’t get anybody to review my case or listen to me, and I’ll be stuck here for the rest of my life. My mother died a few years ago. There’s no reason for me to be here.” She went on to provide details of her plight.

I told her I’d do what I could. There were procedures for these things, that had mostly been alluded to in training rather than detailed. There was paperwork to fill out to request a case review by a psychiatrist, which requires case histories to be reviewed by the person filling out the paperwork — me. I asked Dan the MHA-3 where to find what I needed. He helped me locate all of it. “You’ll learn,” he said, with a knowing smile that wasn’t quite a smirk.

I finally located her case history — all on paper of course, in those days — and I checked with Dan to make sure I had the right one, because it didn’t appear to match at all. “Donna” had been there about thirty years, but the case history said nothing about being a lesbian, and said she’d been brought in for “incoherence and confusion” by the police as a young woman. Her file was also marked “voluntary,” which meant that she had not actually been committed, but was there on a voluntary basis. I looked through all of it, but for thirty years of being institutionalized, her file was surprisingly thin.

I located “Donna” in the day hall to talk to her before I continued with the case review paperwork. When I sat down next to her, she asked anxiously, “did you read my case file?”

“Yes…” I started, not sure where to go from there.

“Well, it might not do me any good,” she said, handing me a postcard. The picture was of an electric bus outside a library in Waltham. It was crumpled and worn, postmarked from Waltham about a month ago, and addressed to Donna, care of Metropolitan State. The handwriting was cramped and artistic, in blue ball point pen.

It read, “Dear Donna, please do not leave the hospital, we will come for you soon. — The Aliens”

Donna took back the postcard and waved her arms in an expansive gesture, “So I can’t leave yet, the aliens won’t know where to find me.”

She looked at the postcard for a moment. “Ahhh, I forgot to put the date on here.” Taking a pen from her pocket, she crossed out “soon” and wrote “tomorrow” in the same handwriting.

“They’re coming tomorrow,” she whispered in a conspiratorial voice. “Don’t tell anybody.” She then shouted, “IT’S OKAY, EVERYBODY, THERE ARE NO ALIENS COMING TOMORROW.” She gave me a wink, and left the day hall.

Dan walked up and put his hand on my shoulder. “Don’t let that discourage you,” he said. “In a place this big, there’s bound to be people here who don’t belong here.”

That was to turn out to be true.


Know Your Audience

In my idealistic days before I headed off to Antioch College, I needed a physical exam to complete my eligibility requirements. Feeling like an adult at 17, I set up my own appointment and showed up to the doctor for the first time I remember ever going without being sick.

Everything was routine until we got to testicular exam. The doctor asked, “do you mind if a few medical students observe this part?”

“Sure,” I answered, without really thinking about it. Surely it would be over soon enough, and I’d most likely never see these people again. How bad could it be?

It hadn’t occurred to me what kind of medical students would observe a testicular exam, rather than just performing it on themselves. That’s right — medical students without testicles. My pants were already down as the room filled up with young, female medical students, perhaps specifically chosen for their attractiveness. “A few” turned out to be somewhere closer to “ten,” but at this point I’m focusing as hard as I can on not getting an erection while an audience of gorgeous females stares at my naked junk.

I’ve had the dream where I try to explain why I’m completely unprepared for the test and why I’m sitting in class naked. I woke up in a cold sweat, feeling like I’d run ten miles. This was somehow much, much worse.

The doctor, businesslike and professional, has apparently prepared by chilling his hands to a temperature that won’t melt ice cream. He talks and points. I have apparently discovered the secret of slowing down time, because each second stretches out for an eternity. When I steal a glance at my attractive audience, they’re all staring intently at the doctor’s hands, some frowning, some taking notes. Should I close my eyes? Look up at the ceiling? Look down? Nothing seems to be the right thing to do.

When it’s finally over, the students start shuffling out the door, and the doctor turns his attention to my glands or organs or something. About half the students glance up at me. I’m sure I catch a few smiles, but I can’t think of anything reasonable to say. “You have really cold hands,” I say to the doctor, and giggles erupt as he closes the door behind them.

The moral to this story: don’t make assumptions.

Alternative morals: don’t trust your doctor; weird things can happen anywhere; things can always be worse


The Buzz in Comp Sci

In college, like a lot of students who had exhausted the computer science curriculum, I worked in one of the college computer labs for extra cash, helping out students on the basics, like Logo or Pascal. Not to put too fine a date on it, but the lab I usually helped out in was populated largely with Apple //e computers. People who weren’t actually programming or who did not have files in Appleworks would use the MacIntosh lab, so my room was sparsely populated at best, usually a few students and a lot of empty stations.

After finals, the lab was still open until the end of the quarter, so that anybody who had final work to do or wanted to get an early start on next quarter, or who just wanted to play around could come in and get things done. During this time, the handful of students would be reduced to zero or one for entire lab periods, and I’d pass the time by working on my own projects or reading technical manuals.

It was a big room, with about 40 workstations around the perimeter about ten feet apart, and some tables in the middle. It was on the top floor of an old brick building, with undersized windows, an aging and discolored drop ceiling of accoustic material, and old-style hanging fluorescent lights. Every now and then, the lights would flicker, but not often enough or badly enough to bother calling Maintenance. However, there was a constant buzz from overhead that I’d always found distracting and irritating by varying degrees, and today, it seemed even louder than usual.

Since there was nobody in the lab, I decided I’d rather deal with dimness than with a constant buzzing, so I opened the shades to let in what light there was and turned off the fluorescent lights. I wrote a little sign so that people would know the lab was open despite it being dimly lit, and walked back to my desk in the corner.

After a moment, I noticed that the buzzing had not stopped. Instead of coming from the lights, the sound appeared to be coming from above the drop ceiling. I walked around the room, trying to locate the source of the sound, but it seemed to be coming from no specific point, and would get louder and softer and seem to shift around.

Imagining some weird infrastructure running above the ceiling, and curious as to what it could be, I picked one of the least-stained tiles, stood up on a table, and poked my head through. My eyes had adjusted enough to the dim light where I could see well enough, I just couldn’t believe what I was seeing.

The area above the drop ceiling had become a giant beehive.

I was torn between the urgent desire to get the hell out of there and fascination at having my head, essentially, inside a giant beehive. The bulk of the hive, including visible honeycombs, was along the far corner of the wall, where the ceiling was most discolored. The thick yellow stuff that seemed to ooze out from the tiles along the wall that I had mistaken for some kind of insulation was actually honey. (I tasted it later to be sure.) In retrospect, both the wet-grey looking stains on the tiles and the dark yellow ooze on the walls had grown steadily, almost imperceptibly, since I had been working there. Almost every day, a handful of bees would fly through the room, but would usually disappear before they became bothersome to anybody but the most fearful or allergic. I hadn’t thought much of it.

Now, hundreds of bees flew busily past my head as I stood there, frozen, a ceiling tile balanced on my head, afraid to move. Tens or perhaps hundreds of thousands massed in the corner that I found difficult to stop staring at. They bumped into my head and face at a steady rate on their way by.

I gradually lowered my head, gently settling the ceiling tile back into its metal rails. I grabbed my chair and spent the rest of the quarter watching the empty computer lab from the hallway.


Spam Prevention, or, the sorry state of Email

Email spam is universally loathed. It’s difficult to prevent entirely, not only because spammers have a wealth of techniques at their disposal, but because so many legitimate mailers are misconfigured or routinely behave like spammers. The best approaches to combating spam involve multiple techniques to combat various spam techniques. I’ll outline what works, and what doesn’t, and hopefully provide some insight into how spammers work, and some of the more sleazy techniques I’ve encountered.

There’s a spectrum of spam, from the terrifically illegitimate to the “legitimate,” where a semi-reputable company adds you to their mailing list because of something you ordered (perhaps you left a default box checked that said “I want to receive marketing material via email.”) On the illegitimate side are usually commercial operations dedicated to spam, often using zombie farms of compromised machines to send out vast volumes. They often use sophisticated techniques to avoid content filters (like sending vast amounts of legitimate-sounding gibberish.) Eliminating the maximum amount of spam requires a multiple layered approach. I’ve outlined this for mail administrators:

Layer 1: Blacklists and Server Verification
Spam blacklists are simply wonderful at eliminating most spam from bot-farms and sleazy operators. Blacklists are DNS lookups where you can verify an IP address is not on it before you accept email from that IP address. False positives are nearly zero for the good lists, though every now and then somebody like AOL makes it onto a blacklist, but at the best blacklists, this doesn’t happen. A review of our mail servers’ statistics show that is solely responsible for rejecting over 95% of attempts to spam our server. This capability is provided by milter-dnsbl.

Server verification covers the other 5%. In a nutshell, this verifies that the IP address that a system provides during the MTA phase of negotiations is legitimate. Over time, we’ve encountered a few mailers that, for whatever reason, have run afoul of this filter, either from misconfiguration, or from perversely sending email from an unresolvable address. I can’t think of a legitimate reason why anybody would feel the need to use unresolvable addresses to send mail; in cases where I’ve pursued this, it’s generally been the fault of a bumbling administrator or IT department. Every time I’m tempted to relax this requirement, I look at the volumes of spam eliminated and think, hey, if you can’t configure your own mailer properly, maybe nobody should accept mail from you. This capability is provided by spamilter.

Layer 2: Greylists
After making it past the blacklist, the next thing encountered by a would-be mailer is the greylist. To put it succinctly, a greylist is a way of telling certain mailers, “try again later.” Legitimate mailers will do exactly that, while a lot of spam farms give up confusedly. For others, it gives them enough time to be placed on a blacklist next time they make the attempt. A greylist works by tracking the IP (and often, origin email) of the mailer that is contacting you. Next time that same mailer contacts you, if enough time has expired, it’s allowed through.

The tricky part about greylists is coping with the behavior of some mailers, particularly big ones. Those that adhere to SPF are easy, most greylists will happily let SPF-compliant mailers right through. For the rest, most greylist implementations have a “whitelist” of mailers that respond poorly to the technique, either by sending from a different IP address every time (and therefore never satisfying the waiting period) or known issues where mailers may get confused or not retry for a very long time.

Another side effect is that legitimate mail can, and will, be delayed. A particularly effective technique is to greylist all email from origins not within your country — in my case, skipping the greylist for US-origin addresses interferes with as little mail as possible — and most of the spam comes from non-US computers. This capability is provided by milter-greylist.

Layer 3: Content Filtering
Hopefully, most spam is eliminated before we get this far, because no matter how sophisticated content filtering gets, it can be problematic to consistently separate spam from (for example) messages from a family member who spells poorly and has questions for you about Viagara.

So the first thing to go is make another run through the blacklists. While this may seem redundant, the reason for this is that it will pick up blacklisted IP addresses that are relaying through somewhere else. A common spam technique is to create an email forwarding address for you on a service like bigfoot (I see a lot of these) and then spam that address, which merrily forwards all the spam to you, thus effectively skipping the blacklist — unless you scan through all the headers, too. This capability is provided by spamilter.

The next thing to do is eliminate the obvious — mangled email. While spammers make an effort to make their mail look legitimate, invalid or multiple headers can result from spam being relayed through security holes in web sites. Spammers generally can’t see the results, nor do they care. In a related way, it’s a common technique for spammers to add multiple headers of the same type, violating most specifications but often bypassing content filters that expect mail to be in mail format, or by pumping through headers designed to exploit loopholes in clients or to overload mail servers. Since people using legitimate mail clients aren’t capable of producing broken mail, getting rid of broken mail causes no harm. This capability provided by mimedefang.

The next capability is filtering the content itself using a number of heuristic techniques that have been tuned over time, using capabilities provided by Spamassassin. Spamassassin does quite a good job, although sophisticated spammers will regularly test their spam content against its rules. Therefore, a good practice is to update its rules regularly using sa-update.

It’s also worth eliminating virus spam at this point. clamav provides this capability handily. As with spamassassin, it’s most effective when updated regularly.

Level 4: Sieve Rules
At this point, there is still a potential for false positives, and some things are going to slip through. Therefore, content filters normally just flag email. Sieve rules are a hierarchy of rules that determine how to treat email. So legitimate mail can be saved from the junk filter, and persistent spammers can be shuttled over to the Junk folder. These are normally in the hands of end users, but general rules can be effective site-wide.

Level 5: Don’t REPLY
This is true on a number of levels, the first being that a mailer should summarily reject all mail that’s not to legitimate users, rather than accept it, and attempt to bounce it back. There’s a whole class of spam known as “bounce spam,” where the “reply to” address is the actual victim, and the spammer sends email to a legitimate mailer and an invalid address. The mailer happily forwards it “back,” which actually sends the spam to the victim. There’s no benefit to ever automatically emailing the reply to address from the mailer level, either to inform an end user that they’ve typoed an email address (rejection serves that purpose adequately) or to inform an end user that they’ve sent a virus — the reply address is almost never the originator.

This also extends to the end user. For legitimate businesses, replying is usually an effective way to be removed from their mailing list — if you recognize the domain and have done business with them, there’s little risk. More sleazy operators, however, take the opportunity to add your legitimate email address to hundreds of other lists, even while nominally removing you from the list you’re presumably unsubscribing from. Your legitimate email address can now be sold to other spammers.

In a similar vein, it’s often a bad idea to click where it says “click here to be removed” for the same reasons. A particularly sleazy form of this actually takes you to a page covered with ads, and the unsubscribe box (filled in) in the middle. The spammer has now made money, because you’re a unique visitor to whom those ads have been displayed — even more if one catches your eye and you click on it.

Level 6: Report Spam
Reporting spam has a number of benefits, the biggest one is the overall reduction in spam. Spamcop is probably the best way to report spam — it sends email directly to the administrators of the systems, which are either misconfigured (open proxies or relays) or a customer of theirs is the spammer. Spamcop does an excellent job of analyzing email headers and finding out who’s really responsible. Note that spammers will often include legitimate URL’s in their spam, so it’s best to pay close attention to who the reports are being sent to any why.


Crazy Days at Metropolitan State Hospital – The Exam

Years and years ago, I worked at Metropolitan State Hospital in Waltham, Massachusetts, a state mental hospital, as a “mental health assistant.” It was a crazy place, even before its decline and decay after shutting down, as evidenced in these pictures.

After being hired while pursuing a degree in Psychology, I was grouped with about 25 people hired at the same time for a week long orientation. Some, like me, were hired as MHA’s, but the bulk of our class were destined for janitorial, kitchen and other support duties. For reasons still not clear to me, the bulk of the new hires were French-speaking Haitian immigrants. We were taught hospital procedures, patient advocacy, humane restraint techniques — and it was constantly impressed upon us to speak English around the patients. The point was made that speaking foreign languages around the clinically paranoid inevitably agitated them due to a belief that the conversation is about them, and several people had been severely injured or killed by chattering away in French in front of them. Most regarded the entire orientation program with a kind of detached boredom, which I found mildly disturbing, even as I absorbed everything intently and practiced restraint with fervor.

After the first day, we were taken to another building for compulsory medical examinations, lined up on a bench in order. I showed up on time, and therefore was first in line, filling out medical history and employment eligibility paperwork. As a native English speaker, I also finished that first, so I was called first. A nurse turned my arm into hamburger taking a huge number of blood samples (explaining briefly that more than 20% of new hires were testing positive for AIDS) before directing me to the exam room. Down the hall, second door on the left, I was told — the walk seemed like miles down a dark corridor lit with bare bulbs, and I counted two doors on the left far apart from each other, and walked into an operating theater the size of a gymnasium.

In the middle of this vast room, there was a man dressed in white, holding a clipboard, next to a gurney and a cart of medical equipment, wearing a head mirror. He was lit from above, but due to the size of the room, it was still mostly dark except for the center. Old, disused medical equipment lined the peeling walls in the gloom. Overhead, dark windows indicated an observation deck once used to observe surgeries, a broken pane or two indicating that there was probably nobody up there.

The doctor handed me a hospital gown and told me to take off all my clothes, including my watch. There was an enormous clock up on the wall of the room, but it had stopped long ago — I put my watch back on over three hours later, after the most intense physical examination I’ve ever had. The reflex hammer went everywhere, I was tested for strength and balance (he handed me an enormous dictionary to lift in various ways), old school eye charts, hearing tests, organ palpitations, ice-cold stethescope, and the rubber glove treatment. At the end of it all, I was given dozens of pages of exam documentation to take back. I got a clean bill of health, and he even managed to identify my mild tinnitus.

I put my clothes back on and took the long walk back to the waiting room. Everybody was still there, looking terminally bored. “Next!” I said, cheerfully.

One of the MHA’s spoke up. “You’re the last one. Where have you been? We’ve been waiting for you so we can go to lunch.”

The thought then occurred to me that I hadn’t been seen by a doctor at all, but I had gone to the wrong room and encountered a lunatic masquerading as a doctor. “You’ve already been examined?”

“Yeah, took maybe ten minutes,” he said. “Seriously, dude, where did you go?”

As it turns out, there were two exam rooms, and the doctor I saw was well known for his “old fashioned” examinations, so they always sent the first person to him. My paperwork was official, if superfluous. Three days later, I was officially medically approved to work in the hospital — and I noticed that fully 75% of the others who started orientation with us were now gone. “Lotsa AIDS in this group,” said our instructor tersely.

Due to my size (I’m a big guy) and my apparent competence at restraining patients, I was assigned to a chronic, long-term ward. “These guys are the worst of the worst,” explained the instructor on my last day of orientation. “Do your best to stay alive.”

I spent the rest of my tenure at the hospital doing exactly that.


Misdirected email and email disclaimers

Like many people who have been active on the Internet since AOL was a standalone service, I’ve accumulated a number of email addresses over the years, many of which I still use. Some are short and easy to remember, and at least a few of them are routinely given out by people who think they are their own.

The worst offender was a ski resort, who kept giving out my email address as their own — perhaps they even used it as their “reply to” address, since people were particularly stubborn in their insistence that they had the right address. I had a lot of conversations like these:

“I’m sorry, I’m not affiliated with any ski resort, you’ll have to phone or mail the resort to get the correct address.”

“But this is the address they gave me. Do you have parking for an RV?”

“Well, on the street, but I’m not sure what good this will do you, since I’m probably a few hundred miles away from where you want to be. As I mentioned, I have nothing to do with the resort, and I do not know how to get in touch with them.”

“Oh good. How far is the street from the slopes?”

Perhaps they just appealed to a particularly obtuse clientele, but they kept doing it. So I asked somebody who emailed me for the number of the resort, and I called them to let them know their mistake. “No, that’s our email address,” I was told. I couldn’t convince them otherwise. Eventually I resorted to just giving out reservation confirmations, and they finally stopped.

“Is it too late to reserve rooms for eight people for this weekend?”

“No, you’re all set. Your confirmation number is 6893-261#-3472@.9653!7160321796. Please have this ready when you arrive.”

I guess having irate people show up is a lot more effective than politely asking them to knock it off. A lot of people give one of my email addresses out as their own when asked for an email address. I’m not sure if they just don’t know their own, or they just don’t think it matters, but I’ve been signed up by proxy for an appalling amount of things:

  • Bank accounts (complete with “here’s your password to bank online”)
  • Home loans (complete with “update your payment address”)
  • Retail sites of all kinds, a handful with active “buy it now” credit cards
  • Medical records
  • Insurance records
  • Porn memberships (with recurring payments and a changeable password)
  • Job sites (complete with “update your resume/profile”)
  • Social networking sites (as above)
  • Dating sites (even more fun, as above)

As the mood takes me, I might locate the phone number of the person whose account it is, and notify them of their mistake (reactions have ranged from confusion to threatening to sue me.) Sometimes I’ll just change the password and forget about it (there are probably a few poor schmucks still paying for porn that they don’t have access to and can’t cancel.) Sometimes I’ll update their profile in amusing ways. Although the thought has occurred to me to drain a few bank accounts, these are people who strike me as most genuinely confused and in need of an explanation — and I’m not really that much of a bastard.

I also get signed up for a lot of mailing lists, which can be fairly obnoxious. If mailing lists have a simple way to unsubscribe, I will. Better yet, mailing lists that ask for confirmation. I don’t confirm, and that’s the end of it. Some mailing lists are particularly obnoxious — no way to unsubscribe, or even worse, the only way to unsubscribe is to enter a lot of personal information on a separate web site (which, if it doesn’t match whatever information the idiot gave them when they provided your email address, won’t let you unsubscribe) or points to a site that doesn’t exist or resolve, etc. Since I don’t want to be on the mailing list, I’ll complain directly to their ISP. I’ve had a few car dealerships disconnected from the Internet by their ISP’s — who are usually pretty cooperative.

Note to email list administrators: always confirm email address, and have a simple way to unsubscribe, or you’re a spammer.

I also get emails directly from misguided individuals. It’s remarkable the amount of personal detail that people will include to an email address they’ve never sent anything to before. I usually reply to let them know I’m not who they think they’re contacting. Occasionally, they argue (which is bizarre to me, but some people get ideas stuck in their heads. “Dot! Stop fooling around!”) and occasionally, they’re just weird — some ask for unrelated computer help (which I provide, to the extent that I can help via email) and one lady told me that she was a “married Christian woman” and that it was improper for her to talk to a strange man. (This, of course, implies to me that she desperately wants to, and either is unhappy with her husband or her repressive brand of Christianity — and she actually does keep writing — go figure.)

High on the obnoxiousness scale are the business emails I get, usually with tons of insider information, and a standard disclaimer telling me what I can and can’t do, my duties if I’m not the intended recipient, etc. I’m not a lawyer, and this isn’t legal advice by any means, but I don’t think I’m bound by any of this crap. If you send me an email, it’s mine. I’ll do what I want with it. If you’re incompetent enough to send me insider or confidential information from your company, I’m going to feel free to post it on the Internet if I damned well feel like it, and you can stick your disclaimer wherever you like.

We don’t have a contractual relationship, and your email was unsolicited. You can’t create one using your disclaimer; I don’t agree to your terms. Any of your terms. If I feel like sending you back an email informing you of your mistake, I might do that. Doing so does not mean I agree to your disclaimers, nor does it obligate me to send you another email informing you of your future mistakes when you do it again and again.

If we were to have a contractual relationship, I could see the value of a disclaimer, to, say, remind me of a confidentiality contract we mutually signed. But unsolicited email is precisely that; just as you can’t send me junk in the mail and obligate me to do anything with it, you can’t via email, either.


Outlook, Mail Archives, and Duplicates

Exchange and Outlook are dismal examples of code, but the fact remains that they are ubiquitous. Nobody has managed to create a mail/calendar/contacts/task application with wider adoption, and it has enough inertia that well designed applications have little chance to make inroads, which means a lot of people are stuck with it. For those of us who prefer elegant, well designed applications, putting up with their quirks is maddening.

Outlook, for example, has a hard-to-explain 2 gigabyte limit on mail archives — and mail archives are arguably one of the niftier features that Outlook offers. Early versions of Outlook don’t know any better, and simply corrupt your mail archives. Later versions of Outlook know better, and warn you not to exceed the limit. While some noise has been made about Outlook finally removing the 2 gigabye limit, it’s actually not quite true, it’s only been removed for Exchange style mailboxes, and is still there, for example, for imap mail boxes.

For those of us with lots of mail and the need to archive it (I receive a lot of technical documents, some very large, via email) using Outlook’s built-in “archives” isn’t really an option, so I used the simple expedient of setting up an archive IMAP server, where the size wouldn’t be an issue. While this works reasonably well going forward, Outlook puked enough while trying to move messages from its proprietary formats to imap, that I was left with a vast number of duplicates.

On a significantly large mailbox, this is a bigger problem than it sounds like — especially since the duplicates were created with different mail id’s, and in many cases the white space or envelopes are different, while the messages are clearly identical. Maddening, but it largely means that any automated duplicate removal will have to happen through IMAP, not through the filesystem.

While it seems that a tool to locate and eliminate duplicate IMAP emails would be simple to find, it appears that such a beast simply does not exist, except for the trivial case in which the message id’s are identical. At the imap level, there are a decent number of tools here:

Which work admirably, for the most part. For the remainder, I used this Thunderbird Add-on, which took care of the remaining fringe cases. The only problem, of course, is that on a really large email folder, Thunderbird starts to complain endlessly about script timeouts. However, you shouldn’t really need to do this regularly.


Mail, DNS entries, and domains

I recently overhauled bits of the mail system here to take care of a few lingering quirks that I’d never had the time nor inclination to track down. All of my various email addresses and aliases go to the exact same mailbox, through the multiple expedients of fetchmail, which picks up my mail from gmail and AOL, and DNS MX records that point everything to the same place.

Until recently, if you sent mail to “” it would be transformed by the server into “” unceremoniously. It would show up that way in the mailbox, and only by delving into the mail headers was it obvious that the mail was originally destined for a different domain. For addresses I didn’t make use of much, this was fine, though it leads to the curious circumstance where somebody sending mail to would get replies from, which deviates from the principles of separating domains in the first place.

It turns out the root cause was that, rather than having its own A record in the DNS tables, used a CNAME to Apparently this implies that mail sent to is actually for I imagine this would be particularly useful for adjunct or typo domains, where you want to correct the original destination or transition from one domain to another. It’s also useful in that the mailer only needs to internally relay for, and listen to, mail destined for; any mail sent to a CNAME from another domain pointing to it works perfectly well.

Moving the domain from a CNAME to an A record effectively separates things out again, though now the mailer must also be aware that it’s listening for mail for yet another domain.