Upgrading the SSD on an MSI GS60 Laptop

Technology
May 19, 2018

Facebook, Politics and Orwell's 24/7 Hate

Politics
Apr 22, 2018
Photo by Thought Catalog
Photo by Thought Catalog

During the 2008 financial crisis, Rod Blagojevich, the governor of Illinois, took on Bank of America by suspending all state accounts with the bank and publicly criticizing them for their role in the subprime mortgage crisis. In 2009, he was convicted for corruption charges, including his attempt to exchange Obama’s former senate seat for political favors, and is currently serving a 14 year sentence in Federal Prison. In 2007, governor Eliot Spitzer of New York pushed the controversial policy that granted undocumented immigrants the right to gain driver’s licenses and pay for car insurance. In 2008, Spitzer resigned from his position, admiting revelations that he solicited prostitutes. In 2017, speculation arose that Mark Zuckerberg could potentially be running for president in 2020. This year, Zuckerberg faces continued scrutiny over data collection and privacy within Facebook after revelations of Cambridge Analytica data collections.

These are incidents involving wealthy individuals, who have sought after monetary and political power. There is nothing directly linking any of the incidents I juxtapose against one another, yet it’s easy for our brains to make those jumps. This is how propaganda is made. The reality is that powerful leaders do not rise in a vacuum. Where once opposition was removed via murders and Stalinesque political purges, in our modern, civilized democracies, leaders are destroyed by defamation, propaganda and prisons.

Read More Right Chevron

Tech Culture Shock: From America to the South Pacific, and Seattle to Chicago

Technology
Apr 16, 2018
Photo by Kate Trysh
Photo by Kate Trysh

I’ve spent the past two decades in tech, mostly as a developer or system administrator. In that time, I’ve worked in a variety of different markets, in six different cities, across three different countries. There are, of course, a number of similarities between companies, no matter where you go. But I also found a lot of oddities that were specific to certain regions and markets. People who only work in one market could get used to an IT mono-culture, and may not realize how things operate differently for their counterparts on the other side of the country, or the planet. In this post I will start with my experiences in Chattanooga, Tennessee and Cincinnati, Ohio. I’ll also talk about international markets and tech scenes from my experience in Melbourne, Australia and Wellington, New Zealand. Finally I’ll cover my return to the West Coast working in Seattle, Washington, and my current scene in Chicago, Illinois.

Read More Right Chevron

Why I Don't Sign Non-Competes

Technology
Mar 20, 2018
Pen and I Agree Check Box

My first job out of University was in the IT department of a payment processing and debt collection company. My desk was juxtapose to a call center where, all day, I listened to people on welfare collect bad checks and credit card debt from other people on welfare. When several of our sales people left to start their own business, taking many of the company’s customers with them, the company began to have everyone in the office, from those in data entry to customer service, sign a non-compete agreement. It was the first non-compete agreement I refused to sign. Over the course of the next fifteen years, I would be asked to sign non-competes several more times, always prior to employment. I’ve always refused, and until recently, I’ve never been denied a position because of that refusal.

Read More Right Chevron

Linux on a MacBook Pro 14,3

Technology
Mar 2, 2018
MacBook Pro 14,3 Running Gentoo Linux
MacBook Pro 14,3 Running Gentoo Linux

Since 2012, at the last three jobs I’ve held as a software engineer, I’ve always used Linux natively on my work desktop or laptop. At some companies this was a choice, and at one it was mandatory. Most development shops give engineers the option of either a Windows PC or a Mac upon hiring them. However, my most recent shop did not. I considered simply running Linux in a virtual machine, however VirtualBox proved to be so slow that it was unusable, and I had some EFI booting issues with a demo of VMWare Fusion.

I probably could have worked through those issues, but instead I decided to take the leap and attempt to dual boot into Linux natively. A considerably amount of work has been done in the open source community to get modern Apple hardware working under Linux, much of it documented under the mbp-2016-linux project on GitHub. I was able to leverage quite a bit of that work to get a mostly working development environment. Although some things are still broken, I’m confident I can work through those issues, and hope this post can help other engineers who want to use modern MacBook Pros as powerful Linux development machines.

Read More Right Chevron

Everyone is doing that thing

Poetry
Feb 3, 2018

Bee2: Automating HAProxy and LetsEncrypt with Docker

Technology
Nov 30, 2017
Bee and Docker Logo

In a previous post, I introduced Bee2, a Ruby application designed to provision servers and setup DNS records. Later I expanded it using Ansible roles to setup OpenVPN, Docker and firewalls. In the latest iteration, I’ve added a rich Docker library designed to provision applications, run jobs and backup/restore data volumes. I’ve also included some basic Dockerfiles for setting up HAProxy with LetsEncrypt and Nginx for static content. Building this system has given me a lot more flexibility than what I would have had with something like Docker Compose. It’s not anywhere near as scalable as something like Kubernetes or DC/OS with Marathon, but it works well for my personal setup with just my static websites and personal projects.

Read More Right Chevron

Exploration

Philosophy
Nov 28, 2017
Waterfall

I went to University in a small town whose population reduced by a third when school was out of session. Past the edge of town was a state park filled with amazing waterfalls, but if you turned off a few roads early, you’d come to a dead end. Beside the road was a trail that led back between houses and down to a secluded creek, a series of cliffs and a maze of paths used by dirt bikes and all-terrain vehicles. We spent weekends exploring this crazy area which so few people knew about.

Today it’s now officially part of the larger state park network. The old entrance has been closed off and an official parking lot has been built three kilometers away. Many of the most amazing trails have been closed off to the world, either sighting safety concerns or with no trespassing signs indicating the borders of private property. What was once a place of imagination and exploration became tamed. Other hikers I met from that era are glad the area is preserved, but I could hear the sense of loss and nostalgia in their voices; that feeling of saudade from that time when we felt like we were on the frontier, trekking through an undiscovered country in our own backyards. On those weekends, between the deadlines of projects, assignments, fraternity parties and final exams, we spent time exploring, both our world and ourselves.

Read More Right Chevron

Password Algorithms

Technology
Oct 24, 2017
Cyberlock

Sometime in 2008, MySpace had a data breach of nearly 260 million accounts. It exposed passwords that were weakly hashed and forced lowercase, making them relatively easy to crack. In 2012, Yahoo Voice had a data breach of nearly half a million usernames and unencrypted passwords. Now you may think to yourself, “I don’t care. I never use my old MySpace or Yahoo account,” but in the case of the Yahoo data breach, 59% of users also had an account compromised in the Sony breach of 2011, and were using the exact same password for both services!

Using leaked usernames and passwords from one service to attempt to gain entry to other services is known as credential stuffing. People should use a different password for every website or service. Password reuse is one of the major ways online accounts become compromised. For the average person, using a password manager to generate unique passwords for every website and app may seem a bit cumbersome or complicated. But there is another way to have unique passwords for every website; passwords that can easily be remembered, yet are difficult to guess. The solution, often discouraged by security experts, is creating a password algorithm.

Read More Right Chevron

Bee2: Creating a Small Infrastructure for Docker Apps

Technology
Oct 23, 2017
Bees in a Beehive

In a previous post, I showed how I wrote a provisioning system for servers on Vultr. In this post, I’m going to expand upon that framework, adding support for Firewalls, Docker, a VPN system and everything needed to create a small and secure infrastructure for personal projects. Two servers will be provisioned, one as a web server running a docker daemon with only ports 80 and 443 exposed, and a second that establishes a VPN to connect securely to the docker daemon on the web server.

Read More Right Chevron