Wednesday, 27 April 2011

calibre-logoSince getting my Kindle I've amassed more and more eBooks and one of the best tools I've found to manage all these books in Calibre. This is a free and open-source tool that helps you manage your library of eBooks and best of all it's available to Windows, Mac and Linux users.

Calibre is rather like iTunes for your eBook, it allows you to define metadata for your books such as tags that allow you later to search for books. Alongside helping you to manage your collection calibre also allows you to convert books to different formats such as PDF to MOBI. Although the Kindle does support PDF I tend to prefer converting the PDF to MOBI before dropping it onto my kindle. All of which is very easily achieved using Calibre.

If you have any eBooks I highly recommend that you check out Calibre. More information and the latest version can be obtained from:

posted on Wednesday, 27 April 2011 19:40:20 (GMT Standard Time, UTC+00:00)  #    Add Comment | Comments [0]
 Saturday, 17 April 2010

Having seen how good Winzip 14 can look from Scott Hanselman's blog I decided to try it out but the first thing that annoyed me with the installer is that fact that it attempts to install the Google toolbar, Winzip 14 looking to install Google toolbarI don't really like any of these toolbars as I have installed other plug-ins that allow me to work how I like with my web browser. Anyway I'm perfectly capable of downloading and installing software from Google if I want it, I don't like software being forced upon me.

Despite this annoyance Winzip 14 does look good and has a useful jump menu when pinned to the Windows 7 taskbar.   Winzip 14 Jump Menu

During the installation I also have been presented with the option to select zip or zipx as the default file format for Winzip. The advantage of zipx being that it provides better compression but with the disadvantage that it is not compatible with older editions of Winzip. To test this out I zipped a folder containing a set of my photos using both formats. The uncompressed folder was 127 MB, the zipx file was 96 MB and the zip file was 126 MB.

This screenshot shows the summary screen that is displayed when the compression is zipx Summarycomplete. One thing that I did notice was the zipx compression is significantly slower than the zip compression.  However there was a reasonable difference in size approximately 20 MB. Although the zipx provides space saving and should therefore allow users to download a smaller file from your web site I don't think I start immediately providing downloads in the format simply because at the time of writing Winzip seems to be the only option for anyone looking to extract the data. However 7-Zip an open source alternative to Winzip indicates in a forum that support for zipx will come in future releases, when this happens I'll then contemplate using zipx as my default format until then I'll stick with zip.

posted on Saturday, 17 April 2010 11:50:36 (GMT Standard Time, UTC+00:00)  #    Add Comment | Comments [0]
 Wednesday, 04 November 2009

If you've got an account that uses Google mail you have got to try out the Gmail Notifier Plus app as it looks so good on Windows 7. Just look at the Jump Menu for the app. At a glance you can see how many new items are in your inbox and gmailNotifierPlusJumpMenu most recent 10 have their subjects listed on the Jump menu so that you can go directly to any of them with a single click. Also from the tasks section you have the option to compose a new mail or go to your inbox, both of these options will open a browser with the selected page displayed.

Another very nice feature of the app occurs when you mouse over the icon on the Windows 7 task bar. You get a small preview window that allows you to step through your mail and read the first few lines from each and for convenience you have the ability to open the full email in your browser.gmailNotifierPlusMouseOver Trust me if you have a Google mail account you want to check this little app out as it makes it so easy to work with your gmail.

posted on Wednesday, 04 November 2009 01:52:55 (GMT Standard Time, UTC+00:00)  #    Add Comment | Comments [1]
 Thursday, 29 October 2009

I've been doing some work with the Unity IoC container recently and had to configure some generic types so I thought I'd post some of the examples here so that I'd have some to refer back to more than anything else a blog post tends to be less likely to get lost that an old post-it note.

Xml config to configure mapping for a specific generic type, note the use of [[]] to define the generic type. Inside the square brackets you specify type name and the assembly containing the type. In both example `1 signifies the generic parameter:

<type type="Data.Repository.IRepository`1[[Poco.Address, Poco]], Data.Repository"
      mapTo="Data.Repository.LinqRepository`1[[Poco.Address, Poco]], Data.Repository">
  <lifetime type="singleton"></lifetime>

Xml config to configure open generic type mapping:

<typeAlias alias="IRepository`1"            
" /> <type type="IRepository`1" mapTo="Questern.ActiveOrderManagementSystem.Data.Repository.LinqRepository`1,
"> <lifetime type="singleton" /> </type>


Thanks to Marceli for helping out with this!!

posted on Thursday, 29 October 2009 19:52:26 (GMT Standard Time, UTC+00:00)  #    Add Comment | Comments [1]
 Tuesday, 27 October 2009

SyncToy Logo Despite having a laptop I still find I'm often carrying documents between various computers on a USB pen so I and needed a convenient way to sync the changes made on the USB pen back onto my hard drive. To solve this problem I found SyncToy from Microsoft. This offers a really convenient way to keep my files in sync thanks to a simple and intuitive interface.

You can see just how clean the interface is from the screenshots. SyncToy 2.0 Main Screen All you need to do is click the "Create New Folder Pair" button. This produces another simple dialog that allows you to select the two folders you wish to keep in sync. Setup new folder pairing

Click then next button and you will be presented the the second of the three dialogs that setup the folder pairing. Here you have three radio buttons, "Synchronise", "Echo" and "Contribute". What I really found useful was the label to the right of the radio buttons that gave a clear and helpful description of what each of the radio buttons means. For example the explanation for the synchronize option reads "New and updated files are copied both ways. Renames and deletes on either side are repeated on the other side." As I will be working with code and will have new files, updates to existing files and possibly some deletes that I want kept in sync between my main computer and my pen drive this is the option I choose. However if you only want a one way synchronization choose "Echo". Or if you don't want deletes synchronized between the two folders select the "Contribute" option.

Specify actions for pairing

The last screen gives the option to enter a name for the pairing this is just a useful tag that will allow you to identify the pairing in the list of pairings you've created. Click finish and you will be presented with a summary screen that gives you all the details of what you have just created. Summary of pairing On this screen you should notice two actions that you can click on. The first "Change action." allows you to change what you are doing e.g. change from synchronize to echo. The second action link "Change Options." gives you the ability to take finer control of the synchronization. Here you can specify specific file types to include in the synchronization or files types that should not be copied as part of the synchronization.  Along with controlling the file types you have the option of excluding certain file types from the synchronization by clicking the "select subfolder" action link. The best thing about this screen is the level of help provided if required. Simply mouse over any of the controls and you'll get a clear and concise help message describing what the control is for and in the case of the free text entry fields used to control the file types the help gives examples of how to format what you enter into these fields. Options for the pairing

The last two buttons I'll take about are the "Run" and "Preview" these are clear cases of doing what it says on the tin. Run will run the synchronization and depending on the actions you have selected it will delete, copy, update and add the files and folder in one location to the other. However the preview is really nice as it gives you the ability to see what will happen as a result of clicking the "Run" button. You can see from the screenshot the results of running a preview on one of my pairings. Preview results showing what will happen when Run is clicked

This is a tool that I recommend anyone who works with USB pen drives go and checkout, it's easy to use, works well and so far has done all I want of it.

You can download SynToy free from Microsoft, at the time of writing 2.0 is the latest version.

posted on Tuesday, 27 October 2009 18:54:52 (GMT Standard Time, UTC+00:00)  #    Add Comment | Comments [0]
 Friday, 23 October 2009

CLCL context menu example CLCL is a clipboard caching utility and one of the many tools I can't work without. This handy little tool allows you to add multiple items to the windows clipboard and then select which item you want to paste from the clipboard. The standard Ctrl+C and Ctrl+V keys work as normal but you also have an addition Alt+C option, this will display a context menu that allows you to select the item you wish to paste from the clipboard. The tool is free and trust me you'll find the benefit of this when editing and working across multiple files. As you can see from the screenshot it also supports pasting images from the clipboard. 

This tool was also mentioned in the book "The Productive Programmer" which I have previously reviewed on my blog.

posted on Friday, 23 October 2009 16:36:24 (GMT Standard Time, UTC+00:00)  #    Add Comment | Comments [0]
 Monday, 19 October 2009

I've just written a Windows Shell extension for XP that gives some of the functionality that 'Copy as Path' provides on Vista/7/2008. If your like me and unlucky enough to still be using XP at work maybe you should check it out on codeplex. Please leave any feedback on codeplex and I'll try and incorporate it into future builds if at all possible.

Although not needed since Vista I'll try and maintain builds of this for newer versions of Windows as the Application code is very simple and the code could therefore be useful to anyone else learning to write shell extensions.

posted on Monday, 19 October 2009 19:20:40 (GMT Standard Time, UTC+00:00)  #    Add Comment | Comments [0]
 Saturday, 26 September 2009

A problem that I often have is trying to get the UNC path for a mapped drive so that I can pass it to somebody or that they can pass the UNC path to me. My ideal solution would be to execute a command passing the drive letter as an argument and having the UNC path copied to the clipboard so that I can then paste the UNC path in an email or instant message, so I wrote the following script using PowerShell and the PowerShell community extensions (PSCX).

If you don't already have them installed install the following:

Then save my script to a folder on your computer and run it as follows

.\DrivePath z

Where 'z' is the drive letter for the mapped drive, the UNC path will then be on your clipboard and you can then paste it wherever you like.

    [Parameter(position=0, Mandatory=$true)]
    [string] $Drive = "Z:"

# ensure the supplied param ends with ':' 
$Drive = $Drive.ToUpper().ToCharArray()[0] + ":"

$logicalDisk = Gwmi Win32_LogicalDisk -filter "DriveType = 4 AND DeviceID = '$Drive'"

out-clipboard $logicalDisk.ProviderName


Download script:

posted on Saturday, 26 September 2009 22:27:29 (GMT Standard Time, UTC+00:00)  #    Add Comment | Comments [0]
 Monday, 24 August 2009

floolaLogo Recently I've grown increasingly frustrated with Apples' iTunes software, I find it just to cumbersome for the task it performs. I mostly use windows and find myself more than happy with VLC media player and I therefore don't want to install iTunes just for the task of placing mp3's onto my iPod. So off I went in search of an alternative and that's how I discovered Floola. It ticked all the boxes for me, lightweight, runs on multiple platforms and runs from the device thus allowing it to run on any machine when the iPod is connected.

Take a look for yourself by downloading Floola and follow the steps described in Floola's online help.

posted on Monday, 24 August 2009 09:34:56 (GMT Standard Time, UTC+00:00)  #    Add Comment | Comments [0]
 Thursday, 30 July 2009

Personally I prefer to keep my desktop as clutter free as possible, when working on projects I like to create root folders as described in the book 'The Productive Programmer'. However I know lots of people like to use the desktop as a dumping ground for things they are currently working on. If you like to use the desktop in this manner then you might be interested in fences. Originally I heard about fences as a Windows 7 feature however on looking into it a bit more I found that this is a feature that can be enabled in Windows XP and Vista, Stardock provide a freeware program called fences.

posted on Thursday, 30 July 2009 07:16:42 (GMT Standard Time, UTC+00:00)  #    Add Comment | Comments [0]
 Monday, 01 June 2009

I just upgraded to Windows 7 RC and solved my first issue. Upon upgrading I found all the folders and shortcuts under 'All Program' on the start menu was empty. Now the start menu isn't something I've used for a while since I started using the program Launchy. Launchy is an application launcher that runs in the background that I can call by using the Alt+Space keyboard shortcut, I then type the name of the program I want to launch and press the enter key. Been a programmer and very used to working with command line interfaces I find this much simpler that navigating any form of start menu. sshot-1

The screenshot shows what Launchy looks like, it remembers the programs you have launched in the past so now I can launch FireFox by simply typing the F and pressing enter. Since I installed Launchy I have stopped organizing the folders and shortcuts in my start menu simply because I know I'll never go looking for anything in the start menu that I install. This all worked fine while I was running Vista however after sshot-2upgrading to Windows 7 I found all the entries in the start menu gone. Yet when I navigated to the folder using Windows Explorer I found that all the folders and shortcuts still existed.  So after a bit of experimentation I found that by grouping the folders in start menu into groups such as 'Dev Tools' or 'Sys Util' I found that by reducing the number of item in 'All Programs' on the Windows menu that the Start menu was then able to display all the shortcuts. I'm not sure what the maximum number of entries the Start Menu can support is but 54 was fine for me.

If you right click on the 'All Programs' option in the Start Menu you will get a context menu that allows you to open the folder that holds the start menu folders for your account and an option to open the location for all users. You will need to check the number of items in both locations as both locations contribute to the total number of items in your start menu.

Launchy is an open source program and has builds for Windows and Linux, I first learnt of Launchy from the book 'The Productive Programmer' and would encourage you to give it a go as I've been using it for a while now and I've been really pleased with the program.

posted on Monday, 01 June 2009 22:00:03 (GMT Standard Time, UTC+00:00)  #    Add Comment | Comments [0]
 Wednesday, 06 May 2009

mockup You've all heard the phrase "a picture says a thousand words" and when it comes to someone describing how they want their screen to look like nothing could be more accurate. If you've ever sat with a wordy document and tried to work out how the screen should look you'll know what I mean. This is where screen mock-ups become invaluable. Screen mock-ups have been around for ages and there are a number of packages that facilitate their creation. For example Microsoft's Visio Professional edition comes with high quality shapes for modelling a windows interface.

However many of the available tools have felt cumbersome when first planning an interface. Since I first started developing software I would scribble my ideas for a layout on any scrape of paper that came to hand. In fact lost of things have been design on the back on napkins such as Compaq's first portable computer, see 7 Brilliant Ideas on Cocktail Napkins and Toilet Paper for more examples.

When scribbling an idea down like this the thought can flow freely from your head to the paper and this is what I've always missed when designing screens on a computer. But recently I started playing with Balsamiq. This is a very simple tool from as they put it 'a couple of guys in a studio' and it's awesome! The thing that won me over so quickly is just how simple and unobtrusive the software is. It feels as close as you'll get to scribbling your ideas for a screen down on scraps of paper.

Check out this video on YouTube showing Balsamiq in action! Also checkout the web site that has loads of examples


The really cool thing about these mock ups is the simplicity, by being so simple people are free to focus on what data they want on the screen and where this should be placed thus avoiding be dragged into a needless discussion in the preliminary stages on what font face should be used.

Now this isn't the end of the story along with the ultra cool minimalist desktop version Balsamiq has versions for Confluence, JIRA and XWiki. You can see how if you have these tools developers can edit the screen mock-ups within a web browser using the Balsamiq plug-in.



You can see how this really helps in communicating ideas about the design of the UI and therefore save you time and allow you to deliver a UI that matches what the customer wants.

Balsamiq is always improving take a look at the company's blog to keep up-to-date with the latest developments. Also check out Mockups To Go, this is a collection of user contributed ready to us UI components and design patterns built using Balsamiq mockups. To give you an idea of what's on offer the screen shot below shows a sample of some various web parts that are available.


posted on Wednesday, 06 May 2009 18:25:23 (GMT Standard Time, UTC+00:00)  #    Add Comment | Comments [2]
 Saturday, 02 May 2009

Check out it's Microsoft's online translation service which allows you to translate text on their site and also add the functionality to translate your own site, I've just added the drop down list to my blog so you now have the option of reading my blog in your own language, sorry if our language isn't available yet.

posted on Saturday, 02 May 2009 13:38:00 (GMT Standard Time, UTC+00:00)  #    Add Comment | Comments [1]
 Monday, 09 February 2009
Most of you probably have heard of, or even used Camtasia, it's a wonderful product with many nice features. I really liked how the camera would automatically zoom in and out as I entered text in a web form. However no matter how nice Camtasia Studio is, it's well out of my price range for all the uasge I would make of it. However I've just found an alternative in the form on CamStudio.

It's a open source implementation of a screen recorder that includes some nice features such as defining an area of the screen which the camera should stay focused on. Most importantly to me is the ability to convert the AVI captured video to a SWF that can then be embedded in a web page. This is the tool I used for my previous post on Windows Mobile Internet Connection sharing.

posted on Monday, 09 February 2009 15:11:55 (GMT Standard Time, UTC+00:00)  #    Add Comment | Comments [0]
 Thursday, 29 January 2009
Do you have a Windows Mobile based phone and a Windows laptop? If you do you can very easily have high-speed broadband on the go. Simply connect your phone to a USB port and follow the steps shown below to activate the "Internet Sharing".

It is also possible to use Bluetooth to achieve this but I prefer the USB option as this gives your phone the opportunity to charge while connected to your laptop.
posted on Thursday, 29 January 2009 14:19:50 (GMT Standard Time, UTC+00:00)  #    Add Comment | Comments [0]