Running Jenkins in Docker on AWS or a Mac

I’ve been working on a Jenkins image that will run in AWS. At the risk of going full Inception in the opening paragraph, I want the Jenkins container running in Docker to be able to run Docker commands. Running Docker inside Docker is a possibility but the author of the feature has other suggestions for this use case. So I want the running Jenkins container to be able to access Docker running on the host machine. Read more...

The Metaphors We Build By

The practice of software development is frequently described in terms of metaphors. The point being to establish a non-obvious connection or analogy between the creation of abstract logical structures executed by computers and other pursuits that are somehow similar. Metaphors are powerful cognitive constructs by which two words or ideas are linked by association or identity even if they seem dissimilar. When Shakespeare said “all the world’s a stage”, he was using metaphor. Read more...

Flask on Shared Hosting

In the course of experimenting with Python and Flask, I decided I wanted to deploy a Flask-based Rest API to the hosting provider that I use. I admit, this is not nearly so cool and modern as using a Docker container or hosting it as a Serverless Lambda app in AWS. Since I am already paying for this web site, however, deploying it into my existing shared hosting account means it costs me nothing extra. Read more...

Visual Studio Code, Python and pipenv

I’ve been doing some experimenting with pipenv to simplify my nascent Python programming workflows and also with Visual Studio Code as a cross-platform code editor. So naturally I want VS Code to use the python version from my pipenv-based virtual environment (as one does). I also want the compiled .pyc files to not show up in the explorer view. Fortunately, both of these things can be accomplished by overriding some default VS Code settings. Read more...

Hugo Site Automation

This site is built with a static site generator called Hugo. It works well for what I’m trying to do and it’s more secure and faster than a CMS. Since I’m a big proponent of continuous delivery and project automation, it seemed only right to get the site update running in a pipeline on every commit to master. This post outlines that process. Caveats This isn’t a Hugo tutorial. There’s plenty of information on the Hugo web site that I’m not going to cover here. Read more...