Just one geek's opinions and epiphanies

Moving On Up

The the northwest side...

Well things are changing around here. I have put in notice at Progrexion Marketing and I am heading to Seatlle to work for Zulily. The last year and a half have opened my eyes to the possibility of changing from a software developer to an infrastructure engineer, or DevOps guy.

Senior Infrastructure Engineer

I shall be known as a Senior Infrastructure Engineer at Zulily, which is fancy talk for Automation Engineer. Well, it entails a lot more than that... so it is kind of a great title.

Change in Venue

Zulily is based in downtown Seattle, WA. So the family is moving right on up to Washington. Monday the packers and movers come, Wednesday the cleaners, and then Thursday we clean carpet and head out. I am very excited.

Being in the heart of downtown Seattle is exciting. Pike's Market, the first ever Starbucks, EMC2, as well as plenty of other neighboring companies.

On to Better

I am not saying Washington is better than Utah, but I am saying we are changing more than just where we live. We plan to eat better, and be more active, in hopes of changing (for good) the habits and lifestyle we have grown accustomed to.

I can't wait to get this journey started... it is driving me nuts sitting around waiting.

My Geeky ToDo List

Every geek should keep a ToDo list, things they need to learn. My list is currently as follows:

  • Docker
  • Docker + Salt
  • Vagrant + Salt
  • Go (The Language)
  • Dart (The Language)
  • Linux Internals
  • More Python

Let me know what you are learning, and maybe we can work out some time to hack on these things together!

Google Interview #1

Today I had my first interview with Google. HOLY COW! I was more nervous than I needed to be, I think. I had to work through the problems given with the engineer on the phone, using a Google Doc. So they could literally see EVERYTHING I was typing, and hear everything I was thinking. Intense! I eventually made it through the process I think. I was asked to not share the questions I was asked, but trust me when I say that EVERY SysAdmin out there should know these things. There was nothing especially difficult, just the nerves throwing me off.

All in all, I can now officially say I have interview with Google, and that is a lot more than a lot of my peers can say. (take the wins you can, right?).

We'll see how Google felt about me in the coming days, because if I passed this round I will have one more phone/browser interview and then face-to-face interviews. Here's hoping I get to round two!

The Webventure!

So, unless you have been living under a rock, you have probably seen and heard about Chromebooks. They are these really cheap laptops... no netbooks, that basically house nothing more than a really light OS called ChromeOS, which is simply a Linux environment running Chromium. All the "Apps" are web apps, and everything you do (with a few caveats) is done online. Since their inception I have thought they would be very cool machines to use, except...

What about the developers?

I mean, seriously, Ballmer was right, things need to be developed for the "Developers, Developers, Developers!"

Making Chromebooks cheap, and making them available is one thing, but making them useful to the people like me who write the code the people who would use a Chromebook need, well that is another story.

Or is it?

The Plan

So my neighbor just got himself (and all his kids) Chromebooks. They have Samsung and Acer Chromebooks. No Pixel, or anything crazy.

The Chromebook Pixel is a Chromebook... but it costs $1300! Who do they think they are, Apple?!

Just simple everyday machines for doing everyday tasks. They all are currently using them for school. The kids for elementary homework, and him for college.

I played with his today, and it really got me going about the state of things.

I have played with Koding, and Codenvy, and I have seen some other great Web-base IDEs in the last few weeks. So the question comes down to, can you do it all without saving anything locally?

Can you develop a full blown service on a Chromebook.

Now, I don't have a Chromebook handy, but I can decide to use ONLY the web browser to complete the task at hand.

So I am setting out, I am going to only use services that are only available online to create a project.


I have used Koding in the past, when they launched, and really enjoyed the experience. I will also use Codenvy, and maybe find a few newer ones to try out along the way. Of course, I will report my findings as I use each one.

I also plan to open source this project. Hopefully I will find some folks with a like mind who can help down the road.

Off I go!

Forcing Placement with i3

So I've been using i3 for a few months, and I have been working on getting things exactly as I like, and that means more fun with the configuration. Today I decided that I don't want my Pidgin windows opening just anywhere, that I am locking them into place on the first workspace.

The Configuration

This is probably the easiest thing I have ever configured with i3, all I had to do was figure out how all Pidgin windows are named, classed, and handled, and then update my i3 config to catch the windows I want and assign them to the right workspace.


The first thing you need to know is the naming and class of your window that will be drawn to your machine. To get that info you need xprop. On an Arch Linux system you simply use pacman to install xorg-xprop. Once installed run xprop and then click on the window you want to assign.

The output will be something wild, but ultimately you are looking for a line like this:

WM_CLASS(STRING) = "Pidgin", "Pidgin"

The second value is the class of the window. So we will attach on that.

i3 Config

In my i3 config ~/.config/i3/config we simply add:

assign [class="Pidgin"] 1

Here we see the assign keyword, then the name of the class we are attaching, and then finally the workspace (1) that we want to force the window into.

Restart i3

Now you can restart i3 by pressing ctrl+shift+r and then open a pidgin window and it will attach to the first workspace.