cron.weekly issue #127: darling, panther, bashible, pgsync & more


cron.weekly is a newsletter about Linux, open source & webdevelopment. Want to get it in your inbox every Sunday? Subscribe below!

I respect your privacy and you won't get spam. Ever. Just a weekly-ish newsletter about Linux and open source.
Image of Mattias Geniar

Mattias Geniar, March 29, 2020

Follow me on Twitter as @mattiasgeniar

Hi everyone! 👋

Welcome to cron.weekly issue #127.

I hope everyone can stay safe and healthy.

Midway this section, you’ll find some Corona-specific initiatives. Open source & open hardware might be able to offer some helping hands in these times. If you know of any more projects, feel free to send them my way!

As always, enjoy your ☕️ and this issue!

News & general 🗞

Seven Stages of Open Software

This post lays out the different stages of openness in Open Source Software (OSS) and the benefits and costs of each. As a result, people are reasonably encouraged to open up their software. This is great but means that the term “open source” can get a bit confusing.

Speeding up Linux disk encryption

This post contains a really good summary of what kind of encryption at rest is available and then goes to some really extraordinary lengths to benchmark the setups, the cryptography & all the tooling involved.

To top it all of, the team at Cloudflare wrote a set of patches that increased the throughput of dm-crypt by a factor 2x!

The exFAT filesystem is coming to Linux

In general, it’s good news that FAT support is coming to Linux - but behind the scenes, there appears to be plenty of licensing & copyright issues.

Tools & Projects 🛠

Darling

Darling is a translation layer that lets you run macOS software on Linux, without using a hardware emulator. Like Linux, Darling is free and open-source software.

talkyard

Talkyard (formerly EffectiveDiscussions) is discussion forum software, with chat and question-answers features and embedded comments for static websites or blogs. Inspired by Discourse, Slack, StackOverflow, Reddit and Hacker News, Disqus.

sorcia

Sorcia is a self-hosted web frontend for git repositories which is written in Golang.

Troubleshoot Python App Performance Issues Faster sponsored

Optimize the performance of your Python applications with Datadog. Easily identify critical issues using real-time service maps and resolve problems quickly by overlaying application events onto time-synchronized metric graphs. Start a free trial today, create a dashboard, and Datadog will send you a free t-shirt!

panther

Panther is an open source, cloud-native SIEM (security information and event management), like Splunk.

MeiliSearch

Ultra relevant and instant full-text search API. MeiliSearch is a powerful, fast, open-source, easy to use and deploy search engine. The search and indexation are fully customizable and handles features like typo-tolerance, filters, and ranking.

pgsync

Sync data from one Postgres database to another (like pg_dump/pg_restore). Designed for speed, security, flexibility and convenience.

zig cc

If you have heard of Zig before, you may know it as a promising new programming language which is ambitiously trying to overthrow C as the de-facto systems language. But did you know that it also can straight up compile C code?

cronopete

Cronopete is a Linux clone of Time Machine, the backup utility for Mac from Apple. It aims to mimic it as closely as possible.

bashible

Bashible is a deployment/automation tool written in Bash (DSL). Inspired by Ansible. Simplifies things and prevents usual mistakes.

ShiftLeft Inspect: Code Analysis for Dev & Ops (Fast, Accurate & Free) sponsored

ShiftLeft Inspect is static code analysis (SAST), purpose-built to insert into developer workflows without slowing them down. Inspect is 40X faster and 3X more accurate than traditional code analysis vendors. Sign-up for a free account and see for yourself.

pfelk

pfELK is comprised of Java, Elasticstack, and a number of dependencies. Your firewall logs are parsed through various patterns simplifying firewall log analysis and Elastic Stack is used to visualize everything.

iredis

IRedis is a terminal client for Redis with autoCompletion and syntax highlighting.

Corona tools & guides

Lots of good information out there to help with the Corona virus. Open source hardware can really shine in times like these.

A special shout out to Peter Thaleikis for providing so many links to me!

FreeBreathing.org

VentilatorPAL is a solution to the acute lack of respirators for the rapidly growing number of COVID-19 patients around the world. VentilatorPAL is a high-quality but low-cost, open-source ventilator that can be bought or built by anyone for a fraction of the cost of commercial ventilators.

Open Ventilator Registry

The Open Ventilator Registry project is answering the call to provide a cloud-based national registry of ventilators and the hospitals that need them most in order to facilitate their distribution during the COVID19 pandemic. There currently isn’t much to show yet, so if you can help - reach out to the project.

Make face masks

This is an initiative I helped on from the hosting-side: government-approved instructions for how to make your own face masks using at-home materials. This builds on the idea that “any face mask is better than no face mask”.

OpenCrisisBoard

OpenCrisisBoard (OCB) is a lightweight forum application based on ReForum that enables social-backed, accessible, long-form and short-form communication around crisis-related topics.

Folding@home takes up the fight against COVID-19

“We need your help! Folding@home is joining researchers around the world working to better understand the 2019 Coronavirus (2019-nCoV) to accelerate the open science effort to develop new life-saving therapies.”

If you have some spare CPU power, why not try and help a good cause?

Guides & Tutorials 🎓

Free software for remote working

This post contains some good free & open tools you can use to help you with the sudden mass-move to working from home.

Creating Your Own Git Server

This guide provides a good set of instructions on installing your own git server, using mostly Linux primitives. On top of that, there’s a simple HTTP interface that you can use to browse your repo’s.

An Introduction to Python and Programming

The purpose of this repository is to serve as an interactive “book” for a thorough introductory course on programming in the Python language.

Setting Up Git Identities

Working on many projects across multiple identities can be difficult to manage. This is a procedure for leveraging git aliases to set an identity at the project level for any project with support for GPG-based commit signing.

Testing Dolt using Bats

This post gives a practical look at what it’s like to adopt the Bash Automated Testing System (Bats) to test an open source project.

Linux MySQL Slow Query Tracing with bcc/BPF

The mysqld_qslower tool prints MySQL queries slower than a given threshold, and is run on the MySQL server. By default, it prints queries slower than 1 millisecond: This is a bit like having a custom slow queries log, where the threshold can be picked on the fly.

How do Unix pipes work?

This post deconstructs how unix pipes work, how they pass data from stdout to stdin.

How are Unix pipes implemented?

This article is a follow-up on the one above here, taking a different look at unix pipes - through the eyes of strace, a good look at the history and quite some C-code showing its internals.

How to Set Up Streaming Replication in PostgreSQL 12

Step-by-step instructions on getting started with PostgreSQL’s replication configuration.



Want to subscribe to the cron.weekly newsletter?

I write a weekly-ish newsletter on Linux, open source & webdevelopment called cron.weekly.

It features the latest news, guides & tutorials and new open source projects. You can sign up via email below.

No spam. Just some good, practical Linux & open source content.