Getting Started with Rancher, a self-hosted Docker PaaS

Docker is fantastic for building a scalable infrastructure. Not only does it force you to isolate your application into reasonable chunks, but it also encourages you to build these pieces as stateless services. This is fantastic for high availability and scalability, but actually scaling out a pure Docker-based infrastructure is difficult if done manually.

Docker Swarm and Compose are the “official” solutions to this problem– they allow for you to build a giant, elastic Docker cluster that appears as a single machine to your client. Additionally, Compose allows you to scale your application easily to multiple instances.

Despite this, these two components are lacking a couple critical features– cross-machine service discovery, as well as a built-in load balancer that distributes traffic to your scaled Docker infrastructure.

Tutum is a service that adds these remaining components, and to great success. Though you can use your own nodes with Tutum, sometimes it’s desirable to use your own, self-hosted service.

Rancher is an open source Docker PaaS that includes features like service discovery and DNS, load balancing, multi-node support, cross-host networking, health checks, multi-tenancy, and more. Essentially, Rancher takes all the features of Tutum and packs it into a single Docker container that is hosted on your own nodes so that you have complete control.

Even better, Rancher is extremely easy to install in a matter of minutes.

To find out how, check out my new mini-course that I will be expanding over the next several weeks to cover new features in Rancher, as well as expand it to cover how to use advanced features such as service discovery. It’s completely free, and I hope you find it useful!

Northwestern – A WordPress Theme Inspired by the Pacific Northwest

I just launched a brand new, responsive, and completely free WordPress theme. Inspired by my home– the Pacific Northwest (of the United States)– Northwestern is a minimalistic WordPress theme for independent bloggers.

The theme’s look can also be customized to fit your personality, with the primary colors and hero image changeable. Northwestern also supports several of the WordPress post formats, including “aside”, links, and quotes.

Go ahead and grab it for free from my website, and feel free to use it for both personal and commercial websites. More information on the license can be found on the store page.

CI/CD with Docker Containers

I’ve been experimenting with Docker for a while, but in the last year or so there has been an influx in the number of tools that help put Docker containers into production easily. Some of these are from third party companies, such as CoreOS, and some from Docker itself (such as the new Docker Swarm, Docker Machine, and Docker Compose. However, I’ve recently been testing a new Docker workflow that allows me to push code, have it tested, built, and deployed into a production server cluster running Docker.

Read More

LoopPay’s Big Problem, and How Samsung Could Fix It

Today, LoopPay announced that they were acquired by Samsung. This wasn’t entirely unforeseen, considering rumors have been popping up regarding LoopPay’s future integration with Samsung phones. The LoopPay system is a new technology that is tied to the current magnetic stripe credit card system. Using a small loop of wires in a special hardware device, the LoopPay devices essentially mimic the magnetic field caused by a swipe of a credit card, enabling mobile payments at nearly every existing credit card swipe terminal.

LoopPay Devices

The device works like magic– simply place the Fob or Card next to the magnetic swipe slot on an existing credit card machine, press a button on your LoopPay, and the reader will act as if a physical card was swiped. I’ve owned one of these devices for a little over a month (specifically, the LoopPay Card) and it has worked flawlessly every time I’ve used it on a traditional terminal, but there’s one big problem that needs to be solved before LoopPay can become a major player in the mobile payments space.

Read More

How to Install NOOBS on Your Raspberry Pi

NOOBS is a system designed by the Raspberry Pi foundation for installing operating systems onto your Raspberry Pi’s SD card. Not only are you able to install an operating system with a single click, but you can install it over a network or even install multiple operating systems on multiple partitions.

Read More

Raspberry Pi 2 – What’s New, and What’s the Same

A couple days ago, the Raspberry Pi foundation released the Raspberry Pi 2. The Raspberry Pi 2 comes with some fantastic new features that I’m looking forward to utilizing, including an upgraded processor and RAM. Even better, the hardware comes in at the same $35 as the original model B.

Read More

Reverse Engineering Plex: Casting High Bitrate Video to Chromecast

I am a big fan of Plex Media Server— it has a great set of software, both server and client side, and is much easier to setup and use than alternatives such as XBMC. Attached to my ReadyNAS, my Plex server has access to 6 TB of storage.

I also have several Chromecast devices– they’re great little media streamer sticks that simply plug into your HDMI port on your TV. Using your phone as a remote, you can “cast” media from an app (such as Netflix, HBO, or Plex) and onto your TV. Chromecast also has a browser API, so Plex’s website also allows you to cast media to your local TVs.

There’s one major issue, however, in terms of compatibility between Plex and the Chromecast– and it’s not actually the Chromecast’s fault. Plex, for whatever reason, has decided to limit the maximum bitrate of a video file to 12 mbps when casting to a Chromecast device. If you have a powerful PC running as your Plex server, this is fine– the server software will transcode the higher bitrate videos on the fly to 12 mbps. But, I am using an old laptop that can barely transcode to 4 mbps, 720p video files, so the video playback stutters.

Plex claims this forced transcoding is due to “performance issues” with media over 12 mbps, but this is not true1. Not only have users casted media higher than 12 mbps from other apps, but I have successfully gotten around this hard coded limitation and streamed 20+ mbps video without a problem.

Read More

How to Remove the 12 mbps Limitation from Plex to Chromecast

I am an enthusiastic user of Plex, but recently I discovered that they were making the poor choice of hard-coding a bitrate limitation in their Chromecast application. Essentially, this enforced a 12,000 kbps (~12 mbps) limitation on media, meaning that anything that has a higher bitrate would be transcoded. This isn’t a problem when you have a decent server running Plex, but I am running it on an old laptop that can barely keep up with 4 mbps transcodes.

I was able to get around the hard coded limitation (the technical how-I-did-it is also available), and you can do it to:

Read More

Mapping Ebola with D3

Ebola has been a big topic in the news lately, but just how bad is it, and how quickly is it spreading? As a part of a web programming course in the iSchool at the University of Washington, I developed an interactive visualization of the 2014 spread of the disease using D3 and web technologies.

View the Visualization

Read More

Microsoft Band

Shortly after the sync applications were leaked early, Microsoft officially unveiled their latest wearable product– the Microsoft Band. The Band is not a smartwatch, but rather a fitness centered wearable device with several smartwatch-like features. The device’s claim to fame comes from its unique blend of 10 sensors that constantly input data and send it up to Microsoft’s new Health platform.

Read More