Friday, July 16, 2010

In Which I Yield to Powerful Forces

As long ago as it was possible, I began running my own mail servers. Over the years, I employed a variety of software and hardware and for the past decade or more I've had to run antispam software as well. I did it partly to avoid the alternatives (which were pretty unsatisfactory in the early days) and partly to understand the process in case clients needed help with their mail servers.

Happily, I am now without clients. And the alternatives might not be so bad. But I am stubborn, so I decided to solve my most recent problem by setting up some new software on a VM in the USA. The problem I was solving was the increasing unreliability of my ADSL connection—not through any fault of my excellent ISP, but because Telstra appears to have a policy of letting the copper infrastructure decay sufficiently that any successor won't be at all glad to be saddled with it. At any rate, there have been no spare pairs in my street since we got the last pair five years ago. Since then, we've had line faults after every heavy rain and it takes between three and seven days to fix things, where "fix" means find the wet joint, dry it out, patch it up and say "she'll be right now mate."

So I looked at all-in-one solutions for email, in the mistaken belief that there would be something out there that I could more or less just drop into place on a VM, do a bit of DNS magic and sit back happily. I looked at Horde, Zimbra, Zarafa, Courier and a couple of others whose names escape me now. They probably are all capable of doing the job, but all require a great deal of dedicated setup and they look as though they need a fair bit of care and feeding once they are operational. None of them looked like what I wanted and I started thinking that if these were the answer to my question, I must have asked the wrong question.

So I considered Google. I've had a bunch of gmail accounts ever since it was launched. I don't particularly like it, although that's mainly just me. And, for various reasons which I can't talk about here, plain gmail accounts don't work for much of the email I have to provide. But Google Apps offer a bit more than just gmail, so I thought I'd spend a little bit of time investigating. I gave myself a maximum of one day to complete this and in fact needed much less. I now have all email addressed to my 11 operational domains going to Google Apps accounts for me and my wife. Nobody has to change the email addresses they use, and the outgoing email looks as though it still comes from where it always did.

And Google's antispam stuff is awesome. So far, we've had a few thousand emails arrive and every spam has been caught without a single false positive. It's so good that I'm going to stop checking the spam folders now. This is so simple that it's a total no-brainer for me. The only possible downside is storing our email with Google, but that is easy to fix via their nice API that allows you to download it all for storage wherever you like.

Well, the other possible downside is that my wife might spit the dummy when she returns from seven weeks in Europe on Monday and discovers that she is not using exmh any more. But it will be too late and I hope it won't end in tears. At least she has been using one of the ordinary gmail accounts every day while she's been away, so she is familiar with how it works.

Friday, July 9, 2010

Filter Stubs Toe Again

This is all over the news and the blogz, so I won't clutter the place up with URLs. The Conroy train to idiocy has been declared late due to some purported efforts to get it right, which appears to mean delaying it until after the election at least.

That counts as good news, although it's only a tiny step. Perhaps they will quietly abandon it after the election. Somehow, I don't think that will happen. So I suppose I'll have to start thinking about the cleanest way to opt out, as there seems little likelihood that Conroy will do a u-turn and switch it to opt-in.

When you consider that none of the bad guys will have to think about this—since all but the utterly insane ones would have opted out of showing their illegal habits to the government years ago—it's a bit annoying that the good guys now have to bestir themselves in order to opt out of the filter. At least there's no real rush and this can just go on my long todo list.

Part of the problem for me is that my spouse is a psychotherapist who has to deal with victims of child abuse and, less often, with the abusers. She has good reason to look for materials that, while in no way exploitative or deserving of special classification, could easily trigger imperfect software that was supposed to be "protecting" us all from the evil ones.

Tuesday, July 6, 2010

Politicians and Pimps

Most politicians give me the same icky feeling that I get from the pimps in red light areas and they seem to come from the same part of the intellectual spectrum as well. A local candidate has letterboxed me asking me to tick the four issues that most concern me from a list which has no mention of the environment or detention centres or refugees.

The old graffiti on a wall near my childhood home that exhorted people with the slogan Don't vote—it only encourages them seems more and more apposite as the years go by.

To link my little political rant to the ostensible topic of this blog, it would also be nice to see politicians get a clue about the evils of things like software patents, internet censorship via technical means, copyright and so on.

Rant over. Here's hoping they get the election done promptly.

Friday, July 2, 2010

Foursquare Privacy Fail

I've been seeing a number of friends take up with foursquare and I've seen quite a few mentions of their service in the blogs, so yesterday I thought I'd have a look at it and signed up. Bad timing. They chose to get embroiled in a story of a privacy policy that describes something quite different from what they deliver.

That's not the bad part. All of us make mistakes. Rapidly-growing startups probably make more than most. I like it better when people don't make mistakes, but I can live with it—unless it's a matter of life and death. And I can live with the mistakes if the same people don't make a point of repeating the same mistakes all the time.

The thing I can't abide is people and businesses who make mistakes and refuse to admit them or try to conceal the mistakes from the affected people. A recent story in Wired claims that Foursquare Puts Money Before Privacy and backs that up with plenty of data. Read it.

I'm getting sick of companies that don't even pretend to care about their customers and my policy has hardened in past few months. I had already cancelled my Facebook account because of their behaviour—not that you can cancel with them. They just treat you as if you're having a little time out and maintain your account regardless. Major fail. I'm not planning to do anything with foursquare now.

Thursday, July 1, 2010

Comments Policy

After six years of blogging on a platform that did not provide comments, I now find myself with a blog that does do comments, so I thought I should alert existing readers who might not have noticed this change and take the opportunity to mention what passes for a comments policy.

All comments will be submitted for moderation and will appear next time I'm awake and can review them. The obvious evil things will be discarded. Abuse will be discarded. Anything really off-topic, as perceived by my fairly loose definition, will be discarded. Anything else will appear.

I'm hoping to see some interaction now that I've taken this plunge.

Wednesday, June 30, 2010

Programming Languages

People who know me will be aware that I've been exploring the suitability of various programming languages for some software that I want to work on. Abetted by my ADHD/Aspie brain, this has been a bit like Alice falling down the rabbit hole into a world of weirdness. As the weeks go by, my collection of potential languages has grown much faster than my ability to do any of the evaluation that I was planning.

For the record, the list now consists of x86 Assembly Language, C, Python, Lua, Scheme/Racket, Common Lisp, Clojure, Erlang, Haskell and Javascript (in no particular order). And, if Clojure is involved, that would also mean learning Java—something I have assiduously avoided for the last 15 years. The more I add to this crazy pile, the more sure I am that I must be missing the perfect answer, even though the sane bits of my mind know that there is no perfect answer. Of course, the longer I amuse myself in this pseudo-analysis, the longer I am safe from having to put any work in on any of the real projects on my list.

It would be nice to be able to say that this insight has freed me from analysis paralysis and that I'm just going to start on something. After all, I am good at telling other people that any decision is better than no decision and that even a wrong decision can be easily fixed once it's clear that it was wrong. I'm less capable of listening to my own good advice. However, it has occurred to me that I could just decide on one step right here and now. So, for no reason other than that it's the language I know least about, I'm going to do some work with Clojure over the next week or two to see if it's a real candidate or not. The others can wait.

Monday, June 28, 2010

LCA 2011 is not far away

To be more truthful, LCA 2011 is not far away if you're planning to present a paper, because the all-important call for papers will be going out soon. Time to start thinking about the killer presentation you might want to make. Final conference dates are 24-29 January, 2011 and it's happening in beautiful Brisbane.

I understand that the invitations to keynote speakers will also be going out any day now, so hopefully there will be more to say about that before too long. Having not had a chance to attend an LCA since the last time it was held in Brisbane, I'm really looking forward to this event.

Friday, June 25, 2010

Public Goals

That title has nothing to do with football, just to get that out of the way. I have seen many people in the business of helping the rest of us to sort our lives out who advocate setting goals and committing to them in public as a way of focussing attention on the pursuit of those goals.

I've avoided that for most of my life, but today I'm going to dip a toe in the water and declare a goal of shedding some weight. Forty years ago, I weighed a little under 60 kg. Now I weigh a little under 80 kg. I have added the weight in teensy increments over the whole forty years, at the rate of about half a kilogram per year, and have hardly noticed it happening. But that's heavier than seems healthy for a boy of my build and height, so I have a plan to reduce it.

I have no illusions of getting back to the trim 58 kg of twenty-year-old me. But it seems feasible to aim for 70 kg. To make this concrete, my goal is to lose 10 kg in the next 100 days. If anybody wants to hold my feet to the fire over this, make a note in your diary and we'll see how I go.

I plan to announce some other goals here over the next few weeks, but I also have plans to talk about software before long, so maybe I can combine the two.

Friday, June 18, 2010

Constant Improvements

A couple of days ago, I wrote about a customer service failure at FooBar Motors. I did not identify the company because they generally do a pretty good job of looking after their customers and that's why I keep buying cars from them and why I keep getting those cars serviced by them. The thing I was getting at is that, even when the culture is to provide great service, it's not always easy to get all the details right.

That brings me to my domain—software. We creators of software probably make more painful hoops for our customers to jump through than even the worst car dealership. And, in some ways, we have much less of an excuse: software is infinitely malleable, so we just have to fix it when it's hard to use. But we don't always know that it's hard to use. When we test it, we're kind to it and treat it the way we meant it to be treated. When it resists us, we understand it well enough to gently persuade it to go where we want. When it tells us lies, we don't feel too concerned because we understand why it lied. Besides, it's our baby and we don't like to be told that our baby is ugly, so we resort to that ever-reliable solution—denial.

And of course software is difficult to test. There are so many ways to get where you think you want to go that it's almost certain that a user will find pathways that we neither intended nor perhaps even noticed and which we certainly did not get right. Lots of people have written papers and books and given presentations about the business of software testing and I'm not going to try to push any particular approach on you today. But I think it's really important for all of us who create software to recognize that we are far from getting the testing right and that it's something that we must pay better attention to in the future.

Wednesday, June 16, 2010

What's Wrong Here?

Recently, I needed to contact the service department of a local car dealer. Knowing that I could instantly put my hand on the previous service invoice from them, I grabbed it and saw a little box that said "BrandA service" with a phone number. I rang the number.

It rang for quite some time and was eventually answered by a receptionist who said, "Good morning, FooBar Motors, how can I help you?" I asked for the BrandA service department. She said, rather impatiently, "Which dealership?" Not expecting that question, having got the number from that dealership's invoice, I hesitated a moment. She then said, "SuburbM, or SuburbN, or SuburbO, or SuburbP?" So I said I wanted SuburbM and went through the wait for the next receptionist to answer.

Again, I heard, "Good morning, FooBar Motors, how can I help you?" I was on top of things now, so I said I wanted the SuburbM service department for BrandA and quietly congratulated myself on having short-circuited at least one step in the process. The next receptionist who answered said, "Good morning, FooBar Motors, how can I help?" I imagined I was talking to the right person now, so started to ask my real question. She interrupted and said, "Are you after the service department?" I admitted I was, and waited once more for the next receptionist in the stack to answer.

FooBar Motors have many signs posted up in the local premises talking about how seriously they take the issue of providing great customer service and, as a matter of fact, the people who you meet face to face there are polite and helpful. But the pain of ringing them is really a bit much.

Saturday, June 12, 2010

Tea Parties and Unicorns

Not so long ago, I overheard somebody say that life is not all tea parties and unicorns. That's probably true, but it seems a bleak view. My plan here is to make sure that there will be enough of both to go around.

I started my first blog, on the edge, six years ago as an experiment to see if I wanted to get into the blogging thing. It was built on simple software and was always intended to have a short life. My habitual farting about in search of the perfect blogging software platform once I decided to continue has resulted in the temporary thing living for so long.

I've decided to tackle some of my imperfections head-on and so, rather than find the perfect software (which seems not to exist, surprise!) or (even worse) write my own blogging platform, I decided to just adopt something that's already out there and at least partly functional so that I can go ahead and write rather than do the teenage angst thing.

I also decided to stop fretting about the exact niche for my blog. This will continue to be a place where I write about the things that interest me. That probably means there will be quite a bit about software—the writing of software and the languages and tools associated with that. If I manage to make a few more of the decisions like the one I made to start this new blog, the software articles will probably make up a fair bit of the content. Failing that, there are always the tea parties and unicorns.