Welcome to Planet openSUSE

This is a feed aggregator that collects what openSUSE contributors are writing in their respective blogs.

To have your blog added to this aggregator, please read the instructions.

23 January, 2019


If your’re reading this on Planet Gnome, please visit the article on my site to enjoy the inline CSS effects.

The Revolution is Coming

As you may have heard, GNOME 3.32 is going to come with a radical new icon style and new guidelines for app developers. This post aims to give some background on why this was needed, our goals with the initiative, and our exciting plans for the future.

The Problem

Our current icon style dates back all the way to the early 00s and the original Tango. One of the foundational ideas behind Tango was that each icon is drawn at multiple sizes, in order to look pixel-perfect in every context. This means that if you want to make an app icon you’re not drawing one, but up to 7 separate icons (symbolic, 16px, 22px, 24px, 32px, 48px, and 512px).

Making these icons takes quite a bit of experience and craftsmanship, and many of our high-detail icons are more art than design. However, as a part of our design system the style has not succeeded, and is in dire need of reform. Some of the major issues:

  • Many of the sizes aren’t being used anywhere in the OS, and haven’t been for the better part of a decade. Since we use either large sizes or symbolics in most contexts, the pixel-hinted small sizes are rarely seen by anyone.
  • Only a handful of people have the skills to draw icons in this style, and it can take weeks to do a single app icon. This means that iterating on the style is very hard, which is one of the reasons why our icon style has been stagnant for years.
  • Very few third-party apps are following the guidelines. Our icons are simply too hard to draw for mere mortals, and as a result even the best third-party GNOME apps often have bad icons.
  • We (GNOME Designers) don’t have the bandwidth to keep up with icon requests from developers, let alone update or evolve the style overall.
  • The wider industry has moved on from the detailed icon styles of the 2000s, which gives new users the impression that our software is outdated.
  • Cross-platform apps tend to ship with very simple, flat icons these days. The contrast between these icons and our super detailed ones can be quite jarring.

A New Beginning

One of the major project-wide goals GNOME over the past years has been empowering app developers. A big reason for this initiative is that we realized that the current style is holding us back as an ecosystem. Just as Builder is about providing a seamless development workflow, and Flatpak is about enabling direct distribution, this initiative is about making good icons more attainable for more apps.

So, what would a system designed from the ground up to empower app developers/designers to make good icons look like?

The first step is having clearer guidelines and more constraints. The old style was all about


I started my career writing web applications. I had struggles with PHP web-frameworks, javascript libraries, and rendering differences (CSS and non-CSS glitches) across browsers. After leaving that world, I started focusing more on the backend side of things, fleeing from the frontend camp (mainly actually just scared of that abomination that was javascript; because, in my spare time, I still did things with frontends: I hacked on a GTK media player called Banshee and a GTK chat app called Smuxi).

So there you had me: a backend dev by day, desktop dev by night. But in the GTK world I had similar struggles as the ones I had as a frontend dev when the browsers wouldn’t behave in the same way. I’m talking about GTK bugs in other non-Linux OSs, i.e. Mac and Windows.

See, I wanted to bring a desktop app to the masses, but these problems (and others of different kinds) prevented me to do it. And while all this was happening, another major shift was happening as well: desktop environments were fading while mobile (and not so mobile: tablets!) platforms were rising in usage. This meant yet more platforms that I wished GTK supported. As I’m not a C language expert (nor I wanted to be), I kept googling for the terms “gtk” and “android” or “gtk” and “iOS”, to see if some hacker put something together that I could use. But that day never happened.

Plus, I started noticing a trend: big companies with important mobile apps started to stop using HTML5 within their apps in favour of native apps, mainly chasing the “native look & feel”. This meant, clearly, that even if someone cooked a hack that made gtk+ run in Android, it would still feel foreign, and nobody would dare to use it.

So I started to become a fan of abstraction layers that were a common denominator of different native toolkits and kept their native look&feel. For example, XWT, the widget toolkit that Mono uses in MonoDevelop to target all 3 toolkits depending on the platform: Cocoa (on macOS), Gtk (on Linux) and WPF (on Windows). Pretty cool hack if you ask me. But using this would contradict my desires of using a toolkit that would already support Android!

And there it was Xamarin.Forms, an abstraction layer between iOS, Android and WindowsPhone, but that didn’t support desktops. Plus, at the time, Xamarin was proprietary (and I didn’t want to get out of my open source world). It was a big dilemma.

But then, some years passed, and many events happened around Xamarin.Forms:
  • Xamarin (the company) was bought by Microsoft and, at the same time, Xamarin (the product) was open sourced.
  • Xamarin.Forms is opensource now (TBH not sure if it was proprietary before, or it was always opensource).
  • Xamarin.Forms started supporting macOS and Windows UWP.
  • Xamarin.Forms 3.0 included support for GTK and WPF.

So that was the last straw that made me


Seven Candidates in Race for Three Vacant Board Seats

With less than two weeks to go until the ballots open on Monday, February 4, 2019, openSUSE News and the Elections Committee are running a “meet your candidates” series. Questions were sent out to the seven Candidates. The questions and answers will appear in the News, one Candidate each day, in alphabetical order.

You can find out more about the Elections at the Official Wiki Page.

Meet Sarah Julia Kriesch


The Candidates were asked to give some biographical personal information, such as birthdate, age, their work, their openSUSE contributions, their hobby, and more, as they saw fit.

My name is Sarah Julia Kriesch. I am 31 years old and a work-experienced Student in Computer Science with a pre-education as a Computer Science Expert for System Integration. I had worked as a Linux System Administrator for an ISP and a Linux Systems Engineer at a Cloud Computing Provider for 4 years.

Sarah Julia Kriesch aka AdaLovelace, incumbent

I am watching my studies as further education in Software Development, I have received the scholarship Aufstiegsstipendium to do that. Firstly, I worked as a Working Student for ownCloud besides my studies. Currently, I am a Student Research Assistant at my home university.

I learned using Linux at the beginning of my dual education in 2009. SLES 10 was my first Linux distribution. I wanted to know more. Therefore, I went to the oSC 11 as my first Linux conference. I met a fantastic openSUSE Community and learned more in 1 week than in 3 years in my education company. So I wanted to join. I was not allowed to contribute to openSUSE during my last year of education, because my education company did not want to see that.

They filtered Google after all contributions in forums and communities. That‘s the reason for my anonymous nickname AdaLovelace at openSUSE. I had to wait for joining openSUSE again until my first job in 2012 where I worked together with Contributors/ Members of Debian, FreeBSD and Fedora.

I started with German translations at openSUSE with half a year of work experience. Most of you know me from oSCs (since 2011). I was Member of the Video Team, the Registration Desk and contributed as a Speaker. Since 2013 I am wiki maintainer in the German/ English wiki and admin there. I report bugs if I find some and create feature requests.

Since 2014 I am an active Advocate in Germany. I give yearly presentations, organize booths and take part in different Open Source Events. I have switched to events in the UK during my Study Abroad Semester in the last year. In addition, I am the Global/ German Coordinator Localization and one Founder of the Heroes Team.

I contribute and support if I watch something needed. The open source education is such a case. So I founded the Working Group Open Source at the Nuremberg Institute of Technology because our lecturer for Linux Development has

22 January, 2019


Certified Kubernetes

The openSUSE Kubic team is proud to announce that as of yesterday, our Kubic distribution has become a Certified Kubernetes Distribution! Notably, it is the first open source Kubernetes distribution to be certified using the CRI-O container runtime!

What is Kubernetes Certification?

Container technologies in general, and Kubernetes in particular, are becoming increasingly common and widely adopted by enthusiasts, developers, and companies across the globe. A large ecosystem of software and solutions is evolving around these technologies. More and more developers are thinking “Cloud Native” and producing their software in containers first, often targeting Kubernetes as their intended platform for orchestrating those containers. And put bluntly, they want their software to work.

But Kubernetes isn’t like some other software with this sort of broad adoption. Even though it’s being used in scenarios large and small, from small developer labs to large production infrastructure systems, Kubernetes is still a fast-moving project, with new versions appearing very often and a support lifespan shorter than other similar projects. This presents real challenges for people who want to download, deploy and run Kubernetes clusters and know they can run the things they want on top of it.

When you consider the fast moving codebase and the diverse range of solutions providing or integrating with Kubernetes, that is a lot of moving parts provided by a lot of people. That can feel risky to some people, and lead to doubt that something built for Kubernetes today might not work tomorrow.

Thankfully, this a problem the Cloud Native Computing Foundation (CNCF) is tackling. The CNCF helps to build a community around open source container software, and established the Kubernetes Software Conformance Certification to further that goal. Certified Kubernetes solutions are validated by the CNCF. They check that versions, APIs, and such are all correct, present, and working as expected so users and developers can be assured their Kubernetes-based solutions will work with ease, now and into the future.

Why Certify Kubic?

The openSUSE Project has a long history of tackling the problem of distributing fast-moving software.

Tumbleweed and Kubic are simultaneously both two of the fastest and most stable rolling release distributions available.

With the Open Build Service and openQA we have an established pipeline that guarantees we only release software when it is built and tested both collectively and reproducibly.

Our experience with btrfs and snapper means that even in the event of an unwanted (or heaven forbid, broken) change to a system, users can immediately rollback to a system state that works the way they want it to.

With Transactional Updates, we ensure that no change ever happens to a running system. This futher guarantees that any rollback can return a system to a clean state in a single atomic operation.

In Kubic, we leverage all of this to build an excellent container operating system, providing users with the latest versions of exciting new tools like Podman, CRI-O, Buildah, and (of course) Kubernetes.

We’re keeping up with all of those fast


          “Londinium here we come!” I’m fairly confident that everyone around the world says pretty much the same thing: “I’m not voting because my vote doesn’t count!” the recent result in the UK over the European Union membership proves just how wrong those people are! The same is often said about … Continue reading "Visiting Parliament"

Michal Čihař: Weblate 3.4

15:30 UTC


Weblate 3.4 has been released today. The most visible new feature are guided translation component setup or performance improvements, but there are several other improvements as well.

Full list of changes:

  • Added support for XLIFF placeholders.
  • Celery can now utilize multiple task queues.
  • Added support for renaming and moving projects and components.
  • Include chars counts in reports.
  • Added guided adding of translation components with automatic detection of translation files.
  • Customizable merge commit messages for Git.
  • Added visual indication of component alerts in navigation.
  • Improved performance of loading translation files.
  • New addon to squash commits prior to push.
  • Improved displaying of translation changes.
  • Changed default merge style to rebase and made that configurable.
  • Better handle private use subtags in language code.
  • Improved performance of fulltext index updates.
  • Extended file upload API to support more parameters.

If you are upgrading from older version, please follow our upgrading instructions.

You can find more information about Weblate on https://weblate.org, the code is hosted on Github. If you are curious how it looks, you can try it out on demo server. Weblate is also being used on https://hosted.weblate.org/ as official translating service for phpMyAdmin, OsmAnd, Turris, FreedomBox, Weblate itself and many other projects.

Should you be looking for hosting of translations for your project, I'm happy to host them for you or help with setting it up on your infrastructure.

Further development of Weblate would not be possible without people providing donations, thanks to everybody who have helped so far! The roadmap for next release is just being prepared, you can influence this by expressing support for individual issues either by comments or by providing bounty for them.

Filed under: Debian English SUSE Weblate



I started searching for an edge device solution for my home I could put on x86 hardware after my Linksys E2000 started giving me problems. Initially, I was going with pfSense and set a machine up for that purpose but I came upon 7 32bit Dell Optiplex GX620 machine so I looked for a suitable solution. I wanted to make one of these an edge device. After all, they have more horsepower than any consumer based MIPS or ARM Router / Firewalls. After some searching, testing, more searching and testing, my solution is IPFire. IPFire, in short, could be considered the Linux version of the FreeBSD based pfSense. An Open Source firewall based on Linux that is easy to use, high performant and extensible which makes it usable to a large audience.

The documentation on this project needs some help, it took me some trial and error along with muddling my way through areas I didn’t fully understand to get it set up exactly as I want. Also note, immediately before starting this IPFire project, I set up a pfSense box so my expectations were now set. This is not a comparison to pfSense; that is another project of which is in progress.

This will hopefully help bridge some of the knowledge gaps you may have should you decide to try IPFire and an example of what works for me.


To begin the process, I downloaded the IPfire from here:


Should you be viewing this at a much later date, as in after a new version release click here and select Download from the menu.

I chose the flash image, I could have used the ISO, if I would have removed the drive and written the image directly to that drive. I think I may end up using this method for a future project. More on that later.

To match my hardware situation, I downloaded the 32 bit version of the Flash Image

Once downloaded I verified the image checksum

sha256sum ipfire-2.21.2gb-ext4.i586-full-core126.img.xz

Which gave me the output

0f8dc980103c733c7e236967ed35a3ce5cf847448f2b4e7c848220b334fddd38 ipfire-2.21.2gb-ext4.i586-full-core126.img.xz

Next I extracted the archive.

tar -xf ipfire-2.21.2gb-ext4.i586-full-core126.img.xz

In order to write the image to the flash drive, I had to check to see what drive I used the dd command as I would have done with pfSense. The instructions for installation where a little light and perhaps I need to help out with it.

In order to flash it to the drive, I first checked to ensure that I wrote it to the correct drive, I plugged in the drive and ran in terminal.


In the last few lines, I was able to identify the drive.


Once extracted, I installed it, using

sudo dd if=ipfire-2.21.2gb-ext4.i586-full-core126.img of=/dev/sdd bs=16k

In only a few moments, the drive was ready for me to begin the installation.

Hardware Setup

ipfire hardware testingUsing 32bit


Seven Candidates in Race for Three Vacant Board Seats

With less than two weeks to go until the ballots open on Monday, February 4, 2019, openSUSE News and the Elections Committee are running a “meet your candidates” series. Questions were sent out to the seven Candidates. The questions and answers will appear in the News, one Candidate each day, in alphabetical order.

You can find out more about the Elections at the Official Wiki Page.

Meet Dr. Axel Braun


The Candidates were asked to give some biographical personal information, such as birthdate, age, their work, their openSUSE contributions, their hobby, and more, as they saw fit.

I’m an electrical engineer by education, and wrote my PhD about helical shieldings of medium-voltage XLPE cables. That was already in the pre-Google era as I’m 57 in between.

Currently I work as a business consultant for mostly large companies. Supply chain topics, introduction of ERP systems (I have a long SAP history) and program or project management. Most of these projects are international, with teams located across all timezones.

Dr. Axel Braun aka DocB

I started with S.u.S.E. in the late 90’s, as OS/2 was about to disappear, and there was no real other operating system alternative available (this is still true, but thats a different story). SuSE at that time had the nice boxes with tons of floppies and a printed manual. Great!

The advantage over other distros was, that is was easy to handle for an end-user (YaST….). Not every release change went smooth (not to forget, there were a couple of technical changes on the road) but for me it worked mostly.

My contribution to openSUSE nowadays is mostly the maintenance of various packages, as well as every now and then support on mailing lists – but mostly there are more skilled people than I am who are faster in answering.

My main focus is the packaging of GNU Health, which is a free (as in freedom) health and hospital information system. Setting-up an ERP System is not like installing a browser, and its the biggest challenge for most users.

The goal was to make installation easy to for non-technical users, and we have reached this so far! As Ludwig Nussel has given the encouragement, GNU Health is now shipped with the Leap Standard Distribution. Currently the new release is on the way to Factory, to have it shipped with Leap 15.1.

Some other packages are on my list: I have just packages OnionShare, to safely share files via a TOR Onion Service, converted the hylafax+ package from cron to systemd-timers, and started packaging the Orthanc Server (to display medical images in DICOM format) for openSUSE. For the plugins there will be some nodejs knowledge required….feel free to contact me if you want to help!

Any my life outside of tech and work? I have 2 kids of 20 and 25 which I only see randomly, but which leaves room

21 January, 2019


Seven Candidates in Race for Three Vacant Board Seats

With two weeks to go until the ballots open on Monday, February 4, 2019, openSUSE News and the Elections Committee are running a “meet your candidates” series. Questions were sent out to the seven Candidates. The questions and answers will appear in the News, one Candidate each day, in alphabetical order.

You can find out more about the Elections at the Official Wiki Page.

Meet Christian Boltz


The Candidates were asked to give some biographical personal information, such as birthdate, age, their work, their openSUSE contributions, their hobby, and more, as they saw fit.

I’m Christian Boltz, 38 years old, and live in Insheim, Germany.

I have been using openSUSE for many years (it was still named “SuSE Linux” with lowercase “u” back when I began using it) and started annoying people in bugzilla, er, started betatesting in the 9.2 beta phase. Since then, I have reported more than 1300 bugs.

Christian Boltz aka cboltz, incumbent

Nowadays, OBS ruins my bugzilla statistics by introducing the option to send a SR. ;-)

One of my current activities in openSUSE is working in the Heroes team, where I started with moving and upgrading the wiki. I also help out on various *.opensuse.org servers since someone was evil enough to give me root permissions on lots of them ;-)

(Transparency note: I helped to setup the elections.opensuse.org server before last year’s elections – but will of course not touch it until the elections finish.)

My other openSUSE hobbies are AppArmor and PostfixAdmin, where I’m active in upstream development and as packager.

AppArmor also turned out to be a good opportunity for cross-distribution collaboration – with the funny side effect that I’m probably the only one who ever spoke at a DebConf wearing an openSUSE t-shirt.

Oh, and I have been a Member of the openSUSE Board for about two years. I would like to continue this “job”, and therefore I am running for re-election. My day job has nothing to do with computers. I produce something you can drink that is named after a software we ship in openSUSE.

Why you are running for the openSUSE Board?

I enjoyed working on the Board and helping the Community whenever needed in the last two years, and I’m willing to continue this in the next two years. That doesn’t mean that I’ll stop doing that in case I don’t get re-elected, but being a Board member makes a few things easier.

What impact would you like to make as a member of the openSUSE Board?

I don’t have a plan for “doing a big change” – I’ll let promising that to our beloved (?) politicians and their election posters. Unlike politicians, my /dev/brain isn’t good at forgetting what I promised.

Instead, I follow the mailinglists etc. to learn about the issues and problems people hit, and unsurprisingly (you remember my bugzilla numbers?) sometimes I

20 January, 2019


umix review title
I tried the Unity Desktop several years ago in its early days, it didn’t do anything for me as I didn’t care for the layout. When Ubuntu announced they were going to cancel the Unity project I thought it unfortunate mostly because it meant an end to their mobile phone efforts. Regardless of what your opinion is on the Unity project, it is an easily recognized desktop at just a glance. Unity is a desktop environment that is still liked by many and due to that appreciation for this desktop flavor, an Ubuntu spin based on the Unity desktop is now available. It can be downloaded from here. The mini ISO is available for free and the larger ISO is available for $11.

This is my review of Umix, the Unity Remix spin of Ubuntu. This is an objectively biased review of this Linux distribution as a very happy user of openSUSE Tumbleweed with KDE Plasma. I have grown to prefer a specific work flow. I don’t necessarily think my work flow is the best but it is the best for me. I also think it is a healthy practice to travel and experience other desktop cultures.


I am immediately glad to see that there is a option to “Install Umix” from initial boot. This is most certainly a welcomed feature. I do think that the wording needs some updates on this screen, “…directly from this CD” should probably be changed to “…directly from this media” or something similar.

umixos-01-welcome dialog

An immediate bit of subtle eye candy that I really enjoyed were the shadows under buttons when you hover over them. It was a smooth and fantastic looking effect that deserves a mention.

Umix uses Ubuntu’s Ubiquity installer so it is a quick and painless setup for a simple installation. You start out with the Keyboard layout and if you are connected to the internet, an option to download and install updates and third-party software for additional drivers and media formats.


When selecting to install the third-party software, I became acquainted with another bit of eye-candy, animated, rotating Check boxes. It was another small, subtle and super pleasant effect that just screams, “finely polished.”

umixos-04-disk partition

For installation type, you can keep this simple and say to “Erase disk and install Umix”, which is what I did when installing it on a VM. As a word of caution, the default partition scheme for Umix is to have a single Ext4 partition for root, home and a swapfile. I think that this particular drive layout is unwise and especially problematic especially if you decide to switch or try out other Linux distributions. Should you bork your system and be forced to reinstall Umix, you could be in a world of hurt unless you backed up your data or know how to remove the drive and hook it up to a working system. I do not recommend this method at all.

For the actual hardware that I installed it, I

18 January, 2019


Dear Tumbleweed users and hackers,

The year has been started well, but Tumbleweed has had a slower start than expected. So far, we released only 4 snapshots in the last 3 weeks. But we’re using the lower pace to also restructure some product internals, like for example how we generate the DVD content. We aligned Tumbleweed’s way with how Leap has been doing it for a while, making the content generation a bit more transparent, based on meta packages inside OBS, no longer in a git repo that is most of the time not accurately representing what the product uses. For the user side of things, we expect the DVD to deliver the same content it did before.

Despite only shipping four snapshots (0108, 0110, 0112 and 0115), I think the content of those snapshots does not have to shy though. See for yourself:

  • KDE Applications 18.12.0
  • KDE Plasma 5.14.5
  • Squid 4.5
  • Linux kernel 4.19.12 & 4.20.0
  • Mozilla Thunderbird 60.4

The stagings keep on being busy, with larger and smaller stacks. The most noteworthy things at the moment are

  • python 3.7: there are ‘just’ some cycles to be sorted out, and we should be good to go (https://bugzilla.opensuse.org/show_bug.cgi?id=1121610)
  • glibc 2.28: once python 3.7 is ready, glibc seems to become an easy one. But more issues could still show up
  • Bash 5.0
  • Tcl 8.6.9
  • KDE Applications 18.12.1
  • KDE Frameworks 5.54.0
  • Linux kernel 4.20.2



Welcome to the exteneded version of  𝐈𝐓’𝐒 𝐅𝐑𝐈𝐃𝐀𝐘! here we will try and expand on the mentions so there’s a bit more context. Also we will try and include Steemit stuff. There’s no Twitter or Facebook coz we’re not big fans of those two services. 🤣 𝐈𝐓’𝐒 𝐅𝐑𝐈𝐃𝐀𝐘! British Politics: So unless you’ve been living … Continue reading "It’s Friday 18 Jan 2019"


This new year has brought several updated packages to users of openSUSE’s rolling release Tumbleweed.

Three snapshots have been released in 2019 so far and among the packages updated in the snapshots are KDE’s Plasma, VIM, RE2, QEMU and curl.

The 20190112 snapshot brought a little more than a handful of packages. The new upstream Long-Term-Support version of nodejs10 10.15.0 addressed some timing vulnerabilities, updated a dependency with an upgrade to OpenSSL 1.1.0j and the versional also has a 40-seconds timeout that is now applied to servers receiving HTTP headers. The changelog listed several fixes for the highly configurable text editor with vim 8.1.0687, which should now be able to be built with Ruby 2.6.0 that was released at the end of December. Google’s re2 20190101 offered some performance tweaks and bug fixes. The fast real-time compression algorithm of zstd 1.3.8 has better decompression speed on large files. There was a change in the yast2-firewall package, which arrived in the the 20190110 snapshot, that allows new ‘forward_ports’, ‘rich_rules’ and ‘source_ports’ elements in zone entries with yast2-schema 4.1.0.

KDE’s Plasma 5.14.5 arrived in snapshot 20190110; the update fixed the max cache limit for Plasma addons and there were updates for Breeze GTK, Discover, KWin, Plasma Workspace, Powerdevil and more. The Intel tool that provides powersaving modes in userspace, kernel and hardware, powertop 2.10, enabled support for Intel GLK, which was formerly known as Gemini Lake, and support for Intel CNL-U/Y. The geolocations services package geoclue2 2.5.2 had a change that allow multiple clients on the same D-Bus connection and adds an application programming interface (API) for it, which was mainly done for the Flatpak location portal. The IRC client irssi 1.1.2 had multiple fixes and synced a new script. GNOME’s jhbuild 3.28.0 enabled a build of libosinfo tests. Translations were update for Czech with libstorage-ng 4.1.75 through Weblate and several YaST packages were updated, including yast2 4.1.48 and yast2-multipath 4.1.1, which had a fix for the use of a random file name.

The first snapshot of the year was extremely huge. Snapshot 20190108 updated more than a hundred packages. KDE’s Application 18.12.0 were updated and it brought more than 140 bugs fixes for applications like Kontact Suite, Cantor, Dolphin, Gwenview, KmPlot, Okular, Spectacle, Umbrello and more. The update of curl 7.63.0 had a fix for IPv6 numeral address parser along with several other fixes and a support session resume with TLS 1.3 protocol via OpenSSL. Apparmor 2.13.2 fixed a syntax error in rc.apparmor.functions, which could cause policy load failures. The Linux Kernel 4.19.12 was in the first snapshot of the year and should move closer to the latest stable version in the coming weeks. Various fixes and compatibility tweaks were made with the update


CubicleNate-openSUSE Board Campaign-2019.png

Introduction and Biography

I started my Linux in 2003 back when you could go into the local software store and buy a boxed set of SUSE, Redhat or Mandrake. So, I started on Mandrake, later Mandriva. About 2005, I gave openSUSE my first spin due to better hardware support with dial up modems and sharing the blazing 56 kbaud speed with the other computers on the network. I shifted to openSUSE full time in 2011 after some distro hopping because the structure and layout just made sense as compared to the other available offerings.

I started contributing to openSUSE in 2013 when I had a need to document the process to set up using the smart card system for openSUSE Linux. I compiled the works from several sources to make a repeatable process to properly set up the smart card. Not long after, I had to start understanding how install Oracle Java, updated those instructions on the wiki and it kind of snowballed from there. I discovered at that point I started to really enjoy documenting processes of getting things working and rather than just keep my instructions for myself only, I used the fantastic openSUSE wiki to share my knowledge.

My day job is working for Whirlpool Corporation in the Advanced Design and Innovation department. I primarily work with CAD. I have worked on proof of concepts in utilizing Virtual Reality systems for design validation and am moderately experienced in utilizing 3D Printers.

As far as hobbies go, beyond playing with anything Linux, I enjoy retro tech; especially the Commodore 64, well, pretty much anything Commodore but the 64 was my first computer. I also enjoy baking and thanks to openSUSE and its many tools, it has made my kitchen life much more efficient.

Why I am running for the openSUSE Board

In my incredibly biased opinion, I think openSUSE is the best distribution of Linux but not just for Leap and Tumbleweed, for everything else that goes along with it: the Open Build Service, openQA, Kiwi and YaST. There is an incredible story to be told about what makes openSUSE great. Whether I am on the board or not, I make it a point to tell this story and share it with whomever is interested. I would like to continue the tell and further refine that story.

The impact I would like to make as a member of the openSUSE Board

As an official member of the board, it will be my mission to be an ambassador of the project to as many communities of which I am able and share what makes openSUSE great. For reasons that don’t make sense, openSUSE is often not in the broader conversation and it needs to be there. All the fantastic innovations and refinements to Linux and the related open source software need to be told.

My second mission is to do my best to network within the community to the best of my ability to continue to improve and

17 January, 2019


I posted the other week that I was no longer actively posting on my Google Plus account. This is due to the announcement that Google, in its infinite wisdom, has decided to shut it down rather than fix the data breaches it’s now been revealed as happening I believe on two occasions?  I also said … Continue reading "Still Following"


openSUSE on Sony Vaio PCEB23FM-sm.png

I seem to be one of those individuals that is gifted old hardware from time to time. Most people… normal people… just don’t need or even want an old piece of hardware and generally just toss it. As payment for setting up a laptop with openSUSE for a friend I was given this old bit of hardware that I really don’t need but you just never know when a something might arise to make use for an old piece of kit. Since I didn’t want it just sitting around with a broken installation of Windows 7, I decided to put openSUSE Leap 15.0 on it.

I already had the ISO downloaded and written to a USB Flash drive but in case you want it you can get it here.

Preparing for Installation

Initially this machine was a bit of a tough nut to crack. I was unable to get into the BIOS, it seemed that none of the directions I found would work. On a whim, I decided that I would attach an external keyboard to see if by chance there was a keyboard problem with the laptop; and so it was.

To access the BIOS, upon booting the system, press F2 repeatedly during the “Vaio” Logo splash until you enter into the the important bits of the system. Since this machine is too old for secure boot and only has the legacy boot, I only had to change the boot order to seek the USB Drive first.

Specs that Matter

Not that it really matters but for the edification of those interested:

  • Intel Core i3 350M @ 2.27 Ghz (1st Gen)
  • 4 GB RAM, 3.5 GB Available after shared video usage
  • Graphics Card Intel Core Processor Graphics
  • 15.6″ 1366 x 768 Glossy Screen
  • 3 – USB 2.0 ports
  • 1 – eSATA / USB 2.0 port
  • HDMI
  • SVGA
  • SD Card Reader
  • Memory Stick Pro Reader
  • and some other things…

Mostly a decent system.


The installation of openSUSE was rather trivial. I booted up the machine with the installation image, began the process and mostly just clicked through. The only customization I did on the install was to set the partitions the way I wanted:

  • Root: 25 GiB
  • Swap: 4 GiB
  • Home: 264 GiB

I selected KDE Plasma as being my desktop of choice, because, is there really another option?

For more on the installation process, you can go here.

Once the machine was up and running, I installed the multimedia codecs, the terminal way, Falkon Web Browser and I was off to the races. The reality is, for a rather old laptop, it is not too terrible at all. It ran Plasma Desktop rather nicely with only a few moments of lagging here and there due to disk access.

It is probably not far from needing a replacement drive but I will wait until it burns out. This machine isn’t slated for any sort of “production work” in my  house. It’s seemingly

16 January, 2019


I’m off to see the houses of Parliment on the 21st. Our (Conservative) MP Eddie Hughes who I have had some correspondence with, sent out a questionnaire with a final question asking if we would be interested in visiting The Commons. Apparently, he voted Against The Deal specifically on the Irish “Backstop”. The Withdrawal Agreement … Continue reading "The Deal is defeated"

15 January, 2019


Nominations and applications for Candidates came to a close Sunday, January 13, 2019, and the Campaign Phase of the 2018-2019 openSUSE Board Elections kicked in Monday, January 14, with a seventh impressive Candidate, Marina Latini aka deneb_alpha entering the race for the three vacant Board Seats.

Marina Latini aka deneb_alpha

Marina is a very active Italian openSUSE Advocate, involved in the Project since 2009, deeply involved in LibreOffice.  She relocated to Munich last June, where she is working for CIB mainly on its LibreOffice team as Senior Migrations & Deployments Engineer.  You may read more about Marina on her Wiki User page.

Marina joins an already impressive line-up of Quality Candidates who announced they were stepping up during the past week, adding to what will be very tough decisions for the Voters in the upcoming Elections.  Official openSUSE Members in Good Standing are qualified to vote in the Elections, and they will have to make difficult choices for who should take the three open Board Seats, choosing between Marina, incumbent Christian Boltz aka cboltz, Dr. Axel Braun aka DocB, incumbent Sarah Julia Kriesch aka AdaLovelace, Sébastien Poher aka sogal, Vinzenz Vietzke aka vinzv, and Nathan Wolf aka futureboy and CubicleNate on IRC.

Sarah and Sébastien’s run for the Board was announced in last Wednesday’s openSUSE News, while the Candidacies of Christian, Dr. Braun, Vinzenz, and  Nathan were announced in the next day’s news article.

Drive Still Underway for New openSUSE Members

The Elections Committee would like to remind all openSUSE Contributors that a healthy Project is only possible if it has a robust roster of Members, and it is especially important for the Elections process.

2018-2019 Election Poster contributed by Aris Winardi

2018-2019 Election Poster contributed by Aris Winardi

Applications for openSUSE Membership are accepted and processed on an ongoing basis, but a Membership Drive has been declared by the Elections Officials in an effort to get as many qualified Project Contributors to take part in the voting process, which is scheduled to begin February 4, 2019, and run for 12 days with ballots closing February 15.

Contributors Should Get Involved

All openSUSE Contributors and Members are requested to actively urge other Contributors who are not Members to get their Membership and get out and vote.  All Members who have been approved by the Membership Committee before the start of balloting February 4 will be eligible to vote in this election.

You can apply for openSUSE Membership by following the instructions here.

13 January, 2019


LinuxMint review title.pngLinux Mint is a very popular distribution and has seemingly been so since the start. My first look at Mint was in 2010 about the time I went through my second season of distro hopping. At the time, ultimately, openSUSE won out but it was close. I am taking another look at Mint, not due to any dissatisfaction of openSUSE but because 19.1 came out and the good folks in the BigDaddyLinux community decided to try it out.

This review is not going to be a comparison to previous Linux Mint versions. I have mostly stayed on top of it. I have even contributed a bit to the project in my time and talents for setting up the smart card reader. Linux Mint has been know for it’s being a well polished distribution. I would say that release 19.1 keeps in this tradition. I will be evaluating Mint strictly against what I use today, openSUSE Tumbleweed with KDE Plasma. This is a biased review but with a mostly open mind.


I didn’t test Mint on actual hardware, for my purposes, that wasn’t necessary, my evaluation is about the user experience, interfacing and ease of use. At this point, pretty much all Linux distributions run great on main stream or older hardware and Linux Mint is known for just running well.

When booting from the installation media, there wasn’t an option as to what to do. It just did an automatic boot. I see this good for some users but not my preference.

linuxmint-01-live media boot

The media boots quickly and you are presented with a great looking desktop and I was even given a warning that it is using software rendering. It brought a smile to my face to see how the desktop looks friendly yet, “cool” and approachable. Often approachable has to be bright in color but this is not.

linuxmint-02-live media first run

The installation is is the standard Ubuntu Ubiquity installer that I have grown to appreciate with so many other distributions. It is a well done installer that is easy for even the non-technical to navigate.

You start with your language and keyboard settings. Then if you want third party software and how you want to install Mint. In this case, I just went with to use the entire disk.

I should have explored my options further but did not and regretted after more exploration into the depths of Mint. More on that later.

After partitioning the hard drive you are asked to create the user and off it will go writing your new Linux experience to disk.

I appreciate how Mint gives you  a “commercial” that is very relatable to a typical user. I do agree that Netflix is quite useful these days and rather expected. It’s just interesting to see that in the installation process. I also can’t help but think about the days I had to do a hacky work around to get Netflix working in Linux… oh, those were the

11 January, 2019


At work I mostly program in Ruby, but our system (YaST) has a C/C++ part
too. So I get to debug C crashes infrequently enough to forget some
tricks. Here I write them down for the next time.

  1. Contents and tl;dr
  • $ ulimit -c unlimited so that a core dump is saved
  • $ sudo coredumpctl dump -o core so that it is saved to a file
  • $ gdb -c core is wrong, gdb program core is right
  • (gdb) info sh mylib
  • (gdb) select a stack frame before querying variables or macros
  • $ CFLAGS="-g3 ..." for debugging macros
  1. (Un)helpful crash dump

When Ruby crashes, it produces a very verbose dump of information. It is not
much helpful in our case:

$ rake run[fail]
/sbin/yast2 src/clients/fail.rb
/usr/lib64/ruby/vendor_ruby/2.5.0/yast/yast.rb:204: [BUG] Segmentation fault at 0x0000000000000008
ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-linux-gnu]

-- Control frame information -----------------------------------------------
c:0011 p:---- s:0066 e:000065 CFUNC :call_yast_function
c:0010 p:0061 s:0058 e:000057 BLOCK /usr/lib64/ruby/vendor_ruby/2.5.0/yast/yast.rb:204 [FINISH]
c:0009 p:0023 s:0054 e:000053 METHOD /local/home-mvidner/svn/yast/samba-server/src/clients/fail.rb:5
c:0002 p:0489 s:0011 E:000c18 EVAL /usr/lib/YaST2/bin/y2start:58 [FINISH]
c:0001 p:0000 s:0003 E:001300 (none) [FINISH]

-- Ruby level backtrace information ----------------------------------------
/usr/lib/YaST2/bin/y2start:58:in `<main>'
/usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:195:in `CallFunction'
/usr/lib64/ruby/vendor_ruby/2.5.0/yast/yast.rb:204:in `call_yast_function'

-- Machine register context ------------------------------------------------
RIP: 0x00007fa423bf9677 RBP: 0x00007fff30f5ff20 RSP: 0x00007fff30f5fe10
R14: 0x00007fff30f5ff48 R15: 0x00007fff30f5fe10 EFL: 0x0000000000010202

-- C level backtrace information -------------------------------------------
/usr/lib64/libruby2.5.so.2.5(rb_print_backtrace+0x15) [0x7fa428543f15]
/usr/lib64/libruby2.5.so.2.5(0x1c814c) [0x7fa42854414c]
/usr/lib64/libruby2.5.so.2.5(0x93e44) [0x7fa42840fe44]
/usr/lib64/libruby2.5.so.2.5(0x158eb2) [0x7fa4284d4eb2]
/lib64/libc.so.6(0x7fa427ff8160) [0x7fa427ff8160]
/usr/lib64/YaST2/plugin/libpy2lang0_ruby.so(_ZN5YRuby9callInnerENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_7YCPList8constPtrI4TypeS8_E+0x4c7) [0x7fa423bf9677]
/usr/bin/ruby.ruby2.5(_start+0x2a) [0x40086a]

-- Other runtime information -----------------------------------------------

* Loaded script: /usr/lib/YaST2/bin/y2start

* Loaded features:

0 enumerator.so
1 thread.rb
2 rational.so
3 complex.so
4 /usr/lib64/ruby/2.5.0/x86_64-linux-gnu/enc/encdb.so
87 /usr/lib64/ruby/vendor_ruby/2.5.0/yast/y2start_helpers.rb
88 /local/home-mvidner/svn/yast/samba-server/src/modules/Fail.rb

* Process memory map:

00400000-00401000 r-xp 00000000 08:01 7766 /usr/bin/ruby.ruby2.5
7fa42363b000-7fa42365c000 r--s 00000000 08:01 6998 /usr/lib64/YaST2/plugin/libpy2lang_ruby.so
7fa428a5f000-7fa428a60000 rw-p 00026000 08:01 1310795 /lib64/ld-2.26.so
7fa428a60000-7fa428a61000 rw-p 00000000 00:00 0
7fff30767000-7fff30f66000 rw-p 00000000 00:00 0 [stack]
7fff30ff1000-7fff30ff4000 r--p 00000000 00:00 0 [vvar]
7fff30ff4000-7fff30ff6000 r-xp 00000000 00:00 0 [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]

You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
For details: http://www.ruby-lang.org/bugreport.html



𝐈𝐓’𝐒 𝐅𝐑𝐈𝐃𝐀𝐘! Tennis: Andy Murry’s packing it in due to injury which explains why he keeps losing. 🤨 𝐈𝐍 𝐎𝐓𝐇𝐄𝐑 𝐍𝐄𝐖𝐒: @Luke is back at work after far too long off. 😴 @Matthieu suggest Manjaro over Antergos. @stsquad like us is excited about FOSDEM. ✈️ @how had the hump over the wording in a proposed … Continue reading "It’s Friday 11 Jan 2019"

10 January, 2019


Since a few days ago, librsvg's library implementation is almost 100% Rust code. Paolo Borelli's and Carlos Martín Nieto's latest commits made it possible.

What does "almost 100% Rust code" mean here?

  • The C code no longer has struct fields that refer to the library's real work. The only field in RsvgHandlePrivate is an opaque pointer to a Rust-side structure. All the rest of the library's data lives in Rust structs.

  • The public API is implemented in C, but it is just stubs that immediately call into Rust functions. For example:

rsvg_handle_render_cairo_sub (RsvgHandle * handle, cairo_t * cr, const char *id)
    g_return_val_if_fail (RSVG_IS_HANDLE (handle), FALSE);
    g_return_val_if_fail (cr != NULL, FALSE);

    return rsvg_handle_rust_render_cairo_sub (handle, cr, id);
  • The GObject boilerplate and supporting code is still in C: rsvg_handle_class_init and set_property and friends.

  • All the high-level tests are still done in C.

  • The gdk-pixbuf loader for SVG files is done in C.

Someone posted a chart on Reddit about the rustification of librsvg, comparing lines of code in each language vs. time.

Rustifying the remaining C code

There is only a handful of very small functions from the public API still implemented in C, and I am converting them one by one to Rust. These are just helper functions built on top of other public API that does the real work.

Converting the gdk-pixbuf loader to Rust seems like writing a little glue code for the loadable module; the actual loading is just a couple of calls to librsvg's API.

Rsvg-rs in rsvg?

Converting the tests to Rust... ideally this would use the rsvg-rs bindings; for example, it is what I already use for rsvg-bench, a benchmarking program for librsvg.

I have an unfinished branch to merge the rsvg-rs repository into librsvg's own repository. This is because...

  1. Librsvg builds its library, librsvg.so
  2. Gobject-introspection runs on librsvg.so and the source code, and produces librsvg.gir
  3. Rsvg-rs's build system calls gir on librsvg.gir to generate the Rust binding's code.

As you can imagine, doing all of this with Autotools is... rather convoluted. It gives me a lot of anxiety to think that there is also an unfinished branch to port the build system to Meson, where probably doing the .so→.gir→rs chain would be easier, but who knows. Help in this area is much appreciated!

An alternative?

Rustified tests could, of course, call the C API of librsvg by hand, in unsafe code. This may not be idiomatic, but sounds like it could be done relatively quickly.

Future work

There are two options to get rid of all the C code in the library, and just leave C header files for public consumption:

  1. Do the GObject implementation in Rust, using Sebastian Dröge's work from GStreamer to do this easily.

  2. Work on making gnome-class powerful enough to implement the librsvg API directly, and in an ABI-compatible fashion to what there is right now.

The second case will probably build upon the first


For anyone outside the UK who doesn’t understand what the hell is going on here at the moment, let me put this in terms that any sane person should be able to understand: Theresa May has got the only deal she’s going to get from the EU. The EU has said there is no other … Continue reading "What the hell is going on?"


Vinzenz Vietzke

The Elections Committee, Edwin Zakaria, Ish Sookun, and Gerry Makaro, are pleased to announce today, Thursday, January 10, 2019, that six very impressive Candidates have decided to step up and run for Membership on the openSUSE Board in the 2018-2019 Board Elections.  With four days left for Candidates to apply, it is possible that more quality Candidates might throw their hats into the ring to make this a very exciting race.

Christian Boltz, incumbent

Applications for Candidacy are open until Sunday, January 13.  If you are contemplating entering what is shaping up to be one of the best election campaigns yet, please hurry and apply by sending an application to the Project Mailing List and to the Elections Officials following the instructions on the official Elections page.

Four More Candidates Enter Elections Race

Incumbent Christian Boltz aka cboltz, an openSUSE Hero with a strong and active presence in the Community, is running for re-election in a bid for a second term serving on the Board.  Most voters will already know him well, but more information can be found in his platform at this page.

Vinzenz Vietzke aka vinzv is stepping up for the first time and brings some impressive credentials to the table.  Among other things, Vinz has been instrumental in getting openSUSE Leap 15.0 offered pre-installed on Linux Hardware Vendor TUXEDO Computers and in getting TUXEDO as an Official Sponsor of openSUSE as of October, 2018.  You may read more about him and his platform on the Wiki pages.

2018-2019 Election Poster contributed by Aris Winardi

2018-2019 Election Poster contributed by Aris Winardi

Longtime openSUSE Member, active Package Maintainer, and strong openSUSE promoter, Dr. Axel Braun aka DocB — who has also been known to give standup lectures related to Linux and openSUSE — is entering the race for a seat on the Board.  A Member since 2010, Dr. Braun actively maintains GNU Health, Tryton ERP Framework and various other packages.  You can find more information at his Membership Profile.

A prolific Wiki Contributor and openSUSE Enthusiast, Nathan Wolf aka futureboy, also as CubicleNate on IRC, fills out the roster of six Candidates, making this an exciting Elections Race.  You can read a bit about his Contributions on this Wiki page.

The other two Candidates, announced in yesterday’s openSUSE News, are Sébastien Poher aka sogal and incumbent Sarah Julia Kriesch, aka AdaLovelace.

Membership Drive Still Underway

The Elections Committee would like to remind all openSUSE Contributors that a healthy Project is only possible if it has a robust roster of Members, and it is especially important for the Elections process.  Applications for openSUSE Membership are accepted and processed on an ongoing basis, but a Membership Drive has been declared by the Elections Officials in an effort to get as many qualified Project Contributors to take part in the voting process, which is scheduled to begin February 4, 2019, and run for 12 days with ballots closing February 15.

All openSUSE Contributors and Members are requested to actively urge other Contributors who are not



KDE Connect is an application that I use on a daily basis between my mobile and my desktop or laptop Linux systems. Most of my systems are openSUSE machines running KDE Plasma and the mobile devices are running LineageOS (Android). Up until I decided to run a non-KDE Plasma desktop.

​I was given the distinct pleasure in getting to know the KDE Connect Command Line Interface application when pairing devices to a BunsenLabs and MX Linux installation. The main reason for this was to be able to share clipboards and use my HP TouchPad as an input device for the machine.

The commands are mostly easy to use. This is a guide for me, if it works for you, fantastic. If you have no interest in this, that is perfectly fine too.


Install using your favorite graphical package manager or in the terminal.


sudo zypper install kdeconnect-cli

Debian Based

sudo apt-get install kdeconnect-cli

Process to Pair Device

There are two ways you can go about doing this. From the terminal on the non-Plasma system to a system with either Android KDE Plasma or the reverse. I am going to demonstrate this the fun way, which is from the terminal to the GUI systems.

Assuming that you have configured your firewall to allow KDE Connect communication, in short 1714-1764 for UDP and TCP connections, check with your distribution for firewall instructions, or here for the KDE Community instructions. Optionally, here for the openSUSE Instructions.
In the terminal run this to find KDE Connect enabled devices:

kdeconnect-cli -l

That will give you output something like this:

– TouchPADD: device_ID (reachable)
– SkyHigh: device_ID (reachable)
– Icarus: device_ID (reachable)
– Nexus5X: device_ID (reachable)
4 devices found

Now that you have identified the devices you will need to pair the device

kdeconnect-cli -d device_ID --pair

On the device you are attempting to connect to, you will see the notification that the a device is attempting to connect
kde connect pair notification

Accept it and move on to the next device you that you wish to connect.

How I am using it

I am using my TouchPADD as another input device for the non-KDE Plasma system, I am also using it to share clipboard contents between machines as well, usually URLs.

Final Thoughts

There are many more function of KDE Connect you can do in the terminal. You can play around with KDE Connect in the terminal by running.

kdeconnect-cli --help

The only other command I have used is to ping another device

kdeconnect-cli -d device_ID --ping

Since I couldn’t find any resources that plainly explained how to use the terminal commands so it was fitting to jot it down. Hopefully you find this useful.

Further Reading



KDE Connect – Mobile and Desktop Convergence

MX Linux | Review from an openSUSE User

BunsenLabs Linux | Review from an openSUSE User


09 January, 2019


The Elections Committee announced today, Tuesday, January 8, 2019, the first two Candidates who have passed the application and eligibility process and are declared as officially running for the 2018-2019 openSUSE Board Elections as the January 13 deadline for Candidate Applications is swiftly approaching.

Sarah Julia Kriesch aka AdaLovelace, incumbent

Outgoing Board Member Sarah Julia Kriesch, aka AdaLovelace, is seeking her second term on the Board as an encumbent.  Sarah, from Nuremberg, Germany, is a work-experienced student in Computer Science at the Nuremberg Institute of Technology and has been working as a Student Research Assistant.

A very active openSUSE Contributor, Sébastien Poher, has also thrown his hat into the ring for the first time and is bringing energy and an impressive list of openSUSE activity to the elections race.

Three openSUSE Board Seats Vacant

Three Board Seats are vacant in this election with the January 13 deadline to apply as a Candidate looming.  Eligibility to run for the Board positions is based on having an openSUSE Membership in Good Standing, so anyone who qualifies still has a few days left to join the Elections process and give the Members a good variety of choices for these important positions.

More Candidates are Required

The Project is best served if it has a good variety of openSUSE Enthusiasts to choose from during the Elections.

Members who are willing to step up and pay things forward by serving on the openSUSE Board are urged to apply by sending an application to the Project Mailing List and to the Elections Officials following the instructions on the official Elections page.

openSUSE Membership Drive Still Underway

The Elections Committee would like to remind all openSUSE Contributors that a healthy Project is only possible if it has a robust roster of Members, and it is especially important for the Elections process.  Applications for openSUSE Membership are accepted and processed on an ongoing basis, but a Membership Drive has been declared by the Elections Officials in an effort to get as many qualified Project Contributors to take part in the voting process, which is scheduled to begin February 4, 2019, and run for 12 days with ballots closing February 15.

All openSUSE Contributors and Members are requested to actively urge other Contributors who are not Members to get their Membership and get out and vote.  All Members who have been approved by the Membership Committee before the start of balloting February 4 will be eligible to vote in this election.

You can apply for openSUSE Membership by following the instructions here.



08 January, 2019


Managing issues is part of the daily life of most software projects. Reacting to bug reports, feature requests, pull requests, tracking what's going on and where to put attention, all that is usually handled in the bug or issue tracker of the project's choice.

On GitHub there are the GitHub issues, and they have become quite powerful over time. Just recently GitHub added the capability to show related issues, pin issues to repositories and to move them between repositories.

One important tool to manage issues on GitHub are labels, those nicely colored badges you can add to issues to get a better overview, to filter lists and queries, or to build further automation such as the presentation of good first issues to people new to the project.

If you have a lot of labels it tends to become a bit of effort to manage them well, especially if you want to keep colors consistent and descriptions up to date. It becomes even more effort when you try to do so across different repositories. We have all seen the psychedelic potpourri of colorful labels which tends to happen when you use labels generously.

Last year I saw Mitchell Hashimoto's excellent talk about anything as code at the Open Source Datacenter Conference in Berlin. He showed there how to use Terraform to manage infrastructure as code beyond the typical management of computing infrastructure such as servers or networks. He showed how to use it for more administrative tasks such as managing teams on GitHub.

This is a great approach because it replaces clicking around in a user interface by a more programming-like approach of maintaining configurations, preferably version controlled, and applying the same rules on them as on code. So you can do pull requests, review changes, have the history of what happened in git, run tests and other automation easily, etc.

The GitHub provider for Terraform also handles labels so I thought I would give it a try to manage labels as code. Directly doing this in the Terraform configuration is possible but it's a bit cumbersome and limited in what you can do with the data in this format. So I decided to put the data into a good old YAML file and writing a bit of Python code to deal with it.

The result is beautiful-labels, a small tool to manage GitHub labels from a YAML description via Terraform. It scans your repository for existing labels and their data, creates a YAML description from it, and then provides you the tools to turn it into a Terraform configuration.

Terraform is great in handling the state of things in the cloud, it takes care of operating the API in an effective way, figuring out what needs to be updated, and gives the user control, for example by providing a dry run which tells what would change without applying the changes yet. This is all quite convenient and powerful.

One thing beautiful-labels is supposed to make easy


This continues, and concludes a series of items on Vendor Neutral FLOSS projects and how they do marketing which you can read here.

TDF / LibreOffice Branding

If we want to grow our community, and to drive this with marketing – we need to position our brands to make this easy and ideally unconscious. Currently we have two brands, taking the descriptions from their websites:

  • LibreOffice is Free and Open Source Software Development is open to new talent and new ideas, and our software is tested and used daily by a large and devoted user community (link).
    • ie. it is pretty clear: 'LibreOffice' is software.
  • The Document Foundation - It is an independent self-governing meritocratic entity, created by a large group of Free Software advocates, in the form of a charitable Foundation under German law (gemeinnützige rechtsfähige Stiftung des bürgerlichen Rechts). (link).
    • ie. it is clear this is a Stiftung – and by association / default comes to also mean the handful of employees who comprise the paid team there with some oversight from the board.

Unfortunately – it seems we have two brands, and neither of these means “The community”, or “The people who do most of the hard work”. These are the people we need to be encouraging, recruiting, building up, and talking about. The degree to which TDF’s paid staff represent ‘the community’ is unclear. The board is elected to represent the community, and oversees TDF but is also not itself the community (but the board). When TDF says “our software” - how can we ensure that everyone feels included in that ‘our’ ?

It seems clear that we need to solve this dis-connection with some formulation, strap-line, brand or form of words that we use to highlight and emphasize our contributor’s input – and use this repeatedly.

LibreOffice vs. Commercial branding

Branding is really important as we have seen: shipping identical software, at the same price in the Mac app store with just the LibreOffice vs. Collabora Office brand changed shows – that the LibreOffice brand is simply far better known & sought after gathering the overwhelming majority of interest. This however brings a problem – if development work is funded by leads generated from brands then TDF promoting eg. LibreOffice Online under its own brand can easily radically impair leads, investment and thus code-flows into LibreOffice Online without any offsetting advantage. The picture below compares two branding approaches for the 95%+ of commits that Collabora has put into LibreOffice Online. The 0.05% is the proportion of visitors to LibreOffice that discover that they should fund development buying professional services (from anyone) – as we shall see below.

Which way to brand something such that re-investment and growth is possible ?

TDF marketing in practice

How does LibreOffice get marketed from this perspective ? How do companies get leads from TDF so that they can sell to some fraction of them their products, support & services thus allowing re-investment back into LibreOffice ? Answer: very poorly. Recently we’ve done a better job of telling people about LibreOffice, a recent release announcement says:

"LibreOffice 6.1’s new features

Michael Meeks: 2019-01-08 Tuesday

14:29 UTCmember

  • Poked at vendor neutral marketing bits and updated some pictures; mail chew, pleased to get a Purchase Order six months after signing a contract, nice.

07 January, 2019


i heart commodore-64

I am a Commodore 64 enthusiast. It is still my favorite computer system ever made. My childhood initiation into the computer world was through this machine. I dreamed of making an “Ultimate” Commodore 64 with sketches and specs with all kinds of nonsense. Today, my Commodore 64 sits beside me in my SuperCubicle with an SD2IEC drive from TheFutureWas8bit.com and an Ethernet adapter from Individual Computers. There is a back-burner project that has been on going with my C64. I hope to be able to get all that to a point that it is worth talking about.


Recently, I stumbled upon this very interesting bit of hardware. It is a replacement main board for the Commodore 64. It’s called the Ultimate 64. According to the site, it is a hardware implementation using FPGA of the entire C64 and it includes the Ultimate-II+ solution so a kind of all-in-one machine with the latest “enhancements” as it were.



No more is there an RF modulated output. The original component remains but now there is an HDMI output. There is even a mode to emulate the CRT feel on a modern screen. That probably won’t be how I’d use it but most certainly the HDMI output will be used.

An upgraded yet compatible audio system is built in. It has an 8 voice SID implementation as well as 7 voices of sampled audio in 8 or 16-bit samples of up to 48 kHz sample rate. There are open slots to put in original SID chips if you so choose.


It still accepts cartridges and you can set the machine to have the RAM Expansion Unit (REU) of up to 16 MB. How they get that to work is a mystery to me since the 6510 can only address 64KB of RAM. Some sort of bank switching… I guess… according to this. How they do that sounds like some magic to me.

A bunch of C64 cartridge emulations to include the Epyx Fastloader, Retro Replay and many others.

Flexible Freezer menu that allows you to select, mount and create D64 (the native Commodore 64 disk images).

Most importantly, are the little upgrades that make me smile, 3 USB ports, Ethernet and even Wifi. I am interested in seeing what fantastic software creations will come of these little upgrades, especially those that would make use of Commodore 64 networking.


It can still make use of the original disk drives, if you so choose. Also note, there is no userport on this board. There are headers, however so that you can either create a cable to userport or eventually one will be released.

Commodore 64 Unix

Although it hasn’t been updated since 2004, there is a project on Sourceforge called LUnix, meaning, Little Unix. It is a preemptive multitasking operating system for the Commodore 64 and Commodore 128 with dynamic memory management. It supports TCP/IP networking has a terminal with basic support for shell scripts and quite a lot

Older blog entries ->