Introduction This article summarizes the simple instructions for running DaVinci Resolve and DaVinci Resolve Studio video editing software on Debian GNU/Linux-based systems. Supported Distributions DaVinci Resolve and Resolve Studio work fine on Debian and Ubuntu. Release of Debian tested was Debian 12 (bookworm) amd64. Due to reliance on systemd, the application will not work on Devuan GNU+Linux.…
Introduction Software licensing is an area where the discrepancy between users’ and companies’ interests is glaringly obvious. Even when users are not interested in the licensing terms of a particular product, they are still bound by them. It is exactly those terms that have shaped the product, its monetization methods, and its whole ecosystem. Commercial companies attract users by…
Introduction This article explains the principles on which Unix is based in more detail, gives additional examples and clarifications, and ends with an extended description of the Unix philosophy. Unix and its most popular branches, BSD and GNU/Linux, run on everything and everywhere – on all top 500 supercomputers (GNU/Linux), all Intel CPUs after 2015 (MINIX), all mobile phones and tablets…
Introduction All components of OpenStreetMap exist as Free Software and can be self-hosted and customized. When setting up a custom or self-hosted solution, it is probably easiest to set up components from the top down, i.e. starting with the viewer and ending with the tile server. This article explains the first step – how to easily create a custom web page that displays OpenStreetMap data…
Introduction All components of OpenStreetMap exist as Free Software and can be self-hosted and customized. When setting up a custom or self-hosted solution, it is probably easiest to replace components from the top down, i.e. starting with the viewer and ending with the tile server. This article explains how to easily set up MapProxy to enable interoperability between different applications, cache…
Introduction This article provides an introduction to open and free computer cartography. It discusses the underlying technology and concepts as well as practical aspects such as using online maps, self-hosting maps, creating custom maps and map content, and contributing new or improved data. The main components of an end-to-end cartography solution are: On the server side: A geographic database…
Introduction Code hosting platforms have become a standard today. If you have a software project and want to share it with the world, there is a good chance you will be hosting it on GitHub, GitLab, Codeberg, or a similar platform. (We cover a total of 9 platforms in this article.) The convenience as well as project promotion and collaboration opportunities available there usually leave little…
Introduction This article explains how to set up a blog using Hugo and the same theme, format, and features as seen on https://crystallabs.io/. The article is also used as the theme’s Git repository README.md, in which the shortcodes will display as text when viewed through Git. That minimal visual artifact is fine. Quick Start As a pre-requisite, download hugo_extended from Hugo releases…
Introduction This article lists documents, books, and audio-video materials relevant for understanding Unix and all systems derived from it. Original Unix documents are important for two reasons: First, as expected, they are relevant for understanding the history and principles on which Unix, the Internet, and modern software is based. It is much easier to learn from simple, original building…
Introduction Today we usually browse the Internet to find help for using Unix and Linux systems. We search for whatever we can find – articles, blog posts, forum threads, video tutorials, etc., or even ask AI systems about it. However, most programs come with official documentation written by the software authors and maintainers themselves. That documentation is authoritative, provides…
Introduction Virtualization is a hardware-level feature that allows users to divide resources of one physical computer into multiple, separate (virtual) machines. A similar, but different concept is called containerization and it is implemented in software, in the operating system’s kernel. The kernel provides the functionality necessary for the creation and running of multiple, separate,…
Introduction A Virtual Private Network (VPN) is a secure, encrypted data channel connecting two computers or networks. The secure channel is established in software, on top of an existing and usually insecure network such as the Internet. VPNs can be used to: Access resources on the other side of the VPN. For example, you connect to a corporate VPN network so that you can access systems and data…
Introduction Root user can change passwords for all users. Non-root users must know the current password to be able to change it. If you have forgotten your root password (or the password for the account through which you access root), you will not be able to reset it or even log in to the system. However, there is a point of entry available to local users who have access to the console.
Introduction ZeroMQ (also spelled ØMQ, 0MQ or ZMQ) is an asynchronous, high-performance messaging system. Data is transferred in “messages”, relieving the user of worrying about low-level details. Message queuing exists and can run even without a message broker (without the central server; hence the “Zero” in ZeroMQ’s name). ZeroMQ provides “sockets” for…
Site Content This is a tech-related blog providing text and video tutorials on Unix, GNU/Linux, programming, automation, systems administration/DevOps, Free Software/Open Source, privacy, security, and ethics. The landscape of IT has become too wide for anyone to cover multiple areas authoritatively and stay up to date over time. The topics discussed here are fundamental — everyone dealing with…
Introduction When programming, writing system configurations, or even editing word documents, we want to be able to move back and forth between revisions, compare changes, save certain versions, and so on. Similarly, we often want to keep additional metadata that tells us when, why, and what was changed, and who made the changes. Detailed tracking of changes in source code has been a common need…
Introduction This article provides a good, conceptual understanding of the history of Unix, BSD, GNU, and Linux from the origins in the 1960s to today. It focuses on practical, understandable parts. It is not overly long, but still mentions all important details. Early History (Before Unix) Batch Processing Early computers in the 1950s did not support multiple users or programs. A person would…
Introduction This article lists Unix-oriented mailing lists, chats, and other resources that you can read or join to, over time, gain more thorough familiarity and insight into Unix. Resources are listed roughly in the order of engagement required, from passive ones such as mailing list subscriptions, to moderately demanding ones such as documents and videos to read, to active tasks and projects…
Introduction Sometimes you want to enforce a one-way data flow between computers on a hardware level. While it is possible to configure one-way traffic in software, for example by using a firewall, there are various reasons why this solution might be impractical or not secure enough: You might not have access to network configuration on the host Firewall rules could be forgotten or defined…
Introduction The purpose of this article is to give you a straightforward, Debian/Ubuntu/Devuan-friendly way of installing and configuring OpenAFS version 1.8, 1.6, or 1.4. By the end of this guide, you will have a functional OpenAFS installation that will complete the solution for a secure, centralized network logins with shared home directories. AFS distributed filesystem is a service that has…
Introduction MIT Kerberos is an implementation of the Kerberos, a network authentication protocol. The purpose of this article is to give you a straightforward, Debian/Ubuntu/Devuan-friendly way of installing and configuring MIT Kerberos 5. By the end of this guide, you will have a functional Kerberos environment and one Kerberized service — the ability to login remotely to other machines in…
Introduction OpenLDAP is an implementation of the Lightweight Directory Access Protocol (LDAP), developed by the OpenLDAP Project. The purpose of this article is to give you a straightforward, Debian/Ubuntu/Devuan-friendly way of installing and configuring OpenLDAP. By the end of this guide, you will have a functional LDAP server that will serve as a central authentication system for user logins…
Introduction LT1 is small GNU/Linux distribution that I co-authored in 1999. The name is a shorthand for “Linux Terminal 1”. It was made for diskless terminals with a diskette drive and 2MB of flash RAM. The image is also useful as rescue and maintenance diskette, running administrative tools, or for a single-disk FTP server. The base of lt1 is a single, 1.44MB floppy disk which loads…