Rack 2U GPU compute node

For the last couple years, I’ve more or less tried to use older hardware to donate compute time to various research projects. To varying degrees of success. Mostly these have been for the Berkeley projects with occasional time allotted to Folding@Home.

Specifically the GPUs I have for this purpose:

  • 2 x PNY GTX 770 4GB OC
  • 1 x EVGA GTX 680 SC 2GB
  • 1 x Zotac GTX 680 Amp!
  • 2 x EVGA GTX 660 SC 2GB
  • 1 x XFX “Double-D” R9 290X 4GB

And all of the aforementioned cards have water blocks on them as well, allowing them to run at very good temperatures typically hovering around 40C for the NVIDIA cards, and nearer to 50C for the AMD card. Basically perfect for cards not designed to be under near constant load 24/7 topping out in the 70sC if not 80sC on their cores.

The weakest cards are, obviously, the GTX 660s. So with the latest Pascal generation from NVIDIA, and the performance metrics thereof, I decided it was time to retire the GTX 660s from the cluster.

In its place? A single GTX 1060 3GB Mini from Zotac. This single card is now the shining star in the cluster, outperforming all of the others. While it has less CUDA cores compared to the GTX 680, they are clocked much better — able to boost to around 1.7GHz compared to shy of 1.1GHz for the GTX 680 — allowing for much better performance in a much smaller package.

The short GTX 1060 cards have the major advantage of being able to fit into a smaller form factor. Such as a 2U chassis on a riser card. Provided you get the right chassis. But the constricted fit had me wondering whether the card would thermal throttle under load since there was basically only 1 slot’s worth of room before the mainboard.


  • CPU: AMD A8-7600k
  • Cooling: Noctua NH-L9a
  • RAM: 8GB DDR3-1833 RAM
  • Mainboard: Gigabyte F2A88X-D3HP
  • Chassis: PlinkUSA IPC-2026
  • Power supply: Antec BP350

So let’s get into specs and the philosophy behind the choices.

Processor. Initially I considered an Athlon 64 X2 for this node. The reasoning was simple: the node will be used for only GPU processing, specifically for Berkeley tasks since those do not use the CPU much. So there’s not really much reason to use a system more powerful processor.

Indeed if you’re putting together a mining rig, these older CPUs are well-suited, even with multiple graphics cards, since you don’t need a fast CPU for that purpose. Heck there are Bitcoin mining rigs that consist of multiple USB ASIC miners connected to Raspberry Pi boards.

But, alas, I wanted to run Linux on this and could not get the BOINC Linux client to detect the graphics card with the latest NVIDIA driver — 384.59 as of when I write this. Even downgrading the driver didn’t help. No idea what was going on, so I swapped over to a processor that I knew could run Windows 10 – the A8-7600.

On that mark, the AM1 boards and processors would work well for this use case since you don’t need a fast processor for BOINC. For Folding@Home, it helps to have it since Folding@Home does rely on the CPU a bit for its GPU tasks.

CPU cooler. The Noctua NH-L9a is a very capable, yet quiet CPU cooler. I highly recommend it to anyone building a small form factor system. If you want to use this with the Ryzen chips, you’ll need the separate AM4 mount kit. Under the cooler I use Arctic MX-4, which is the best thermal compound on the market currently.

Chassis. Initially I considered the IPC-G252S also from PlinkUSA, mainly because I’ve used it before. But the configuration of the chassis doesn’t allow for graphics cards with power connectors. Or at least with power connectors coming out the top. If this was a GTX 1050 or GTX 1050 Ti, then it’d be a perfect fit. But the top of the card will be too near the wall to access the power connector. Even low-profile 90-degree PCI-Express connectors won’t fit.

Hence the IPC-2026, which has a lot more room for that capability. By putting the power supply in the front. Plus the wall of 80mm fans provides all the ventilation the card will need as it’ll have almost two of them blowing directly onto it. After I swapped them out for much quieter fans. And at just 70 USD plus shipping, it was the perfect choice.

Then the question was the power supply.

The chassis can fit a full-size ATX power supply up to 160mm. And it has a ventilation grill on the lid so you can use a bottom-fanned PSU. But given this could end up in a rack with that grill covered up, I opted for the Antec BP350, which is a 140mm ATX power supply with a single 80mm fan at the rear to pull air through the opposite side. No other ventilation is on the PSU’s cover.

Since the PSU has only a 4-pin CPU connector, I needed to buy a P4+LP4 to 8-pin CPU harness. And for good measure, I added an 8-pin CPU extension cable to the mix.

350W is overkill for this, as I don’t expect this node to draw more than 150W to 200W continuously. It’s not 80+ rated, but at that low of a wattage draw, there’s no need for it to be.

A future node I’m now considering will actually be in another IPC-2026 chassis, but using the R9 290X that came from Absinthe. And keeping it water cooled. So look forward to that coming down the pike. For now I’ve got a few other things on the agenda. I’ll also be pulling off the Zotac’s stock cooler and replacing it with a universal VGA block and finding some way to cool the VRMs and RAM.

* * * * *


The biggest problem in health care NO ONE is discussing

With all the discussions about how to bring down the cost of health care in the United States, there is one I’m surprised few are discussing. Physician density. Or the supply of health care.

Cracked.com actually addressed the issue in an article about American health care: “Enormous wait times are caused by a serious Doctor shortage”. The cost of health care is also exacerbated by this.

The laughably and ineptly named Affordable Care Act resulted in massive increases in the cost of health care for the simple reason it inflated demand for health care without doing anything to bump the supply of it. And anyone who’s studied basic market economics knows that when demand goes up without a corresponding increase in supply, prices go up as a result.

No matter how much a lot of people might scream otherwise, health care is not immune from the law of supply and demand. That is why it’s called a law of economics.

And one metric of health care supply is physician density. And in that metric, the United States needs to play catch-up. Out of 184 states tracked by the Central Intelligence Agency’s World Fact Book, the United States ranks 58, with 2.55 physicians per 1,000 people.

Canada is, interestingly, 61st with 2.48. The United Kingdom is 46th at 2.81. One of the reasons it’s not uncommon to hear of rationing and waiting periods in both countries. Like the United States, the UK and Canada don’t have the physician supply to keep up with demand.

Greece ranks 5th with 6.26 physicians. Monaco ranks 3rd with 6.65. Spain is 19th at 3.82. Sweden and Switzerland are tied at 12th with 4.11. Norway ranks 9th with 4.42. Austria ranks 6th at 5.15.

Again, health care is not immune from the law of supply and demand. Yet no one is talking about health care supply. No one is talking about what can be done to provide for more people practicing medicine in the United States.

Some States are attempting to address the problem, typically by allowing for more nurses to practice independent of physicians. But this is really a matter for Congress and the Trump administration to address. Part of the “2 for 1” effort should address the regulations that make it more difficult for physicians to enter medical practice.

At the same time, Congress needs to address the near-monopoly control the American Medical Association has over physician supply in the United States. Let me put it this way, when we have students graduating from medical school unable to continue on to become licensed physicians due entirely to bureaucracy, we have a major problem that needs to be addressed.

On Match Day 2017, nearly 36,000 graduate MDs applied for 31,757 residency spots. And there have virtually always been more MD graduates than residency spots. Those who don’t get accepted into residency can never move on to actually practice medicine. This is something public policies can and should address.

According to an article in StatNews written in 2016, Missouri, Kansas, and Arkansas have passed laws that allow medical students to practice in underserved areas without first going through a residency. In Missouri the law was crafted by plastic surgeon Edmond Cabbabe, MD, who said that, without the law, “a lot end up wasting all of their education, because there is no place for them in the health care delivery system without having a residency”.

Kansas’s law targets graduates of the University of Kansas School of Medicine (“KU Med”) who aren’t able to move on to residency. A new type of license allows them to practice for two years under the supervision of fully-licensed physician, after which they are expected to obtain a residency.

And while the American Medical Association has called for more funding to open up more residency spots in the United States, without more supervising physicians, which requires more physicians period, we can’t have more residency spots.

So the United States really needs to enact policies that address the physician shortage, as if we don’t do that, we can’t really lower the cost of health care delivery in the United States.


You need a UPS

Last night, some strong thunderstorms came through the Kansas City area. The power flickered a lot, and momentarily went out.

My wife’s computer (“Absinthe”), my computer (“Mira”), and much of my living room are all connected to uninterruptible power supplies, or UPS systems. These function as a kind of “battery backup” for anything plugged into it, while also conditioning power and protecting against surges. Basically they make sure there is a constant, stable delivery of power to whatever is plugged in should the power delivery in your home become unstable or cut out entirely, both of which are common during heavy thunderstorms.

Homeowner’s and renter’s insurance typically doesn’t cover electronics lost in a thunderstorm due to improper electrical protection.

During last night’s thunderstorm, my system was able to stay live without any problem due to the UPS. I shut down my wife’s system as a precaution since she was out of town. The living room UPS kept the router and switch online, keeping me online and talking with my wife.

So if you don’t already have one, buy one.

But first, you’ll need to know the power consumption of what you intend to plug into it. You can use a power meter such as a Kill-A-Watt to determine this quite easily. Just remember to use the number given during its peak power draw, and add another 20% to be safe. For example, if you’re protecting a gaming computer, make sure to run the most intense game you have to maximize power draw.

Back in 2013 I described losing a DOCSIS 3.0 modem to a thunderstorm due to improper surge protection. Actually due to no surge protection on the cable line. I still remember the POP!

Thankfully those kind of surges are impossible with a fiber optic system, but you do still need to protect it against power line surges. Having it plugged into a UPS means you can protect it against flickering power during a thunderstorm or brown-out.

So again, buy a UPS if you don’t already have one. But remember you can’t just buy any UPS as you need to first figure out your power usage to know you’re getting the right UPS. Buy one rated too low for your intended use and it’ll just up and die on you.

Since these also act as surge suppressors, make sure to buy a unit that protects against surges across cable and Ethernet lines if applicable. If you have Fiber Internet access, such as Google Fiber, as opposed to DSL or cable Internet, you only need to protect against power line surges. For DSL or cable, you’ll need RJ11/RJ45 protection (an RJ11 plug will fit into an RJ45 jack) or coax protection, respectively.

The specific UPS model that protects Mira and Absinthe is the CyberPower LX1500GU, which is a 1500VA/900W UPS system I found at Micro Center. One per system, obviously. The UPS in my living room is a refurbished APC BR1500, which is also a 1500VA/900W unit.


Arizona’s advice to armed drivers

Arizona recently took the step to update their driver licensing manual to include traffic stops where the driver is armed. Section 7 of the manual is titled simply “Law Enforcement” and explains what to expect during a traffic stop.

Arizona, like Kansas, is a constitutional carry State. This means a permit is not required to carry a firearm concealed. Note this doesn’t mean just anyone can carry a gun, as you must be lawfully able to possess the firearm under State and Federal law. If you’re a “prohibited person” under State or Federal law, you cannot carry a firearm concealed for the simple fact you can’t legally possess a firearm to begin with.

But being a constitutional carry State can present challenges to law enforcement regarding armed civilians. As we saw with Philando Castile, things don’t end well when you’re not doing the right things while you’re armed and stopped by police. Along with all the typical guidelines given in every article discussing traffic stops, Arizona included this in a list of things to do After the car is stopped: “Inform the officer of any weapons on your person or in the vehicle.”

And it continues:

In addition to the guidelines above, drivers with firearms in the vehicle should keep your hands on the steering wheel in a visible location and when the officer approaches let them know that you have a firearm in the vehicle and where the firearm is located. If requested, the officer may take possession of the weapon, for safety reasons, until the contact is complete.

Sounds pretty straightforward. Same advice I gave in my first article on this subject several years ago. But Arizona continues by giving two items an armed driver should NOT do. And both points, again, read like advice I’ve already given here on this blog, advice that is not consistently reflected in the gun community.

  • Reach around inside the vehicle. If you need to reach for an item, contact the officer verbally to indicate the item you need to locate and only do so after the officer has given verbal confirmation.
  • Get out of the vehicle unexpectedly or approach the officer. If you need to exit your vehicle, contact the officer verbally to exit the vehicle, only exit after the officer has given verbal confirmation to do so.

Nice to see the advice I’ve given in various venues reflected in a State government publication on police traffic stops. Almost brings a tear to my eye to see it. But it also confirms what I’ve said before: Philando Castile screwed up.



Running Folding@Home headless on Fedora Server

Recently I set up a virtual machine on my VM server to run Folding@Home as a CPU-only worker. I’ll walk through the exact steps I took to set up the VM, and install and configure Folding@Home. These same steps can be used to set up a headless worker node on bare metal as well, such as for running GPU jobs.

I’ll be walking through setting it up from scratch as well. I’m not going to be walking through things bit by bit, so I expect you to have a decent technical understanding to fill in any gaps.

Note that while I’m walking through setting up a clean system or new VM, the below section about installing and configuring Folding@Home can apply to any Linux system.

Installing Fedora Server

Let’s start with installing Fedora.

Download the network installer ISO (off to the side under “Other Downloads), not the full install ISO. It’s significantly smaller (under 500MB) and gives you a lot more flexibility in setting things up. It’ll also only install the latest packages, saving you from having to run updates immediately after installing.

Once you reach the “Installation Summary” screen, select “Software Selection” and change it from “Fedora Server Edition” to “Minimal Install”. And on the right under “Add-Ons”, select “Standard”. If you’re setting up a VM, also add “Guest Agents”.

Set up everything else as you want and begin the installation.

Once installed, follow the procedure for installing the appropriate driver for your graphics card, if applicable.

I’d also recommend installing the package “dnf-plugin-system-upgrade“, which will give you a means of upgrading the Fedora installation in the future to the next latest release. I recently had to do this on several VMs running Fedora 25 to upgrade them in-place to Fedora 26 (latest as of this writing).

Installing Folding@Home

Next download and install the Folding@Home client RPM. Installing the RPM will immediately start Folding@Home with a CPU slot and a GPU slot if the GPU is properly configured. The only problem is you’ll be folding as an anonymous user with no team. But it’s easier to configure Folding@Home while it’s running unless you like manually editing XML files.

From the command line, telnet (not SSH) to localhost:36330: “telnet localhost 36330”. This will bring up a command interface for configuring Folding@Home and viewing the status of slots and jobs.

You will use the “option” command to set any options that you want: “option [name] [value]”. You can use the “options” command to view all the options that are not set to defaults.

  • user – Folding@Home username (default: anonymous)
  • passkey – Passkey for your account
  • team – Team number you wish to join (default: 0)
  • power – One of [light, medium, full] (default: light)
  • gpu – Whether to allow GPU folding [true/false] (should be true if your GPU is properly set up and supported by Folding@Home)

If you want to enable remote access to view the status and modify the worker node remotely with FAHControl, you’ll want the below options as well. Note, you will also need to open port 36330/tcp on the firewall or disable the firewall (not recommended).

  • command-allow-no-pass – IP subnet or address (see below screenshot) from which remote access is allowed without a password
  • allow – IP subnet or address (see below screenshot) from which remote access is allowed with a password
  • password – Password to use for remote access, required for “allow”

Once you’ve set all the needed options, exit out and restart Folding@Home (as root or using sudo) to make sure the new options take (some don’t apply immediately):

/etc/init.d/FAHClient restart

If you’ve configured for remote access, test that access from another system by attempting to telnet to port 36330. If connecting from a Windows system, you will need to have a period after the hostname — e.g. “folding.”, not “folding” — or it likely will fail to find it.

If it connects and disconnects immediately, you don’t have it properly configured to allow remote access from your IP address. Check your options to make sure they’re all correct. You’ll need to restart FAHClient if you change anything.

If it times out trying to connect, you need to open the port on the firewall. Did you remember to restart the firewalld service after adding the port?

Adding worker node to FAHControl

If you’ve properly set up the node for remote access and you can telnet into the Folding@Home system and run commands remotely, then you can add the system to FAHControl from that system. It’s straightforward, so I’m not going to go into detail.


How NOT to assert your rights

In a video made by the organization “Flex Your Rights” called “10 Rules for Dealing with Police“, rule #6 is “Don’t expose yourself”. Basically what this means is do not do anything that could cause the police to have a heightened level of suspicion with you. Once you are detained, the police can and will look for anything in plain sight, and anything found can be used against you.

With that in mind, let’s look at this:

For those with accessibility technologies, this is the list:

  1. My window is down far enough, I can hear you just fine. Do not try to open my door, they are always locked.
  2. Before you ask me for anything, you need to state the reason for pulling me over.
  3. You are being audio and video recorded for my protection and your accountability.
  4. I do not speak to nor do I answer ANY questions from cops. Any information you need to know will be on my Driver’s license, registration and proof of insurance.
  5. I do not consent to any searches and seizures. If you truly feel the need to search my vehicle, get a warrant. I will be happy to wait.
  6. What you put into this stop is what you will get out of it. Respect my rights and it will be quick and pleasant.

Talk about a way to ensure the police put extra scrutiny on you.

The first rule of police stops is to keep calm and cool. In other words, don’t be belligerent. And the above sign is belligerence. So don’t have a sign on your window like that.

For one, the sign blocks some of your view and is opaque. Depending on jurisdiction, this could get you cited, as any window coverings need to be translucent (“see through”) so as to not block your ability to see behind you looking through the rear window.

Having this list on your window will also virtually guarantee you get a citation every time, even for minor things like a broken headlight or taillight that would normally result in a warning unless you’ve been previously detained for it and failed to get it repaired. Yes, sometimes it is the small things that can make the difference between a warning and a citation. Between a momentary inconvenience of a traffic stop, and the time, expense, and points against your license that comes with a citation.

And any officers encountering that in a parking lot, parking garage, or parking spot on the road will also be more likely to scrutinize rather than just walk by. And the same would be true if you had a bumper sticker about guns or drugs. Again, don’t expose yourself.

One other thing. In anything addressed to the police, do not use the “cop(s)” since that is often used as a pejorative. Either use “officer(s)” or “police officer(s)”.

1. “My window is down far enough… Do not try to open my door…”

First, a police officer won’t try to open your door unless they are trying to extract you from the vehicle — e.g. you’re under arrest and not being cooperative.

Having your window open isn’t about you being able to hear the officer, but the officer being able to hear and see you. If the officer requests you to roll your window down further, do so. But you don’t need to lower it further than 4″, or about 1 hand width. No officer should request you to roll it down all the way as they should have no need to do so, except in one circumstance.

That being when you’re carrying concealed. I’ve said before that you must disclose this to the officer at the start of the stop regardless of the laws of your State. You will need your window rolled down for that as the officer will want to secure you and/or the firearm for his/her own safety.

Two other things to note. First, you will need to roll down your window to sign the citation. And, second, an officer can order you out of your vehicle for any reason, and you must comply. Failure to comply could result in arrest as it is typically a misdemeanor. In Kansas where I currently live, the statute is KSA 8-1503.

2. “…state the reason for pulling me over.”

So far I have only had one traffic stop where the officer said “Do you know why I pulled you over?” The only reason some officers do that is to get you to cop to something they don’t know about. If you’re asked this, answer simply and directly, “No, officer, I do not know why you pulled me over.”

In all other instances I’ve been detained, the officer stated the reason directly before requesting what he needed to see.

And if the officer requests your license, etc., before stating the reason for pulling you over, ask the officer why you were pulled over: “Officer, before I hand you what you’ve requested, please tell me why you pulled me over.”

3. “You are being audio and video recorded”

And officers also audio and video record (at least dashcam recording) all traffic stops. You typically don’t need to do this. However in light of the Philando Castile incident, this would be helpful if you’re carrying concealed. That way if you’re shot, we can all see what you did wrong.

If you live in a State with the “two-party rule”, meaning all parties must assent to the conversation being recorded, that statement on your window likely has no legal effect.

4. “I do not speak to nor do I answer ANY questions from cops.”

Again with the word “cops”.

Here’s the thing: you do have the right to remain silent. However, there are few traffic stops where you’ll be able to successfully avoid saying anything to the police officer. In general, though, if an officer asks you a question, answer it. A police stop is not the place to get self-righteous or belligerent about your rights.

5. “I do not consent to any searches or seizures.”

This is similar to a list I’ve seen for someone driving through a DUI checkpoint that also included “I want a lawyer”. There is no reason to state this up front.

And having this on a sign in your vehicle window isn’t conducive to a smooth traffic stop. Plus the officer may actually take this as a challenge and look for anything in plain sight to establish probable cause to search your vehicle further. The officer, the officer’s partner, or another officer who arrives on the scene (two of my last three traffic stops included such) will walk around the vehicle, looking in all windows carefully and at the external of the vehicle.

They will be checking the external of the vehicle anyway looking for anything additional they can cite, but the sign invites extra scrutiny due to it being very unusual.

In other words, you are inviting that extra scrutiny by having the sign. Do not expose yourself.

Further, the statement about waiting for a warrant has no legal effect. It is a long-standing rule in the Courts that police do not need a warrant to search a vehicle so long as they can demonstrate probable cause prior to the search. Reasonable suspicion can also be used to detain you to bring in a drug dog.

6. “Respect my rights and it will be quick and pleasant.”

Oh how cute acting like you’re the one who can make that call.

Here’s the thing: while you don’t need to be infinitely cooperative with an officer during a traffic stop, it also helps if you don’t get things off to a bad start by being directly or passively belligerent. Having the above sign in your window will not put things in your favor.

This comes back to a pervasive attitude I’ve seen time and again: a dehumanization of police officers. Respecting the officer and their authority is what allows a stop to go smoothly.

Instead just keep calm and cool. Keep your hands out where the officer can see them. Don’t talk back or cop an attitude of any kind. Don’t be directly or passively belligerent. Don’t be disrespectful.

And don’t have a sign like the above in your car window. It’ll only invite extra scrutiny, and will likely ensure you walk away with a full citation every time. Possibly multiple citations depending on what the officer also finds while looking around your vehicle that would’ve otherwise been ignored but pointed out to you or resulted in a warning.

Be smart with how you interact with the police, but not a smart ass, and everything should be smooth.


Is there a victim?

Julie Browoski says that libertarians can still be pro-life because it comes down to a singular question: is there a victim?

Let me posit a scenario.

It’s the dead of winter. You’re awoken by a noise and discover it’s coming from your garage. You decide to investigate. When you open the door leading to your garage, the outer door is closed, and standing next to it is someone who you presume is homeless. The person pleads with you to let them stay, saying they’ll move on in the morning and are only looking for sanctuary for the night.

What do you do?

A few things to bear in mind. First, you’re under no obligation to let them stay. After all, that person broke into your home. Under basic libertarian principles, you have every right to turn them away. And anything that happens to that person after you’ve turned them away is not your responsibility. You have the option to call the police to have that person removed from your property.

And you have the option to let the person stay the night, to provide sanctuary.

Sure most will likely do the latter. Probably even go a step or two further and get blankets, possibly tea or soup for additional comfort. And that is entirely your choice. You have no obligation to do so. But the pro-life argument implies such an obligation exists. And the activists want to force that obligation on everyone.

The trouble with saying that a person can be pro-life and libertarian, or that the anti-abortion position is libertarian, is it violates the fundamental right of a property owner. And if we don’t own our bodies, what do we really own?

A woman who is unexpectedly pregnant is the same as the above homeowner with the unexpected guest. If the homeowner cannot be legitimately obligated to provide sanctuary to anyone who comes calling, a woman cannot be legitimately obligated to continue a pregnancy she does not want.



Plex set-top with the Pi Desktop

A NAS to readily serve up media content combined with the Plex Media Server or other DLNA platform provides a powerful entertainment setup for the home when combined with a media player. Some smart televisions have DLNA players built in, but alternatives exist if you don’t have one.

And the Raspberry Pi is a very cost-effective option, with plenty of software options available out there. I’ve used OpenELEC in the past. But it has limitations in my current media setup.

My home setup is a FreeNAS server (“Nasira“) combined with a VMware virtual machine running the Plex Media Server. The FreeNAS Plex plugin kept giving me problems, so I just set up a separate Plex VM and haven’t looked back. Everything is on a 10GbE network as well.

Some movies are in multiple parts I never joined together — e.g. Lord of the Rings Extended editions — and the DLNA service with Plex does not show them as one entry through a client such as Kodi. Plus I have playlists on my Plex server for movie series — e.g. Lord of the Rings, Resident Evil, Harry Potter, etc. — and playlists aren’t propagated through DLNA.

So for this setup, the Plex Media Player is pretty much needed. I tried the Plex app for the Playstation 3 but found it to be very sluggish. I don’t have a Playstation 4, yet. The interface and controls were much more responsive on a Raspberry Pi 2 with the slight 1GHz overclock (a little sluggish on the stock clock). So for this project, I opted for the Raspberry Pi 3 so I could use my Raspberry Pi 2 for a Kodi touchscreen project — more on that in another article.


Recently the Pi Desktop was introduced as a means of turning a Raspberry Pi into a small form-factor desktop. And it appeared to be the perfect setup for making a set-top box from the Pi as well. And at 50 USD, with everything it comes with, I decided to purchase one.

It is certainly a hell of a lot easier than trying to build something custom, which I initially considered.

Now there are some issues with the design as pointed out in the comments to that video, and I have some concerns with it as well. But given that this enclosure almost fits the bill of what I want while being only 50 USD, it was still less expensive than trying to build something custom while meeting all my requirements.

Plex Media Player

You will need to create the microSD card and get it working with your Plex setup before installing the Raspberry Pi into the Pi Desktop case, so you can get everything set up while you still have easy access to the card.

As part of installing it, you’ll want to set the timezone on your system. You’ll need to SSH into it remotely — default hostname is “plexmediaplayer”, default login is root/plex. Once at the command line, you’ll want to run this command:

echo "ln -sf /usr/share/zoneinfo/[timezone] /var/run/localtime" >> /storage/.config/autostart.sh

where [timezone] is your timezone — e.g. “America/Chicago” for United States Central Time. The timezone names follow the naming conventions in the tz timezone database.

Once you have it assembled, it’s just a matter of connecting it to your television or A/V receiver. You will also need a 2.5A power adapter as the enclosure doesn’t come with one. I guess element14 presumed you’d be buying one along with the Pi.

You have a few options to control the player as well. I use a wireless keyboard and mouse. Plex mentions the Flirc USB as an option if you have a Harmony Remote or the Harmony Hub. As I have a Harmony Hub, I may switch over to using that.

Mini review – Pi Desktop

I’m glad the Pi Desktop exists as an option, despite its flaws. The add-on board included with it provides an easy way to power on and off the system without having to go for the power cord each time, or buy a power adapter with a switch. Which is a good option to have even if you plan to leave the Pi powered on all the time — given it’s insignificant power consumption, I don’t see any reason to not. While that add-on board also includes an mSATA slot, I’m not currently using it since there largely isn’t much point for this project.

I mentioned above that I do have concerns with this.

First is the lack of airflow. I would’ve preferred seeing this with an included 40mm fan, or a place to mount one, with a 3-pin or 2-pin fan header on the add-in board. Noctua makes a 40mm 5V quiet case fan that could be used to add some airflow into this to cool the Pi and SSD, provided you use the latter. While a heatsink on the Pi’s ARM core may suffice for this use case (I noted the Pi’s core reaching 60C while playing a movie), the added airflow would be beneficial for those using this chassis and a Pi as a desktop computer.

I would have also preferred seeing the board use a barrel connector for power instead of the microUSB connector, as they tend to be a little bulkier compared to microUSB. But given the proliferation of USB power adapters for the Raspberry Pi, I understand why they kept with that. With the exposed GPIO pins on the top of the add-in board, creating such a connector and drilling the needed hole in the case wouldn’t be difficult.

Same with adding a means of powering a 40mm 5V case fan. Which I’ll probably look into later.

For creating a small set-top box for the Plex Media Player, Kodi variant (e.g. OpenELEC), or even RetroPie, this is a very good, compact option. It has about the same footprint as a Roku Premiere box but taller. I hope we’ll see similar enclosures hit the market that don’t have the mSATA slot, but still have an expansion board that provides a power button and a better power connector.

The mSATA slot, though, is easily the biggest source of complaint for this, and the most useless and costly feature in the kit.

Mainly because you won’t see the SSD’s performance since it’ll be limited to USB 2.0 (~480Mbps). And USB drives are much less expensive than mSATA SSDs at similar capacities. At my local Micro Center, for example, a 64GB USB 2.0 drive is around 15 USD as of when I write this. A 64GB mSATA SSD is available on Amazon for 40 USD. And since you’re limited to USB 2.0 speeds, there’s virtually no point buying the SSD.

With one minor exception. SSDs are designed to be used as primary storage. Most USB flash drives are not. But there’s still a more cost-effective, resilient option: an external HDD.

It’s also more cost effective at larger capacities, whether you buy one pre-made like the WD Book, or buy an enclosure and an HDD of your choice. A 500GB HDD can be had for as little as 25 USD, and a 1TB HDD can be had for a little north of 40 USD. Laptop HDDs are more compact allowing for a smaller enclosure but cost a little more.

And if you use a Raspberry Pi 3, you can set it up to boot from that HDD instead of the microSD.

So while the mSATA slot allows for larger capacity internal storage with minimal power requirement, the USB 2.0 speed limitation and availability of more cost-effective USB 2.0 options makes it a questionable feature.

Final setup

I have the box set so the HDMI goes into my A/V receiver, and my Harmony Hub is configured to use only the receiver and television for the “Plex Media Player” activity. The box is on all the time and isn’t controlled by the Hub.

For the network connection I’m not using the Pi3’s built-in wireless, instead opting to have it wired into a switch. The Pi3 supports 802.11n, which provides for up to triple the bandwidth of the Pi3’s Fast Ethernet, and I have a wireless router (connected to be an access point) literally 6 feet above the box. But it was easier to just wire it in.

Plus 100Mbps is more than enough for the 1080p files I have on the server, even at full Blu-ray size (~20+GB). And if my calculations are correct, it should still be enough for 4K video files.


Misinterpreting the Supreme Court

Nowhere in the Constitution can it be construed that the government is disallowed completely from giving any kind of money to religious organizations or institutions. Indeed the availability of Federal student loans and other State and Federal funding for religious students should be telling on that mark. For example students at Brigham Young University are not ineligible for Federal grants and loans.

Yet that seems to be the point of view of most. And it’s led to a rather startling misinterpretation of the Supreme Court’s decision in Trinity Lutheran Church v. Comer. First the facts.

Trinity Lutheran Church of Columbia, Missouri, wanted to replace the surfacing under their playground equipment. Not only would this be safer, but it’d bring them into compliance with certain laws, including the Americans with Disabilities Act. So for funding this venture, they turned to the Missouri Department of Natural Resources and a public grant program. Despite ranking high enough to qualify for their grant, they were denied only because they are a religious organization.

And they turned around and sued in Federal Court. And it was appealed eventually to the Supreme Court of the United States, who ultimately ruled in their favor.

And according to some journalists, it’s as if government is now going to start funding religious organizations. This is likely to be the most misinterpreted Supreme Court decision since Citizens United.

USA Today used the headline “Supreme Court imposes church tax” and said, “Americans should have the right to support only the religious groups of their choosing.” Oh the irony of this statement. By that logic, Americans should have the right to support only the institutions they wish. So let’s abolish all taxation and make everything voluntary. Except that’s not going to happen.

Ahead of that statement, USA Today said this, “By asserting that houses of worship have a legal right to public funds in some cases, the high court has imposed a modern-day version of a church tax on all of us.” Except that is NOT what the Supreme Court said at all. Nowhere did they say that religious organizations are entitled to public funds.

The Week used the headline “How the Supreme Court just dangerously undermined the separation of church and state” and said:

At issue is the Supreme Court’s decision today that the state of Missouri was required to provide funding to a church-run preschool and daycare center under a program to improve playgrounds. Sotomayor wrote a powerful dissent which again makes clear that her nomination was one of the best decisions Barack Obama made as president. But only Justice Ruth Bader Ginsburg joined it. Astonishingly, both Obama’s other nominee, Elena Kagan, and the Clinton nominee Stephen Breyer joined Roberts to vote to require Missouri to provide the funding.

No requirement was ever stated. Indeed the Supreme Court stated the exact opposite:

The express discrimination against religious exercise here is not the denial of a grant, but rather the refusal to allow the Church—solely because it is a church—to compete with secular organizations for a grant.

The Court even hammered this point by citing Associated General Contractors of America v. Jacksonville, 508 US 656 at 666 (1993): “[T]he ‘injury in fact’ is the inability to compete on an equal footing in the bidding process, not the loss of a contract.” So the Court is not saying the grants must be awarded. Only that religious institutions must be able to compete alongside secular organizations for public funds.

When the government offers a public grant program, it must treat all applicants equally. If religious institutions apply for the grant, the condition can rightly be placed on the grant that the funds in question are to be used only for some public benefit. The funds can’t be used, for example, to replace the Bibles or songbooks inside the church, or repair or replace the organ.

A playground or a parking lot, however, is a different story, so long as both are available to the public.

Indeed the Supreme Court left open the idea that a religious institution can be disqualified from a grant program if the funds will not be used for a benefit available to the public, referencing Locke v. Davey, 540 US 712 (emphasis theirs): “Davey was not denied a scholarship because of who he was; he was denied a scholarship because of what he proposed to do—use the funds to prepare for the ministry.”

So what about the fungibility of money? Let me just say that if you set aside that argument with regard to Medicaid funds to Planned Parenthood, you must also set that aside here.

So again to summarize: the Supreme Court said only that churches and other religious institutions must be given the opportunity to compete on equal standing with secular organizations. They didn’t say the grants must be awarded to churches and religious institutions. Nor did they say churches must be allowed to use the funds for a religious purpose.

To be clear, a church applying for a public grant to replace anything related to the establishments of faith — e.g. Bibles, crosses, etc. — will likely be denied that grant. And can be denied that grant under the Supreme Court’s ruling. But when it comes to publicly-available benefits a church provides, they must be able to compete on equal standing with secular organizations for public grants.

And while a church should turn to their congregation for funds for renovations or upgrades, such as the aforementioned playground resurfacing, there is nothing that says they must only turn to their congregation. They are free to seek funds elsewhere, including public grant programs, provided the public grant is used for a public benefit.


MO SB5 does NOT mean women can be fired or evicted for taking birth control or procuring an abortion

One thing that really grinds my gears is when people completely misstate what a bill or law allows and doesn’t allow. I see it with gun laws, and now it’s with Missouri SB5.

Missouri SB5, also called the “Missouri Omnibus Abortion Bill”, is basically another attempt by an anti-abortion State to see what they can enact that will survive lawsuits in Federal Court. Similar attempts were overturned by the Supreme Court in Whole Women’s Health v. Hellerstedt, 579 US ___ (2016). So now going on Supreme Court guidance, or likely in complete abeyance of it, Missouri is trying to see what they can do to regulate the few abortion facilities within Missouri out of existence.

But if you google Missouri SB5, you’ll find headlines like these:

  • “Women on Birth Control Could Be Barred from Working If Missouri Lawmakers Get Their Way”
  • “Women who use birth control could be fired in Missouri”
  • “Missouri Votes to Let Employers Fire People Who Use Birth Control”
  • “Missouri Bill Legalizes Discrimination for Birth Control Use”
  • “Missouri Could Soon Allow Employers to Fire Workers for Using Birth Control”

The big problem with these headlines and other articles like them? They all cite each other as sources, and none of them cite the specific provisions of the bill in question granting what they claim! So I went looking to find the bill in question.

The claim is that the bill is intended to preempt a St Louis ordinance along with enacting sweeping new restrictions on abortion clinics and providers in Missouri. But they’re drastically overstating the bill’s provisions. Because it appears people who have no idea how to read a bill are trying to interpret it.

There are two provisions in SB5 relevant to the claims above. First is 188.125(5):

A political subdivision of this state is preempted from enacting, adopting, maintaining, or enforcing any order, ordinance, rule, regulation, policy, or other similar measure requiring a real estate broker, real estate salesperson, real estate broker-salesperson, appraisal firm, appraiser, as such terms are defined in chapter 339, a property owner, or any other person to buy, sell, exchange, purchase, rent, lease, advertise for, or otherwise conduct real estate transactions for, to, or with an abortion facility or for, to, or with a person for the purpose of performing or inducing an abortion not necessary to save the life of the mother, if such requirement is contrary to the religious beliefs or moral convictions of such real estate broker, real estate salesperson, real estate broker-salesperson, appraisal firm, appraiser, property owner, or other person.

So what does this mean? That no city in Missouri can enforce an ordinance requiring a realtor to work with someone who wants to set up a facility for performing elective abortions. There isn’t anything in here about a landlord being able to evict tenants who use birth control or procure an abortion.

Next is 188.125(6):

A political subdivision of this state is preempted from enacting, adopting, maintaining, or enforcing any order, ordinance, rule, regulation, policy, or other similar measure requiring an employer, employee, health plan provider, health plan sponsor, health care provider, or any other person to provide coverage for or to participate in a health plan that includes benefits that are not otherwise required by state law.

This provision basically means that cities cannot enact minimum requirements for health insurance that exceeds the minimum requirements provided by State law.

The bill does not do what is claimed. I searched through SB5 and could not find the provisions claimed by the above headlines. And no one claiming the same as the above headlines actually cites the bill itself.

But unfortunately this is just par for the course from the mainstream media, it seems.

Update: On June 29, 2017, Newsweek acknowledged the earlier reporting on Missouri SB5 was erroneous:

Contrary to news reports, a controversial new bill in Missouri does not attempt to allow employers to discriminate against women who used birth control, the governor’s spokesman told Newsweek Thursday.

What [Missouri SB5] would not do is bar women on birth control from working. The impact of the bill was erroneously reported last week by Newsweek, Bustle, the Associated Press and Feministing. The bill was widely misinterpreted to include measures that made reproductive health care decisions a criteria for employers, but focused primarily on abortion providers and alternative agencies.

Newsweek has retracted its June 23 report.