Category: Uncategorized

Ubuntu 15.04 — Programming

This is a continuation of my series of notes on my install of Ubuntu 15.04 on my laptop. The full list of posts is on this page. Previously, in the last post, I installed some media programs. In this post, I’ll install the programming tools that I use.


I really like using the Gvim text editor for many editing tasks.  It’s not a full fledged IDE, but it’s great for single files. It’s a simple install from the Software Center — the vim-gnome package.

I have some plugins in my plugin directories and a customized configuration.  So, I restored my ~/.vim directory and /.vimrc.  I changed the directory for the backup files as well.  I have this in my .vimrc:

set bdir=~/.vimtmp
set directory=~/.vimtmp

So, I needed to create a ~/.vimtmp directory.


I use Git for tracking my source code changes for a few projects. I don’t work in it that much, so it is nice to have a GUI for certain things. The git-cola package has done that nicely in the past. Installing it also installs the actual git application.


I used WebUpd8’s repository to install Brackets:

sudo add-apt-repository ppa:webupd8team/brackets
sudo apt-get update
sudo apt-get install brackets

After installing the main application, I installed the “Brackets Git” plugin.

Node JS

I have been doing a bit of web programming, and Node JS seems to come up constantly. For example, everything wants to be installed with bower. I tried to use Bower PHP for a bit, but I quite fighting it. I’ll just install bower even if I don’t have it on my website. I shouldn’t be developing there anyway.

So, this installs: Node JS, the NPM installer, Bower, and Protractor

sudo apt-get install nodejs
sudo ln -s /usr/bin/nodejs /usr/bin/node
sudo apt-get install npm
sudo npm install bower -g
sudo npm install -g protractor

Note: For some reason, the package installs node as nodejs. I had to run the ln command to make a link to node. Bower wouldn’t work without that.

Here are the versions:

$ nodejs --version
$ bower --version
$ protractor --version
Version 2.2.0

I found that version 0.12 is released, and there are some nice instructions for installing that. I didn’t go down that path.


sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer
sudo apt-get install oracle-java8-installer

I installed the Oracle 8 installer because SQL Developer says it needs it.

Soap UI

Downloaded from the Soap UI website. Ran


Note: didn’t use sudo.

To test from the command-line:
/bin/sh “/home/skp/SmartBear/SoapUI-5.2.0/bin/SoapUI-5.2.0”

I got a core dump, so I tried this:

JAVA_TOOL_OPTIONS=""  /bin/sh "/home/skp/SmartBear/SoapUI-5.2.0/bin/SoapUI-5.2.0"

I updated my shortcut with MenuLibre to include that variable:
Installing Soap UI on Ubuntu 15.04

After that, it worked just fine.

JavaFX Scene Builder

Apparently, the Scene Builder from Oracle is gone. Instead Gluon has taken on maintaining a fork of the Scene Builder. They now offer a Linux Deb file on their Download Page.

Ubuntu Make: Eclipse & Android

Since the last time I installed Eclipse, Ubuntu has now come out with Ubuntu Make. So, I decided to give that a whirl.

I ran these commands

sudo apt-get install ubuntu-make
umake ide eclipse
umake android

The only question that it asked was the path where to install…
Choose installation path: /home/skp/tools/ide/eclipse
Choose installation path: /home/skp/tools/android/android-studio

I was a little disappointment. On the Eclipse Download page, it looks like the version is a little behind.
Eclipse Version

After opening Eclipse, I installed the plugins from Help > Install New Software. (using Luna –

  • Collaboration > Command Line Interface for Java Implementation of Git
  • Collaboration > Eclipse Git Team Provider
  • Collaboration > Eclipse GitHub Integration with task focused interface
  • Collaboration > Java Implementation of Git
  • Collaboration > Java Implementation of Git – optional Java 7 libraries
  • Collaboration > Mylyn Context Connector: Eclipse IDE
  • Collaboration > Mylyn Context Connector: Java Development
  • Collaboration > Mylyn Context Connector: Plug-in Development
  • Collaboration > Mylyn Task List
  • Collaboration > Mylyn Task-Focused Interface
  • Collaboration > Mylyn Versions Connector: Git
  • General Purpose Tools > Swing Designer
  • General Purpose Tools > Swing Designer Documentation
  • Web, XML, Java EE and OSGi Enterprise Development > Eclipse Web Developer Tools
  • Web, XML, Java EE and OSGi Enterprise Development > Eclipse Java Web Developer Tools
  • Web, XML, Java EE and OSGi Enterprise Development > Eclipse XML Editors and Tools
  • Web, XML, Java EE and OSGi Enterprise Development > Javascript Development Tools
  • Web, XML, Java EE and OSGi Enterprise Development > PHP Development Tools

Finally, to make developing with Java FX easier, I installed the e(fx)clipse plugin for Eclipse.  Their install page is pretty good and detailed.

I just added two sites to Window > Preferences under Install/Update > Available Software:


On the Install Dialog (Help > Install Software), I picked e(fx)clipse – install > e(fx)clipse – IDE.  Then, I just let it do it’s thing.

I can’t get the 2.0 or the 2.1 versions to install in Luna. I had to install the 1.2 version.

SQL Developer

I downloaded SQL Developer from Oracle’s SQL Developer website.  They are on version now.  I downloaded the “Other Platforms” version.  Then, I used the sqldeveloper-package program to install it.

sudo apt-get install sqldeveloper-package
make-sqldeveloper-package -b output \
sudo dpkg -i sqldeveloper*all.deb

Note: on my first attempt, I got this error:

dpkg-checkbuilddeps: Unmet build dependencies: debhelper (>= 7)

I fixed that with:

sudo apt-get install build-essential


Meld is an important tool for comparing text files. I use it mostly for comparing source code or programming-related projects, so it fell under this category. It’s an easy install from the Software Center.


SmartBear Community: Soapui not starting on Ubuntu 15.04
Stackoverflow: Where is the JavaFX scene builder gone?
Ubuntu Wiki: ubuntu-make
StackOverflow: Installing Bower on Ubuntu

Installing Ubuntu 15.04

Labor Day Weekend made for the perfect time to get my laptop updated.  I know Ubuntu 15.04 (Vivid Vervet) has been out for a while, but I am just now getting it installed.  Here are my notes.


I didn’t take screenshots of all of the steps.  They were pretty straight forward.  The one thing that I did change was the partitioning.  I read that having the Swap partition on the SSD drive will wear it out, so I went ahead and moved it onto the regular drive.

So, here’s what it looked like:



In previous installs, I was using Duplicity/Deja Dup.  This time, I have been using BackupPC for backups.  It is a nice centralized solution that de-dups and compresses nicely.

Now, to restore… The BackupPC FAQ: SSH Setup is a good place to start.

To troubleshoot, I went to the backuppc server, and ran:

$ ssh pistachio
ssh: connect to host pistachio port 22: Connection refused

That tells me that the ssh server is not installed. So, I ran:

sudo apt-get install ssh

On the BackupPC server, I had already run the keygen. So, I just had to open the file and copy it’s contents.

sudo vi /var/lib/backuppc/.ssh/

Then, on my laptop, I pasted it onto the end of the authorized_keys2 files (which, in my case I had to create):

$ sudo mkdir /root/.ssh
$ sudo vi /root/.ssh/authorized_keys2

Next, I tried to connect to my laptop of the backuppc user on the server:

sudo su - backuppc
sudo ssh root@pistachio

I had to run:

ssh-keygen -f "/var/lib/backuppc/.ssh/known_hosts" -R pistachio

List of Restores

These are the directories that I restored from my backup:

  • ~/Documents: This is where I put all my document files
  • ~/Pictures: I have Shotwell pointed at this directory, so it contains all the pictures from my cell phone and digital camera
  • ~/GideonTaylor: I keep my work files in a different directory
  • ~/app: This has all of my programming stuff (“application development”)
  • ~/.config/google-chrome-beta: The settings for Chrome (extensions, bookmarks, etc)
  • ~/.local/share/keyrings: My saved passwords, see below for more information
  • ~/.Skype: Skype history
  • ~/.remmina: The settings for my remote connections
  • ~/.ssh: The keys for my remote ssh connections
  • ~/.local/share/shotwell: The settings and thumbnails for my photos
  • ~/.sword: The downloaded Bible files for Xiphos (and the underlying Sword library)
  • ~/.filezilla: The settings for my FTP connections
  • ~/.sqldeveloper: The connection settings for SQL developer
  • ~/.vim: stores the plugins installed in Gvim
  • ~/.vimrc: preferences for Gvim  (for my settings, I also had to create the ~/.vimtmp directory)
  • /etc/NetworkManager/system-connections: this saves all of my wireless connections and VPN connections
  • ~/.VirtualBox: The settings for my virtual machines


From here, you can see all the steps that I took in this series, or the next step is the Utilities and Configuration.


Installing Zoom Client

Some of my co-workers have been using the Zoom Conferencing Service.  Unfortunately, they haven’t had a Linux client.  That means that I’ve had to start a Windows virtual machine for each meeting.  If I want to share anything on my desktop, I’ve got to get it on my VM.

Well, today, I was given access to the Linux beta client.  It took several emails.  Apparently, I’m not the only one wanting a conferencing solution for Linux.

I followed the directions from Zoom Support.

Here are my notes…

Read More

Paychex Tests Patience

I’m not sure what to file this under, but someone needs to know and change this.  Paychex just crossed the line for this end user!  I hope that my software development skills never stoop this low.

I enter time into the Paychex website on a weekly basis, or at least I am supposed to.  The entry page has no totals, so there’s no way to make sure that everything adds up when I get done entering.  The way the web page works is like a website from the 90’s in my opinion.  I had to write a Tampermonkey script just to make the page usable for me.  That right there should be a sign that something is not right.

This week, everything quit working.  I could log in, but before I could get very far, I would get this message:

Web Server Security Alert

This website uses special security software that monitors suspicious network traffic and behavior. If you feel that you have caused this security error unintentionally, please contact our Customer Service Center at the address below and be sure to include all the information below in your message.

Email contact:
Reference ID:  20150618USTXFA46
Date and Time:  Thu Jun 18 2015 17:28:21 GMT-0500 (CDT).
Web Browser Information:  5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.125 Safari/537.36



I started troubleshooting by turning off my tampermonkey script.  I even completely disabled the extension.  No luck.  I rebooted the PC and tried several times during the day to make sure it wasn’t a bandwidth issue.

I noticed several of the images on the page were not loading.  So, I popped open the console, and saw all of these errors:

Failed to load resource: the server responded with a status of 406 (Not Acceptable)

Finally, I emailed the address in the original error message.  No response came in the next day or two, and I was told to call 1-877-281-6624 .  Apparently, that was the wrong number, and I was forwarded to 888 246 7500 as the Time and Labor technical support line.

Paychex support’s solution was to clear cache, clear browser history, install the latest version of flash, and add their 5 sites as trusted sites.  That was no help for a Ubuntu user.  Their end solution was since it works in Firefox, I still have a way to enter time, so that’s good enough.

So, I don’t know if this was a Chrome on Ubuntu issue or an issue with the network.  It’s got to be something like that because I seemed the only one affected.

The final straw for me was when I asked about not getting a response back to my email.  “Oh, that email address is no good.”  It’ was almost like “duh, what are you thinking”.  I don’t remember a sorry or anything like that, but maybe I was just upset and missed it.

So, here’s my rant:

  • Why do I have to write my own code in a Tampermonkey script to total the hours?
  • Why do they use flash?  It’s not like the site looks fancy or does any cool features like remote desktop sharing.  It’s just as basic as you get: type some numbers in some fields and hit submit.
  • Why do I have to enter 4 codes for each time that I enter?
  • Why do they have 5 different host names?
  • Why does their error message tell you to email some address that doesn’t work (doesn’t send a reply back, just goes into a black hole)?

Ok, I’m done.  Be warned: if you pick Paychex, your end users won’t like it.  Hopefully, Paychex will wake up and fix things.

Update: It’s beginning to look like Paychex just does not support Linux.  They require Flash.  Adobe says that it doesn’t support Linux anymore.  Also, it is not an issue with the hotel network that I was using.  I am getting the same errors on my home network.