You can find more info on my userinfo page - but this is just here to say that I'm very happy to be friended by anyone that wants to read me. I rarely post friends-only, and that only tends to be about things that mention work, so if I don't friend you back you're not actually missing much...

If you do friend me, this would be a good place to leave a comment introducing yourself, and letting me know how you found me!

Additionally, I have lots of awesome friends - if you want to make a few more then take a look at here for Dreamwidth and here for Livejournal, add a few people, and leave comment so people can add you too.

The links posts come from my page at Delicious and are posted to DW and LJ via a web app which I wrote, and you can use yourself here.

A note to Facebook/Twitter users who are reading this journal:
You can easily leave comments/post in polls if you log in using your FB/Twitter account. Just go to the top of the main page and click on the FB/Twitter icon.

If you have your own blog then you can log in with it using OpenID and use that identity to leave comments.

A note on correcting people's grammar in the comments.

The Official Spoiler Policy.

Oh, and my wife, Julie, has cancer, which you can read about at the tag juliehascancer.
bullshit detector

An afternoon of playing with Java XML RPC libraries is not fun.

I'm working on fixing a variety of odd bugs in the link poster, and one of the annoying ones was that posts to would time out pretty much every time.

The post would still go through, and everything works fine - except that I end up with an error in the logs, and the status of that post is an error message rather than "Yay! You posted a thing!".

So, on the grounds that my code is perfect, I assumed that was somehow doing something that timed me from there end. Clearly, in retrospect, this was a very stupid thing to think.

Because the _actual_ answer is that the default timeout for a URL fetch from Google App Engine is 5 seconds. And the WordPress site is taking about eight seconds to make the post and then tell me it has.

And there's no way for me to change the default. And the library I'm using lets you change the timeout for some transports, but not the one that AppEngine supports - even though App Engine supports setting the timeout.

And it turns out that this project, which is the one that all Google searches take you to, if you search for "XML-RPC Java", is no longer supported, and hasn't been updated since 2010.

So my options are:
1) Download the source code for an unsupported library and update it myself.
2) Switch libraries.

Both of which sound awful, but the latter sounds slightly less awful.

I may spend half an hour being repeatedly killed by Manus instead.

Original post on Dreamwidth - there are comment count unavailable comments there.

Interesting Links for 01-08-2015


So you want to give unsolicited advice to an adult

First up a note, because there are limits to how hypocritical I'm prepared to look. This is advice on how to give advice _directly_ to other adults. If you're putting general advice up in a public place that people can choose to read or not, then just go ahead and give it. Like I am. Right now.

So you want to give some unsolicited advice to an adult. You've looked at something they were doing, and thought "Hey, they could be doing that better. I should help them!" This is a perfectly reasonable thing to think, and it's lovely that you want to make the world a better place by helping someone to improve themselves*.

However, just leaping in with a "You shouldn't use Windows, it's shit. Use Linux instead, it's awesomesauce!" isn't going to get you very far, even if the person has just been complaining about a virus they got from clicking on an attachment. Instead, you're likely to make them feel patronised, cause hostility, and push them away from the direction you're trying to guide them in.

Instead, I'd like to suggest two routes which work for me when I'm giving people advice.

1: The Direct Route
Give them the advice. But first prime them, by sympathising, and asking for permission.
"Oh, I'm sorry to hear that, having a virus must be a massive pain in the arse. Would you like to hear how you can avoid them in the future?"
The sympathy lets them know that you care about the problem, and by asking them you're letting them decide whether they want the advice _and_ they're more likely to be open to it because they've made an active decision to listen to what you have to say.

2: The Indirect Route
Tell them a story about yourself. Or about a friend. Don't tell them what the advice is, but put the protagonist in their shoes, and then have them follow the path you'd advise them to take.
"Yeah, a friend of mine used to get viruses all the time. Used to really annoy him, until he moved to BSD. Now he can click on anything he likes and not get a virus."
Obviously, this works better if you actually do have a friend who did that. Sticking to the truth is always the better option, and trying to persuade someone based on lies is almost certainly going to backfire _really badly_ at some future point.

Note: In either situation your advice will be much better recieved if you point out any drawbacks yourself. Defanging opposition makes you sound more trustworthy, because you don't sound like a zealot, but instead like someone who understands the positive and negative sides of things.
"Well, you could try Linux. It doesn't have Microsoft Office, or all the latest games, but it has a fair number of games nowadays, and it has Office alternatives that work for most people. Why don't we take a look and see if it could do what you wanted?"

3: Don't Give Advice
Ask yourself why you're giving advice someone hasn't asked for. Are you really doing it for them, or are you just frustrated because you see a problem to fix? There's always the option of not giving them advice, and simply getting on with things yourself, using your better techniques to make your life more awesome than theirs. And if they're interested, they will ask you hiw you made your life so incredibly amazeballs. And _then_ you can tell them.

Or you can just write a blogpost**.

*Assuming that that's why you want to give them advice. If you're just a dick then you don't need this advice either.
**After waiting a couple of weeks from the last time you saw people do The Thing badly, so that people don't think you're talking about them.

Original post on Dreamwidth - there are comment count unavailable comments there.

Interesting Links for 31-07-2015


On referendums, and when you have them

There's an ongoing fuss being made intermittently in the newspapers, about when, where, and how any future Scottish Independence referendum would occur.

The papers are, as always, wanting shiny headlines. And also, apparently, craving some kind of certainty. They want to know exactly when, and how everyone is going to react, and what is going to happen.

And the answer to that has seemed fairly simple and obvious to me, and made clear by Nicola Sturgeon today - the next referendum will happen if it looks like a clear majority of Scottish people want to be independent.

Because there is absolutely no point the SNP holding a referendum that they will lose, and they know this. The first referendum was there as a way of _possibly_ getting independence, but it never looked very likely apart from a few moments in the final stages. Support, when they first proposed a referendum, was in the high 20s/low 30s. But having the referendum meant being able to have a very public conversation and shift the window of public opinion.

Having done that, there's nothing more to gain unless something happens which shifts public opinion significantly - to at least 55% Yes, if not more.

"No politician can impose a referendum on Scotland, no matter how much some of us would like Scotland to be independent," argues Sturgeon, but "if the Scottish people do vote in future to have another referendum, no politician has the right to stand in their way."

Original post on Dreamwidth - there are comment count unavailable comments there.

The economics of subscription TV is interesting

I find the difference in behaviours between subscription TV (HBO, Netflix, Amazon Prime) and broadcast TV fascinating. One thing that didn't really click for me, until today's announcement, is how ratings drive their behaviours very differently.

For a broadcast TV channel, they make their money from advertising. They want as many eyeballs watching them every second as possible, so they can charge their advertisers as much as possible.

But for a subscription TV channel, they don't care if an individual show has six-million viewers - they care whether it appeals to six-million viewers they don't already have. There's no point Netflix producing Blue Is The New Black, a spin-off which appeals to exactly the same people as watch Orange Is The New Black. Those people already have a Netflix subscription, and they don't pay more if they binge-watch two series a year. But if they can pick up Jeremy Clarkson: Swearing At Foreigners* then that's going to largely be several million different people, all of whom have to pay their monthly subscription in order to see what wacky hijinks Clarkson gets up to this week.

Of course, one must-watch TV series per year probably isn't enough to have people paying £60/year. But one must-watch TV series plus a bunch of reasonably good old TV and movies probably is. After all, HBO are happy to produce three dramas, eight comedies, and ten unscripted shows over the course of a year. It's not a lot - but clearly it's enough to keep people subscribing.

*Which Amazon just outbid them for.

Original post on Dreamwidth - there are comment count unavailable comments there.

Interesting Links for 30-07-2015

Original post on Dreamwidth - there are comment count unavailable comments there.