<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>CrystalLabs — Davor Ocelic&#39;s Blog</title>
    <link>https://crystallabs.io/</link>
    <description>Recent content on CrystalLabs — Davor Ocelic&#39;s Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <copyright>© 2023-2025 CL</copyright>
    <lastBuildDate>Wed, 03 Dec 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://crystallabs.io/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Introduction to OpenStreetMap and Computer Maps</title>
      <link>https://crystallabs.io/osm-cartography/</link>
      <pubDate>Mon, 13 Nov 2023 00:00:00 +0000</pubDate>
      
      <guid>https://crystallabs.io/osm-cartography/</guid>
      <description>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 of all features, such as roads, buildings, playgrounds, parks, rivers, lakes, administrative boundaries, and so on</description>
    </item>
    
    <item>
      <title>Git - Introduction and Historical Overview</title>
      <link>https://crystallabs.io/git-intro-and-history/</link>
      <pubDate>Sun, 23 Jul 2023 00:00:00 +0000</pubDate>
      
      <guid>https://crystallabs.io/git-intro-and-history/</guid>
      <description>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 and practice since the early days of computing.</description>
    </item>
    
    <item>
      <title>History of Unix, BSD, GNU, and Linux</title>
      <link>https://crystallabs.io/unix-history/</link>
      <pubDate>Sun, 23 Jul 2023 00:00:00 +0000</pubDate>
      
      <guid>https://crystallabs.io/unix-history/</guid>
      <description>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 arrive at the computer, load program via punched paper cards, load data via magnetic or paper tape, run processing, collect printed output, and leave.</description>
    </item>
    
    <item>
      <title>OpenStreetMap: Custom Web Map Viewer with Leaflet</title>
      <link>https://crystallabs.io/osm-cartography-web-viewer/</link>
      <pubDate>Sat, 18 Nov 2023 00:00:00 +0000</pubDate>
      
      <guid>https://crystallabs.io/osm-cartography-web-viewer/</guid>
      <description>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 &amp;ndash; how to easily create a custom web page that displays OpenStreetMap data using a custom map stylesheet and other settings.</description>
    </item>
    
    <item>
      <title>Foundational Unix Papers, Books, and Videos</title>
      <link>https://crystallabs.io/unix-books-papers-videos/</link>
      <pubDate>Fri, 22 Sep 2023 00:00:00 +0000</pubDate>
      
      <guid>https://crystallabs.io/unix-books-papers-videos/</guid>
      <description>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 blocks than from looking at current, very advanced and highly polished solutions that managed to hide their inner workings.</description>
    </item>
    
    <item>
      <title>OpenStreetMap: Tile Server and Cache with MapProxy</title>
      <link>https://crystallabs.io/osm-cartography-map-proxy/</link>
      <pubDate>Sat, 18 Nov 2023 00:00:00 +0000</pubDate>
      
      <guid>https://crystallabs.io/osm-cartography-map-proxy/</guid>
      <description>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 results, and optionally even reproject tiles.
MapProxy MapProxy was originally developed by a German company Omniscale.</description>
    </item>
    
    <item>
      <title>Git - Adding and Using Multiple Origins</title>
      <link>https://crystallabs.io/git-multiple-remote-origins/</link>
      <pubDate>Sun, 01 Oct 2023 00:00:00 +0000</pubDate>
      
      <guid>https://crystallabs.io/git-multiple-remote-origins/</guid>
      <description>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 incentive for users to organize project code hosting themselves.</description>
    </item>
    
    <item>
      <title>Software Licensing - Terms and Licenses Explained</title>
      <link>https://crystallabs.io/software-licensing/</link>
      <pubDate>Wed, 20 Nov 2024 00:00:00 +0000</pubDate>
      
      <guid>https://crystallabs.io/software-licensing/</guid>
      <description>Introduction Software licensing is an area where the discrepancy between users&amp;rsquo; and companies&amp;rsquo; 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 emphasizing short-term convenience of their products and services. Once attracted, users are typically bound by restrictive terms.</description>
    </item>
    
    <item>
      <title>MIT Kerberos 5 Installation on Debian/Ubuntu/Devuan</title>
      <link>https://crystallabs.io/install-mit-kerberos-5-debian-ubuntu-devuan/</link>
      <pubDate>Thu, 01 Jun 2006 00:00:00 +0000</pubDate>
      
      <guid>https://crystallabs.io/install-mit-kerberos-5-debian-ubuntu-devuan/</guid>
      <description>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 &amp;mdash; the ability to login remotely to other machines in the network in a secure, encrypted and transparent way. It will work without the need for typing in any passwords, and it will also include SSH PKI authentication (PKINIT).</description>
    </item>
    
    <item>
      <title>OpenLDAP Installation on Debian/Ubuntu/Devuan</title>
      <link>https://crystallabs.io/install-openldap-debian-ubuntu-devuan/</link>
      <pubDate>Thu, 01 Jun 2006 00:00:00 +0000</pubDate>
      
      <guid>https://crystallabs.io/install-openldap-debian-ubuntu-devuan/</guid>
      <description>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 on all machines in the network, without the need to manually create users&#39; accounts on individual machines.</description>
    </item>
    
    <item>
      <title>OpenAFS Installation on Debian/Ubuntu/Devuan</title>
      <link>https://crystallabs.io/install-openafs-debian-ubuntu-devuan/</link>
      <pubDate>Tue, 20 May 2008 00:00:00 +0000</pubDate>
      
      <guid>https://crystallabs.io/install-openafs-debian-ubuntu-devuan/</guid>
      <description>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 been traditionally captivating system administrators&#39; and advanced users&#39; interest, but its high entry barrier and infrastructure requirements have been preventing many from using it.</description>
    </item>
    
    <item>
      <title>The Unix Philosophy - Explained and Extended</title>
      <link>https://crystallabs.io/unix-philosophy-explained/</link>
      <pubDate>Tue, 29 Oct 2024 00:00:00 +0000</pubDate>
      
      <guid>https://crystallabs.io/unix-philosophy-explained/</guid>
      <description>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 &amp;ndash; on all top 500 supercomputers (GNU/Linux), all Intel CPUs after 2015 (MINIX), all mobile phones and tablets (Android, iOS, and GNU/Linux), all architectures (PC, POWER, ARM, RISC-V, &amp;hellip;), and basically everything else related to high-tech research and development.</description>
    </item>
    
    <item>
      <title>Unix and GNU/Linux Docs - Listed and Explained</title>
      <link>https://crystallabs.io/unix-linux-documentation/</link>
      <pubDate>Fri, 15 Sep 2023 00:00:00 +0000</pubDate>
      
      <guid>https://crystallabs.io/unix-linux-documentation/</guid>
      <description>Introduction Today we usually browse the Internet to find help for using Unix and Linux systems. We search for whatever we can find &amp;ndash; 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 professional insight into the software, and makes you familiar with the people behind it.</description>
    </item>
    
    <item>
      <title>One-Way Ethernet Cable and Data Transfer</title>
      <link>https://crystallabs.io/one-way-ethernet-cable/</link>
      <pubDate>Tue, 23 Jul 2019 00:00:00 +0000</pubDate>
      
      <guid>https://crystallabs.io/one-way-ethernet-cable/</guid>
      <description>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 incorrectly
There could be a delay until firewall rules are loaded or reloaded, allowing traffic in both directions</description>
    </item>
    
    <item>
      <title>ZeroMQ and Brief Comparison to BSD Sockets</title>
      <link>https://crystallabs.io/zeromq/</link>
      <pubDate>Thu, 27 Jul 2023 00:00:00 +0000</pubDate>
      
      <guid>https://crystallabs.io/zeromq/</guid>
      <description>Introduction ZeroMQ (also spelled ØMQ, 0MQ or ZMQ) is an asynchronous, high-performance messaging system.
Data is transferred in &amp;ldquo;messages&amp;rdquo;, 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 &amp;ldquo;Zero&amp;rdquo; in ZeroMQ&amp;rsquo;s name).
ZeroMQ provides &amp;ldquo;sockets&amp;rdquo; for communication — the same term as used in BSD sockets. However, ZeroMQ sockets are a higher-level concept. They are more powerful and generalized, and can be faster.</description>
    </item>
    
    <item>
      <title>Linux Root Password Reset</title>
      <link>https://crystallabs.io/linux-password-reset/</link>
      <pubDate>Sun, 06 Aug 2023 00:00:00 +0000</pubDate>
      
      <guid>https://crystallabs.io/linux-password-reset/</guid>
      <description>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.</description>
    </item>
    
    <item>
      <title>Unix Mailing Lists, Chats, and Similar Resources</title>
      <link>https://crystallabs.io/unix-linux-mailing-lists-chats-resources/</link>
      <pubDate>Sun, 23 Jul 2023 00:00:00 +0000</pubDate>
      
      <guid>https://crystallabs.io/unix-linux-mailing-lists-chats-resources/</guid>
      <description>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 you can participate in.
Most resources listed are serious, with occasional humorous ones.</description>
    </item>
    
    <item>
      <title>Running DaVinci Resolve Studio on Debian GNU/Linux, Ubuntu, Devuan GNU&#43;Linux</title>
      <link>https://crystallabs.io/davinci-resolve-studio-debian-ubuntu/</link>
      <pubDate>Wed, 03 Dec 2025 00:00:00 +0000</pubDate>
      
      <guid>https://crystallabs.io/davinci-resolve-studio-debian-ubuntu/</guid>
      <description>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.
Installation The installation instructions are simple, as always:
Download the &amp;ldquo;.zip&amp;rdquo; file from Blackmagic (the file usually ends up placed in ~/Downloads/)</description>
    </item>
    
    <item>
      <title>Lt1 - Custom 1.44MB GNU/Linux Distribution</title>
      <link>https://crystallabs.io/lt1/</link>
      <pubDate>Mon, 13 Sep 1999 00:00:00 +0000</pubDate>
      
      <guid>https://crystallabs.io/lt1/</guid>
      <description>Introduction LT1 is small GNU/Linux distribution that I co-authored in 1999. The name is a shorthand for &amp;ldquo;Linux Terminal 1&amp;rdquo;.
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 into ramdisk. After it loads, the diskette can be removed.</description>
    </item>
    
    <item>
      <title>Creating a Blog Like CrystalLabs.io</title>
      <link>https://crystallabs.io/creating-a-blog-with-hugo-and-minima/</link>
      <pubDate>Sun, 01 Oct 2023 00:00:00 +0000</pubDate>
      
      <guid>https://crystallabs.io/creating-a-blog-with-hugo-and-minima/</guid>
      <description>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&amp;rsquo;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 page. You might have to click &amp;ldquo;Show all X assets&amp;rdquo; to see hugo_extended in the list.</description>
    </item>
    
    <item>
      <title>Introduction to Docker Containers</title>
      <link>https://crystallabs.io/docker/</link>
      <pubDate>Tue, 15 Aug 2023 00:00:00 +0000</pubDate>
      
      <guid>https://crystallabs.io/docker/</guid>
      <description>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&amp;rsquo;s kernel. The kernel provides the functionality necessary for the creation and running of multiple, separate, user-space containers.
The physical machine is typically called a &amp;ldquo;host&amp;rdquo; or &amp;ldquo;dom0&amp;rdquo;. Virtual machines are typically called virtual machines (VMs), guests, or containers.</description>
    </item>
    
    <item>
      <title>WireGuard and Three-Point VPN Gateway</title>
      <link>https://crystallabs.io/wireguard-three-point-vpv-gateway/</link>
      <pubDate>Thu, 10 Aug 2023 00:00:00 +0000</pubDate>
      
      <guid>https://crystallabs.io/wireguard-three-point-vpv-gateway/</guid>
      <description>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 behind it.</description>
    </item>
    
    <item>
      <title>About</title>
      <link>https://crystallabs.io/about/</link>
      <pubDate>Sun, 23 Jul 2023 19:51:47 +0200</pubDate>
      
      <guid>https://crystallabs.io/about/</guid>
      <description>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 computers should be familiar with them.
The key to understanding complex topics is in thoroughly understanding the basics.</description>
    </item>
    
    <item>
      <title>Search</title>
      <link>https://crystallabs.io/search/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://crystallabs.io/search/</guid>
      <description></description>
    </item>
    
    <item>
      <title>搜索</title>
      <link>https://crystallabs.io/search.zh-cn/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://crystallabs.io/search.zh-cn/</guid>
      <description></description>
    </item>
    
  </channel>
</rss>
