Software Spotlight: ShadowPlay (GeForce Experience)

This article is part of the Software Spotlight series, click the link to see other awesome

Quick Details

Name: ShadowPlay (part of the GeForce Experience)
Publisher: Nvidia
Supported Platforms: Windows (10, 8.1, 8, 7)
Site Link: (ShadowPlay details:

What is ShadowPlay?

ShadowPlay is a brilliant feature of the Nvidia GeForce Experience that allows you to record your full-screen games in HD without watermarks! The whole GeForce Experience suite is available to anyone who has a graphics card in one of the following families:

  • GeForce GTX class GPUs 1080, 1070, 1060, TITAN X, 900, 700, 600, 900M, 800M, 700M, select 600M Series
  • GeForce 700, 600, 500, 400
  • GeForce 600M, 500M, 400M
  • GeForce 300, 200, 100, 9, 8
  • GeForce 300M, 200M, 100M, 9M, 8M

The GeForce Experience has many other useful tools, such as; automatic driver updates, setting optimisations for games (per-game graphics settings) & integrated game streaming to services like Twitch & YouTube Live. I just wanted to talk about ShadowPlay as it’s a nicely integrated solution to the frustration of game recording.

ShadowPlay itself has a lot of handy features, including:

  • Up to 4k video resolution
  • Last 20 minute gameplay save (‘Shadow Mode’ – hit a single button to save the last 20 minutes of gameplay)
  • Low performance impact (Nvidia state a 5-10% performance impact from the software)

I’ve personally used this software and can honestly say that it works like a charm. Besides some frustration getting the initial settings configured I was able to easily record gameplay with just the tap of a shortcut key. (Note: My issues came from trying to record a non-full screen application – ShadowPlay works perfectly for recording games but may be a bit of a fight to get it to record the desktop)

Found this helpful? Please share!

How To: Rename Interfaces on CentOS/Fedora

This article explains a few different methods that can be used to rename interfaces on CentOS/Fedora.

Method 1

– Log in to the machine and open the network configuration GUI

[stuart@asuka ~]$ sudo system-config-network

– Click on the ‘Hardware’ tab

– Select interface and click ‘Edit’

– Click the ‘Device’ dropdown and select the new name for the interface

Note: If renaming a device from eth2 to eth1, make sure that the name eth1 is available, there already may be a device called eth1 which should be renamed to eth0 first

– Close the network configuration GUI and save changes

– Restart the machine

[stuart@asuka ~]$ init 6

Fix Continued… [If previous steps didn’t work]

– Change the name of the interface in /etc/udev/rules.d/70-persistant-net.rules

NAME="ethX"    ---->    NAME="ethY"

– Set up ifcfg file for the interface

[stuart@asuka ~]$ sudo cp /etc/sysconfig/network-scripts/ifcfg-ethX /etc/sysconfig/network-scripts/ifcfg-ethY

– Replace old interface name in /etc/sysconfig/network-scripts/ifcfg-ethY

[stuart@asuka ~]$ sudo sed -i 's/ethX/ethY/g' /etc/sysconfig/network-scripts/ifcfg-ethY

– Restart services

[stuart@asuka ~]$ sudo start_udev
[stuart@asuka ~]$ sudo systemctl restart network

Fix Continued… [If previous steps didn’t work]

– Rename the interface

[stuart@asuka ~]$ sudo ifrename -u -i ethX -n ethY

– Turn off and stop Network Manager

[stuart@asuka ~]$ sudo systemctl stop NetworkManager
[stuart@asuka ~]$ sudo systemctl disable NetworkManager

– Restart services

[stuart@asuka ~]$ sudo start_udev
[stuart@asuka ~]$ sudo service network restart

Fix Continued… [If previous steps didn’t work]

– Backup old ifcfg files (ensure that IPMI or physical access with a monitor & keyboard is available to the server before doing this)

[stuart@asuka ~]$ sudo mkdir /etc/sysconfig/network-scripts/OLD/
[stuart@asuka ~]$ sudo mv /etc/sysconfig/network-scripts/ifcfg-eth* /etc/sysconfig/network-scripts/OLD/

– Reboot the machine

– Check interface names

[stuart@asuka ~]$ ifconfig -a

– If all looks correct then configure the network interface ifcfg files again

Found this helpful? Please share!

Now Playing: Snipperclips


Console: Nintendo Switch
Developer: SFB Games / Nintendo
Release Date: 03/03/2017
Site Link:–1173331.html

Nintendo Snipperclips

Photo Copyright: Nintendo

What is Snipperclips?

Snipperclips is a unique co-op puzzle game for the Nintendo Switch where players take control of adorable, emotive shapes called Snip & Clip. The game is split up into worlds made of puzzles, each world having its own unique theme that bleeds through the puzzles within. The players can cut parts out of each other to accomplish varying missions & mini-games, from fitting into a designated shape (as pictured above) to guiding a princess safely across a map to collect gems.

The creativity and innovation in this game is brilliant. Every movement & action switches up the expression on your characters face, when coupled with aggressive snipping wars with your teammate lead to some hilarious little run-arounds. After snipping your partner into oblivion it’s time to attempt the puzzle at hand. The range of puzzles keep the game feeling fresh whilst still being intuitive. Nothing can strengthen a friendship like escorting a delicate egg across the screen to a basket, or catching fish in a pond with a basket-shaped head!

Nintendo always seem to find great new ways to encourage couch co-op, from Wii Sports to Super Smash Bros. Snipperclips is definitely another pick up & play success.

Found this helpful? Please share!

1141 Years of Music

No guide this week, just a funny little glitch I had when adding local audio files to Spotify…

That’s right, apparently I have over 1141 years of local audio across 4,700 files… Better start listening!

Found this helpful? Please share!

How To: Optimise Vim for Python Development


This article explains how to optimise vim for Python development. I explored this route because recently I was looking for a lightweight alternative to the Python IDE I currently use (PyCharm). I use vim for general system admin tasks so it seemed like the best way forward was to tweak my favourite text editor into a simple IDE!

Optimise Vim

– Added following to ~/.vimrc (to ensure highlighting enabled)

syntax on
filetype indent plugin on

– Created Python-specific vim settings file to ensure tabs function correctly

[stuart@asuka ~]$ mkdir -p ~/.vim/ftplugin/
[stuart@asuka ~]$ vim ~/.vim/ftplugin/python.vim
    set tabstop=8
    set expandtab
    set shiftwidth=4
    set softtabstop=4
    set autoindent

– Installed additional packages (for correct syntax & graphical implementation)

[stuart@asuka ~]$ sudo dnf install vim-syntastic-python.noarch vim-X11.x86_64 vim-nerdtree.noarch

– Add NERDTree aliases to ~/.vimrc for quicker toggle & showing hidden files (now, the vim command :NT will toggle whether the Nerd Tree directory tree is shown)

command NT NERDTreeToggle
let NERDTreeToggleHidden=1

– Followed instructions on github for Pretty-Vim-Python

– At the end of this configuration, my ~/.vimrc looks as follows

syntax on
filetype indent plugin on
command NT NERDTreeToggle
let NERDTreeShowHidden=1
colorscheme molokai
highlight Comment cterm=bold

New Functionality

In conclusion, the above changes allow for:

  • Tabs to be replaced with spaces (due to PEP-8, the recommended/most common indentation format is with spaces, not tabs)
  • Syntax highlighting (for multiple languages)
  • GUI application that can be launched with the command gvim (it can also be launched from the display manager application menu)

Using NerdTree

While there are tons of useful features in NerdTree, I will give a crash course of its usage below:

  • Toggle NerdTree with :NT
  • Open/Close directories with [Enter]
  • Set cwd to selected directory with cd
  • Set directory tree root to directory with C
  • Open file in new tab with t

Furthermore,  you can access additional usage info for NerdTree with :help NERD_tree.txt.

NerdTree Bookmarks

One of the most noteworthy features of NerdTree is the bookmarks

  • Bookmark the selected file or directory (while browsing directories with NerdTree) with the command :Bookmark BookmarkName (so the file/directory will be aliased to BookmarkName)
  • If the bookmark is a directory you can navigate, and set the document root, to the existing bookmark with :BookmarkToRoot BookmarkName
  • If the bookmark is a file then it can be opened with :OpenBookmark BookmarkName


Found this helpful? Please share!

How To: Fix NFS Stale File Handle

In this article I discuss a couple of ways to fix NFS stale file handle messages seen with network mounts. I recommend that you try the solutions in order, escalating to the next one if the current one doesn’t solve your issue.

Fix NFS Stale File Handle – Solution 1

The first solution to this problem is straightforward and can fix the problem pretty quickly without disrupting the machine.

– Unmount the filesystem

umount /nfs/directory/mountpoint

– Remount it by trying to access it

ls /nfs/directory/mountpoint

If the above doesn’t work, you could also try a lazy unmount of the filesystem which can be done by using the -l option with the umount command.

Fix NFS Stale File Handle – Solution 2

This solution involves killing any processes that have died or ended up in permanent sleep so that an unmount can cleanly occur.

– Identify processes that are trying to access the workstation

lsof |grep workstation

– Kill the nfs/autofs processes as well as any other processes that are trying to access workstation disk

kill PID    (kill -4 may be needed if process won't die)

– Stop and restart nfs and autofs services

service nfs stop

service autofs stop service nfs start service autofs start


NFS stale filesystem handles can occur for a number of reasons and could originate from the client or the server, such as:

  • NFS server crashing
  • Server-side configuration changes
  • Client network issues

While the above solutions may fix the problem the do not address the source cause of the issue so be sure to investigate that!

Found this helpful? Please share!

XenServer Command Cheat Sheet

Whether you usually manage your XenServer VMs through Center or through the CLI, this XenServer Command Cheat Sheet can come in handy. This list contains all the commands I found myself using on a regular basis.

Replace any parts of code in <> with the value it asks for (removing the <> for the actual command)

Common Commands

– Find VM UUID

xe vm-list name-label=<Name of VM>

– Change memory (Note: The UUID of the VM does not need to be located, by appending --minimal to the above command it returns just the UUID for <Name of VM>)

xe vm-memory-limits-set uuid=$(xe vm-list name-label=<Name of VM> --minimal) static-min=<Lowest>GiB dynamic-min=<Lower>GiB dynamic-max=<Higher>GiB static-max=<Highest>GiB

– Restart Xen services (memory balloon, xapi, xenopsd, etc – Useful if a lot of normal xen tasks aren’t working properly [e.g booting VMs])


– Find memory information for a VM

xe vm-param-list uuid=$(xe vm-list name-label=<Name of VM> --minimal) |grep " memory"

– Export a VM to xva file

xe vm-export vm=<Name of VM> filename=/route/to/<Name of File>.xva

– Import a VM from xva file

xe vm-import filename=/route/to/<Name of File>.xva

– Change name of VM

xe vm-param-set name-label=<New Name of VM> uuid=$(xe vm-list name-label=<Name of VM> --minimal)

– Change CPUs assigned to a VM

xe vm-param-set uuid=$(xe vm-list name-label=<Name of VM> --minimal) VCPUs-max=<X> VCPUs-at-startup=<X>

Complex Commands

– Print info about paramater for every VM on the server

for i in $(xe vm-list |grep uuid |awk '{print $5}') ; do echo -n "$(xe vm-list uuid=$i |grep name |awk '{print $4}'): " ; xe vm-param-list uuid=$i |grep <paramater> ; done
Found this helpful? Please share!

Software Spotlight: Obsidian Portal

Quick Details

Name: Obsidian Portal
Publisher: Kaleidoscope Global, LLC
Supported Platforms: All (Web App)
Site Link:

What is Obsidian Portal?

Enjoy playing tabletop RPGs? Struggling to organise your mess of notes & books? Looking for an all-in-one campaign manager?

Obsidian Portal is an online campaign manager and wiki system. It has an array of awesome features that can help document, plan & expand your game world from world maps to character details.

Planning Features

When it comes to planning your campaign you’ll find yourself constantly expanding the world which is hard to keep on top of, with the help of Obsidian portal, you have:

  • Create wiki style pages with intuitive editor and easy linking between pages
  • Upload & view world maps in a Google Maps style map viewer
  • Calendar for scheduling game days
  • Game master restricted page sections (add additional notes to wiki pages that remain hidden from the players)

Player Features

Obsidian Portal also provides a lot of player & non-player character tools. A character has their own page on the campaign with a couple of useful features, such as:

  • Name Generator (which can be adjusted to generate names for a particular race)
  • D&D 5e Character Sheet (besides the general description & biography, this allows for all of the )

Players can be given ownership of their player character’s page to populate it with all of their info, taking some of the pressure off of the DM whilst keeping the information nicely organised for all to see.

Session Features

Besides the calendar for tracking upcoming sessions, there is the adventure log feature which can be used for summaries of previous sessions. Not only does this allow for easy reflection & story checking but it allows for log titles & subheadings which can give the campaign an episodic feel.


I don’t have any issues with the available features in Obsidian Portal, however there are features that I’d love to see offered with the service. Things like:

  • Creature Generation – Create random Shriekers, Trolls and other creatures for random encounters
  • Damage Tracker – An interface for tracking damage done to creatures (and players) during encounters
  • Item/Shop Generation – Create stores with varying prices for different items

The website has a huge collection of role-playing tools that, when partnered with Obsidian Partner, can complete your GM toolbox.

Found this helpful? Please share!

How To: Fix Google Chrome Logo Disappearing on Windows 7

I had a few users mention that the Google Chrome logo had disappeared from the icon to launch the software. While Chrome functioned as expected, the issue is aesthetic only but I can see why it would become frustrating!

Google Chrome Logo Disappears

Image via Super User

I’m not necessarily sure what caused this issue to occur however I have not received reports of the issue happening again after implementing this fix. From further looking online it seems like this issue is rather common without a solid fix. With this in mind, the below solution may not work for you.


– Unpin Chrome from taskbar

– Locate Chrome in the start menu and right click “Properties”

– Click “Change Icon…”

– Replace the directory that is currently being looked in with %ProgramFiles% (x86)\Google\Chrome\Application\chrome.exe and hit enter

– The Google Chrome icon should now be viewable in the below window

Did the above solution not work for you? Check out this Super User post for a potential fix.

Found this helpful? Please share!

How To: Install XenCenter on Linux (Fedora/CentOS)

When I started using XenServer to host Virtual Machines I was checking on VMs using a Windows system. With a Windows system it’s easy to download & install XenCenter to get a visual solution for VM management as well as performance metrics.

After moving to a Linux desktop distro on my laptop I was faced with the struggle of finding an alternative. There are solutions out there, some are free to use but lack key features, others are feature rich but require a paid subscription to unlock said features.

To keep myself working with familiar software I decided to attempt to get XenCenter to work on Linux through Wine.

Known Issues

  • No SSL functionality
  • Cannot open “Properties” menu for a Virtual Machine
  • High likelihood of application crashing when using the “VM Console”

How To

– Install dependencies to local system

[stuart@asuka ~]$ sudo dnf install cabextract
[stuart@asuka ~]$ wine_dir=~/.wine32-xen

– Create fresh 32-bit wine directory

[stuart@asuka ~]$ WINEARCH=win32 WINEPREFIX=$wine_dir winecfg

– Download the .NET Cleanup Tool from

– Run the .NET Cleanup Tool (assumes that the tool was downloaded to ~/Downloads/)

[stuart@asuka ~]$ WINEPREFIX=$wine_dir wine ~/Downloads/cleanup_tool.exe

– Install msxml3 (Recommended to do before installing .NET 4.0 on WineHQ)

[stuart@asuka ~]$ WINEPREFIX=$wine_dir winetricks msxml3

– Install .NET 4.5

[stuart@asuka ~]$ WINEPREFIX=$wine_dir winetricks dotnet45 corefonts

– Install .NET 4.0 with winetricks

[stuart@asuka ~]$ WINEPREFIX=$wine_dir winetricks dotnet40 corefonts

– Install .NET 3.5 SP1 w/ dependencies

[stuart@asuka ~]$ WINEPREFIX=$wine_dir winetricks dotnet35sp1

– Install gdiplus

[stuart@asuka ~]$ WINEPREFIX=$wine_dir winetricks gdiplus

– Install XenCenter

[stuart@asuka ~]$ WINEPREFIX=$wine_dir wine ~/Downloads/XenCenterSetup.exe

– Run XenCenter

[stuart@asuka ~]$ WINEPREFIX=$wine_dir wine "C:\\Program Files\Citrix\XenCenter\XenCenter.exe"

Note: When connecting to a server, add :80 to the end to bypass SSL issues with connection

Found this helpful? Please share!