“can u help” :: Howto win at Friend-Tech-Support-Roulette

Being a techie isn’t always easy. The technology, yeah, that’s easy, but the social implications can sometimes be tough.

I recently got a rather flashy camera and, seeing it round my neck, a guy at an event asked, “Can I ask you something about cameras?”

It was, of course, a rhetorical question – there was no polite way to point out that I just bought the camera, I don’t consider myself an authority on other people’s attempts to take photos, and in fact, I don’t really understand photography very well. I certainly don’t consider myself “a photographer”, and the only photos, I’ve ever taken that I think are worth looking at, are landscape photographs – not photos at weddings, clubs, family gatherings or whatever else they’re fantasising about when they ask me vague and open ended questions…

But as a techie, I’ve had to suffer through these types of questions for about the last decade.

The problem with this kind of question, is that the moment you help them, you’re taking responsibility for someone’s problem. That person will come back to you to ask you how to set it up, to ask you how to do things, to ask you what “secrets” or “tips” there are, if you can do maintenance for them.

Now, a reasonable line of thought – to most people at least – might be – “oh, sure I wouldn’t help anyone, but you know, if a friend really really asked, of course I’d help where I could”. The thing is, being roped into helping a friend, is a painfully quick way of turning your friend into a non-friend.

Sign at Access Space Sheffield
Sign at Access Space Sheffield

But this is boring! Let’s look at some real life examples I’ve had, and why specifically they’re unhelpful!


them: tim, i cant figure out why my computer isnt playing sound and i have a feeling gits something really easy and stupid….

me: I only have one answer: is it muted

them: im using youtube, that is not on mute. my volume control on the laptop keyboard is on, up and not muted, and the sound thing in the bottom right is not muted

any other ideas

me: not really

them: i thougth you were the comupter whiz :P

fix it tiiimmmm :P


There isn’t any more context to this – this is my entire conversation with them verbatim.

Not only is their grammar really depressingly poor, they seem to think it’s my job to help them fix their problem. Do you notice any “please” or” thank you”‘s in any part of the conversation? I don’t have any kind of special friendship with the other person – is there any suggestion of why I should help them? The last two lines are particularly patronising – an attempt to belittle my ego to stoke up some “competitiveness” to fix their problem. Um, “no”.

Now actually, this is not an exemplary response on my behalf, I could have handled it much better.

The correct answer is always to deny, right in the first place, that you can help at all. Once you offer help once, then you’ve implicitly offered your help for everything from the person’s camera, to their computer, dishwasher, and work photocopier.

If I’d responded straight away:

  • me: “Sorry but I only do paid work, my standard rate is £85/hour.” (Follow up: “and I only charge in one hour blocks!”)

or even better:

  • me: “Sorry, I only know about Linux, what distro is it running?” (Follow up: “sorry, I only know about Debian!”)

or

  • simply not responded,

I wouldn’t have had to deal with any of the subsequent technical questions, and I wouldn’t have committed myself. There are some slight risks with each option, but I think the odds are worth the risks.

I do actually know know Debian well enough to support it without just saying “reboot” and banging my head on a wall, and there are sufficiently few friends running it, that it’s a risk I’m happy to take. Equally, there’s a risk someday, that someone will happily agree to pay me £85/hour to look at their Windows problems, but at least in that case I’d be getting some compensation for the tears.


The thing is if you know about all these things, or enjoy googling their problems for them, then it can be ok – with Debian, I know that the logs will be there, that I can run things verbosely, and that I’ll be able to understand where an issue is. Occasionally, with a nice user it can be very rewarding, usually your users won’t be so great at communication, and won’t make you feel appreciated. Understandably, they’ll have a tiresome time with something, it’ll be frustrating, scary and they’ll feel like they’ve wasted a lot of time with something not quite working how they wanted it to, and they’ll be somewhat upset. It’s not that hard to understand.

However once you build up a number of users, you’ll need to bear in mind that there will be “a person” will hold you responsible for any of these problems – whether or not you had anything to do with them. When they don’t understand the problem, and don’t care to understand the problem, they’ll assume that the virus scan or “system upgrade” you did on their system last week has caused their monitor to flicker more, their shift key to stop working, or better still, for that important document they need urgently to disappear. This is when you know you’re doing desktop support for someone for free, and this is when you’ll wish you’d told them that you didn’t know anything about Windows (or computers, printers, cameras, phones or fridges).


Consider this message from someone I hadn’t spoke to for ages:

Hey Tim! How are you?

I have a little favour to ask Im trying to do $SomeoneElseIHadntSpokenToForAges a cd for their birthday with photos/ videos etc from the past few years and I was wondering if you could possibly send me some of your videos??

Me and $TheirFriend had a look today and these were the ones we liked:

-Video1

-Video2

-Video3

And do you possible have one of the $ThisSpecificTimeAtThisEvent? That would be hilarious! Thank you xxx

right i have to go! if you have a few mins to send me the videos it would be very much appreciated, my email is user@user.com

Speak soon xxx

Now this isn’t *that* unreasonable. It sounds like they know it’s a favour, they say “Thank you”, they say “appreciated”. There are some kind of weird bits like – they want to use stuff I did as a present for someone else, as a present from *them*, which seems a bit weird to me, but hey, whatever.

Now the difficult bit is that these videos were shot and encoded in some arcane raw video format, that means that each of rather low quality videos they asked for as really large, and are stored on a mass of poorly labelled DVD backups. How do you actually send someone a 3GB 640×480 file? Whatever the answer, it’s non-trivial, but I started to investigate what was required (in my spare time around my other commitments). It was going to happen (slowly but eventually), but then I got the message:

tim have you honestly not had 5 mins spare to send me those videos?

At which point it dropped to the lowest priority. I considered explaining/arguing with the user, explaining that it’d be at least two hours of my life spent doing shit to make it happen for them.

I realised I had the most to lose – in terms of my time, and the easiest thing to do was to ignore it and get on with my life. So that’s what I did.

Now to be fair, the fault should be bourne by me twofold – firstly for ever suggesting I might even look into it – for talking to them after they asked, and secondly for not communicating the work involved. I don’t actually feel, however, that the latter is really the issue – I didn’t feel they had an appreciation for my time, and I’m not sure communicating what was involved would have helped in any way.

From their point of view, the snarky comment was completely the wrong way to frame such a question – it questions my integrity, suggests I’m lazy and vastly devalues my time – are any of those aspects, actually motivational to people, or is it simply intended to humiliate the person?


“Urgent” is sometimes added by users to their requests to their ‘helpdesk friends’ who unwisely talked themselves into the role.

There is a phrase in some circles:

Poor planning on your part does not constitute an emergency on mine

It’s not in any way universally agreed upon, and many poor friends have spent many hours trying to help their friend find the important document they saved in the wrong folder or with the wrong file name, however sometimes people can assume that because it’s important to them, it’s important to you.

In industry, there’s a general desire to serve the client, and shitty clients are sometimes suffered simply because it’s worth it to pay the bills, but these aren’t the clients that get the best service. When one is doing someone “a quick favour” there is no such motivation, and getting into providing tech support to friends and colleagues can quickly degenerate into this – as as demo’d here:

Alice wrote:

Bob has a major problem which is blocking his e-mail. Even after consulting the internet, we are unable to resolve it.

The problem is that which is outlined at:

<a link to a page showing the error message>

However, the “<error message Bob keeps getting>” message blocks everything else to do with MailProgram and prevents us from doing anything. We need advice about where to press on the screen to change this.

Could someone contact Bob asap? He has urgent messages to send out.

Thanks

Now, if you look at that, it’s actually got some really good things:

The users have clearly tried to resolve it, and the description of the problem is actually relatively effective in suggesting where the remedy might be suggested.

The downside is the language used. Now users, usually, aren’t managers who know how to value people helping them, or masters in communication, so expecting perfectly formulated requests is unrealistic, however this clearly has some issues.

“major problem”, “need”, “asap”, “urgent”

The “major problem” is not actually a technical one, from a technical point of view, it’s probably a trivial clicking of “OK” buttons. The problem for the user is that they wanted to do something but can’t, and have other constraints in their life.

In this particular instance, once I’d brought my blood back to body temperature, I dealt with the issue and wrote this response:

Hello,

Thanks for getting in touch.

By the looks of it you were almost there. So close! I think you just needed to click the “$specificaction button” and then the “$specific-action button” in sequence. (ie one after another). Well, that’s what I did anyway and how I would have thought it would work. I’ve no idea why it happened in the first place or didn’t work for you.

Anyway, you were well along the way! I’m really pleased to see that you had had a crack at fixing it and were also able to explain the issue very quickly to me via that link. It was very helpful as I knew what it was about and how to fix it instantly, even if actually making it happen at your end took a few extra minutes. :)

Let’s be honest and be clear to specifically praise the things that were done right. Heck, probably one of the reasons they were so wound up is because they tried to fix it themselves and failed – we want them to keep trying!

I do, however, feel quite upset by the tone of the email. I know it’s frustrating when things don’t work, especially when it’s been affecting one for some time, and I understand it’s easy to feel stressed out when you’ve tried everything and have things you need to do.

Let’s be gentle and non-confrontational – rather than directly accusing somebody, explain how I feel and be clear I can empathise with how it is for them.

When I see the word “urgent”, I assume there is a critical situation where my assistance is instantly required.

For example: someone has sustained a life threatening injury and I am required to inform and/or liaise people to ensure everyone is kept up to date and that all the logistics are dealt with appropriately.

This is “urgent”, because there is a situation which is absolutely essential that I attend to THIS INSTANT, breaking through business meetings, dates, meals etc. Clearly this is quite disruptive, but in an “urgent” situation, one doesn’t stop to think about this, because help is needed instantly – it simply can not wait five minutes.

Let’s be detailed in what was wrong. This could have possibly been clearer, but the sense of urgency is what is pervasive in the message, there’s no need to split the message.

I know it wasn’t intended, and I know you can do better. You’re good at doing this ‘right’ and I know it was just a little slip up so take a deep breath, take this onboard and get some sleep. It’ll work wonders. :)

Let’s re-enforce that we have faith in them, not pile and pressure or “blame” and defuse the situation as gently as possible – tech support is stressful enough without actually having to actually get involved in an argument.


Anyway, every semi-technical user has had someone ask them to help, and my advice to you is:

  1. Run away
  2. Run away
  3. If you’ve not run away, set your limits – (“I know nothing about printers or iPhones”)
  4. Run away
  5. Offer to bill them at your “standard hourly rate of £85/hour”
  6. Sneak away whilst they’re not looking
  7. Pretend not to know about computers
  8. Politely decline to get involved
  9. Be happy to tell your best friends and all your acquaintances that it’s too much like work
  10. Be happy to fall our with your best friends and acquaintances over a file they can’t find.

Or:

Just run away.

Seriously, the best to win at Friend-Tech-Support-Roulette is not to play.

Do the right thing.

The secret sauce: My party: a HOWTO…

I just added an extra year to my cumulative total, and decided to have a bit of a party. In previous years, it’s been a fun event, but this year I wanted to make a real effort and see what difference it made. The organisational side of these things is actually something I find a bit interesting – considering how rarely I get to do it – so I thought I’d share some notes on holding an event like this.

A bit of background – Overnight Barcamps are frequently known for their great ‘evening events’ – back when I helped organise Barcamp Manchester 2 – we kicked off the evening with shedloads of pizza, then there was entertainment of different sorts in different rooms (werewolf, amateur stand up comedy, casual drinking and chatting), then at midnight, [without warning the attendees] Redbull people rolled up and started handing out promotional samples of their drink. The event was in a theatre and I understand some people were still playing guitar hero on the projector, projected onto the theatre’s 20ft square back wall, until at least 6am!

With this inspiration, I tried to imagine how I could best facilitate something like this, but with my own twist.

It’s fair to say I used Facebook for advertising the event, but it’s very important to understand Facebook events are not in any way representative of who will come, and is at best a very tentative rule of thumb. I made sure I gave people the heads up on the date, weeks in advance – some people think that far in advance – other’s don’t, put it out there anyway.

Beer and Cider
Beer and Cider

I decided, it’d be quite nice to have quite a lot of alcohol, so (based on recommendations) I acquired a cask of real ale – Shuffled Deck (3.8%) – from a local Microbrewery – Black Jack Beers. It’s really relatively easy to do this, and if you’re having a family event or something, it’s usually as simple as phoning up a local microbrewery and asking if they can supply you with something.

I’m also well aware that despite real Ale being a fantastic drink, some people don’t enjoy it, so I also set about sourcing some proper West Country Scrumpy. This turned out to be more of a challenge, especially at short notice, but the ukcider wiki, and google, helped me locate Lilley’s Cider Barn who supplied a box of Mad Goat – a 6.8% medium sweet Cider/Perry blend, which was courier up here overnight. I think if I actually lived in cider producing area, it’d be a whole lot easier, but Manchester isn’t famed for it’s killer ciders!

But Ale and Cider are not for everyone – so, so in my invitation I suggested people also bring something they liked to drink, and I also provided basic soft drinks and mixers – coke, ginger beer, lemonade, orange juice, apple juice, tonic water, etc.

With all the beer, I made sure we had enough glasses – sturdy plastic pint glasses are relatively cheap – but prevent all the rest of your real glass glasses getting smashed (there was not one breakage that entire evening!) and ensures no one is stuck drinking cider out of a mug.

We’d tried to pre-empt the damage by putting some washing up bowls for empties etc around the place, there weren’t many problems, but I think these could have been advertised a bit better perhaps – people can generate a surprising amount of rubbish – and whilst cleaning it all up is par for the course, a visible bin or “empties drop off point” can hardly hurt.

I suggested on the invitation there’d be nibbles – and there were – the savoury things like cheese twists seemed to work very well, and the chocolate money went down a treat. I have a feeling that mints and boiled sweets were barely touched, so that’s worth nothing for the future. One thing I noticed was people being worried about being seen to take more than one cheese twist at a time even though we had tons of them in the cupboard to replenish the supply. This might be the justification for just putting everything all out at once next time.

We had told people to bring their own music and iPods etc, and there were two rooms where people could plug in, the downstairs room and the “hard party room”, which at first glance appeared to be a room with simple low lighting and a computer providing music to some (actually quite shoddy ;) ) speakers.

The party was down to start at 7.30 and for the first hour or some, only a handful of people turned up – this is to be expected (as is the person who asks whether they can arrive early). I’d almost be tempted to advertise the start time an hour earlier next time, just to see whether it’d change when people generally arrived, but I suspect it probably doesn’t work like that. By 9.30, it’d filled up nicely and people spread out relatively evenly through the house.

Nobody expects the Spanish inquisition, and surprise is a fantastic weapon which you can unleash on your party-goers when they are least expecting.

The first of which was people in the in the “hard party room” who were the first to receive 100 glowsticks, shortly followed by people in the other rooms. When glowsticks appear, at people find their inner-child – they can never have enough glowsticks and at first, sit around and use them like lego before resorting to full out glowstick wars. It seems you can never have enough, having said that I think for the people and space I had, 400 glowsticks is probably “enough”! ;)

The second surprise was that there was a smoke machine hidden in that room that we brought into action. This was swiftly followed by the surprise discovery in the corridor outside the room, that there was indeed a working smoke alarm! Keeping the door closed to the room closed was a quick and easy remedy.

Obviously, music, glowsticks and smoke, quickly turns any low lit room into something quite a lot more exciting, but I had some requests that the smoke machine be used less so I thought about what I could do. It’s worth realising that you can get various types of smoke for smoke machines – I had started off with the standard “long lasting” stuff that hangs in the air and produces a good haze, so I switched to some quickly dissipating smoke that didn’t fog the whole room up but still was quite fun.

We also had some UV brightly coloured rave paints which ensured that no matter how sure you were that you didn’t look silly, you looked silly, shortly afterwards. I’m pretty certain there’s no “good” way to wear those paints.

Shortly before midnight, Hot’N’Spice my favourite Manchester takeaway showed up with a big bunch of surprise pizzas, and there was instantly more food than anyway could eat on their own. The idea was that you can get quite tired towards the end of the night, but eating something usually helps you keep going for a little while longer.

In hindsight, there are various things perhaps I should have done differently – I think having it at around 11 or 11.30pm would probably be wiser. I’ve been vegetarian all my life, and so I’ve no idea what pizzas people like to eat, so I just ordered vegetarian ones. I’ve absolutely no desire to force people to eat vegetarian food (this is a subject for another blog post) so I think in the future I’d somehow work out a bunch of different flavour pizzas and label them appropriately. As it was, some people didn’t like spice, and didn’t like mushrooms, (and there was at least one vegan), it would be disingenuous to suggest that just because it was vegetarian, everyone could eat it. It’s a difficult one to work out, but I was happy that it worked pretty well as it was.

After that, I tried to ply people with ice cream. This was only partially successful, but I still count that as a success, because people were quite reasonably stuffed by that point. Top tip: if there’s no room in the freezer, putting magnum style things in the fridge isn’t really an option – don’t do this – but watching liquid icecreams explode is actually quite funny.

Shortly after midnight, I descended from the “hard party room” where Nirvana et al were being played to the downstairs room to find people watching Life of Brian on VHS (because that’s so retro!), and playing Rude Scrabble. I’d have never expected this and you really have to realise that as a host, your job is to facilitate the event and let people enjoy themselves – that’s what it’s all about!

By two, the vast majority of people had taken their leave and it had mellowed to a small gathering and by four, it was over.

It was a fantastic party, there were so many moments of “lolwut, oh well, this is awesome” and I’m very happy with how it went.

Someone will ask “How do you top that next time?”

Simple. “Next time” will be nothing like this. It won’t try and “top it”, it will just try to be different.

Don’t try and be better, just be different and make it as awesome as possible. :)

Can you travel?

Some time ago I got asked on twitter by SerenaNJ:

@tdobson That’s so cool! Are you ever in England? I wish I got to travel as much as you do!

I feel this is an interesting question that, at least, is worth addressing.

Part way through her degree, my older sister took a year out and spent 9 months on her own, travelling South East Asia, Australasia and North America. At the time I was quite young, and in fact, got my first email address so we could stay in touch with her.

As I am in full time work, I  don’t have the same opportunity as her to spend months travelling, however, having a job, I have different opportunities. There aren’t specific reasons that I want to travel, but just to see places and things.

Students who want to travel are usually in the following situation:

  • Pretty much no money
  • Lots of free time (3 months summer holidays!)

Being in full time work, I have:

  • Larger than a student’s budget
  • Limited free time (holiday time is rationed!)

Anyway, so being aware of my limitations – I can travel, but I don’t really have that much free time with which to travel, I can make decisions about what works best for me.

For example, for me, a train to someplace can be better value than a coach, even if the coach ticket costs 10% of the train, because spending 2 days of my holiday time on a coach isn’t worth it. But if I had lots of time, but little money, I’d leap at the coach ticket. It’s simply about perspective.

So when I want to go somewhere, I take full advantage of everything I can:

  • I can travel offpeak and offseason due to being able to choose my own holiday dates
  • I can afford to spend more on travel, if it’s faster

The process usually works like this:

I’ll usually start be researching the destination, working out where I want to go, what I’d do, what there is to do, where I could stay. This is just about finding out what the place is like. I’ll use Google, I’ll use Google maps, I’ll use Wikivoyage, I’ll use Wikipedia.

I’ll research travel options – train/car/fly/etc. (Usually via the website of the operator, or by reading about other people’s experiences travelling from a to b)

I’ll choose some dates, and what the costs are. (For flights I’ll use Kayak.co.uk and Skyscanner.net but I’ll also check budget airlines – Wizz/Easyjet/Ryanair/etc) I’ll see whether moving the dates around can save money or work best for me. NB: Some airlines vary their prices by time of day – “people ordering at 3pm can pay more than people ordering at 3am”.

Finally, I’ll probably sleep on it, and think whether it’s a good use of time, money etc. Then I’ll book it, and do it.

This is pretty much how I arrange my trips over the last few years to:

  • Isles of Scilly, Cornwall (Train + two ferries, camping
  • Skye and Rasaay, Scotland (Trains + cycle touring, camping)
  • Hamburg, Dusseldorf, Berlin, Munich (flights, many trains, friends, family and hotels)
  • Talinn, Estonia (flights, bike hire, hostels)
  • Pristina and Brod, Kosovo (flights, buses, hostels)
  • Various trips to the Lake District (train [occasionally with a bike], camping)

And for me, that’s all there is too it, with a bit of research, and by tailoring your travel to what is best for you, you may find it is easier than you think.


You may also enjoy this analysis on how one could get from Manchester to Glen Coe, Scotland.

Howto access the Pirate Bay if you’re on Virgin Media, Sky, BT, TalkTalk, Be, Plusnet, O2, Orange or T-Mobile

As you may have noticed, Virgin Media, Sky, TalkTalk, Virgin Media, O2, Be, Plusnet, Post Office broadband, Orange and T-Mobile and others block The Pirate Bay these days because of a BPI order.

Why are they being blocked? The BPI – the music industry body – ordered the block in the high court. Now the BPI want to block other sites like Grooveshark too. The BPI is trying to get these sites blocked more and more.

The people responsible for the block are the BPI – only they can get a court to lift it. The Open Rights Group and UK Pirate Party are campaigning to end the blocking – joining those campaigns will be most likely to make the BPI change its mind.

There are various ways to bypass the block, but let’s start with the easiest way to get around the BPI’s blocking – here are some links to some very simple proxies and mirrors you can use to get on the site:

More mirrors and ways to access it here:

How to setup a proxy for a website like the Pirate Bay

You may have read recently about attempts to block the Pirate Bay.

There are a variety of reasons I think this is a bad idea, perhaps I’ll write a post about it, but this is simply about how to quickly and easily deploy a web proxy for a specific website which could be anywhere in the world.

This is REALLY quick and simple. Let’s go!

1) Go to LowEndBox.com and buy a cheap VM of your choice.

  • The more exotic the location the better, though even the UK should work.
  • The specification doesn’t matter, though 128MB of RAM or more will be best.
  • Don’t accept anything with less 15GB monthly bandwidth
  • I’d expect, even at peak, your proxy to use less that 500MB/month – well within most limits.
  • Be aware of your provider’s T’s & C’s. They may not like you.

NOTE: For other uses, I’d recommend networks with more reliable reputations than simply “is cheap” – ability to reimage, console access, awesome support – this time none of those are required.

2) Request Debian Squeeze or Ubuntu Lucid 10.04 as the server OS

  • You could use other things, we’re going to use Debuntu.

3) Login as root. If you’re not root, you can always “sudo -s” for root.

Let’s update the machine and install the nginx – the program that we’re going to be using.

  • apt-get update
  • apt-get dist-upgrade -y
  • apt-get install nginx -y

4) Let’s configure your DNS before we go further. I’m assuming you have a domain – yourdomain.com. Go to your domain’s DNS records and create an “A” record called tpb.yourdomain.com, with your server’s IP address as the details. The TTL doesn’t matter, but generally you’ll prefer smaller to larger. Save that, and let’s get back to the server!

5 ) Let’s configure nginx:

  • nano /etc/nginx/sites-enabled/tpb.config
  • Paste in :
    server {
    listen THESERVERSIPADDRESS:80;

    server_name tpb.yourdomain.com;
    location / {
    proxy_pass  http://thepiratebay.se/;
    }
    access_log /dev/null;
    error_log  /dev/null;
    }

Obviously, you’ll need to change tpb.yourdomain.com and YOURSERVERSIPADDRESS to what they actually are.

To save this, type ctrl-o, *enter* ctrl-x.

6) You can now configure SSL if you want, or leave it unconfigured as it is. I’m not going to cover this here, right now, but it’s a nice touch.

7) Run:

  • /etc/init.d/nginx restart

Hopefully nginx should restart without errors. If there are errors, look at them carefully and try and understand where you might need to go back to.

8) Go to tpb.yourdomain.com – hopefully your DNS changes will have been noticed by now and that should work nicely.

9) Publicise your URL to your friends and family.

10) Introduce someone else to these instructions. :)

How to write a really simple IRC bot

Noah Slater of semtard vapourware fame recently demonstrated to me how to write and extremely simple IRC bot in shell scripting.
The bot below is extremely simple, it simply identifies itself, joins a channel then sends a message to a channel.

If you are interested in using IRC bots, you may enjoy Phenny, which has a Debian package.

To use the code below to create your own bot, first you should copy the bot into a file called bot.sh
then run:

chmod a+x bot.sh

then run the bot with

./bot.sh

If you wanted to run the bot in the background for an extended period of time, you might want to do something like:

nohup /bot.sh 2> ~/mybotlog.txt &

For more information about learning shell scripting have a look on google


Based on Shellbot, by Sean B. Palmer

#!/bin/sh -e
# Based on Shellbot by Sean B. Palmer, inamidst.com
# Modified 2008, Noah Slater < nslater@bytesexual.org >
# Modified 2008, Tim Dobson, tdobson.net

echo "NICK pingbot" > pingbot.input # what nick
echo "USER pingbot +iw pingbot :$0" >> pingbot.input
echo "JOIN #tdobson.net" >> pingbot.input # what channel

tail -f pingbot.input | telnet irc.freenode.net 6667 | while true; do # what network
echo "PRIVMSG #tdobson.net :tdobson is cool" >> pingbot.input # what to say.
sleep 30 # number of seconds to wait before saying it again
done