Language Selection

English French German Italian Portuguese Spanish

December 2019

Ubuntu: 10 Years, 10 Defining Moments

Filed under

With the leading desktop Linux distribution about to enter a brand new decade — along with the rest of it — it’s sure to face new challenges and new opportunities.

So taking a look backwards, to appreciate how far Ubuntu has come in past ten years, feels rather appropriate.

From the successes that helped Ubuntu’s popularity balloon, to the controversies that nearly punctured it irreparably.

Wherever you are and whichever distro you’re now running, pop open a can of Ubuntu cola and scroll down to relive ten of Ubuntu’s most defining moments.

Read more

Interview with Eka Icydust

Filed under

I have a HUGE problem in picking favorites, copy others’ styles when I’m lazy (hehe)Big Grin, ABSOLUTELY LOVE TO DRAW, play Minecraft, BlockstarPlanet, extra extra, horrible at controller, all my friends have a TV or TVs and I dont Sad, hate Roblox but can still play it in Roblox banned countries and I basically love dark and creepy AND I’m not girly or boyish.

Birthday on November 30th so now I’m 12.

I have a lot of books (I love reading).

I also hate putting the signature after I draw cause it seems annoying in my bad handwriting.

Read more

And the best distro of 2019 is ...

Filed under

Another year comes to a close. Another year of distro testing, surprises, illusions, disillusionment, some happiness, some sadness, and most of all, not the year of Linux after all. But while the dream may be fading, there's still reasons to be jolly. Or at least content. Because some pretty nice and solid Linux distros did come out in 2019, and we need to crown the bestest of them.

Last year, the winner was MX Linux MX-17 Horizon. It delivered a good, whole desktop experience. A pleasant twist, one sorely needed in the lethargy-bound world that is home Linux nowadays. Which makes for an interesting little competition this year, because it's not just about boring technical details, it's also about giving users something they can proudly run and enjoy, beyond the rudimentary point-and-click essentials. I've already given you my take on the Plasma, Gnome and Xfce winners, so now we need to put all that together, and see what comes out. Let's do it.

Read more

Who Will Succeed the Current Free Software Leaders

Most FOSS leaders came into prominence during the 1980s and 90s and are now approaching, or have passed, the age when most people retire. Are free software organizations ready for the change that appears to be just around the corner?

Richard Stallman’s recent resignation raises issues that nobody likes to talk about: what happens when the current leaders of free software need to be replaced? What mechanisms are in place to find a new leader? Who, if anyone, should succeed? What provisions should be made? Answers to these questions are especially needed in projects where the idea of the Benevolent Dictator for Life prevail. Moreover, in coming years the urgency can only increase.

Read more

Software and Games: subdirmk, PeaZip, Gallivm, Urtuk: The Desolation

Filed under
  • subdirmk 0.3 - ergonomic preprocessing assistant for non-recursive make

    Peter Miller's 1997 essay Recursive Make Considered Harmful persuasively argues that it is better to arrange to have a single make invocation with the project's complete dependency tree, rather than the currently conventional $(MAKE) -C subdirectory approach.

    However, I have found that actually writing a project's build system in a non-recursive style is not very ergonomic. So with some help and prompting from Mark Wooding, I have made a tool to help.

  • PeaZip 7.0.1

    PeaZip is an open source file and archive manager. It's freeware and free of charge for any use. PeaZip can extract most of archive formats both from Windows and Unix worlds, ranging from mainstream 7Z, RAR, TAR and ZIP to experimental ones like PAQ/LPAQ family, currently the most powerful compressor available.

  • Gallium3D's Software Rasterizers Are Close To Having OpenGL Tessellation Support

    Mesa 20.0 continues getting more interesting with the infrastructure around the Gallium3D LLVM "Gallivm" and TGSI IR now supporting tessellation.

    Thanks to Intel's Jan Zielinski, tessellation shader support was wired up for the TGSI IR with Gallivm code. This is one step away from enabling OpenGL tesselation shader support within their OpenSWR software rasterizer.

    It's also then just a stone throw away as well from having OpenGL tessellation support flipped on too for LLVMpipe, when using TGSI over its new NIR code-path.

  • Dark open-world turn-based RPG 'Urtuk: The Desolation' launching on Steam in February 2020

    After launching on while still in development, the impressive dark fantasy open-world RPG, Urtuk: The Desolation, is launching into Early Access on Steam next year.

    In the announcement on their itch page, they've set a date for February 14th. This is after it's already been in development for 4 years, with it being live on itch in First Access and now pushing forwards onto Steam to take development even further.

  • Of NUCs and Bastions

    I have two NUCs – a NUC5i5RYH and a NUC5i5RYK. The YH runs Fedora 31 and the YK Red Hat Enterprise Linux 8. Both have now been updated with the latest BIOS. Updating them was a trivial exercise of first downloading the ZIP file which happens to contain the needed file for the BIOS and fortunately is the same for both the NUCs. Second, copy the unzipped file on to a USB drive and plug that into the NUC and reboot. Hit the F7 button to pick the file from the USB device and proceed. That’s about it. Very easy and as simple as can be.

    Now both of the NUCs have the latest BIOS and latest and best operating systems running on them. The two NUCs provide a host of services for the family – a Nextcloud instance, a ssh host, ssh bastion host and as a gateway between my primary broadband provider – the one that I pay for – MyRepublic and a “free” broadband from Starhub which could just as well not be there.

OSS and Openwashing

Filed under
  • CNBC Reports Open Source Software Has Essentially 'Taken Over the World' [Ed: CNBC speaks to too many Microsoft people and omits the fact GitHub is proprietary software with racist censorship and surveillance; but then again, corporate media should be expected to do revisionism for someone's gain.
    Free software is everywhere, but most of us still have no software freedom because of paradigm changes like DRM, so-called openwashing ('Open Source') and 'clown computing'.]

    CNBC Explores released a 14-minute documentary this month called "The Rise Of Open-Source Software." It's already racked up 558,802 views on YouTube, arguing that open-source software "has essentially taken over the world. Companies in every industry, from Walmart to Exxon Mobile to Verizon, have open-sourced their projects. Microsoft has completely changed its point of view, and is now seen as a leader in the space. And in 2016 the U.S. government even promised to open-source at least 20% of all its new custom-developed code."

    The documentary does mention the 1990s, when Microsoft "even went so far as to call Open Source 'Unamerican' and bad for intellectual property rights." But two and a half minutes in, they also tell the famous story of that 1970s printer jam at MIT which led to the purchase of a proprietary printer that inspired Richard Stallman to quit his job to develop the GNU operating system and spearhead the free software movement. And at three and a half minutes in, they also describe how Linus Torvalds "unceremoniously released" Linux in 1991, and report that "By the turn of the century, NASA, Dell, and IBM were all using it." And at 4:18, they mention "other open source projects" gaining popularity, including MySQL, Perl, and Apache.


    Here's a list (in order of appearance) of the people interviewed:
    Nat Friedman, CEO of GitHub
    Devon Zuegel, Open-Source Product Manager, GitHub
    Chris Wright, CTO of Red Hat
    Jim Zemlin, Executive Director of the Linux Foundation
    Feross Aboukhadijeh, Open-Source Maintainer
    Chen Goldberg, Google's Director of Engineering

  • New Alliance to Bring Order to Smart Homes [Ed: "Alliance" of surveillance with openwashing]
  • The Ecosystem is Moving

    In his presentation, Marlinspike basically states that federated systems have the issue of being frozen in time while centralized systems are flexible and easy to change.

    As an example, Marlinspike names HTTP/1.1, which was released in 1999 and on which we are stuck on ever since. While it is true, that a huge part of the internet is currently running on HTTP 1.0 and 1.1, one has to consider that its successor HTTP/2.0 was only released in 2015. 4 / 5 years are not a long time to update the entirety of the internet, especially if you consider the fact that the big browser vendors announced to only make their browsers work with HTTP/2.0 sites when they are TLS encrypted.

    Marlinspike then goes on listing 4 expectations that advocates of federated systems have, namely privacy, censorship resistance, availability and control. This is pretty accurate and matches my personal expectations pretty well. He then argues, that Signal as a centralized application can fulfill those expectations as well, if not better than a decentralized system.

  • Linux Application Summit 2019 – retrospective

    I wanted to pen something before the year is gone about the recent Linux Application Summit 2019. This is the 3rd iteration of the conference and each iteration has moved the needle forward.

    The thing that excites me going forward is what we can do when we work together between our various free and open source communities. LAS represents forming a partnership and building a new community around applications. By itself the ‘desktop’ doesn’t mean much to the larger open source ecosystems not because it isn’t important because the frenetic pace of open source community expansion have moved so fast that these communities do not have organizational history of foundational technologies that our communities have built over the years that they use every day and maintain.

    To educate them would be too large of a task instead we need to capitalize on the hunger for technology, toolchains, and experience that build and possess. We can do that by presenting ourselves as the apps community which presents no prejudice to the outside community. We own apps, because we own the mindshare through maturity, experience, and communities that spring around it.

    From here, we can start representing apps not just through the main Linux App Summit, but through other venues. Create the Apps tracks at FOSDEM, Linux Foundation events, Plumbers etc.

Adriaan de Groot on KDE, FreeBSD and His Project Calamares

Filed under
  • FreeBSD end-of-year

    Since I wear many hats, there’s multiple end-of-year retrospectives to have.

    Huh, it seems like I’ve been a FreeBSD (ports) committer for a little over two years now. Time flies when you’re having fun and/or doing soul-crushing administrative busywork.

    It depends on how you see packaging and tool support – what does it mean and what is your relationship with upstream.

    The kde@ team maintains a bunch of C++ and toolkit infrastructure – CMake and Qt to name two – and that means that we have a lot of consumers that are not directly maintained by us. Changes in the infrastructure often affect other packages in some way – CMake no longer finds a specific package, or Boost gets away from us again, or changes in default C++ warning flags cause unmaintained code from 2002 to fail to build. All that is par-for-the-course when participating in a giant group project to maintain over 30000 packages.

  • Calamares end-of-year

    As 2019 draws to a close, I’d like to use a blog entry to look back at what happened in Calamares in this year. I’m not doing this on the Calamares website itself, since this is more of a personal-retrospective than anything else.

    In this year, there were 16 Calamares releases. There was at least one release every month except march (that one took a long time, and prompted a switch to “short cycle” later) and september (bracketed by august 30 and october 1 releases). I have tried to switch to “short cycle” releases (starting with Calamares 3.2.6) so that there’s faster turn-around on bugfixes and small features can be delivered more easily.

    The short-cycles are about three weeks, and that’s held up reasonably well. What I do notice is that the number of small things remains constant and a couple of big-ticket items are still languishing. That’s still something I don’t know how to deal with.

Some Of The Workloads Still Seeing Lower Performance On Linux 5.5 Git

Filed under

Last night I shared the results from what's causing one of the performance regressions in Linux 5.5 but sadly more regressions remain that are currently being tracked down.

Later today I hope to have the results to publish on a bisect of a second regression in Linux 5.5 Git. But overnight I did complete a run to rule out the workloads still affected even when disabling the kernel's AppArmor support per yesterday's article. These tests were done on the dual socket Xeon Platinum 8280 Cascade Lake server on Linux 5.5 Git as of yesterday.

Read more

Why is there so much fragmentation and division in Debian?

Filed under

Many people noticed Debian Developers have started making wholesale leaks of material from debian-private.

This finishes off the same year where we saw the death of Lucy Wayland, the cover-up of a controversial $300,000 donation from Google and the blackmailing of Norbert Preining.

What these divisions demonstrate is a maturity gap. The cabals running the project have never really grown up. Like a 15-year-old who receives a Ferrari for his birthday, the Debian Account Managers are not mature enough to handle the power associated with their positions.

Anybody familiar with the content of debian-private can see this is true: some leadership figures who have been in the project for decades are still behaving the same way that they did in the nineteen nineties yet we are about to begin 2020.

Read more

Programming: Outreachy, GNU Compiler Collection (GCC), Red Hat, Knuth Lecture and Python

Filed under
  • Sonja Heinze: First milestone, GStreamer pipelines and range requests

    This is the second blog post about my Outreachy internship at Fractal. The project I’m working on is the integration of a video player in Fractal.


    A pipeline in GStreamer seems to be one of those concepts whose basic idea is pretty easy to grasp, but that can get as complicated as you want. As its name suggests, a pipeline is a system of connecting pieces that manipulate the media in one way or another. Those connecting pieces are called elements. The element where the media comes from is called source element and the one(s) where it’s rendered is/are called sink element. An example is shown in the drawing in . As you can see there, every element itself again has a source and/or one or more sinks, that connect the elements among each other. The phenomenon, just described, of finding the same concept at the level of elements and at the level of the pipeline is not uncommon. I’ll give two more examples.

    The first example is about buffering. On one hand, when pushing data through the pipeline, an element step by step gets access to the media by receiving a pointer to a small buffer in memory from the preceding element (buffers on the level of elements). Before receiving that, the element cannot start working on that piece of media. On the other hand, one can add a buffer element to the pipeline. That element is responsible for letting bigger chunks of data get stored (buffers on the level of the pipeline). Before that’s done, the pipeline cannot start the playback.

    The second example concerns external and internal communication. The way a pipeline communicates internally is by sending events from one element to another. There are different kinds of events. Some of them are responsible for informing all pieces of the pipeline about an instruction that might come from outside the pipeline. An example is wanting to access a certain point of the video and playing the video from there, called seek event. For that to happen, the application can send a seek event to the pipeline (event on the level of pipeline). When that happens, that seek event is put on all sink elements of the pipeline and from there sent upstream, element by element (events on the level of elements), until it reaches the source element, which then pulls the requested data and sends it through the pipeline. But events are just one example of communication. Of course, there are other means. To mention some more: messages the pipeline leaves on the pipeline bus for the application to listen to, state changes and queries on elements or pads.

    So I find the concept of pipelines quite interesting. But to practically get media processed the way I want, I’d have to set up a whole pipeline correspondingly. Creating an adequate pipeline and communicating with it and/or its elements can get complicated. But luckily for me, the audio player in Fractal is implemented using a concept called GstPlayer, so that’s what I’ve also used for video. It’s an abstraction of a pipeline that sets up a simple pipeline for you when creating it. It also has a simple API to manipulate certain functionalities of the pipeline once created. And to go beyond those functionalities, you can still extract the underlying pipeline from a GstPlayer and manipulate it manually.

  • The Debate Over GCC's SVN-to-Git Conversion Approach Won't Be Settled This Year

    The GNU Compiler Collection (GCC) plans for transitioning from SVN to Git over New Year's Day looks like for sure now that goal will not be realized. There still is no firm consensus over which SVN to Git conversion approach to utilize.

    On Christmas Eve, Eric S Raymond announced his Reposurgeon software should be ready for a full and correct GCC conversion of the SVN source tree to Git. Since then, various minors bugs have been pointed out and tweaking to Reposurgeon has continued.

  • Serverless Kafka on Kubernetes

    DevNation tech talks are hosted by the Red Hat technologists who create our products. These sessions include real solutions and code and sample projects to help you get started. In this presentation, you’ll learn about the serverless developer experience on Kubernetes with Knative and Apache Kafka from Matthias Wessendorf.

    Apache Kafka has emerged as a leading platform for building real-time data pipelines and for high-throughput/low-latency messaging. With its scalable and distributed design, Apache Kafka is a good fit for platforms like Kubernetes. Knative, on the other hand, is a Kubernetes-based platform that comes with a set of building blocks to build, deploy, and manage modern serverless workloads.

  • 8 must-read DevOps articles for success in 2020

    I am an avid reader, but I go through periods where I'm so busy that it's hard to find the time to keep up with my reading list. Even during my busiest times, I try to stay up to date on DevOps news since it's one of my areas of focus.

    Here, I've summarized key takeaways from the top eight DevOps articles published this year so you can increase your knowledge even if you don't have time to read all of them. Since DevOps is about people, processes, and tools, I've categorized the top eight articles around those themes.

  • Donald Knuth’s 2019 ‘Christmas Tree Lecture’ Explores Pi in ‘The Art of Computer Programming’

    But for this year’s lecture, Knuth did something special. He showed the audience how, throughout the last half of a century, he’s whimsically worked the digits of pi into various exercises in his book — again, and again, and again. Knuth tells the audience that he’s searched the entire text of his own book, The Art of Computer Programming, using the Linux tool egrep, and he’s found a whopping 1,700 occurrences of the word pi, “which mean pi occurs maybe twice every five pages in the book so far.” He feels that using pi in his examples assures readers that the algorithms really will work, even on an arbitrarily chosen cluster of digits.

  • The best resources for agile software development's six-part guide to Small Scale Scrum (which I helped co-author) advises smaller teams on how to bring agile into their work. The traditional scrum framework outlined in the official Scrum Guide recommends a minimum of three people for the framework to realize its full potential. However, it provides no guidance for how teams of one or two people can follow scrum successfully. Our six-part series aims to formalize Small Scale Scrum and examines our experience with it in the real world. The series was received very warmly by our readers—so much such that the six individual articles comprise 60% of our Top 10 list. So, if you haven't already, make sure to download them from our Introduction to Small Scale Scrum page.

  • Namespaces are the shamash candle of the Zen of Python

    Modules are namespaces. This means that correctly predicting module semantics often just requires familiarity with how Python namespaces work. Classes are namespaces. Objects are namespaces. Functions have access to their local namespace, their parent namespace, and the global namespace.

    The simple model, where the . operator accesses an object, which in turn will usually, but not always, do some sort of dictionary lookup, makes Python hard to optimize, but easy to explain.

    Indeed, some third-party modules take this guideline and run with it. For example, the variants package turns functions into namespaces of "related functionality." It is a good example of how the Zen of Python can inspire new abstractions.

  • How to use Pandas get_dummies to Create Dummy Variables in Python

    The post How to use Pandas get_dummies to Create Dummy Variables in Python appeared first on Erik Marsja.

    In this post, we will learn how to use Pandas get_dummies() method to create dummy variables in Python. Dummy variables (or binary/indicator variables) are often used in statistical analyses as well as in more simple descriptive statistics.

More in Tux Machines

Android Leftovers

Best Linux laptop for 2021: Which one should you buy?

I remember, back in my early days of Linux, finding a laptop that could run the open-source operating system was tricky business. You might get a distribution to work with the video chipset. You might even find one that interacts with your soundcard. If you could manage to get wireless working, you were something special. That was then, and this is a very different time. Now, you can find Linux pre-installed laptops all over the place. Companies like System76, Tuxedo Computers, Juno Computers, Dell, Lenovo and HP are all producing laptops that support or are even fully certified to run Linux. Read more

today's leftovers

  • Paradox of the perfect code editor

    Imagine if someone summoned a magical genie and wished for a perfect code editor. Since it is perfect, does that mean it provides you everything you ever need to code the optimal solution? Or since it is perfect, does it enable you to accomplish the coding aspect instantly?

    Thus, the paradox:

    Does the perfect code editor mean that you spend nearly 100% of your work time using the editor or does it mean you spend nearly 0% of your work time using the editor?

  • I write code 100 hours/week, here's why I probably won't stop

    I feel strongly you should never feel compelled or required to do what I am doing. Any company, manager, or person asking you to do so is horrible and you should get out quick. I don’t want to contribute to that culture or feed it.

    But-I love what I’m doing. I love the amount of progress I’m able to achieve every day. I love my time spent solving problems. I love what I’ve achieved so far. I want to go further than ever before - I’ve been marathon coding for as long as I can remember, and I’m not going to stop. I need to see how far I can go.

    I love the choices I’ve made in life. I hope you love yours too.

  • The reports of Perl’s death have been greatly exaggerated

    But you know what? Perl’s still going. It’s had a steady cadence of year­ly releas­es for the past decade, intro­duc­ing new fea­tures and fenc­ing in bad behav­ior while main­tain­ing an admirable lev­el of back­ward com­pat­i­bil­i­ty. Yes, there was a too-​long adven­ture devel­op­ing what start­ed as Perl 6, but that lan­guage now has its own iden­ti­ty as Raku and even has facil­i­ties for mix­ing Perl with its native code or vice versa.

  • Share with us your say on interoperability benefits in digital public service delivery

    As the the ISA2 programme and ELISE are coming to an end, is the right time to reflect on what we have achieved together and how to build on that in the next generation programmes.

  • How BSD Authentication Works

    The way OpenBSD authenticates users is quite different from other Unix-like operating systems. Most other systems like AIX, Solaris, Linux, the other BSDs, and MacOS, use a framework called Pluggable Authentication Module (PAM). The two main implementations are Linux PAM and OpenPAM. PAM modules are created as dynamically loaded shared objects, which communicate using a combination of common and implementation specific interfaces (Linux-PAM and OpenPAM). It's configured using the pam.d directory and pam.conf file. While it can be flexible, it's highly complex and very easy to mis-configure, leaving you open to strange and hard to track down authentication bugs. On top of that, the fact that it's a shared library means that any vulnerability in a poorly vetted authentication module gives attackers direct access to the internals of your application. Author Michael W. Lucas said it best when he described PAM as unstandardized black magic.

    OpenBSD on the other hand uses a mechanism called BSD Authentication. It was originally developed for a now-defunct proprietary operating system called BSD/OS by Berkeley Software Design Inc., who later donated the system. It was then adopted by OpenBSD in release 2.9. BSD Auth is comparatively much simpler than PAM. Modules or, authentication "styles", are instead stand alone applications or scripts that communicate over IPC. The module has no ability to interfere with the parent and can very easily revoke permissions using pledge(2) or unveil(2). The BSD Authentication system of configured through login.conf(5).

  • Explaining top(1) on FreeBSD

    We all know and have at least once used the top(1) command to track information about our cpu and processes, but how many of you know what each field means? Today we will guide you through each of these fields. By default, top(1) displays the ‘top’ processes on each system and periodically updates this information every 2.0 seconds using the raw cpu use percentage to rank the processes in the list.

Integrity/Availability, Security, and DRM

  • Sinclair hit by ransomware attack, TV stations disrupted [iophk: Windows TCO]

    Sinclair Broadcast Group, which operates dozens of TV stations across the U.S., said Monday that some of its servers and work stations were encrypted with ransomware and that data was stolen from its network.

  • Sinclair hit by ransomware attack, TV stations disrupted [iophk: Windows TCO]

    The Hunt Valley, Maryland-based company either owns or operates 21 regional sports network and owns, operates or provides services to 185 television stations in 86 markets.

  • Canon Sued For Disabling Printer Scanners When Devices Run Out Of Ink

    For more than a decade now, computer printer manufacturers have been engaged in an endless quest called: "let's be as annoying as humanly possible." That quest, driven by a desire to monopolize and boost the sale of their own printer cartridges, has resulted in all manner of obnoxious DRM and other restrictions designed to make using cheaper, third-party printing cartridges a monumental headache. Often, software or firmware updates have been designed to intentionally grind printing to a halt if you try to use these alternative options.

  • Caskading Failures

    In case you hadn’t heard, Let’s Encrypt’s root certificate expired on September 30th, causing many old applications and devices to reject connections to any site secured by certificates issued by Let’s Encrypt. At Cider and Saddle, all of our services are backed by a Let’s Encrypt wildcard certificate, which we’d configured to automatically renew when needed. We thought that meant we’d be in the clear; after all, we were sure to keep our production system up-to-date, and as long as the system’s CA certificates were fresh, there shouldn’t be any issues.

    We were wrong.

    On October 3rd, one of our community members noticed Cask was throwing 500 errors upon visiting the page. Scrubbing through the logs, it was pretty easy to guess what was going on: [...]