Installing Chromium in Ubuntu for docker-seleniarm

In this article, I cover my experiences getting the latest Chromium browser installed in Ubuntu for docker-seleniarm. For those not aware, docker-seleniarm is a fork I maintain of the docker-selenium project. The docker-seleniarm project brings ARM support for those developers and testers who are using ARM based computers or servers, such as the Apple Silicon M1/M2, Raspberry Pi and other ARM boards, as well as ARM servers, such as the Amazon AWS Graviton instances, or Oracle’s A1 ARM Ampere instances.

Quickly Archive Your Google Keep Notes

In this article, we’ll look at some options to help backup/archive Google Keep notes, including a solution I built, called Archiver for Google Keep. I built this tool because I wanted an easy way to back up my Google Keep notes in an automated manner, and existing solutions out there weren’t able to meet the need I have. While Google gives us Google Takeout, an enterprise level Google Keep API, and then there is the unofficial gkeepapi by Kiwiz and built in Python, none of these solutions were able to do what I needed.

Non-Printable Control Characters in RFC 5322 - Advanced Email Validation with BEEP

emailregex.com maintains a regular expression for validating email addresses. The site claims it’s based on the RFC 5322 specification. The regular expression contains several ASCII control characters. It wasn’t clear what they were used for, and since SonarQube’s static code analysis flags them as unwanted, I did some research to discover what they’re used for and how the regular expression works.

After several days of digging into various RFC specs, especially RFC 5322 Section 4 and 4.1, I learned that the following non-printable control characters are in fact allowed in email addresses and messages:

Git Hooks for GitHub Organizations

Photo by Omar Flores on Unsplash

I needed to find a solution to managing git hooks throughout the entire organization. I did some research and didn’t find a solution that met our needs, so myself and a couple colleagues built one. In the later sections of this article, I’ll describe what we did to solve the problem.

Multi-Arch Docker Images from Different Sources

This article is about combining container images from various sources and architectures and combining them into a single multi-arch container image. If you’re familiar with docker buildx, then maybe you’ve built multi-arch images before from the same Dockerfile.

docker-seleniarm is one example where we use docker buildx to build container images for multiple architectures. In this fork of docker-selenium, we build x86_64, arm64, and armv7l images for Chromium and Firefox on Debian. The source of the browser images is the same Dockerfile, just built 3 times, one for each supported architecture.