I’ve been using Emacs for over two decades and am still surprised by what it can do. While trying to figure out how to edit remote files over sftp I came across documentation for editing files as root using “sudo”.
Using the net/url package in Go
One of my pet peeves in code reviews is creating and manipulating URLs by hand. It’s a never-ending source of easily-avoided bugs that can be caught at code review time instead of in testing or production. It’s just so tempting to use fmt.Sprintf() or string concatenation but you are guaranteed trouble later on. It doesn’t help… Continue reading Using the net/url package in Go
Ultimate Guide to Docker HTTP Proxy Configuration
Using a HTTP proxy is a boon to performance, especially if you have a slow link to the Internet. However if you’re using Docker in a corporate environment, sometimes you are forced to use a HTTP proxy as outgoing connections to ports 80 and 443 are often blocked. For most applications it’s usually a simple… Continue reading Ultimate Guide to Docker HTTP Proxy Configuration
Recordings about Valgrind at FOSDEM ’17
If you’re interested in the internals of Valgrind you may want to watch the following two videos recorded during FOSDEM 2017 in Brussels. A dozen years of Memcheck: Looking backwards and looking forwards Where next for Valgrind’s dynamic instrumentation infrastructure? Both videos are by Valgrind’s original author, Julian Seward and provide a fascinating combination of architectural and… Continue reading Recordings about Valgrind at FOSDEM ’17
Container of the Week – clue/polipo
A HTTP proxy is an essential component if you have a slow Internet link, or are simply doing a lot of builds that require downloading a lot of data. I like the Polipo caching HTTP proxy as it’s simple and single threaded. I was a bit sad to discover that Polipo is no longer maintained, as of… Continue reading Container of the Week – clue/polipo
Container of the Week – kaggle/python
Machine Learning is a very popular field at the moment and is something that’s in the news and geek culture a lot. Kaggle is a machine learning competition site where you can take part in a (usually sponsored) competition to apply your skills and solve a real-world problem. Putting aside the controversial nature of spec work… Continue reading Container of the Week – kaggle/python
Changing a Docker container’s restart policy
While researching another article I discovered that it’s now possible to change the restart policy for a container without stopping, deleting and re-running it. Apparently this has also been possible for quite a long time, since Docker 1.11 was released in April 2016. The docker update command allows you to change the configuration of a container in several… Continue reading Changing a Docker container’s restart policy
Container of the Week: gettyimages/spark
This week we are looking at a container for Apache Spark. Spark is a cluster-computing framework for data processing, in particular MapReduce and more recently machine learning, graph analysis and streaming analytics. Clustered systems are sometimes difficult to run on a single machine, for example a laptop or desktop, as this use case is often not… Continue reading Container of the Week: gettyimages/spark
Docker Base Images
What are base images? Every application running inside a container is built upon a foundation. This foundation is called the base image and supports everything above it. A virtual machine requires an operating system that is used by the application running inside it, and in a similar way a containerized application requires a base image.… Continue reading Docker Base Images
Kubernetes: Why does it matter?
I wrote an article for opensource.com about Kubernetes: Kubernetes: Why does it matter? Developing and deploying cloud-native applications has become very popular—for very good reasons. There are clear advantages to a process that allows rapid deployment and continuous delivery of bug fixes and new features, but there’s a chicken-and-egg problem no one talks about: How do you get… Continue reading Kubernetes: Why does it matter?