My Linux story: From Linux user to contributor
I am an IT professional with over 15 years of experience in a number of different roles—systems administrator, senior Linux administrator, DevOps engineer, automation consultant, and senior scrum master. I started learning Linux on Ubuntu but shifted to CentOS as a sysadmin, and later I moved to Fedora for personal use. But my joy for technology started much earlier than my first Linux distribution, and it came in the form of a movie.
read more
Recovering audio from a lost format with open source
Back in the early 2000s, we made a family decision to upgrade the living room stereo. The equipment in place at the time was based on a collection of gear that I had purchased some 20 years earlier when I first had a steady post-university income.
read more
Add videos as wallpaper on your Linux desktop
The Linux desktop is a beautiful thing, but if you're tired of boring wallpaper, then you should try wallset, a command-line utility allowing you to set a video as your wallpaper. Wallset can also help you manage your wallpaper collection so you can conveniently make changes as often as you want.
InstallationFirst, you must have the following software installed on your system:
read more
How open source will affect the future of our energy use
Humanity depends upon the energy furnished by our environment. Without powerful energy sources, we would not be able to digitally communicate with people from anywhere and feel as if we're in the same room.
read more
What you need to know about automation testing in CI/CD
"If things seem under control, you're just not going fast enough." —Mario Andretti
Test automation means focusing continuously on detecting defects, errors, and bugs as early and quickly as possible in the software development process. This is done using tools that pursue quality as the highest value and are put in place to ensure quality—not just pursue it.
read more
Expand your Raspberry Pi with Arduino ports
As members of the maker community, we are always looking for creative ways to use hardware and software. This time, Patrick Lima and I decided we wanted to expand the Raspberry Pi's ports using an Arduino board, so we could access more functionality and ports and add a layer of protection to the device. There are a lot of ways to use this setup, such as building a solar panel that follows the sun, a home weather station, joystick interaction, and more.
read more
Making compliance scalable in a container world
Software is increasingly being distributed as container images. Container images include the many software components needed to support the featured software in the container. Thus, distribution of a container image involves distribution of many software components, which typically include GPL-licensed components. We can't expect every company that distributes container images to become an open source compliance expert, so we need to build compliance into container technology.
read more
Program IoT systems using Python with this VSCode plugin for RTOS
The pervasiveness of the Internet of Things (IoT) means nearly every product, from refrigerators to pocket watches, can connect to a network. For that to happen, all these products must have an embedded computer running a networking stack, and some of these products are almost impossibly small. That's where embedded software comes in: modern technology provides a tiny computer, hard-coded into a hardware chip, without any need for offboard CPU, RAM, or hard drive.
read more
A visual guide to Lens: A new way to see Kubernetes
There are many Kubernetes administration tools to choose from, whether you prefer a command-line utility or a graphical user interface. I recently covered k9s, a text-based interface that many day-to-day Kubernetes administrators enjoy, but you have to navigate through many Kubernetes-specific terms to use it. A lot of people who use Kubernetes less often would rather have a colorful, clean visual guide.
read more
6 best practices for teams using Git
Git is very useful for helping small teams manage their software development processes, but there are ways you can make it even more effective. I've found a number of best practices that help my team, especially as new team members join with varying levels of Git expertise.
read more
VR hits a new milestone, Mozilla's growing open source voice library, change in Redis maintainers, and more open source news
In this week’s edition of our open source news roundup, Mozilla updates its open source voice stack, a tool to tame VR cybersickness, and more open source news.
A new open source toolkit to prevent VR cybersicknessResearchers at The University of Texas at San Antonio (UTSA) announced the release of GingerVR last month. A UTSA blog post announcing the news called GingerVR the first open-source Unity software toolkit using proven techniques to help virtual reality (VR) users fight cybersickness.
read more
Use systemd timers instead of cronjobs
I am in the process of converting my cron jobs to systemd timers. I have used timers for a few years, but usually, I learned just enough to perform the task I was working on. While doing research for this systemd series, I learned that systemd timers have some very interesting capabilities.
read more
Why I stick with xterm
What's my terminal of choice?
I use xterm. That's right, xterm. It may seem like an old school choice, and I do use GNOME 3 now as well, but after many years of trying some and ignoring others, then going back to old standbys, I find I don't need (or like) newer stuff like GNOME Terminal.
My philosophy: Start simple, improve over time, and aim for productivity.
Background and foregroundI start up xterm with this script:
read more
What you need to know about hash functions
There is a tool in the security practitioner's repertoire that's helpful for everyone to understand, regardless of what they do with computers: cryptographic hash functions. That may sound mysterious, technical, and maybe even boring, but I have a concise explanation of what hashes are and why they matter to you.
read more
A guide to Terraform for Kubernetes beginners
When I build infrastructure, I do it as code. The movement toward infrastructure as code means that every change is visible, whether it's through configuration management files or full-blown GitOps.
read more
Set up Vim as your Rust IDE
The Rust programming language is designed to implement systems programming with safe concurrency and high memory performance in a way that feels familiar to C++ developers. It's also one of the most loved programming languages in Stack Overflow's 2019 Developer Survey.
read more
9 open source test-automation frameworks
A test-automation framework is a set of best practices, common tools, and libraries that help quality-assurance testers assess the functionality, security, usability, and accessibility of multiple web and mobile applications. In a "quick-click" digital world, we're accustomed to fulfilling our needs in a jiffy. This is one reason why the software market is flooded with hundreds of test-automation frameworks.
read more
Community crossover, Rust at CNCF, and more industry trends
As part of my role as a senior product marketing manager at an enterprise software company with an open source development model, I publish a regular update about open source community, market, and industry trends for product marketers, managers, and other influencers. Here are five of my and their favorite articles from that update.
read more
Create LEGO designs in Blender with this plugin
I use LEGO CAD to document some of my own creations (or "MOCs," as custom sets are called in some digital LEGO communities). The advantage of computer-aided design (CAD) is precision. When you use CAD to build something in virtual space, you can reasonably expect that it can be built in the real world. While the LEGO CAD applications I use don't have simulated physics to verify the structural integrity of my designs, I do lay every brick in the software to mimic a model I've made in real life.
read more
What does a scrum master do?
Turning a love of open source communities into a career is possible, and there are plenty of directions you can take. The path I'm on these days is as a scrum master.
Scrum is a framework in which software development teams deliver working software in increments of 30 days or less called "sprints." There are three roles: scrum master, product owner, and development team. A scrum master is a facilitator, coach, teacher/mentor, and servant/leader that guides the development team through executing the scrum framework correctly.
read more