If you have software or device (relay server, fax machine, email client etc) connecting to Gmail via IMAP or SMTP and it stopped working in June or July 2016 then its because Google discontinued support for SSLv3 and RC4 – the solution is to change your connection properties to use TLS.

This is the official Google announcement and reminder.

The solution is to, where possible, change your software or device’s connection to use TLS instead – you will have to consult the device or software manual for how to do this, some common ones are listed below.

  • Outlook 2013/2016 – in Email accounts look for More Settings > Advanced change “Use the following type of encrypted connections” to TLS
  • Thunderbird – look for TLS in connection security.
  • IMAPX (.NET library) – change to System.Security.Authentication.SslProtocols.Tls (error is “ImapX.ImapException: dont connect”)

If you’re device/software doesn’t support TLS then you’ve got problems.

For reading mail – get something else!

For sending email – you can setup an email gateway to deliver it or send it to a relay that will then send to Gmail via TLS.


Googles official help page for setting up email clients.

Googles official dashboard showing service status.


So its a Sunday. I worked Saturday. I’ve got something to finish for Monday. Really not in the mood for any hassles. Which is the perfect time for one of those totally inexplicable and massively irritating PC errors to crop up and spoil any chance of progress. Damn these computer things annoy me – I mean you would never put up with this sort of behaviour from your TV or fridge, they would be in a skip by now.

Sigh VMWare Server 2.0 won’t start – look in event logs and find

The VMWare Host Agent service Terminated with service-specifc error %%-1

Helpful. Check the VMWare log files – where the hell are they hidden now? On Windows 7 (and presumably 2008 R2)  its the hidden directory

c:ProgramDataVMWareVMWare Server

In the latest hostd-*.log file I see a PANIC!

Yup, no kidding.

[2010-10-03 11:39:05.562 'App' 5692 panic] error: not well-formed (invalid token)
[2010-10-03 11:39:05.562 'App' 5692 panic] backtrace:(backtraces not supported)
[2010-10-03 11:39:05.562 'App' 5692 info] Win32 service stopped
Speaking to it calmly and slowly didn’t help but Google did turn up this post about about errors starting up from mangled xml configuration files with VMWare. So opening up each xml config file in turn from
c:ProgramDataVMWareVMWare Serverhostd

and it turned out that datastores.xml was empty – wtf?

I deleted it and restarted VMWare Host Agent service and it started up ok – WTF!?

Datastores – so that will be where VMWare stores the VM’s so have to reset that again and I discover that Windows 7 (presumably during one of the almost daily forced updates)  has decided to remap my V: drive (Virtual Machines, geddit?) to D:


So between Windows remapping drives and VMWare feaking out if it can’t find the folder location for saved VM’s (what about a “can’t find file” dialog VMWare?) that’s 2 hrs of my Sunday gone.


From the BBC news website – Living without money and swapping skills

So if someone told you there was a way to claw back some of those treats that eat into your disposable income, you would probably jump at the chance. Well, actually there is a way, and it is older than money itself.

It used to be called barter – exchanging your goods and services for someone else’s – but today it is more commonly known as ‘swapping’.

… allow people to build up credits by doing favours for others and then cashing in those credits at a later date.

Swapping and bartering allows everyone to get goods and services without spending any money.

I just can’t get over the dumb ass-ness (my new word of the day) of this story – the journalist and their editor should be ashamed.

So you ‘barter your goods and time to others in exchange for something called credits. You can then ‘swap’ other goods and services for those ‘credits’

or re-writing that sentance

you sell your goods and time to others in exchange for something called money. You can then ‘buy’ other goods and services for that ‘money’

Yes thats right – MONEY is just a convenient way of keeping track of CREDITS. Cash has no value in itself – its value is that you can SWAP it for other things.

We used to use beads and sea-shells instead of cash, but they don’t fit in your wallet very well and tend to jam up ATM’s.


Ryan on May 29, 2010

Its that time again – upgrading OS. This time to Windows 7.

I figure its been long enough now for the serious kinks to be worked out and I’ve been putting it off long enough. Its not the installation itself that is hard – mostly its a simple as bunging in a DVD, selecting a few options and waiting 30 mins – but installing all the pograms I use and tweaking everyting so its just so will take about a day. I know that you can do an ‘upgrade’ install but long experience has taught me that anything but a ‘clean install’ is a recipie for anger, suffering and hate…

Anyway – a list of programs I use, as much as a note for myself for when Window 8 comes around.

A quick tip fist though – when doing this sort of ting you will invaribably forget to copy off some data that you need or there will be a program that you can’t get working right or maybe something that you use once per year that you really can’t be bothered installing again. I use the free VMWare Converter to convert the physical macine to a virtual machine and store the VHD on a USB drive – if I ever need to get/run someting from this old machine I just boot it up using the free VMWare Server – a nice saftey net.

General Programs

Most of these are opensource, free or donationware but do be careul and check the options so you don’t inadvertantly install crapware like Yahoo toolbar, registry cleaners or that oh so helpful desktop shortcut to eBay (however would you find it otherwise?)

Google Chrome browser – most day to day browsing, so much faster than IE/Firefox and working with downloaded files that doesn’t suck (yes Firefox, looking at you!)

Dropbox – The easiest way to sync files between computers and people, just works.

LogMeIn – Free and easy remote access, just works but they have recently started push the paid upgrades a little harder.

FoxIt Free PDF reader – because Adobe Acrobat reader is so bad it both sucks and blows.

Paint.NET – free basic image editing tool.

Snagit – easy screen capture – yes you can use CTRL+PRINT SCREEN and Paint.NET but this just makes it a little easier.

VLC Media Player – fast lightweight media player that works with just about everything. No computer I own will ever be subjected to running Quicktime or god forbid Realplayer.

Defraggler – seems to do a much better job of defragmening that Windows built in tool especally if you work with large and/or hevily framented files (VHD’s for example)

IZArc – great freeware zipping tool

UltraMon – If you have a desk that looks like mission control.

Virtual Clone Drive – make a virtual drive from an .ISO image so you dont have to muck around burning stuff to DVD just to install it (if you even have a DVD drive in your laptop any more). This really really should be built into Windows.

WinDirStat – figure out what the hell is using up that enourmous 500GB hard drive you thought would last forever.

PasswordSafe – you don’t use the same password for everything, do you?

And of course your office tools of choice – for me its Microsoft Office.

Any killer tools i’ve missed? Next up its developer focused tools.

Ryan on October 22, 2009

Microsoft have possibly the most comprehensive and generous partner program of any technology company. Unfortunately, just like Microsoft its self and any large organisation the program has become so big and so complex that its overwhelming.

Empower or Bizspark? Action Pack or Certified? Which specialisation – ISV,Small Buisness, Custom Development . How to get points? What bout the bonus points? which points categories are exclusive? etc. etc. etc.

The partner program site has long been regarded (even by Microsofties) as a a little impenetrable – but today something happened that had me banging my head in disbelief. I am not going trying to scrore cheap points by bashing Microsoft here – after all its just like any company, they do some things well, and some things badly. I am just venting with a little bit of hope that someone in Microsoft will read this who knows who to contact that can get someone to get permission to someone else to authorize somebody to make a small change…

So the story :-

To get to the Certified Partner level the most appropriate path for an ISV is the “ISV/Software Solutions Competency” – marvellously straight forward so far and a handy guide to boot!

Part of that process is to get your software certified. There are different options but the most appropriate for many is the “Platform” Tests for ISV/Software Solutions and Hosted Solutions Competencies. In my case the two relevant parts of this test are Windows Server Component & Managed Code.

Now keep with me here – the “Windows Server Component” test is actually the “Works with Windows 2008” test.

So you think that passing this you can use the nice “Works with Winodows 2008”  logos, right? Well no.

Now the Platform Test for ISV doesn’t automatically let you use the logos, its a separate process for that.

“ISVs that select the Windows Server foundation component of the Platform Test for ISVs and pass without any waivers, are eligible to participate in the Works With Windows Server Logo program and receive the “Works With Windows Server Logo”

So you have to submit it twice, a bit daft but no biggie. (I defy anyone without prior knowledge to figure this lot out first visit.. or maybe I am dumb?)

The process for the “Works With Windows Test” is itself actually very well done – you load the testing tool on a server, it verifies all sorts of requirements such as UAC enabled and looks for many common problems in MSI files. You install your software, run it and then unintstall it. It then verifies you’ve not borked anything on the OS and cleaned up after yourself. All the things that customers worry about. Finally it creates a submission package to send to Veritest or Wipro for further tests and validation. All in all pretty neat and the testing is much more comprehensive than previous versions of the Works With program.

So here’s the rub though

A) For “Windows Server Component” part of the ISV Platform test you set test Windows 2008 system and test your app. Run the test and submit for verification. (At least until Dec 31st 2009)

B) For “Works With Windows” test you must after July 15th use Windows 2008 R2 RC and repeat the exact same test as A and submit again for verification.

Yup that’s right – during the strage period of July 15th to Dec 31st 2009 you have to do EXACTLY the same test on two different operating system for absolutely no reason I could fathom. Why can’t the changeover dates between 2008 and 2008 R2 be the same for both testing programs?

Confusing? Yes. Totally unnecessary? As far as I can tell. Frustrating? Oh yes!

P.S. Thanks for Julia, Padraig and Yu at Veritest and Paul on Microsoft’s Windows Server Logo Program team for your help and putting up with my whining.

Ryan on September 27, 2009

I’ve been using WordPress for a little while and whilst its generally very good at what it does I do get frustrated by limitations in the editor.

The two things I miss the most are being able use tables and to set styles such a “Quotation”, “Note Callout” in the same way that you do in something like Microsoft Word so you can keep the look consistent across the whole blog.

(Note you should use existing markup like Paragraph, Heading 1…2..3, Quote etc when suitable as it helps with SEO)

Choosing a style in Microsoft Word

Choosing a style in Microsoft Word

This is all quite easy to do using CSS and classes – but you have to start editing the HTML manually and I want to make it easy for non-technical users when editing a post.

TIP – Keep your sanity and NEVER paste documents from Word into WordPress (even using the Paste from Word cleaning tools) . If you look at the HTML generated it will be full of useless cruft that will make trying to apply a consistent look a nightmare.

The editor WordPress uses is called TinyMCE, but it hides some features from view for simplicity. You can use other editors such as CKEditor (see FCKEditor wordpress plugin) but for this article I am going to use the Tiny MCE Advanced plugin to allow you to use the full feaures of the TinyMCE editor.

The rest of this post will walk through installing the TinyMCE Advanced plugin so if you are fimiliar with this then feel free to skip to Better Formatting with WordPress Part II where I will cover how to setup your own styles and give some examples that you can use.

Installing the TinyMCE Advanced plugin to your WordPress blog

Note this is for WordPress v2.8, other versions may be a little different

  • Plugins > Add New
  • Serach for TinyMCE Advanced
  • Click Install (right had side)
  • Then confirm with Install Now
  • Click Activate Plugin
Now choose which extra features we want in the editor by selecting Settings > TinyMCE AdvancedYou can add controls you want by dragging them to the menu bars and remove ones you won’t need. Its tempting to add everything, but you probably won’t need a lot of these and it will just make it harder to find the important stuff.

Buttons I removed

  • Smilies (come on this is a blog not an IM session!)
  • Undo and Redo (I tend to always use the hotkeys)
  • More Tag & Split Page – this is not a printed page, if a user wants to see more they scroll down.
  • Style (This lets users edit CSS inline styles – the whole point of putting this editor in place was to sop this happening and keep a consistent look)
  • XHTML Attributes – if you get to the stage of needing this (e.g. adding click events) then most people will be better of in the HTML view.
  • Insert Image (we’ve got WordPress’s Add An Image button for that)
  • Superscript and Subscript
  • Print – this is the 21st century, give the trees a break already!



Buttons I added

  • Visual Aid
  • Table Tools
  • Styles
  • Quote


One final note – don’t select Import the current theme CSS classes in the CSS classes in most themes are not designed to be used for your editing. Doing so will just fill up the Styles dropdown with lots of useless entries.

import-css-from-themeDon’t select this option!

Now onto Better Formatting with WordPress Part II where we learn how to define our own styles and go through some examples.


Ryan on May 21, 2009

I’ve been using Rimu Hosting for about 6 months now to host various applications (SVN/Helpspot and others) and am very very impressed so far. True they are not the cheapest out there and don’t offer ‘unlimited’ bandwidth (which is the classic marketing lie anyway) but they do give a solid, reliable service. You get what you pay for.

The real ace up their sleeve though is quite revolutionary – they actually employ people that know what they are doing. I mean really know what they are doing.

I’ve contacted them twice with questions (both non-urgent and my own setup problems as I am not a linux guy) and it was sorted out with one email in minutes, literally. Better yet the reply were helpful; detailed, contained helpful links and talked me through what they had done to troubleshoot, find and correct the problem – I really learnt something.

To reiterate, these were not problems with the service they provide, they were down to my lack of Linux/Apache knowledge – they would have been well within their rights to say that it was outside the scope of their support or charge me extra.

The fact that I was astound by this level of support says nearly as much about some of the poor hosting companies out there as it does about Rimu.

Full disclaimer – if you click on this link I get a $15 referral discount, but if you click on this one I don’t.

Ryan on January 7, 2009

ILMerge is an invaluable tool from Michael Barnett at Microsoft Research that can merge multiple assemblies together into a single assembly.

ILMerge can output .NET 2.0 or .NET 1.1 assemblies by using the /targetplatform:v1.1 switch.

At the time of writing v2.8.0626 (26th June 08) has a little problem when targeting .NET 1.1 and running on 64bit Vista.

In the log files you see this when running on x86

Set platform to 'v1.1', using directory
'C:WindowsMicrosoft.NETFrameworkv2.0.50727..v1.1.4322' for mscorlib.dll

But on x64

Set platform to 'v1.1', using directory
for mscorlib.dll

But there is no such dir – .NET 1.1 is only 32bit (though obviously it runs on x64 systems) and the correct dir is


As a result you will see the following in the log file.

AssemblyResolver: Assembly 'System.Web' is referencing assembly 'System'.
AssemblyResolver: Attempting referencing assembly's directory.
AssemblyResolver: Did not find assembly in referencing assembly's directory.
AssemblyResolver: Attempting input directory.
AssemblyResolver: Did not find assembly in input directory.
AssemblyResolver: Attempting user-supplied directories.
AssemblyResolver: Did not find assembly in user-supplied directories.
Could not resolve type reference: [mscorlib]System.Enum.
Could not resolve type reference: [mscorlib]System.ValueType.
Could not resolve type reference: [mscorlib]System.Object.
Could not resolve type reference: [mscorlib]System.IDisposable.
(Missed out a few hundred lines referencing all other mscorlib etc namespaces)
ILMerge: Done.

And although it reports done and does not return an error code you will get assembly loading errors.

Add a symlink (a sort of low level shortcut) directing ILMerge to the correct directory.

MKLINK /D C:WindowsMicrosoft.NETFramework64v1.1.4322

Tags: ,

This seems to come up time and time again and can leave people hairless. I haven’t found a good, simple walkthrough – so I thought I would put together a quick post.

Disclaimer : This post is written from the perspective of a developer setting up a dev/test system. For production purposes you need to thoroughly understand the security implications of all the setting listed below. But you knew that already.

Back in the good ol days you never had any trouble getting apps connecting to SQL Sever. Username “sa” and a blank password and you were good to go 😉 Things are a bit more difficult now…

This particular example walks through installing Windows SharePoint Services on one server (a virtual server, but it makes no difference) connecting to a SQL Server 2008 Express database Instance on another server.

Both servers are using the same domain. This kb 932376 should help if you are running SharePoint and a Database on servers in different domains or no domain at all.

Firstly, install SQL Server on its own instance (lets assume the machine is called SQL2008EXP and the instance is called SharePoint). There’s a whole big process here that involves what is possibly the worlds most complex installer that inexplicably leaves you manually hunting for all the pre-requisites (Windows Installer 4.5, NET 3.5 SP1, Powershell – but that’s all out of the scope of this post). Seriously Microsofties, you have outdone yourselves with this installer!

Grumbling aside – setup a Domain Account (A) that the SharePoint services will use. As usual for service account make it ‘password never expires’ and uncheck ‘user must change password on first login’.

Start Microsoft SQL Server Management Studio and go to Security > Logins, right click and select New Login. Enter your DOMAINUserName (A) that you created above. Select Server Roles and check dbcreator and securityadmin.

Install WSSv3 (SP1 or above) – select Advanced and then “Web Front End” as we want to use SQL Server not MSDE.

SharePoint - select Advanced Install SharePoint - select Web Farm Front End

The SharePoint Products and Technologies Configuration Wizard should start automatically

Select “No, I want to create a new server farm”

Create a new server farm

Fill in the account details that you setup earlier (A)

Configuration Database Settings

Get the follwoing error

Failed to connect to the database server or the database name does not exist.
Ensure the database server exists, is a Sql server, and that you have the appropriate permissions to access the database server.

Now its time to waste 2 hours of your life pinging servers, checking names, passwords, permissions and event logs. Or feel free to skip this step and carry on below :-

SQL 2008 installs in a state that will stop you connecting from a remote server.

This is not done out of badness, but for security.

Start SQL Server Configuration Manager

Expand the SQL Server Network Configuration node and find the Protocols for your Instance

Right click on TCP/IP and click Enabled – do the same with Named Pipes

Enable TCP/IP and Named Pipes

Right click on TCP/IP and click Properties. Select the IP Address tab and make a note (B) of the TCP Dynamic Port

Restart the SQL server service

When you connect to a SQL Server instance via TCP/IP the connection attempt will query the SQL Server Browser service (on port 1434) and find out which port a specific instance is set to listen on. However by default the SQL Server Browser service is disabled. You can now either start it or use the Port number (B) you found earlier to connect directly.

Confusingly the syntax is different to what you may expect – no semi-colons here, use a comma


(If you are using a default instance then the connection will happen on port 1433 by default and you won’t have to enter the port number or worry about the SQL Browser service)

If you have a firewall running you will also have to open up this port number for incoming TCP connections. See Windows Firewall or the Firewall guide for SQL Server 2005

Further reading SQL Server 2005 Remove Connectivity Issue Troubleshooting (most steps applicable to 2008)

Tags: , ,

Ryan on November 5, 2008

For many applications (especially server based applications) its essential to provide some sort of logging for support and troubleshooting.

While logging to Windows Event logs is a good idea if you need to get an administrators attention its not really suitable for detailed logging, and if you have a problem you need to have already been collecting details … lots of them.

There has to be as many different logging schemes as there are programmers. A quick search gives you Microsoft’s Logging Application Block, Apache Log4Net, NLog and Google App Engine Logging – and that’s just for starters. You may even think it would be trivial to roll your own? (You would be wrong of course, developers always underestimate things like this).

But all of these options are lacking in one vital part – what do you do with your logs when you have them? Most require you to fire up your text editor and start jumping around a 10MB text file! Give me a break, my sanity is hanging by a thread as it is 😉

I use Gurock Software’s SmartInspect in some of my software (Email reminders and alerts for SharePoint).

The logging library is very good – fast, feature rich, lots of transport options, easy to use and extremely well documented.  But where it stands head and shoulders above everything else is the log viewer.

It’s blindingly fast, easy to use, clear and has all manner of time saving features – easy navigation, graphs, filters, colours and much more. Yes the software is a few hundred dollars but will more than pay for itself in time savings the very first time you use it in anger.

Take a look – no connection other than a satisfied customer.

P.S. If you are in the software business and want to know how your product can compete with FOSS alternatives then I think Gurock make an excellent case study.

Tags: , ,