Major Hayden 🤠https://major.io/Recent content on Major Hayden 🤠Hugo -- gohugo.io<a href="https://creativecommons.org/licenses/by-sa/2.0/" target="_blank" rel="noopener">CC BY-SA 2.0</a>Fri, 19 Jun 2020 00:00:00 +0000Build AWS images with Image Builderhttps://major.io/2020/06/19/build-aws-images-with-imagebuilder/Fri, 19 Jun 2020 00:00:00 +0000https://major.io/2020/06/19/build-aws-images-with-imagebuilder/The AMIs provided by most Linux distributions in AWS work well for most use cases. However, there are those times when you need a customized image to support a certain configuration or to speed up CI processes. You can get a customized image via a few methods: Build from an existing AMI, customize it, and snapshot it. Use an automated tool, such as Packer, to automate #1. Build your own image locally in KVM, VMware, or Virtualbox and upload the image into S3, import it into an EC2, and create an AMI from the snapshot.My experience with keto so farhttps://major.io/2020/06/11/my-experience-with-keto-so-far/Thu, 11 Jun 2020 00:00:00 +0000https://major.io/2020/06/11/my-experience-with-keto-so-far/I&rsquo;ve talked about some of my experiences with altering my diet on Twitter and many people have asked about my experiences with keto so far. Note that I don&rsquo;t call it &ldquo;the keto diet&rdquo; because it&rsquo;s much more than a diet: it&rsquo;s a lifestyle change. Sure, you alter what you eat, but you begin to think differently about how you fuel your body. Before we start, I&rsquo;d like to note that:Make diacritics easy in Linuxhttps://major.io/2020/02/13/make-diacritics-easy-in-linux/Thu, 13 Feb 2020 00:00:00 +0000https://major.io/2020/02/13/make-diacritics-easy-in-linux/Diacritics are all of the small things that are added on, above, or below certain characters in various languages. Some examples include tildes (ñ), accents (á), or other marks (š). These marks are little hints that help you know how to pronounce a word properly (and they sometimes change the definition of a word entirely). They are often skipped by non-native language speakers, and sometimes even by native speakers, but I have done my best to make a habit of including them when I can.My Travel Guide to Brnohttps://major.io/2020/01/30/my-travel-guide-to-brno/Thu, 30 Jan 2020 00:00:00 +0000https://major.io/2020/01/30/my-travel-guide-to-brno/Come to the Czech Republic and discover the beautiful city of Brno. I just wrapped up my third visit to the city and I can&rsquo;t wait to come back! The city is full of history, culture, and delicious food. Here&rsquo;s my travel guide to Brno! Getting to Brno Brno has an airport, but the flights are limited and sometimes expensive. Some coworkers have found good deals on these flights (especially via Ryanair from London&rsquo;s Stansted Airport), but I prefer the train.Disable Nvidia GPU on the Thinkpad T490https://major.io/2020/01/24/disable-nvidia-gpu-thinkpad-t490/Fri, 24 Jan 2020 00:00:00 +0000https://major.io/2020/01/24/disable-nvidia-gpu-thinkpad-t490/I wrote about installing Linux on the Lenovo ThinkPad T490 last month and one of the biggest challenges was getting graphics working properly. The T490 comes with an option where you can get a discrete Nvidia MX250 GPU and it packs plenty of power in a small footprint. It also brings along a few issues. Awful battery life There are many times where it would be helpful to fully disable the Nvidia card to extend battery life when graphics processing is not needed.Bring Back Fedora's Beefy Miracle boot splashhttps://major.io/2019/12/16/bring-back-fedora-beefy-miracle-boot-splash.md/Mon, 16 Dec 2019 00:00:00 +0000https://major.io/2019/12/16/bring-back-fedora-beefy-miracle-boot-splash.md/Way back in 2012 when Fedora releases had names, there was one release that many of us in the Fedora community will never forget. Fedora 17&rsquo;s code name was &ldquo;Beefy Miracle&rdquo; and it caused plenty of giggles and lots of consternation (especially in vegetarian and vegan circles). No matter how you feel about the code name, the mascot was really good: Major and the beefy miracle in 2012 The mustard I was told several times that &ldquo;the mustard indicates progress.Thinkpad T490 Fedora install tipshttps://major.io/2019/12/12/thinkpad-t490-fedora-install-tips/Thu, 12 Dec 2019 00:00:00 +0000https://major.io/2019/12/12/thinkpad-t490-fedora-install-tips/🔨 WORK IN PROGRESS! I&rsquo;m still finding some additional issues and I&rsquo;ll write those up here as soon as I find some solutions. With my 4th Gen X1 Carbon beginning to age (especially the battery), it was time for an upgrade. I now have a T490 with a 10th gen Intel CPU and a discrete NVIDIA MX250 GPU. This laptop spec was just released on Black Friday!Monitoring OpenShift cron jobshttps://major.io/2019/11/18/monitoring-openshift-cron-jobs/Mon, 18 Nov 2019 00:00:00 +0000https://major.io/2019/11/18/monitoring-openshift-cron-jobs/Moving applications into an entirely containerized deployment, such as OpenShift or Kubernetes, requires care and attention. One aspect of both that is often overlooked is scheduled jobs, or cron jobs. ⏰ Cron jobs in OpenShift allow you to run certain containers on a regular basis and execute certain applications or scripts in those containers. You can use them to trigger GitLab CI pipelines, run certain housekeeping tasks in web applications, or run backups.Monitor CyberPower UPS wattagehttps://major.io/2019/11/08/monitor-cyberpower-ups-wattage/Fri, 08 Nov 2019 00:00:00 +0000https://major.io/2019/11/08/monitor-cyberpower-ups-wattage/I have a CyberPower CP1350AVRLCD under my desk at home and I use it to run my computer, monitors, speakers, and a lamp. My new computer is a little more power hungry than my old one since I just moved to to a Ryzen 3700x and Nvidia GeForce 2060 and I like to keep tabs on how much energy it is consuming. Some power supplies offer a monitoring interface where you can watch your power consumption in real time, but I&rsquo;m not willing to spend that much money.Install Chromium with VAAPI on Fedora 30https://major.io/2019/10/20/install-chromium-with-vaapi-on-fedora-30/Sun, 20 Oct 2019 00:00:00 +0000https://major.io/2019/10/20/install-chromium-with-vaapi-on-fedora-30/UPDATE: The chromium-vaapi package is now chromium-freeworld. This post was updated on 2019-11-06 to include the change. See the end of the post for the update steps. If you use a web browser to watch videos on a laptop, you&rsquo;ve probably noticed that some videos play without much impact on the battery. Other videos cause the fans to spin wildly and your battery life plummets. Intel designed a specification called VA API, often called VAAPI (without the space), and it offers up device drivers to applications running on your system.Customize GNOME from i3https://major.io/2019/09/22/customize-gnome-from-i3/Sun, 22 Sep 2019 00:00:00 +0000https://major.io/2019/09/22/customize-gnome-from-i3/i3 has been my window manager of choice for a while and I really enjoy its simplicity and ease of use. I use plenty of gtk applications, such as Firefox and Evolution, and configuring them within i3 can be confusing. This post covers a few methods to change configurations for GNOME and gtk applications from i3. lxappearance Almost all of the gtk theming settings are available in lxappearance. You can change fonts, mouse cursors, icons, and colors.Deploy monit in OpenShifthttps://major.io/2019/09/11/deploy-monit-in-openshift/Wed, 11 Sep 2019 00:00:00 +0000https://major.io/2019/09/11/deploy-monit-in-openshift/Monit is a tried-and-true method for monitoring all kinds of systems, services, and network endpoints. Deploying monit is easy. There&rsquo;s only one binary daemon to run and it reads monitoring configuration from files in a directory you specify. Most Linux distributions have a package for monit and the package usually contains some basic configuration along with a systemd unit file to run the daemon reliably. However, this post is all about how to deploy it inside OpenShift.Get faster GitLab runners with a ramdiskhttps://major.io/2019/08/16/get-faster-gitlab-runners-with-a-ramdisk/Fri, 16 Aug 2019 00:00:00 +0000https://major.io/2019/08/16/get-faster-gitlab-runners-with-a-ramdisk/When you build tons of kernels every day like my team does, you look for speed improvements anywhere you can. Caching repositories, artifacts, and compiled objects makes kernel builds faster and it reduces infrastructure costs. Need for speed We use GitLab CI in plenty of places, and that means we have a lot of gitlab-runner configurations for OpenShift (using the kubernetes executor) and AWS (using the docker-machine executor). The runner&rsquo;s built-in caching makes it easy to upload and download cached items from object storage repositories like Google Cloud Storage or Amazon S3.buildah error: vfs driver does not support overlay.mountopt optionshttps://major.io/2019/08/13/buildah-error-vfs-driver-does-not-support-overlay-mountopt-options/Tue, 13 Aug 2019 00:00:00 +0000https://major.io/2019/08/13/buildah-error-vfs-driver-does-not-support-overlay-mountopt-options/Buildah and podman make a great pair for building, managing and running containers on a Linux system. You can even use them with GitLab CI with a few small adjustments, namely the switch from the overlayfs to vfs storage driver. I have some regularly scheduled GitLab CI jobs that attempt to build fresh containers each morning and I use these to get the latest packages and find out early when something is broken in the build process.Fedora 30 on Google Compute Enginehttps://major.io/2019/08/07/fedora-30-on-google-compute-engine/Wed, 07 Aug 2019 00:00:00 +0000https://major.io/2019/08/07/fedora-30-on-google-compute-engine/Fedora 30 is my primary operating system for desktops and servers, so I usually try to take it everywhere I go. I was recently doing some benchmarking for kernel compiles on different cloud plaforms and I noticed that Fedora isn&rsquo;t included in Google Compute Engine&rsquo;s default list of operating system images. (Note: Fedora does include links to quick start an Amazon EC2 instance with their pre-built AMI&rsquo;s. They are superb!)Ham Radio FAQhttps://major.io/ham-radio-faq/Thu, 06 Jun 2019 00:00:00 +0000https://major.io/ham-radio-faq/Welcome! This page is a work in progress! The world of amateur, or ham, radio is huge and it&rsquo;s what you want to make of it. The itch struck me in the middle of 2017 and I learned a lot since then. People often ask me questions about all kinds of amateur radio topics and I decided to compile all of the answers into a big page that I can update over time.Texas Linux Fest 2019 Recaphttps://major.io/2019/06/02/texas-linux-fest-2019-recap/Sun, 02 Jun 2019 00:00:00 +0000https://major.io/2019/06/02/texas-linux-fest-2019-recap/Another Texas Linux Fest has come and gone! The 2019 Texas Linux Fest was held in Irving at the Irving Convention Center. It was a great venue surrounded by lots of shops and restaurants. If you haven&rsquo;t attended one of these events before, you really should! Attendees have varying levels of experience with Linux and the conference organizers (volunteers) work really hard to ensure everyone feels included. The event usually falls on a Friday and Saturday.Build containers in GitLab CI with buildahhttps://major.io/2019/05/24/build-containers-in-gitlab-ci-with-buildah/Fri, 24 May 2019 00:00:00 +0000https://major.io/2019/05/24/build-containers-in-gitlab-ci-with-buildah/My team at Red Hat depends heavily on GitLab CI and we build containers often to run all kinds of tests. Fortunately, GitLab offers up CI to build containers and a container registry in every repository to hold the containers we build. This is really handy because it keeps everything together in one place: your container build scripts, your container build infrastructure, and the registry that holds your containers. Better yet, you can put multiple types of containers underneath a single git repository if you need to build containers based on different Linux distributions.Inspecting OpenShift cgroups from inside the podhttps://major.io/2019/04/05/inspecting-openshift-cgroups-from-inside-the-pod/Fri, 05 Apr 2019 00:00:00 +0000https://major.io/2019/04/05/inspecting-openshift-cgroups-from-inside-the-pod/My team at Red Hat builds a lot of kernels in OpenShift pods as part of our work with the Continuous Kernel Integration (CKI) project. We have lots of different pod sizes depending on the type of work we are doing and our GitLab runners spawn these pods based on the tags in our GitLab CI pipeline. Compiling with make When you compile a large software project, such as the Linux kernel, you can use multiple CPU cores to speed up the build.Running Ansible in OpenShift with arbitrary UIDshttps://major.io/2019/03/22/running-ansible-in-openshift-with-arbitrary-uids/Fri, 22 Mar 2019 00:00:00 +0000https://major.io/2019/03/22/running-ansible-in-openshift-with-arbitrary-uids/My work at Red Hat involves testing lots and lots of kernels from various sources and we use GitLab CE to manage many of our repositories and run our CI jobs. Those jobs run in thousands of OpenShift containers that we spawn every day. OpenShift has some handy security features that we like. First, each container is mounted read-only with some writable temporary space (and any volumes that you mount). Also, OpenShift uses arbitrarily assigned user IDs (UIDs) for each container.Get a /56 from Spectrum using wide-dhcpv6https://major.io/2019/03/19/get-a-slash-56-from-spectrum-using-wide-dhcpv6/Tue, 19 Mar 2019 00:00:00 +0000https://major.io/2019/03/19/get-a-slash-56-from-spectrum-using-wide-dhcpv6/After writing my last post on my IPv6 woes with my Pixel 3, some readers asked how I&rsquo;m handling IPv6 on my router lately. I wrote about this previously when Spectrum was Time Warner Cable and I was using Mikrotik network devices. There is a good post from 2015 on the blog and it still works today: Time Warner Road Runner, Linux, and large IPv6 subnets I am still using that same setup today, but some readers found it difficult to find the post since Time Warner Cable has renamed to Spectrum.Pixel 3 Wi-Fi drops constantlyhttps://major.io/2019/03/17/pixel-3-wifi-drops-constantly/Sun, 17 Mar 2019 00:00:00 +0000https://major.io/2019/03/17/pixel-3-wifi-drops-constantly/We have two Google Pixel phones in our house: a Pixel 2 and a Pixel 3. Both of them drop off our home wireless network regularly. It causes lots of problems with various applications on the phones, especially casting video via Chromecast. At the time when I first noticed the drops, I was using a pair of wireless access points (APs) from Engenius: EAP600 EAP1200H Also, here&rsquo;s what I knew at the time:Stop audio pops on Intel HD Audiohttps://major.io/2019/03/04/stop-audio-pops-on-intel-hd-audio/Mon, 04 Mar 2019 00:00:00 +0000https://major.io/2019/03/04/stop-audio-pops-on-intel-hd-audio/I recently picked up a Dell Optiplex 7060 and I&rsquo;m using it as my main workstation now. The Fedora installation was easy, but I noticed a variety of &ldquo;pop&rdquo; or clicking sounds when audio played, especially terminal bells. If everything was quiet and I triggered a terminal bell, I would hear a loud pop just before the terminal bell sound. However, if I played music and then triggered a terminal bell, the pop was gone.Automatic floating windows in i3https://major.io/2019/02/08/automatic-floating-windows-in-i3/Fri, 08 Feb 2019 00:00:00 +0000https://major.io/2019/02/08/automatic-floating-windows-in-i3/The i3 window manager is a fast window manager that helps you keep all of your applications in the right place. It automatically tiles windows and can manage those tiles across multiple virtual desktops. However, there are certain applications that I really prefer in a floating window. Floating windows do not get tiled and they can easily be dragged around with your mouse. They&rsquo;re the type of windows you expect to see on other non-tiling desktops such as GNOME or KDE.DevConf.CZ 2019 Recaphttps://major.io/2019/01/31/devconf.cz-2019-recap/Thu, 31 Jan 2019 00:00:00 +0000https://major.io/2019/01/31/devconf.cz-2019-recap/DevConf.CZ 2019 wrapped up last weekend and it was a great event packed with lots of knowledgeable speakers, an engaging hallway track, and delicious food. This was my first trip to any DevConf and it was my second trip to Brno. Lots of snow showed up on the second day and more snow arrived later in the week! First talk of 2019 I co-presented a talk with one of my teammates, Nikolai, about some of the fun work we&rsquo;ve been doing at Red Hat to improve the quality of the Linux kernel in an automated way.