Audio Personal Computing

Introducing Roon Audio

I’ve been using Plex as my audio player for a while. Noodling around on the Internet looking Raspberry Pi stuff, I stumbled across HiFiBerry and from there Roon Audio. Roon Labs is a spinoff from Meridian of their multi-room digital audio player. These folks have done something right by starting with a client server open architecture which organizes the system as

  1. A music server process
  2. A music management service that builds metadata for your library
  3. A control service that determines what plays where
  4. And endpoints that play content or deliver content to an audio system

They’ve made the endpoint easily embeddable in high fidelity and home theater components. They’ve made the server run as a service so a machine need not be logged in to make your music available. The control runs on Linux, MacOS, and Windows and as iOS and Android applications on phones and tablets.

Where I’m At

I have a two week trial running on my new Mac. In August, I’ll subscribe and build a dedicated Roon Bridge using HiFiBerry parts. This Roon Bridge will replace the AppleTV 3 serving the HiFi. I’ll keep the TV and ChromeCast TOSlinks initially but will likely retire the ChromeCast.

Listening Impressions

It works with less fuss than Plex, a superior user interface, better library material encouraging music discovery, and potentially, state of the art digital audio as a result of removing first-mover constraints from the protocol designs and software architecture. I find Roon very listenable using the iMac’s built in speakers. They image surprisingly well in the near field when playing good source material. The sound is also good through an AppleTV and Parasound P5 built in DAC. This combination sounds less good than the Chrome Cast Audio feeding the same DAC. There seems to be a bit more image via the Chrome Cast than the AppleTV.

Personal Computing

Introducing “Trey”

I name my hosts after notable greyhounds. The new iMac is no exception. It’s Trey, named after Kiowa Sweet Trey, Nick’s sire and Crash’s sire. Crash is a friend’s hound pawcationing with us this week.


  1. Apple’s iMac user guide at the iBook store describes the basics.
  2. David Pogue’s “MacOS Sierra, the Missing Manual” explains how to make best use of a Mac running Sierra.
  3. There are no current manuals for High Sierra coming this fall.

Revision History

  1. Original issue

First Impressions of Trey

Packaging and Unboxing

Apple packed Trey cleverly in a trapezoidal box, an outer corrugated shipping box covering a similar pasteboard point of sale box. The boxes are designed to stack up nicely in an outer shipping container by putting one base up next to one that is base down.

It was a surprisingly easy procedure to open the boxes. Tamper evident paper tape closed the outer box at the top. Cutting the tape allowed the front flap to drop down and the top flap to fold over revealing the inner package and its carrying handle. Once freed from the outer packing, the pasteboard point of sale box is opened the same way. Flipping the top open gives access to the accessory tray holding your choice of keyboard and pointing device.

Opening the inner enclosure shows the foam shock protection which is easily separated from the machine. A non-woven fiber envelope encloses the machine. A film covering protects the screen finish and case finish. All of this is easily removed.

Personal Computing

A New iMac On Its Way

Today was a bit pricy. I ordered a new adjustable height desk to put under a new 27 inch 2017 iMac.


My ancient trestle dining table desk is always at the wrong height for work so I decided to treat myself to an adjustable desk from The Human Solution in Austin, Texas. The desk I chose was a 30×60 radiused front bamboo top on an adjustable trestle base like that shown above. An electric drive lets you easily move the desk to one of 4 preset heights and even tells you how high the work top is.

The New iMac

After some poking around at the Apple Store and some on-line reading, I chose a new 27 Inch i7 iMac. Apple makes it tricky as they never change just one thing from model to model. I use my machine primarily for photo and video editing, at least that’s my design basis usage. In reality, it spends its boring life writing this blog.

When fan boys are talking about computer hardware, they are usually speaking about how well the part games. I’m not a gamer so most of their observations are irrelevant. Gaming workloads are unique and are tuned to nVidia graphics by and large.

Apple places a premium on how well the hardware supports OpenCL application computing with graphics rendering a secondary consideration. OpenCL performance is the primary consideration in video and audio rendering. Cryptography support is increasingly important as data is encrypted at rest and decrypted on the fly.

What Apple Changes

From model to model in a line, Apple changes the display, the graphics hardware, storage, and the processor. This means that there are sweet spots in the product line but it also means that upgrading one capability may require accepting additional changes. When you look at the fan-boy discussions on-line, the posters tend to focus on one aspect of the machine without much regard to what it would be doing or that it would be doing several things at once. I thought I’d take a deeper look in this article.

The graphics chipset is the primary differentiator of the 27 inch 5K Retina iMac line. The display and display hardware must be chosen at time of purchase. The processor, memory, and storage can be changed in the field although only memory updates are easy. Storage and processor updates require dealing with the double sided tape holding the iMac together. Of the two tasks, updating the storage is easy. Tinkering with the processor is less easy as Apple has tailored the cooler to the specific processor it uses.


Apple offers 4K and 5 K retina displays in the iMac. The 4K display is more than adequate for general use. The 5K display is aimed primarily at those working with large images. The big display has room for a full 4K video frame with additional pixels for the video editing menu. The display can’t be changed in the field. The iMac’s current USB-C/Thunderbolt interfaces can drive an external 4K display but not an external 5K display. Thunderbolt 3 does not quite have the bandwidth for the 20% larger display.

If you tend to hang on to a machine like I do, opting for the 5K display will give a longer service life. This was the one place where commenters had expressed regret, settling for the 4K display when working as a video producer.


Apple makes three versions 5K Retina iMac best identified by the graphics part used. The three models use the Radeon 570, Radeon 575, and Radeon 580. Reports are that the Radeon 580 chip gives the most crisp rendering experience with the 5K display. This shows up as a smoother control experience when using brushes and other direct manipulation tools in Adobe Lightroom or Phase One Capture One.

In the Radeon 580 variant, Apple ups the video memory from 4 GB to 8 GB. It is believed the bump in video memory is responsible for the improved interaction. The amount of video RAM cannot be changed in the field. I opted for the 5K 580 graphics hardware.


Apple offers Intel Core i5 and Core i7 processors in the iMac. Both processors have 4 execution units but differ in cache architecture (arcane) and availability of hyper threading. With 4 cores, these machines will be able to process network traffic, play music, send content to Air Play, etc without affecting user interaction. They are well quipped to “walk while chewing gum”.

Hyper threading

Intel hyper threading adds a second prefetch, decode, and execute queue to a core that allows it to work concurrently on two threads from a single process. A modern application has several threads. One is running the user interface event loop. This thread receives mouse and keyboard events that it dispatches for processing. Any graphical program will have this thread.

Depending on its purpose, a program may have additional work threads. For example, the simulation I worked on had 3 threads, one for the user interface, one that took simulation time steps, and a third that exchanged information with other simulation instances collaborating to run the problem.

As I understand it, hyper threading adds a second program counter (program status word) and user register set that supports the second thread but the two threads share the memory address mapping, cache, and processor execution units.

One CS lecturer used the example of one thread using the integer unit while the second used the floating point unit. If both threads needed the integer unit, they would be taking turns. This is not as bad as it sounds since the integer unit is pipelined and has several instructions in the works at once. Once you have multiple functional units, instruction reordering, and register renaming hardware in place, the second set of user registers and hyper threading logic produces a 10 to 30 percent performance gain for a smaller increase in the core’s complexity.

I opted for the i7 with hyper threading over the i5 without. Mostly because my Core 2 Duo mini was a dog rendering in iMovie. I felt I would keep the i7 machine longer and it would have a better second life when Apple finally removed OS update service. This choice made the 2 TB Fusion drive standard.



Most PC applications have relatively low disk I/O demands. Typical applications read the document into memory, operate on it there, and write it to disk in its entirety at save/close. There are two notable exceptions, software development and video rendering. Compiling and library updating using traditional Unix compilers tends to be a disk write intensive task. Video rendering is also disk write intensive.

The Radeon 570 and Radeon 575 iMac base storage is a 1 TB Fusion Drive. A Fusion Drive is a MacOS mashup of a regular 1 TB electromechanical disk (EMD) and a solid state disk 24 GB (SSD) at the operating system level. MacOS creates a single virtual volume from the two physical devices and migrates the most recently used files between the EMD and the SSD. Basically, the SDD behaves like a persistent buffer cache for the EMD. Things recently read or written are in the SDD and shadowed on the EMD.

Apple offers a 2 TB Fusion drive as base storage for the Radeon 580 iMac. This disk combines a 256 GB SSD and a 2 TB 7200 RPM EMD. The disk speed will make a difference for tasks that produce long streams of data to write to disk. As the application writes, data goes first to the buffer cache, then to the SSD and from there to the EMD. If the volume to be written exceeds the SSD free space, long sustained writes characteristic of video rendering will eventually drop into equilibrium with the EMD’s ability to put data away on disk.

Apple uses standard 3.5 inch disk drives and M.2 SSD modules but does not make them accessible for user replacement. iFixIt makes repair and upgrade kits available including the proper double sticky tape needed to close the iMac. Opening an iMac and replacing drives in the field is doable but be advised that working with the sticky tape is time-consuming and may be a bit tricky. Apple techs get lots of practice at this.

After fiddling around with the Radeon 580 5k Retina 27 inch iMac, I concluded that the standard 2 TB Fusion Drive would be adequate for my needs. This device is much bigger than the 512 GB SSD in my Mac Mini and the 256GB cache SSD was big enough that it would be a long time before I outgrew it.


Apple starts all configurations out with 8 GB of main memory. This is generally adequate for writing, drawing, and photo editing. Interestingly, Apple makes the memory accessible and field replaceable behind a trap door. I ordered the base memory and opted to add 16GB in the field should it be needed. That would give a total of 24 GB in the machine.

An Aside on SSD’s

SSD’s work their magic by eliminating rotational and seek delays but current NAND flash devices have finite but high write lifetimes. As the number of times a block has been written approaches the design life, the probability that it will fail goes up. The operating system should sense the error, mark the block bad, and write the data to a new block from the free pool. When enough blocks are bad, the disk will become unusable. I have not personally experienced an SSD failure so I can’t comment from first hand experience here as disk writes are low in my read-dominated disk workload.

This observation is important to video editors. SSD’s used for fast rendering should not be used for asset or product storage as the disk will eventually reach the end of its design life. Many video editors render to external SSD. Economics dictate the fastest sustained writing rates and replacing this device frequently is affordable for the professional video editor.


Personal Computing

The Moocher Builds a New Server

Last week, I took the plunge and ordered bits and pieces to make a new FreeBSD based FreeNAS file server. This server consolidates Plex, my iTunes library, and Time Machine backups on a new ZFS ZRAID2 volume. I made this move for several reasons.

  • I was double maintaining my media library, once in iTunes and again to update the Shield TV external disk
  • My Drobo directly attached storage is about 10 years old. It had FireWire and USB2 interfaces and no network interface making it unfriendly to modern computers without these interfaces.

After a lot of review of the usual suspects in the market place, I was unconvinced that they were sufficiently robust to prevent bit rot. Most were built on Linux, Linux software RAID, ant the EXT4 file system. NetGear Ready NAS uses Linux with the BTRFS making it a bit more robust but was not comfortable with a Netgear solution as it I was unsure if the entire product line used BTRFS or if current products were a mix of BTRFS and EXT4. I also wanted the freedom to run other applications such as audio recording in the future, something an appliance would probably not allow.

This article describes the component selection, commissioning, and software configuration. The references give the detailed procedures used and these procedures were correct and complete. The only disappointment was that UniFi NVR does not play on FreeBSD and I elected not to install a supported OS in a jail. Ubiquity distributes the packages directly rather than through the normal distribution work flows and services. At this point, they are a year behind the community and have yet to release a Win 10 version.

In a future article, I’ll describe how I use ZFS snapshots to give some protection against user filesystem encryption malware.

Personal Computing

New WiFi for Chaos Manor

Apple has left the home WiFi market. Airport Express and Airport Extreme products are discontinued and the work group that was maintaining the device firmware was dispersed to other Apple work groups. One of the attractions of Apple Airport is that Apple announced device firmware updates in the same way as other software updates. The App Store applied the update and life was good. I had been spoiled since I bought my first Airport Express back in 2002 or 2003.

Revision history

  1. Revised to describe IPV6 configuration. It appears auto does not configure IPV6.
  2. Added references.
Personal Computing

Network Attached Storage

The Moocher operated his home network with host attached storage for a number of years. Two Drobo storage arrays provide storage for media and serve as a Time Machine spool volume. These machines have served well but are running into age-related limitations. It is time to consider replacing them in the near future.

IXsystems FreeNAS-mini storage array

Revision History

  1. 12/28/2016: Add references, revise summary of commercial products, revise home-brew discussion to reflect actual costs after actually adding them up.
Personal Computing

A new computer, is it time?

The Moocher’s 2009 Mac Mini is too old to run Sierra but is it time for a new computer? It is still doing the jobs I use it to do well so just when is it time to trade? In this article, I’m going to offer my current take on trading.

Audio Personal Computing

nVidia Shield TV First Impressions

A few days ago, I wrote about setting up an nVidia Sheild TV set top box and configuring Plex Media Server on it. Now that I’ve had a chance to live with it for a few days, I thought it would be appropriate to share my first impressions of this piece of kit.

Left to right: game controller, media player remote control, pedestal and computer.
nVidia Sheild Android TV Components

Why nVidia Shield?

  • It runs Plex Server! It’s that simple.
  • And it is the most expansive walled garden.
  • And it is hackable with nVidia folk spilling the beans on the nVidia Shield developer forums
  • It is cheap enough to buy one to experiment on.
  • It is capable enough to use for other appliance tasks about the Moocher’s cave.
Audio Personal Computing Video

New Kid On the Block

For some time I’ve been wanting to move media serving off of my Mac Mini because the design of the available servers requires the machine to be running and logged in which vastly increases its attack surface. I’d been looking for a number of alternatives, particularly one that was energy efficient, had a low footprint, and would be doing what it was designed to do. nVidia came to the rescue about a year ago with nVidia Shield TV, an Android TV. So I’ve allowed the Android camel into my tent.


  1. retrieved 2 December 2017.

Before you buy

Do two things. First, read the fine manual at [1]. Go through the FAQS at [2]. I didn’t include any video links as most are long on talk and low on information density. The links above will take you to the setup screens so you can review them.

You will need internet service. Shield has both WiFi and Ethernet interfaces built in. Both work well. If you have Ethernet available in your media cabinet, wired service works well. Shield just knows what to do. A wired interface speeds firmware updates. WiFi is adequate for media playback.

What’s in the box?

nVidia Shield TV System Components

The base kit consists of a game controller (left) and the Shield machine (right but just the fin part). The nice aluminum base and the nice aluminum Android TV remote are optional extras. The kit also includes a power adapter, HDMI cable, and USB cable for recharging controllers and remotes. And there is a quick start guide and all the warranty and compliance statements.

Personal Computing

Oh no, Mr. Bill

Yesterday while I was writing my holiday letter, I was also sorting out, or trying to sort out a Win 10 virtual machine that went wobbly. The symptoms were that it was very slow, the start menu had gone missing, Edge had gone missing, etc.

The Moocher uses Win 10 to run ESplanner, a financial planning tool that evaluates your assets and recommends future spending to maintain purchasing power and stretch assets until estate time. This program is currently Windows only and is not friendly in Linux Wine and other simulated environments. Most MacOS users run a copy of Windows in a Parallels virtual machine.

Why Parallels and not Virtual Box

In the past, the Moocher has attempted to run Windows guests in Linux hosted Virtual Box environments. These mostly worked but JSAF development would typically eat the machine with topography database, computation, and network traffic. Virtual Box worked and the price was Navy approved.

But it was not well integrated with the OS. Parallels is. In addition to providing a virtual machine environment, Parallels provides file sharing, cut and paste between environments, and allows MacOS apps to work with Windows documents. The experience is pretty seamless and Parallels carefully designs the VM to integrate with MacOS in a way that keeps Windows in its jail. The only real difficulties I’ve incurred are in doing keyboard spells to cause Windows to start in safe mode, etc. This is not a VM launch option and hand keying of the spell is difficult.