A first look at SAS University Edition

My first introduction to SAS came near the start of my post-university career over a decade ago. It was six weeks of classroom training and hands-on case studies that got me going with SAS 6.12. The included SAS products naturally included the components of Base SAS for data processing (data step, PROC SQL) and reporting as well as SAS/Graph. All of that was enough for a placement with one of my then employer’s clients with the added advantage of becoming one of the client’s own employees at the end of it. During that stay, more SAS versions followed until the launch of 9.1.3. Eventually, I moved onto pastures new and I remain a SAS user with 9.3 being the most recent version that I have met at work while SAS University Edition is bringing me towards 9.4.

SAS Learning Edition

Though it is possible to extend one’s knowledge on the job, that can be harder to manage during the working day when times are busy. Before SAS University Edition, we had SAS Learning Edition and I took delivery of a copy while it was available. It included SAS Enterprise Guide 4.1 together with a limited version of SAS 9 that a few limitations. Firstly it only would process up to 1500 records in any dataset but that was not such a problem for learning. Support from SAS was limited too even if the package had a price that I seem to remember was around £100 but my memory is hazy about this. What you need to remember is that SAS licenses are vastly more expensive than this so you got that for which you have paid. If you did have a Base SAS installation, Learning Edition would co-exist with it and versions like 8.2 and 9.1.3 Service Pack 4 were compatible so long as you had them pre-installed. There was a warning that re-installation of software might be required if either SAS Learning Edition or Base SAS is removed inappropriately.

Speaking of licenses, Learning Edition was time limited with its own version 2.0 (based on Enterprise Guide 2.0 and, if I recall correctly, SAS 8.2) and version 4.1 purchased prior to September 10, 2007 expiring on December 31, 2008. The expiry date for version 4.1 after the aforementioned purchase deadline was December 31, 2011. More conventionally, it was for single PC installation only and that PC had to run either Windows 2000 or Windows XP Professional. The process was one that would be more than familiar to anyone who ever installed software on a machine running Windows. Even with those older operating systems, it needed 1,080 MB of hard disk space. It reminds me of a time when 10 GB of hard drive capacity was generous but that had moved beyond 160 GB around ten years ago. The RAM requirements also fitted the time with 256 MB being the bare minimum and 512 MB being recommended.

Usefully, the whole package came with a copy of The Little SAS Book and, not having it next to me while writing these words, I cannot recall whether whether it was the version for Enterprise Guide or the Primer edition. Though I may not have made as much use of the software as I could have done, it certainly came in useful for trying a few things and I found a way to start up the more traditional SAS DMS interface as well as Enterprise Guide.

SAS University Edition

Apart for being made available free of charge, SAS University Edition is very different from its predecessor, SAS Learning Edition. After all, things have moved along since the last decade and SAS has its SAS Analytics U (for University, I presume) community now and that may explain the name though there is a wider focus on established university teaching too. Even long term SAS users like me can be called learners too so we get allowed in as well.

Firstly, it works in a very different way since you no longer are installing SAS software like you would with Microsoft Office or Adobe Photoshop. To work, it needs you to have one of Oracle VirtualBox (4.3.12 is preferred at the time of writing), VMware Player or VMware Fusion because what you are getting is a virtual machine. For those unfamiliar with such things, SAS has Quick Start guides for each:

VirtualBox

VMware Player

VMware Fusion

The available VM’s are built around Linux in that 64-bit Red Hat Enterprise Linux is installed in there with SAS running as a service on top of it. In fact, the virtual runs solely as a server with just a screen informing you of the IP address that you need to load in your web browser of choice. That reveals another break with the past with SAS Studio being used in place of Enterprise Guide or the SAS DMS. While all the processing happens within the virtual machine, it is possible to store files on your own host operating system’s file system using by setting up a shared folder called myfolders that points to where you want it and that SAS Studio can use.

The use of virtualisation to roll out a local SAS server that makes SAS Studio available is neat and means that you do not need to run Microsoft Windows on a PC as was the case with SAS Learning Edition. Mac OS X and Linux are possibilities and I use the latter at home so this is a very good thing. Furthermore, there are installation guide for each supported operating system:

Linux

OS X

OS X

The version of SAS that you get is 9.4 and it is licensed until the middle of June 2015 with a 45 day grace period taking you as far as the end of July. Along with Base SAS, you also get SAS/STAT, SAS/IML, SAS/Secure 168-bit, SAS/ACCESS Interface to PC Files, SAS/ACCESS Interface to ODBC, SAS/IML Studio, SAS Workspace Server for Local Access, SAS Workspace Server for Enterprise Access and High Performance Suite. SAS/Graph is absent but new statistical graphics procedures like SGPLOT and SGPANEL are there so graph creation possibilities should be covered anyway.

All in all, SAS University Edition looks a snazzy arrangement and I plan to explore what is offered. SAS Studio is a new to me but there are enough recognisable features to help me settle in with it and it would merit an entry of its own on here. In fact, SAS has some video tutorials on their YouTube channel that show off some of its capabilities and the new tool certainly carries over from both Enterprise Guide and the more traditional DMS interface.

Speaking of blogging, SAS has an entry on one of the theirs that it has called Free SAS Software for students!, which is another introduction to SAS University Edition. Other (non-blog) articles include Get Started With SAS® University Edition along with a useful FAQ.

Automatically enabling your network connection at startup on CentOS 7

The release of CentOS 7 stoked my curiosity so I gave it a go in a VirtualBox virtual machine. It uses GNOME Shell in classic mode so the feel is not too far removed from that of GNOME 2. One thing to watch though is that it needs at least version 4.3.14 of VirtualBox or the Guest Additions kernel drivers will not compile at all. That might sound surprising when you learn that the kernel version is 3.10.x and that for GNOME Shell is 3.8.4. Much like Debian production releases, more established versions are chosen for the sake of stability and that fits in with the enterprise nature of the intended user base. Even with that more conservative approach, the results still please the eye though attempting to change the desktop background picture managed to freeze the machine. Other than that, most things work fine.

Even so, there are unexpected things to be encountered and one that I spotted was that network connectivity needed to switched on every time the VM was started. The default installation gives rise to this state of affairs and it is a known situation with CentOS from at least version 6 of the distribution and is not so hard to fix once you know what to do.

What you need to do is look for the relevant configuration file in /etc/sysconfig/network-scripts/ and update that. Using the ifconfig command, I found that the name of the network interface. Usually, this is something like eth0 but it was enp0s3 in my case so I had to look for a file named ifcfg-enp0s3 and edit that. The text that is sought is ONBOOT=no and that needs to become ONBOOT=yes for network connections to start automatically. To do something similar from the command line, CentOS had suggested the following:

sed -i -e ‘[email protected]^ONBOOT=”[email protected]=”[email protected]’ ifcfg-enp0s3

The above uses sed to do an inline (and case insensitve) edit of the file to change the offending no to a yes, once you have dropped in the /etc/sysconfig/network-scripts/ directory. My edit was done manually with Gedit so that works too. One thing to add is that any file editing needs superuser privileges so switching to root with the su command and using sudo is in order here.

ERROR: Can’t find the archive-keyring

When I recently did my usual system update for the stable version Ubuntu GNOME, there were some updates pertaining to apt and the process failed when I executed the following command:

sudo apt-get upgrade

Usefully, some messages were issued and here’s a flavour:

Setting up apt (0.9.9.1~ubuntu3.1) …
ERROR: Can’t find the archive-keyring
Is the ubuntu-keyring package installed?
dpkg: error processing apt (--configure):
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
apt
E: Sub-process /usr/bin/dpkg returned an error code (1)

Some searching on the web revealed that the problem was that there were no files in /usr/share/keyring when there should have been and I had not removed them myself so I have no idea how they disappeared. Various remedies were tried and any that needed software installed were non-starters because apt was disabled by the lack of keyring files. The workaround that restored things for me was to take a copy of the files in /usr/share/keyring from an Ubuntu GNOME 14.04 installation in a VirtualBox VM and copy them in to the same location in its Ubuntu GNOME 13.10 host. For those without such resources, I have packaged them in a zip file below. Other remedies like Y PPA also were suggested where I was reading but that software package needed installing beforehand so it was little use to me when the likes of Synaptic were disabled. If there are other remedies that do not involve an operating system re-installation, I would like to know about them too as well as possible causes for the file loss in the first place and how to avoid these.

Ubuntu Keyrings

A reappraisal of Windows 8 and 8.1 licensing

With the release of Windows 8 around this time last year, I thought that the full retail version that some of us got for fresh installations on PC’s, real or virtual, had become a thing of the past. In fact, it did seem that every respecting technology news website and magazine was saying just that. The release that you would buy from Microsft or from mainstream computer stores was labelled as an upgrade. That made it look as if you needed the OEM or System Builder edition for those PC’s that needed a new Windows installation and that the licence that you bought was then attached to the machine from when it got installed on there.

As is usual with Microsoft, the situation is less clear cut than that. For instance, there was some back-pedalling to allow OEM editions of Windows to be licensed for personal use on real or virtual PC’s. With Windows & and its predecessors, it even was possible to be able to install afresh on a PC without Windows by first installing on inactivated copy on there and then upgrading that as if it was a previous version of Windows. Of course, an actual licence was of the previous version of Windows was needed for full compliance if not the actual installation. At times, Microsoft muddies waters so as to keep its support costs down.

Even with Microsoft’s track record in mind, it still did surprise me when I noticed that Amazon was selling what appeared to be full versions of both Windows 8.1 and Windows 8.1 Pro. Having set up a 64-bit VirtualBox virtual machine for Windows 8.1, I got to discovering the same for software purchased from the Microsoft web site. However, unlike the DVD versions, you do need an active Windows installation if you fancy a same day installation of the downloaded software. For those without Windows on a machine, this can be as simple as downloading either the 32-bit or the 64-bit 90 day evaluation editions of Windows 8.1 Enterprise and using that as a springboard for the next steps. This not only be an actual in-situ installation but there options to create an ISO or USB image of the installation disk for later installation.

In my case, I created a 64-bit ISO image and used that to reboot the virtual machine that had Windows 8.1 Enterprise on there before continuing with the installation. By all appearances, there seemed to be little need for a pre-existing Windows instance for it to work so it looks as if upgrades have fallen by the wayside and only full editions of Windows 8.1 are available now. The OEM version saves money so long as you are happy to stick with just one machine and most users probably will do that. As for the portability of the full retail version, that is not something that I have tested and I am unsure that I will go beyond what I have done already.

My main machine has seen a change of motherboard, CPU and memory so it could have de-activated a pre-existing Windows licence. However, I run Linux as my main operating system and, apart possibly from one surmountable hiccup, this proves surprisingly resilient in the face of such major system changes. For running Windows, I turn to virtual machines and there were no messages about licence activation during the changeover either. Microsoft is anything but confiding when it comes to declaring what hardware changes inactivate a licence. Changing a virtual machine from VirtualBox to VMware or vice versa definitely so does it so I tend to avoid doing that. One item that is fundamental to either a virtual or a real PC is the mainboard and I have seen suggestions that this is the critical component for Windows licence activation and it would make sense if that was the case.

However, this rule is not hard and fast either since there appears to be room for manoeuvre should your PC break. It might be worth calling Microsoft after a motherboard replacement to see if they can help you and I have seen that it is. All in all, Microsoft often makes what appear to be simple rules only to override them when faced with what happens in the real world. Is that why they can be unclear about some matters at times? Do they still hanker after how they want things to be even when they are impossible to keep like that?

Sorting out hogging of the Super (or Windows) Key by GNOME Shell

Most of the time, GNOME Shell’s use of the Super (or Windows) key on a standard keyboard to open up its dash area is no issue and is a handy counterpart to what you might do in Windows, especially in its latest incarnations. However, it does cause trouble if you are using a VirtualBox virtual machine with Windows installed in there. While VMware Player is immune to this problem I thought that I would see if there was a workaround for it.

The issue might arise from VirtualBox’s non-grabbing of the Super key like others but a solution can be found in GNOME itself. Opening up dconf-editor and navigating to org > gnome > mutter. In there, you will find a setting called overlay-key and this can be changed. One option is to delete the SUPER_L value and leave it that way. My own preference was to set it to a different key and, to do that, I needed to know what the various key identifiers were. To get these, I ran the following command (just replace any quotes with alternatives in the shell before executing this):

xev | grep -A2 --line-buffered ‘^KeyRelease’ | sed -n ‘/keycode /s/^.*keycode \([0-9]*\).* (.*, \(.*\)).*$/\1 \2/p’

This opened up an Event Tester window that will need closing when testing is complete. More importantly, the aliases for any keys that were pressed to are issued to the terminal session so you can see what’s what. Initially, the one for the Alt Gr key appealed to me and I set “ISO_Level3_Shift” as the value of the overlay-key property in dconf-editor. When that didn’t work, I set the value to “Menu” and it behaved as expected. While this will mean that context menus will have to be accessed by right-clicking in a Windows session, that is what I do anyway so there isn’t going to be much of a loss in what I have done. A function key might have been another option but I reckon that the context menu key will do me.