This is the last issue for 2019, I’ll be taking a 2-week break to enjoy the Christmas holidays with my family and code some more on Oh Dear. I’ll be back on Sunday, January 12th, 2020.
As a special for this issue, I added a huge section at the bottom for a very scientific vote for the most impactful open source project of 2019. There were so many answers I just had to include them all.
I learned of a lot of new projects this way, I hope you do too! 🥳
News & general
Last week there was a lot of commotion about the lead developers of Nginx being arrested over a copyright claim by their former employer. The good thing about a weekly newsletter is that I get to wait a bit and just share the conclusions: it seems the criminal case is being dropped.
If you’ve ever tried to make a “smart home” yourself, you’ll have noticed there are a lot of protocols available to do so. I was pleased to read that several major companies are making a true open source standard for allowing home devices to communicate with each other.
A nice write-up of where Mattermost started, how it evolved and what the business model looks like for an open source communication & collaboration tool.
This is a cool project built KnotDNS to create a subdomain for each available IPv6 record, allowing you to issue HTTPS certificates for “IPv6 addresses” in your browser (or to easily share a link).
From combining emoji marks and astral planes, Unicode is under appreciated and poorly understood. The importance of understanding Unicode extends beyond localization and diversity. Failing to understand Unicode may lead to vulnerabilities in your code.
We’ve all been there, right? You debug something, you try telnet to see if a port is open, and now you’re stuck in a telnet session.
I had fun reading this, up to the point where I don’t even care if it’s real or not, it was entertaining. 😄
This is an interview with the director of kernel and operating systems at AWS about how they handle the Spectre & Meltdown vulnerabilities at their scale.
Tools & Projects
Mac only: PeculiarLog is a lightweight log filtering tool supporting regular expressions and instant (as-you-type) results. It is designed to work with huge multi-gigabyte text files utilizing the power of Intel Hyperscan engine running on multiple CPU cores.
Mac only: The BitBar app lets you put the output from any script or program right in your Mac OS X menu bar.
Do you find yourself using tools like make to manage non build-related scripts? Build tools are great, but they are not optimized for general script management. Run aims to be better at managing small scripts and wrappers, while incorporating a familiar make-like syntax with a Runfile.
A minimal drop-in for (a subset of) the systemd init system in rust.
Falco helps you monitor, analyze, and optimize your websites. You can automatically run audits multiple times a day in many conditions and see the evolution of key performance metrics to easily spot regressions.
Zulip combines the immediacy of real-time chat with an email threading model. With Zulip, you can catch up on important conversations while ignoring irrelevant ones.
Huginn is a system for building agents that perform automated tasks for you online. They can read the web, watch for events, and take actions on your behalf.
Some cool new features landed in this release: pop-up windows and text properties. Both will help make vim an even better IDE. There’s also a vim game called killersheep to showcase the new features!
Guides & Tutorials
This is a cool presentation given a few months ago that details how to use user namespaces in Linux, introduces the concepts of “capabilities” and how to use the different kinds of isolations.
Your Makefiles are full of tabs and errors. This post offers an opinionated approach to writing (GNU) Makefiles and contains a lot of best practices and good tips on keeping your Makefiles maintainable.
This guide provides a lot of useful commands and tools on working with dm-crypt. The goal is to brute-force the passwords, but it’s a good primer on using dm-crypt in the first place and the tools that come with it.
“What’s been the one open source project this year that has completely changed the way you work?”
I asked this question on Twitter and got a ton of feedback. As this is the last issue of 2019, I want to include every project mentioned in that thread here.
It’s a long list, sorted by most commented to least mentioned. It go a higher-than-usual developer response, so many of these projects are definitely dev-focussed.
Anyhow, if you like these projects, go follow the people that mentioned them on Twitter. You probably have a lot in common!
(And if I had known how long I would spend gathering all the replies, I might have skipped it 😅)
Tailwind CSS is a highly customizable, low-level CSS framework. I use it myself on all my projects, including my blog, Oh Dear! and DNS Spy. It’s allowed a sysadmin like to me create decent looking websites (which is a true Christmas miracle)!
(Mentioned by @tomhermans, @robindirksen1, @WilfredLepelaar, @markvaneijk, @driesvints, @maxxscho, @Dbilovd, @DeBelserArne, @SimonDepelchin, @rasmuscnielsen, @orkhanahmadov, swapnilsarwe, @michaeldyrynda, ClaudioDekker, @peterbrinck, @jassehomar99)
Inertia.js lets you quickly build modern single-page React, Vue and Svelte apps using classic server-side routing and controllers.
Nuxt is a progressive framework based on Vue. js to create modern web applications. It is based on Vue. The goal is to make web development powerful and performant with a great developer experience in mind.
Kubernetes (K8s) is an open-source system for automating deployment, scaling, and management of containerized applications.
Build blazing fast, modern apps and websites with React.
The AWS Cloud Development Kit is a framework for defining cloud infrastructure in code.
A popular framework built on top of PHP with an with expressive, elegant syntax.
A standard in container land nowadays, Docker remains one of the most popular projects out there.
Livewire is a full-stack framework for Laravel that makes building dynamic front-ends as simple as writing vanilla PHP (literally).
Next.js is the React framework for server-rendered applications, static websites, and more.
Helm is a package manager for Kubernetes. Helm helps you manage Kubernetes applications - Helm Charts help you define, install, and upgrade even the most complex Kubernetes application.
(Mentioned by @hassanajan)
Firefox is a- oh come one, you know what this is. 😉
(Mentioned by @hanslombard)
A text editor for when vim isn’t complex enough.
(Mentioned by @TVN595_)
LitElement makes it easy to define Web Components - ideal for sharing elements across your organization or building a UI design system.
(Mentioned by @jtteag)
SDK for building Kubernetes applications. Provides high level APIs, useful abstractions, and project scaffolding.
(Mentioned by @jeremyeder)
ko is a tool for building and deploying Golang applications to Kubernetes.
(Mentioned by @AntoineCotten)
Grafana is an open source analytics & monitoring solution for every database.
(Mentioned by @cegonzalezspace)
Gitlab is a repository manager (like Github), a CI/CD runner, a secret store, … it’s a lot.
(Mentioned by @dnsmichi)
What was this Linux thing again?
(Mentioned by @tomassrnka)
MuseScore is an open source and free music notation software.
(Mentioned by @BrnVrn)
Munki is a set of tools that, used together with a webserver-based repository of packages and package metadata, can be used by macOS administrators to manage software installs on macOS client machines.
(Mentioned by @macvfx)
ngrok is a reverse proxy that creates a secure tunnel from a public endpoint to a locally running web service.
(Mentioned by @whereismyjetpac)
direnv is an extension for your shell that allows you to load and unload environment variables depending on the current directory.
(Mentioned by @whereismyjetpac)
A docker-powered PaaS that helps you build and manage the lifecycle of applications.
(Mentioned by @hmhrex)
Infection is a PHP Mutation Testing Framework.
(Mentioned by @DragonBe)
A fast 3kB alternative to React with the same modern API.
(Mentioned by @davehurricane)
Concourse is an open-source continuous thing-doer.
(Mentioned by @analytically)
Kubernetes IN Docker - local clusters for testing Kubernetes.
(Mentioned by @mgeb)
asdf-vm is a CLI tool that can manage multiple language runtime versions on a per-project basis. It is like gvm, nvm, rbenv & pyenv (and more) all in one.
(Mentioned by @1stvamp)
Spinnaker is an open source, multi-cloud continuous delivery platform for releasing software changes with high velocity and confidence.
(Mentioned by @jvanderhaeghe)
Focus on what matters instead of fighting with Git. Whether you’re new to Git or a seasoned user, GitHub Desktop simplifies your development workflow.
(Mentioned by @samushr)
(Mentioned by @ale_codes)
Snipe-IT is a free, open source IT asset management system written in PHP.
(Mentioned by @louisdj_15)
Nagios provides enterprise-class Open Source IT monitoring, network monitoring, server and applications monitoring.
(Mentioned by @ASeemueller)
A powerful & extensible code editor. I’ve been using this for the last year as well and am very happy with it.
(Mentioned by @_dries_v)
fzf is a general-purpose command-line fuzzy finder.
(Mentioned by @CoeyerSteven)
Psalm is a static analysis tool that’s designed to improve large PHP codebases by identifying both obvious and hard-to-spot bugs.
(Mentioned by @nicolopigna)
Roassal is a visualization engine largely used within the Pharo community. Roassal is used to visualize any set of data. In particular, it is often used to visualize large software source code base to assess their internal quality.
(Mentioned by @alexbergel)
Automated dependency updates. You can run this as a scheduled Docker container on Gitlab.
(Mentioned by @JesseDobbelaere)
Google’s UI toolkit to build apps for mobile, web, & desktop from a single codebase.
Open Source WordPress plugin that brings the power of GraphQL to your WordPress site.
(Mentioned by @jasonbahl)
(Mentioned by @martykokes)
Easy to use and very flexible git hook manager for php developers.
(Mentioned by @shochdoerfer)
Traccar is the leading GPS tracking software. Vehicle and personal tracking. Self hosted and open source.
(Mentioned by @ssstofff)
(Mentioned by @KClarkADSTech)
Pattern Lab helps you and your team build thoughtful, pattern-driven user interfaces using atomic design principles. Available for Node and PHP.
(Mentioned by @maedmaex)
OpenTelemetry provides a single set of APIs, libraries, agents, and collector services to capture distributed traces and metrics from your application. You can analyze them using Prometheus, Jaeger, and other observability tools.
(Mentioned by @MichaelIngold)
OpenNebula is a simple yet powerful and flexible turnkey open-source solution to build Private Clouds and manage Data Center virtualization based on KVM, LXD and VMware.
(Mentioned by @dakira)
Config management, App deployment, orchestration, … all from one system. Ansible is simple, agentless automation that anyone can use.
(Mentioned by @dakira)
Drone is a self-service Continuous Delivery platform for busy development teams.
(Mentioned by @dakira)
Fedora Linux is a Linux distribution developed by the community-supported Fedora Project which is sponsored primarily by Red Hat. (Mentioned by @netsensei)