Language Selection

English French German Italian Portuguese Spanish

Development

Python Programming

Filed under
Development

Programming: Python, Perl, and GNOME/GTK

Filed under
Development

           

  • Why proactively clean Python 2 up?

    It seems a recurring complaint that we’re too aggressive on cleaning Python 2 up from packages. Why remove it if (package’s) upstream still supports py2? Why remove it when it still works? Why remove it when somebody’s ready to put some work to keep it working?

    I’m pretty sure that you’re aware that Python 2 has finally reached its end-of-life. It’s past its last release, and the current version is most likely vulnerable. We know we can’t remove it entirely just yet (but the clock is ticking!), so why remove its support here and there instead of keeping it some more?

    This is best explained on the example of dev-python/twisted — but dev-python/pillow is also quite similar. Twisted upstream removed support for Python 2 at version 20. This means that we ended up having to keep two versions of Twisted — 19 that still supports Python 2, and 20 that does not. What does that means for our users?

    Firstly, they can’t normally upgrade Twisted if at least one of its reverse dependencies supports Python 2 and is installed. What’s important is that the user does not have to meaningfully need or use Python 2 in that reverse dependency. It is entirely sufficient that it supports Python 2 and the user is using default PYTHON_TARGETS.

    Of course, you could argue that changing the default PYTHON_TARGETS would resolve the problem without having to proactively remove Python 2 from Twisted revdeps. Today, I’m not sure which of the two options is better. However, back when cleanup started changing default PT would involve a lot of pain for the users. We’d have to reenable 2.7 via package.use for many packages (but which ones?) or the users would have to reenable it themselves. But that’s really tangential now.

  •        

  • Python Bytes: #192 Calculations by hand, but in the compter, with Handcalcs

    Idea by Guido van Rossum to bring back the print statement.

  •        

  • PyDev 7.7.0 released (mypy integration improvements, namespace packages)

    This release brings multiple improvements for dealing with type hints as well as improvements in the Mypy integration in PyDev:

    The MYPYPATH can now be set automatically to the source folders set on PyDev and the --follow-imports flag is set to silent by default (this flag is required because only one file is analyzed at a time in PyDev as failing to do so would end up showing errors for other files).

  •        

  • PSF GSoC students blogs: Weekly Check-in #10
  • PSF GSoC students blogs: Weekly Check-In: Week 10
  • Perl Weekly Challenge 71: Peak Elements and Trim Linked List
  • The Perl Weekly Challenge #071

    With another Linked List related task, I am now enjoying it a lot. It also gives me the opportunity to work with Class in Raku. Learning Raku has changed my thinking a big way. The developer inside me is more organised than before. Also doing regular weekly challenge made me think from unit test point of view every time I come up with a solution. In fact, it dictates the design of my solution. Now with the regular Live Video Raku Reviews by Andrew Shitov gave me the insights of others Raku solutions. It is amazing how he break the code into pieces to make it easy to understand. No book can teach you that. You only learn from experience or watching video from Andrew Shitov.

    Running [The|Perl] Weekly Challenge also taught me how to manage my spare time. I use my spare time very carefully. Before I would jump to anything that excites me. Last few weeks, I have started playing with Swift programming language. I am enjoying the journey. Please checkout my Swift solution to the Task #1 of Peak Elements.

  • Mariana Pícolo: The Second milestone

    By discussing with my mentor how could the best approach be, I found out that the notifications were already grouped on the code level, but these groups were not being represented in the UI.

    In the code, there's a class named Source, which is responsible for the group. They handle the info's about the app that have sent us any notification and store them.

    There's also a class named Notification, that creates a single notification, with title, banner, and has optional parameters such as playing sounds etc.

    Each Source has an array property that contains its notification objects, which gives us the groups.

    [...]

    Lastly, I'd like to talk about GUADEC which this year was completely remote.

    This was my first talk at a conference, in a language that I'm not a native speaker. I want to thank my mentor and the GNOME community for creating a comfortable environment for the interns to talk about their projects.

Programming: Perl, Python, Java, Fortran and More

Filed under
Development
  • [Perl] Monthly Report - July

    God, the year 2020 seems never ending. I just pray it gets over quickly and we start fresh with new year 2021. Unfortunately we have to wait for another 5 months. In the current situation, anything can happen in this period. Please stay safe and avoid unnecessary human contacts.

    So what was the main attraction of last month?

    Well, quite a few, to begin with, I submitted 12 Pull Requests which is much better than the month before i.e. 9 Pull Requests. I remember there was time when I used to submit at least 50 PR every month. I aim to do at least 1 PR every 2 days i.e. 15 PR every month. Unfortunately I have only managed to do that in January i.e. 22 Pull Requests. I did come close to the target in two months e.g. May (13 Pull Requests) and July (12 Pull Requests). I am going to keep trying hard. Wish me luck.

    I would like to talk about my participation to the Pull Request Club contributions. Ever since I joined i.e. January 2019, I have never missed a single month. As of today, I have submitted 20 Pull Requests to 20 different distributions. Of those 10 have been accepted and merged. There are 9 PR still open and 1 closed without merge. So overall 50% success rate, not a bad attempt so far.

  • How and why I built Machine Learning model to predict tennis table matches results

    First of all I have chosen Python as the language for the project since python provides many libraries and documentations to support with any challengs during this milestone.

  •         

  • Just updated - Optimize Images v1.3.6

    Optimize Images has just been updated to version 1.3.6, a minor but still important release that fixes a few bugs and improves its overall stability. Thank you for using Optimize Images and/or contributing with feature suggestions, bug reports, or pull requests!

  • Java ternary operator

    Ternary operator can be used as the alternative of ‘if-else’ and ‘if-else-if’ statements. It is called a ternary operator because it takes three operands to do any task. If the conditional expression that is used in a ternary statement returns true, then it executes a particular statement; otherwise, it executes another statement. The ‘?’ and ‘:’ symbols are used to define the ternary statement. The ternary operator is better to use for solving a very simple task in place of ‘if’ statement. Different uses of the ternary operator in java are shown in this tutorial.

  • Java List Tutorial

    The list is a useful way to store ordered multiple data like an array in Java. But It has many features that do not exist in the array. The list is called an ordered collection, and it is an interface that extends the Collection interface. It cannot create an object like an array, but it implements four classes to use the functionalities of the list. These classes are ArrayList, LinkList, Stack, and Vector. These are defined in the Java Collection Framework. ArrayList and LinkList classes are widely used in Java. The insert, update, delete, and search operations are done in the list based on the index-value like an array. It can store both null and duplicate values. java.util package contains the ‘list’ interface, and it will require to import to use the ‘list’. How the different methods of the ‘list’ can be used in Java are shown in this tutorial.

  • Java switch case statement

    ‘switch-case’ statement can be used as the alternative of ‘if-else-if’ statement where different conditions are defined in different ‘if’ statements. If the first condition returns false, then check the second condition and so on. Defining multiple conditions using this way is a very lengthy process. The same task can be done very simply by using a switch-case statement. It contains different execution parts and executes the statement where the particular value matches with any ‘case’ value. The switch statement can be applied to the various types of primitive data such as int, char, byte, etc. The different uses of switch-case statements in Java are explained in this tutorial.

  • Fortran newsletter: August 2020

    Welcome to the August 2020 edition of the monthly Fortran newsletter. The newsletter comes out on the first calendar day of every month and details Fortran news from the previous month.

  • Which Is The Best WordPress Caching Plugin?

    I’ve talked about how I optimise this site before, but I wanted to do some digging into which is the best WordPress caching plugin. I’ve tested some of the most popular caching plugins available, and decided to write this post with the results.

  • 10 Tips to Defeat Your Fear of Coding

    Why do you fear to code? Is it because you’re afraid to mess up or break something? is it because the technical concepts are confusing for you? is it because of so many overwhelming concepts in programming? Whatever your answer is…but, the most pleasurable thing for a programmer is the moment when they see their code run in the blink of an eye and the magic happens on the screen.

    Coding is intimidating, coding is overwhelming but if anyone defeats the fear of coding then it’s also one of the most enjoyable and fun things to do. Some people who enjoy coding get addicted to it and they start spending hours either trying different programming strategies or building the new applications, or solving some coding-related challenging problems. In this blog, we will discuss the top reasons why people fear of coding and tips to overcome this problem.

  • July 2020: webmail, custom MDA and python framework work

    The issue is that folder pinning is far from being the only thing I want to do with incoming mails at delivery time, and shoving everything in the mda executable is not ideal. I rewrote the MDA to have it handle delivery only and call an API to determine where it should do it, this let me play with a ton of ideas on a custom API server without tweaking the working MDA. At the end of the day, I had incoming mails processed by various text analyzers, attachments automatically extracted and put in an s3 backing store, and mails indexed for fast lookups.

    I will not expand much on how I did this as I think it makes a nice topic for a dedicated article on custom MDA, and fun stuff you can easily do with them to provide some awesome features on your mail setup.

  • Intel ISPC 1.14 Released With Initial GPU Offloading Support

    A few days back we wrote of Intel's ISPC compiler landing GPU code generation support for their UHD/Iris/Xe Graphics from Gen9 Skylake and beyond. Following that code being merged, ISPC 1.14.0 was quickly tagged.

    Intel ISPC 1.14.0 was released shortly after the GPU support code landed for the Implicit SPMD Program Compiler. See more details on the GPU code landing in the aforelinked article. It's an exciting milestone and another great Intel software achievement playing into their oneAPI efforts. ISPC 1.14.0 continues offering great first-rate CPU support across all platforms. All of these open-source goodies remain open-source as one of Intel's continued strong points.

Python Programming

Filed under
Development
  • Verbose regular expressions, now you have one and a bit problems

    Regular expressions (regexes) are famously hard to read or write. There are some techniques you can use to improve this. Like any other code you write, your regular expression patterns should

    include comments

    break apart large blocks into smaller related sections

    use named variables and identifiers

  • Talk Python to Me: #275 Beautiful Pythonic Refactorings

    Do you obsess about writing your code just the right way before you get started? Maybe you have some ugly code on your hands and you need to make it better. Either way, refactoring could be your ticket to happier days! On this episode, we'll talk through a powerful example of iteratively refactoring some code until we eventually turn our ugly duckling into a Pythonic beauty.

  • Python Monthly July 2020

    Being a Python developer is a fantastic career option. Python is now the most popular language with lots of growing job demand (especially in the fields of Web, Data Science and Machine Learning). You have many job opportunities, you can work around the world, and you get to solve hard problems. One thing that is hard, however, is staying up to date with the constantly evolving ecosystem. You want to be a top-performing python developer, coder, programmer, software developer, but you don’t have time to select from hundreds of articles, videos and podcasts each day.

    This monthly newsletter is focused on keeping you up to date with the industry, keeping your skills sharp, without wasting your valuable time. I will be sharing the most important articles, podcasts and videos of the month. Think Tim Ferriss and the Pareto Principle (80/20 rule) meeting the Software Development world. What’s the 20% that will get you 80% of the results?

  • PSF GSoC students blogs: [Week 9] Check-in

Programming: Python, Java, and Perl

Filed under
Development
  • Time spent on the moon

    This post will illustrate two things: the amount of time astronauts have spent on the moon, and how to process dates and times in Python.

    I was curious how long each Apollo mission spent on the lunar surface, so I looked up the timelines for each mission from NASA. Here’s the timeline for Apollo 11, and you can find the timelines for the other missions by making the obvious change to the URL.

  • Java Constructor Tutorial

    The constructor tool is a very important and useful method used for object-oriented programming. It is not mandatory to declare a constructor for any class, and this tool is mainly used to initialize the object of the class at the time of object creation. The constructor does not work like other normal methods. Rather, the constructor tool is called automatically when an object is declared, and it allocates the memory location for the object. This tutorial will show you how different types of user-defined constructors can be implemented and used in Java class programming.

  • Java if, if-else, if-else-if

    The use of a control flow statement is a very common requirement for solving any programming problem. It is mainly used to generate a particular output based on the particular condition. This statement makes the decision based on the Boolean value return by the statement. The declaration of the if-else-if statement is quite similar to other programming languages like C, C++, etc. The uses of different ‘if’ statements in Java are explained in this tutorial.

  • Java Array Tutorial

    The array object is used to store multiple data in Java. This tool allocates particular memory locations serially based on the array size. An array object in Java can store any one type of primitive or non-primitive data. That means that it can store a list of integers, strings, objects, etc. So, all the values of an array can be data of a particular datatype. The index value of an array starts from 0, as in other programming languages. Both single- and multi-dimensional arrays can be declared in Java. A list of data can be organized and sorted very easily by using an array. The major limitation of arrays is that the size of the array is fixed and it cannot be changed at the run-time. This tutorial will show how array objects can be declared, initialized, accesses, and modified.

  • Java for loop

    Sometimes, it requires to execute some statements repeatedly for getting any particular output to solve a problem, and this type of task can be done easily by using any type of loop. Generally, three types of loops are supported by most of the programming languages. The ‘for’ loop is one of them. This loop is very useful for doing different types of programming tasks. How ‘for’ loop can be used in Java for multiple purposes is explained in this tutorial.

  • Perl7 is a fork of values

    Before reading this, you should watch this video where Bryan Cantrill explains a value-conflict between Joyent and Node.js, I believe we have a similar problem.

  • 8 tips for running a virtual hackathon

    Hackathons are events where developers, product managers, designers, and others come together to tackle problems over a short time period. They have become increasingly popular over the last 15 years after OpenBSD ran the first hackathon in June 1999.

    These events provide several benefits—greater engagement across the community, innovation and new ideas, awareness for the organizers, and networking opportunities for participants.

    Mattermost, an open source messaging platform for DevOps teams, has also run and participated in several hackathons to engage with the open source community. So far, in 2020, we participated in a hackathon to overcome the challenges of COVID-19 and ran a hackfest to create open source chatbots for developer workflows. Both had thousands of participants and were run completely virtually.

  • 2020 Call for Code Global Challenge submissions are closed

    We want to extend our deep appreciation to everyone who answered, supported, and championed the 2020 Call for Code Global Challenge. From building solutions to take on the impacts of climate change, to swiftly responding to the surge of the COVID-19 pandemic, we applaud you for your unwavering commitment to fighting back against these difficult times. This year has been unprecedented on many levels, but what we have seen from the Call for Code community is that when the chips are down, your innovation and problem-solving prowess rises up.

    As of July 31, submissions for the 2020 Call for Code Global Challenge are closed, but another chapter awaits — and it needs your help. Whether you are looking to take on COVID-19, climate change, natural disasters, or other pressing social issues, your code has a vital role to play. Brush up on your cloud skills while making a real difference and get involved with Call for Code open source projects supported by The Linux Foundation. Through your contributions, you could be recognized as a community champion. Visit Call for Code on Monday, August 3, and we’ll have details for you on how you can get involved and start making an impact in these projects. I would also encourage you to continue development on your own projects and to share your progress and any help needed in the Slack channel. Your contributions can have global impact well beyond the lifecycle of a single challenge.

  • HOW TO USE MALLOC FUNCTION IN C

    Malloc is a built-in function declared in the header file . Malloc is the short name for ‘memory allocation’ and is used to dynamically allocate a single large block of contiguous memory according to the size specified. There are two types of memory allocation static and dynamic. Static memory allocation is done at compilation time, and it doesn’t change at runtime. Dynamic memory allocation is allocating memory at runtime for this; we use malloc. Now the point is where from this memory is coming, so all dynamic requirements in C are fulfilled from the heap memory.

  • How to use pipe function in C language

    A pipe is a medium for communication between processes. One process writes data to the pipe, and another process reads the data from the pipe. In this article, we will see how the pipe() function is used to implement the concept using C language.

  • What every developer should know about consistency

    But we don’t live an ideal world - your request needs to reach the data store, which then needs to process the request and finally send back a response to you. All these actions take time and are not instantaneous: [...]

Programming With Python

Filed under
Development

  • Top 10 Python Libraries that Every Data Scientist Must Know

    Python is one of the most popular and widely known programming languages that has replaced many programming languages in the industry. It is one of the most loved programming languages that data science professionals use more because it is an ocean of libraries.

    Python is known as the beginner’s level programming language because of its simplicity and easiness, its programming syntax is simple to learn and is of high level compared to C, Java, and C++.

    For more accurate algorithms and coding, Analytics Insight compiles the top 10 Python libraries, here is the list-

  • Why Python is not the programming language of the future -- a response

    See https://towardsdatascience.com/why-python-is-not-the-programming-language-of-the-future-30ddc5339b66.

    This is an interesting article with some important points. And. It has some points that I disagree with.

    Speed. This is a narrow perspective. numpy and pandas are fast, dask is fast. A great many Python ecosystem packages are fast. This complaint seems to be unsupported by evidence.

    Dynamic Scoping Rules. This actually isn't the problem. The problem is something about not being able to change containing scopes. First, I'm not sure changing nesting scopes is of any value at all. Second, the complaint ignores the global and nonlocal statements. The vague "leads to a lot of confusion" seems unsupported by any evidence.

    Lambdas. The distinction between expressions and statements isn't really a distinction in Python in general, only in the bodies of lambdas. I'm not sure what the real problem is, since a lambda with statements seems like a syntactic nightmare better solved with an ordinary, named function.

    Whitespace. Sigh. I've worked with many people who get the whitespace right but the {}'s wrong in C++. The code looks great but doesn't work. Python gets it right. The code looks great and works.

  • How to Extract Sentences from Text Using the NLTK Python Module

    The Natural Language Toolkit (NLTK) is a language and text processing module for Python. NLTK can analyze, process, and tokenize text available in many different languages using its built-in library of corpora and large pool of lexical data. Python is one of the most popular programming languages used in data science and language processing, mainly due to the versatility of the language and the availability of useful modules like NLTK. This article will explain how to extract sentences from text paragraphs using NLTK. The code in this guide has been tested with Python 3.8.2 and NLTK 3.4.5 on Ubuntu 20.04 LTS.

  • I Wrote an Online Escape Game

    I’m an escape room enthusiast, some may say addict, and for the past few months I’ve been missing it. A friend of mine, a true addict with over 500 rooms to his name, started organizing online competitions. After playing a few of the online games, I thought, “I want to build my own.”

    So for that past couple of months I’ve been writing an online escape game — which you could say is a web puzzle game, but with the exciting flare of escape! It’s suitably called “Prototype”. I assumed that name would let me get away with some rough edges. This will be an evolving project, but the first installment is a success.

    I’m proud of my game. I want to tell you how I made it.

  • Newsletter August 2020

    This month we kept refining existing features to improve the user experience, smooth workflows and empower users.

  • Python ASGI CLI
  • Weekly Python StackOverflow Report: (ccxxxviii) stackoverflow python report
  • A Hundred Days of Code, Day 023, Day 24 - Tiny Utility to do comparative DNS Lookups

Programming Leftovers

Filed under
Development
  • New Tax Collection Tech Replaces 50-Year-Old System

    Fried said recent updates to the old system had fallen mainly to a single employee who had worked for the office for most of the five decades the system had been in place - and finding another programmer with similar skills would have been challenging. The old system used the COBOL programming language and a traditional mainframe computer, whereas the new system is cloud-based and can be managed entirely remotely.

  • Call for Code Daily: tech for the disabled, chatbots, and the final push to submission close
  • Godot Release candidate: 3.2.3 RC 3

    Godot 3.2.2 was released on June 26 with over 3 months' worth of development, including many bugfixes and a handful of features. Some regressions were noticed after the release though, so we decided that Godot 3.2.3 would focus mainly on fixing those new bugs to ensure that all Godot users can have the most stable experience possible.

    Here's a third Release Candidate for the upcoming Godot 3.2.3 release. Please help us test it to ensure that no new regressions have slipped through code review and testing.

    Note: The previous 3.2.3 RC 2 was actually not built from the intended commit, and reflected the same changeset as RC 1. Tests made on RC 2 are still valid and useful, but did not help validate the very latest commits, hence this third release candidate. The changes new in this build are thus the ones made between RC 1 and RC 3.

  • What Is Fuzz Testing? A Guide.

    Not all software testing techniques have origin stories, but fuzz testing does: On a stormy evening in 1988, Barton Miller, a computer science professor at the University of Wisconsin-Madison, was using a dial-up connection to work remotely on a Unix computer from his apartment. He was attempting to feed input information into a computer program, only to see the program repeatedly crash.

    He knew that the electrical noise from the thunderstorm was distorting his inputs into the program as they traveled through the phone line. The distorted inputs were different from what the software needed from the user, resulting in errors. But as he describes in his book, Fuzzing for Software Security Testing and Quality Assurance, Miller was surprised that even programs he considered robust were crashing as a result of the unexpected input, instead of gracefully handling the error and asking for input again.

    [...]

    Miller’s concern about what he saw during his thunderstorm experience extended beyond the annoyance of having applications crash unexpectedly. Applications that are not able to handle unexpected input also pose security concerns. Errors that aren’t handled by the program are vulnerabilities that attackers can exploit to hack into systems.

    In fact, attackers often use fuzz testing tools to locate vulnerabilities in applications, according to Jared DeMott, the CEO of VDA Labs security testing company and the instructor of several Pluralsight courses on testing.

    “If you follow what we call a secure development lifecycle… fuzzing is one piece of the lifecycle that relates to the testing portion of it,” DeMott said.

  • [Old] Infinite scrolling on the web is complexity layered on top of complexity layered on top of complexity

    Does all that stuff sound hard? Sorry, but it’s worse.

Python Programming

Filed under
Development

  • Python 3.8.5 : PyEphem astronomy library for Python - part 001.
  • Creating multiple windows in PyQt5/PySide2

    In an earlier tutorial we've already covered how to open dialog windows. These are special windows which (by default) grab the focus of the user, and run their own event loop, effectively blocking the execution of the rest of your app.

    However, quite often you will want to open a second window in an application, without interrupting the main window -- for example, to show the output of some long-running process, or display graphs or other visualizations. Alternatively, you may want to create an application that allows you to work on multiple documents at once, in their own windows.

    It's relatively straightforward to open new windows but there are a few things to keep in mind to make sure they work well. In this tutorial we'll step through how to create a new window, and how to show and hide external windows on demand.

  • Real Python Podcast Interview

    I am on the latest Real Python podcast where I talk about my ReportLab book, wxPython, and lots more.

    The podcast episode that I take part in is called Episode 20: Building PDFs in Python with ReportLab. Check it out and feel free to ask questions in the comments.

  • Real Python Episode 20: Building PDFs in Python with ReportLab

    Have you wanted to generate advanced reports as PDFs using Python? Maybe you want to build documents with tables, images, or fillable forms. This week on the show we have Mike Driscoll to talk about his book “ReportLab - PDF Processing with Python.”

    Mike is an author of multiple books about Python, and has recently re-written his Python 101 book. He is also a member of the Real Python team and has written several articles for the site. Along with our discussion about ReportLab and PDFs, Mike talks about being a self-published author. We also talk briefly about his favorite Python GUI framework.

  • Bring your Mycroft AI voice assistant skill to life with Python

    In the first two articles of this series on Mycroft, an open source, privacy-focused digital voice assistant, I covered the background behind voice assistants and some of Mycroft's core tenets. In Part 3, I started outlining the Python code required to provide some basic functionality to a skill that adds items to OurGroceries, a grocery list app. And in Part 4, I talked about the different types of intent parsers (and when to use each) and expanded the Python code so Mycroft could provide audible feedback while working through the skill.

    In this fifth article, I will walk through the remaining sections required to build this skill. I'll talk about project dependencies, logging output for debugging purposes, working with the Mycroft web UI for setting values (such as usernames and passwords), and how to get this information into your Python code.

  • PSF GSoC students blogs: Week 5 Blog Post
  • PSF GSoC students blogs: Week 8

The Rust Programming Language Blog: Announcing Rust 1.45.1

Filed under
Development
Moz/FF

The Rust team is happy to announce a new version of Rust, 1.45.1. Rust is a programming language that is empowering everyone to build reliable and efficient software.

Read more

Intel ISPC Compiler and AMD's ROCm AOMP Compiler

Filed under
Development
Hardware

  • Intel ISPC Compiler Lands GPU Code Generation Support

    Intel's open-source ISPC (the Intel SPMD Program Compiler) now has preliminary support for code generation targeting their GPUs.

    The Intel SPMD Program Compiler that is focused on C programming with extensions around single program, multiple data programming concepts for leveraging SSE and AVX is now seeing initial support for exploiting the potential of Intel graphics processors.

    ISPC has long worked well for exploiting the potential of AVX/AVX2 and AVX-512 as well as SSE4 while now this SPMD program compiler can begin targeting Intel Gen/Xe Graphics.

    The ISPC support relies upon Intel's oneAPI Level Zero for managing devices and other orchestration.

  • AMD's ROCm AOMP Compiler 11.7-1 Brings OMPD Support, ROCgdb

    The AMD ROCm developer tool engineers have released a new build of AOMP, their LLVM Clang compiler downstream that adds OpenMP support for Radeon GPU offloading until that support ultimately makes it back upstream into LLVM/Clang.

    The ROCm engineers working on AOMP have been doing a great job on keeping their code re-based against the newest upstream LLVM code, which with this release is from just two weeks ago prior to the LLVM 11.0 branching. The AMD developers have been working on upstreaming more of their LLVM/Clang changes albeit that is a lengthy process especially with new Radeon OpenMP code continuing to be written and fine tuned.

Syndicate content

More in Tux Machines

libinput 1.16.0

libinput 1.16.0 is now available.

No significant changes since the second RC, so here's slightly polished RC1
announcement text.

This has been a long cycle, mostly because there weren't any huge changes on
the main development branch and a lot of the minor annoyances have found
their way into the 1.15.x releases anyway.

libinput now monitors timestamps of the events vs the current time when
libinput_dispatch() is called by the compositor. Where the difference
*may* result in issues, a (rate-limited) warning is printed to the log.
So you may see messages popping up in the form of
  "event processing lagging behind by XYZms, your system is too slow"
This is a warning only and has no immediate effect. Previously we would only
notice (and warn about) this when it affected an internal timer. Note that
these warnings do not show an issue with libinput, it shows that the the
compositor is not calling libinput_dispatch() quick enough.

The wheel tilt axis source was deprecated. No device ever had the required
udev properties set so we should stop pretending we support this.

Touchpads now support the "flat" acceleration profile. The default remains
unchanged and this needs to be selected in the configuration interface. The
"flat" profile applies a constant factor to movement deltas (1.0 for the
default speed setting).

Events from lid or tablet-mode switches that are known to libinput as being
unreliable are now filtered and no longer passed to the caller.
This prevents callers from receiving those known-bogus events and having to
replicate the same heuristics to identify unreliable devices that libinput
employs internally.

A new "libinput analyze" debugging tool is the entry tool for analysing
various aspects of devices. Right now the only tool is
"libinput analyze per-slot-delta" which can be used to detect pointer jumps
in a libiput record output. This tool used to live elsewhere, it was moved
to libinput so that reporters can easier run this tool, reducing the load on
the maintainers.

The tools have seen a few minor improvements, e.g.
- "libinput record touchpad.yml" does the right thing, no explicit --output
  argument required
- libinput measure touchpad-pressure has been revamped to be a bit more
  obvious
- libinput measure touchpad-size has been added (as replacement for the
  touchpad-edge-detector tool)
- libinput measure fuzz has been fixed to work (again and) slightly more
  reliable

The libinput test suite has been fixed to avoid interference with the
currently running session. Previously it was virtually impossible to work
while the test suite is running - multiple windows would pop up, the screen
would blank regularly, etc.

And of course a collection of fixes, quirks and new bugs.

As usual, see the git shortlog for details.

Diego Abad A (1):
      FIX: typo on building documentation

Peter Hutterer (2):
      test: semi-fix the switch_suspend_with_touchpad test
      libinput 1.16.0

git tag: 1.16.0
Read more Also: >Libinput 1.16 Released - Ready To Warn You If Your System Is Too Slow

18 Frameworks, Libraries, and Projects for Building Medical Applications

Open-source is not just a license or a code-based that left free on an online repository, It's a complete concept which comes with several advantages. Moreover, the most advantage you can get from Open-source is beyond the open-code it's FREEDOM; freedom to use or re-shape it as you see fit within your project commercial or otherwise, and that depends on the license of course. You are free from the headache of license conflict legal problems but also from the dilemma of dealing with restrections and limitations which come with property licenses. You are free from the system lock-in schemes, furthermore, you own your data, and freedom to customize the software as your structure requires and workflow demands. The Community: The Open-source project gains a powerful community as they gain users, the community users vary between advanced users, end-users, developers and end-users on decision-making level. Many of the community users are providing quality inputs from their usage and customized use-case and workflow or test-runs, Furthermore, they always have something to add as new features, UI modification, different usability setup, and overall introducing new workflows and tools, and That's what makes the progress of the open-source different than non-free solutions. While, Good community means good support, The community is a good resource to hire advanced users, developers, and system experts. It also provides alternative options when hiring developers. Unlike non-free software which are not blessed with such communities and where the options there are limited, The rich open-source community provides rich questions and answers sets that contributed by users from all around the world. Higher education value for the in-house team The open-source concept itself provides educational value, I owe most of what I know to open-source communities.The access to the source code and open-channels communication with the core developers is the best educational value any developer can get. Read more

Android Leftovers

Python Programming