Installing a Current Version of Node Using Ansible

On of my client’s servers requires nodejs for Gulp and the version in Ubuntu’s repos are old (even Trusty uses version 0.10.25). I created a role in Ansible to install a more current version. I was able to get it down to just a task/main.yml file which is below. The tasks file should be easily changed to allow for other packages.

Continue reading

Great Lakes Bay Region Coders/PHPUG? – Intro

One of the downsides to living in Saginaw, MI is that it’s hard to connect with other programmers in the area. The closest place I found that had some kind of a meetup was Flint and that’s an hour drive for me and the talks don’t always seem to be interesting to me.

My hope is that over the next couple months I can create a social group in the Great Lakes Bay Region for Coders or a PHP User’s Group that are interested in having little meetings where we can share the things we’ve learned. I’m not even 100% sure what’s completely needed for this process to occur but my plan is to document my process on this site (along with other things).

The first thing I did was post to the local Craigslist with the following:

Hello, I’m interesting in creating a group that will meet once a month to socialize and have a short talk on a topic of interest to the group related to programming, web design, and technology. If you’re interested in joining or helping me setup the group please send me an email and we can discuss this further. If you know of someone else who might be interested please send them a link to this posting.

I’m going to see how that works and then see what other options there are for finding people…

Fixing g++: internal compiler error: Killed (program cc1plus)

I was trying to install nodejs in a VM and I received the following error:

g++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.8/README.Bugs> for instructions.
make[1]: *** [/usr/local/src/node-v4.2.1/out/Release/] Error 4
make[1]: Leaving directory `/usr/local/src/node-v4.2.1/out'
make: *** [node] Error 2

I traced this down to being not enough memory and after I increased the RAM to 1024MB it worked fine. I’m amazed node needs so much to compile.

\x16\x03 When Working With HAProxy

I was working with HAProxy today and I couldn’t get it to validate the server but I did find hundreds of these in the access.log. - - [06/Nov/2015:01:38:08 +0000] "\x16\x03" 400 0 "-" "-"

The problem was that I have the following set in my backend section without SSL enabled on the hosts it was checking:

option ssl-hello-chk

I deleted the option and everything worked smoothly after that.

Link Post and Podcast Roundup: August and September Edition

I didn’t feel like I had enough for a August version. Enjoy:

Amazon Web Services in Plain English

I don’t know why Amazon has to make this so complicated but this is a good guide. I actually didn’t even know they had some of these services.

JS-YAML demo. YAML JavaScript parser.

I found this to be super helpful when finding a problem with a YAML document.

DevOps team topologies

This is the best image I’ve seen to explain what DevOps is:


I’m going to adding this to some of my higher level input validation UnitTests ASAP.

AT&T Hotspots: Now with Advertising Injection

This is the problem with free services. It’s never free.

I Had a Baby and Cancer When I Worked at Amazon. This Is My Story

I find it interesting how some employees aren’t happy with the working conditions at Amazon and some are. I don’t have any solutions I just find it interesting.

Learning to code is overrated: An accomplished programmer would rather his kids learn to read and reason

There’s nothing wrong with basic exposure to computer science. But it should not come at the expense of fundamental skills such as reading, writing and mathematics — and unfortunately today our schools, with limited time, have tons of pressure on them to convey those basics better.

As someone who hires programmers I understand the need for them right now but I don’t think everyone needs to know how to program. Spelling and grammar are WAY more important in my opinion.

Incase of Fire


Podcast: FLOSS Weekly 351: Kubernetes

Another cool project I wish I had time to look into.

Podcast: FLOSS Weekly 350: NTP

I found this podcast to be scary. We have a lot of FLOSS software out there that’s key to everything working correctly and it really sounds like the NTP project needs help.

Multiple Vagrant VMs in One Vagrantfile

One of the things I love about Vagrant is how it allows you to quickly create a VM that is very close to your production environment (or better yet EXACTLY like it). We’re starting to work on scaling STAGES from a single server to multiple servers so I’m using Vagrant as the test bed for this process. Because of this we need to work with multiple VMs in the same Vagrant file which isn’t covered by most tutorials.
Continue reading

traceroute Bad.Horse

I’m amazed at what you do with all these TLDs now. I would love to know how this is setup because I’m guessing they don’t have all these routes setup as individual servers.

$ traceroute
traceroute to (, 64 hops max, 52 byte packets
11 (  49.889 ms  43.647 ms  56.112 ms
12 (  45.896 ms  67.432 ms  63.962 ms
13 (  833.709 ms  59.710 ms  54.396 ms
14 (  814.477 ms  65.076 ms  72.313 ms
15 (  845.153 ms  65.974 ms  71.903 ms
16  he.rides.across.the.nation (  1005.514 ms  76.433 ms  70.260 ms
17  the.thoroughbred.of.sin (  78.030 ms  84.778 ms  82.103 ms
18 (  81.958 ms  91.702 ms  89.762 ms
19 (  78.926 ms  111.493 ms  121.994 ms
20  it.needs.evaluation (  1089.204 ms  119.346 ms  86.235 ms
21  * (  824.353 ms  109.227 ms
22  a.heinous.crime (  395.029 ms  109.385 ms  103.859 ms
23 (  894.271 ms  101.942 ms  816.086 ms
24 (  151.219 ms  120.066 ms  112.940 ms
25 (  830.347 ms  126.804 ms *
26 (  831.879 ms  124.121 ms  829.909 ms
27 (  153.145 ms  121.823 ms  120.593 ms
28  he-s.bad (  794.691 ms  128.833 ms  963.309 ms
29  the.evil.league.of.evil (  874.891 ms  130.897 ms  996.284 ms
30 (  1015.256 ms  138.584 ms  136.056 ms
31 (  823.512 ms  140.524 ms  958.807 ms
32 (  985.993 ms  170.036 ms  1126.852 ms
33 (  764.192 ms  148.757 ms  875.543 ms
34 (  154.182 ms  159.267 ms  157.833 ms
35  o_o (  987.712 ms  693.894 ms  260.516 ms
36  you-re.saddled.up (  170.334 ms  221.692 ms  907.964 ms
37 (  169.672 ms  182.466 ms  900.873 ms
38  it-s.hi-ho.silver (  174.726 ms  187.102 ms  176.050 ms
39 (  773.483 ms  180.166 ms  789.419 ms


Quick Tip: Finding When Code Was Deleted In Your Git Repo

Several months ago I deleted a functions because we didn’t think we needed it any more. Today I found out I was wrong but I couldn’t remember when I deleted it or I could just check the commit and pull the function back in. In order to find the commit where the code was deleted you can use the following command:

$ git log -SfunctionNameHere
commit 60b42b9d06dc8a046d338fddf99548f056c2305c
Author: Scott Keck-Warren <>
Date:   Sun Mar 16 11:45:41 2014 -0400

    Renamed String class to StringObject

Then to see the code that was changed you can use:

$git show 60b42b9d06dc8a046d338fddf99548f056c2305c
diff --git a/PHPO/String.php b/PHPO/String.php
deleted file mode 100644
index f87926b..0000000
--- a/PHPO/String.php
+++ /dev/null
@@ -1,63 +0,0 @@
-namespace PHPO;
-use PHPO\ArrayObject;