Unethical email marketing from ComShop / digitcom.co.uk

Just a few minutes ago I received an unsolicited commercial email from ComShop / DigitCom. It was a multipart text/html email and I have reposted the HTML part verbatim here.

I don’t recall ever having bought anything from these guys, but I buy a lot of stuff online, so I gave them the benefit of the doubt and clicked on the unsubscribe link at the bottom of the page.  That’s when I started to get a little suspicious, the URL I was being sent to contained no information that could identify me to the site.  The unsubscribe link points here and, just on the offchance it disappears, I’ve also put it here (the image does not display).  Look at the source, it’s just static HTML.

In other words, their unsubscribe link does nothing at all, whilst claiming you have been unsubscribed.  That’s breathtakingly deceitful.

Enjoy the publicity guys.

Happy birthday antibodyMX

According to my notes, antibodyMX is 5 years old today.  The official domain didn’t get registered for a month or so after the fact, mainly because we started with a different name.  But we’ve been up and running and filtering mail for 5 whole years.  In that entire time we’ve had not one single customer-affecting outage.  Yay us!

Thanks to all our customers for their support over the years, especially the early adopters who took a chance on a startup project literally hosted in my spare room.

Thanks also to our suppliers.  Our reputation for stability and availability is based on the good relationship we have with you and the services you provide.

It’s difficult to say how Internet email will evolve over the next 5 years, but we’ll be doing the best we can to keep your inbox free of crud.  If you are, or know of, a company that is struggling with spam, please give antibodyMX a try.  Either we’ll significantly reduce the amount of junk you get or you don’t pay us a penny.

 

 

Lili

Lili and I did not get off to a good start. When we got our first house it came with a free cat who we named Five. We bought a kitten, Sina, we were very lucky that Five adopted Sina as one of her own.

I have two very fond memories of Sina as a kitten. One was her being pinned down by Five and being forcibly tongue washed, she ended up looking like a punk on a very bad hair day. The second was when Sina was pestering Five, and Five was clearly not in the mood. So she simply sat on top of Sina just leaving a head poking out.

For whatever reason, Five went out one day and never came back. Sina was still quite young and we both work, leaving her alone in a big house all day, 5 days a week. We decided to get her some company. Lili.

We were stupid, and I’m allergic to shopping. We went from pet shop (yes, yes I know) to pet shop looking for what was to nominally be “Lynda’s Cat”. Eventually, in a shop at the bottom of the market street in Walthamstow, I had had enough and picked a black and white furball at random. Lili.

We got her home, got her in a comfortable place near heat, food and water and plonked her on the litter tray. After an hour or so of “oooh! new kitty!” play, she went to sleep. Eventually so did we.

Waking up the next morning, we found Lili in an awful state. She was shaking, had been vomiting and had diarrhoea. Quite a lot of it for a cat so small. She got carted off to the local vet who did what they could but didn’t give us much hope that she would pull through. She was a very sick little kitten.

But she did pull through. A few days in the kitten equivalent of intensive care turned her around completely. Score 1 for veterinary science.

Although she was back on her feet and putting on weight quickly, we suddenly had another problem. Imagine if you can 7 month old Sina side-by-side with 2 month old Lili who was fresh out of life-saving care. Sina probably weighed 3 times what Lili did at this point. Tiny little furball Lili was actually growling at Sina, warning her to stay away from Lili’s food. Lili’s food being all that was available of course. This took weeks to fix. At the first sign of aggression to Sina at the food bowls Lili was simply picked up and taken into another room. I did a lot of walking those weeks.

We started to notice the house smelling a bit odd.  The locus of the smell seemed to be the front room but it permeated through most of the lower ground floor.  An odd chemically smell, acidic on the nasal passage.  We couldn’t find the source.

Lynda and I were sat on our sofa one day, Lili wandered in to the front room. She walked up to the unlit gas fireplace, climbed on top of the “coal” bricks and then jumped up into the chimney.  Lynda and I sat bemused and were about to intervene when a stream of liquid came down.  Lili had been using the chimney flue as a convenient litter tray.  We found quite a lot of wonderfully dried shit up there.  We purchased a fire guard.  Lili decided the cables behind the TV/Video/Stereo stack were the next best thing. You know, pissing on live power sockets.  We purchased a suitable AV cabinet.  She eventually learned that the garden was the right place to go to the loo.

Lynda once spent 4-5 hours clearing a border in our garden and putting some new plants in.  Later that evening, Lili was evidently quite pleased to have a new litter tray, but decided she didn’t like the plants.  She dug them up for us.

We took Lili to Norway.  It’s fair to say that she didn’t flourish there.  We picked them up at Trondheim airport and drove them 120K north to where our new home was.  Lili’s time in Norway was uneventful apart from getting involved in a fight with a neighbour’s cat and getting a nasty bite; Sina explored a populated badger den and came second in the resulting disagreement. Lili found a spot she liked in the house, at the top of a 2.4 meter cupboard containing shelves with no obvious climbing route up.  To this day, I have no idea how she managed to get up there.

When we came back from Norway, Lili and Sina had to go into quarantine.  TOP TIP!  Avoid any situation which means your cat has to stay in UK quarantine.  The staff were wonderful, they cared, they grew to be very fond of our cats.  The only bad bit was two cats confined in a space the size of two telephone boxes side-by-side for 6 months.  They got out, we bought them a new home and three years passed more or less uneventfully.

Lili has never been the world’s healthiest cat.   She’s had sniffles and a snotty nose and leaky eyes but, generally, she’s a huge black and white furball who rolls on her back an invites you to stroke her stomach (the best compliment a cat can give you) and make a fuss of her.  She’s been taken to the vet a few times but it’s always been something she seemed to get over after a day or two of looking a bit miserable.  When she became lethargic last Wednesday and wasn’t interested in eating for 48 hours we had no real reason for thinking this was any different. We were wrong. Very very wrong.

We always had to be careful to put used dental floss in the bin properly.  Lili would cheerfully eat any dental floss she could get hers paws on.

From a young age Lili got into the habit of aggressively showing us her stomach when she wanted to be stroked.  You would hear a loud thud behind you, look back and see her with four paws in the air begging for her stomach to be given attention.  I recall once she was the other side of a double-glazed window on the stone sill, saw us and head-butted the window in an urgent effort to show us her tummy. Stupid cat.

I’m pretty sure it was Saturday 8th when we took Lili along to the vet.  She was admitted as she had clearly lost a lot of weight and was dehydrated.  A blood test was done and the result showed she had a low white blood cell count and a high bilirubin level.  The vet suspected an infection in the bile duct and antibiotics were added to her drip. A day later she had rallied significantly and was released back home.

Lili the kitten was very adventurous.  Apart from trying to out-growl a much bigger cat she also was very explorative.   In the house we had a the time, the kittens’ bedding was downstairs. I recall sitting in the bed one night reading by lamplight and hearing an odd noise.  We had seagrass carpet on the stairs, and this was like a mountaineer ice-axing his way up. The noise continued for a few minutes, and then nothing, and then the noise of claw-on-cotton as Lili dragged herself up onto the bed via trailing duvet.  She eventually settled between our pillows and went to sleep.  That became her traditional place.

A day or so after Lili got back home she did seem to have improved. She was taking food, was interacting with us, jumping up on things to be near us. Then came Tuesday 11th January, 2011.

Just a week or two before, Lynda told me a story about Lili.  Lynda had been preparing dinner which included some peas.  Lili had been supervising the meal preparation and sneezed.  She sneezed into the bowl of peas.  The peas went flying, she got scared and went to hide under the stairs.  Don’t worry, we threw away the kitty-snot coated peas.

Tuesday 11th was a rough day.  Let’s start with getting to work, and getting a call from your 8.99 month pregnant partner needing your urgent assistance because she’s feeling unwell.  Then let’s add Lili suddenly plummeting downhill, unable to stand properly and near-collapsing when required to use her back legs. Lynda, and my unborn daughter, worked out fine.  Lili.

We got Lili an emergency appointment at a different vet. Frankly I wanted a fresh pair of eyes on the case, and were lucky enough to get someone who had treated Lili years before, a no-nonsense man called Chris Gray.  He examined Lili, blood was taken and analyzed and he was refreshingly honest with us:  Your cat is very sick.

Two things Lili doesn’t like are hoovers and plastic bags.  Either being brandished are enough to send her cowering under the nearest safe cover.  If you’re hoovering a room that she is in, you can clearly see her measuring the distance between her and the hoover and her and the door. To the micrometer.  The nanosecond the hoover is closer than the door, she makes a swift, fur-leaking exit.

Lili’s immediate diagnosis was cholangiohepatitis.  Bad, but not untreatable. Although Chris said we were looking at 50/50, he did show us an example of a cat who was much much sicker than Lili but who had made a complete recovery.  Further investigation was needed, it just so happened that a very skilled sonographer was due to visit the clinic that evening.  Lili was added to the end of the queue.  An ultrasound exam would let Chris look at what was going on.

Sina has always been the hunter of our cats.  She would proudly bring us back living trophies to show her hunting prowess.  Lili was less interested in hunting but didn’t mind playing with the mice.  I recall once that Sina brought a mouse up to our bedroom.  Lili accidentally sat on the mouse, and then apparently forgot about it and started licking her paws.  The mouse had its head poking out from under her belly, I rescued it.  Stupid cat.

Lili almost certainly has terminal cancer.  That’s the news that Chris gave us over the phone yesterday evening. Feline lymphoma, a common cancer in cats, affecting her spleen, kidneys and most likely her bone marrow too.  The last is the real sod of all of those. The marrow is where several cell lines are produced, white blood cells being one.  White blood cells are what is needed to fight infection, Lili’s white cell count was about one fifteenth the normal level for any cat.  Ridiculously low for a cat that was known to be fighting an infection.  A tissue sample was taken from her spleen, thought to be one stronghold for the cancer.

Chris talked to us about possible treatment options for Lili.  Chemotherapy, palliative care or euthanasia.  Lynda and I talked over the options for hours and hours and hours.  Chemotherapy, if successful, gave her the best chance for living longer.  But living and having a life are not the same thing.  I had doubts for her quality of life if we chose that for her.  Palliative care involved giving her drugs to make her perky, drugs to keep bacterial infections at bay, drugs to make her feel hungry so she would eat.  She was still going to die of the cancer, but would be comfortable for whatever time she had left, probably not more than a couple of months.  The last option had me in tears just thinking about it.

Honestly, I hoped that Lili would simply die quietly in her sleep, thus sparing us the need to make this choice for her.

On Friday January 14th we had one simple expectation:  We would get a call from our vet’s office telling us that Lili’s tissue sample would come back positive for some form of lymphoma.  The test came back negative: no cancerous cells found, no abnormalities detected. Now we were very confused.

Lili was referred to a specialist centre about an hour outside of London.  It was clear to me that Lili was running out of time and options so she was put on a private ambulance with Lynda riding shotgun.  We had to find out what was wrong with her before it carried her away.

Lili’s condition deteriorated further in the two hours or so it took to get her to the specialist.  The co-ordination problems she had, thought to be caused by low potassium levels in her blood, started to affect her front legs too.  More samples were taken and sent off to the lab, Lynda headed back home in the ambulance.

At about 1630 I got a call from Theresa, the specialist treating Lili.  She told me that the samples came back positive for lymphoma and that it was an extremely aggressive form.  She also told me that Lili was now going downhill very rapidly and had been given additional medication and put on oxygen to stabilise a heart and breathing problem.  It was very clear to me that Lili was very close the to end of her life, there was nothing more we could do for her than make the end as gentle as possible.  I called Lynda with the news,  Lynda agreed with me.  Lili was put to sleep at about 1700.

It is terrifying to me that a cat can go from looking perfectly healthy to this in the space of a few days.  Obviously Lili had the cancer for a time before this and it was only when her organs and bonemarrow started to be attacked that there was any visible symptom to show there was something wrong.

We miss our Lili desperately.  I wrote this blog entry as a way to remind myself of some of the great times and funny moments we had with our wonderful black-and-white furball.  Hopefully it’ll also help other people who find themselves in this situation. The world is a bit sadder and emptier without her in it, but we know we have done everything we possibly could to give her the best life she could have had and the best possible death when she could no longer go on.  I take some comfort from that.  Lili.

An open letter to National Express East Anglia

Hello NXEA,

For the past five working days I have had to deal with your professional handling of what no-one on the planet could have predicted: a bit of snow in winter.  Because of 48 hours, now a week ago, where we had some snow come down, I have now had to deal with 5 straight working days of late running and cancelled trains.  On none of those days was there any significant snowfall.  “Adverse weather conditions” has been your slogan and excuse for pisspoor service leaving us, the pre-paying public, stranded and frustrated at your inability to guess that sometimes there is wintery weather during winter.

Oh but that’s not all. You sprung into action with your special timetable.  In this case “special” meaning that you run fewer services, working on the basis that fewer trains can be run more reliably.   Not one single one of your “special” trains that I was interested in ran on time.  Not one single one.  Indeed several didn’t run at all as they were affected by the “adverse weather conditions” mentioned above.

And then you feckless maniacs decide to add even more Christmas cheer.  You decided at fuck all notice that the last train for my route (Liverpool Steet to Shenfield) shall be at 20.00 on the 24th. Excuse me? What? That’s something like 30 train journeys you’ve decided not to run: Just Like That.  And that’s just on my route. What about workers who finish after 8pm?

Will you be issuing refunds for people affected by this unilateral withdrawal of service?   Of course you won’t.

Just to add to the fun, you guys are going to be upping the cost of my ticket in January.  I will be paying more money for a service that is barely adequate at the best of times, barely acceptable most of the time and non-existent all too often.

National Express East Anglia, you are incompetent fuckwits.  You have no business being in charge of national infrastructure.  There appears not to be one mild excess of weather you are capable of dealing with.  Too much rain in spring, too much heat in summer, pesky leaves in autumn and cold days in winter.  I have simply no idea how you plan to cope with the predicted number of people wanting to travel to Stratford for the 2012 Olympics.  Fortunately, I plan to be elsewhere during that period.

Did I mention that you’re incompetent fuckwits?

Regards

Martin.

 

Paying your bills on time

As someone who runs a small business, I completely understand the problems of cash flow.  You provide goods or a service to another company and then give them “30 days” or whatever to pay the invoice.   If you’re lucky, your customers are like me: A bill arrives, it gets paid. Right there, right then.

Apparently this is quite rare.

I once wrote something similar to the above on That Mailing List.  One of my suppliers delicately emailed me mentioning that, in fact, I had not immediately paid a bill they had sent and could I please do so.  Acting in good faith I wired the cash less than 20 minutes later with an apology.  Later it turned out to be an accounting mistake on their part, we had already paid the bill within a day of getting it, as I had thought.  It then took them nearly two months to refund the overpayment.

It’s obvious why you might allow an invoice payment to be deferred for up to X days.  And it’s obvious why, once that period has passed, you write very polite letters asking for payment that overlooked invoice, at their convenience, if they don’t mind.  You’ve already provided goods or a service and you haven’t been paid yet and you don’t want to piss off the people who owe you lest they delay or make your bills not make this month’s payment run.

Can we small businesses please get into the habit of paying bills on receipt, or at least on time?

I write this, of course, with a pile of literally thousands of pounds of unpaid invoices (ours, to other people) on one side, and another pile on the other side (other people’s, to us) with a PAID stamp on.

 

 

Musings on a chip shop menu

Berwick Street hosts a very very nice fish & chip shop.  When I was there last week, I noticed some discrepancies in food item pricing on the menu.

Lines items one and two:

  • Chips, 1 egg – £3.20
  • Chips, 2 eggs – £3.80

So from this we can deduce that an egg costs 60 pence and that the base cost of chips is £2.60. Next:

  • Chips, 1 egg, 1 sausage – £4.30
  • Chips, 2 eggs, 1 sausage – £4.90
  • Chips, 2 eggs, 2 sausages – £5.70

The first item tells us that a sausage costs £1.10. This is confirmed by adding 60 pence to get the £4.90 for the extra egg, but suddenly we’re getting a discount on the second sausage, costing just another 80 pence.

  • Chips, 1 sausage – £3.70
  • Chips, 2 sausages – £5.30

This starts well, our baseline of £2.60 for the chips and £1.10 for the sausage gives us the £3.70 we’re expecting.  But hold on a minute, the second sausage here is costing a whopping £1.60, twice the previous price for sausages!

  • Chips, 1 saveloy – £3.70
  • Chips, 2 saveloys – £5.30

Our first saveloy is costing the same as a regular sausage, and the second saveloy is twice as expensive as the first. In any case, surely the saveloy is a superior sausage and should cost more?

I don’t know why we second-sausage lovers are being charged such an exorbitant premium, can the injustices of this world never end?

Email: Managing users’ expectations

That email has established itself as a universal communication medium is a credit to all those who contributed to the standards that define its implementation.

Truly, only “www.” is a more familiar as an Internet medium for information exchange and, even then, HTTP is routinely dumbed down to “it’s on my Facebook” and other similar paradigms.   This is not a criticism, it’s a tribute to the Internet’s ongoing integration into our everyday lives.

People seem desperately confused about email.  It’s an aged beast and it suffers from having been reinvented and redefined over a long period of time to meet the demands of a succession of users with different expectation levels.

Stepping back a bit, SMTP  as a protocol was originally designed to be incredibly tolerant of all kinds of problems.  It had to be.  Shonky links, low bandwidth and infrequent network connectivity meant we needed a protocol that could deal with the idea that messages could be significantly delayed.  SMTP has a built in a mechanism for notifying when things aren’t going well, and makes a really good effort to tell a sender that things didn’t work out and the message didn’t make it. Then things changed.

Sending files over the Internet is sometimes hard.  I know!  Let’s extend email so it can transfer files.

Not everyone can type in 7 bit ASCII. I know! Let’s extend email so all character sets can be represented.

Sending messages in plain text isn’t always desirable. I know!  Let’s extend email so it can handle PGP/GPG mail.

Attachments are okay, but what if there were some way my image could appear in my email body. I know! Let’s extend the message format so it can do that.

Text is boring. I know! Let’s extend email so I can send HTML content.

 

You get the idea.   Email has evolved far beyond the original specification and still fails to meet users’ expectations.  And it should not, because they confuse email with instant messaging and with a reliable file transport mechanism.  If your users want messages to be delivered instantly, use an instant messaging system, not email.  If you want files transferred, use some kind of file transfer protocol.   Anyone training users to expect anything other than “it’ll almost certainly get there, probably today” out of email is creating a rod with which to beat themselves when deadlines tighten.  The right tool for the right job.

 

 

 

 

 

How to get less junk email

I am fairly frequently asked for tips on getting less junk email.  There’s quite a few things you can do that will cut the amount of junk you get, or at  least let you get an idea of where it came from.

 

  • Don’t have a catchall account, only ever accept mail for real mailboxes.
  • Use as few generic or role addresses as you can.  sales@, info@, help@ etc will all draw in unwanted junk.
  • Delete or disable legacy mailboxes, don’t alias them to another user’s mailbox.
  • Use different email aliases for different sites.  So I might have  martin-slashdot@ for Slashdot,  martin-elreg@ for The Register, martin-dominos@ for Dominos etc etc.   If mails arrives to these addresses, and it’s not from that specific organisation, then something has leaked when it shouldn’t have.
  • Once you’ve finished with a particular site, remove the alias.
  • Don’t be afraid to pick up the phone.  If you get email you didn’t want from a company, call them to get yourself removed. Where you’ve had no contact with a company before, tell them politely that they are breaking the law by sending you unsolicited email.
  • Understand the difference between spam and UCE.  With spam it is rarely worth your time tracking down the sender, UCE may well be.
  • Don’t click on unsubscribe links in spam messages.  Do click on unsubscribe links in UCE messages.  With the latter, if the unsubscribe isn’t instant (“It may take up to 10 days….”) then blacklist the sender.

 

And, of course, if junk mail really is a big problem for you, consider using a commercial anti-spam and anti-virus filtering service to get rid of it.  Obviously I would recommend antibodyMX, but there are plenty of other providers out there.