Most Recent Posts


Vim-Plug Quick Setup

on March 15, 2019

I want you to try this .vimrc setup.

I have had my own .vimrc for years. I recently came across fisa-vim-config and ended up dropping my extensive .vimrc, adopting the one above and adding a few tweaks to make it friendly to me. I was actually looking for more ALE-fixers when I found this gem.

It is simple, self installing and very powerful due to the vim Plugins that are installed and loaded.

Continue reading


on March 13, 2019

I have posted several articles about python fabric and yet I failed to warn you about the dangers of version and module chaos.

Initially, fabric came as a python2 only application. They added support for python3 later. Here is the version I am using in a virtual environment (more about that in a minute). From within my pipenv project directory with pipenv shell loaded this is what I get running fab –version

fab --version
Fabric3 1.14.post1
Paramiko 2.4.2

Here is how I created my virtual environment. I have used almost all of python’s virtual environment tools (and there a quite a few). And there has been a steady progression of improvements in those tools. My current goto for a python virtual environment is pipenv. It is simple, clean, and almost fool proof which is essential for me.

Continue reading

Python fabric - Dynamically Discover Hosts

on March 12, 2019

Python fabric is a library tool for executing ssh commands remotely and responding as you desire. I use python fabric for promoting code and web content. Essentially it is my devops tool to satisfy the single most important devops rule: never log into a server! I use this over ansible or some of the other devop tools because fabric only requires knowning one langauge and that is python.

My network changes a lot as I take servers down or stand them up frequently. Normally that would require changing the environment roles (host lists) in my with all my changes. In the past I set aside certain IPs in my network for each role. For example all my raspberry pies get named before I ever introduce them to the network. Using the option –skip_bad_hosts with fabric is one way to do this but I really want more control.

Continue reading

All Posts