Category Archives: linux

Solution: No popup for Skype Incoming Calls

I recently updated my Ubuntu setup, which involved upgrading to 14.04 and also moving my monitors/laptop screens around. An unwanted side affect of this was that when I was receiving an incoming Skype call I wouldn’t see the usual popup alerting me. This meant that although I could hear the ringing, I could not answer the call. The issue was that the popup was appearing off screen rather than it not appearing at all. A quick search led me to this post on the Skype forum that mentioned a solution through modifying the ~/.config/Skype/Skype.conf file. This file (or mine anyway) contained lines that look like this;

position=@Point(58 400)

By modifying the values I could easily adjust where the call notification would pop up. There’s also a handy Test Event button in the Skype Options tool which means you can simulate the incoming call to see where the popup appears.


Salesforce Meetup – MavensMate

As my final days at EE come around, I’m starting to make some headway in getting to understand more about the architecture and nuances of frontend development and the associated frameworks. Hand in hand with this education also comes an implicit syllabus relating to the development workflow, and in particular the tooling that’s available. I wrote about a JS tooling workshop I attended in this post and this week I attended one of the Salesforce developer meetups and there we also covered tooling, specifically David Helmer talked about MavensMate and how that can be used in Salesforce development.

Like the previous events that I’ve attended the meetup was held at the Make Positive offices and once again they were great hosts and sponsors, supplying beer and pizza, just what the doctor ordered.

Mavensmate is a plugin for several IDEs, most commonly used with sublime but there are plans to also include support for too in the near future. Essentially it gives developers an open source, apex IDE.

Primarily built and supported by Joe Ferraro it’s a cross platform tool that gives Salesforce developers a tool to match those available to developers who are using other languages such as PHP and JavaScript.

David kicked off his talk by announcing that it’ll take the form of a live demo…. there was the inevitable feeling in the room that we could be in for some good-ol squirming. What followed though was anything but, thanks it seems to the wonderful features of, not only Sublime Text, but also Mavensmate itself.

Demonstrations of many features were presented. Key ones (read those that I made a note of and can remember) were;

  • It’s open source… pull it and contribute
  • Editing and compilation of apex code (via platform)
  • Resource bundle handling and uploading
  • Templating
  • Auto completion of functions and variables
  • Apex Testing – And whilst your tests are running there’s a whole host of games you can play (pacman etc), genius
  • Anonymous apex (exec) – runs ad-hoc code platform.
  • Project meta data can be pulled down viewed
  • Fetching debug logs

See the MavensMate documentation pages for more information.

I had tried previously to get MavensMate running in Sublime Text 3 on Ubuntu, but without luck… but I’ll certainly be trying again and will contact Joe if I’m still having issues.

Sadly I was unable to hang around and chat with the other Salesforcers, they’re a good bunch and it was a shame not to catch  up with them… hopefully next time.

Easy coloured tail output

As part of my job I’m often watching the output of a tail -f <filename> command run down my terminal window… and on my development and quite testing machines this is all well and good.

But what if the system is a pretty busy one? Well here it can be hard to spot the messages that might be of interest to you. And that is why I use a little trick to highlight a specific word in the output.

How to highlight words in tail output?

1) Basically add the following lines to your .bashrc  file

  tail -f $1 | perl -pe 's/'$2'/\e[1;31;43m$&\e[0m/g'

This adds a function available to you in bash that can be then be used to do exactly what you want. Say for example you want to highlight all instances of Error when tailing a file called foo.txt you can run the following.

ctail foo.txt Error

Rebar/Git Error and Solution

Just a quick one… for my benefit as well as perhaps yours.

I was trying to use rebar to pull in the dependencies on one of my Erlang projects but it kept failing with the following type of output;

fatal: could not read Username for '': No such device or address

I believe rebar doesn’t know how to ask for github credentials and I solved this by using the git credentials helper.

git config --global credential.helper 'cache --timeout=3600'

Ubuntu 2d – Some tweaks

Recently my install of Ubuntu on my work desktop started complaining about now being out of support… so I decided to upgarde to the latest LTS version (Ubuntu 12.04). Overall the install went fine apart from a couple of little things that I needed to address

Desktop size to big for Unity 3D

Sadly my graphics card did not support running Unity 3D across my dual-head setup (2 x 24 inch monitors). This, I didn’t feel, would be too much of an issue as I wasn’t too interested in all the desktop eye-candy. All I did here was then choose the Unity 2D option at the login prompt.

The 2D setup itself was not hassle free though;

Quick Synergy, Very Laggy

I noticed that for some reason the usually great Quick Synergy (which I highly recommend if you want to share mouse/keyboard across multiple PCs… including different OS) was very laggy. This was not the case if I used Unity 3D in mirrored monitor mode or if I used any of the other Gnome desktops at login. I had no luck in finding a solution to this… that was until I decided to solve my next issue… read on for the Quick Synergy lag issue solution.

Terminal Window Always on Top

I found that the Terminal windows always remainded on top (in front of) other windows I had opened. Now I’m the kind of guy that uses the Terminal a lot, so this was going to be a show-stopper if I couldn’t find an answer.

After a brief search I came across this link which details a solution. In essence it just tells you to disable metacity from being the composting manager (and how to do it too).

I’m not sure what adverse side-affects might be suffered from this… so far I’ve not noticed any. One good bi-product of this chnage though was that Quick Synergy sped right back up again and became super-responsive once more… WIN!

Ubuntu & Windows 8 Dual boot on Asus ux31a

Having been in the market for a new lightweight laptop for some time I pounced on the Asus ux31a Ultrabook when it dropped £300 last week (it has since gone back up to its original price). And being an avid Linux fan the end-plan was to wipe the pre-installed version of Windows and have the whole thing running Ubuntu.  When it first arrived though I thought of trying out a dual boot of the stock Windows 8, which I can have a play around with, and also the recently released Ubuntu 12.1o. This wasn’t completely plain sailing as I ran into some issues with the booting of the live USB… anyway, these instructions document what I did to solve the problems I was having and led me to having a running system.

Creating the Windows 8 Recovery Disk

I essentially followed the instructions here but have added some screenshots here too as they show what my system looked like. NOTE: I have not tested my recovery disk

Bring up the run dialog by pressing the key combination [WinKey]+[R] and enter the command RecoveryTools, then OK

In the next Create Recovery Drive window check the Copy the recovery partition from the PC to the recovery disk and click Next

The next window to appear asked me to choose the destination device… I only had the one USB drive inserted so this was the only option.

The process took quite some time (at least an hour) and ended up using just shy of 10GB of space on the USB drive.

Decrease the Windows 8 Partition Size

The next task was to reduce the amount of disk space the Windows 8 was using so I could free some space for the Ubuntu install to sit alongside. Since my dual boot setup was to be fairly temporary I took the option of just using the majority of one of the 2 SSDs for Ubuntu.

Again I brought up the run dialog by pressing the key combination [WinKey]+[R]. I then then entered the command diskmgmt.msc, then OK to run Windows built in Disk Management tool.

This is what the partitions looked like out of the box.

I simply reduced the partition on the 2nd SSD (D) by 97280MB (95GB) which left me with this;

Trying and Installing Ubuntu on the Asus ux31a

Now comes the fun bit… and also the bit that caused me to run through some trial and error steps. Oh, I won’t go into details about creating a bootable Ubuntu USB as this has been covered many times.

So anyway, I plugged the USB into the ux31a (which was off) and pressed the power button. Then, holding down [esc] to enter the boot menu, I saw the options to boot from the USB drive (prefixed with UEFI which is some secure boot stuff… this is what foxed me). After clicking the option to boot from the USB I was given Ubuntu options menu screen which has the familiar Try Ubuntu, Install Ubuntu etc items. However, on clicking any of these all that happened was some brief USB activity and then the screen would go black/blank… nothing more.

After some hunting around I found an option called Secure Boot from within the BIOS Security tab in the BIOS setup (which you can get to by holding down [esc] during boot. This setting was originally set to Enabled so I swapped it to Disabled then saved the changes, exited the BIOS setup and the rebooted. This time, after clicking Try Ubuntu I was greeted by more USB activity and then a running Live Install instance of Ubuntu… perfect!

I then ran the Ubuntu install making sure to check the Install Ubuntu alongside Windows 8 option. This install went without any issues.

Repair the boot of the Computer

I had already read that the first boot back into Windows 8 might fail, which it did due… throwing some UEFI path error. This was no concern as I already knew that this could be fixed by downloading, installing and running the Ubuntu Boot Repair tool. This I did and that fixed my boot into Windows 8 (not that I’ve used Windows again since installing Windows).

Other Small Tweaks

Getting USB Ports Working Again

I had noticed that when I plugged in USB flash drives that they won’t showing at all. It wasn’t that they weren’t mounting (I don’t think) but actually that the ports were not enabled. To get them working again I had to change the “XHCI Pre-Boot Mode” from auto to disabled in the BIOS. Once this was set any devices inserted into the USB ports were auto mounted.

Middle-click Mouse Button with the Trackpad

One other thing I did was to modify the multi-touch settings so that the 3-finger-click was handled as a middle-click on a conventional mouse. I had grown very use to this middle-click for pasting over my time with Ubuntu on my other machines. This setting is handled, quite crudely by having the following in my ~/bashrc file. I know this isn’t pretty but I always have terminal windows open so it does the trick.

synclient TapButton3=2

And that is it… for now… and I’ve got to say I’m really enjoying it.

Ubuntu Software Center Behind a Proxy with Authentication

Just a quick post on how I managed to get my Ubuntu Software Center working at work where I had a proxy between me and the Internet which required username and password authentication.

Security Camera
Image: Jake Setlak 2002

Now really this should have not been an issue I think, since there’s a “Network Proxy” setting in the “Preferences” for Ubuntu but for some reason the Ubuntu Software Center doesn’t seem to take note of this (or the authentication details for username and password at least).

So anyway, this is how I got it working through a proxy on my 11.04 Ubuntu. Basically you need to edit the /etc/apt/apt.conf file with a line like the following and replacing user, pass, host and port with the relevant dertails.

Acquire::http::proxy "http://user:pass@host:port/";

Hope this helps.

The Developer’s Linux Setup

A quick foreword, this is how I’ve got my relatively new Linux setup running so please, please leave comments to let me know what I’ve overlooked.

As someone who flits between different computers it’s nice to have a common set of tools to help me as a developer… and have a new Ubuntu setup in my home office I thought I’d document those which really help me in day to day work etc.

Development Tools

SciTE – As an all-round editor I just love SciTE (and it’s fun to say it’s name too). It’s a no-nonsense editor with a vast amount of languages supported.

Eclipse – OK, so I don’t really like eclipse but as a tool for developing for Android it does it’s job just fine.

Firefox – Yup, an excellent browser which also hosts some excellent add-ons (Firebug, Web Developer, ColorZilla)

Designer Tools

Balsamiq – For wireframing websites, web apps and mobile applications Balsamiq is pretty good.


Tweetdeck – What can I say about Tweetdeck apart from it’s a brilliant client for Twitter and Facebook.

Skype – The current Skype client on linux is a little ‘clumsy’ in my opinion and is a fair few releases behind it’s Windows counterparts. As a basic VoIP client though it’s second to none.


Adobe Air – This cross platform runtime environment enables you to take advantage of some really super tools and applications.

Dropbox – This is just one of the dandiest apps around… brilliant cloud based storage with cross platforms clients. If you haven’t got it yet what are you waiting for… go get Dropbox now!

EvernoteEvernote is a brilliant cloud based note taking and management app

Filezilla – A few linux fans might not appreciate me mentioning GUI (s)FTP clients such as Filezilla but as an ex-Windows user having familiar tools to winSCP makes the migration much easier.

How to get Dropbox on Linux Working through a Proxy

I was recently a little stumped on getting Dropbox working on my Ubuntu 10.10 install (Maverick Meerkat) through our corporate proxy…. having got it working though I thought I’d share with you.

Dropbox Logo

In a terminal start Dropbox with the following command.

dropbox start
Starting Dropbox...
The Dropbox daemon is not installed!
Run "dropbox start -i" to install the daemon

This tells us that the Dropbox daemon needs to be installed… so run the command as suggested

dropbox start -i

This will start the installer and if you have a proxy in the way then this process will throw you an error. What you need to do is specify the proxy settings (including username and password. For some reason setting it via Gnome (System->Preferences -> Network Proxy) does not seem to work and we need to set the Environment variable http_proxy.

export http_proxy=http://username:password@proxy:8080

If you re-run the dropbox start -i command now the install should proceed as required and you’ll have a nice working install of Dropbox running. Note also that during installation it is possible to set the Proxy information that will be used by Dropbox for everyday running so there is no need to put the previously mentioned export command in your .bashrc file.

[jbox color=”blue” vgradient=”#fdfeff|#bae3ff” title=”Get Dropbox”]If you haven’t got Dropbox yet go grab it from here.[/jbox]