<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Linux</title><link>https://jwheel.org/tags/linux/</link><description>Homepage of Justin Wheeler, an Open Source contributor and Free Software advocate from Georgia, USA.</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><managingEditor>Justin Wheeler</managingEditor><lastBuildDate>Tue, 20 Aug 2019 00:00:00 +0000</lastBuildDate><atom:link href="https://jwheel.org/rss/tags/linux/index.xml" rel="self" type="application/rss+xml"/><item><title>HPC workloads in containers: Comparison of container run-times</title><link>https://jwheel.org/blog/2019/08/hpc-workloads-containers/</link><pubDate>Tue, 20 Aug 2019 00:00:00 +0000</pubDate><guid>https://jwheel.org/blog/2019/08/hpc-workloads-containers/</guid><description><![CDATA[<p>Recently, I worked on an interesting project to evaluate different container run-times for high-performance computing (HPC) clusters. HPC clusters are what we once knew as <a href="https://en.wikipedia.org/wiki/Supercomputer">supercomputers</a>. Today, instead of giant mainframes, they are hundreds, thousands, or tens of thousands of <a href="https://en.wikipedia.org/wiki/Massively_parallel">massively parallel</a> systems. Since performance is critical, virtualization with tools like virtual machines or Docker containers was not realistic. The overhead was too much compared to bare metal.</p>
<p>However, the times are a-changing! <a href="https://jwfblog.wpenginepowered.com/tag/containers/">Containers</a> are entering as real players in the HPC space. Previously, containers were brushed off as incompatible with most HPC workflows. Now, several open source projects are emerging with unique approaches to enabling containers for HPC workloads. This blog post evaluates four container run-times in an HPC context, as they stand in July 2019:</p>
<ul>
<li>Charliecloud</li>
<li>Shifter</li>
<li>Singularity</li>
<li>Podman</li>
</ul>

<h2 id="research-requirements">Research requirements&nbsp;<a class="hanchor" href="#research-requirements" aria-label="Anchor link for: Research requirements">🔗</a></h2>
<p>My research focused around a specific set of requirements. To receive a favorable review, a container run-time needed to meet three basic requirements:</p>
<ul>
<li>Support CentOS/RHEL 7.5+</li>
<li>Compatibility with <a href="https://en.wikipedia.org/wiki/Univa_Grid_Engine">Univa GridEngine</a></li>
<li>Support for very large numbers of users</li>
</ul>
<p>Obviously there are security concerns with the third requirement. This is one reason containers have not made a strong showing in the HPC world yet. With the Docker security model, root access is a requirement to build and run containers. In a production HPC environment where users do not trust other users, this is a hard blocker.</p>
<p>Other HPC environments may differ. If you are an HPC administrator and also considering containers in your environment, consider my requirements. My research was exclusively framed through these three requirements.</p>

<h2 id="charliecloud">Charliecloud&nbsp;<a class="hanchor" href="#charliecloud" aria-label="Anchor link for: Charliecloud">🔗</a></h2>
<p><a href="https://github.com/hpc/charliecloud">Charliecloud</a> is an open source project based on a user-defined software stack (UDSS). Like most container implementations, it uses Linux user namespaces to run unprivileged containers. It is designed to be as minimal and lightweight as possible, to the point of not adding features that could conflict with any specific use cases. This can be a positive or a negative, depending on how complex your environment is.</p>
<p>However, I abandoned my research on Charliecloud early on after reading this <a href="https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0177459">PLOS research paper</a>:</p>
<blockquote>
<p>The software makes use of kernel namespaces that are not deemed stable by multiple prominent distributions of Linux (e.g. <strong>no versions of Red Hat Enterprise Linux or compatibles support it</strong>), and may not be included in these distributions for the foreseeable future.</p>
<p>The software is emphasized for its simplicity and being less than 500 lines of code, and this is an indication of having a lack of user-driven features. The containers are not truly portable because they must be extracted from Docker and configured by an external C executable before running, and even after this step, all file ownership and permissions are dependent on the user running the workflow.</p>
<p><a href="https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0177459">Singularity: Scientific containers for mobility of compute</a>, May 2017 (Gregory M. Kurtzer, Vanessa Sochat, Michael W. Bauer)</p>
</blockquote>
<p>However, it is worth noting this paper was written in support of Singularity. It was also written by the Singularity project lead and others from the Singularity open source community. If you are conducting your own independent research, consider looking closer at Charliecloud, since at the time of writing it is still actively developed. The research paper was written in May 2017.</p>
<p><em>Edit</em>: This situation already changed and Charliecloud is probably worth a deeper look:</p>
<blockquote class="twitter-tweet" data-dnt="true"><p lang="en" dir="ltr">This is a fantastic write up, one thing to mention is that abandoning the CharlieCloud research based solely on lack of support of the user kernel namespace is no longer a blocker. For example, PodMan now uses the same technology and it was released in RHEL8.</p>&mdash; Apptainer (formerly Singularity) (@SingularityApp) <a href="https://twitter.com/SingularityApp/status/1163846727700344834?ref_src=twsrc%5Etfw">August 20, 2019</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>



<h2 id="shifter">Shifter&nbsp;<a class="hanchor" href="#shifter" aria-label="Anchor link for: Shifter">🔗</a></h2>
<p><a href="https://github.com/NERSC/shifter">Shifter</a> is another container run-time implementation focused on HPC users. At time of writing, it is almost exclusively backed by the <a href="https://www.nersc.gov/">National Energy Research Scientific Computing Center</a> and <a href="https://www.cray.com/">Cray</a>. Most documented use cases use <a href="https://slurm.schedmd.com/">Slurm</a> for cluster management / job scheduling. Instead of a Docker/OCI format, it uses its own Shifter-specific format, but this is reverse-compatible with Docker container images. It requires hosting a registry service and a <strong>Shifter Image Gateway</strong>.</p>
<p>The Shifter Image Gateway is a REST interface implemented with <a href="https://palletsprojects.com/p/flask/">Python Flask</a>. It pulls images from the registry service and converts them to the Shifter image format. MPI integration is supported but its implementation is MPICH-centric.</p>
<p>The downside to Shifter is lack of community. There are not many other organizations other than NERSC and Cray that appear to support Shifter. <a href="https://github.com/NERSC/shifter/tree/master/doc">Documentation exists</a>, but at writing time (July 2019), the last significant contribution was April 2018. Some bugs and feature requests are triaged, but there is not much of a maintainer presence in these issues. Most follow-up discussion to new issues are from a handful of outside contributors without commit access.</p>
<p>Additionally, there are several signs of stagnant development, such as <a href="https://github.com/NERSC/shifter/pull/172">NERSC/shifter#172</a> to add better MPI integration. However, the PR stalled out since it was first opened in April 2017. Furthermore, there is a high bus factor: most contributions and pull requests come from the same two developers, indicating low engagement from the wider HPC community. Code is <a href="https://travis-ci.org/NERSC/shifter">regularly tested</a>, but integration tests <a href="https://travis-ci.org/NERSC/shifter/jobs/541868408#L880-L969">only exist for Slurm</a>. For more details, check out the <a href="https://github.com/NERSC/shifter/pulse">GitHub project pulse</a>.</p>
<p>A detail worth noting is Shifter was one of the first real container run-times for HPC. A former Shifter collaborator branched off from Shifter to start Singularity (and eventually, a for-profit company to support it, Sylabs). It invites room for personal biases when evaluating Shifter and Singularity, specifically if you are not a newcomer in the HPC community.</p>

<h2 id="singularity">Singularity&nbsp;<a class="hanchor" href="#singularity" aria-label="Anchor link for: Singularity">🔗</a></h2>
<p><a href="https://sylabs.io/singularity/">Singularity</a> is the third and last HPC-specific player in the container run-time world. The vendor is <a href="https://sylabs.io/about-us/mission">Sylabs Inc</a>. There are a few different factors that make Singularity interesting, and in my opinion, the most promising HPC container implementation.</p>

<h3 id="general-overview">General overview&nbsp;<a class="hanchor" href="#general-overview" aria-label="Anchor link for: General overview">🔗</a></h3>
<p>Singularity v3.x.x is written almost entirely in Golang. It supports two image formats: Docker/OCI and Singularity&rsquo;s native Single Image Format (SIF). As of September 2018, there are an estimated 25,000+ systems running Singularity, including users like <a href="https://www.tacc.utexas.edu/">TACC</a>, <a href="https://www.sdsc.edu/">San Diego Supercomputer Center</a>, and <a href="https://www.ornl.gov/">Oak Ridge National Laboratory</a>. Additionally, Univa <a href="http://www.univa.com/about/news/press_2018/07312018.php">announced a partnership</a> with Sylabs in July 2018 to bring Singularity workflows to Univa GridEngine.</p>
<p>Sylabs offers Singularity (free and open source) and SingularityPRO (paid and proprietary). The commercial version comes with a support contract and long-term support for some releases (among other things).</p>
<p>Admin/root access is not required to run Singularity containers and it requires no additional configuration to do this out of the box. Containers are run under the Linux user ID that launches them (see <em><a href="https://sylabs.io/guides/2.6/user-guide/introduction.html#security-and-privilege-escalation">Security and privilege escalation</a></em>).</p>
<p>At a quick glance, Sylabs developers appear to be <a href="https://github.com/sylabs">actively engaged</a> in the Kubernetes development community, particularly around Red Hat technology. They also seem to keep their promises: in early 2018, blog posts show ambitious feature promises for the then-upcoming v3.0.0 release at the end of the year. Near the end of 2018, the release was delivered on-time with most/all of the promised functionality.</p>

<h3 id="image-formats">Image formats&nbsp;<a class="hanchor" href="#image-formats" aria-label="Anchor link for: Image formats">🔗</a></h3>
<p>The Singularity Image Format (SIF) is a single-image format (i.e. no layers involved). This was a design decision specifically for HPC workloads. SIFs are treated like a binary executable by a Linux user. Additionally, it is possible to create SIFs using the <a href="https://sylabs.io/guides/3.3/user-guide/definition_files.html#sections">Definition File</a> spec.</p>
<p>However, Singularity is also compatible with Docker/OCI images and OCI is given <a href="https://github.com/sylabs/singularity/labels/OCI">active development focus</a> by upstream Singularity. Docker/OCI images are converted on-the-fly to a SIF. Docker/OCI images can be used locally or pulled from a remote registry like Docker Hub or <a href="https://www.openshift.com/products/quay">Quay</a>. To the user, if using a Docker/OCI image, the conversion is seamless and does not require additional configuration to use.</p>
<p>See <a href="https://web.archive.org/web/20190726223349/https://archive.sylabs.io/2018/03/sif-containing-your-containers/">this Sylabs blog post</a> for a deeper dive on how SIFs were designed.</p>

<h3 id="flexible-configuration">Flexible configuration&nbsp;<a class="hanchor" href="#flexible-configuration" aria-label="Anchor link for: Flexible configuration">🔗</a></h3>
<p>Singularity (uniquely?) offers advanced configuration options for HPC administrators. Some highlights are detailed here:</p>
<ul>
<li><strong>Controlling bind mounts</strong>:
<ul>
<li><code>mount dev = minimal</code>: Only binds <code>null</code>, <code>zero</code>, <code>random</code>, <code>urandom</code>, and <code>shm</code> into container</li>
<li><code>mount home = {yes,no}</code>, <code>mount tmp = {yes,no}</code>: Choose to enable or disable these bind mounts globally</li>
<li><code>bind path = &quot;&quot;</code>: Bind specific paths into containers by default</li>
<li><code>user bind control = {yes,no}</code>: Allow users to include their own bind mount paths or limit it to an admin-approved set of paths (above)</li>
</ul>
</li>
<li><strong>Controlling containers</strong>:
<ul>
<li><code>limit container paths =</code>: Possible to limit SIFs provided at a specific path and nowhere else</li>
</ul>
</li>
</ul>

<h3 id="hpc-community-engagement">HPC community engagement&nbsp;<a class="hanchor" href="#hpc-community-engagement" aria-label="Anchor link for: HPC community engagement">🔗</a></h3>
<p>These notes only apply to Singularity free, not the proprietary SingularityPRO product.</p>
<p>The signals from their open source community engagement are positive and strong. They appear authentic and genuine to an <a href="https://sylabs.io/resources/community">open source commitment</a> (i.e. not <a href="https://blogs.gnome.org/bolsh/2010/07/19/rotten-to-the-open-core/">open-core business model</a>). This is demonstrated in a few ways:</p>
<p>First, they have <a href="https://sylabs.io/guides/3.3/user-guide/">thorough user documentation</a>, intended for end-users in HPC environments using Singularity. They have a less thorough but still useful <a href="https://sylabs.io/guides/3.2/admin-guide/">admin documentation</a>.</p>
<p>Second, all issues are triaged quickly and get feedback from core developers or outside contributors at a consistent pace. Pull requests don&rsquo;t stagnate either: the oldest PR is less than six months old.</p>
<p>Third, code is regularly tested (<a href="https://travis-ci.org/sylabs/singularity">1</a>, <a href="https://circleci.com/gh/sylabs/singularity/tree/master">2</a>). The code generally follows <a href="https://goreportcard.com/report/github.com/sylabs/singularity">best practices</a> (i.e. it is not atrocious to work with).</p>
<p>Fourth, there are also a handful of active contributors (both developers and in the community support channels) who come from outside of Sylabs, which indicates more engagement by a wider audience of people.</p>
<p>For more statistics, check out the <a href="https://github.com/sylabs/singularity/pulse">GitHub project pulse</a>.</p>

<h2 id="podman">Podman&nbsp;<a class="hanchor" href="#podman" aria-label="Anchor link for: Podman">🔗</a></h2>
<p><em>tl;dr</em>: Podman is an underdog that shows promise, but likely needs another one or two years of time for most HPC use cases.</p>
<p><a href="https://podman.io/">Podman</a> is a container run-time developed by Red Hat. Its primary goal is to be a drop-in replacement for Docker. While it is not explicitly designed with HPC use cases in mind, it intends to be a lightweight &ldquo;wrapper&rdquo; to run containers without the overhead of the full Docker daemon. Furthermore, the Podman development team is recently looking into better support for HPC use cases.</p>
<p>Podman is currently lacking for a HPC use case for some of these reasons:</p>
<ol>
<li><a href="https://github.com/containers/libpod/issues/3478">Missing support for parallel filesystems</a> (e.g. <a href="https://en.wikipedia.org/wiki/IBM_Spectrum_Scale">IBM Spectrum Scale</a>)</li>
<li>Rootless Podman was designed to <a href="https://github.com/containers/libpod/blob/master/rootless.md">use kernel user namespaces</a> which is <a href="https://github.com/containers/libpod/issues/3561">not compatible with most parallel filesystems</a> (might change in a year or two)</li>
<li><a href="https://github.com/containers/libpod/issues/3587">Not yet possible to set system site policy defaults</a></li>
<li><a href="https://github.com/containers/libpod/issues/3589">Pulling Docker/OCI images requires multiple subuids/subgids</a> (might change in a year or two)</li>
</ol>
<p>Where Podman does shine is providing a way to run <strong><em>and</em></strong> build containers without root access or <code>setuid</code>.</p>
<p>The same challenges and problems required for Podman to run OCI containers in an HPC environment are the same problems faced by Singularity to build SIF images without root in the HPC environment: <strong>mapping UIDs to subuids/subgids on the compute nodes</strong>. More interestingly, <strong><a href="https://buildah.io/">Buildah</a></strong> offers a promising way to enable users to build container images as Docker/OCI images all without root. It is plausible to use Buildah as the container image delivery mechanism and swap out the container run-time implementation (Podman vs. Singularity) depending on specific needs and requirements.</p>

<h2 id="what-do-you-think">What do you think?&nbsp;<a class="hanchor" href="#what-do-you-think" aria-label="Anchor link for: What do you think?">🔗</a></h2>
<p>I hope other folks out there in the HPC world find this preliminary research useful. Do you agree or disagree with any parts of this write-up? Is something out-of-date? Drop a comment down below.</p>]]></description></item><item><title>Students meet Fedora at Linux Weekend 2017</title><link>https://jwheel.org/blog/2017/04/students-fedora-linux-weekend-2017/</link><pubDate>Tue, 04 Apr 2017 00:00:00 +0000</pubDate><guid>https://jwheel.org/blog/2017/04/students-fedora-linux-weekend-2017/</guid><description><![CDATA[<p><em>This article was originally published <a href="https://fedoramagazine.org/students-fedora-linux-weekend-2017/">on the Fedora Magazine</a>.</em></p>
<hr>
<p>Open source projects are built online and a lot of their community members are placed all over the world. Even though projects have people from around the world, this doesn&rsquo;t stop ambitious community members to organize open source conferences or events in their own cities. Whether they&rsquo;re focused generally to open source or for a specific project, you can find a variety of conferences, hackathons, workshops, or meet-ups all over the world. Fedora benefits from having <a href="https://fedoraproject.org/wiki/Ambassadors">Ambassadors</a> to attend these events to introduce Fedora and spread the word about the community. It&rsquo;s not uncommon to see Fedora participating in these events, and Linux Weekend 2017 in Tirana, Albania was not an exception.</p>
<p>
<figure>
  <img src="https://cdn.fedoramagazine.org/wp-content/uploads/2017/03/Azizaj-kicking-off-conference-300x146.jpg" alt="Jona Azizaj, Fedora Ambassador and Open Labs board member, kicks off Linux Weekend 2017" loading="lazy">
  <figcaption>Jona Azizaj (<a href="http://jona.azizaj.com/" class="bare">http://jona.azizaj.com/</a>), Fedora Ambassador and Open Labs board member, kicks off Linux Weekend 2017</figcaption>
</figure>
</p>
<p>From March 25-26, 2017 in Tirana, Albania, nearly 130 people attended the first-ever <a href="http://linuxweekend.openlabs.cc/">Linux Weekend 2017</a>. Linux Weekend was organized by <a href="https://openlabs.cc/en/">Open Labs Hackerspace</a> at the <a href="http://fti.edu.al/?lang=en">Universiteti Politeknik i Tiranës</a> as an introduction to Linux for beginners. Throughout Tirana, universities have a strong focus on Windows or macOS operating systems and little focus is given to Linux. Open Labs community members wanted to organize an event that would promote Linux as an open source alternative and demonstrate some of its benefits over proprietary environments. The event collected representatives from various communities, including Fedora, Ubuntu, OpenSUSE, NextCloud, MusicBrainz, and more.</p>

<h2 id="organizing-linux-weekend">Organizing Linux Weekend&nbsp;<a class="hanchor" href="#organizing-linux-weekend" aria-label="Anchor link for: Organizing Linux Weekend">🔗</a></h2>
<p>The Open Labs community is not unfamiliar to organizing open source events in Tirana. Their portfolio includes <a href="https://openlabs.cc/sq/fedora-23-release-party-report/">Fedora release parties</a>, <a href="https://openlabs.cc/sq/openstreetmap-hyrje-ne-josm/">OpenStreetMap map-a-thons</a>, <a href="https://openlabs.cc/sq/wikiprojekti-grate/">Wikipedia edit-a-thons</a>, and <a href="https://openlabs.cc/sq/fedora-meetup-tirana-2-report/">Fedora community meet-ups</a>. However, these events have been targeted towards people who already had prior interest or knowledge about open source communities. The organization and planning for Linux Weekend began in the middle of January as an idea to introduce Linux to complete beginners.</p>
<p>
<figure>
  <img src="https://cdn.fedoramagazine.org/wp-content/uploads/2017/03/Fedora-community-table-1024x683.jpg" alt="The Fedora community table at Linux Weekend 2017 in Tirana, Albania had no shortage of swag, stickers, and more to share with attendees" loading="lazy">
  <figcaption>The Fedora community table had no shortage of swag, stickers, and more to share with attendees</figcaption>
</figure>
</p>
<p>Planning and organizing Linux Weekend was a community effort. <a href="http://jona.azizaj.com/">Jona Azizaj</a> is a board member of Open Labs and a Fedora contributor, and was involved as an organizer for the event. &ldquo;This was the first edition of Linux Weekend, so the main focus is to raise awareness about Linux and open source. We wanted to educate beginners and spread the word about the choices that are available,&rdquo; Azizaj explained. The two tracks for the event were full of talks and workshops to introduce attendees not only to Linux, but also various software and applications of what someone can do with Linux.</p>
<p>Many of the attendees were students who had either heard of Linux in their classes or from their peers. Other attendees included industry professionals or other open source community members. Several representatives of Fedora from different parts of the community were in attendance as well. <a href="http://whatcanidoforfedora.org/en/#advocacy">Ambassadors</a>, <a href="http://whatcanidoforfedora.org/en/#designexclamation">designers</a>, and <a href="http://whatcanidoforfedora.org/en/#translation">translators</a> were available to answer questions and teach newcomers about Fedora.</p>

<h2 id="albanian-students-learn-linux">Albanian students learn Linux&nbsp;<a class="hanchor" href="#albanian-students-learn-linux" aria-label="Anchor link for: Albanian students learn Linux">🔗</a></h2>
<p>Since the focus of the event was to teach newcomers about Linux and how it can be used, Linux Weekend was organized to be an introduction to various parts of the Linux ecosystem. Representatives from Fedora, Ubuntu, Arch Linux, OpenSUSE, Linux Mint, and elementaryOS gave introductions to the operating systems and their communities. In addition to distributions, there were also sessions on open source licenses, <a href="https://nextcloud.com/about/">NextCloud</a>, text editors, <a href="https://musicbrainz.org/doc/About">MusicBrainz</a>, and more. The benefit of these sessions were demonstrating the different ways Linux can be used to accomplish various tasks.</p>
<p>
<figure>
  <img src="https://cdn.fedoramagazine.org/wp-content/uploads/2017/04/Uku-introducing-editors-1024x683.jpg" alt="Sidorela Uku introduces different editors and tools in her talk at Linux Weekend 2017 in Tirana, Albania" loading="lazy">
  <figcaption>Sidorela Uku (<a href="https://twitter.com/SidorelaUku" class="bare">https://twitter.com/SidorelaUku</a>) introduces different editors and tools in her talk</figcaption>
</figure>
</p>
<p>In addition to the various sessions during the weekend, there were three community booths for Fedora, OpenSUSE, and Mozilla. Attendees had a chance to get swag from each project and also talk with representatives about their own experiences or how to get started using their project.</p>
<p><a href="https://twitter.com/SidorelaUku">Sidorela Uku</a> was both an attendee and a speaker at Linux Weekend. Her talk, &ldquo;Programming in Linux, editors, and tools&rdquo;, introduced various text editors and other tools to help customize any Linux distribution to someone&rsquo;s needs or personal preferences. In addition to sharing her own knowledge, she was also excited to discover new things. &ldquo;I wanted to attend the talks and workshops to learn as much as possible. I also wanted to figure out the next steps to find a project and get involved as a contributor,&rdquo; Uku explained. &ldquo;I also wanted to share the things I know with others to help them get started with Linux.&rdquo; This was Uku&rsquo;s first time speaking at an event and she looks forward to more open source events in Tirana in the future.</p>

<h2 id="fedora-contributors-introduce-community">Fedora contributors introduce community&nbsp;<a class="hanchor" href="#fedora-contributors-introduce-community" aria-label="Anchor link for: Fedora contributors introduce community">🔗</a></h2>
<p>Various members of the Fedora community were also in attendance. Some of the Fedora presentations over the weekend introduced the project to newcomers, detailed the <a href="https://communityblog.fedoraproject.org/fedora-translation-sprint-5-days-50-members-20-thousand-words/">translation efforts</a> to bring Fedora to Albanian, and also guided attendees on how to make their first steps as contributors. The Fedora presence aimed to help give newcomers a taste of the operating system but also to show the impact someone can have if they decide to contribute.</p>
<p>
<figure>
  <img src="https://cdn.fedoramagazine.org/wp-content/uploads/2017/04/Balla-introduces-Fedora-Project-1024x683.jpg" alt="Mariana Balla, a Fedora contributor, introduces the Fedora Project to Linux Weekend 2017 attendees in Tirana, Albania" loading="lazy">
  <figcaption>Mariana Balla (<a href="https://twitter.com/marianaballa1" class="bare">https://twitter.com/marianaballa1</a>), a Fedora contributor, introduces the Fedora Project to attendees</figcaption>
</figure>
</p>
<p><a href="https://twitter.com/marianaballa1">Mariana Balla</a> was one of the first speakers on Saturday morning with her talk titled, &ldquo;Introduction to Fedora Project and how to be a part of the community&rdquo;. She started with localizing Fedora into Albanian in early 2016 and more recently started to become an advocate as well. &ldquo;Fedora is one of the most used distributions, and it was great to have Fedora here to spread the word and show what our community is all about,&rdquo; Balla said. &ldquo;One thing I hoped to show in my talk was that technical skills aren&rsquo;t required to contribute to Fedora. There&rsquo;s so many things that aren&rsquo;t code that people can help with!&rdquo; One of the highlights of Balla&rsquo;s presentation was breaking down the different sub-projects in the community and how they contribute to making Fedora what it is. One site that was mentioned was <a href="http://whatcanidoforfedora.org/">whatcanidoforfedora.org</a>, a site anyone can click their way through to find an area that interests them.</p>
<p>One key contribution area that was important for the local community was localization. Many attendees and speakers alike thought it was important to have software translated into their native language. <a href="https://twitter.com/anxhelahyseni">Anxhela Hyseni</a> is a Fedora Ambassador and led the workshop on &ldquo;Translation of Fedora&rdquo;. &ldquo;It&rsquo;s important for Albanians to have software in Albanian because we are Albanians!&rdquo; Hyseni laughs. &ldquo;People are better able to understand Fedora and it makes it more accessible for us to have it in our local language.&rdquo; She hopes that attendees left Linux Weekend with plenty of new contacts in the open source community and a better idea of what Linux is all about. She and others also helped Linux newcomers install Fedora 25 as a dual-boot or for virtual machines in the installfest on Saturday morning.</p>
<p>
<figure>
  <img src="https://cdn.fedoramagazine.org/wp-content/uploads/2017/03/Anxhela-at-Fedora-table-1024x683.jpg" alt="Fedora Ambassador Anxhela Hyseni at the Fedora community table at Linux Weekend 2017 in Tirana, Albania" loading="lazy">
  <figcaption>Fedora Ambassador Anxhela Hyseni (<a href="https://twitter.com/anxhelahyseni" class="bare">https://twitter.com/anxhelahyseni</a>) at the Fedora community table</figcaption>
</figure>
</p>

<h2 id="wrapping-up">Wrapping up&nbsp;<a class="hanchor" href="#wrapping-up" aria-label="Anchor link for: Wrapping up">🔗</a></h2>
<p>After two days of talks, workshops, and hallway discussions, the final talk finished around 4:00pm on Sunday. Azizaj closed out with some final words of encouragement and thanks for attendee participation.</p>
<p>
<figure>
  <img src="https://cdn.fedoramagazine.org/wp-content/uploads/2017/04/Lushka-introducing-Fedora-spins-1024x683.jpg" alt="Angelo Lushka, a Fedora translator and user, introduces the different Fedora spins at the installfest for Linux Weekend 2017 in Tirana, Albania" loading="lazy">
  <figcaption>Angelo Lushka (<a href="https://lushka.al/" class="bare">https://lushka.al/</a>), a Fedora translator and user, introduces the different Fedora spins at the installfest</figcaption>
</figure>
</p>
<p>The presence of Fedora, open source software, and its philosophy was present during the entire weekend. Between stickers, install media, and brochures from community tables and the various presentations during the weekend, participants and organizers felt the event was worthwhile. &ldquo;We had limited time to plan, but it was important to bring Linux to people to introduce the philosophy, show them how to use it, and also how they can give back,&rdquo; <a href="https://lushka.al/">Anxhelo Lushka</a>, an event organizer and Fedora contributor, explained. &ldquo;We hope attendees had new experiences and learned something new and useful for the real world, for jobs or studying. We also hope we convinced them to contribute and give back, even if in a small way.&rdquo;</p>
<p>Now that Linux Weekend 2017 is finished, the organizing team is switching their focus to <a href="https://oscal.openlabs.cc/">Open Source Conference Albania</a> (OSCAL), the largest open source conference in the region.</p>

<h2 id="find-fedora-near-you">Find Fedora near you&nbsp;<a class="hanchor" href="#find-fedora-near-you" aria-label="Anchor link for: Find Fedora near you">🔗</a></h2>
<p>Open source events are happening all around the world, and Fedora might be closer to you than you think! Check for local user or meet-up groups near you to get involved in some of these events. <a href="https://www.meetup.com/">Meetup.com</a> is a great way to find local events happening in your community. You can also keep an eye on what Fedora is up to by following us on <a href="https://www.facebook.com/TheFedoraProject">Facebook</a>, <a href="https://twitter.com/fedora">Twitter</a>, <a href="https://plus.google.com/&#43;Fedora">Google+</a>, or <a href="https://www.instagram.com/thefedoraproject/">Instagram</a>.</p>
<p>We hope to see you at an event in the coming future!</p>]]></description></item><item><title>Mumble ready for testing</title><link>https://jwheel.org/blog/2015/12/mumble/</link><pubDate>Thu, 03 Dec 2015 00:00:00 +0000</pubDate><guid>https://jwheel.org/blog/2015/12/mumble/</guid><description><![CDATA[<h2 id="mumble-is-back-in-fedora">Mumble is back in Fedora&nbsp;<a class="hanchor" href="#mumble-is-back-in-fedora" aria-label="Anchor link for: Mumble is back in Fedora">🔗</a></h2>
<p>
<figure>
  <img src="https://communityblog.fedoraproject.org/wp-content/uploads/2015/12/Mumble.png" alt="Mumble, a free and open-source VoIP program" loading="lazy">
  <figcaption>Mumble, a free and open-source VoIP program</figcaption>
</figure>
</p>
<p>The popular Voice Over IP (VoIP) program, <a href="http://wiki.mumble.info/wiki/Main_Page">Mumble</a>, is being repackaged again for Fedora 22 and 23. Fedora contributor <a href="https://bodhi.fedoraproject.org/users/fedpop">fedpop</a> unretired the package from the Fedora Package Database and is working on getting it added to the stable repositories.</p>
<p>Mumble is available for testing for Fedora 22 and 23 users. Once enough positive feedback is received, it will be added back to the stable repositories for all users. Testers are welcome, especially for Fedora 22!</p>

<h2 id="how-to-test-mumble">How to test Mumble&nbsp;<a class="hanchor" href="#how-to-test-mumble" aria-label="Anchor link for: How to test Mumble">🔗</a></h2>
<p>To test, open a command line and run the following command.</p>
<pre tabindex="0"><code>$ sudo dnf install mumble --enablerepo=updates-testing
</code></pre><p>Confirm the installation and the application will appear on your system. Give it a run and make sure everything works as expected! If it all checks out, leave feedback for the build in Bodhi so the package. This helps move it closer to being packaged for the stable repositories (links are below).</p>
<p>For help enabling the testing repository, see the <a href="https://fedoraproject.org/wiki/QA:Updates_Testing">QA Testing wiki article</a>.</p>

<h2 id="why-i-love-mumble">Why I love Mumble&nbsp;<a class="hanchor" href="#why-i-love-mumble" aria-label="Anchor link for: Why I love Mumble">🔗</a></h2>
<p>Mumble is a package I originally installed when I first began using Fedora in Fedora 20. It is one of the few major VoIP clients that can be classified as &ldquo;FOSS&rdquo; (Free and Open Source) and is available on multiple platforms. It&rsquo;s fairly simple to get a server (Murmur) up and running, and it&rsquo;s a great way for communicating over voice with friends, family, or communities. I used to use it often when I was active in various Minecraft server communities, and for a short time, I used it for my own Minecraft community as well.</p>
<p>When it originally disappeared in Fedora 21, I was disappointed since Mumble is an important piece of software that I think is important in any modern Linux distribution. Finally, Fedora users will once again be able to seamlessly install it without having to manually compile the software.</p>
<p>Big hat tip to fedpop for repackaging this awesome piece of software! This also seems to be his first experience as a Fedora packager, so a big welcome goes out to him as well. I can&rsquo;t wait to start recommending Mumble again for Fedora users.</p>

<h2 id="find-it-in-bodhi">Find it in Bodhi&nbsp;<a class="hanchor" href="#find-it-in-bodhi" aria-label="Anchor link for: Find it in Bodhi">🔗</a></h2>
<p><strong><a href="https://bodhi.fedoraproject.org/updates/FEDORA-2015-789c21d8a6">Fedora 22</a></strong></p>
<p><strong><a href="https://bodhi.fedoraproject.org/updates/FEDORA-2015-934a0702cf">Fedora 23</a></strong></p>]]></description></item><item><title>Netflix and Linux: The First 60 Seconds</title><link>https://jwheel.org/blog/2015/12/netflix-and-linux-the-first-60-seconds/</link><pubDate>Wed, 02 Dec 2015 00:00:00 +0000</pubDate><guid>https://jwheel.org/blog/2015/12/netflix-and-linux-the-first-60-seconds/</guid><description><![CDATA[<p>
<figure>
  <img src="/blog/2015/12/Linux-and-Netflix.jpg" alt="Netflix and Linux, friends at last" loading="lazy">
  <figcaption>Netflix and Linux may not agree on the desktop, but they do in the cloud. <em>Source</em>: blockless.com (<a href="https://blog.blockless.com/how-to-switch-to-linux-without-losing-your-netflix-access/" class="bare">https://blog.blockless.com/how-to-switch-to-linux-without-losing-your-netflix-access/</a>)</figcaption>
</figure>
</p>

<h2 id="netflix-linux-and-60-seconds">Netflix, Linux, and 60 seconds&nbsp;<a class="hanchor" href="#netflix-linux-and-60-seconds" aria-label="Anchor link for: Netflix, Linux, and 60 seconds">🔗</a></h2>
<p>While they have their differences on the desktop, there is one place where Netflix and Linux get along beautifully: the cloud. Netflix system administrator <a href="https://plus.google.com/112610724469645265130">Brendan Gregg</a> recently published an article on the <a href="http://techblog.netflix.com/2015/11/linux-performance-analysis-in-60s.html">Netflix blog</a> about what their administrators do in the first 60 seconds when analyzing performance. You should <a href="http://techblog.netflix.com/2015/11/linux-performance-analysis-in-60s.html">give it a read</a>!</p>
]]></description></item><item><title>Year of the Linux Desktop: Flock 2015 Summary</title><link>https://jwheel.org/blog/2015/10/year-linux-desktop-flock-2015-summary/</link><pubDate>Mon, 26 Oct 2015 00:00:00 +0000</pubDate><guid>https://jwheel.org/blog/2015/10/year-linux-desktop-flock-2015-summary/</guid><description><![CDATA[<p><a href="http://www.flocktofedora.org/">Flock to Fedora 2015</a> was a conference full of incredible people with incredible ideas, and it was a tough decision to decide which sessions to attend of all the good options. One that caught my eye was the &ldquo;<a href="http://flock2015.sched.org/event/638be2718b9c6bc1d87bc670dd67f175">When is the year of the Linux desktop?</a>&rdquo; talk by Red Hat software engineering intern <a href="https://github.com/levex">Levente Kurusa</a>. Some of the key talking points of his session were evaluating why this statement always seems to be &ldquo;next year&rdquo; and why this awesome idea never seems to gain much ground. Are we doing something wrong? Can we improve somewhere? All of this, and more, Levente aimed to cover in his talk. I was fortunate enough to be in attendance of this talk!</p>
<p>
<figure>
  <img src="http://cdn.meme.am/instances/500x/57403630.jpg" alt="This is the year of the desktop, guys… this time… I promise…" loading="lazy">
  <figcaption>This is the year of the desktop, guys… this time… I promise…</figcaption>
</figure>
</p>

<h1 id="the-negatives">The Negatives&nbsp;<a class="hanchor" href="#the-negatives" aria-label="Anchor link for: The Negatives">🔗</a></h1>

<h2 id="the-desktop-is-broken">The desktop is broken&nbsp;<a class="hanchor" href="#the-desktop-is-broken" aria-label="Anchor link for: The desktop is broken">🔗</a></h2>
<p>Without a moment&rsquo;s delay, the bold statement was offered by Levente: as of right now, the Linux desktop is <em>broken</em>.</p>
<p>56.26% of the desktop market share is Windows 7. 18.26% is Windows XP, 13.52% is Windows 8, 5.26% is OS X, 1.34% is Linux. Of the Linux distros out there, Mint, Ubuntu, Debian, OpenSUSE, and Fedora are the top five. Yet this doesn&rsquo;t seem that impressive considering how small of a position Linux as a whole takes in the desktop realm.</p>
<p>In terms of mobile-oriented operating systems, it&rsquo;s almost spectacularly reverse: 84.04% Android, 11.07% iOS, 2.09% Windows Phone, 2.80% is others. As many already know, Android is based off of the Linux kernel. So it&rsquo;s clear that we&rsquo;re doing something right with the mobile market. What can we take away from this and apply to the universe of the desktop?</p>
<p><strong>Answer</strong>: We must be doing something wrong on the desktop!</p>

<h2 id="the-masses">The masses&nbsp;<a class="hanchor" href="#the-masses" aria-label="Anchor link for: The masses">🔗</a></h2>

<h4 id="choice">Choice&nbsp;<a class="hanchor" href="#choice" aria-label="Anchor link for: Choice">🔗</a></h4>
<p>One reason why Linux doesn&rsquo;t appeal to the masses is the plethora of desktop environments; or in other words, <em>choice</em>! There are several different environments which provide different user interfaces… and they&rsquo;re all different. An end user can get lost in this as they&rsquo;re not going to care about how it runs under the hood – they just want it to be easy to use and have it be the same every time they use it. Android has about the same UI and  looks every year and every update. On the other hand, the controversial transition from <a href="http://www.datamation.com/open-source/gnome-2-vs.-gnome-3-1.html">GNOME 2 to GNOME 3</a> completed changed the UI of the Linux desktop, subsequently not offering much consistency for users who avoid having to &ldquo;learn something new&rdquo;.</p>
<p>In the big picture, they&rsquo;re all different. For developers and daily Linux users, this is good and awesome because they like choice and decision! But for the regular end user, this isn&rsquo;t good because they want consistency in how they use their computer. For the masses, the difference is bad.</p>
<p>Perhaps the answer is to never upgrade the computer, but that&rsquo;s bad from a security standpoint. Not to mention, it&rsquo;s certainly not very &ldquo;cool&rdquo; either. More often than that, having the latest and greatest in software is in the interest of users.</p>

<h4 id="configuration">Configuration&nbsp;<a class="hanchor" href="#configuration" aria-label="Anchor link for: Configuration">🔗</a></h4>
<p>The next big complaint is configuration. There&rsquo;s countless configuration applications, all with different settings, and then sometimes they all don&rsquo;t share the same settings. Again, we see the sad but true pattern of no consistency. Compare between KDE and MATE: you might configure something like printers in one desktop environment, but then you move to a different environment and they&rsquo;re all lost to the oblivion. You have to go through a painful workaround to reconfigure the same thing twice. This is probably why people love OS X computers because they promise to &ldquo;just work&rdquo;, which they usually deliver on, at the expense of losing the freedom that a Linux distribution would offer.</p>

<h4 id="distributions">Distributions&nbsp;<a class="hanchor" href="#distributions" aria-label="Anchor link for: Distributions">🔗</a></h4>
<p>The next complaint, and possibly most controversial, is distributions themselves… we all love choice and variety, but for end users, with so many different distributions, it&rsquo;s another mess. Take installing Firefox. If you&rsquo;re running Fedora and want to install Firefox, but you found a .deb file, you&rsquo;re not going to have success because it&rsquo;s a Debian package, not an RPM package. If you&rsquo;re a computer newbie, you&rsquo;re likely not going to know (or care, for that matter) about the distribution that you&rsquo;re running. It&rsquo;ll just end in frustration and confusion for a non-technical end user. They don&rsquo;t want to figure out why it doesn&rsquo;t work or how to fix it – <strong>they just want it to work</strong>.</p>
<p>Examples of the above being <code>yum install</code> on Ubuntu, development packages in Fedora repositories, and… how do I set up my printers? These are reasons why people will switch from Linux back to Windows or OS X.</p>
<blockquote>
<p>&ldquo;The efforts to standardize on a kernel and a set of core libraries were undermined by the Distro of the Day that held the position of power.&rdquo; - Miguel de Icaza</p>
</blockquote>

<h2 id="graphics">Graphics&nbsp;<a class="hanchor" href="#graphics" aria-label="Anchor link for: Graphics">🔗</a></h2>
<p>Another frustrating aspect of Linux is that the kernel can fully support a <em>4096-processor supercomputer</em>, but a laptop can have difficulties waking up from sleep.</p>
<p>This brings us into the next reason why the year isn&rsquo;t coming soon: <strong>VGA and graphics</strong>. We miss the &ldquo;<em>it just works</em>&rdquo; moments, and sometimes the issues with graphics drivers can be more frustrating and challenging than anything near enjoyable. In the kernel, it was suggested and subsequently dismissed to support graphics via VGA, but for reasons buried in the mailing lists, it&rsquo;s not in the interest of the kernel to support graphics. It&rsquo;s more of the desktop developers that do this.</p>
<p>But part of the issue is also with hardware manufacturers. If hardware manufacturers made their software utilities for Linux, it would allow for more powerful troubleshooting and debugging.</p>

<h2 id="reverse-compatibility">Reverse Compatibility&nbsp;<a class="hanchor" href="#reverse-compatibility" aria-label="Anchor link for: Reverse Compatibility">🔗</a></h2>
<p>Then we can look at reverse compatibility on the Linux desktop. Before looking at Linux, it&rsquo;s important to consider the number one adversary, Windows. Take  Win32k… Windows 98 apps can still run on Windows 8. That&rsquo;s 19 years of reverse compatibility. As much as we all love to hate on Microsoft, that&rsquo;s pretty incredible. Take GTK and Qt – neither are backwards compatible with older versions.</p>
<p>This goes hand in hand with the next point, rate of change. Windows updates its major version every two to three years, sometimes longer. There&rsquo;s usually no big changes in the interim period between major releases. You could be on XP and upgrade service packs and you won&rsquo;t notice anything significant. On the other hand, Linux distributions release far more frequently and sometimes introduce major changes, such as GNOME 2 to GNOME 3.</p>
<p>So these are the negatives of the Linux desktop. <em><strong>But!</strong></em> There are positives…</p>

<h1 id="the-positives">The Positives&nbsp;<a class="hanchor" href="#the-positives" aria-label="Anchor link for: The Positives">🔗</a></h1>

<h2 id="gaming">Gaming&nbsp;<a class="hanchor" href="#gaming" aria-label="Anchor link for: Gaming">🔗</a></h2>
<p>Probably didn&rsquo;t expect to see this as a positive, did you? The gaming side of Linux is making leaps and bounds, and it&rsquo;s worth noting. Perhaps the most notable example is <a href="http://distrowatch.com/table.php?distribution=steamos">SteamOS</a>, which is completely based off of Linux. CryTek Engine, Unreal Engine 4.1, all of these major game design engines are turning to Linux and are encouraging more support for Linux platforms. This is a <em>major</em> pull factor for users.</p>
<p>For gaming hardware, there are also positives. Nvidia is now compatible with bumblebee (which developers more familiar with this are praising), and there are many improvements to GPU drivers, such as performance, stability, and so much more. Some of the things that make us love Linux as a desktop.</p>

<h1 id="when-is-our-year">When is our year?&nbsp;<a class="hanchor" href="#when-is-our-year" aria-label="Anchor link for: When is our year?">🔗</a></h1>
<p>So… when is our year?! It&rsquo;s going to come… one day. Just not soon. There&rsquo;s too many issues in terms of appealing to the masses and making the Linux experience easier for end users.</p>
<p>Some people believe that the time has come and gone for the desktop, but the mobile market shines a light of a positive future for us. Is Android a better idea of the future than a Linux desktop environment? Only time will tell.</p>

<h6 id="sources">Sources&nbsp;<a class="hanchor" href="#sources" aria-label="Anchor link for: Sources">🔗</a></h6>
<p>This talk was given by Levente Kurusa. Levente is a Linux enthusiast focusing mostly on kernel development. He is also a frequent speaker at various Linux events, where he talks about the various way an individual can join the kernel development community. He participated in an annual open source competition called Google Code-In, where he was a finalist for KDE and became a KDE developer in the process. He currently works for Red Hat on the Virtualization Team.</p>
<p>The majority of the content of this article was taken by my own notes I took during his talk – if you want a less pretty version, you can still read my <a href="http://pastebin.com/jC91SNdh">Pastebin summary</a>.</p>]]></description></item></channel></rss>