Running a Tonido Server inside Docker

In this post I will describe how to create and use the powerful Tonido file server inside a docker container. The reasons for using Docker are many and well documented, and I think Tonido represents a fantastic example of the oft-described use-case of compartmentalizing software due to dependencies. Continue reading “Running a Tonido Server inside Docker”

Bruce Meets Maria – Artificial Intelligence in the ICU

It was a moment he would live thousands of times, played out slowly, some details emerging, others fading.  There is always the music playing softly as he reads the daily news feed on his tablet, relaxing comfortably with part of his attention on the smooth motion of his vehicle, that sense of enjoyment he got from those few times of constant motion in his commute.  And then a fog seems to fall across the scene.  He is outside of himself, watching, sitting there, a half smile at some humorous post and then a sudden figure appearing in the right window, a vehicle moving much too fast, much too close, something he hadn’t even thought possible in this age of Autonomous Driving Vehicles… Continue reading “Bruce Meets Maria – Artificial Intelligence in the ICU”

Using Docker to Learn a Programming Language

Using Docker to Learn Programming

Basic Use Case

Docker is a fantastic tool for use when learning any programming language. The ability to have a virtual, independent environment that can be manipulated a near infinite variety of ways is indispensable as you progress through learning a new language, especially if you are working on different versions. A Docker image can provide a clean environment on each use or be extended with volumes. It is easy to setup multiple environments using a minimum of space especially if you take the time to really plan, since Docker uses a system of layers when making images you can build up from a vanilla install to multiple package configurations without a separate virtual machine install for each case.
Continue reading “Using Docker to Learn a Programming Language”

Basic Git Setup and Use

Basic Git Setup

I make extensive use of Git many times a day. I would say it is a very basic part of my work-flow, especially with note-taking, learning, and writing blog posts. I use it for keeping track of scripts that I am working on as part of my continuing educational process, so not only is it useful in terms of versioning, which to be honest I hardly if ever use, but also as a lightweight method of maintaining files across multiple machines. Cloud storage systems like Google Drive or Dropbox are too much in terms of bloat for such simple needs and not really easy to use on a headless Linux server accessed only via SSH. Also, being able to access previous versions is important when dealing with software.

These instructions assume a Debian/Ubuntu installation on both the local machine, or client, and the server – accessed via ssh – both with git installed. There is also Git for Windows that works well and from the bash shell utilizes the same commands.
Continue reading “Basic Git Setup and Use”