Language Selection

English French German Italian Portuguese Spanish

Google

Google Helps With Linux Scheduling With SchedViz

Filed under
Linux
Google

Google has just open sourced a tool that lets you visualize how your program is being treated under Linux scheduling. The idea is that you can use SchedViz to tune the system.

We all know the best scheduling algorithm to use - my program runs, everything else is suspended. Effective, but not cooperative. To achieve the same result while allowing other programs a chance to use the CPU we need to tune, and perhaps even select, the scheduling algorithm.

The problem is that the basic Linux tools to do the job are lacking and what generally happens is that you guess what might be best. In a modern system such a guess is unlikely to be correct because there are too many variables. Each thread has a priority and these interact under the scheduling policy. It can make a difference which core a thread is assigned to and changing cores is something best avoided.

Read more

Browsers: Opera 64 (Proprietary), Firefox and Chrome Benchmarks, New Firefox Features

Filed under
Google
Moz/FF
Web
  • Opera 64 is out: New tracker blocker promises you up to 20% faster page loads

    Browser maker Opera is releasing Opera 64 to the stable channel, offering users improved privacy protections from online tracking and updates to its Snapshot tool.

  • Firefox 69 + Chrome 77 On Windows 10 vs. Ubuntu / Clear Linux Benchmarks

    With running some fresh cross-OS benchmarks now that Ubuntu 19.10 is imminent followed by Ubuntu 19.10, a new Windows 10 update coming in the days ahead, and also the release of macOS 10.15, a lot of fun benchmarks are ahead. In today's article is a quick look at the Windows 10 vs. Ubuntu 19.10 vs. Clear Linux web browser performance for both Mozilla Firefox and Google Chrome.

  • Firefox 71 Landing Wayland DMA-BUF Textures Support

    Landing recently into the Mozilla code-base for the Firefox 71 release is DMA-BUF textures support on Wayland. When using Firefox with the OpenGL compositor enabled, the DMA-BUF EGL texture back-end is used that allows for sharing of buffers between the main/compositor process, working directly in GPU memory, and other benefits with this DMA-BUF usage. That code has been merged as another step forward for Firefox on Linux/Wayland.

Codecs and Google

Filed under
Google
Movies
OSS
  • Google Has Been Developing "libgav1" As New AV1 Decoder

    While there exists DAV1D as one of the most promising AV1 decoders to date, Google has been developing libgav1 as its own AV1 decoder and focused on Arm-powered Android devices but also x86_64 desktop CPUs as well.

    Google made its first libgav1 code drop on Friday for this AV1 decoder focused on AV1 profile 0 and profile 1 content. GAV1 is focused on decoding IVF files and so far features the likes of Arm NEON and x86 SSE4.1 CPU optimizations.

  • DAV1D vs. LIBGAV1 Performance - Benchmarking Google's New AV1 Video Decoder

    With the surprise code drop of Google developing a new open-source AV1 video decoder as "libgav1", I set out this Saturday to run benchmarks on various systems for seeing how the performance is looking for this CPU-based decoder in relation to the more well known DAV1D decoder.

    Libgav1 is now available alongside the many other video encoders/decoders for benchmarking via the Phoronix Test Suite with OpenBenchmarking.org. I fired up a number of different Linux systems so far in seeing how the performance compares with a wide array of AMD and Intel processors.

Google Uncovers CPU Bug For Geminilake, Affecting At Least Firefox & Chrome

Filed under
Google
Security

We were alerted this morning to a CPU bug resulting in crashes for Intel Geminilake processors. At least Chrome and Firefox are affected but sounds like other software may be affected too, just that Google has enough engineering resources for investigating the issue.

Google's Chrome team have been receiving "many "impossible" crashes on Intel Gemini Lake, Family 6 Model 122 Stepping 1 CPUs" in recent months. These crashes happen with 64-bit Chrome and span multiple versions of Chrome.

Read more

Related: Google Finds Hundreds Of Data-Race Conditions In The Linux Kernel

Systemd Starts Tapping ChromeOS For USB Devices That Support Auto-Suspend Well

Filed under
Linux
Google

Systemd has begun harvesting the automatic suspend rules from ChromeOS for determining which USB devices support automatic suspend well out-of-the-box on Linux.

Thanks to Google's extensive testing infrastructure and validation of devices around ChromeOS, systemd is now using rules setup by ChromeOS for also marking those same USB device IDs as fine for enabling automatic suspend under Linux. Adapting the auto-suspend rules list from ChromeOS to systemd was done by Dell's Mario Limonciello and should mean more USB devices seeing auto-suspend power savings by default.

Read more

Kernel: ABI, GNU C Library, Core Scheduling, Linux 5.4, Randomness, Kernel Concurrency Sanitizer (KCSAN)

Filed under
Linux
Google
Security
  • Monitoring the internal kernel ABI

    As part of the Distribution Kernels microconference at Linux Plumbers Conference 2019, Matthias Männich described how the Android project monitors changes to the internal kernel ABI. As Android kernels evolve, typically by adding features and bug fixes from more recent kernel versions, the project wants to ensure that the ABI remains the same so that out-of-tree modules will still function. While the talk was somewhat Android-specific, the techniques and tools used could be applied to other distributions with similar needs (e.g. enterprise distributions).

    Männich is on the Google Android kernel team, but is relatively new to the kernel; his background is in build systems and the like. He stressed that he is not talking about the user-space ABI of the kernel, but the ABI and API that the kernel exposes to modules. The idea is to have a stable ABI over the life of an Android kernel. He knows that other distributions have been doing this "for ages", but the Android kernel and build system are different so it made sense to look at other approaches to this problem.

  • System-call wrappers for glibc

    The GNU C Library has long had a reputation for being hostile to the addition of wrappers for new Linux system calls; that has resulted in many system calls being unsupported by the library for years. That situation is changing, though. During the Toolchain microconference at the 2019 Linux Plumbers Conference, Maciej Rozycki talked about glibc's new attitude toward system-call wrappers, but also served notice that there is still significant work to do for the addition of any new system call.
    Rozycki, who put together the talk with Dmitry Levin, is not the person doing most of this work. He was, instead, "delivering a message from Florian Weimer", who was unable to attend the event.

    For those who might appreciate a bit of background: applications running in user space do not call directly into the kernel; instead, they will call a wrapper function that knows how to invoke the system call of interest. If nothing else, the wrapper will place the system-call arguments in the right locations and do whatever is necessary to invoke a trap into kernel mode. In some cases, the interface implemented by the wrapper can be significantly different from what the kernel provides.

  • Many uses for Core scheduling

    Some new kernel features are welcomed by the kernel development community, while others are a rather harder sell. It is fair to say that core scheduling, which makes CPU scheduling harder by placing constraints on which processes may run simultaneously in a core, is of the latter variety. Core scheduling was the topic of (at least) three different sessions at the 2019 Linux Plumbers Conference. One of the most interesting outcomes, perhaps, is that there are use cases for this feature beyond protection from side-channel attacks.

  • 5.4 Merge window, part 1

    As of this writing, 9,632 non-merge changesets have been merged for the 5.4 kernel. This merge window is thus off to a strong start. There has been a wide range of changes merged across the kernel tree, including vast numbers of cleanups and fixes.

  • Following Buggy AMD RdRand, The Linux Kernel Will Begin Sanity Checking Randomness At Boot Time

    The Linux kernel will begin doing a basic sanity check of x86_64 CPUs with the RdRand instruction to see if it's at least returning "random looking" data otherwise warn the user at boot time. This stems from a recent issue where AMD's RdRand behavior with some hardware (particularly, buggy motherboards) could have borked RdRand issues.

  • Google Is Uncovering Hundreds Of Race Conditions Within The Linux Kernel

    One of the contributions Google is working on for the upstream Linux kernel is a new "sanitizer". Over the years Google has worked on AddressSanitizer for finding memory corruption bugs, UndefinedBehaviorSanitizer for undefined behavior within code, and other sanitizers. The Linux kernel has been exposed to this as well as other open-source projects while their newest sanitizer is KCSAN and focused as a Kernel Concurrency Sanitizer.

  • Kernel Concurrency Sanitizer (KCSAN)
    We would like to share a new data-race detector for the Linux kernel:
    Kernel Concurrency Sanitizer (KCSAN) --
    https://github.com/google/ktsan/wiki/KCSAN  (Details:
    https://github.com/google/ktsan/blob/kcsan/Documentation/dev-tools/kcsan.rst)
    
    To those of you who we mentioned at LPC that we're working on a
    watchpoint-based KTSAN inspired by DataCollider [1], this is it (we
    renamed it to KCSAN to avoid confusion with KTSAN).
    [1] http://usenix.org/legacy/events/osdi10/tech/full_papers/Erickson.pdf
    
    In the coming weeks we're planning to:
    * Set up a syzkaller instance.
    * Share the dashboard so that you can see the races that are found.
    * Attempt to send fixes for some races upstream (if you find that the
    kcsan-with-fixes branch contains an important fix, please feel free to
    point it out and we'll prioritize that).
    
    There are a few open questions:
    * The big one: most of the reported races are due to unmarked
    accesses; prioritization or pruning of races to focus initial efforts
    to fix races might be required. Comments on how best to proceed are
    welcome. We're aware that these are issues that have recently received
    attention in the context of the LKMM
    (https://lwn.net/Articles/793253/).
    * How/when to upstream KCSAN?
    
    Feel free to test and send feedback.
    
    Thanks,
    -- Marco
    

OverGrive is the Linux Google Drive client you've been waiting for

Filed under
Linux
Google

If there's one piece of advice I always give Google Drive power users it's that they should make sure to back up their data. Period. Yes, it should be assumed that Google has your back. After all, they are a massive company, storying enormous amounts of data in the cloud. However, you simply never know when disaster might strike. And it does strike. Should that occur, you'll be relieved to know you have a backup copy of your data.

But how do you backup a Google Drive cloud account? For Windows and macOS users, there's the official Google Drive desktop client. For Linux users, there are a few options, many of which are not truly viable for business or other types of Google Drive power users. That brings me to Insync. I've been using that tool for quite some time, with fairly good results. However, upon upgrading from version 1.x to 3.x, my Insync license was invalidated. Being the paranoid person I am (and always wanting to make sure I have a backup), I sent them a message with the assumption they wouldn't get back to me right away. And so, I went in search of a replacement.

Read more

Google: Chrome OS 77 and FOSS on Android (Isolated Space on Android With Shelter)

Filed under
Google
  • Chrome OS 77 Brings Google Assistant to More Chromebooks, Updated Files App

    Google has begin the rollout of the latest Chrome OS 77 operating system for Chromebooks, a release that brings the Google Assistant to more devices and several other updates.
    Google's Linux-based operating system for Chrome devices, Chrome OS, has been promoted to version 77, based on the recently released Google Chrome 77 web browser. Chrome OS 77 is here to bring the Google Assistant intelligent voice assistant to more Chromebooks, making it easier for users to do things on their devices and be more productive.

    "The Assistant on Chromebook helps you stay productive, control your smart devices, and have a little fun along the way. To get started, enable the Assistant in your Chromebook's settings and then try asking or typing some of these queries," said Alexander Kuscher, Director of Chrome OS. "It’s starting to roll out now to more non-managed, consumer devices."

    Google Assistant will help you quickly create new documents, sheets or slides in your Google Drive account, check your schedule or add a new event to your calendar, set reminders, play music through supported speakers, control smart devices in your home, as well as thousands other actions.

  • Shelter, Application To Create An Isolated Space On Android!

    Creating an application clone on a smartphone is one way to open 2 different accounts for an application for certain purposes. Actually, cloning an application is not necessary when the application has a feature to open more than one account. Examples are Applications made by Google.

    Many applications created by Google are connected to our Google account, so we only need to add the desired account to open several Google applications such as Youtube, Gmail, Drive, and others. In fact, Telegram has also added features to be able to use more than one telegram account in one application. However, some applications not provide this feature. we need an application to create multiple applications in one devices.

    One application that can be used to create multiple applications is Shelter. Shelter is an application that is included in the FOSS (Free and Open Source Software) category. You will not find ads on this app. In fact, you can find the source code from shelters on this site.

The /e/ Google-free, pro-privacy Android clone is now available

Filed under
Android
Google

Gaël Duval, creator of the popular early Linux distribution, Mandrake Linux, wanted a smartphone, which was open source, would run a wide variety of popular software, and protect your privacy. His answer was the Android-based /e/ operating system and smartphones. While it's still in beta, both its code and refurbished Samsung phones running it are now available.

There have been many attempts to create an alternative to Google-based Android and Apple's iOS -- Ubuntu One, FirefoxOS, and Windows Mobile all quickly spring to mind -- but none of them caught on. More recently, Huawei is working on its own Android alternative: Harmony OS. Duval's approach hasn't been to reinvent the mobile operating system wheel, but instead to clean up Android of its Google privacy-invading features and replace them with privacy-respecting one, in which, as Duval said in an interview, "Your data is your data."

To do this, he's started with LineageOS. This is an Android-based operating system, which is descended from the failed CyanogenMod Android fork. According to Duval, the /e/ operating system is a Lineage OS fork. It also blends in features from the Android Open Source Project (AOSP) 7, 8, and 9 source-code trees.

Read more

Chromium/Mozilla Firefox: Chrome 78 Beta, Keygen Setback and iframes

Filed under
Google
Moz/FF
Web
  • Chrome 78 Beta: a new Houdini API, native file system access and more

    Unless otherwise noted, changes described below apply to the newest Chrome Beta channel release for Android, Chrome OS, Linux, macOS, and Windows. Find more information about the features listed here through the provided links or from the list on ChromeStatus.com. Chrome 78 is beta as of September 19, 2019.

  • Chrome 78 Hits Beta With Native File System API, Much Faster WebSockets

    Google on Friday released the Chrome 78 web-browser beta following last week's release of Chrome 77.

    Chrome 78 Beta is coming with a new Houdini API or more formally known as the CSS Properties and Values API Level 1, which lets developers register variables as fully custom CSS properties and can better handle animations and other use-cases.

  • Firefox 69 dropped support for <keygen>

    With version 69, firefox removed the support for the <keygen> feature to easily deploy TLS client certificates.
    It's kind of sad how used I've become to firefox giving me less and less reasons to use it...

  • [Mozilla] Restricting third-party iframe widgets using the sandbox attribute, referrer policy and feature policy

    Adding third-party embedded widgets on a website is a common but potentially dangerous practice. Thankfully, the web platform offers a few controls that can help mitigate the risks. While this post uses the example of an embedded SurveyMonkey survey, the principles can be used for all kinds of other widgets.

    Note that this is by no means an endorsement of SurveyMonkey's proprietary service. If you are looking for a survey product, you should consider a free and open source alternative like LimeSurvey.

Syndicate content

More in Tux Machines

Python Programming

  • Split String in Python

    When a string of multiple words is divided into the specific number of words based on a particular separator then it is called string splitting. Most of the programming languages use the split() method to divide a string into multiple words. The return type of this method is an array for many standard programming languages. the split() method is used in Python also to divide a string into words and it returns a list of words based on the separator. How to split() method can be used in Python is shown in this article by using different examples. Spyder3 editor is used here to write and execute the python script.

  • Send and receive UDP packets via Python

    We already know about two main transport layer protocols like TCP and UDP. For more information about TCP and UDP you can check reference section. In this article we will learn how to send and receive UDP packets using python program.

  • The 7 most popular ways to plot data in Python

    "How do I make plots in Python?" used to have a simple answer: Matplotlib was the only way. Nowadays, Python is the language of data science, and there's a lot more choice. What should you use? This guide will help you decide. It will show you how to use each of the four most popular Python plotting libraries—Matplotlib, Seaborn, Plotly, and Bokeh—plus a couple of great up-and-comers to consider: Altair, with its expressive API, and Pygal, with its beautiful SVG output. I'll also look at the very convenient plotting API provided by pandas. For each library, I've included source code snippets, as well as a full web-based example using Anvil, our platform for building web apps with nothing but Python. Let's take a look.

  • Episode 3: Effective Python and Python at Google Scale

    In this episode, Christopher interviews Brett Slatkin about the 2nd edition of his book Effective Python. Brett talks about the revisions he made for the book, and updating it for the newest versions of Python 3. Christopher asks who is the intended developer for the book. Brett also discusses working on Google App Engine, and what it’s like to develop and maintain Python applications at Google Scale. Brett mentions a brief anecdote about working with Guido van Rossum, while they both worked at Google. He also provides advice about maintaining a large and aging Python code base.

  • Randy Zwitch: Building pyarrow with CUDA support

    The other day I was looking to read an Arrow buffer on GPU using Python, but as far as I could tell, none of the provided pyarrow packages on conda or pip are built with CUDA support. Like many of the packages in the compiled-C-wrapped-by-Python ecosystem, Apache Arrow is thoroughly documented, but the number of permutations of how you could choose to build pyarrow with CUDA support quickly becomes overwhelming. In this post, I’ll show how to build pyarrow with CUDA support on Ubuntu using Docker and virtualenv. These directions are approximately the same as the official Apache Arrow docs, just that I explain them step-by-step and show only the single build toolchain I used.

  • Python String Formatting

    The string Formatting is a very important task of any type of programming language. It helps the user to understand the output of the script properly. The string formatting can be done in Python in various ways, such as using ‘%’ symbol, format() method, string interpolation, etc. This article shows how the string data can be formatted in Python by using different string formatting methods. Spyder3 editor is used here to write and run the script. Two types of formatting parameters can be used in Python. These are positional parameters and keyword parameters. The parameter which is accessed by the index is called the positional parameter and the parameter which is accessed by key is called the keyword parameter. The uses of these parameters are shown in the next part of this article.

  • 30 Days Of Python | Day 3 Project: A Simple Earnings Calculator

    Welcome to the first mini project in the 30 Days of Python series. For this project we're going to be creating a simple console application that will help an employer calculate an employee's earning in a given week. [...] Once you've written your program, you shouldn't be worried if it looks a little bit different to ours. You might have chosen different variable names or prompts, or you might have used a slightly different approach to us. This is absolutely fine. There are often may different ways to write even very short programs like this.

  • When to use the Clean Architecture?

    There are few possible reactions after learning about the Clean Architecture or Hexagonal Architecture (AKA Ports & Adapters) or even merely innocent service layer in Django. Some developers are enthusiastic and try to apply these techniques immediately, some are hesitant, full of doubts. The rest is strongly opposing, declaring openly this is an abomination. Then they say we already have excellent tools, like Django. Then they argue others don’t know about the advanced features of common tools. Then they call you Java developer in disguise. As a speaker and an author of the book Implementing the Clean Architecture , I have faced all the reactions from this spectrum. What two extremes fail to do, is to ask the right question – WHEN? When the Clean Architecture should be used?

Android Leftovers

New Manjaro Linux ARM 20.04 Released For Single Board Computers

With the successful shipment of Manjaro Linux ARM to Pinebook Pro, the Manjaro ARM team has released a new ARM v20.4 for single board computers. The latest version is a successor to the previous ARM 20.02 with major system changes. Manjaro ARM is an Arch and Manjaro Linux-based small distribution by a developer team from Manjaro Linux. The ARM edition is a dedicated operating system for devices using ARM architecture-based processors. Read more

today's howtos