Archive for the ‘software’ Category

tweetstones: Play a simple game via Twitter

Tuesday, December 8th, 2009

It’s been a while since I did anything remotely interesting, insofar as software is concerned. it is for this reason that I present to you… Tweetstones!

What is it and how it works

Stones is a game, a variation of the mathematical strategy game called Nim. You can read about Nim on Wikipedia.

If you’re already familiar with the rules, you can skip ahead to gameplay specifics. All you’ll need to know is that this is a normal-play, three-heap game with a maximum of 10 items in the heaps (called piles here).

For those of you unfamiliar with the game, the play proceeds in this way: Player 1 challenges player 2 to a game. The objective of the game is to be the player to remove the final stone from the game board. A random number of stones will appear in each of the three game piles, and you take turns removing them until one of you takes away the last one and wins.

To show an example, let us say that I (sean) challenge my trusty imaginary friend george to a game. the stones appear, and I see that the first pile, Pile A, only has 1 stone. the second, pile B, has 5, and the third pile has 10.

George gets to make his move first, as I challenged him to the game. he decides to be greedy and empty out pile C - so he takes 10 stones away from it.

It now moves to my turn, but the piles are now 1, 5 and 0. C has been emptied, so my choices have been limited to 2 piles.

If I decide to take the single stone from pile A, play would shift back to George. In this instance, he’d be left with 5 stones but in only one pile, so he could quite easily empty the board and win, the lucky devil.

As you can see, the game play is quite straightforward. Stones is one of my trademark “hello world” programs - which means I’ve written it in numerous programming languages throughout the years. This one is a little different to the others i’ve done, though - you play it entirely through twitter!

Gameplay specifics

so now you know the rules. you’re dying to start playing, but haven’t a clue how to go about it. Well, never fear, because I am going to reveal all.

As already mentioned, this is a twitter game. you’ll need to follow tweetstones to play.

When you’ve done that, you’ll need to ask tweetstones to follow you. send a public tweet to tweetstones saying “follow me” and you should be ready to go. It will reply to you (so you’ll see it in your mentions timeline) and then you’ll know you can start.

To initiate a game, you send a direct message with the word “challenge” followed by a username. This is where things may be a little slow to start with because tweetstones needs followers and other people to get involved so you can play with them. if you try to start a game with someone who isn’t following tweetstones or hasn’t asked to be followed, it won’t work and you’ll have to try someone else.

This may slow your games to start with, but it means that if you don’t want to be bothered by the game, you can unfollow it and be troubled no longer. if you are following and are looking for players, keep an eye on Tweetstones’ tweets. it will announce each time someone wins a game and who they played with, so you can get some usernames that way.

If you’ve been challenged to a game you will receive a direct message with the numbers of stones in your piles. Playing the game is done through direct messages, so you simply respond with a command like “take 2 stones from pile A”, or “3 from C”, etc. You can send “show the piles” to refresh your memory on the numbers in each pile.

If you have requested a game with someone but they aren’t playing, you can use the “abort game” direct message to stop playing. Aborted games do not increase your win total or games played, but can become annoying for your opponents. For example if you started a game with me just as I went off to work, I may not respond for a good few hours. it is important to be patient. Remember that if you feel pestered you can simply unfollow the game to stop any and all requests; it is an opt-in bit of fun only.

Also worth remembering is that the game can only check for direct messages once in any 60 second period. Given the speed of the players it could therefore take a few minutse for each move to be processed. You should be sparing with your direct messages and wary of sending moves without having carefully read game updates lest you find yourself making mistakes!

Finally, of note is the fact that twitter, though very popular, can never be 100% stable. Sometimes messages won’t go through, may be delayed, or may not quite do what you expect. This is beta software, untried, untested, and written for a bit of fun and shouldn’t be relied upon for anything more serious than that.

All warnings out of the way, why not follow tweetstones, ask it to follow you and challenge someone? You might just win!

Sender’s Time Zone for outlook: the perfect way to know when to reply

Monday, August 24th, 2009

I’m sure we’ve all done it: opened up an e-mail received hours earlier in the day, dashed off a reply, then been frustrated when we realised that it’s three in the morning for our recipient. it can be annoying, especially if you’re expecting a rapid response. maybe it doesn’t bother you so much most of the time; if not, it’s still handy to know what the time is wherever the reader of your message happens to be, if only so you can greet them appropriately. Whenever mailing folk around the world, I feel it only polite to adapt to them, in currency, units of measurement and, of course, in time.

This said, I was recently made aware of a brilliant little Plugin for microsoft Outlook,, created by Add-In Express. it is called “Sender’s time zone for Outlook” and, if you scroll about halfway down their home page at time of writing, you’ll find a link to it. like many plugins for Outlook, installation is a very simple process.

The plugin works by adding a small panel to each open message in Outlook, showing you three things: The current time of your recipient, the difference in time between you and them, and how long ago the message was sent.

To show an example, let us pick a message from my inbox - a notification from this site that I have a comment awaiting moderation. if I open it up and hit alt+2, as standard, i hear JAWS tell me it was sent today, at 7:04 PM. technically, that’s true - it was sent at 7:04 PM my time. If this comment needed a reply and the person writing it were in the UK as I am, i’d know it was evening and if I had anything important to say I’d be out of office hours and so less likely to get a reply in a hurry.

if I glance over at the additional information from the plugin, though, I see: “Sender Time Zone Sender’s current time: 12:49 (you are 8 hours ahead) Sent: 1 hour, 45 minutes ago.” Now, I know that although it’s evening here, it’s almost 1:00 PM in whichever part of the world in which my commenter lives. Should he have left a phone number, it’d be quite safe to call.

I’m not simply writing this for the sake of plugging good software (although I would do that if I felt the need), but because as a JAWS user, using the JAWS cursor to read this information is a little cumbersome. To anyone sighted it’s quickly visible, so I decided to write a JAWS script to even the odds.

Now, from an open message, I tapp the grauv accent key: if I tap it once, I hear the current time of my sender (in our example I’d simply hear “12:49″). That’s the most important information, and so it’s displayed first by the plugin and spoken with a single press. A second tap of the key would tell me “you ar 8 hours ahead”, or similar - and a third and final press would tell me how long ago the message was sent, our example showing “1 hour, 45 minutes ago”.

It’s unfortunate that it’s not as easy to install a plugin or script for JAWS as it is for Outlook. I have provided instructions within the file for you to follow, of course - please keep in mind that you’re all guinea pigs as I’ve only used this on myself.

Please also note that I’ve only been able to test with Outlook 2003. The plugin works with later and earlier versions, but how the JAWS scripts will cope is as yet unknown. If you are careful no harm should occur: as ever, back-up before `you start.

My advice would be to try out the Plugin without the JAWS scripts first and, if you find it useful, get the scripts to make your use of it more expedient. I find myself forgetting it’s even installed until I come to reply to a message I know to be from someone overseas, and then it’s so easy to check their time that I wonder how I failed to miss this feature before.

Once again, the PlugIn is made by #Add-In Express, And it is called “Sender’s time zone for Outlook”. The JAWS scripts, which are quite complex to install for which I apologise, can be downloaded by clicking JAWS scripts for sender’s time zone for outlook (38)

Do feedback here as to how you find it, for although it’s not my plugin, it’s undeniably one of the most useful things imaginable..

Dropbox and JAWS: a script for reading status

Saturday, July 4th, 2009

Dropbox is a great little service that lets you synchronise your files between computers. it sits in your system tray, keeps an eye on a special “dropbox” folder and lets you access anything you put in that folder on any computer, anywhere in the world. not only that but you can put files into a public folder (for sharing with people that don’t have Dropbox), and you can share a folder between Dropbox users (so if you’re working on something with a friend, you can both keep the very latest copies of all the work).

The reason i’m mentioning this is that there’s a little tray icon that changes it’s information whenever something happens with Dropbox and I’ve written a
small JAWS Script to tell you the status of your Dropbox with a single keypress.

If you’re already a Dropbox user then you can skip this paragraph: if you aren’t but want to try it out, I’d be grateful if you’d go there By Clicking This link. This will take you to a Dropbox sign-up page, but will also give you and me some extra space. dropbox free comes with a 2 GB limit, but you can get an extra 250 Mb by using the referral link above. if you don’t want the extra space and don’t wish to give me any either, then you can visit Dropbox itself at GetDropbox.com

The JAWS script has two functions. if you press the key once, you’ll hear your Dropbox status. this may be something like “all files up to date”, or “connecting,, or if uploading or downloading a large file you’ll hear the speed and remaining time left. pressing the key twice will open your Dropbox folder, so you can modify the content or view changes to any shared folders.

Installing the script requires the editing of your default” JAWS scripts (because the key needs to be available wherever you are in windows, not just in a single application). Follow the installation instructions very carefully, and make a back-up of your JAWS settings before you proceed.

the first step of the installation procedure involves copying the script to your clipboard. Click This link to open the script code in a new window. When you have it, right near the top is a line that says “;start copying from this line: Dropbox Code”. it’s easy to copy - just press Home to ensure you’re at the very beginning of that line, press ctrl+shift+end to select right to the bottom of the page, and ctrl+c to put the whole thing on your clipboard.

Now you just need to follow some simple step-by-step instructions to get the sscript installed.

  • Open the JAWS script manager. To do this, press insert+0, or if you’d prefer go to your JAWS window, find utilities, and choose “Script manager”.
  • open the Default JAWS scripts. To do this, press ctrl+shift+d from within Script manager, or go to the file menu and choose “Open Default File”.
  • navigate to the very bottom of the file (with ctrl+end), hit enter for a new line, and paste what you’ve copied. You will be at the bottom if everything has pasted properly and pressing the up arrow you should hear “;this is the end of the Dropbox code”.
  • you now need to tell JAWS what key you wish to use. I use ctrl+alt+shift+d, which requires four of my fingers but can be pressed entirely with the left hand. To do this, Press the Up arrow again until you hear “endScript”. The idea here is to have the cursor inside the code of the script. When that’s done and your cursor is on a line saying “endScript”, press ctrl+d.
  • here is where you modify the script information. the only thing to worry about here is the “assign to” option. you can tab through, or press alt+a. in any case you are listening out for the words “assign to”. When you hear them, hit the key sequence you want to use, then press enter.
  • Finally, alt+f4 out of the script manager and anser “yes” to saving changes. the scripts will be recompiled and the key will now work.

that’s as easy as it gets, i’m afraid - hopefully by following the instructions precisely all will be well. once again, you can sign up to Dropbox here and I hope you find the service as useful as I do.

City temp: temperature in major world cities, direct from JAWS

Tuesday, June 23rd, 2009

It’s hard to believe, but it was almost a decade ago that Andrew Heart wrote some JAWS scripts to convert the temperature between Celsius and Fahrenheit. The code for these scripts is still available online and thus I’ve incorporated part of the functionality into my new scripts for JAWS. If Andrew reads this, or anyone can get me in touch with him to ask his belated permission, please leave a message here.

These scripts (written on suggestion of brian Hartgen) allow you to type in the name of a City and have the temperature there announced. If you want to hear the information again you simply need to press the keystroke a second time, or a double-tap of the key will ask you for a new city, or allow you to update the weather for the first one. You can choose how long the scripts will keep the old weather before disregarding it for updated information from the web, and also whether to hear your temperatures in Celsius or Fahrenheit. The results are spoken and displayed on a Braille display, and once installed the scripts are very easy to use.

(more…)

Extended System Time: A JAWS script for time in any World City

Tuesday, April 14th, 2009

Extended System Time is a JAWS script that will extend the power of your insert+f12 keystroke. By default, in JAWS, this key says the time with a single keypress and the date with a second press. By using this module not only can you precisely customise how this is announced, but also retrieve the time and date for any city in the world.

(more…)

Shurly: Shorten clipboard URLs from your system tray

Tuesday, March 10th, 2009

Shurly is a URL shortener for Windows, that sits in your notification area and shortens a URL on your clipboard using any one of several selectable shortening services. When it has a short URL it will replace the long one on your clipboard with the short, ready for pasting anywhere a short URL is required.

Shurly stable release, version 0.2.

Here is v0.2 of Shurly. New in this release:

  • Brief help dialog box to explain program function
  • New URL shortening services added:

Download:
Shurly v0.2 Installer (419)

As always, feedback welcome.

Beta version of Shurly (0.3)

This version is provided in a zip file, rather than an installer, and has not been tested. consider it beta software - or more beta than anything else. new in this one…

  • Added shortening services u.nu, snipr.com and Bit.ly.
  • Added settings: “Shorten links when copied to the clipboard automatically” is on by default, and will shorten links whenever you copy them. If you turn this off, you can manually shorten a URl from Shurly’s menu. “Allow cancelling of shorten with the escape key” is also now on by default and gives you some time to abort a shortening process if you wish. by hitting escape right after you copy the URL the shortening operation will be aborted. Note that this function delays the shortening of a copied URL by a few seconds.
  • Added a sound for your shorten countdown. If “allow cancel” is on, after copying a URL you will here the collection sound, then a series of beeps. if you press escape during the beep sequence then shortening will be aborted, otherwise you’ll know your URL has been shortened with the success sound.
  • Restructured the menus. Shurly’s main menu now consists of “shorten current URL” (C), “Shortening Services” (S, with a submenu), “Settings” (T, with a submenu), “Help” (h) and “Exit” (x).

The zip file does not create a folder when extracted by default, so you’ll need to make sure your archive software does that, or do it yourself. if running this version of Shurly from a shortcut and you hear no sounds, ensure the “working directory” or “start in” parameters of the shortcut are set to Shurly’s folder.

You can click Shurly 1.3 (30) to get this beta build of Shurly. keep those suggestions, questions and thoughts coming, folks!

MUSHclient: for an accessible, stable and powerful MUDding experience

Saturday, March 7th, 2009

MUSHclient is software for playing MUDs and their derivatives. It wasn’t developed for the blind, but because it uses standard window controls and has fabulously powerful plugin support and a great developer, it is a very simple matter to make it speak well with many of the mainstream screen readers on the market. Find out why I love it and what you can do to make it work for you here.
(more…)

Jawter: Twitter from Jaws with no software in the middle.

Sunday, February 8th, 2009

Jawter is a twitter client with a minimum of windows and fuss. You simply install it, set it up, and read your twitter updates with hotkeys that work anywhere in windows, wherever you are and whatever you’re doing. The existing version on this website is a JAWS Script version, quite complex to install and yet amazingly popular. The new version, in progress, will be similarly powerful but less constrained and is coming out soon.

(more…)

SkRead: abandonware speaking of Skype events

Wednesday, February 4th, 2009

SkRead was once enormously popular, and I must firstly extend an apology to everyone who’s wanted updates but hasn’t got them. It’s something of a policy with me that if I’ve written software and no longer use it, I cannot, in good conscience, update that software.

of course there are exceptions to this rule - I can’t be expected to use my own software for every conceivable task, equally I use some of my own things more than others. But I no longer use Skype, and so no longer use (or can help work on) SkRead. to add insult to injury, the source code is long-since lost in a hard drive crash.

With all that said, I gladly put here the download of SkRead. Please feel free to comment, if you have anything at all to say.

SJAMS: abandonware JAWS integration for mIRC

Wednesday, February 4th, 2009

SJAMS is a plug-in for the mIRC chat client and JAWS screen reader.

I don’t use IRC much nowadays and so haven’t updated it in ages. However, it always has been open-source and is useful in its current form. here it shall remain for your pleasure.
SJAMS can be downloaded here, and as always, comments are welcome.