Ohai Chefs!
This week I’ll share my tips and tricks for presenting at a tech conference, based on my vast experience of one conference. So, take it with several grains of salt.
Ohai Chefs!
This week I’ll share my tips and tricks for presenting at a tech conference, based on my vast experience of one conference. So, take it with several grains of salt.
Ohai Chefs!
This week, the week before Chef Conf, I’d like to talk a bit about our team and our culture, and invite you to join us.
Here’s our job posting for a spot on our Infrastructure Engineering team, which I hope you’ll read, but I also hope you’ll read on to get a personal feel for our team and the huge cultural shift happening right now at Nordstrom.
Ohai Chefs!
Work has been busy and I’ve been working on my Chef Conf presentation in my “free” time, so this week I’m rounding up some links I think you’ll like.
This week we’ll look at a practical example of combining a simple shell script with a Ruby one-liner to set and unset environment variables.
At work, we have to go through a proxy server to get to the Internet. To use git, curl, etc. I have to set my http(s)_proxy environment varables. At home I have to unset them since I don’t have a proxy at home. Editing my .zshenv twice a day got pretty tedious so I decided to script it.
At first I tried using sed but after trying for an hour to understand how to write a simple sed script, I opted for Ruby. As it turns out, Ruby has very good support for line-editing and substitution.
Ohai Chefs!
The basic knife.rb you get from the Chef server works, but it’s not suitable to check into version control or share with your team. It has the name of your .pem file hardcoded into it and isn’t flexible enough for team use. This week we’ll look at a generic, flexible knife.rb you can keep in your chef-repo and share with your team.
Let’s say you had a unicorn in your code. Maybe something like this:
________
.##@@&&&@@##.
\ ,##@&::%&&%%::&@##.
^\^ #@&:%%000000000%%:&@#
/.((( #@&:%00' '00%:&@#
(,/"(((__,--. #@&:%0' '0%:&@#
\ ) _( /{ #@&:%0 0%:&@#
!|| " :|| #@&:%0 0%:&@#
!|| :|| #@&:%0 0%:&@#
''' ''' "" ' " " ' ""
Clearly, something is wrong with the unicorn. It’s not facing the rainbow. This week, we’ll learn how to flip the unicorn (or any other text) with an awesome Vim Visual mode mapping courtesy of the inimitable Dr. Chip
Ohai Chefs!
This week, I’ll show you how to time application deploys (or anything else) inside a Chef recipe and send metrics to StatsD.
At work, we’re working to integrate metrics into more and more aspects of our development pipeline. We are already sending Chef run data to Graphite and Chef client version metrics to StatsD/Graphite. This past week, I worked on timing our application deploys via the Statsd-Ruby library inside a Chef recipe. Read on to see how easy it is.
I’ve been using Vim for a few years now starting with the excellent Janus distribution of Vim settings and plugins. As excellent as Janus is though, I really wanted to know each and every setting and plugin for myself. I didn’t want any settings I didn’t understand.
About eight months ago I decided to get serious. I stripped down my .vimrc to about 20 settings I understood and could start using. I put my .vimrc and plugins in a Git repo. I slowly added settings one by one as I learned more about Vim.
If you want to take a similar path, what follows is my recommended way of organizing your .vimrc to keep things organized.
Ohai Chefs!
In this guide we’ll look at some common Chef anti-patterns and I’ll suggest alternative patterns which avoid the pitfalls and lead you to Chef nirvana.
This post was inspired by BryanWB’s post How to write reusable cookbooks, Gangnam Style
Ohai Chefs!
At work, we have yet to use search extensively in our Chef Recipes, but we do a fair number of ad hoc knife searches. The following are some knife tricks and tips we’ve picked up over the last few months. Most of the credit for these goes to my esteemed co-worker, the Impossibly Hip™ Jon DeCamp.
1
| |
1 2 3 | |
Use ‘roles’ plural when looking in the expanded run list.