Language Selection

English French German Italian Portuguese Spanish

Login

Enter your Tux Machines username.
Enter the password that accompanies your username.

More in Tux Machines

GNU Social Contract version 1.0

just a public heads-up on progress on the GNU Social Contract. Following our initially announced timeline, we had put online the first draft at the end of January. The goal of the document is to formulate a common core set of values for the GNU Project, on which we can jointly build to form a stronger community. It is both an agreement among us, GNU contributors, and a pledge to the broader free software community. Additionally, we think it can be a first step towards formalising a transparent and collective governance of the GNU Project. Read more

Best Wallpaper Slideshow Apps for Linux

Many Linux users love to customize and personalize their desktop environment. Linux offers plenty of choices to customize almost every part of the desktop including automatic switching of desktop background at periodic intervals. This article will list some wallpaper slideshow apps that can find and apply desktop backgrounds automatically based on your interests. Read more

today's howtos

Programming Leftovers

  • Hover a mouse over a link - just don't trust the results

    This appears to be a link to a good website. When the mouse hovers over this link, it will appear that it goes to www.somegoodplace.com. Click it. I dare you :-)

    The link really goes to guce.advertising.com. JavaScript is used to dynamically change the link just as it is clicked. Pretty cool, eh?

  • Goodbye Joyent

    But as any software veteran knows, projects often don’t survive the whims of management. No one is fired for picking Linux (these days), but they might be for picking something else. I already experienced this once before, as a core developer of the Riak database. We were rigorous, paying homage to the theoretics of distributed systems, but with a focus on bringing that theory to the masses. So much so that our last CEO said we had to stop doing so much “computer science”. He meant it as an insult, but we wore it as a badge of honor. But hey, MongoDB had a sweet API and BJSON, who cares if it lost your data occasionally [1]. I understand that people like to stick with what is popular. I respect that decision — it is theirs to make. But I’ll never be a part of that crowd. I want to use software that speaks to me, software that solves the problems I have, software guided by similar values to my own. For me, no project does this more than SmartOS and the illumos kernel. It is my Shawshank Redemption in a sea of MCU.

  • Continuous integration with GDB Buildbot

    Continuous integration is a hot topic these days, and the GNU Project Debugger is keeping up with the trend. Who better to serve as a role model for tracking and exterminating bugs than a debugger? The GDB Buildbot started as a pet project back in 2014 but is now an integral part of the development process. It provides an infrastructure to test new commits pushed to the official repository, as well as a service (which we call try builds) for developers to submit their proposed changes. In this article, I share the story of our Buildbot instance, where we are right now in terms of functionality, and the plans (and challenges) for the future. [...] Back in 2014, the GDB project did not have a continuous integration tool. Developers kindly provided testsuite results and reported regressions in the code, often using their own machines. However, these developers had limited resources and could not test various architectures simultaneously. Compilation failures were often not caught in systems that are not widely used. Ultimately, this issue caused delays and annoyances during the release process (or in the worst cases) after GDB was released. In an attempt to mitigate this problem, the GDB Buildbot was set up. Only GNU/Linux running on Intel/AMD 32 and 64-bit was supported at the beginning, but the community quickly started to contribute toward support other machines and architectures. The initial setup compiled and tested the code using common configure flags, but developers still needed to consult the web page in order to know the results. Over time, the instance has been improved and new features were added, including email notifications whenever a commit introduced a compilation failure, and email notifications to the gdb-testers mailing list containing the results of each testsuite run. Perhaps one of the most useful features was the try build system.

  • Automating unit tests in test-driven development

    DevOps is a software engineering discipline focused on minimizing the lead time to achieve a desired business impact. While business stakeholders and sponsors have ideas on how to optimize business operations, those ideas need to be validated in the field. This means business automation (i.e., software products) must be placed in front of end users and paying customers. Only then will the business confirm whether the initial idea for improvement was fruitful or not. Software engineering is a budding discipline, and it can get difficult to ship products that are defect-free. For that reason, DevOps resorts to maximizing automation. Any repeatable chore, such as testing implemented changes to the source code, should be automated by DevOps engineers. This article looks at how to automate unit tests. These tests are focused on what I like to call "programming in the small." Much more important test automation (the so-called "programming in the large") must use a different discipline—integration testing. But that's a topic for another article.

  • Create web user interfaces with Qt WebAssembly instead of JavaScript

    When I first heard about WebAssembly and the possibility of creating web user interfaces with Qt, just like I would in ordinary C++, I decided to take a deeper look at the technology. My open source project Pythonic is completely Python-based (PyQt), and I use C++ at work; therefore, this minimal, straightforward WebAssembly tutorial uses Python on the backend and C++ Qt WebAssembly for the frontend. It is aimed at programmers who, like me, are not familiar with web development.

  • GCC 8.4 Status Report (2020-02-17)
    Status
    ======
    
    
    
    
    It has been almost a year since GCC 8.3 has been released and GCC 8.4
    release should have been released already, so we should concentrate on
    getting it out soon.  Unfortunately we have two P1s, one of them is
    waiting for reporter's input, so we might as well just ignore it unless
    the input is provided, but the other, C++ FE one, looks something that
    should be fixed.  If we get rid of the P1s, I'd like to create
    8.4-rc1 on Wednesday, Feb 26th and release 8.4 the week afterwards.
    If you have any queued backports, please commit them to 8 branch
    (and 9 branch too, we'd like to release 9.3 soon too).
    
    
    
    
    
    
    
    
    Quality Data
    ============
    
    
    
    
    Priority          #   Change from last report
    --------        ---   -----------------------
    P1                2   +   2
    P2              284   +  75
    P3               38   +   4
    P4              151   -  11
    P5               22   -   2
    --------        ---   -----------------------
    Total P1-P3     324   +  81
    Total           497   +  68
    
    
    
    
    
    
    
    
    Previous Report
    ===============
    
    
    
    
    https://gcc.gnu.org/ml/gcc/2019-02/msg00122.html
    
  • GCC 8.4 + GCC 9.3 Compilers Coming Soon

    GCC 8.4 is already past due for release while Red Hat's Jakub Jelinek is trying to get its release organized in the coming weeks along with GCC 9.3. It's been nearly one year since GCC 8.3 and thus many fixes in tow for GCC 8.4. But two "P1" regressions of the highest priority are left to be addressed or demoted before the 8.4 release can happen. Jakub is hoping to create a release candidate of GCC 8.4 on 26 February and to then officially release the GCC 8.4 stable compiler the first week of March. A similar GCC 9.3 release is also expected soon for those on this current GCC 9 stable series.