Multi-hop networking

March 31st, 2012

Venice, as you may know, is made up of about 100 islands connected by lots of little bridges. That’s roughly how the little network here in my Venice hotel room works, too.

The hotel charges for a wifi connection – only a one-off charge, but it is per-machine, so I only paid for my Macbook to be connected. With recent versions of OS X you can easily create a PAN (a ‘Personal Area Network’) using Bluetooth, so Rose’s laptop and my iPad could then get access by using my Mac as a Bluetooth < -> Wifi gateway. All very cool.

However, I could not get my iPhone to connect that way. I don’t know whether it should work or not – the general expectation is that you’re more likely to use your phone to provide connectivity for your laptop than the other way around! But I wanted a connection for the phone because I needed to download maps and other reference materials to have in my pocket as we explored, and I didn’t want to pay roaming data charges.

And then I realised that, just as my laptop was sharing its wifi connectivity to Rose’s laptop using a Bluetooth PAN, so her machine could then share that connectivity as a wifi network again! And, hey presto, my phone had a network, so I can now download maps to my heart’s content!

What else would one be doing in Venice, after all?…

:-)

Digital Archaeology: Ode to a Cantabrigian Urn

March 15th, 2012

Tucked away on a backup disk yesterday, I discovered a few thousand of my emails from the 1990s. And in the folder from late Feb 1992, I found something I thought was lost forever.

Bob Metcalfe was visiting Cambridge, on sabbatical to the University Computer Lab, just as we were setting up the Trojan Room Coffee Pot camera. He wrote about it in his column in Communications Week, a publication which, sadly, closed down not long afterwards (roughly at the time when the camera was connected to the web and became quite famous). This original article was therefore, unknowingly, the first published reference to what was to become the world’s first webcam.

But I didn’t have a copy, and nor did Bob – the old Mac floppy on which he saved it would have been hard to read now even if he could have found it – and if anyone kept an archive of CommWeek articles, I haven’t found it on the web. (Few people in 1992 would have heard of the World Wide Web, even those reading this kind of technical article.) But, as it went to press, Bob sent me a copy by email, and, sure enough, just over 20 years later, there it was, easily readable by my Apple Mail program. There’s probably some useful lesson there about the longevity of different data formats…

Anyway, while it may have little interest to anyone not closely involved with networking technologies at the time, I’m still very glad that, with Bob’s kind permission, I can now make the article available here.

And I must take more care of my email archives in future…

Dropbox Workflow

December 14th, 2011

Here’s a trivial but perhaps useful tip for those involved in remote collaboration…

I’ve been helping a client with some proof-reading recently, a process which involves a large number of small documents going through various stages of approval involving the client, their designer, and me.

We start with the PDF produced by the designer from the raw text, which I then proof-read and mark up, sometimes coming up with questions which need clarification from the client, and then the designer uses all of this to produce the final PDFs. We are all geographically separated, and often working at different times of day.

The designer in this case is Rick Lecoat at Shark Attack Design, who suggested a nice system to handle the workflow. He shared a folder on Dropbox, within which he’d created several numbered subfolders, something like this:

As the proofs became available, he would put them into the first folder. I’d mark them up and move them into one of the secondary ones, depending on whether I had any pending questions about them (which I’d add as comments in the PDF). If they ended up in ’2b’, the client could check my questions, and add appropriate responses, before moving the file into folder ’2′. Lastly, the various comments would be taken into account by Rick and used to produce the final versions in the last folder. (Our actual workflow was slightly different, but you get the idea.)

I really like this system. It works even though some of us are on Windows, some on Macs, and I’m mostly working on my iPad. Computer scientists will recognise it as a simple ‘state machine’ but implemented in a way that non-computer scientists can easily understand! It’s also trivial to modify on the fly. I could, for example, add a folder called ’1b – Quentin currently checking’, into which I could move a document when I started to proof-read it, if I wanted to make that stage more explicit. As long as the folder titles are sufficiently explanatory for their use to be clear, and a document is only moved and never copied, it all works very nicely.

The numbers help clarify the general flow, and also ensure that the folders are displayed in a sensible order when sorted alphabetically. You can lay out the icons in the folder to make it even more obvious (on the Mac at least – I don’t know if Windows can do this now). As a variation, you could include in a folder’s title the name of the person responsible for examining its contents, for example, or add a README file in the folder explaining its use and where things should go next. Dropbox keeps everything nicely in sync, can give you desktop notifications as things change, and, as long as one of you has a paid account, will keep backups of all the past versions of the documents as well.

Your workflow may be very different, but if it involves files and collaboration, you may find something along these lines useful. I once modified a bug-tracking system to handle the CVs and covering letters of incoming job-applicants, as they went through the various stages of interviewing, rejection, offers, acceptance etc. It worked well, but the admin staff needed to be taught how to use the web-based system. I think this might have been a better approach.

Thanks, Rick!

Wickedleaks?

November 13th, 2011

Gosh, it’s almost a year since the big WikiLeaks furore. Tempus does indeed fugit. At the time I wrote briefly about the similarities between WikiLeaks and print media.

John’s Observer column today draws this out nicely with the help of Yochai Benkler’s paper. Recommended.

What goes around comes around…

June 18th, 2011

It’s – wow! – almost twenty years since we set up the original Trojan Room coffee pot camera.

Now some cunning Danish developers have a demo of how you can monitor the level of your coffee using a Management Pack plugin for Microsoft System Center Operations Manager 2007, which is quite fun, and I imagine is even more useful if you’ve ever actually heard of Microsoft System Center Operations Manager 2007…

A cautionary eBay tale

February 26th, 2011

My brother had an interesting experience recently: he was selling a PSP games console on eBay and had given it a ‘Buy It Now’ price. He got an email from eBay saying that it had been sold, and another from Paypal saying that the payment had arrived.

He also had a message from the UK purchaser, saying that they would be grateful if it could be shipped straight to his son a.s.a.p. as it was his birthday coming up. Could it go in the post the following morning? He had added a suitable sum to the payment to cover the extra shipping cost.

The machine was all boxed up and ready to go, but there was one aspect which made them hesitate just before taking it to the post office.

The delivery address was in Nigeria…

They went back and looked more carefully at the emails, which had looked entirely genuine, and found that they weren’t quite the real thing. And when they went to the eBay account, sure enough, the item was marked as sold, but no payment had been received. Only the carefully-targeted emails made them think that the sale was completed.

They looked on Google and discovered that neither the address in the UK given by the purchaser, nor, it appeared, the one in Nigeria to which it was supposed to be delivered, seemed to exist. Presumably the perpetrator was planning to collect it from the post office or some similar scheme.

However, the interesting question is whether they (or I) would have fallen for the scam if it hadn’t contained the word ‘Nigeria’. If the supposed son had been in a remote country with a less tarnished online reputation – in Italy, or Egypt, or Poland, perhaps – they might now be kicking themselves…

That syncing feeling…

January 23rd, 2011

Just setting up a new laptop here, readers, and enabling Address Book’s built-in sync with Google Contacts so as to bring all my contacts over and… aargh! What is this I see? For some reason, the syncing system has decided that the new, empty address book with zero contacts is the up-to-date version, and so has deleted all my contacts from my Google account to make it match! Woe is me!

Now, I was about to write this up as a cautionary tale of cloud computing: if I didn’t have my own local copy of my data here, I might have been in quite a pickle. But then I discovered that the good folks at Google hadn’t allowed data just to vapourise… there’s a handy option in the More Actions menu of Google Contacts, which lets you restore your lost contacts.

Phew!

Wouldn’t you rather be drizzling?

December 13th, 2010

The instructions for this pizza tell me that it’s very important that I drizzle a tablespoon of olive oil on it before putting it in the oven. I’m not aware of having consciously drizzled anything before, but shall do my best.

As I pondered this challenge, it occurred to me that Drizzle sounds like the name of a dot-com company. I don’t know what it would do – weather forecasting, probably – but it just sounds so right. “Hang on, I’ll just upload it to Drizzle…”, or perhaps “My free Drizzle account is about to expire – shall I pay for the full Downpour edition?”

(Well, it turns out, of course, that there is both a Drizzle.com and a Drizzle.org, and you can investigate them for yourself if so inclined.)

It’s only a decade ago that we were pondering the name ‘Google’ with some amusement – it’s a deliberate misspelling of “googol“, in case you wondered, and even that was a bit esoteric.

We Brits sometimes joke about American English that “there is no noun that cannot be verbed”, but it turned out to be very handy that the founders picked quite such an adaptable word and it has passed so easily into daily use. It’s funny, though, to think that they could have picked almost any other random name and we would all now be saying, “Yes, I know about that, I Wiggled you before I came over”.

OK, gotta go… pizza’s ready…

Brand confusion

December 1st, 2010

An elderly colleague turned to me at lunch yesterday.

“Tell me”, he said. “you’re a computer expert… All of these leaks must mean that nobody in government will be able to use email ever again. Just what are the political motivations of an organisation like Wikipedia?”

Tweetiquette?

November 24th, 2010

Here’s a question for the socially-sensitive internet denizens of today:

Is it bad form to ask people to retweet your post?

I see plenty of tweets with ‘Please RT!’ on the end, and it seems… well… a bit off to me, but what’s more, it implies that the content doesn’t have sufficient merit of its own to inspire you to do this…

After all, we wouldn’t send out emails saying “Please tell all your eligible friends how good-looking I am!” or “Please vote for my brother’s political party!”. At least, not if we’re English.

So where should we draw the line? At what point is it impolite to tell people that they should really think the same as you do, and that they should tell their friends to do the same?

Or did I just spend too much of my youth reading Debrett?

Feel free to add your thoughts in the comments!

Flushing your DNS cache

October 31st, 2010

OK – a really geeky little tutorial, this one. If you’ve never felt the urge to flush your DNS cache, then don’t worry, that’s quite normal, many people live long and happy lives without ever doing so, and you should feel free to ignore this post and go about your other business.

A little bit of background…

DNS lookups, as many of my readers will be aware, are cached. The whole DNS system would crumble and fall if, whenever your PC needed to look up statusq.org, say, it had to go back to the domain’s name server to discover that the name corresponded to the IP address 74.55.156.82. It would need to do before it could even start to get anything from the server, so every connection would also be painfully slow. To avoid this, the information, once you’ve asked for it the first time, is probably cached by your browser, and your machine, and, if you’re at work, your company’s DNS server, and their ISP’s DNS server… and it’s only if none of those know the answer that it will go back to the statusq.org domain’s official name server – GoDaddy, in this case – to find out what’s what.

Of course, all machines need to do that from time to time, anyway, because the information may change and their copy may be out of date. Each entry in the DNS system therefore can be given a TTL – a ‘Time To Live’ – which is guidance on how frequently the cached information should be flushed away and re-fetched from the source.

On Godaddy, this defaults to one hour – really rather a short period, and since they’re the largest DNS registrar, this probably causes a lot of unnecessary traffic on the net as a whole. If you’re confident that your server is going to stay on the same IP address for a good long time, you should set your TTLs to something more substantial – perhaps a day, or even a week. This will help to distribute the load on the network, reduce the likelihood of failed connections, and, on average, speed up interactions with your server. The reason people don’t regularly set their TTL to something long is that, when you do need to change the mapping, perhaps because your server has died and you’ve had to move to a new machine, the old values may hang around in everybody’s caches for quite a while, and that can be a nuisance.

It’s useful to think about this when making DNS changes, because you, at least, will want to check fairly swiftly that the new values work OK. There’s nothing worse than making a typo in the IP address of an entry with a long TTL, and having all of your customers going to somebody else’s site for a week.

So, if you know you’re going to be making changes in the near future, shorten the TTL on your entries a few days in advance. Machines picking up the old value will then know to treat it as more temporary. You can lengthen the TTLs again once you know everything is happy.

Secondly, just before you make the change, try to avoid using the old address, for example by pointing your browser at it. This goes for new domains, too – the domain provider will probably set the DNS entry to point at some temporary page initially – and if you try out your shiny new domain name immediately, you’ll then have to wait a couple of hours before you can access your real server that way. Make the DNS change immediately, before your machine has ever looked it up and so put it in it cache and any intervening ones.

Finally, once you’ve made a change, you may be able to encourage your machines to use the new value more quickly by flushing their local caches. This won’t help so much if they are retrieving it via an ISP’s caching proxy, for example, but it’s worth a try.

Here’s how you can use the command line to flush the cache on a few different platforms. Please feel free to add any others in the comments:

On recent versions of Mac OS X:

sudo dscacheutil -flushcache

On older versions of OS X:

sudo lookupd -flushcache

On Windows:

ipconfig /flushdns

On Linux, if your machine is running the ncsd daemon:

sudo /etc/rc.d/init.d/nscd restart

If you’re actually running a DNS server, for example for your organisation’s local network:

On Linux running bind9:

rndc flush

On Linux running bind8:

ndc flush

On Ubuntu/Debian running named:

/etc/init.d/named restart

Know thine email recipient

October 30th, 2010

In an ideal world, you’d create and format your emails, send them off, and the recipient would see just what you meant them to see. Sadly, it’s not an ideal world. For simple messages, obviously, everything works fine, but for more sophisticated emails, it can be less straightforward.

For Mac users, in particular, it’s worth remembering that your recipients may well be using Microsoft Outlook or Outlook Express and so won’t be able to see some of the nice features that Mac users take for granted. A couple of examples:

Attachments in the middle of the email

If you know you’re sending to a Mac user, you can be reasonably sure that their email app will support the standards that allow you to insert and refer to images, documents and other attachments inline as part of the text. Microsoft users, on the other hand, will probably just see these bunched together at the top or bottom of the message. More importantly, if you put any text after them in your message, it may become a text attachment in Outlook. I have seen conversations get very confused when Mac users didn’t realise that PC users had only seen the first half of an email.

Inline PDFs

Since Macs are native speakers of PDF, some graphics apps will naturally output that format and use it, for example, when copying and pasting to other apps. Remember that a PDF, unless it has multiple pages, will embed in an email like any other image on a Mac. On Windows, even if the mail program can display inline images, PDFs will probably appear as attachments, so it’s best not to use them for putting your logo in your signature, for example.

I’m not purely criticising Outlook here; Gmail has some of the same limitations, for example, but Outlook does seem to cause more than its fair share of problems. (See the TNEF issues, for example). Nor am I saying that Apple Mail is perfect – I wish, amongst other things, that it allowed more manipulation of HTML styling. But the Apple Mail/MS Outlook differences are the ones that most people are likely to see most often, so that’s why I’m highlighting them here.

Anyway, Apple users who know they are sending to PC users should therefore probably take advantage of the options under Mail’s ‘Edit > Attachments’ menu, which let you send attachments in a more Windows-friendly way, and force them to be at the end of the message.

If, on the other hand, you’re using a Mac and you know your recipient is also likely to be using a Mac, then you can take advantage of some of these features and, for example, put explanatory paragraphs around your attachments:

But how, other than through your estimate of the recipient’s, or their organisation’s, general level of street cred, can you guess what kind of a mail program they’re using?

There are one or two things that will give you a clue immediately. If they have mysterious ‘J’ characters in their messages, for example, it’s because Outlook uses a somewhat strange, or at least very dated, method of encoding smileys, which seldom displays correctly elsewhere. For ‘J’, read :-) .

But you can almost always get a definite answer by asking your mail app to show you the full headers, or perhaps the raw text, of the email message. (On Apple Mail, go to View > Message > Long Headers.)

Most email programs will insert a header named X-Mailer which will identify the source as being, for example, ‘Microsoft Outlook 14.0′, or ‘Apple Mail (2.1081)’.

If a message doesn’t have that header, then it probably didn’t come from a desktop app, and you may get a clue from other headers that it came from Hotmail, GMail, or a mailing list. The iPad Mail app doesn’t add X-Mailer, but it does identify itself in the Mime-Version, so take a look at the other headers too.

In addition to helping you plan complex email messages, I’ve used this in the past to guess whether somebody is using a Mac, Windows or Linux machine before recommending a piece of software that might not work on their platform.