Getting Started With SPDY on Nginx

SPDY is a fancy new way to do HTTP, pioneered by Google. Pretty much all modern browsers support it now, except for of course, IE. If you have SSL enabled and are using nginx, they you are pretty close to running your sites with SPDY. What how easy it is! Step 1: Get a version of nginx with spdy enabled. Ubuntu Get some packages. The Ubuntu packages have “–with-http_spdy_module” compiled, so you can install them with no problem:

Disabling Microphone Auto-Gain (Sensitivity) For Google Plus Hangouts

Google’s Google Plus Hangout / Gtalk plugin automatically adjust your volume to account for varying noise conditions by default. Sometimes this is an undesired behavior, but there is no button to turn it off. Here is how you do it: Linux: Run this in a terminal: echo "audio-flags=1" > ~/.config/google-googletalkplugin/options Windows: Set the registry Key: HKEY_CURRENT_USER\<wbr></wbr>Software\Google\Google Talk Plugin\options\audio-flags = 1 Mac OSX: Edit the plist: ~/Library/Preferences/com.<wbr></wbr>google.GoogleTalkPluginD.plist and set “Audio Flags” = 1

My First Published Puppet Module: bios

What? I’ve written lots of crappy Puppet modules. Here is a slightly less crappy module that can help you configure BIOS settings on your servers for you. It works on Dell C class servers and Intel platforms. Please pull request or email me if you want to have it work on something else too! Why? BIOS settings should be considered configuration just like any other configuration, and hence managed by your configuration management tool, if possible.

Puppet on OpenWrt!

Status: Github Repo is here: OpenWrt package files are submitted for inclusion Puppet/facter patches have been included in Trunk for inclusion in puppet 3.2 Binary packages have been made for early adopters (and me) Why? To scratch my own itch, and for Fun! How? Downloads are here: Because of the dependencies, it is probably easier to add the repo: . /etc/openwrt_release VERSION=`echo $DISTRIB_RELEASE | cut -f 1 -d -` TARGET=`echo $DISTRIB_TARGET | cut -f 1 -d /` LINE="src/gz puppet-packages http://download.

Picking Server Hostnames: Worstest, Worser, Worst… Better, Betterer, Bestest

Picking a server hostname is abig deal. I’ve seen quite a few, lets traverse the hostname-awesomeness-continuum and see if we can learn something. Worsest morpheous trinity alf Why do these suck? These names have no information what-so-ever. If you see a server alert, you have no clue what services are actually down. It might as well be a random string. IT is a random string. Pro Tip: Don’t give make server hostnames random strings.

Decoding Balanced Payments Puzzle 1

A strange string appeared at the bottom of a Balanced Payments blog post: NmQ2ZjYzMmU3Mzc0NmU2NTZkNzk2MTcwNjQ2NTYzNm U2MTZjNjE2MjQwNjU2MzZlNjU3MjY1NjY2NjY5NjQ2MTY1N mI2MTZkNmY3NDc0NmU2MTc3Njk= One of those puzzles to attract coders I guess. The guys at Hacker News spilled the beans, so lets spill them some more. First though,** Mad Props** to the Balanced team for thinking “outside” the unit-test-box. Plus Jenkins rocks. The world needs more Jenkins. Bash? I’m not a developer, so my first instinct was to use the existing set of tools that people have already written to solve this puzzle:

Hacking a Hallmark Text Band: First Attempt

The Hallmark Text Band is a strange thing: Doesn’t Hallmark know kids have cell phones now? Anyway, it is an extremely simple micro-controller driving a led matrix and a C-Max CMM-9201. You get 10 characters, and a small reed-switch? triggers a hardware interrupt, and broadcasts your 10 characters to a friend, and you swap messages. The devices holds 24 messages, FIFO. Memory is volatile. Profanity filter included. Oh well.

Validating Graphite Metrics With Bash!

At my dayjob I get to work with Graphite and power meters. It is cool: To make it easy for my clients to get power information, I’ve written a command line tool called “power” that they can run to get the power usage for a server when running their program. Here is an example: power METER-NAME sleep 10s Pretty handy. The “METER-NAME” is pretty important, as it lets the script know which system’s power you are interested in.

An IPMI SEL Viewing Shootout!

UPDATE (2015-02-18) Albert Chu from FreeIPMI commented that FreeIPMI does NOT attempt to decode OEM events by default. These are events that are OEM specific, so each motherboard may require a different interpretation. FreeIPMI has a --interpret-oem-data option and possibly in conjunction with the -W assumesystemevent option, to attempt to decode these. Unfortunately I no longer have the motherboard I originally ran these on. I might do a followup post with a new motherboard with similar “issues” and see how FreeIPMI compares to the other tools with these options.

Configuring BIOS Settings With Puppet!

You know what it is like to spend time configuring the BIOS on a a server. You reboot the server, and wait for it to take its sweet time to come back up, frantically push its button, hope that you didn’t miss your chance. Then spend some one-on-one alone time with the interface, making sure you do all the right keystrokes to get the settings you want. Sounds like a bad date.