10 Rules For Arguing Effectively

10 rules for arguing in an effective, pleasant, and productive way. Thoughts of Dan. Disagreement and comments welcome.

1. Stating your opinions without backing them up is a very effective way of communicating your feelings, but is not very productive in advancing a debate. Explain why you think what you think.

2. Don’t assume that the other person understands the fundamentals you’re building on. Don’t assume the other person understands what you’re saying. Make sure the other person feels comfortable asking you questions: don’t shout at them for not knowing elementary things, and likewise, don’t put up with them complaining about your lack of knowledge – how can they sell an idea to you that you don’t understand. Assumption is bad.

3. If you disagree with a premise, challenge it before further constructs are built upon it. If your premises are challenged, be ready to explain them rationally, and be ready to be wrong. That’s okay.

4. There is no harm in being wrong. Apologise for your mistake, and do not berate others for their mistakes either. Sweep anybody’s mistakes under the carpet and forget about them: move on to the next point.

5. Louder is not equivilent to more correct. Sometimes the best ideas come from the quietest people. Sometimes they don’t. Either way, you can’t hear them if you’re shouting.

6. Personal quips are best left aside. All stereotypes run the risk of causing problems, whether these are about the intelligence or knowledge of the debators, their right to know or make decisions upon information, or the relevance or importants of topics being covered. Again, be ready to be challenged on anything, and treat such challenges with respect.

7. In the event of a conflict of understanding, be ready to accept the blame upon yourself. A misunderstanding always takes two people, but tempers can be kept low and order maintained if you swallow your pride and, instead of saying “You must have misunderstood me,” say, “Sorry, I mustn’t have made that very clear.” Showing off and dominance are not productive.

8. If you need more time to formulate your argument, explain yourself, do further research, or just to stop for the time being and take a break, that’s fine. If others ask the same of you, allow them as long as they need. A break helps everybody’s mind work, and while time can be precious, so is the ability to compose oneself.

9. The last word is not the best. Don’t fight to get the last word in, mutter something under your breath, or otherwise make yourself feel better by putting others down – it’s rude, selfish, and counter-productive. If you’re wrong, you’re wrong: move on to the next point. If you need more time, that’s fine, and you’ll be able to forgive the others’ for their rudeness by knowing that you are nice enough not to be so rude to them. Backstabbing is the fastest way to upsetting the balance of calm in a debate.

10. By respecting these rules, being polite, explaining yourself well, and being tolerant of others’ needs, you’ll be able to express yourself effectively and without degenerating into yelling and personal digs. But don’t expect others to do the same: not everybody finds it easy to keep a cool head in a hot debate. You’ll need to make up for them by remaining rational, re-iterating their points in your own words to ensure that everybody (even you) has understood them, and dealing with them fairly and pleasantly.

Be told.

Andy’s Gig – Logistics

Andy is putting together the logistics for the Pagan Wanderer Lu gig in Manchester this weekend, so here are the instructions for Team Aber. Please contact me if anything here seems wrong or needs clarifying!

Team Aber’s PWL Plan

Team Aber currently consists of:

  • “Wheels” Claire
  • “Steals” Dan
  • Paul “The Hat”
  • Matt “The Hat Copycat”
  • And special guest member Sundeep (TBC)

The team will gather at The Flat at by 10am on Saturday for the drive Up North. We may or may not be going via Crewe to pick up Sundeep, depending on whether or not she’s coming, before we move on. We’ll either be going directly to Manchester (if we’re picking up Sundeep) or to Preston first (unlikely, unless we make really good time). Claire will be spending a little while rehearsing and other poncy musician stuff with Andy, so the rest of us will find some nice pub and have a sly pint while they do that. We’ll later be joined by Team Preston (my mum and her boyfriend) before we go to the gig.

After the gig, Claire (who won’t have been drinking, nudge nudge) will drive the 4.5 (avr.) of us back to Preston, where we’ll either be camping in my dad’s converted attic (preferable: reasonable amount of space and two spare beds – but I haven’t yet got in touch with him to confirm this as he’s been in Africa) or my mum’s house (less preferable: less space, filled with animals). If you’re in Team Aber and are allergic to dogs, cats, or chickens, let me know now in case we end up at my mum’s house! Bring a sleeping bag if you have one: we’re likely to be able to get a pile of bedding and whatnot but there’s still the distinct possibility that at least two people will be sleeping on the floor.

We’ll be travelling back South on Sunday (via Crewe, if Sundeep’s with us, otherwise via Chester Tesco – in accordance with the prophecy). If anybody in Team Aber has any appointments or comittments on Sunday, let me know, so we can ensure we’re back in time for you to make them.

How’s that?

The Good, The Barbeque, And The Ugly

This weekend’s Troma Night was brilliant: it was themed The Good, The Bad, And The Troma and we watched the original The Great Train Robber, from 1903, with Claire providing piano accompaniment, The Good, The Bad, And The Ugly (of course), the “Gunmen Of The Apocolypse” episode of Red Dwarf, and Kung-Fu Hustle, which was side-splittingly funny.

Geek Night, the day before, was good too – we got to play Lord Of The Rings, which is a rarity for us these days, and we lost, again. It’s a horribly difficult board game, but through the efforts of us all – and most us dying so that Claire might live – we made it to the foot of Mount Doom before we got royally buggered by the cruel rules.

And on Sunday, we went to the Arts Centre to see Mr & Mrs Smith, which was a surprisingly good action comedy with some suitably silly scenes, after which we christened Claire’s new barbeque on North Beach. Burgerlicious.

And now it’s back to the grindstone back at SmartData. Bored already. Who wants to cut work early and go to the beach?

Wonder If Jon Even Remembers This

Last night Jon came onto the RockMonkey chat room at just before 5am, having just come back from a rave and full of “love and party drugs”, as I’m sure he’d say. Because he asked so nicely at the time (down near the bottom), here’s a transcript:

(I’ve emboldened some of the bits that are “lovey”, rather than just “chatty”, but the transcript is otherwise ‘complete’)

<JonA> So, I’ the only one to get in at 5 am from a rave?
<JonA> Really, I feel so much love for everyone.
<JonA> Especially Bryn and Gareth. They’re the best.
<JonA> PEASE LOVE UNTIY.
<JonA> I suppose I shouldn’t be getting totally fucking wrecked on the party drugs before I start work on Monday, but I just love everyone so much.
<JonA> Let me hit the A-Z or people I love.
<JonA> Wait, 1 sec, while I put on some music…
<JonA> Okay, sorted.
<JonA> Right, I’ll try to do the A-Z.
<JonA> Right…
<JonA> C.
<JonA> Claire.
<JonA> Wait.
<JonA> That’s not right.
<JonA> B.
<JonA> Bryn
<JonA> Brynley, you’re a total ginger hero. I mean, really. You don’t meet many ginger people who are as cool as you. You’re chilled and caring and I can tell your friends mean a lotto you. Keep that up. It’s the best you can be. Really. People appreciate you because you keepyour friends close. Seriously. Hero. Integrity. Love. Unity. You knows it.
<JonA> Now, C.
<JonA> Claire.
<JonA> You’re by far the most intelligent person I know.
<JonA> I mean, really.
<JonA> You just fucking ju-jutisu any argument which is wrong. And that’s good.
<JonA> Because you’re keeping people thinking, which is the greatest gift of all.
<JonA> That and you don’t compromise your beliefs.
<JonA> You really make everyone think about their opinions. You challenge us all. You can’t give more than that.
<JonA> Oh, and it’s also generally considered you have a great rack :-)
<JonA> D.
<JonA> Dan.
<JonA> You, too, afre a superhero. You care. And I mean, CARE. You’ve made such a difference to everyone, just be making everyone reappraise their own value systems, tomatch with yours.
<JonA> sp/be/by
<JonA> You add so much energy to everyone, you’re a spiritual dynamo.
<JonA> Right, next, G.
<JonA> Gareth.
<JonA> You’re so old.
<JonA> But totally not in a bad way.
<JonA> You give us all perspecitive, and thA’s something we all appreciate. I particularly appreciate the way you’ve stretched me and made be think beyond the boundaries of mysmall field. You’re at once political, technical and spiritual, and everyone needs your love. Notleast me. Tschus.
<JonA> J.
<JonA> JTS.
<JonA> Whoops. JTA.
<JonA> My god, you’re the epitome of the victorian gentleman. And everyone needs someone like you to get back to roots every now and again.
<JonA> You add some laid-back opinion to the discussion at all corners. And the thing is, you really THINK about what you say, which gives us all a sense of well-being. We all love you,we really do.
<JonA> Paul.
<JonA> Well, fuck.
<JonA> You really do mean more to me than anyone I’ve met in Aberystwyth.
<JonA> You’ve shown me that being what people want you to be means nothing.
<JonA> And that individualtiy really does make people love you. I know more people in Aber who really need you and consider you a friend than I can comfortably count. You’re turlyone of those once-in-a-lifetime people who I will rememeber for ever. You’re a man of suchintegrity, honsety and good humour, I worry that no-one I ever meet again will match up toyou. Don’t ever change. Really. Not ever.
<JonA> *truly.
<JonA> Well, the sun is coming up now.
<JonA> I haven’t been to bed in about three days.
<JonA> I love you all so so much, keep on with the PLUR.
<JonA> Someone (Dan) needs to weblog this in the morning, so everyone can see it. I love you all. Good night, it’s been my genuine pleasure.
<JonA> Oh, shit, I just realised I missed out Ruth, so I’ll add to you tomorrow. Because you’re totally an incredible person too. Really.
<JonA> *sigh*
<JonA> Oh shit, I just nailed another huge line.
<JonA> I’ll probably be here now until 10am.
<JonA> I’m listening to the *huge* new Pendulum album. It’s taking my soul so much higher.
<JonA> Everyone needs a copy.
<JonA> http://www.mininova.org/tor/72519 Get it while it’s hot!.
<JonA> Hmm, who should I phone?
<JonA> Maybe someone in the USA…
<JonA> right.
<JonA> Jason.
<JonA> *Dials*

So that, as they say, is that. Thanks, Jon.

OpenID For WordPress

Update: 12th October 2007 – this project is to be considered abandoned. Please see How To Set Up OpenID For WordPress Comments instead. Thanks for the support and for your interest in OpenID.

THIS IS ALL HORRIBLY OUT OF DATE. THE DOWNLOAD LINKS DON’T WORK, I KNOW. GET OVER IT. More seriously now, I am working on a new version of this that actually works as a WordPress 2.0.x plugin. It’s very nice, but it’s not finished. Watch this space. In the meantime, why not take a look at OpenID Comments For WordPress (which is based on my preliminary work, here). Thanks for all the attention, guys.

As promised, I’m releasing the first usable version (v0.4) of my WordPress OpenID plugin tool. It’s very, very messy and a little buggy. Plus, installing it requires that you hack a few PHP files… use at your own risk. You’ll need a WordPress v1.5 weblog. Download this package and decompress it to your WordPress directory. It will create an openid_icons directory, a file called openid.php (the main codebase), and a file called openidform.php (the form that appears on your blog). Edit openid.php and substitute your own weblog URL in at the appropriate places (near the top). Link in the login form wherever you like. I’ve done so in my theme’s “sidebar.php” file, with the following code: <?php include (TEMPLATEPATH . '/openidform.php'); ?> In your main index.php, add a line to include the openid.php file. This will allow logins and logouts to be processed. Something like this: <?php require_once('openid.php'); ?> In wp-comments-post.php (the comments processor), substitute the following code in under “// If the user is logged in”: // If the user is logged in get_currentuserinfo(); if ( $user_ID ) { $comment_author = addslashes($user_identity); $comment_author_email = addslashes($user_email); $comment_author_url = addslashes($user_url); } elseif ($_SESSION['sess_openid_auth_code'] != "") { $comment_author = addslashes($_SESSION['sess_openid_auth_code']); $comment_author_email = "openid@example.com"; $comment_author_url = addslashes($_SESSION['sess_openid_auth']); } else { if ( get_option('comment_registration') ) die( __('Sorry, you must be logged in to post a comment.') ); } Notice the extra section, relying upon $_SESSION[‘sess_openid_auth_code’]. That’s the magic bit. And it should ‘just work’. Let me know if it doesn’t; I’ll be improving the codebase over the coming weeks and I’d like to include your suggestions. If you need any help setting it up, I can probably help with that too, or even with adapting the code to work with other applications (than WordPress). Features so far:

  • Authenticate OpenID users
  • Easily authenticate OpenID users from particular servers, including members of LiveJournal, DeadJournal, and Level9
  • Authenticated OpenID users can post comments

Features to come:

  • Cookie-based “remember me”
  • Ability to authenticate WordPress users (e.g. the weblog owner) by an OpenID
  • “Friends Only” protected posts, which can only be read by certain authenticated users
  • AJAX-powered log-in (to save users from having their browsers redirected excessively, and because it can be made to look swish), where supported

If you want to help code, just drop me a message.

OpenID And Scatmania

Over the last few weeks I’ve playing playing with an exciting new technology known as OpenID. Do you remember Microsoft Passport and it’s opposite number, Liberty Alliance? Well; we all know that these services weren’t all they cracked up to be. They claimed to be “distributed log-on services”, but in actual fact they were centralised log-on services (controlled, for example – in the case of Passport – by Microsoft – do you want Microsoft to know everything you do on the web?), and not really distributed at all…

…OpenID really is a distributed log-on service. Anybody can set up an OpenID server and start giving out OpenID accounts. If you have a weblog with LiveJournal, for example, you already have one, and soon folks on other similar blogging services will have them too.

I’d love to see a future where OpenID catches on, because it really is a beautiful and elegant (from a technical point of view) way of doing things, and it’s really easy to use from a user’s point of view, too. I’ve spent a little while implementing the beginnings of a WordPress (the blogging engine that powers this site) plug-in, and it’s taking shape: if you look in the upper-right of the page, you should find that you’re able to log in to this web site using your LiveJournal account. That means that WordPress users like myself, in future, should be able to do things like LiveJournal’s “friends only” posts, and allow LiveJournal users to make comments in a way that proves they are who they say they are, and many other benefits, too.

But, of course, it doesn’t stop there: DeadJournal will be next. Then TypePad. Then Blogger and the forum sites – phpBB and the like. Then the wiki sites. All of these sites will be able to authenticate against one another, and make content private, or accessible, without having to have silly “sign up” systems of the type we’re starting to see everywhere these days.

It’s all very exciting, but it’s early days for now. Right now, my WordPress plugin doesn’t do a lot – you can log in and out, and that’s about it. But give me a go, and tell me what you think – log in to my blog using your LiveJournal account, and give me some feedback. And when I finally get this code to a production level (right now it’s buggy as hell), I’ll release it as a WordPress plugin, and the world will be great.

Bush On ‘Intelligent Design’

Bush approves of ‘Intelligent Design’, we hear, a theory that’s gaining popularity amongst some Christian groups as a competitive scientific approach to the theory of natural selection. It specifies that while evolution has occured, it was guided by an intelligent force.

But the thing that it’s fans repeatedly fail to notice is that it isn’t a demonstrable scientific theory. To be considered as a scientific theory, it has to be impirically demonstrable, at least in theory, to be false. Evolutionary Theory can be proven false, because theories of evolution state that they could be proven false by the discovery of any single species who’s history can not be explained by it’s own terms. Intelligent Design’s “fail” demand is that it is proven to be incorrect for every species. Just like theories that both “God exists” and “God does not exist”, Intelligent Design can not be proven false, and therefore is untestable and unscientific!

I have no problem with the existance of a theory of intelligent design: in fact, I’m honestly surprised it’s taken so long to get a foothold, as it is a great theological explanation for the way species have been (so far) proven to be while maintaining creationistic ideas… but it is not, by definition a ‘scientific theory’.

It’s been a long day.

On the up-side, Egg have stopped writing to me to tell me I am over my credit limit and instead, today, wrote to me to tell me they were bored of telling me I was over my credit limit and so they have increased said limit. Go Egg!

The Knights Of Gaerog

Chapter I: The Knights Of Gaerog

Once upon a time, long ago, there was a large and sprawling kingdom with a great number of citizens, spread across a country of rolling hills and open flatland: the kingdom of Academia. The kingdom of Academia, which had for a long time been untroubled by war or famine, dedicated a large proportion of it’s time to study, learning, and self-advancement. It was surrounded on all sides by a larger republic with whom there was much trade, and who protected them from invaders. The two shared a currency, and a common tongue – most of the time – and only occasionally disagreed, usually on the value of a good education, which the kingdom of Academia prized, but the surrounding republic did not.

Academia was broken up into many small fiefdoms which were each ruled by a baron. The baron would frequently compete with other barons on matters of the education provided to their peasants, but this was not the only service the benevolent barons would provide. Most would also provide a church building – on the land of the fiefdom – and allow the people to ordain a bishop, who would ensure the spiritual happiness of the people. The church provided a place for people to relax after a hard day’s toil, and would represent them in matters concerning the baron. The bishop and his chaplains would attempt to support the people, where they could, and would also organise and fund number of diversionary activities and sports for the peons to participate in.

In the fiefdom of Gaerog, like many others, there resided an order of knights. The Order of the Knights of Gaerog were a spiritual organisation who drew money from the church to fund their activities. In these times of peace, there was never a need for the knights to fight, but instead they spent their time helping the people of the land deal with their day to day problems. They worked with the people, and alongside the people, and stood up to their ideals of helping people to solve their own problems, and to their nebulous seven “Knightly Virtues” – the principles of their knighthood.

The knights put a great deal of effort into making sure that the people of the land were content: providing a listening ear onto which they could offload their troubles and woes, a sounding post against which they could bounce ideas, and well-researched information about how best to make use of the resources of the land.

Despite their spiritual nature and their shared dedication to the happiness of the populace, a somewhat rocky relationship had evolved between them and the church had over the last two dozen years. On several evenings, tucked into the quiet of the knights’ lodge, the chaplains had asked the knights to share with them who they had helped today, or even what problems they had helped people with. The knights had always felt that to tell the church such information would be unfair on the people they had helped, and would violate the sacred principles of their order. However, things came to pass that with each new bishop there began a new period of both change and stagnation in the church, and by and by, things made their way onwards into the history books. The people of the land were a travelling folk, and few of them stayed in the same place for long, and within a given half dozen years the entire population could appear different to the one that preceded it, so nobody really noticed the long-term difficulties that any given bishop could be bringing about.

Chapter II: The Bishop’s Dilemma

One day, the baron of Gaerog got into a particularly vicious squabble with a neighbouring baron. The details are unimportant, but the result was that the baron of Gaerog decided to prove the value of his territory to the whole kingdom. From the king’s castle in the centre of Academia were despatched lawyers, tax collectors, census-takers, and an executioner: to perform a census on Gaerog and report back to the king of it’s value, so that the kingdom might know of it’s greatness once and for all. The baron spoke to the bishop, saying, “Be sure that thy ducks are in a line, aye, for verily, we art all beset to be right fucked if thou dost not.”

And the bishop was scared. Having been newly ordained less than a whole change of the moon ago, he did not want to anger the baron by failing the census-taker’s tests. He knew that they would exact great punishment upon those who could not account for everything that their organisation had done, and how, and so he looked to the chaplains to aid him. “Turn thy eye to those things for which thee appear responsible,” they advised, “But which thou cannot control.”

The bishop did this, scanning his ledgers and his records to find any things that might alert the attention of the king’s census-takers. The thing that worried him the most was the Knights of Gaerog, who had for a long time been financed and supported by the church, but would not provide any evidence of their good deeds. Even their indoctrination program – through which budding squires earned their white belts and golden spurs – was shrouded in mystery and steeped in tradition, and the bishop had to admit he knew little about the knights activities and nothing about their numbers (when not serving, the knights would dress as commoners and mingle with the people, unseen). How could the bishop vouch for the services the knights provided without even being able to prove that those services were justified? How could the bishop claim that his affairs were under control when he did not even know what these knights were doing?

Knowing that the church had to distance itself as far as possible from the knights before the king’s men came to assess them, the bishop acted quickly: and, perhaps, a little rashly. A message was sent to the Order, demanding that they disband… or risk excommunication from the church. This took the knights by surprise, and they were confused. They scrambled to gather as many of their number together as they could, and also called upon the help of their old friend, the wizard. The wizard had been a knight for many years, long ago, and still kept a watchful eye over – and a respectful distance from – the Order, observing from afar from his tip of his tower. The knights, accompanied by the wizard, and other allies of their order, banged against the door of the church and demanded an audience with the bishop. Eventually their calls were answered, and the bishop – along with one of his chaplains – met with seven of the knights and the wizard.

“What is this trickery?” demanded a knight who had been elected to this purpose. The other knights looked nervous. “For what purpose do you seek to end our good deeds.”

“This is what must be done! Thou hast ne’er provided us with even an inkling of faith that thou canst fulfil thy claims! Thy goals, thy training, and thy results – they’re all a mystery to us, and we must have such information if we are to allow you to continue your work,” replied the bishop.

“Then perhaps betwixt our argumentative tongues we can find room for some compromise. For too long have we been distrustful of one another. Now may be our chance to forge an alliance anew: mayhap we can provide you with the information you need, if you let us know what needs to be fulfilled. We can let you know about how our order works, and tell you, in general, how many people we have aided in in what way aid can be given. But in exchange, we would need thy word that we can continue our work in helping the people of this land.”

The two – knight and bishop – stopped their conversational manoeuvrers and counter-manoeuvrers, and, sensing the approaching stalemate, began to talk frankly.

“Mayhap we may build a new bridge from this point,” the bishop said, eventually. “Within the week we shall provide you with a list that shall detail the terms of such an agreement. We will tell you what oaths we would need from you, and we shall see if a compromise can be reached.” And both the men of cloth and the men of the sword left that table smiling. And the men of learning carried on as they always had, working under the sun as the shadows grew longer and climbed the hill towards the knights’ lodge.

Chapter III: Anger And Injustice

A week passed, and still no word had been heard from the bishop and the church. The wizard used his scrying ball to espy the bishop, and saw that he was extremely busy. The knights heard of how busy the bishop had been, ensuring that everything else was ready for the imminent arrival of the king’s men, but they were still concerned that they had not yet been written to. Some of the knights began to worry that their trust in the bishop may have been misplaced, while others argued that it was exactly this attitude that had brought about the breakdown in trust between the Order and the Church in the first instance.

Eventually, the day came that a message was delivered from the bishop to the knights. The knights were anxious: if the proposal did not comply with their seven virtues, they could not possibly accept it, and would have to argue against it. But such an argument may end in disaster: being able to find agreement in this proposal might be their only chance to continue their great work.

As they unwrapped the scroll, the hearts of the knights and the wizard sank. This was not the proposal that they had expected, at all. There were no requests for information, no demands on conduct, no new oaths of fealty to the church… nothing of the sort: nothing close to what the knights had prepared themselves for.

The scroll read:

“It is proposed, with immediate effect, that the Order of the Knights of Gaerog be immediately disbanded and disassociated with the Church. All of the knights are asked to turn in their belt and spurs and to instead report to Sam, the charitable nobleman in the Gaerog town centre. Sam will allow you to continue doing work to help the people of Academia, and also people from elsewhere.”

“We can’t work for Sam,” said one knight, upon reading this, “The work we’ve done as knights of the line is not even remotely comparable to the charity that Sam provides!”

“That’s true,” said the wizard, “The service the knights provide is quite unique and quite special. There is nothing that can replace it. But the bigger question remains: do we carry on and fight – and risk losing everything – living as outlaws in order to continue to help the people in the way that we know is best… or do we give up, now, and do what we can to make Sams work provide the best it can for the people who they can.”

And the wizard looked across the faces of the knights, and saw that whatever decision was made, there would be those that would object. If the knights disbanded and worked with the noble Sam and the bishop towards helping people as best they could, they would at least be guaranteed the chance to help those who needed it. But if they fought on, risking all, and won, they may yet be able to once again give everything they could to the people around them – but if they lost, they would have lost any chance of providing aid to the people of Gaerog. Yes, he thought, there would be those that would object to – and perhaps even those that would split off, and go their own way, in protest – the decision made. Which decision was best? Many knights thought they knew, but not all agreed.

As for the wizard; he promised to support the knights who comprised the democratic majority, whatever decision they made.

And he promised to support the knights in the minority, too.

To be continued…

Peekaboom!

This game is so much fun: Peekaboom!

You are paired up with a random other player. For each round, one of you is a “peeker” and the other is “booming”. The boomer has a photograph in front of them and a word that associates with it (e.g. “balls”, “men”, “cooking”, “elephant”). They can click on parts of the picture to expose them to the peeker. The peeker has to guess what the thing depicted is. If the peeker gets it right, both players get points. The less of the picture was exposed, the more points the two get.

As the peeker makes guesses, the boomer can rate them as “hot” or “cold”, giving feedback to the peeker. The boomer can also pass limited clues in the form of “noun”, “related noun”, “verb”, etc. to the peeker. The players are against the clock to score as many points as possible before time runs out.

The really clever thing about this fun little online game is that it is being used as artificial intelligence research to teach computer algorithms how to spot the “important” parts of a picture: the bits that can be used to determine what the picture is of.

Give it a go, and contribute towards some AI research while you’re at it…

Suzannaless

Well; apparently our new year in industry person, Suzanna, won’t be working for us after all. She called up this morning to say that she had accepted a placement elsewhere.

Nia’s Back

Nia, the Technium receptionist who became badly injured after falling from Constitution Hill over six months ago, is on her feet again and well enough to come back to work. She’d only just started a permanent contract with the Technium when she sustained her injury, and now she’s back.

Minus a few physical changes (weight loss; presumabley during her coma), she’s still the “same old Nia”; happy, bouncy, fab.

A good pick-me-up to start what could be a busy and complicated day.

Microsoft SQL Server Versus FTP

This is a geeky post. You have been warned.

Microsoft SQL Server is one of those funky advanced database management systems that supports replication. One of even fewer that supports merge replication – where data edited and updated at two separate databases can be merged on a schedule and the changes reproduced at both ends, and any conflicts (for example, two different operators on different sites changing the same record in different ways) can be brought to the attention of an operator. This is very good.

Sadly, it’s not terribly well thought-out as far as anonymous internet replication is concerned. You see, it works wonderfully if the replicating servers are on the same Windows domain, but that isn’t always possible.

We’ve got a set-up where a client’s database engages in merge replication with a separate database on our web server. As the two servers are on different Windows domains, and because of restrictions in the firewall configuration, we’ve set up Microsoft SQL Server 2000 to perform the replication over the FTP protocol. Therein lies our first problem.

There is a bug in Microsoft SQL Server 2000 that prevents anonymous internet merge replication from working over FTP… unless you install Service Pack 3 or above… What the fuck? It took until the third service pack before they fixed this?

In any case, having fixed this, another problem rears it’s ugly head. Back in the dark ages (well, 1985), when FTP was first invented, we didn’t have firewalls. Not anything like the ones we do now, anyway. And so it made perfect sense for various technical reasons to make the FTP protocol work as follows:

Client connects to Server
Client: Hi there, Server.
Server: Hi there, Client.
Client: Can you send me file XYZZY, please?
Server: Sure can. Where to?
Client: Send it to my IP address, 1.2.3.4, on port 1026.
Server: It’s on it’s way…

When the internet suddenly became a nasty place, full of firewalls and NAT and proxy servers and restrictions, this didn’t work any more, because many clients wouldn’t accept incoming connections – they would say “send me it on port 1026”, for example, and would then refuse to listen on port 1026 (or a computer between them and the server would refuse for them). So we invented “passive FTP“, and renamed the old version “active FTP“, retrospectively. Passive FTP works like this.

Client connects to Server
Client: Hi there, Server.
Server: Hi there, Client.
Client: I’m a passive FTP client, by the way.
Server: That’s fine with me, so long as you aren’t also homosexual.
Client: Can you send me file XYZZY, please?
Server: Sure can. Because you’re passive, I’ll need you to connect to my IP address, 5.6.7.8, on port 1098.
Client: Am doing that now.
Server: It’s on it’s way…

And that works through even the most stubborn firewalls and all sorts of other restrictions. Wonderful.

For some reason known only to Microsoft, Microsoft SQL Server will not use passive FTP. And our client has a restrictive firewall. How Microsoft could have neglected to write into their program this most simple and fundamental bit of the FTP protocol is beyond me (Internet Explorer and several other Microsoft programs support passive FTP flawlessly).

Grr.