Uber
Robert

Technology blog about stuff I love!

  1. Using Certbot with Route53 plugin for Internal Sites

    It’s been a while since my last post! Today, let’s explore how to use Certbot’s Route53 plugin to generate SSL certificates using certbot-dns-route53. Typically, Certbot verifies domain ownership by placing files on a public web server and checking for their existence. However, this approach doesn’t work for internal services that are inaccessible from the internet.

  2. Download S3 Backups

    In the last blog I wrote I detailed how to send backups directly into S3. You might want to send backups to S3 rather than doing snapshots of your block devices in EC2 so that you can later download those backups and keep some form of your data in house. In this blog detail a basic script that does just that.

  3. EC2 to S3 Backups

    This blog post will go over the basics on getting automatic backups going from an AWS EC2 instance into an AWS S3 bucket. Storing your backups in S3 is a nice method because you get such good network performance keeping the data in AWS and then you can do a local backup to from the S3 data without effecting server performance or opening up any extra ports from their firewalls.

  4. Setting Puppet Defaults with Resource Collectors

    In an environment we often have files or configurations that we want to have on every node but then customize on specific nodes. For example a customized Ganglia gmond.conf file with differnt ports based on which cluster the machine belongs. The most basic method of doing this is with a giant case statement within the configuration file, but this gets unweildy at scale. A great solution for this is a resource collector. Resource collectors let you do a “find and replace” on an already defined resource. In the ganglia example it will let us define the gmond file once with default cluster settings, and then override it’s attributes for any node with a more specific cluster.

  5. Crea the 2D Sandbox Game

    I finally got some time to sit down and play the beta version of Crea by Siege Games and I must say its been great so far. The content seems to have been coming along nicely since the early versions I played and the mechanics are pretty great. It is really amazing what they’ve done considering the team size. I’m now just sitting around waiting for bosses. =D

  6. Puppet Master Health Check for HAProxy

    Basic HAProxy monitoring for puppet masters is pretty easy, just have HAProxy check puppet’s default port, 8140. This works great for normal usage but what if you want to upgrade the puppet masters or test large manifest changes slowly? Just stopping puppet works for upgrades, but makes it difficult to test the server after the upgrade is complete. Not to mention that there’s a chance puppet could die but since HAProxy only tests opening an ssl connection, the node would stay in the VIP. We obviously need a better way to dynamically enable/disable nodes from HAProxy without having to manually edit HAProxy’s config.

  7. A Random Walk Down Wall Street

    Although my profession is in the technology industry, I’ve always been interested in finance, Wall Street and investing. I’ve read a number of personal investment books and just finished reading A Random Walk Down Wall Street. I must say this is the best investment book I’ve read so far. Most books I’ve read have fit in either the “inside view into the world of finance” (i.e. The Big Short) or a more basic “follow this formula and you’ll be rich” (i.e. You’re Money Ratios). This book takes a stab at both categories by first picking apart the wider finance industry and its pitfalls and then looking at how you should invest to work around all the sharks out there.

  8. Foreman Trends

    I’m super excited about the 1.1 release of Foreman, as it has a chunk of my code in there! My old work needed a way to track historical trends in our infrastructure over time and gave me the task of coming up with a solution. The Trend pages in Foreman give a graph of the number of hosts with a puppet fact value over time, and the list of current hosts.

  9. Early Retirement

    Saw this article on USA Today about early retirement. The article hits on a lot of really good points that I’ve felt for a few years now. I personally believe that all the retirement mumbo-jumbo out there is a little wrong, or at least non-optimal. My personal goal is not so much to retire early but to be finished saving for retirement early so I can maximize the value of compounding (and have a lot of fun after its off the list). For example finish saving by 35 then just topping up for fun as I get older from there.

  10. OneTab

    I just found this tool recently and have found it extremely useful. It is called OneTab and it’s so simple that it’s brilliant. I personally am an avid browser, but not a great reader, of the web. So I often open up tabs of interesting articles for later consumption, usually once I’m home and have a beer in hand. This often leads to 50+ tabs open in Chrome. Luckily my MacBook has gobs of ram so this isn’t a pressing issue, but it is hard to find the tab I’m looking for. Not to mention that if my Chrome crashes I get this sinking feeling in my gut.

  11. A Second Pair of Eyes

    A few days ago I moved my hosting off of Amazon EC2 and Rackspace and onto my local Comcast connection. Sure, I’ve lost a lot of reliability but hey, can’t beat free. I was running into space issues and needed more RAM and my local PC has and i7 with 24GB of RAM so it sounded like a better solution.

  12. Crazyflie Nano

    I just saw an amazing little video on the Crazyflie Nano Quadcopter. This thing is so cool! I am going to try to talk the wife into getting one. One of the neatest things is that they are open source and moddable so you can change it’s mechanics and software to what you want.

  13. Mac and Dell Monitor can not Display this Mode

    Sometimes technology is totally frustrating. I spent a couple hours today fighting with my monitor and power at my desk. The external monitor, a Dell 2405, kept flashing “can not display this mode” as though my laptop was sending a bad signal. I searched around and found a lot of posts with others having the same issue.

  14. Using Cloudinary and CarrierWave for Rails Image Uploading

    I just finished adding Cloudinary as my host for images uploaded on a test site of mine. It ties in cleanly with CarrierWave and removes the need for RMagick to be installed on the VPS. This was a great solution as the RMagick gem is no longer being maintained on github and the Cloudinary free plan is quite reasonable for my usage.

  15. Weekly Updates

    Hey folks,

  16. Zsh plugin for Nova CLI

    After going through making the tutorial for OpenStack CLI, I got a little irritated at how long the commands are; primarily the boot command with its dozen arguments. So I made a plugin for oh-my-zsh to autocomplete the madness. The plugin is located in my github repo oh-my-zsh-nova. To install just copy the nova directory into the oh-my-zsh plugins directory.

  17. OpenStack CLI

    Starting and managing machines from the CLI is at times useful. It is nice managing your instances from your local machine without the need of a web browser. Here’s the basics on how to start a host.

  18. Your First OpenStack Instance

    I’ve been working with OpenStack at work and there has been a little confusion with users on how to spin up instances. Some of the concepts are a little new, even if they are relativly simple after you see it once. And the OpenStack documentation is so huge that it takes months to process, which is not great for Joe User. This will guide you through getting a plain instance up on OpenStack and is geared to an average user who just wants this damn system started already.

  19. Jekyll, Jenkins, and Github OAuth

    Just finished my Jenkins setup for this Jenkins blog. Jenkins is a pretty sweet Continuous Integration server. Here’s how it all went down:

  20. Sectarian Syria

    There were quite a few articles around the web yesterday about a UN Report that the Syria conflict turns ‘overtly sectarian’. I know this is a little different topic from what I normally would write about, but the report is just so dumb that I must comment.

  21. Language Complexity

    I find different languages quite interesting in programming. It is mind boggling that there are so many and so many personal preferences to go along with them. Compounded with the fact that they are almost all constantly changing and evolving. I just finished an interesting glance at an article on a visual comparison of language complexity

  22. Upgraded Fact Imports

    Foreman has a script to update it’s facts by going through the fact’s in /var/lib/puppet/yaml/facts/*.yaml and posting them to the Foreman server. The only issue is that the script does this one fact at a time and waits for the server response before proceeding which was taking long enough that the hosts had all reported back in again before the script could loop through all the hosts once.

  23. Getting FreeNode and AndChat to play nice

    I recently had a battle to get Andchat and freenode IRC to play nicely. Freenode changed their policy sometime ago where people on mobile or coming from Tor need to connect with SASL (Simple Authentication and Security Layer). Its not too hard to setup but finding the resources on how to do it was a little troubling. Main issue is that AndChat doesn’t just have a “turn on SASL” setting and no hints in its UI. So… here’s the scoop:

  24. Hello World!

    I’m excited to get this blog thingie started. I’ll be collecting a few of the tidbits that I’ve learned over time here. And migrating my little bit of content on Tumblr over here.