Correcting Anypoint Studio Display Scaling (Windows)

On a recent reinstall of Anypoint Studio I found the IDE really doesn’t scale well on some external monitors, but luckily there is a simple fix…

Recently I had to reinstall the MuleSoft IDE, Anypoint Studio (v7.12.1), on a clean Windows build and I noticed when I started Studio that it looked very “big” on my external monitors compared to my laptops screen. The icons were big, the text was big and all that extra space they take up means you just cant’ see as much at once. Either you have to make your palette, explorer, properties (etc.) panes so much bigger that they encroach on your flow design pane or you just accept that they get truncated.

With default scaling, the text and icons are massive, meaning you either expand the palette, explorer and properties panes to show the content, reducing the space left for your actual design work, or you have a LOT of scrolling to do any time you want to find something in those panes.

For context, the laptop was a Surface Laptop 3 which had just been “migrated” back from Windows 11 to Windows 10. According to wiki, that means the 13.5″ internal screen has a resolution of 2256 x 1504, at 201 PPI. Since my external monitors were 22″ with an HD (1920 x 1080) resolution, I assume this is caused by Eclipse (which is the base of Anypoint Studio) not adjusting correctly when I move Studio from my main, internal display to the external monitor.

How to fix the scaling issues in Anypoint Studio

There is a fix to this, although it’s not perfect. The display seems to be much better if you override the “High DPI Scaling” behaviour for Studio. To do this:

  1. Find the AnypointStudio.exe file in your Studio home directory, right-click and open Properties.
  2. In the Compatability tab, under the Settings section click “Change high DPI settings”
  3. In the dialogue that pops up, tick the “Override high DPI scaling behaviour” box and select “System (Enhanced)”.
Using the System (Enhanced) High DPI scaling option gives you much more sensibly sized text and icons, enabling you to see more at any one time and have that vital extra real estate for your flows. In this image the flow pane is a little bigger where I’ve reduced the size of the other panes around the edge, but you can also fit much more in those edge panes. If I were to reduce the size of those panes to show the same content as before you’d have even more room in your main design pane, but this seems like a good compromise.

Et voila. It does produce this interesting tiling in the splash image when you’re loading up Studio, which is not inconsistent with MuleSoft’s general approach to testing Studio on Windows I suppose, but that is significantly preferable to the default “giant text and icons” on the external monitor.

Anypoint Studio splash screen, tiled in a 2x2 layout.
This fix/workaround does solve the display issues in Anypoint Studio but this ‘bug’ in the splash screen does rankle a bit!

If you’ve found another way to resolve this issue please let me know in the comments.

Anypoint Studio – Runtime (and logs!) location

When you’re deploying and running a MuleSoft Mule Application in Anypoint Studio, it’s not immediately obvious where on your local machine it runs. Often this won’t matter, but when you are trying to build/deploy an application and the only error you get in the console is “check the logs”, maybe it’s time to find out where they live.

This happened to me when I received the following error (and very little else) when trying to deploy a simple application (you know the kind Mule support always ask for when you raise a support ticket?).

Failed to deploy artifact '<myApplication>', see +
artifact's log for details +

You might think the Mule Runtime would be under your AnypointStudio installation but this isn’t the case. Instead, Anypoint Studio executes a temporary instance of Mule Runtime which is located inside your user folders. On my Windows machine this is at

In the above folder, there are all the folders you’d expect to see associated with a Mule runtime – including a folder called logs. In this case, the <myApplication>.log file shows that my HTTP listener couldn’t bind to port 8081. It might have been nice to bubble this up to the main console, but at least I got there.

Avoid PayPal Foreign Exchange Fees

For those of us who don’t like being ripped off (and who does, exactly?) the thought of PayPal’s fees are a good reason not to use the service.  However I (residing in the United Kingdom) currently have a need to pay an individual in France €100 (say, for sake of argument, I’m buying off eBay or renting a holiday villa) and have limited options:

  • Pay my bank £10 for a SWIFT transfer – (since €100 is approx £78, that’s a hefy commission!)
  • Spend 3 days trying to count up the fees I (or the recipient) would pay with PayPal – 3.5% standard fee, assuming a minimum additional 3.5% for the currency exchange (on top of whatever exchange rate they decide to use?) and possibly a cross-border fee as well?
  • Use another service like – this is cheap (£1 for my transaction) and paid into the recipient’s bank account, but as this is not a direct bank transfer I’m not clear if the purchase protection I would otherwise receive still applies, so a bit of a risk there.

I normally use fee-free credit/debit cards (like Halifax Clarity or Supercard) to avoid foreign exchange fees, but using PayPal in the past I thought the only option was to use a UK Sterling card and let PayPal convert into Euros, meaning you’re subject to even more extortionate fees than your bank will charge!  However, despite PayPal’s needlessly over-complicated fee structure I’m thinking it is the way to go here as I think I can discount both the currency exchange and cross-border fees.

Firstly, the easy one: PayPal have a small note at the bottom of their “Cross Border Fees” table which states:

“Cross Border Euro or Swedish Krona payments made between Accounts registered in the European Union or EEA will be treated as Domestic Payments for the purpose of applying Fees.”

Happy days? Now about that foreign exchange fee… I’ve learned that it is possible to get PayPal to bill my fee-free card in Euros, hopefully eliminating another chunky fee. The  remaining 3.5% standard fee is clearly more than double the TransferWise fee, but I figure it’s worth it for the added protection (provided by the site I’m buying through, not by PayPal – although there is that too).

Getting PayPal to bill you in your own currency is not easy, but can be done.  All the guides I found explained how to do it on the old site, which has now been replaced.  The same legacy page is still there and active, and still used within your account, but finding it is even harder than it was before.  So here’s what you need to do:

Continue reading “Avoid PayPal Foreign Exchange Fees”

Early Gripes with Sky Broadband

I’ve recently joined Sky Broadband from PlusNet – hey, a year’s free broadband and a £100 pre-paid Mastercard on top of over £77 TopCashBack is hard to turn down!  However, I have already come across two major annoyances – one which I’ve carried over from my days at PlusNet and one which is new.

Screenshot from Sky Hub's Dynamic DNS screen showing a list with a single entry.
What passes for “choice” when you’re a Sky customer

Let’s start with the new one. It turns out, the Sky router (sorry, “Sky Hub”) only lets you ‘choose’ from a list of one Dynamic DNS providers. Since I’m not interested in paying $40 a year for something that I know I can get for free this is not an acceptable solution for me.

So instead I came across this old post on AskUbuntu which pointed me towards a program called ddclient.  This perl-based program will run on my Linux server and update the No-IP service from there, bypassing the router instead.  Not ideal as far as I’m concerned, but workable.

The second issue is one that was also a problem at PlusNet in that, for whatever reason, ISPs these days seem reluctant to let you bypass their DNS servers (cutting their load and doing part of their job for them!) and so remove any option related to this from their routers.  I managed to get round this at one point with Plus Net by telnetting into the router itself and updating the settings manually (not for the feint-hearted!) but this Sky Hub is a different router make so I will need to do a bit more digging on that one.  A task for another day methinks.

Needless to say, Sky and I aren’t off to the best of starts.

Local Home Network DNS – how hard can it be?

So I wanted to do something I thought would be fairly straightforward.  I have a home network with a PlusNet-provided Technicolor Gateway router and behind that I currently have my (Windows 7) laptop and my HP Proliant Microserver running Lubuntu.

In addition to a media server I want to use my Lubuntu box as a development environment for multiple websites, but I want to be able to access each website from the laptop.

Running multiple sites is easy enough with Apache’s Virtual Hosts feature, and I can configure the /etc/hosts file on my server to let me access them locally.  However I want to be able to do the actual work /testing on my laptop (for starters) and have an easy to remember name for each of the virtual hosts.

So here’s what (I think) I need to do:

  1. Install Apache (and PHP/MySQL) and configure the virtual hosts – check.
  2. Set up a DNS server on my server
  3. Configure the laptop to query that server for DNS (preferably through the router config so it applies to the whole network…) let’s come to that later.

Piece of cake, right?  Read on for completion of step 2.

Continue reading “Local Home Network DNS – how hard can it be?”

Switching to Ovo Energy “Greener Energy” – Debacle

On 19th February occurred the latest in a long line of blunders since I first applied to switch to Ovo Energy back in August last year. After running a comparison against my previous providers and the wider market, I decided I would switch to Ovo Energy’s Greener Energy (all online) tarriff.

First Ovo tried to switch the wrong gas account (i.e. not mine!). Because of where I live I am supplied through an independent gas transporter which means I was told it would take 4-12 weeks to transfer. By December I realised that time was now up and still my transfer hadn’t completed. There had been no contact from Ovo in this time to tell me anything was amiss and I was told at least once that I just needed to wait.

Sure enough, after me chasing Ovo, it eventually turned out they’d been trying to move the wrong account. If I recall they asked for my meter number when I signed up, but somewhere this got converted into an MPRN (Meter Point Registration Number) – but the one in my Ovo account wasn’t the one on my bills from my old supplier.

Continue reading “Switching to Ovo Energy “Greener Energy” – Debacle”

Auto-Off Issues with LG NB2520a and PlayStation 3

A couple of months back I started playing my way through Assassin’s Creed 3 on my PS3 again, having barely touched it for most of the previous year – and certainly since I got my LG NB2520a soundbar.  I soon noticed that every now and again (I’m guessing every 30 minutes or so) the soundbar would switch itself off while playing.

This hasn’t occurred with any other game, Blu-Ray or my YouView box as an input and seemed to be specific to Assassin’s Creed 3.  I tried pressing the “Auto Power Off” button to see if disabling this would help – it didn’t.

I then began playing recently began playing DmC – Devil May Cry on the same PS3 and noticed sound issues whereby the sound would cut out for a split second on a fairly frequent basis (every few seconds at times) and did some Googling on this.  It looked like this was something to do with the audio output options on the PS3 and was a fault in the game rather than the soundbar (if I turned off the soundbar and played the audio through the TV it still did the same thing).

Given the tip about sound output formats, I tried playing with these and I soon discovered that the issue disappeared if I went intot he PS3’s Audio Output settings and set them to manual to switch off Dolby Digital 5.1 Ch output option .  Unfortunately when I did this, DmC started suffering from the same problem as AC3. D’oh!

So my conclusion is that the LG NB2520a really doesn’t work well with DTS sound, at least not coming from a PS3, as I don’t think switching off every 30 minutes is good behaviour.

At the minute the only thing I can think of to fix this is to disable DTS 5.1 Ch output option for Assassin’s Creed 3 (haven’t tried this yet but will give it a go next time I play) and to disable Dolby Digital for DmC and accept that the soundbar is going to switch itself off every now and again.  Not exactly ideal but marginally better than having the sound cutting in and out.

What I’m wondering now though is… since the soundbar only outputs 2.1 sound, is there any reason not to just disable both Dolby Digital and DTS and use the PCM 2.1 sound?

Android Studio Debugging with Nexus 4 Google Driver

Recently I’ve been thinking of dipping my toe back into the world of Android app development and discovered that there is a new IDE on the block in the form of the Android Studio.

I installed this on my (Windows) machine, which isn’t a speed demon by any stretch of the imagination, and tried to run a “Hello World!” program on the emulator but it was taking 10 minutes for the emulator to start and it was still just showing the android boot screen, so I decided to try it out on my Nexus 4.

I followed the standard advised steps, enabling USB debugging and setting the USB mode to PTP, but the phone didn’t appear when I connected it and went to Run the package from Android Studio.  Further, the drivers wouldn’t install properly.  Advice seemed to be to go to Device Manager and install from <sdk>\extras\google\usb_driver\ – but there was no usb_driver folder there.  However you can  install this from the “SDK Manager” from the Android Studio toolbar.

Screenshot of Android Studio toolbar highlighting SDK Manager button
SDK Manager button on Android Studio toolbar

This will open the SDK Manager which seems to contain optional components that you can install alongside the Android Studio.  In this case I was looking for the Google USB Driver which is listed under “Extras”.

Continue reading “Android Studio Debugging with Nexus 4 Google Driver”

Updating Subversion on Lubuntu 12.04

I’m trying to get reacquainted with Subversion having not used it since my student days and was happy to find it was already installed on my Lubuntu 12.04 (either by default or because I’d previously installed it).

What I didn’t immediately realise was that the version installed was neither the latest (1.8) or the latest stable (1.7) version, but 1.6.  (You can check the version of the installed SVN server using the command svnadmin --version

Since I have automatic updates on I thought that was a bit strange so got to Googling and came across Kovstantin Kovshenin’s post Subversion 1.7 on Ubuntu 12.04 which helped.

Essentially I needed to add a couple of lines to my /etc/apt/sources.list file to reference a PPA from launchpad.

deb precise main
deb-src precise main

and then update subversion using apt-get at the command line:

sudo apt-get update
sudo apt-get install subversion

This is the point in the instructions where I hit a problem, getting the error message:

W: GPG error: jaunty Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY XXXXXXXXXXXXXXXX

Where XXXXXXXXXXXXXXXXX is a string of hex characters. The solution, as described here, was to update the list of GPG keys stored by Lubuntu using the command

sudo apt-key adv --keyserver --recv-keys XXXXXXXXXXXXXXXX

Doing this and repeating the update commands above solved my problem, and rerunning the version check presented me with:

svnadmin --version
svnadmin, version 1.7.9 (r1462340)
compiled Apr 6 2013, 21:23:46

Swap UK Keymap for US on Lubuntu using XRDP

OK so my home server is up and running at my new place and I have been tinkering, installing Ruby etc. and as I started writing a bit of code I realised I couldn’t tolerate the getting a US keymap any more.

I hasten to add that this problem only occurred when I logged in over Remote Desktop so I figured it was something to do with XRDP – and I was right.  Thanks to a very useful post at Component Parts, I was able to update it in just a few minutes.

Just download the keymap file (km-0809.ini) into the XRDP keymaps directory – /etc/xrdp/ – and then run:

sudo chown xrdp.xrdp /etc/xrdp/km-0809.ini
sudo chmod 644 /etc/xrdp/km-0809.ini
sudo service xrdp restart

I suspect you’ll want to log out of Remote Desktop and use a shell client like PuTTY for that last part – I assume if you restart the xrdp service while you’re connected to the server, you’re gunna have a bad time!