<?xml version="1.0" encoding="UTF-8"?><!-- generator="WordPress/2.9.2" -->
<rss version="0.92">
<channel>
	<title>btm.geek</title>
	<link>http://blog.loftninjas.org</link>
	<description></description>
	<lastBuildDate>Mon, 23 Jan 2012 23:12:39 +0000</lastBuildDate>
	<docs>http://backend.userland.com/rss092</docs>
	<language>en</language>
	
	<item>
		<title>Stubbing class constants with rspec and Ruby</title>
		<description><![CDATA[I had some Ruby code that utilized File::SEPARATOR and File::PATH_SEPARATOR to run on both unix and windows, so I wanted to stub these values to test for both platforms. There are couple examples out there, building on each other. This example adds a feature that saves and recalls the former value and this example builds [...]]]></description>
		<link>http://blog.loftninjas.org/2012/01/23/stubbing-class-constants-with-rspec/</link>
			</item>
	<item>
		<title>Downloading All The Github Repositories</title>
		<description><![CDATA[I had a need to grab all of the Github repositories for Cookbooks, which is a Github user maintained by the Chef community for collecting many cookbooks in one place for development. All of these cookbooks should be on the Opscode Community site, which is where you should go if you&#8217;re browsing for cookbooks to [...]]]></description>
		<link>http://blog.loftninjas.org/2012/01/12/downloading-all-the-github-repositories/</link>
			</item>
	<item>
		<title>Generating entropy in the cloud</title>
		<description><![CDATA[Virtual machines don&#8217;t produce a lot of entropy on their own. Typically the need for additional entropy triggers talk of hardware based entropy generators or network based entropy distribution protocols. Sometimes you just need a little bit of entropy for a moment.

$ sbuild-update --keygen
Generating archive key.

Not enough random bytes available.  Please do some other [...]]]></description>
		<link>http://blog.loftninjas.org/2011/07/29/generating-entropy-in-the-cloud/</link>
			</item>
	<item>
		<title>Disabling Firefox shortcuts on OS X</title>
		<description><![CDATA[I joined a startup, and they gave me a MacBook Pro. It was bound to happen eventually; all the cool kids use MBPs and startups are cool, right?
The great period of adaption began, as I learned I couldn&#8217;t have simple technology like sloppy focus. One of the greatest inconveniences is the keyboard. I have a [...]]]></description>
		<link>http://blog.loftninjas.org/2011/07/15/disabling-firefox-shortcuts-on-os-x/</link>
			</item>
	<item>
		<title>Recreating the Opscode Chef validation key</title>
		<description><![CDATA[Chef uses a special key pair to create new clients called the &#8220;validation client.&#8221; If you lose this file, or perhaps you end up with an empty CouchDB database and no longer have this client in the database, you could get a 401 Unauthorized error when trying to use it.

$ sudo chef-client
[Thu, 14 Jul 2011 [...]]]></description>
		<link>http://blog.loftninjas.org/2011/07/14/recreating-the-opscode-chef-validation-key/</link>
			</item>
	<item>
		<title>require-rubygems.overrides and gem2deb 0.2.2</title>
		<description><![CDATA[For those working on moving debian ruby library packaging to gem2deb, you can exempt specific hits from the slick built in &#8216;require rubygems&#8217; test by adding the path to debian/require-rubygems.overrides.
For instance, to exempt this:

debian/chef/usr/lib/ruby/vendor_ruby/chef/provider/package/rubygems.rb: require 'rubygems'
debian/chef/usr/lib/ruby/vendor_ruby/chef/provider/package/rubygems.rb: require 'rubygems/version'
debian/chef/usr/lib/ruby/vendor_ruby/chef/provider/package/rubygems.rb: require 'rubygems/dependency'
debian/chef/usr/lib/ruby/vendor_ruby/chef/provider/package/rubygems.rb: require 'rubygems/spec_fetcher'
debian/chef/usr/lib/ruby/vendor_ruby/chef/provider/package/rubygems.rb: require 'rubygems/platform'
debian/chef/usr/lib/ruby/vendor_ruby/chef/provider/package/rubygems.rb: require 'rubygems/format'
debian/chef/usr/lib/ruby/vendor_ruby/chef/provider/package/rubygems.rb: require 'rubygems/dependency_installer'
debian/chef/usr/lib/ruby/vendor_ruby/chef/provider/package/rubygems.rb: require 'rubygems/uninstaller'
debian/chef/usr/lib/ruby/vendor_ruby/chef/provider/package/rubygems.rb: require 'rubygems/specification'
debian/chef/usr/lib/ruby/vendor_ruby/chef/providers.rb: require 'chef/provider/package/rubygems'
Found some [...]]]></description>
		<link>http://blog.loftninjas.org/2011/05/05/require-rubygems-overrides-and-gem2deb-0-2-2/</link>
			</item>
	<item>
		<title>locale errors on debian</title>
		<description><![CDATA[I received the following error while working on a Debian sid box:

$ schroot -l
terminate called after throwing an instance of 'std::runtime_error'
  what():  locale::facet::_S_create_c_locale name not valid
Aborted

With debconf + locales already installed, I ran &#8216;export &#124; grep LANG&#8217; to discover that my locale was set to &#8216;en_US.UTF-8&#8242;. Then I ran &#8216;dpkg-reconfigure locale&#8217; and checked [...]]]></description>
		<link>http://blog.loftninjas.org/2011/04/14/locale-errors-on-debian/</link>
			</item>
	<item>
		<title>Creating a Debian sid emi for Eucalyptus</title>
		<description><![CDATA[For the most part, this is the same as any post about creating an image for Eucalyptus, but I had a hard time figuring out exactly how to put it all together. You need an up to date Debian sid system nearby to take the kernel and ramdisk from. I found having a sid VM [...]]]></description>
		<link>http://blog.loftninjas.org/2011/04/13/creating-a-debian-sid-emi-for-eucalyptus/</link>
			</item>
	<item>
		<title>LVM errors with sbuild</title>
		<description><![CDATA[Here is a strange one that I fixed but I&#8217;m not sure why. Roughly using the SBuildLVM Howto, and the Chef sbuild cookbook, I have an sbuild server. It was working alright for me, but another user was seeing this:
schroot -c lucid
E: 05lvm: File descriptor 3 (socket:[460392]) leaked on lvcreate invocation.
E: lucid-40c0e109-2d5d-4103-bf92-a44288595dcc: Chroot setup failed: [...]]]></description>
		<link>http://blog.loftninjas.org/2011/03/10/lvm-errors-with-sbuild/</link>
			</item>
	<item>
		<title>munin-cgi-graph with fcgid on ubuntu lucid</title>
		<description><![CDATA[Two and a half years have passed since I wrote about running Munin with fastcgi triggered graphs on Debian etch. Unfortunately, not a lot has changed since then. A revolution in trending would have been nice. When I started here munin was triggering graph generation using CGI and was painfully slow to use. I switched [...]]]></description>
		<link>http://blog.loftninjas.org/2011/02/24/munin-cgi-graph-with-fcgid-on-ubuntu-lucid/</link>
			</item>
	<item>
		<title>The power of Chef and Ruby</title>
		<description><![CDATA[The argument that Chef is difficult to learn because recipes are written in Ruby is a fallacy. 

package &#34;vim&#34;

cookbook_file &#34;/home/btm/.vimrc&#34; do
  source &#34;dot-vimrc&#34;
  owner &#34;btm&#34;
  group &#34;btm&#34;
  mode &#34;0644&#34;
end

With the exception of the do/end block, that doesn&#8217;t look like a programming language at all and is way easier to grok than [...]]]></description>
		<link>http://blog.loftninjas.org/2011/02/16/the-power-of-chef-and-ruby/</link>
			</item>
	<item>
		<title>Monitoring Unicorn connections with munin</title>
		<description><![CDATA[Unicorn doesn&#8217;t have any monitoring hooks. Typically folks either put nginx in front and monitor response time, do some backlog magic and track errors or make guesses based on other available information. I&#8217;ve been using a modified version of the unicorn_status munin plugin for a while. It tracks CPU time for a thread and considers [...]]]></description>
		<link>http://blog.loftninjas.org/2011/02/11/monitoring-unicorn-connections-with-munin/</link>
			</item>
	<item>
		<title>Init replacements change fundamental assumptions</title>
		<description><![CDATA[The trend with init replacements
When you write a number of service resource providers for a configuration management system, you get some intimate experience with the quirks of init systems. A slew of new ones are working their way into stable releases lately which seem primarily motivated by decreasing system startup time by allowing services to [...]]]></description>
		<link>http://blog.loftninjas.org/2011/02/10/init-replacements-change-fundamental-assumptions/</link>
			</item>
	<item>
		<title>Knife Reporting: apt + updates</title>
		<description><![CDATA[Nathan and I were discussing yesterday the lack of a good way to visualize all of the updates waiting to be installed across a server cluster. I wrote a another knife script to do this, and Seth Falcon helped me clean it up.

# Knife exec script to search for and describe systems needing updates
# 2011-01-11 [...]]]></description>
		<link>http://blog.loftninjas.org/2011/01/12/knife-reporting-apt-updates/</link>
			</item>
	<item>
		<title>Reporting using Chef&#8217;s Knife</title>
		<description><![CDATA[We have a table in our corporate Confluence wiki that looks something like this. It was a product of a few quick notes to allow the team to build out VMs in parallel, distributed across a number of virtual hosts, and not rely on luck for proper resource utilization. The number fields are the amount [...]]]></description>
		<link>http://blog.loftninjas.org/2011/01/06/reporting-using-chefs-knife/</link>
			</item>
	<item>
		<title>Knife one-liners</title>
		<description><![CDATA[Knife&#8217;s exec sub-command makes it easier to interact with a Chef server from the command line. Let&#8217;s assume I&#8217;ve created a data bag named cluster as follows:

{
  &#34;id&#34;: &#34;www1&#34;,
  &#34;cats&#34;: &#34;lol&#34;,
  &#34;hostname&#34;: &#34;www1.example.org&#34;
}
{
  &#34;id&#34;: &#34;www2&#34;,
  &#34;cats&#34;: &#34;lol&#34;,
  &#34;hostname&#34;: &#34;www2.example.org&#34;
}
{
  &#34;id&#34;: &#34;www3&#34;,
  &#34;cats&#34;: &#34;plz&#34;,
  &#34;hostname&#34;: &#34;www3.example.org&#34;
}

If I [...]]]></description>
		<link>http://blog.loftninjas.org/2010/12/29/knife-one-liners/</link>
			</item>
	<item>
		<title>Wrangling 32bit debs on a 64bit system</title>
		<description><![CDATA[Typically directions for downloading a i386 version of a library for a x86_64 system link to a specific deb package and tell you to download it with wget. A new release of that package often breaks the link, so I wanted to document how to do this using apt. Unfortunately, it looks like apt won&#8217;t [...]]]></description>
		<link>http://blog.loftninjas.org/2010/12/23/wrangling-32bit-debs-on-a-64bit-system/</link>
			</item>
	<item>
		<title>libvirtError: monitor socket did not show up</title>
		<description><![CDATA[Sometimes errors don&#8217;t float to the top of stacks well. 
Our virtualization stack is pretty automated wherein we have a custom script that uses vmbuilder to create the guest, register it with libvirt, create first boot scripts that will have it register with a chef server, and start the VM. We saw this error today [...]]]></description>
		<link>http://blog.loftninjas.org/2010/12/03/libvirterror-monitor-socket-did-not-show-up/</link>
			</item>
	<item>
		<title>Amazon EC2 Network Subnets</title>
		<description><![CDATA[For a project that exists both in Amazon Web Services EC2 US-EAST-1b and another cloud, I wanted to block network traffic between the two to ensure they didn&#8217;t affect each other. I started by doing an whois looking via ARIN for all of the IP addresses we are currently assigned in EC2, and I ultimately [...]]]></description>
		<link>http://blog.loftninjas.org/2010/12/01/amazon-ec2-network-subnets/</link>
			</item>
	<item>
		<title>Script hacks: waiting for the internet</title>
		<description><![CDATA[Now and then the VMs (kvm, libvirt + vmbuilder) I was cranking out would start up too fast, and the &#8220;first boot&#8221; script would run before the host got an IP address and had internet access. Since the first thing I was doing was downloading the Rubygems source using wget (to install chef), and since [...]]]></description>
		<link>http://blog.loftninjas.org/2010/11/30/script-hacks-waiting-for-the-internet/</link>
			</item>
	<item>
		<title>DNS-SD, a printer, and a little luck</title>
		<description><![CDATA[DNS SD, also known as Apple&#8217;s Bonjour, utilizes DNS as a configuration database for automatic service discovery. For the most part, it appears its used by devices more than people. The multicast implementation, or mDNS, is what makes printers automatically show up in OS X when you put them on your network. I recently moved [...]]]></description>
		<link>http://blog.loftninjas.org/2010/11/29/dns-sd-a-printer-and-a-little-luck/</link>
			</item>
	<item>
		<title>virt-manager keymaps on OS X</title>
		<description><![CDATA[I&#8217;m not crazy about the lack of a definitive package manager for OS X. I tried for about a day to work with Open Source on OS X, then I built an Ubuntu VM. I&#8217;ve been using ssh with X forwarding when I need a graphical interface; OS X has reasonable good built in support [...]]]></description>
		<link>http://blog.loftninjas.org/2010/11/17/virt-manager-keymaps-on-os-x/</link>
			</item>
	<item>
		<title>Motorola Backflip charging</title>
		<description><![CDATA[Nightmare.
Chargers:
AC1) Motorola DC4050US0301 5.1V DC 850MA
AC2) AT&#038;T 03577 5.0V 1000ma
DC1) AT&#038;T USB VPC03578
DC2) AT&#038;T USB + MiniUSB MV302927
Cables:
M1) Motorola SKN6378A
M2) &#8220;Motorola&#8221; SKN6238A
M3) Monoprice generic microusb
Dead Phone, AC1, M1 OR M2 OR M3
Green light on Phone, OS starts, displays charging battery
Dead Phone, AC2, M1 OR M2 OR M3
Blue light on AC2, Green light on Phone, OS [...]]]></description>
		<link>http://blog.loftninjas.org/2010/10/23/motorola-backflip-charging/</link>
			</item>
	<item>
		<title>Munin Aggregation with Multigraph</title>
		<description><![CDATA[Six months ago I made note to the pattern for referring to stacked graph data sources in munin:

load.double.stack one=localhost.localdomain:load.load two=localhost.localdomain:load.load
This syntax evaluates to:
graph.value.stack line=host.domain:plugin.value
I&#8217;ve been using multigraph more since then, which is a boon to performance, but it complicates stacked graphs a little. This hurts because it remains very difficult to tell why your graphs [...]]]></description>
		<link>http://blog.loftninjas.org/2010/10/22/munin-aggregation-with-multigraph/</link>
			</item>
	<item>
		<title>Community Cooking</title>
		<description><![CDATA[It&#8217;s been a year since the Opscode Cookbook site was launched and a recent project got me thinking about what parts of my hopes that I wrote about then have taken effect so far. I recently heard that a major Chef user has switched to Ubuntu from another Linux distribution because that is what most [...]]]></description>
		<link>http://blog.loftninjas.org/2010/10/20/community-cooking/</link>
			</item>
</channel>
</rss>

