Language Selection

English French German Italian Portuguese Spanish

Programming: 'DevOps', Caddyfile, GCC 8.4 RC and Forth

Filed under
  • A beginner's guide to everything DevOps

    While there is no single definition, I consider DevOps to be a process framework that ensures collaboration between development and operations teams to deploy code to production environments faster in a repeatable and automated way. We will spend the rest of this article unpacking that statement.

    The word "DevOps" is an amalgamation of the words "development" and "operations." DevOps helps increase the speed of delivering applications and services. It allows organizations to serve their customers efficiently and become more competitive in the market. In simple terms, DevOps is an alignment between development and IT operations with better communication and collaboration.

    DevOps assumes a culture where collaboration among the development, operations, and business teams is considered a critical aspect of the journey. It's not solely about the tools, as DevOps in an organization creates continuous value for customers. Tools are one of its pillars, alongside people and processes. DevOps increases organizations' capability to deliver high-quality solutions at a swift pace. It automates all processes, from build to deployment, of an application or a product.

  • How to solve the DevOps vs. ITSM culture clash

    Since its advent, DevOps has been pitted against IT service management (ITSM) and its ITIL framework. Some say "ITIL is under siege," some ask you to choose sides, while others frame them as complementary. What is true is that both DevOps and ITSM have fans and detractors, and each method can influence software delivery and overall corporate culture.

  • JFrog Launches JFrog Multi-Cloud Universal DevOps Platform

    DevOps technology company JFrog has announced its new hybrid, multi-cloud, universal DevOps platform called the JFrog Platform that drives continuous software releases from any source to any destination. By delivering tools in an all-in-one solution, the JFrog Platform aims to empower organizations, developers and DevOps engineers to meet increased delivery requirements.

    For the uninitiated, JFrog is the creator of Artifactory, the heart of the Universal DevOps platform for automating, managing, securing, distributing, and monitoring all types of technologies.

  • New Caddyfile and more

    The new Caddyfile enables experimental HTTP3 support. Also I’ve added a few redirects to my new domain. All www prefix requests get redirected to their version without www prefix. My old domain redirects now to my new domain Also I had to add connect-src 'self' to my CSP, because Google Lighthouse seems to have problems with defalt-src 'none'. If just default-src 'none' is being set, Google Lighthouse can’t access your robot.txt. This seems to be an issue in the Google Lighthouse implementation, the Google Search Bot is not affected.

  • Content Addressed Vocabulary

    How can systems communicate and share meaning? Communication within systems is preceded by a form of meta-communication; we must have a sense that we mean the same things by the terms we use before we can even use them.

    This is challenging enough for humans who must share meaning, but we can resolve ambiguities with context clues from a surrounding narrative. Machines, in general, need a context more explicitly laid out for them, with as little ambiguity as possible.

    Standards authors of open-world systems have long struggled with such systems and have come up with some reasonable systems; unfortunately these also suffer from several pitfalls. With minimal (or sometimes none at all) adjustment to our tooling, I propose a change in how we manage ontologies.

  • GCC 8.4 Release Candidate available from
    The first release candidate for GCC 8.4 is available from

    and shortly its mirrors.  It has been generated from git commit
    I have so far bootstrapped and tested the release candidate on
    x86_64-linux and i686-linux.  Please test it and report any issues to
    If all goes well, I'd like to release 8.4 on Wednesday, March 4th.
  • GCC 8.4 RC Compiler Released For Testing

    GCC 8.4 will hopefully be released next week but for now a release candidate is available for testing the latest bug fixes in the mature GCC8 series.

    GCC 8.4 is aiming for release next week as potentially the last of the GCC8 series while GCC 9.3 is also coming soon. GCC 8.4 represents all of the relevant bug fixes over the past year for back-porting to users still on GCC 8. GCC 10 (in the form of version GCC 10.1) meanwhile as the next feature release should be out in the next month or two.

  • Excellent Free Tutorials to Learn Forth

    Forth is an imperative stack-based programming language, and a member of the class of extensible interactive languages. It was created by Charles Moore in 1970 to control telescopes in observatories using small computers. Because of its roots, Forth stresses efficiency, compactness, flexible and efficient hardware/software interaction.

    Forth has a number of properties that contrast it from many other programming languages. In particular, Forth has no inherent keywords and is extensible. It is both a low level and high level language. It has the interesting property of being able to compile itself into a new compiler, debug itself and to experiment in real time as the system is built. Forth is an extremely flexible language, with high portability, compact source and object code, and a language that is easy to learn, program and debug. It has an incremental compiler, an interpreter and a very fast edit-compile-test cycle. Forth uses a stack to pass data between words, and it uses the raw memory for more permanent storage. It also lets coders write their own control structures.

    Forth has often being deployed in embedded systems due to the compactness of object code. Forth is also used in boot loaders such as Open Firmware (developed by Sun Microsystems) as well as scientific fields such as astronomy, mathematics, oceanography and electrical engineering.

More in Tux Machines

Python Programming

  • Python Meeting Düsseldorf - 2020-09-30

    The following text is in German, since we're announcing a regional user group meeting in Düsseldorf, Germany.

  • Making Concurrent HTTP requests with Python AsyncIO

    Python 3.4 added the asyncio module to the standard library. Asyncio allows us to run IO-bound tasks asynchronously to increase the performance of our program. Common IO-bound tasks include calls to a database, reading and writing files to disk, and sending and receiving HTTP requests. A Django web application is a common example of an IO-bound application. We’ll demonstrate the usage of concurrent HTTP requests by fetching prices for stock tickers. The only third party package we’ll use is httpx. Httpx is very similar to the popular requests package, but httpx supports asyncio.

  • Cogito, Ergo Sumana: Changes Coming To Pip In October 2020

    Changes Coming To Pip In October 2020: People who deal with Python: Changes are coming to pip, Python's package installation tool, in October 2020. Please share this migration guide and our video with your circles. [...] I'm working on improving the Python packaging toolchain, foundational work that will (in the long run) make the whole Python experience way less confusing. In the short term this may mess with some people's workflows, so we want lots of people to hear about it now.

  • Production ready Django App in Amazon Lightsail - Weblog

    This article is based in this documentation page and this video where Mike Coleman takes us how to deploy a Django application on Amazon Lightsail. It was also considered two articles from Bitnami (Getting started with Django, and Deploy a Django project).

  • Python's map(): Processing Iterables Without a Loop

    Python’s map() is a built-in function that allows you to process and transform all the items in an iterable without using an explicit for loop, a technique commonly known as mapping. map() is useful when you need to apply a transformation function to each item in an iterable and transform them into a new iterable. map() is one of the tools that support a functional programming style in Python.

  • Pandas Count Occurrences in Column – i.e. Unique Values

    In this Pandas tutorial, you are going to learn how to count occurrences in a column. There are occasions in data science when you need to know how many times a given value occurs. This can happen when you, for example, have a limited set of possible values that you want to compare. Another example can be if you want to count the number of duplicate values in a column. Furthermore, we may want to count the number of observations there is in a factor or we need to know how many men or women there are in the data set, for example.

  • Cleaning Text Data With Python

    Machine Learning is super powerful if your data is numeric. What do you do, however, if you want to mine text data to discover hidden insights or to predict the sentiment of the text. What, for example, if you wanted to identify a post on a social media site as cyber bullying. The first concept to be aware of is a Bag of Words. When training a model or classifier to identify documents of different types a bag of words approach is a commonly used, but basic, method to help determine a document's class. A bag of words is a representation of text as a set of independent words with no relationship to each other. It is called a “bag” of words, because any information about the order or structure of words in the document is discarded.

  • Quit Virtualenv and use Docker

    Don't get me wrong, I really like virtualenv and it's pretty useful in some scenarios. But sometimes you have to deal with OS dependencies and that forces you to install new packages and it can get a bit messy in some scenarios.

Purism/Librem, Librem Mini, and Librem 5 Updates

  • Desktop and Phone Convergence

    The Librem 5 is more than a phone, it’s a full desktop computer in your pocket designed to be just as mobile as you are.

  • Video Editing with KDenLive and the Librem Mini part 2: Keyframe Animations

    Last week we introduced you to a premier workflow for film editors and videographers using free software and freedom-respecting hardware – the Librem Mini and a video editing suite called KDenLive. We also dived into the features of KDenLive and how to achieve certain tasks like using chroma key to remove backgrounds and place objects in new environments. In this article we are going to focus on another important video creation task: keyframe animations. In the video below, we will demonstrate how we achieved a visual in a promo video displaying the workstation power of the Librem Mini, during a transition from a KDenLive screen recording and video footage of a colorful miniature train ride for children on display. Using an image of the minature train captured in a screenshot of the very first frame in the video, I was able to animate the train over the footage of the prior scene to create a captivating custom transition.

  • Software Development Progress July and August 2020

    This is another incarnation of the software development progress for the Librem 5. This time for July and August 2020 (weeks 27-35). Some items are covered in more detail in separate blog posts at The idea of this summary is so you can have a closer look at the coding and design side of things. It also shows how much we’re standing on the shoulders of giants reusing existing software and how contributions are flowing back and forth between upstream and downstream projects. This quickly gets interesting since we’re upstream for some projects (e.g. calls, phosh, chatty) and downstream for others (e.g Debian, Linux kernel, GNOME). So these reports are usually rather link heavy pointing to individual merge requests on or to the upstream side (like e.g. GNOME’s gitlab). New software releases have an extra section so if you’re using phosh, squeekbord, phoc, chatty, etc. outside of PureOS this section might be worth a quick look.

today's howtos

GNU/Linux in Hardware, Arduino for Amazon Surveillance

  • Jetson Nano based system can be powered over Ethernet

    Aaeon’s compact, $475 “Boxer-8222AI” embedded box runs Linux on a Jetson Nano along with 4x USB 3.1 Gen2, HDMI 2.0, RS-232, M.2, mini-PCIe, 40-pin GPIO, and 2x GbE ports, one with PoE/PD. In April, Aaeon unveiled two compact systems: the Nvidia Jetson Xavier NX-based Boxer-8251AI and similar Jetson Nano based Boxer-8221AI. At the time, the company mentioned an upcoming Boxer-8222AI, but without offering details. It has now launched the system, which runs the Ubuntu 18.04 based ACLinux 4.9 on the Jetson Nano.

  • Run the Linux command line on your iPad

    Run a virtualized system using Alpine Linux with iSH, which is open source, but must be installed using Apple's proprietary TestFlight app

  • Light[s]well is a voice-controlled custom lighting installation

    Designed by Brian Harms of NSTRMNT, Light[s]well is a beautifully crafted 4’x8′ light installation for a triple-height living room that’s voice-responsive thanks to the Arduino Alexa skill. Light[s]well is constructed out of 80/20 extrusions and fasteners, with individually addressable LED strips embedded in the channels of the structure. 74 sheets of laser-cut cardstock make up the undulating light-diffusing wave pattern. According to Harms, 30 LEDs per meter strips were used to give each gap in the cardstock two LEDs per structural metal beam, for a total of six LEDs per gap. The LEDs are controlled by a MKR1000 (via a logic level shifter) along with the Arduino IoT Cloud.