Hello, I'm David!

Herein I ramble.

Direnv: for secure coding and kind documentation

What environment variables are Introduction to /usr/bin/env /usr/bin/env (or just env) echoes out all of the currently set environment variables. Shebangs at the top of files in Unix-based OS’s determine how to execute instead of by file extension. Might see #!/usr/bin/env python or #!/usr/bin/env ruby as a nicer way of not hardcoding the path to ruby or python binary. Why not #!ruby or #!python? Environment variables such as GEM_HOME. Let’s take a look into what is set in your terminal environment: (Incoming!

First thoughts on Habitat

This past week I was at ChefConf going to various panels, intent on learning about Inspec and the best practices therein. While there, half of the panels were on this thing called Habitat, which I originally thought to be Yet Another Docker Alternative ®. First of all, it’s not. Like Vagrant’s relationship with Virtualbox, it tends to pair nicely with it and use it by default, but it is not the only way to use it by a long shot.

Intro to rclone

The other day, as I was looking for a way to keep Vivaldi in sync across my devices, I stumbled onto a paid product which syncs a local directory with a remote one on one of a few cloud providers. My main ones I like to use are Dropbox, Google Drive, and MediaFire, but I would like to be able to use S3 and other more robust options for when I start scaling up in my storage needs.

Iron Crystals

Today, I’ve begun looking into compiling the Crystal compiler from another direction, possibly opening up the cross-platform capability of Crystal to all of the operating systems certain other popular languages already support. In past weeks, I’d begun digging into porting crystal to run under Alpine Linux, that way I can have a very small, very specialized docker container to compile Crystal projects, or even run their binaries. The problems I ran into were that Crystal is a garbage-collected language.

Local gems with Bundler

Testing an unreleased version of a gem? Want to develop 2 unreleased projects that are based on each other and not have to worry about the following? 1 gem 'some_gem', path: '../my-dev-snapshot' Leaving the Gemfile as such will screw with your project history, so we want the version of Gemfile as it will be when the gem is released, keeping that version in our “git memory”. See the following: 1 bundle config local.