<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>

<channel>
	<title>Randy Laptop</title>
	<atom:link href="http://randylaptop.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://randylaptop.com</link>
	<description>The Home page of Sean Randall</description>
	<pubDate>Tue, 08 Dec 2009 11:52:19 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>tweetstones: Play a simple game via Twitter</title>
		<link>http://randylaptop.com/software/tweetstones/</link>
		<comments>http://randylaptop.com/software/tweetstones/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 11:52:19 +0000</pubDate>
		<dc:creator>Sean</dc:creator>
		
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://randylaptop.com/?p=117</guid>
		<description><![CDATA[It&#8217;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&#8230; 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&#8217;re already familiar [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;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&#8230; Tweetstones!</p>
<h2>What is it and how it works</h2>
<p>Stones is a game, a variation of the mathematical strategy game called Nim. You can read about <a href="http://en.wikipedia.org/wiki/Nim">Nim on Wikipedia</a>.</p>
<p>If you&#8217;re already familiar with the rules, you can skip ahead to gameplay specifics. All you&#8217;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).</p>
<p>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.</p>
<p>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.</p>
<p>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.</p>
<p>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.</p>
<p>If I decide to take the single stone from pile A, play would shift back to George.  In this instance, he&#8217;d be left with 5 stones but in only one pile, so he could quite easily empty the board and win, the lucky devil. </p>
<p>As you can see, the game play is quite straightforward.  Stones is one of my trademark &#8220;hello world&#8221; programs - which means I&#8217;ve written it in numerous programming languages throughout the years.  This one is a little different  to the others i&#8217;ve done, though - you play it entirely through twitter!</p>
<h2>Gameplay specifics</h2>
<p>so now you know the rules.  you&#8217;re dying to start playing, but haven&#8217;t a clue how to go about it.  Well, never fear, because I am going to reveal all.</p>
<p>As already mentioned, this is a twitter game.  you&#8217;ll need to follow <a href="http://www.twitter.com/tweetstones">tweetstones</a> to play.</p>
<p>When you&#8217;ve done that, you&#8217;ll need to ask tweetstones to follow you. send a public tweet to tweetstones saying &#8220;follow me&#8221; and you should be ready to go.  It will reply to you (so you&#8217;ll see it in your mentions timeline) and then you&#8217;ll know you can start.</p>
<p>To initiate a game, you send a direct message with the word &#8220;challenge&#8221; 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&#8217;t following tweetstones or hasn&#8217;t asked to be followed, it won&#8217;t work and you&#8217;ll have to try someone else.</p>
<p>This may slow your games to start with, but it means that if you don&#8217;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&#8217; tweets.  it will announce each time someone wins a game and who they played with, so you can get some usernames that way.</p>
<p>If you&#8217;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 &#8220;take 2 stones from pile A&#8221;, or &#8220;3 from C&#8221;, etc.  You can send &#8220;show the piles&#8221; to refresh your memory on the numbers in each pile.</p>
<p>If you have requested a game with someone but they aren&#8217;t playing, you can use the &#8220;abort game&#8221; 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.</p>
<p>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!</p>
<p>Finally, of note is the fact that twitter, though very popular, can never be 100% stable. Sometimes messages won&#8217;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&#8217;t be relied upon for anything more serious than that.</p>
<p>All warnings out of the way, why not follow tweetstones, ask it to follow you and challenge someone?  You might just win!</p>
<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Frandylaptop.com%2Fsoftware%2Ftweetstones%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Frandylaptop.com%2Fsoftware%2Ftweetstones%2F" height="61" width="51" /></a></div> <img src="http://randylaptop.com/wp-content/plugins/feed-statistics.php?view=1&post_id=117" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://randylaptop.com/software/tweetstones/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Sender&#8217;s Time Zone for outlook: the perfect way to know when to reply</title>
		<link>http://randylaptop.com/software/jawsscripts/outlook_senderstimezine/</link>
		<comments>http://randylaptop.com/software/jawsscripts/outlook_senderstimezine/#comments</comments>
		<pubDate>Mon, 24 Aug 2009 12:08:28 +0000</pubDate>
		<dc:creator>Sean</dc:creator>
		
		<category><![CDATA[jaws scripts]]></category>

		<guid isPermaLink="false">http://randylaptop.com/?p=115</guid>
		<description><![CDATA[I&#8217;m sure we&#8217;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&#8217;s three in the morning for our recipient.  it can be annoying, especially if you&#8217;re expecting a rapid response.  maybe it doesn&#8217;t bother you so [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m sure we&#8217;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&#8217;s three in the morning for our recipient.  it can be annoying, especially if you&#8217;re expecting a rapid response.  maybe it doesn&#8217;t bother you so much most of the time; if not, it&#8217;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.</p>
<p>This said, I was recently made aware of a brilliant little Plugin for microsoft Outlook,, created by <a href="http://www.ablebits.com/">Add-In Express.</a>  it is called &#8220;Sender&#8217;s time zone for Outlook&#8221; and, if you scroll about halfway down their home page at time of writing, you&#8217;ll find a link to it.  like many plugins for Outlook, installation is a very simple process.</p>
<p>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.</p>
<p>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&#8217;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&#8217;d know it was evening and if I had anything important to say I&#8217;d be out of office hours and so less likely to get a reply in a hurry.</p>
<p>if I glance over at the additional information from the plugin, though, I see: &#8220;Sender Time Zone Sender&#8217;s current time: 12:49 (you are 8 hours ahead) Sent: 1 hour, 45 minutes ago.&#8221;  Now, I know that although it&#8217;s evening here, it&#8217;s almost 1:00 PM in whichever part of the world in which my commenter lives.  Should he have left a phone number, it&#8217;d be quite safe to call.</p>
<p>I&#8217;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&#8217;s quickly visible, so I decided  to write a JAWS script to even the odds.</p>
<p>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&#8217;d simply hear &#8220;12:49&#8243;). That&#8217;s the most important information, and so it&#8217;s displayed first by the plugin and spoken with a single press.  A second tap of the key would tell me &#8220;you ar 8 hours ahead&#8221;, or similar - and a third and final press would tell me how long ago the message was sent, our example showing &#8220;1 hour, 45 minutes ago&#8221;.</p>
<p>It&#8217;s unfortunate that it&#8217;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&#8217;re all guinea pigs as I&#8217;ve only used this on myself.</p>
<p>Please also note that I&#8217;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.</p>
<p>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&#8217;s  even installed until I come to reply to a message I know to be from someone overseas, and then it&#8217;s so easy to check their time that I wonder how I failed to miss this feature before.</p>
<p>Once again, the PlugIn is made by #<a href="http://www.ablebits.com/">Add-In Express,</a> And it is called &#8220;Sender&#8217;s time zone for Outlook&#8221;.  The JAWS scripts, which are quite complex to install for which I apologise, can be downloaded by clicking <a class="downloadlink" href="http://randylaptop.com/get/outlook_senderTimezone.zip" title="Version 1 downloaded 38 times" >JAWS scripts for sender&#8217;s time zone for outlook (38)</a></p>
<p>Do feedback here as to how you find it, for although it&#8217;s not my plugin, it&#8217;s undeniably one of the most useful things imaginable.. </p>
<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Frandylaptop.com%2Fsoftware%2Fjawsscripts%2Foutlook_senderstimezine%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Frandylaptop.com%2Fsoftware%2Fjawsscripts%2Foutlook_senderstimezine%2F" height="61" width="51" /></a></div> <img src="http://randylaptop.com/wp-content/plugins/feed-statistics.php?view=1&post_id=115" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://randylaptop.com/software/jawsscripts/outlook_senderstimezine/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Dropbox and JAWS: a script for reading status</title>
		<link>http://randylaptop.com/software/jawsscripts/dropboxjaws/</link>
		<comments>http://randylaptop.com/software/jawsscripts/dropboxjaws/#comments</comments>
		<pubDate>Sat, 04 Jul 2009 22:56:56 +0000</pubDate>
		<dc:creator>Sean</dc:creator>
		
		<category><![CDATA[jaws scripts]]></category>

		<guid isPermaLink="false">http://randylaptop.com/?p=111</guid>
		<description><![CDATA[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 &#8220;dropbox&#8221; 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 [...]]]></description>
			<content:encoded><![CDATA[<p>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 &#8220;dropbox&#8221; 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&#8217;t have Dropbox), and you can share a folder between Dropbox users (so if you&#8217;re working on something with a friend, you can both keep the very latest copies of all the work).</p>
<p>The reason i&#8217;m mentioning this is that there&#8217;s a little tray icon that changes it&#8217;s information whenever something happens with Dropbox and I&#8217;ve written a<br />
small JAWS Script to tell you the status of your Dropbox with a single keypress.</p>
<p>If you&#8217;re already a Dropbox user then you can skip this paragraph: if you aren&#8217;t but want to try it out, I&#8217;d be grateful if you&#8217;d go there <a href="https://www.getdropbox.com/referrals/NTE0MzY0OTQ5">By Clicking This link.</a>  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&#8217;t want the extra space and don&#8217;t wish to give me any either, then you can visit Dropbox itself at GetDropbox.com</p>
<p>The JAWS script has two functions.  if you press the key once, you&#8217;ll hear your Dropbox status.  this may be something like &#8220;all files up to date&#8221;, or &#8220;connecting,, or if uploading or downloading a large file you&#8217;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.</p>
<p>Installing the script requires the editing of your default&#8221; 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.</p>
<p>the first step of the installation procedure involves copying the script to your clipboard. Click <a href="http://www.randylaptop.com/dropbox_jaws.txt"target="blank">This link to open the script code in a new window.</a>  When you have it, right near the top is a line that says &#8220;;start copying from this line: Dropbox Code&#8221;.  it&#8217;s easy to copy - just press Home to ensure you&#8217;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.</p>
<p>Now you just need to follow some simple step-by-step instructions to get the sscript installed.</p>
<ul>
<li> Open the JAWS script manager.  To do this, press insert+0, or if you&#8217;d prefer go to your JAWS window, find utilities, and choose &#8220;Script manager&#8221;.
<li> open the Default JAWS scripts.  To do this, press ctrl+shift+d from within Script manager, or go to the file menu and choose &#8220;Open Default File&#8221;.
<li> navigate to the very bottom of the file (with ctrl+end), hit enter for a new line, and paste what you&#8217;ve copied.  You will be at the bottom if everything has pasted properly and pressing the up arrow you should hear &#8220;;this is the end of the Dropbox code&#8221;.
<li>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 &#8220;endScript&#8221;.  The idea here is to have the cursor inside the code of the script.  When that&#8217;s done and your cursor is on a line saying &#8220;endScript&#8221;, press ctrl+d.
<li> here is where you modify the script information.  the only thing to worry about here is the &#8220;assign to&#8221; option.  you can tab through, or press alt+a.  in any case you are listening out for the words &#8220;assign to&#8221;.  When you hear them, hit the key sequence you want to use, then press enter.
<li>Finally, alt+f4 out of the script manager and anser &#8220;yes&#8221; to saving changes.  the scripts will be recompiled and the key will now work.
</ul>
<p>that&#8217;s as easy as it gets, i&#8217;m afraid - hopefully by following the instructions precisely all will be well.  once again, you can <a href="https://www.getdropbox.com/referrals/NTE0MzY0OTQ5">sign up to Dropbox here</a>  and I hope you find the service as useful as I do. </p>
<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Frandylaptop.com%2Fsoftware%2Fjawsscripts%2Fdropboxjaws%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Frandylaptop.com%2Fsoftware%2Fjawsscripts%2Fdropboxjaws%2F" height="61" width="51" /></a></div> <img src="http://randylaptop.com/wp-content/plugins/feed-statistics.php?view=1&post_id=111" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://randylaptop.com/software/jawsscripts/dropboxjaws/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Literary Progress: Second quarter, 2009</title>
		<link>http://randylaptop.com/books/litprog2009-2/</link>
		<comments>http://randylaptop.com/books/litprog2009-2/#comments</comments>
		<pubDate>Thu, 02 Jul 2009 14:26:56 +0000</pubDate>
		<dc:creator>Sean</dc:creator>
		
		<category><![CDATA[books]]></category>

		<guid isPermaLink="false">http://randylaptop.com/?p=109</guid>
		<description><![CDATA[Time again for a delve into my reading of the last three months, folks - and an interesting time it has been.  With our jobs falling through and a house becoming available near Kim&#8217;s family, we&#8217;re set to move back into the Herefordshire countryside sometime soon.  It can be unsettling, moving home.  [...]]]></description>
			<content:encoded><![CDATA[<p>Time again for a delve into my reading of the last three months, folks - and an interesting time it has been.  With our jobs falling through and a house becoming available near Kim&#8217;s family, we&#8217;re set to move back into the Herefordshire countryside sometime soon.  It can be unsettling, moving home.  I&#8217;m just glad I take my books with me whenever I have to do it&#8230;</p>
<p>On to the summary, then!  In the 91 days of April, May and June, I consumed no less than ten thousand, five hundred and forty-eight pages of fiction.  No non-fiction this quarter, I fear, just forty fiction works from a variety of authors.  This works out to me reading about a hundred and fifteen pages a day, which is quite respectable.</p>
<p>Looking more closely, though, the variety of authors is a little on  the misleading side.  This is because five of the forty were written by James White, 6 by Harry Harrison, and a staggering fourteen written by Peter David.   Add the trilogy of fantasy novels with which I ended the quarter and  a little over two thirds of my reading matter for the last three months is made-up of series, or is material written by the same author.  I&#8217;m not too bothered about this - I firmly believe that if one finds an author or series to one&#8217;s liking then one should go ahead and like it.  Hopefully, having found this trend, I will be able to  diversify my list somewhat for the next update.</p>
<p>Let&#8217;s have a look at averages again.  Either I&#8217;m becoming more normal, or the community is starting to bow to my brilliance.  My average rating for the books this time was 3.7, and the average by everyone else was 3.8.  the delta isn&#8217;t too overwhelming this time.</p>
<p>With that in mind, there aren&#8217;t too many titles which stray from the norm, either.  I gave Robin Hobb&#8217;s Farseer trilogy a combined rating of 13.  Community consensus was 12.4, so even that&#8217;s not too different.  The only other disparities were in some of the peter David novels - I gave some 5 stars whereas the community held a 3, and alternately gave some 3 or 4 when the community thought they should be higher.  That&#8217;s all I&#8217;ll say in this paragraph, except to point out the average rating for a Kevin J. Anderson title (which was 2.69).  the reason will become apparent&#8230;</p>
<p>With the facts and figures out of the way, then, it simply remains to go through the books I particularly enjoyed this quarter.  I gave five 5 star ratings, twenty-one 4&#8217;s, and 11 3&#8217;s this time around, so on the whole you see I enjoyed quite a few.  I&#8217;ll just mention a subset, as usual.</p>
<p>The first two things that deserve mention are James White&#8217;s Sector General series, and Peter David&#8217;s New Frontier.  Both sci-fi, both enthralling, the first with a fascinating alien outlook and the latter with a raiser-sharp sense of humour and fun, neither of these long-running, short-booked series&#8217; should be missed.</p>
<p>After survivors, I wanted to read a little more Star Trek.  Peter David falls very well into that category, but I extended myself to read a little Original Series, some Voyager, and of course the novelisation of the latest Star Trek film (which I read and gave 4 stars on May 16).  I also gave 4 stars to The Kobayashi Maru and the Hologram&#8217;s Handbook; both fine Trek works in their own right.  The only Trek title that didn&#8217;t work for me was echoes, a voyager story.  But what&#8217;s one afternoon?</p>
<p>I also enjoyed harry Harrison&#8217;s stainless Steel Rat series, for although I&#8217;d read them before, they have such a sense of light amusement about them that it&#8217;s hard not to enjoy them.  Realtime Interrupt, by James Hogan, utterly gripped me - but then I&#8217;m a sucker for Virtual reality romps.  Nick Sagan&#8217;s idlewild was different and enjoyable, although painted quite a grim picture of the future; and Mall Purchase Night, by Rick Cook, is something I&#8217;d wanted to read for years but never found in print.</p>
<p>I gave 4 stars to Hopscotch, by Kevin J. Anderson.  As I feared, the future he paints is quite samey from one of his titles to the next, in theme, if not substance.  But despite that, the story, the idea, the people and most of all the personalities made this one well worth the mention here. James White&#8217;s standalone novella Second Ending is also worth a look.</p>
<p>But finally, topping off the week, the month, the quarter and indeed, thus far, the year, is the Farseers.  Robin Hobb&#8217;s writing compelled me to read, night after night after night.  For over two weeks I&#8217;d go to bed and pick up one of these epics, and with the shortest clocking in at just under 500 pages and the largest easily half that again, it&#8217;s easy to call them epics,, believe me  .But size isn&#8217;t everything, or indeed anything.  It&#8217;s all about tone, immersion, and feeling.  One of my favourite series this year was Dave Duncan&#8217;s seventh sword, and I enjoyed them as light-hearted fantasy.  Hobb&#8217;s gone in the other direction - the torment, suffering, and pain her character&#8217;s undergo is nothing short of horrific to observe.  Hobb&#8217;s got this huge, cruel yet beautiful world in place, where dangerous things happen so often and yet the characters are so real, so Human, and so normal -  normal in the ways that matter - that you can forgive the odd magical ability or adroitness with animals because it&#8217;s not that at all that makes the character&#8217;s who they are.  The whole saga is grand and sweeping, melancholically beautiful and heart-warmingly tortuous; so much so that I couldn&#8217;t but help be drawn in.</p>
<p>Well, folks, there you have it.  Another slice of the year has flown by and I&#8217;m 40 books better off.  It&#8217;s still scorching sunny outside: so what else am I going to do after finishing up here than go read in the garden?</p>
<p>Pop back in October for more news on the book front.  Until then, happy reading to you all.</p>
<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Frandylaptop.com%2Fbooks%2Flitprog2009-2%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Frandylaptop.com%2Fbooks%2Flitprog2009-2%2F" height="61" width="51" /></a></div> <img src="http://randylaptop.com/wp-content/plugins/feed-statistics.php?view=1&post_id=109" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://randylaptop.com/books/litprog2009-2/feed/</wfw:commentRss>
		</item>
		<item>
		<title>City temp: temperature in major world cities, direct from JAWS</title>
		<link>http://randylaptop.com/software/citytemp/</link>
		<comments>http://randylaptop.com/software/citytemp/#comments</comments>
		<pubDate>Tue, 23 Jun 2009 18:59:36 +0000</pubDate>
		<dc:creator>Sean</dc:creator>
		
		<category><![CDATA[jaws scripts]]></category>

		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://randylaptop.com/?p=107</guid>
		<description><![CDATA[It&#8217;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&#8217;ve incorporated part of the functionality into my new scripts for JAWS.  If Andrew reads this, [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;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&#8217;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.</p>
<p>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.</p>
<p><span id="more-107"></span></p>
<p>You can download the scripts by clicking this link.  Before you  do, please remember that they are very untested and new.  Whilst they don&#8217;t effect your default scripts in any other way than to be included and have a key, you should still be cautious.<br />
<a class="downloadlink" href="http://randylaptop.com/get/citytemp.zip" title="Downloaded 94 times" >cityTemp (94)</a></p>
<p>Once downloaded, you&#8217;ll need to paste them into your JAWS settings directory.  Here are step-by-step instructions for installing them.  If you are unfamiliar with installing  JAWS scripts, you might want to seek some help, or at least back-up your jaws settings before continuing.</p>
<p>1.  Unzip the files to  your JAWS settings folder, which you can find through the &#8220;explore my settings&#8221; of the JAWS folder in your start menu.<br />
2.  Load up script manager with insert+0, and press ctrl+O to open a file.<br />
3.  Type &#8220;CityTemp&#8221; into the box (without the quotes). cityTemp is the name of these scripts.<br />
4.  press ctrl+s to compile the scripts.  JAWS should say &#8220;compile complete&#8221;.<br />
5.  press ctrl+shift+d to edit the default script source.  Go right to the bottom of the file with ctrl+end, hit enter for a new line, and type: <br />use &#8220;cityTemp.jsb&#8221;<br />
6. Press ctrl+o again, this time opening default.jkm.   This is a keyboard file for jaws, to which you need to add a key.<br />
7.  Cursor down to &#8220;[common keys]&#8221; hit end, then enter, to make yourself a blank line just below  the section title.<br />
8. You need to type  the key you want to use, an equals sign, then the script name, which #is CityTemperature.  For example, my key is <br /> ctrl+insert+shift+t=cityTemperature<br />If you prefer, copy and paste my key, you can take away the shift+ or the insert+ if you like to make it easier to press.<br />
9.  press alt+f4 and choose yes to saving changes to both files.  Things should compile and exit just fine.  The scripts are now installed.</p>
<p>Using the scripts is very easy.  Press your chosen key - mine is ctrl, shift, insert and t, and you&#8217;ll be asked to type the name of a city.  If you type settings, you can choose how you want your temperatures announced etc.  if you type a dot or period, by itself, you&#8217;ll be able to choose any cities you&#8217;ve previously entered.  Failing that, just type a city and hit enter.  JAWS will go online, find the information, and announce it for you.  You can press your key to hear it again, or double-press it to choose a new city.</p>
<p>\I must thank brian and Kevin for the idea, Andrew for his fabulous scripts, and the Geonames website for the use of their web services.  Hopefully, you will extend some appreciation their way too, for without them,  we&#8217;d be without  this.</p>
<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Frandylaptop.com%2Fsoftware%2Fcitytemp%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Frandylaptop.com%2Fsoftware%2Fcitytemp%2F" height="61" width="51" /></a></div> <img src="http://randylaptop.com/wp-content/plugins/feed-statistics.php?view=1&post_id=107" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://randylaptop.com/software/citytemp/feed/</wfw:commentRss>
		</item>
		<item>
		<title>s60 SMS synchronisation with outlook.  yet another pipe dream.</title>
		<link>http://randylaptop.com/misc/s60-sms-synchronisation-with-outlook-yet-another-pipe-dream/</link>
		<comments>http://randylaptop.com/misc/s60-sms-synchronisation-with-outlook-yet-another-pipe-dream/#comments</comments>
		<pubDate>Mon, 18 May 2009 22:43:01 +0000</pubDate>
		<dc:creator>Sean</dc:creator>
		
		<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://randylaptop.com/?p=105</guid>
		<description><![CDATA[My first &#8220;pipe dream&#8221; post, discussing some notetaking software I&#8217;d have in my dream world, went down very well and garnered some feedback.  As I&#8217;ve slowly been setting things back up here with the new system, I&#8217;ve found myself sorely seeking something for which I cannot seem to find a satisfactory solution.
To set the [...]]]></description>
			<content:encoded><![CDATA[<p>My first &#8220;pipe dream&#8221; post, discussing some notetaking software I&#8217;d have in my dream world, went down very well and garnered some feedback.  As I&#8217;ve slowly been setting things back up here with the new system, I&#8217;ve found myself sorely seeking something for which I cannot seem to find a satisfactory solution.</p>
<p>To set the scene: i&#8217;ve started using Microsoft Outlook quite a bit  - partly because it was the first sensible mail client I got installed (as I needed Word and Excel for day-to-day business).  I then had to work with someone completely new to computing, pretty much, who wanted to learn it for her calendaring and contact storage, which in turn has given me a larger appreciation of its capabilities.  it may have clunky problems and go somewhat against my open source philosophy, but until something equally useful comes along for everything I use then Outlook can stay.</p>
<p>What precisely do I use it for, you ask?  Firstly mail, of course.  Rule-based sorting, flags and follow-up labels, and all that cool stuff.  Secondly RSS feeds; a great addon lets me handle them within my folders as normal messages.  Add the calendar and contacts, furthermore add seamless synchronisation with my mobile phone, and what more do I want?  Appointments I schedule on the road appear in my calendar at home.  Contacts I add at home appear on my phone.  Exceptions are easy to make on a per-contact  or per-meeting basis, and all is good.</p>
<p>What I haven&#8217;t gott set to synch is my notes and other files..  Notes because I&#8217;d rather keep the two separate - my PC notebase is far too cumbersome   to pile onto the phone&#8217;s notes application.  I have no need for paralleled video, image and audio synchronisation either, so the system as is works well.  Almost&#8230;</p>
<p>there are two things missing to make this an ideal situation.  the first is minor: Outlook has a journal, and my phone has a call log.  The two could match up quite nicely, especially considering that the contacts are already synchronised.  This would have to be single-way syncchro, obviously; but even with that in mind it&#8217;s hardly overly important.</p>
<p>The other thing is far more vital, though;; or if not vital, at least important.  SMS messages are the lifeblood of any mobile communication.  They have exploded in popularity (for good reason) over the last few years and I find myself pulling the phone out of my pocket or keeping  it within easy reach to reply to or send one of these quickest of communiques.  Quick if you&#8217;re a Japanese teenager, that is.  If you&#8217;ve got my dexterity then they can be painfully slow.  Not that I mind when I&#8217;m out and about - that&#8217;s the nature of the situation.  you work with what you&#8217;ve got.  but it seems a complete waste when I am sat with a decently-proportioned qwerty keyboard in front of me and my hands are occupied twiddling and fiddling with a finicky numeric keypad.</p>
<p>I had a brief trot through the software scene to see what I could come up with, but hit stone walls.  Services either allowed one-way work (i.e. an Outlook adding for sending sms but not reading them), systems that used middleman services (and large amounts of gprs or 3g data), or systems that tried to use At commands in an attempt to retrieve SMS data from the device.</p>
<p>The first is obviously a step, but only a partial one.  The second is not practical for me (even if I were to use a network connection through the computer to absorb the 3g issue the software phone-side wasn&#8217;t accessible).  the third, at commands, held more promise, but a few minutes in hyper terminal brought me to the infuriating conclusion that whilst my phone can send SMS messages with an at (as demonstrated with technique 1 above), listing existing ones (or getting notified of new ones) was a big no no.   I assume this is because the original at specification for retrieving SMS dealt with fixed memory, specific hardware locations, modems etc.  with the addition of folders, memory cards and the like the technology seems to have fallen by the wayside.</p>
<p>So, it&#8217;s time for my dream software: what do I want?</p>
<p>A server, would be the first requirement, sitting on the phone and passing out data requested by the client. Serial port connection is fine, because that virtualizes neatly via Bluetooth or cable or whatever else your phhone and computer speak.  ironically enough serial is actually something of a high-end interface for this purpose.    amusing, given its origins.</p>
<p>The client would be the interesting bit, because it&#8217;d request data from the phone, send data back, etc.  Obviously I&#8217;d prefer it  to be a microsoft Outlook addin, because that&#8217;s the context we&#8217;re talking here.  the addin could set up a notifier for new messages, cache the existing ones, direct them and new to a folder and allow for reading in a similar way to email itself, feeds with rssPopper, tweets with OutTwit. Et Cetera, Ad nauseam.  I don&#8217;t know how addins work, reply and forward would have to be intercepted so that you reply by sms and choose how you want your forward to work.  Furthermore, you&#8217;d need a toolbar for new SMS messages, settings and so forth.</p>
<p>the protocol would make sense to use the at command specification, I suppose. it&#8217;s already defined and established and there&#8217;s already software out there for symbian s60 2nd to make the phone respond to the appropriate commands.  The world&#8217;s moving on to 3rd and 5th editions but that software isn&#8217;t; at least we know the path has already been trodden. </p>
<p>I suppose Python would work fine for a server, it allows for rapid development and is easy to deploy.  I&#8217;ve never even looked at what goes into an addin for Outlook; libraries and hooks and all sorts of scary stuff, I imagine.</p>
<p>Quite why PC suite for nokia and Outlook don&#8217;t play nice with SMS is unknown to me.  it seems a simple, logical extension of what the system already does.  if you&#8217;re going to have a synched contact and calendar base, why not be able to choose to do the same with your messages.</p>
<p>perhaps I should investigate Windows Mobile one day&#8230;</p>
<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Frandylaptop.com%2Fmisc%2Fs60-sms-synchronisation-with-outlook-yet-another-pipe-dream%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Frandylaptop.com%2Fmisc%2Fs60-sms-synchronisation-with-outlook-yet-another-pipe-dream%2F" height="61" width="51" /></a></div> <img src="http://randylaptop.com/wp-content/plugins/feed-statistics.php?view=1&post_id=105" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://randylaptop.com/misc/s60-sms-synchronisation-with-outlook-yet-another-pipe-dream/feed/</wfw:commentRss>
		</item>
		<item>
		<title>au revoir Dell, Hola Asus</title>
		<link>http://randylaptop.com/misc/au-revoir-dell-hola-asus/</link>
		<comments>http://randylaptop.com/misc/au-revoir-dell-hola-asus/#comments</comments>
		<pubDate>Fri, 01 May 2009 21:43:22 +0000</pubDate>
		<dc:creator>Sean</dc:creator>
		
		<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://randylaptop.com/?p=103</guid>
		<description><![CDATA[Getting a new computer is always an exciting or at least interesting event for  most of us.  Whilst I am arguably a bit of a geek, I also see no reason to spend money (which I usually don’t have) on the fastest, most powerful machines on the market.  It’s been a long [...]]]></description>
			<content:encoded><![CDATA[<p>Getting a new computer is always an exciting or at least interesting event for  most of us.  Whilst I am arguably a bit of a geek, I also see no reason to spend money (which I usually don’t have) on the fastest, most powerful machines on the market.  It’s been a long time since I could buy a computer for the sake of buying something; my last four systems have been purchased purely out of necessity.</p>
<p>I wont’ get into the whole laptop versus desktop debate here and now.  , suffice it to say that having used laptops at school, college and everywhere in between, it was only natural that they should take their place as a primary day-to-day computer system when processing power permitted.  They were smaller, more portable, and even worked on occasion out in the garden with a nice chilled beverage and the sun.</p>
<p>I got my laptop now residing in pieces almost a year ago.  It was second-hand then, had done the rounds for a few years, and came into my possession with a 60 GB hard drive and an overclocked 1.4 GHZ processor.  It was the second Dell Latitude D600 I’d owned – I found the unit reliable, rugged and light and small enough to make me very happy indeed.</p>
<p>Sadly, even upon arrival one of the screen’s hinges was noticeably loose.  The years had not been kind to the poor thing, and yet I had very little to complain about apart from this minor hardware glitch.  The mighty machine also seemed not to mind, but alas on Wednesday  the second hinge decided it too would become  unstable.  This resulted in the entire monitor panel almost falling off, and the keypad of power and volume controls literally crashing to the floor in a shower of plastic bits.  It was sad to see and even sadder to realise that this machine, for all practical purposes, was utterly busted.</p>
<p> Luckily the data is safe, as the hard drive is (hopefully at least) still spinning quite happily.  The system still boots, of course, but pressing the power button, getting a steady picture or adjusting the volume requires almost heavenly intervention and can become rather trying on the fingers.  I’d always anticipated the machine’s death, of course – it was quite old and had been in almost daily use, that just by me.</p>
<p>It seemed clear that I should get myself a new system, then.  But which?  What did I want in a computer? What were my limits?</p>
<p>Obviously my very first consideration was price.  Being out of work and privately renting a house doesn’t bode overly well for anyone’s finances. I’d been wanting a Netbook-sized computer for months but never actually could afford one.  Now I was pretty much forced into it, I decided that a Netbook was the way to go.</p>
<p>I didn’t really want anything overly powerful.  My original purpose in getting a Netbook was to have as a secondary machine, but reflecting on it whilst typing  with one hand and holding the screen to the Dell’s chassis I realised that the processing power of almost any Netbook would outdo, or at the very least match, what I already had.</p>
<p>I’m not a heavy gamer, and apart from the rare times I do any sort of audio editing work, tend to use my system for browsing the web, word processing or writing the odd computer program.  With this in mind, a Netbook really did seem more and more viable.</p>
<p>I’d had my eye on the Samsung NC10 for my birthday back in December, but circumstances conspired against that plan.  Now, it was out of my budget somewhat, and so I settled on this, the Asus EEE PC 1000h.</p>
<p>In typical fashion I didn’t take the time to go see one of  these tiny machines before ordering online, and so when it arrived this morning and I took it from the courier I was immediately aware of the weight.  Or lack thereof. I thought my old Dell was light – and it was, for its class and time.  But the Netbooks take weight to a whole new arena and from what I understand, this Asus is heavier than many of its competitors.</p>
<p>Unboxing was a simple enough process; lying in its own cardboard box was the computer itself, a battery pack, an AC charger, a zip pouch for the machine and assorted manuals and recovery data disks.  The first thing to strike me about the computer itself was the gloss of the thing.  The plastic was shiny and bright, and I suppose I should be good enough to keep it that way if possible.</p>
<p>Sliding in the six-cell battery proved simple as well.  It required some delicate finger work as there are both manual and automatic battery latches on the Asus’ underside, but having read the manual in advance I was aware of this fact and so came prepared, nimble-fingered and all.</p>
<p>From there it was a simple matter to flip up the lid, attach the power outlet and (after finding the power switch which is rather neatly positioned on the top right-hand side of the unit) to be presented with the wonderful  “windows Out of  The Box” wizard.</p>
<p>I spent a few hours this afternoon adding a few essentials.  Screen reader, web browser etc – and the oddest thing I’ve found is the keyboard.  Not that it’s small per se, but the wrist room is rather limited.  I’m fortunate to have small wrists, really, and learned to type quite young in life which gives me a degree of adaptability.  I’m word processing quite accurately and, if not up to my usual speedy standard, I’m sure eventually I’ll get there.  The home, page up, end and page down keys are all accessed with the Fn key.  This makes for an interesting finger dance and I’m prone to whacking enter instead of the navigation key I’m after.  Furthermore, FN+insert is a numlock toggle, making insert plus any of the other keys requiring FN untenable.</p>
<p>The battery gave me a solid 4.5 hours on its first discharge, and as that’s easily double what I got before I’m in no position to complain.  It’s hardly the 7.5 touted by the sticker on the front of the computer, but it’s better than nothing.</p>
<p>What else is there to say?  I haven’t done enough to be as detailed as I could be – the Realtek sound card is crisp enough but the silly software mixer needs a bit of work, for instance.  The system tray Asus utilities for power management and webcam/wireless/Bluetooth support work well, the screen is extremely bright and the 160 GB of space gives me a little over 2 and a half times what I’m used to.</p>
<p>Jawter is my work in progress at the moment so how this baby programs will be a story for tomorrow.  I can’t see that evolving into a blog post of its own but even so, if I have any startling news about the system I shall comment here for the sake of historical interest.</p>
<p>To conclude, I like the netbook idea. I’ve seen and carried laptops that would give an elephant a spinal problem.  To have something so  light yet as powerful as something I’d been using already is quite nifty, methinks.</p>
<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Frandylaptop.com%2Fmisc%2Fau-revoir-dell-hola-asus%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Frandylaptop.com%2Fmisc%2Fau-revoir-dell-hola-asus%2F" height="61" width="51" /></a></div> <img src="http://randylaptop.com/wp-content/plugins/feed-statistics.php?view=1&post_id=103" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://randylaptop.com/misc/au-revoir-dell-hola-asus/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Extended System Time: A JAWS script for time in any World City</title>
		<link>http://randylaptop.com/software/jawsscripts/extended-system-time-a-jaws-script-for-time-in-any-world-city/</link>
		<comments>http://randylaptop.com/software/jawsscripts/extended-system-time-a-jaws-script-for-time-in-any-world-city/#comments</comments>
		<pubDate>Tue, 14 Apr 2009 03:07:26 +0000</pubDate>
		<dc:creator>Sean</dc:creator>
		
		<category><![CDATA[jaws scripts]]></category>

		<guid isPermaLink="false">http://randylaptop.com/?p=99</guid>
		<description><![CDATA[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.
]]></description>
			<content:encoded><![CDATA[<p>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.</p>
<p><span id="more-99"></span></p>
<h3>cautions, warnings, and threats</h3>
<p>Before you read any further, don’t.  Stop and listen.  This software is beta.  It&#8217;s so beta, nobody but me has even seen it.  It has not been tested, has not been tried, and is almost but not quite guaranteed to not work on your system.  If you want to try it anyway, I think you&#8217;re stupid. But I also like persistence in a blog reader, so I shall provide you a download link for Extended System time, version 0.1.<br />
<a class="downloadlink" href="http://randylaptop.com/get/extendedsystemtime01.zip" title="Version 01 downloaded 82 times" >Extended system time (82)</a></p>
<h3>How to Install</h3>
<p>Only competent JAWS users should try this.  By competent, I probably don&#8217;t mean you. If you think I do, then let it be on your own head: if you&#8217;re being sensible and stopping at this point - well done.  In a few days, weeks at the most, there&#8217;ll be a proper, user-friendly version for you to play with.</p>
<p>1.	Extract all files to your settings directory.<br />
2.	2. Open extendedSystemTime.jss and compile it.<br />
3.	3. Open default.jss and add use &#8220;ExtendedSystemTime.jsb&#8221;<br />
4.	4. open ExtendedSystemTime.jsd and paste its contents into default.jsd. Save.<br />
5.	5. Open keyboard manager. Navigate to default.  Assign the script sayExtendedSystemDateOrTime to insert+f12 if you want to overwrite default. Be sure to assign the right script, other extended ones are included for your remapping pleasure.</p>
<h3>How to use</h3>
<p>To hear your local time or date, press your key once or twice per usual.  The only difference is the format in which the time/date is announced.  Pressing insert+f12 a third time prompts you for a city.  In this box, you may type:</p>
<p>1.	The word &#8220;settings&#8221;, which will open the settings file. It is not yet documented.<br />
2.	2. The word &#8220;flush&#8221;, which will remove your saved cities and their time data.  Useful for any change in time zone or daylight savings time, on the part of you, your computer, or your target city.<br />
3.	3.  A period &#8220;.&#8221;, dot, full-stop. Typing this by itself and hitting enter will generate a list of cities for which you&#8217;ve already requested the time, any of which you may switch to by choosing them from said list.<br />
4.  Needless to say you also enter a city here, if you&#8217;re looking for the time somewhere around the globe.</p>
<h3>The city List</h3>
<p>The list of cities you use is maintained and, as stated, accessible by entering a dot in the city name field.  Furthermore, if you enter an identical name to one already entered, JAWS will look up the time from your file, rather than running off to the Internet to find the data.  Just beware that if you enter something slightly different (i.e. &#8220;London&#8221; once but &#8220;London, England&#8221; a second time) to JAWS they&#8217;ll be different things.  Also worth remembering is that there are lots of places in the world - many of my colleagues seem to believe that the world revolves around their spot on it. &#8220;Saint Petersburg&#8221; is a city in Russia, for instance, and because so many people are lazy, &#8220;St. Petersburg&#8221; redirects to the same place, despite the shortened form of Saint being used by the Americans.  This is easy to fix - entering &#8220;St. Petersburg, fl&#8221; or &#8220;St. Petersburg, Pa&#8221; tells JAWS where you&#8217;re aiming for and all is good.</p>
<h3>The data</h3>
<p>JAWS saves the names and time offsets of cities you look up to a file within your settings directory. It also stores the formats you wish to use to have times and dates spoken in the same file.</p>
<p>These formats use placeholders for various things - for instance, &#8220;$h&#8221; means the current hour, in 12-hour format.  All of these &#8220;tags&#8221; must be proceeded with a dollar sign and you may use:<br />
  h, hh, H or HH for hour (with or without leading zeros, uppercase for 24)<br />
  m or mm for minutes, s or ss for seconds<br />
  t or tt for the meridian (&#8221;A&#8221; or &#8220;AM&#8221;)<br />
  y, yy, yyy for the year (9, 09,  2009)<br />
  uppercase M, MM, MMM, MMMM for the month (2, 02, Feb, February)<br />
  d, dd, ddd, dddd for the day (9, 09, Mon, Monday)<br />
  o for the day&#8217;s ordinal (st, nd, th, rd)<br />
l for the short location (&#8221;Brno&#8221;)<br />
ll for the long location (&#8221;Brno, Czech Republic&#8221;)</p>
<p>Note that the latter two only work in the &#8220;elsewhere&#8221; scripts and aren&#8217;t part of general time functionality.</p>
<h3>Credits, help and sources</h3>
<p>I must extend a huge thanks to Kevin Jones, without whom this plugin would not be possible.  Kevin is a superb mathematician and an integral friend - his knowledge has floored me on several occasions and I have become a much more rounded individual due to his remarkably precise assistance.</p>
<p>I must also thank geonames.org, who&#8217;s website <a href=http://geonames.org>Geonames.org</a> provides all the data that this plugin works with.</p>
<h3>Feedback</h3>
<p>New, shiny, leakier than Lizas bucket.  This is extended system time.  Comment with your problems, thoughts, critiques and comments, but do remember I warned you off downloading in the first place.</p>
<h3>Licensing</h3>
<p>The GeoNames data and services and the license for this JAWS Plugin are the same:<br />
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by/3.0/88x31.png" /></a><br />This work is licenced under a <a rel="license" href="http://creativecommons.org/licenses/by/3.0/">Creative Commons Licence</a>.</p>
<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Frandylaptop.com%2Fsoftware%2Fjawsscripts%2Fextended-system-time-a-jaws-script-for-time-in-any-world-city%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Frandylaptop.com%2Fsoftware%2Fjawsscripts%2Fextended-system-time-a-jaws-script-for-time-in-any-world-city%2F" height="61" width="51" /></a></div> <img src="http://randylaptop.com/wp-content/plugins/feed-statistics.php?view=1&post_id=99" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://randylaptop.com/software/jawsscripts/extended-system-time-a-jaws-script-for-time-in-any-world-city/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Litterary Progress: First quarter, 2009.</title>
		<link>http://randylaptop.com/books/progress_2009_1/</link>
		<comments>http://randylaptop.com/books/progress_2009_1/#comments</comments>
		<pubDate>Wed, 01 Apr 2009 00:12:26 +0000</pubDate>
		<dc:creator>Sean</dc:creator>
		
		<category><![CDATA[books]]></category>

		<guid isPermaLink="false">http://randylaptop.com/?p=97</guid>
		<description><![CDATA[It&#8217;s that time again - and I can hardly believe a quarter of the year has flown by.  It seems like yesterday I sat down at this very text editor to write about my reading from the end of last year, and here I am, doing the very same thing for the first quarter [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s that time again - and I can hardly believe a quarter of the year has flown by.  It seems like yesterday I sat down at this very text editor to write about my reading from the end of last year, and here I am, doing the very same thing for the first quarter of a whole new earthly revolution of the sun.</p>
<p>Diving straight into the statistics, then, I can immediately see that I&#8217;ve read 29 books over the last 3 months. Despite me reading nothing of literary merit between February 12th and march 4th, this averages out at roughly 1 third of a book a day (or 89 pages).  Overall I read 8,083 pages, which puts the average book at about 278 pages.</p>
<p>In actual fact, 8 of the 29 books had less than 278 pages - but several titles didn&#8217;t include page counts and so are knocking the statistics off a little.  4 of the books were over 400 pages long, 3 novels and a short story collection.</p>
<p>Something I didn&#8217;t look at last time but which is utterly fascinating is the disparity between what I thought of a book and what others said about it.  Of course it&#8217;s impossible to analyse my reviews against other peoples, but the five-star rating system Goodreads employs is useful as a general balance.  Of course we must remember that my rating influences the average and the number of ratings that make up the average for any given title is a widely unpredictable factor, but even with all this taken into consideration the results are interesting.</p>
<p>If you&#8217;d asked me to give a general opinion on my recent reading, I&#8217;d have said that I&#8217;d come across a few brilliant titles, some enjoyably memorable ones and a few which I rated &#8220;good&#8221; or &#8220;average&#8221;.  On Goodreads, the ratings go:<br />
1. didn&#8217;t like it.<br />
2. it was ok.<br />
3. liked it.<br />
4. really liked it.<br />
5. it was amazing.</p>
<p>I keep ratings 4 and 5 for the above-average and superb titles respectively.  I give a 3 for a book I liked, even if I didn&#8217;t enjoy it as much as I might have, and anything less than a 3 does not bode well for my future consumption of the author, series, etc.</p>
<p>Yet it&#8217;s surprising how selective our memories can be.  Over the last 3 months I&#8217;ve dished out no less than 7 2&#8217;s, 11 3&#8217;s, 9 4&#8217;s, and 2 5&#8217;s.  Funny, isn&#8217;t it?  If you&#8217;d asked me my favourite books of the quarter I&#8217;d have been able to tell you what the 5 star titles were at once, and probably thrown in a few of the 4&#8217;s for afters.  If a conversation had followed, some of my 3 star pickings might&#8217;ve been offered up as OK reads, but looking back at my 2&#8217;s, only seeing their titles lets me reconstruct some of the plot - and even then, not for all of them.</p>
<p>Given all these figures, we can see that my average rating is 3.2.  The community average for the titles I rated is 3.6, which means that on the whole, the community enjoyed them more than I did.  This is a generalisation, of course - that&#8217;s how an average works. Survivors, one of my 5-star titles, had an average rating of 3.25.  Coming of Wisdom, my other, was viewed slightly better at 4.11 - even so, there&#8217;s quite a difference.  Other disparaged titles included Resurrection, Inc (which I gave 4 stars but which averaged 2.75), and Starship troopers (which I gave 2 and averaged 3.90).</p>
<p>As you can see, my views differ from the average perhaps more than is typical - but then what&#8217;s an average without outsiders?  I was impressed by some titles more than the community, in contrast, they liked others that I didn&#8217;t.  it&#8217;s good to see what others thought of the books I&#8217;ve been reading, makes recommendations for new titles and finding of friends with similar tastes an enjoyable experience.</p>
<p>Let us take the titles in my order of rating, then - we&#8217;ll talk about a few of the highlights.</p>
<p>I read survivors by Jean Lorrah about a week into march and couldn&#8217;t put it down.  The depth of character portrayed, the breathtaking way in which emotions swirled their way through the text and the sensations of love, betrayal, loss, redemption and death that haunted the pages made it a commendable story.  Of course it&#8217;s also a Star Trek title, so the science fiction aspect made the setting familiar to me - but it wasn&#8217;t just a space story; it wasn&#8217;t even a space story.  The plot was there simply to illustrate the character&#8217;s lives - I&#8217;m sure the story could&#8217;ve been told at sea, in a medieval setting or in a desert with equal vigour , if an author worked at it.  The plot was not thin, so much as opaque - it served only to link the reader to the people in the text and from then on, they told their stories by their actions and feelings.  The storyline itself was gripping, but for me, utterly dwarfed by the characters themselves.  For them, the plot was a job, a life, a world - and there can be no denying that had I not known how the story had to end I&#8217;d have shed a tear or two.</p>
<p>My next 5 star was the Coming of Wisdom, by Dave Duncan.  I&#8217;d finished the Seventh Sword trilogy by January 18th (of which this was the second book) and found them joyfully exuberant. The other titles in the series got 4 star ratings, only because they sandwiched the second instalment so well.  Light fantasy, humorous in places, written with pace and aplomb and certainly worth your time if you&#8217;re into swordplay and magic.</p>
<p>Kevin J. Anderson&#8217;s Resurrection, Inc was another one that I read cover to cover. At 320 pages it&#8217;s short enough to do in a single sitting and I found the entire concept of the book to exert such a hold that I simply had to finish it.  Character is built up for reasons of plot more than anything else, and some of Anderson&#8217;s imagery will doubtless become repetitive if any other of his &#8220;in the future&#8221; stories go a similar route.  Still, although it didn&#8217;t make me cry or laugh out loud, a solid 4 star read and a worthy addition to anyone&#8217;s sci-fi bookshelf - especially those who like a touch of horror.</p>
<p>Other 4 star titles included Sleeper Agenda by Thomas E. Sniegoski (although without the first in the series it&#8217;s not worth much of a read), Across the Nightingale Floor by Lian Hearn, The Turing Option by Harry Harrison, Tinker, Tailor, Soldier, Spy by John le Carré, and The Veteran (a short story collection) by Frederick Forsyth.</p>
<p>Also of note is the fact that I read a non-fiction title - Harry, A History: The True Story of a Boy Wizard, His Fans, and Life Inside the Harry Potter Phenomenon by Melissa Anelli.  It was quite a weighty read, clocking in at over 350 pages, and I gave it 3 out of 5 because although interesting, it was more comprehensive of some things than others.  It has over 4 stars by community consent, and the author is a Goodreads member.   It tells her story as much as Harry Potter&#8217;s, and that at least was something I found quite enjoyable about the book.</p>
<p>That&#8217;s about it for this quarter.  The time has flown by, and there&#8217;ve been books both brilliant and banal.  I hope that, if you&#8217;re interested, you&#8217;ll check out my Goodreads profile, or at least the recent reading page of this site to see what I&#8217;m chomping my way through as we move from April through to the end of June.  The summer months are often alluring - sunshine, lighter nights and later mornings, perhaps.  Whether this means more time lounging in the garden with a good book and a beverage remains to be seen.  Check back in early July for my next literary progression, and until then, happy reading to you all.</p>
<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Frandylaptop.com%2Fbooks%2Fprogress_2009_1%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Frandylaptop.com%2Fbooks%2Fprogress_2009_1%2F" height="61" width="51" /></a></div> <img src="http://randylaptop.com/wp-content/plugins/feed-statistics.php?view=1&post_id=97" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://randylaptop.com/books/progress_2009_1/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Bookmark keywords, giving favorite favorites a quick-fire command</title>
		<link>http://randylaptop.com/analysis/bookmark-keywords-giving-firefoxs-the-location-bar/</link>
		<comments>http://randylaptop.com/analysis/bookmark-keywords-giving-firefoxs-the-location-bar/#comments</comments>
		<pubDate>Tue, 24 Mar 2009 19:04:59 +0000</pubDate>
		<dc:creator>Sean</dc:creator>
		
		<category><![CDATA[analysis]]></category>

		<guid isPermaLink="false">http://randylaptop.com/?p=93</guid>
		<description><![CDATA[As did many others, I switched from internet Explorer to Firefox as my default web browser of choice some years ago.  On the whole the transition was smooth - JAWS presents any HTML document in a standard way and so there was little sufferance in that area.  The two things I perhaps missed [...]]]></description>
			<content:encoded><![CDATA[<p>As did many others, I switched from internet Explorer to Firefox as my default web browser of choice some years ago.  On the whole the transition was smooth - JAWS presents any HTML document in a standard way and so there was little sufferance in that area.  The two things I perhaps missed about IE were the feed view and the favorites menu.</p>
<p>Of feeds, I enjoyed being able to view an entire folder of new items on one page with the feed for all addon, and of favorites, I liked having a standard windows folder because I preferred using it over IE&#8217;s Organize Favorites dialog box.  Still, these are minor quibbles.  I found a decent RSS reader which serves well enough but until recently I hadn&#8217;t really done much with Firefox&#8217;s bookmarks.  Until recently&#8230;</p>
<p>I then learned that each bookmark could have a keyword associated with it.  That keyword could act as a shortcut, when entered into the location bar.  Furthermore, keywords could take a parameter - and this opened up a whole new can of worms.</p>
<p>Stop and think for a moment, just how many websites you might go to and type in some information.  Even sites you may visit infrequently, just to look the odd thing up.  Then think how much quicker, more productive and streamlined your workflow would be if instead of going to that site&#8217;s home page, possibly finding a page within that site, then entering data into a form - instead of that, you go to your location bar, type a keyword, then your search text.</p>
<p>Let us take an example.  I did a lot of elemental work in High School Chemistry and the periodic table became quite a friend.  I had some old software that let me view element information.  Nowadays, there are a plethora of websites to do the same thing.  I use one in particular, and now, with a bookmark keyword, if I want to tell you something interesting about helium, all I need do is hit f6 or ctrl+l, and type &#8220;element he&#8221;.  Hitting enter takes me to the precise page on ChemicalElements.com, and I can then expound upon the virtues of this noble gas which was discovered in 1895 by Sir William Ramsay.</p>
<p>This is perhaps not the most useful example for computer users of my generation. Out of our teens, unless we&#8217;re pursuing a scientific career or hunting for some obscure fact, there&#8217;s little use for this lookup.  I&#8217;m no scientist, but I do converse with people all over the world&#8230;</p>
<p>Time is quite an important concept when talking around the globe, knowing when you should or shouldn&#8217;t call someone is always useful information.  Suppose I want to make a phone call to a friend in New Zealand but can&#8217;t quite remember what time it is there.  Dead easy - I go to my bar and type &#8220;time Wellington&#8221;.  It&#8217;s almost 11:00 AM on Tuesday morning as I type this, but what do I hear? &#8220;11:53pm Tuesday (NZDT) - Time in Wellington, New Zealand&#8221;.  A little late to call, mayhap - but it&#8217;s only 7:00 PM in Hong Kong, so perhaps I&#8217;ll turn my international efforts there instead as I seem to have missed the NZ boat.</p>
<p>You can see the advantages of such a system, I&#8217;m sure.  Take the concept further - to dictionaries, thesauri, encyclopaedias   - TO weather lookup, sites that collect quotations, sell things, stream music, provide downloads.  Almost anywhere on the web where you fill out a single form field as a method of information retrieval this system will be faster and just as reliable.</p>
<p>The next thing to discuss is how it&#8217;s done, of course.  To show you exactly how it works I&#8217;ll navigate to &#8220;element au&#8221; (which is the entry for gold on the periodic table).  Looking at the URL of this page, we see http://www.chemicalelements.com/elements/au.html.  As you&#8217;ve probably gathered, the &#8220;dynamic&#8221; part of this address - the bit that changes with each request, if you like - is &#8220;au&#8221;.  if I were to look up helium again, the URL would become http://www.chemicalelements.com/elements/he.html.  Some pages have your search text in the form of a parameter after the URL - i.e. the location of my time keyword is http://www.google.co.uk/search?q=time+%s.  it doesn&#8217;t matter how the parameter is specified, as long as it&#8217;s a part of the address then you&#8217;re in business. </p>
<p>To give a bookmark a keyword, you need to get to its properties within Firefox.  I find it easier to create a new one from the bookmark manager than to edit an existing one, so my steps are as follows:</p>
<p>1.  With the URL on my clipboard, I hit ctrl+shift+b to get to the bookmark manager.<br />
2.   I cursor to my bookmarks menu, then to my submenu which contains my keyword searches.  In this way I keep them organised.<br />
3.   I go to the organize menu and choose new Bookmark.<br />
4.  I input a name that I&#8217;ll remember.  In the location field I put the URL, and I replace &#8220;he&#8221; or &#8220;au&#8221; with &#8220;%s&#8221;.  %s is a Firefox substitution string used with keywords.<br />
5.  Finally, in the keyword field I type &#8220;element&#8221;.  Hitting enter saves the bookmark.</p>
<p>It&#8217;s worth noting at this stage that you can add any tags, descriptions or whatever else you use to sort your bookmarks.  However, because of the %s string in the bookmark&#8217;s location, navigating to it from the bookmark menu or tool bar will not work (you&#8217;ll end up with a page not found message).  I&#8217;ve described adding a keyword without using any Firefox extensions or addons or anything of that nature which means that, if you run the browser portably, the keywords will be portable too.</p>
<p>Using a keyword is, as already described, a simple matter of going to your location bar, typing said keyword, giving it any parameters (they are not required by any means) and hitting enter.   What I mean by the parameter thing is that if you have a site you visit often without dynamic information (suppose a TV guide), you could just add a &#8220;TV&#8221; keyword to an existing bookmark and it would work in exactly the same way.</p>
<p>This brings us on to my final point - the combination of keywords and bookmarklets.  A Bookmarklet is simply a bookmark that does more than your standard favourite.  With use of Javascript a bookmarklet can prompt you for data, take information from the page you&#8217;re on, and do something interesting with it.  Popular Bookmarklets let you send things with Gmail, post to link sharing sites, and plenty of other fascinating things I&#8217;ve probably not yet discovered.  The logic behind a bookmarklet is that it&#8217;s quick to click - most people stick them in their toolbars for easy access.</p>
<p>I have yet to delve into the depths of the bookmarklet, but as I use twitter quite regularly, thought a method of &#8220;tweeting&#8221; about the web page I&#8217;m on was a good idea.  Twitter is a great way to share interesting things, web pages are no exception.</p>
<p>I have two bookmarklets that I use with Twitter.  The first, which you can get from <a href=" http://myopiclunacy.com/2007/11/06/microblogging-with-urltea-my-twitter-bookmarklet">Myopic Lunacy</a>, uses a URL shortening service like tr.im to keep the URL you post short.  This is often useful but sometimes slow, so for my first ever bookmarklet I created one that lets you tweet your current page&#8217;s URL and title.  This is what the one I discovered did as well, but I just wanted to see how a bookmarklet might work.  To try it out, you can <a href="javascript:location.href='http://twitter.com/home?status='+document.title+' - '+location.href"title="tweetThis">Get it by adding this to your bookmarks.</a>  Both these require you be logged into twitter with the &#8220;remember me&#8221; cookie, and both work real well with a keyword.  Try it out - add the bookmarklet to your collection, give it a keyword - &#8220;tweet&#8221;, perhaps - and try it from this page.  I&#8217;m not going to complain! ?</p>
<p>You can add a bookmarklet to your own bookmarks by simply right-clicking the link text and choosing &#8220;bookmark this link&#8221; in Firefox.  Other browsers vary, but most support bookmarklets, if not keywords.</p>
<p>I hope you&#8217;ve found this informative - I certainly plan on using both bookmarklets and keywords much more now I know what they are and how they work.  I have to thank Monica, a great friend, for getting my mind on this whole topic, A post entitled <a href=http://www.deftone.com/blogzilla/archives/keyword_searching.html>Keyword Searching in Firefox</a> from Blogzilla, and <a href=http://lifehacker.com/software/bookmarks/hack-attack-firefox-and-the-art-of-keyword-bookmarking-196779.php>Firefox and the art of keyword Bookmarking</a> from hack Attack, both of which gave me ideas and help on exactly how everything works.</p>
<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Frandylaptop.com%2Fanalysis%2Fbookmark-keywords-giving-firefoxs-the-location-bar%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Frandylaptop.com%2Fanalysis%2Fbookmark-keywords-giving-firefoxs-the-location-bar%2F" height="61" width="51" /></a></div> <img src="http://randylaptop.com/wp-content/plugins/feed-statistics.php?view=1&post_id=93" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://randylaptop.com/analysis/bookmark-keywords-giving-firefoxs-the-location-bar/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
