JSON editing in Visual Studio 2013 – tip!

Just installed VS2013 on a clean Windows 10 virtual machine, noticed I wasn’t getting the same JSON editing experience I had on my previous VS2013 installation. The colour coding and auto-completion features were missing.

Solved the problem by modifying the installation and including the Microsoft Web Developer Tools:


Now the editor uses colour coding, auto-completes the various brackets, and highlights errors.

OS X: IPython Notebooks on an an external drive with Anaconda

Anaconda, running on El Capitan, only provides access to files and folders under the current user’s home directory.


My Dropbox folder lives on an external drive and therefore isn’t accessible from the folder list. (I actually use a slimline 128 GB JetDrive card from Transcend.. fast enough for my 100+ GB of Dropbox files).

The solution was to create a symbolic link in my Documents folder which referenced the external Dropbox folder.

$ ln -s /Volumes/SDCARD/Dropbox ~/Documents/DB

From Anaconda’s perspective this looks like any other folder:


WCF HttpListenerException

A problem I’ve had for a while:

Running an application from Visual Studio 2013 without administrator privileges and trying to start a WCF service results in a HttpListenerException.

My service host’s URI was http://localhost:8000.


The problem goes away when Studio is started with Administrator:


But that’s a pain for me for a variety of reasons.

I googled and found lots of information on stackoverflow. I tried to use the developer-reserved Design_Time_Addresses solution on port 8732, and then on 8731, but to no avail.

So then I figured how to look for this URL on my PC. From a command shell run:

netsh http show urlacl

Then I spotted the design time addresses URL:


Port 8733 !

So I changed my URI to http://localhost:8733/Design_Time_Addresses and everything worked.

This new URI is only for use when running the service in a debugged session via Visual Studio. For normal runtime use I still use the original URI of http://localhost:8000.

Update: I’m now using the following property to get the URI at runtime:

static public string ServerPath
        string serverPath = "http://localhost:8000";

        if (System.Diagnostics.Debugger.IsAttached == true)
            serverPath = "http://localhost:8733/Design_Time_Addresses";

        return serverPath;

iOS mail signature woes

This morning I decided to update my company email signatures and synchronise them between the MacBook Pro (Mavericks), the iPhone and the iPad.

A couple of hours later I finally cracked it!

The main issue I had was preventing iOS from automatically converting numbers and addresses into links. This is a particular problem when it gets it wrong and doesn’t provide any obvious means of editing/cancelling the links.

First I used an online HTML editor to make my signature:


Then I copied the rendered output to the mail app on Mavericks:


Then I tried emailing myself using the new signature. On Mavericks it looked perfect, but on the iPhone it misinterpreted some of the  information:


In this case just the company number was displayed as a telephone number link. But on one of my other email accounts half of the address was converted to a link while the other half remained as text.

I don’t think it’s possible to suppress this automatic conversion, and I can live with it because usually it works quite well.

My iPhone and iPad problems started when I tried to copy the signature to the clipboard and paste it into the signature box on the settings app:

So, the copy and paste has worked, but it’s not what I want. I’ve lost the font type and size, and nearly everything is blue.

I then tried using the online HTML editor on the iPhone but the rendered output had automatic link conversions on the telephone numbers. Not really a problem but it was still doing things I didn’t want.

Then I decided to try a cunning plan: I sent myself an email with the signature broken into multiple lines, so that no one line appeared to contain a useable telephone number or address:


Then I copied the message to the iPhone’s email signature editor but it lost the font!

Finally, as I was considering giving up, I went back to the MacBook and pasted my signature onto Evernote and split it into multiple lines again. Back on the iPhone I copied the mangled signature  from Evernote to the signature editor:


Progress! Next I edited the signature to remove the line breaks:


And finally an email:


Ok, so the telephone numbers have been converted into links but I suspect I can never prevent that, and since these are telephone numbers then I’m fine with it. But I’ve got my font type and size, and the company number is just a number (not a link), and I’ve roughly got what I wanted.

Then I repeated the last few steps again on the iPad.

There are plenty of iOS apps for making signatures but I really wanted to have the in-built signature working. And now I have it. But there must be a better way, either now or in the future. And once Apple and Google start talking to each other I might even see emails as they arrive without having to restart the mail app on Mavericks.

OS X, Python 3.3, LiClipse

Yesterday I tried to get Eclipse and PyDev installed on my MacBook Pro (running Mavericks). After a couple of hours of struggling I gave up and discovered LiClipse which is a highly recommended system for working with Python and many other languages from the Eclipse framework.

I used a clean OS X Mavericks virtual machine to get my installation nailed down, especially important since I wanted to work with Python 3.x.


Download and install:

  1. Python 3.x.
  2. Java 7.
  3. LiClipse: click the Google Drive link, select the latest version (currently 0.9.6), click and download the OS X file (currently liclipse_0.9.6_macosx.cocoa.x86_64.dmg), then install using all default options.


Eject all download package (DMG) folders on the desktop.

Use Finder and go to Applications, open the liclipse folder, then drag the LiClipse app to the dock.

Run LiClipse. If a software update prompt appears for Java SE 6 then install it.

Accept all defaults when starting for the first time and restart the app.
Select File / New project, then select PyDev/PyDev Project:

Hit Next, then set a project name and click the link to configure an interpreter:


Select the advanced configuration option:


Then select python3.3:


On the next screen make sure all folders are selected:


Back on the new project screen make any other changes – I opted not to configure the Python path – then click Finish:


The Open Associated Perspective prompt may appear – I chose to associate the project with the PyDev perspective:


These Python and perspective settings will be used the next time LiClipse is started for Python projects.

Quick Python test

Following on from the above new I added a new Python file, entered a couple of lines of code, and ran it:







If the debugger is used, for example by stepping through the code, there’ll be an option to switch to another perspective – this should be used for debugging:


This presents more window areas for examining variables, viewing the editor and console output, etc:


After the debugging session is complete the Debug perspective will still be active. To switch back to the original perspective use the menus:
  • Window | Open Perspective | Other, then select PyDev.