Å·±¦ÓéÀÖ

Matt Butcher's Blog, page 5

December 15, 2015

Configuring Kubernetes on Vagrant

One of the most frequent questions I see about setting up Kubernetes is how one can modify the configuration of a Vagrant/VirtualBox cluster. This, for example, is required to set up an insecure Docker registry or to use Kubernetes extensions like DaemonSets.

Running Kubernetes on Vagrant

Running Kubernetes on Vagrant is straightforward, and the directions for this are on the . The really short version goes like this:

Go to the place where you installed Kubernetes Run a couple of...
 •  0 comments  •  flag
Published on December 15, 2015 13:21

December 11, 2015

Why Glide 0.8 Is Our Biggest Release

The Go package management ecosystem has been missing something -- something most other language ecosystems have had for a long time. The new version of Glide brings it.

Historically, Go dependency management has shied away from a package management philosophy. Instead, two approaches have been advocated:

Copy all your dependencies into your project and manually manage them. Use a tool that pins your dependencies to a particular VCS commit (e.g. a Git SHA).

(An earlier approach, "always...

 •  0 comments  •  flag
Published on December 11, 2015 07:38

November 13, 2015

What it Really Takes to Build a Container Platform

Here is the video of the ContainerDays NYC 2015 session I did entitled "What it Really Takes to Build a Container Platform: 10 Lessons We Learned the Hard Way".

The session covers the Deis project's learning experiences as we've built and re-built our PaaS architecture. I cover some of the encounters (good and bad) we've had with Ceph, Docker, Kubernetes, Etcd, microservice architecture and several others.

ContainerDays in New York City was a fantastic experience. Hoste...

 •  0 comments  •  flag
Published on November 13, 2015 07:49

November 5, 2015

Five Interview Questions You Should Ask Your Interviewer

That awkward moment where the interviewer leans forward and says to you, "Do you have any questions for me?" What do you say? Will your question sound dumb? Will your question give you any useful information? And you know you've got another interview right after this one... what if you use up your questions on this guy?

Over the years, I've been on both sides of the interviewing table, and I've come across some great questions. Here are five that you can ask at every sin...

 •  0 comments  •  flag
Published on November 05, 2015 07:49

October 25, 2015

Querying PostgreSQL to Find The Primary Key of a Table

Recently I found myself trying to programmatically find out which columns on a database table were acting as the primary key. It turns out that there is a relatively straightforward (and standard!) way of doing this.

Postgres provides the SQL-compliant Information Schema database, which contains useful table information, including indices. As I understand it, much of the information you're looking for can be obtained through this schema. And in some ways the table structure (and subsequen...

 •  0 comments  •  flag
Published on October 25, 2015 19:50

October 16, 2015

In Memoriam Jim West

The ancient Greek astronomer and philosopher Heraclitus says that the sun, moon, and stars are bowls of fire facing the earth. The soul, too, is made of fire: flickering, flaring, spreading its warmth. It is the animating force simultaneously constant and ever-changing, yearning toward its brethren in the celestial sphere.

Jim loved the stars. Jim loved people, too. He had a quick mind that so often expressed itself as quick wit. When said with honesty, there is no higher praise of a man'...

 •  0 comments  •  flag
Published on October 16, 2015 06:54

October 11, 2015

Information Feudalism and the Oath You Swore to Your Printer

Welcome to the 9th century. The lord owns the land. The vassals are given permission to farm the land in exchange for fealty, money, products, and services. The oath of fealty binds the vassal to the lord. Feudalism evokes images of castles overlooking European heaths. Small huts dot the landscape, and knights ride on horseback over the surrounding countryside.

But the days of feudalism are returning. The tech culture of the 21st century has given birth to a new kind of feudalism: informatio...

 •  0 comments  •  flag
Published on October 11, 2015 07:30

October 9, 2015

The Biggest Mistake Job Interviewers Make

Over my tenure in the tech industry, I have interviewed probably hundreds of job candidates. From small companies like Palantir and Revolv, to large companies like HP, About.Com, and Google, I've sat on the judging side of the table.

Surprisingly, interviewers (including me) tend to make the same mistake over and over. And the mistake is forgetting which person at the table is the important one.

Before you roll your eyes and mentally recount the story of "that arrogant jerk" wit...

 •  0 comments  •  flag
Published on October 09, 2015 05:58

October 5, 2015

3 Reasons the University Should Up Its Security Game

I recently changed my password for an account at a university with which I am affiliated. It went something like this:

New Password: XPNRWDeai60h$4IQtjLtZ8&9AV Error: Cannot use special characters New Password: XPNRWDeai60h4IQtjLtZ89AV Error: Cannot use a character more than once New Password: XPNRWDeai60h4IQtjLZ89AV Error: Password must be between 8 and 12 characters New Password: pasword123 Success!

The university has fallen behind on security. And it's not just the password polici...

 •  0 comments  •  flag
Published on October 05, 2015 07:39

October 2, 2015

Go Quickly - Parsing Anonymous JSON

Go is great for parsing known JSON formats. But what if you don't know ahead of time what the JSON will look like? There are a few ways to handle this case in Go. On one hand, you can use the tokenizer and sequentially read through the JSON. On the other, you can simply parse the JSON into generic data types and inspect them at runtime. This short post shows how to go about this second way.

This simple example (with error handling removed) shows how to parse a JSON file into an empty inte...

 •  0 comments  •  flag
Published on October 02, 2015 08:05