Hunting, Farming, and what happens when the tractor runs out of fuel

What happens when you f*** up a business relationship?

Confession: I just pushed away a client who has been a friend. She was one of my earliest website design clients, she’s referred several other people to me, and she’s also been a cheerleader for me in the past. At the beginning of May I asked her to find a new web host and also laid down new rules about our business relationship, including radically different payment terms. Today she sent me an email that she has found other hosting and someone else to take over work on her website. She’s gone, and I doubt the parting is amicable on her side.

Why in the world would I do something like that?

Hunting, Farming, and what happens when the tractor runs out of fuel

By nature I am a hunter. I love chasing bright new butterfly ideas. I love learning new skills and get great satisfaction out of creative challenges. I adore designing websites; my satisfaction, my joy, comes when a client sees a new concept and is completely blown away by it.

My business requires me, most of the time, to be a farmer. Once I’ve finished a new website, the remaining work, in most cases, is maintenance. I update the site periodically, I change out pictures, I revise the HTML, I check SEO rankings and tweak keywords and page descriptions. I weed. I water. I kill bugs. I drive a tractor and dream wistfully of hunting.

August of 2009 started an incredibly intense period of work for me. I stupidly radically overbooked myself, taking on seven new websites to be completed by the end of January (when I could reasonably have finished two in that time frame). I worked 12-14-16 hours a day, 7 days a week. I took off one day at Thanksgiving and another day at Christmas and then dove right back into it. I was so overbooked that I ended up sliding the last several deadlines and didn’t finish until mid-March.

Mid-March 2010: My hosting account got hacked and I didn’t know it.

Oh, it was my fault. My root password wasn’t secure enough, and someone stole or brute-force-guessed that root password and installed a copy of the Dark Mailer script inside my site at 2fishweb.com.

The first I knew of it was when this particular client, the one I just rejected, started complaining about her email. She uses an email address associated with her domain, and she started getting notices that email from her domain was being blocked by various ISPs’ anti-spam systems. I asked my server techs to check and they said everything was fine on my end; just to contact the ISPs and request de-listing of the IP address. I did that.

Two days later it was listed again. In four different spam blacklists. Server techs still said there was no spam going out from my IP, no unusual email activity, no reason for the blacklisting, and I should request de-listing.

To make a very long story short: It was like playing Whack-a-Mole. I would get the site de-listed with one blacklist agency and another would pop up. I repeatedly checked every single script in every single domain on the IP. I deactivated one client’s Mailman mailing list and removed another’s ability to sendmail() through PHP. It continued and continued and continued, and I was whacking varmints every day and farming my maintenance accounts every night and fielding constant inquiries about what was wrong and trying to fix everyone’s problems and getting yelled at on the phone and not… winning… the battle.

By the third week of April, I had no energy left for farming. My tractor was completely out of fuel. Whenever the phone rang I was ready to cry before I picked it up. I dreaded opening my email program because there would be more of the same. I couldn’t sleep more than an hour or two at a time, day or night. I couldn’t eat. I snapped at the bag boy who tried to take my groceries out to my car in the pouring rain. I spent days wishing I could just curl up in bed. Trying to sleep, trying to make it go away. I seriously considered giving every client their money back and quitting altogether. Then I’d remember my responsibility to my clients, drag myself up, turn on the computer and go search all the files in all the domains again, looking and looking and looking for something that shouldn’t be there.

And still I could not find why my server kept being blacklisted for spam.

April 22. I received an email at 11:45 am from the Abuse department of the company from which I rent my server, wanting to know why I had not addressed the cease-and-desist they had sent 24 hours earlier. I replied calmly that I had not received it. They sent me a copy and my blood went completely cold.

Someone on the outside, not one of my clients, had filed an abuse complaint with my upstream provider because of continuing spam originating from my IP. The cease-and-desist said “You have 24 hours to fix it or we will cancel your account.”

It was dated April 21… at 11:45 am.

I immediately responded to the cease-and-desist, outlining all the steps I had taken over the previous five weeks and listing every single ticket I had filed with the support desk asking for help finding the problem. My case was bumped up to a supervisor in the abuse department, who went into my server and within 15 minutes had found the exact script that was at fault and was able to tell me what had happened.

The script, Dark Mailer, is very, very sneaky. It didn’t send out tons of spam from my server or my email address at all. It contained a list of 20 or so open relays — servers which would accept email from an outside source and send it on without question. Dark Mailer would send out those 20 emails, not triggering any spam detectors on my outgoing mail server. When each of those 20 emails hit an open relay, it would immediately fire out hundreds of thousands of copies of the spam to addresses all over the globe… and every single one of them appeared to come from my IP address and my domain.

I deleted that one script, changed all the passwords, and voila, the spam stopped. It still took a week to get all my sites de-listed, but at least new blacklists weren’t popping up faster than I could whack the old ones.

(No one was ever able to tell me why Abuse could find it in 15 minutes after Support had spent five weeks telling me there was nothing wrong….)

In the meantime, I had rented a second server from a different company, one that takes spam complaints very seriously and promised they had my back if something like this ever happened again, and started the incredibly laborious process of moving all my clients over. Everything that could possibly go wrong went wrong. Secure certificates disappeared, databases didn’t reconnect, files went missing. Oh, I had everything backed up in duplicate and triplicate and was able to restore it all, but it took even more of the energy that I no longer had in order to make it all work.

Have I mentioned that I have fibromyalgia? Energy is not in plentiful supply under the best of circumstances. I cried a lot during this whole process. But I slogged through it and got it all done and made sure to weep only when no one could see me.

By the end of April, my husband announced that he was taking me away for a week before I killed somebody. We left on Monday afternoon, after a 4 pm meeting he had to attend. Got to Gatlinburg at nearly midnight. I was so tired and wired from the drive and the getting ready to go that I couldn’t sleep that night. (My husband does not drive due to a partial disability, so I have to do that too.)

Tuesday all hell broke loose. We went up into the mountains to walk and try to unwind, and when I came back and logged on to check email late in the day, I found out that two of my clients’ websites were completely down (one had forgotten to renew the domain name; one was yet another secure certificate problem) and there was a major problem with the mail client on a third. People had been calling all day and leaving frantic and progressively more angry voicemails while I was out of range and had my phone turned off.

At that point I was holding on by the thinnest thread over a chasm of complete meltdown.

And at that very moment, the client whose problems had started it all emailed to complain that I was not updating her site in a timely manner and she needed updates done NOW for a reason that was extremely important to her but which I actually can’t now remember.

Without stopping to think about it, I fired back that since her annual hosting fee was due on May 1, I would be obliged if she would immediately find a new web host and someone else to maintain her site. Since it was already very close to May 1, I would keep the site live without charge until June 1, but please take care of the changeover by then.

Today is May 31, and she has just sent me the information on her new webhost. She’s gone, and I doubt the parting is amicable on her side.

What did this whole ordeal teach me?

Someone once said that every problem you have is a lesson wrapped up in shit-brown paper. You just have to get past the shit and unwrap the lesson.

So. My lessons:

1. Don’t try to farm when the tractor is out of fuel.

I am not exactly sure how I’ll do this — whether I’ll find someone to help with the weeding and tilling and other uncreative maintenance tasks — or whether I’ll just be certain to avoid overbooking myself again. Or a combination of the two.

2. Make sure the tractor doesn’t run completely empty.

Like many caregivers (and service professionals are caregivers just as much as home health aides), I forgot to take care of myself while I was taking care of everyone else. During and after that week in the mountains, that week that was supposed to be my rest space, I completely crashed and burned. It has taken almost another month of rest, careful eating, exercise, and much introspection to come back to a place of relative harmony. I am making “taking care of me” a much higher priority from now on.

Remember that pre-takeoff airline thingie where the flight attendant tells you “if we experience a loss of cabin pressure, place the mask over your own face first?” You can’t take care of anyone else if you pass out from lack of oxygen.

3. As part of that taking care of me, make certain that my rewards are sufficient to compensate my efforts.

Because this person was a friend and one of my very first clients, we did things very informally and never executed a maintenance agreement. She was paying only for hosting, about $75 a year, and I never charged her for site updates. Not once in five years. During the early part of my business that was fine — I wasn’t that busy and didn’t mind doing her updates as a favor. She did, after all, refer several other clients to me in the meantime.

It was only the last few months, when I was beyond overloaded and she became very demanding, that I found I was resenting it more and more. I wasn’t getting paid for her updates, so she would have to wait until I got to it. Every hour I spent on her site was an hour I couldn’t bill out to a paying client. She, on the other hand, resented being pushed to the bottom of my to-do list but didn’t feel she could afford to pay me for updates.

So my lesson here is that when I begin to feel that I’m being used, that I am not sufficiently appreciated for my efforts on behalf of a client, something is out of whack and needs to be addressed. If I had tackled it sooner, I might not have felt so resentful and might not have ended up pushing her away.

Coming from a family culture of “suck it up and take care of everything cheerfully, no matter what,” this has been a very tough lesson for me to accept.

Summary

I f***ed up a business relationship and pushed away a friend. I’m human, I made a mistake, and I’m sorry for that.

But I am human. And humans, fortunately, are capable of learning from mistakes.

Now to work on forgiving myself…

Post to Twitter Post to Delicious Post to Digg

3 Responses to Hunting, Farming, and what happens when the tractor runs out of fuel

  1. [...] This post was mentioned on Twitter by Carol Logan Newbill, Carol Logan Newbill. Carol Logan Newbill said: New blog post: Hunting, Farming, and what happens when the tractor runs out of fuel. http://j.mp/9GVhEX [...]

  2. Amy Crook says:

    I’m not sure how much of a friend she was if she was pushy and huffy over free work and wasn’t willing to pay to get to the head of the line, but that’s just me.

    Good luck with finding your capacity the easy way in the future, by stopping before the cup runneth so far over it drowns you!
    Amy Crook´s last blog ..Green Sea Turtle My ComLuv Profile

  3. Chris says:

    You can get out the tractor and try to run me down.

    You can get out the roundup and try to “rid” of me.

    You can get out the tools and run me all over the farm..

    I AM NOT GOING ANYWHERE.. You are the best and the person that had to depart from your services.. WELL HER LOSS and I think she will see it very soon.

    If there is anything I can do to help. Stand with the hosepipe and water your crops or whatever just say so!

Twitter links powered by Tweet This v1.7.2, a WordPress plugin for Twitter.