Language Selection

English French German Italian Portuguese Spanish

today's leftovers

Filed under
  • Wine-Staging 4.6 Brings Big Performance Improvement For Multi-Threaded Games / Apps

    Friday's release of Wine 4.6 was exciting in that it started merging the code for WineD3D Vulkan support, now supports a shared Wine-Mono, and other big ticket work. Wine-Staging 4.6 is now available as the latest experimental patches re-based atop the latest upstream Wine. This Wine-Staging update is quite exciting in its own right. 

  • GNU Hackers Meetings - News: Malfunction in ghm-planning (at)

    Due to a problem in the alias configuration, mails sent to ghm-planning before Sun Apr 14 8:00 CEST have been silently dropped.

  • FOSSASIA OpenTech Summit’19

    Last month, I attended FOSSASIA’s annual conference which was held in Singapore. This conference was a collection of amazing, life-changing experiences. It was my first experience as a speaker and it taught me so much about the open-source culture. This summit took place from 14th March to 17th March in the beautiful city of Singapore. This was my second foreign trip as well. First one was to San Francisco as a part of the Student Startup Exposure Program.

    My flight was scheduled for 12th March from Jaipur and had a layover at Chennai for 5 hours. I reached the Changi Airport in the early morning of 13th. This airport was quite scenic and is also ranked as the top airport in the world.

  • OpenSUSE's Spectre Mitigation Approach Is One Of The Reasons For Its Slower Performance

    OpenSUSE defaults to IBRS for its Spectre Variant Two mitigations rather than the Retpolines approach and that is one of the reasons for the distribution's slower out-of-the-box performance compared to other Linux distributions. 

    A Phoronix reader pointed out this opensuse-factory mailing list thread citing a "huge single-core performance loss" on a Lenovo laptop when using openSUSE. There's a ~21% performance loss in single-threaded performance around the Spectre Variant Two mitigations, which itself isn't surprising as we've shown time and time again about the performance costs of the Spectre/Meltdown mitigations.

  • Are you missing the potential of dynamic SAP communication?

More in Tux Machines

Programming: Thread Synchronization, Python, C++

  • Thread Synchronization in Linux and Windows Systems, Part 1

    In modern operating systems, each process has its own address space and one thread of control. However, in practice we often face situations requiring several concurrent tasks within a single process and with access to the same process components: structures, open file descriptors, etc.

  • Intro to Black – The Uncompromising Python Code Formatter

    There are several Python code checkers available. For example, a lot of developers enjoy using Pylint or Flake8 to check their code for errors. These tools use static code analysis to check your code for bugs or naming issues. Flake8 will also check your code to see if you are adhering to PEP8, Python’s style guide.

  • Report from the February 2019 ISO C++ meeting (Library)

    Back in February, I attended the WG21 C++ standards committee meeting in rainy Kona, Hawaii (yes, it rained most of the week). This report is so late that we’re now preparing for the next meeting, which will take place mid-July in Cologne. As usual, I spent the majority of my time in the Library Working Group (for LWG; for details on the various Working Groups and Study Groups see Standard C++: The Committee). The purpose of the LWG is to formalize the specification of the C++ Standard Library, i.e. the second “half” of the C++ standard (although in terms of page count it’s closer to three quarters than half). With a new C++20 standard on the horizon, and lots of new features that people want added to the standard library, the LWG has been very busy trying to process the backlog of new proposals forwarded by the Library Evolution Working Group (LEWG). One of the main tasks at the Kona meeting was to review the “Ranges Design Cleanup” proposal. The cleanup involves a number of fixes and improvements to the new Ranges library, addressing issues that came up during the review of the previous (much larger) proposal to add the Ranges library, which is one of the biggest additions to the C++20 library (most of the other significant additions to C++20 affect the core language, without much library impact). In fact, I’d say it’s one of the biggest additions to the C++ standard library since the first standard in 1998. The Ranges library work overhauls the parts of the standard that originated in the Standard Template Library (STL), i.e. iterators, algorithms, and containers, to re-specify them in terms of C++ Concepts. This has been a multi-year effort that has now landed in the C++20 working draft, following multiple proposals and several meetings of wording review by LWG.

  • Save and load Python data with JSON

    JSON stands for JavaScript Object Notation. This format is a popular method of storing data in key-value arrangements so it can be parsed easily later. Don’t let the name fool you, though: You can use JSON in Python—not just JavaScript—as an easy way to store data, and this article demonstrates how to get started.

Android Leftovers

SysAdmin Day Sale: Get 60% off on Linux Foundation Certification & Training

To celebrate the Sysadmin day, the Linux Foundation is giving 60% off on its training courses on sysadmin, Kubernetes, Hyperledger etc. Advance your career with these certifications. Read more

Raspberry Pi 4 and Raspbian Buster: Hands-On

In my previous two posts I looked at the Raspberry Pi 4 hardware and at the procedure for installing and booting the new Raspbian Buster Operating System on the Pi 4. With those basic steps out of the way, now it's time to look at both the hardware and software in more detail. The first thing I want to mention is that when I wrote the previous post about Raspbian, I had not noticed that there is an updated version of Raspbian Buster (2019-07-10) available. This version was released sort of quietly (without the usual blog post announcing and explaining it), although there are release notes for it if you are interested. This release is extremely good news, because it fixes some of the biggest problems that I mentioned in my previous post... Read more