When you’re building a Docker image for your Python application,
you’re building on top of an existing image—and there are many
possible choices. There are OS images like Ubuntu and CentOS, and
there are the many different variants of the python base image.
Which one should you use? Which one is better? There are many
choices, and it may not be obvious which is the best for your
situation.
So to help you make a choice that fits your needs, in this article
I’ll go through some of the relevant criteria, and suggest some
reasonable defaults that will work for most people.
Go 1.13 introduces new features to the errors and fmt standard
library packages to simplify working with errors that contain other
errors. The most significant of these is a convention rather than a
change: an error which contains another may implement an Unwrap
method returning the underlying error. If e1.Unwrap() returns
e2, then we say that e1wrapse2, and that you can unwrape1 to get e2.
If you’ve spent any amount of time at a Unix command line you’ve
probably already seen xargs. In case you haven’t, xargs is a command
used to execute commands based on arguments from standard input.
In Introducing regular
expressions,
I covered what they are and why they’re useful. Now let’s take a
deeper look at how they’re created. Because GNU grep is one of the
tools I use the most (that provides a more or less standardized
implementation of regular expressions), I will use that set of
expressions as the basis for this article. We will then look at sed
(another tool that uses regular expressions) in a later article.
Although lady’s slipper orchids continued to bloom throughout the
wild woods of Europe and North America, this particular species
(Cypripedium calceolus) had been declared extinct in England as
of 1917. Collectors had destroyed the plant in the early 20th
century, suffering from what was then known as “orchidelirium,” an
incurable psychological illness marked by a need to pillage and
possess, to strip the landscape bare and imprison one’s precious
findings behind the four walls of a personal greenhouse.
In the evening I set up a Raspberry Pi model 3B as a wireless
headless computer. I prepared the SD card on a Mac mini running
macOS Mojave. I wrote down all the steps I took in Wireless Headless Raspberry Pi.
Study
after
study
after
study
into remote work has made one thing clear: Remote workers are more
productive than their office-bound counterparts.
What’s not entirely clear is why.
Yes, people gain back time (and sanity) by avoiding rush hour
commutes. They avoid the distractions of the office. They regain a
sense of control over their workdays. They have more time to
dedicate to family, friends, and hobbies.
But apart from the commute, all of those benefits aren’t necessarily
the result of location independence, but rather the byproduct of
asynchronous communication — giving employees control over when they
communicate with their teammates.
A flaw was found in the way sudo implemented running commands with
arbitrary user ID. If a sudoers entry is written to allow the
attacker to run a command as any user except root, this flaw can be
used by the attacker to bypass that restriction.
CentOS 8 has been released and it includes some really amazing
features. One feature that many security admins will greatly
appreciate is session recording. With this feature, CentOS will
record any/all SSH sessions, which includes all of the user activity
that occurs during the session. Once recorded, videos of these
sessions can be played back by any admin with a Cockpit login.
Because tumblelog has
many arguments it's a good idea to store the command and its
arguments somewhere. While it's possible to create an alias or a
bash script, for example, I decided to use a Makefile.
In the evening I finished documenting how to use a
Makefile
to compile the Sass stylesheet to CSS, run tumblelog, and upload the
generated microblog.