Language Selection

English French German Italian Portuguese Spanish

About Tux Machines

Wednesday, 22 Jan 20 - Tux Machines is a community-driven public service/news site which has been around for over a decade and a half and primarily focuses on GNU/LinuxSubscribe now Syndicate content

Search This Site

Quick Roundup

Lakka 2.3.2 with RetroArch 1.8.4

The Lakka team wishes everyone a happy new year and welcomes 2020 with a new update and a new tier-based releases system! This new Lakka update, 2.3.2, contains RetroArch 1.8.4 (was 1.7.2), some new cores and a handful of core updates. Read more

It is time to end the DMCA anti-circumvention exemptions process and put a stop to DRM

Although it is accurate, there's one aspect of the process that is missing from that description: the length. While the process kicks off every three years, the work that goes into fighting exemptions, whether previously granted or newly requested, has a much shorter interval. As you can see from the timeline of events from the 2018 round of the exemptions process, the process stretches on for months and months. For each exemption we have to prepare research, documents, and our comments through wave after wave of submission periods. For the 2018 exemptions round, the first announcements from the United States Copyright Office were in July of 2017, on a process that concluded in October of 2018. Fifteen months, every three years. If you do the math, that means we're fighting about 40% of the time just to ensure that exemptions we already won continue, and that new exemptions will be granted. If the timeline from the last round holds up, then we're only a few short months away from starting this whole circus back up again. Describing it as a circus seems an appropriate label for the purpose of this whole process. It's not meant to be an effective mechanism for protecting the rights of users: it's a method for eating up the time and resources of those who are fighting for justice. If we don't step up, users could lose the ability to control their own computing and software. It's like pushing a rock up a mile-long hill only to have it pushed back down again when we've barely had a chance to catch our breath. Read more

Programming With Python: PyQt5, “Effective Python” and Wing Python IDE

  • PyQt5 plotting with matplotlib, embed plots in your GUI applications

    In the previous part we covered plotting in PyQt5 using PyQtGraph. That library uses the Qt vector-based QGraphicsScene to draw plots and provides a great interface for interactive and high performance plotting. However, there is another plotting library for Python which is used far more widely, and which offers a richer assortment of plots — Matplotlib. If you're migrating an existing data analysis tool to a PyQt GUI, or if you simply want to have access to the array of plot abilities that Matplotlib offers, then you'll want to know how to include Matplotlib plots within your application. In this tutorial we'll cover how to embed Matplotlib plots in your PyQt applications Many other Python libraries — such as seaborn and pandas— make use of the Matplotlib backend for plotting. These plots can be embedded in PyQt5 in the same way shown here, and the reference to the axes passed when plotting. There is a pandas example at the end of this tutorial.

  • “Effective Python” by Brett Slatkin book review

    Let’s start with the target audience for this book. I’d recommend it to the people who are using Python at least several months and are feeling good with the basics. If you need more practical advice you are definitely welcome.

  • Wing Tips: Using Black and YAPF Code Reformatting in Wing Python IDE

    ing version 7.2 has been released, so in the next couple Wing Tips we'll take a look at some of its new features. Wing 7.2 expands the options for automatic code reformatting to include also Black and YAPF, in addition to the previously supported autopep8. Using one of these allows you to develop nicely formatted uniform-looking code without spending time manually adjusting the layout of code.

Videos/Audiocasts/Shows: System76 Serval WS, Linux Headlines, FLOSS Weekly and LCARS System 47 Screensaver on Linux

  • System76 Serval WS Workstation Laptop Full Review

    The System76 Serval WS laptop is crazy powerful, with a desktop CPU and a powerful Nvidia video card. In this review, I show off the hardware, weigh the pros and cons, and give my overall thoughts.

  • 2020-01-22 | Linux Headlines

    Major improvements come to Wine, Debian makes a significant change post systemd debate, and the world’s most popular open source API gateway gets an update.

  • FLOSS Weekly 563: Apprentice Program

    The Apprentice Program is an initiative to train and mentor female junior developers in open source, creating a pipeline of talent and changing the ratio in tech.

  • LCARS System 47 Screensaver on Linux | Install and Service Creation

    This video goes over the infamous LCARS System 47 Screensaver on Linux. You have seen it in my background and now I show how to use an old 90s screensaver scr file on Linux. I then show how to make a systemd service to activate the screensaver when you are idle for a set amount of time.

Events: LCA Talks and ChefConf 2020 CFP

Filed under
OSS
  • The dark side of expertise

    Everyone has expertise in some things, which is normally seen as a good thing to have. But Dr. Sean Brady gave some examples of ways that our expertise can lead us astray, and actually cause us to make worse decisions, in a keynote at the 2020 linux.conf.au. Brady is a forensic engineer who specializes in analyzing engineering failures to try to discover the root causes behind them. The talk gave real-world examples of expertise gone wrong, as well as looking at some of the psychological research that demonstrates the problem. It was an interesting view into the ways that our brains work—and fail to work—in situations where our expertise may be sending our thoughts down the wrong path.

    Brady began his talk by going back to 1971 and a project to build a civic center arena in Hartford, Connecticut in the US. The building was meant to hold 10,000 seats; it had a large roof that was a "spiderweb of steel members". That roof would be sitting on four columns; it was to be built on the ground and then lifted into place.

  • Poker and FOSS

    He introduced poker with a definition: "Poker is a gambling game of strategy played by people for money, using cards". The order of the terms in that definition is important, he said. In online poker, though, the "people" element is weakened because you can't see and directly interact with the other people you are playing with. So, unlike real-life poker, online poker is more about sociology than psychology; serious players track the trends of the player base as a whole, rather than trying to recognize the quirks of a particular person.

    That means online poker is "really about money". In order to succeed, one has to develop some weird views of the value of money. Even in games with relatively small stakes, players can win or lose a few thousand dollars in a session; in games with "nosebleed stakes", a player could be up or down by a million dollars in an evening. The game is particularly popular in the US, UK, and Australia, he said; it is played online and in face-to-face games in people's homes or at casinos.

    Poker became mainstream in the late 1990s, largely due to the "Late Night Poker" television series in the UK. There are a lot of different kinds of poker games, but the show focused on no-limit Texas hold 'em, which is the most "high drama of poker games" so it was well-suited to television. The show pioneered the use of a hole-card camera, so that viewers could see the two unseen cards each player was dealt. That innovation allowed viewers and commentators to analyze the choices that the players were making; without seeing the hole cards, watching other people play poker is about as interesting as "watching paint dry", Kuhn said.

    He did not go into the rules of poker much in the talk; a lot of it is not really germane to his topic. The important things to note are that it is a zero-sum, partial-information game where players are playing against each other and not the house (as they are in most other gambling games). It is a game of skill—better players win more over time—but there is a huge element of chance. In order for the house to make any money (casinos are not charities after all), a small percentage of the bets are kept by the house, which is usually called the "rake".

    All of that made poker an ideal candidate for online play. He put up a screen shot of a online poker game from 1999 and noted that all of today's poker sites have a similar look. It features a simple user interface that allows players to quickly and easily see the cards and make their bets. Most online poker players do not want sophisticated graphics and the like.

    So poker is relatively easy to write an online system for; there are a few "tricky bits", but in comparison to, say, an online multiplayer role-playing game, there are only minimal timing or network-delay issues to handle. It is completely turn-based and the state of the game is easily maintained on the server side. In addition, the client does not need any secret information, so the ability to cheat by extracting secrets from the data sent back and forth is eliminated—or, at least, it should be. The main problem for these systems is scaling them to accommodate as many tables as there is demand for. Serious players want to play in multiple games at once and the house maximizes its revenue by the number of games it can run.

    The "watershed moment" for online poker came in 2003 when Chris Moneymaker—his actual birth name, as has been documented—joined into a "satellite tournament" for the World Series of Poker (WSoP). Moneymaker paid $86 to enter the tournament and ended up winning the $10,000 entry into the main WSoP event in Las Vegas; he won that tournament and received $2.5 million for doing so. That created a huge boom in online poker, Kuhn said.

  • ChefConf 2020 CFP – Make the Work Flow

    So hopefully you’ve taken the time to submit something. Lots of folks have, and thank you! Maybe you’re still not sure what you could talk about at ChefConf? Maybe you’ve got some interesting people stories from your time in the automation mines.

    Over the years we’ve categorized these talks as “DevOps” or “People, Processes, and Teams”, but the real guts of the discussion centers on how tooling helps people get their jobs done better, as well as how new theories in teamwork and product delivery impact technical teams. How we work together sets the stage for how we succeed together.

Graphics: Dav1d AV1 Acceleration, AMDVLK and Sway 1.4

Filed under
Graphics/Benchmarks
  • Dav1d AV1 Decoder Begins Adding AVX-512 Optimizations For Intel Ice Lake

    Ahead of the forthcoming dav1d 0.6 release, this open-source AV1 video decoder has begun implementing AVX-512 optimizations targeting Intel Ice Lake processors.

    The work has begun on AVX-512 optimizations focused on Ice Lake for this already quite speedy AV1 video decoder.

  • AMDVLK 2020.Q1.1 Brings Some Performance Tuning, Still On Vulkan 1.1

    Out this morning is AMDVLK 2020.Q1.1 as AMD's first official open-source Vulkan driver code drop of the new year.

    While the Radeon Software Adrenalin Edition driver for Windows was recently updated with Vulkan 1.2 support, this AMDVLK release is still on Vulkan 1.1 but at least updated against API 1.1.130 compliance. Hopefully their next code drop will have the Vulkan 1.2 support officially exposed. Meanwhile Mesa's RADV Radeon Vulkan driver has been supporting Vulkan 1.2 since hours after the specification's unveil.

  • Sway 1.4 Wayland Compositor Brings VNC Support, Initial Bits For MATE Panel Support

    Sway 1.4 is out today as the newest version of this i3-inspired Wayland compositor that has a growing following.

    Sway 1.4 consists of nearly 200 changes from over 50 contributors, showing the significant progress of this Wayland compositor that has been quick to pick-up features over the past few years.

LWN and Oracle on Linux 5.x Kernel

Filed under
Linux
  • Grabbing file descriptors with pidfd_getfd()

    In response to a growing desire for ways to control groups of processes from user space, the kernel has added a number of mechanisms that allow one process to operate on another. One piece that is currently missing, though, is the ability for a process to snatch a copy of an open file descriptor from another. That gap may soon be filled, though, if the pidfd_getfd() system-call patch set from Sargun Dhillon is merged.
    One thing that is possible in current kernels is to open a file that another process also has open; the information needed to do that is in each process's /proc directory. That does not work, though, for file descriptors referring to pipes, sockets, or other objects that do not appear in the filesystem hierarchy. Just as importantly, though, opening a new file in this way creates a new entry in the file table; it is not the entry corresponding to the file descriptor in the process of interest.

    That distinction matters if the objective is to modify that particular file descriptor. One use case mentioned in the patch series is using seccomp to intercept attempts to bind a socket to a privileged port. A privileged supervisor process could, if it so chose, grab the file descriptor for that socket from the target process and actually perform the bind — something the target process would not have the privilege to do on its own. Since the grabbed file descriptor is essentially identical to the original, the bind operation will be visible to the target process as well.

    For the sufficiently determined, it is actually possible to extract a file descriptor from another process now. The technique involves using ptrace() to attach to that process, stop it from executing, inject some code that opens a connection to the supervisor process and sends the file descriptor via an SCM_RIGHTS datagram, then running that code. This solution might justly be said to be slightly lacking in elegance. It also requires stopping the target process, which is likely to be unwelcome.

  • configfd() and shifting bind mounts

    The 5.2 kernel saw the addition of an extensive new API for the mounting (and remounting) of filesystems; this article covered an early version of that API. Since then, work in this area has mostly focused on enabling filesystems to support this API fully. James Bottomley has taken a look at this API as part of the job of redesigning his shiftfs filesystem and found it to be incomplete. What has followed is a significant set of changes that promise to simplify the mount API — though it turns out that "simple" is often in the eye of the beholder.
    The mount API work replaces the existing, complex mount() system call with a half-dozen or so new system calls. An application would call fsopen() to open a filesystem stored somewhere or fspick() to open an already mounted filesystem. Calls to fsconfig() set various parameters related to the mount; fsmount() is then called to mount a filesystem within the kernel and move_mount() to attach the result to the filesystem hierarchy somewhere. There are a couple more calls to fill in other parts of the interface as well. The intent is for this set of system calls to be able to replace mount() entirely with something that is more flexible, capable, and maintainable.

    Back in November, Bottomley discovered one significant gap with the new API: it is not possible to use it to set up a read-only bind mount. The problem is that bind mounts are special; they do not represent a filesystem directly. Instead, they can be thought of as a view of a filesystem that is mounted elsewhere. There is no superblock associated with a bind mount, which turns out to be a problem where the new API is concerned, since fsconfig() is designed to operate on superblocks. An attempt to call fsconfig() on a bind mount will end up modifying the original mount, which is almost certainly not what the caller had in mind. So there is no way to set the read-only flag for a bind mount.

    David Howells, the creator of the new mount API, responded that what is needed is yet another system call, mount_setattr(), which would change attributes of mounts. That would work for the read-only case, Bottomley said, but it falls down when it comes to more complex situations, such as his proposed UID-shifting bind mount. Instead, he said, the file-descriptor-based configuration mechanism provided by fsconfig() is well suited to this job, but it needs to be made more widely applicable. He suggested that this interface be made more generic so that it could be used in both situations (and beyond).

  • Accelerating netfilter with hardware offload, part 1

    Supporting network protocols at high speeds in pure software is getting increasingly difficult, with 25-100Gb/s interfaces available now and 200-400Gb/s starting to show up. Packet processing at 100Gb/s must happen in 200 cycles or less, which does not leave much room for processing at the operating-system level. Fortunately some operations can be performed by hardware, including checksum verification and offloading parts of the packet send and receive paths.

    As modern hardware adds more functionality, new options are becoming available. The 5.3 kernel includes a patch set from Pablo Neira Ayuso that added support for offloading some packet filtering with netfilter. This patch set not only adds the offload support, but also performs a refactoring of the existing offload paths in the generic code and the network card drivers. More work came in the following kernel releases. This seems like a good moment to review the recent advancements in offloading in the network stack.

  • Linux Kernel Developments Since 5.0: Features and Developments of Note

    Last year, I covered features in Linux kernel 5.0 that we thought were worth highlighting. Unbreakable Enterprise Kernel 6 is based on stable kernel 5.4 and was recently made available as a developer preview. So, now is as good a time as any to review developments that have occurred since 5.0. While the features below are roughly in chronological order, there is no significance to the order otherwise.

    BPF spinlock patches
    BPF (Berkeley Packet Filter) spinlock patches give BPF programs increased control over concurrency. Learn more about BPF and how to use it in this seven part series by Oracle developer Alan Maguire.

    Btrfs ZSTD compression
    The Btrfs filesystem now supports the use of multiple ZSTD (Zstandard) compression levels. See this commit for some information about the feature and the performance characteristics of the various levels.

    Memory compaction improvements
    Memory compaction has been reworked, resulting in significant improvements in compaction success rates and CPU time required. In benchmarks that try to allocated Transparent HugePages in deliberatly fragmented virtual memory, the number of pages scanned for migration was reduced by 65% and the free scanner was reduced by 97.5%.

Lakka 2.3.2 with RetroArch 1.8.4

Filed under
GNU
Linux

The Lakka team wishes everyone a happy new year and welcomes 2020 with a new update and a new tier-based releases system!

This new Lakka update, 2.3.2, contains RetroArch 1.8.4 (was 1.7.2), some new cores and a handful of core updates.

Read more

It is time to end the DMCA anti-circumvention exemptions process and put a stop to DRM

Filed under
GNU
Legal

Although it is accurate, there's one aspect of the process that is missing from that description: the length. While the process kicks off every three years, the work that goes into fighting exemptions, whether previously granted or newly requested, has a much shorter interval. As you can see from the timeline of events from the 2018 round of the exemptions process, the process stretches on for months and months. For each exemption we have to prepare research, documents, and our comments through wave after wave of submission periods. For the 2018 exemptions round, the first announcements from the United States Copyright Office were in July of 2017, on a process that concluded in October of 2018. Fifteen months, every three years. If you do the math, that means we're fighting about 40% of the time just to ensure that exemptions we already won continue, and that new exemptions will be granted. If the timeline from the last round holds up, then we're only a few short months away from starting this whole circus back up again.

Describing it as a circus seems an appropriate label for the purpose of this whole process. It's not meant to be an effective mechanism for protecting the rights of users: it's a method for eating up the time and resources of those who are fighting for justice. If we don't step up, users could lose the ability to control their own computing and software. It's like pushing a rock up a mile-long hill only to have it pushed back down again when we've barely had a chance to catch our breath.

Read more

Programming With Python: PyQt5, “Effective Python” and Wing Python IDE

Filed under
Development
  • PyQt5 plotting with matplotlib, embed plots in your GUI applications

    In the previous part we covered plotting in PyQt5 using PyQtGraph. That library uses the Qt vector-based QGraphicsScene to draw plots and provides a great interface for interactive and high performance plotting.

    However, there is another plotting library for Python which is used far more widely, and which offers a richer assortment of plots — Matplotlib. If you're migrating an existing data analysis tool to a PyQt GUI, or if you simply want to have access to the array of plot abilities that Matplotlib offers, then you'll want to know how to include Matplotlib plots within your application.

    In this tutorial we'll cover how to embed Matplotlib plots in your PyQt applications

    Many other Python libraries — such as seaborn and pandas— make use of the Matplotlib backend for plotting. These plots can be embedded in PyQt5 in the same way shown here, and the reference to the axes passed when plotting. There is a pandas example at the end of this tutorial.

  • “Effective Python” by Brett Slatkin book review

    Let’s start with the target audience for this book. I’d recommend it to the people who are using Python at least several months and are feeling good with the basics. If you need more practical advice you are definitely welcome.

  • Wing Tips: Using Black and YAPF Code Reformatting in Wing Python IDE

    ing version 7.2 has been released, so in the next couple Wing Tips we'll take a look at some of its new features.

    Wing 7.2 expands the options for automatic code reformatting to include also Black and YAPF, in addition to the previously supported autopep8. Using one of these allows you to develop nicely formatted uniform-looking code without spending time manually adjusting the layout of code.

Videos/Audiocasts/Shows: System76 Serval WS, Linux Headlines, FLOSS Weekly and LCARS System 47 Screensaver on Linux

Filed under
GNU
Linux
  • System76 Serval WS Workstation Laptop Full Review

    The System76 Serval WS laptop is crazy powerful, with a desktop CPU and a powerful Nvidia video card. In this review, I show off the hardware, weigh the pros and cons, and give my overall thoughts.

  • 2020-01-22 | Linux Headlines

    Major improvements come to Wine, Debian makes a significant change post systemd debate, and the world’s most popular open source API gateway gets an update.

  • FLOSS Weekly 563: Apprentice Program

    The Apprentice Program is an initiative to train and mentor female junior developers in open source, creating a pipeline of talent and changing the ratio in tech.

  • LCARS System 47 Screensaver on Linux | Install and Service Creation

    This video goes over the infamous LCARS System 47 Screensaver on Linux. You have seen it in my background and now I show how to use an old 90s screensaver scr file on Linux. I then show how to make a systemd service to activate the screensaver when you are idle for a set amount of time.

GNU Parallel 20200122 ('Soleimani') released

Filed under
GNU

GNU Parallel 20200122 ('Soleimani') has been released. It is available for download at: http://ftpmirror.gnu.org/parallel/
GNU Parallel is 10 years old next year on 2020-04-22. You are here by invited to a reception on Friday 2020-04-17.
See https://www.gnu.org/software/parallel/10-years-anniversary.html
Quote of the month:
GNU parallel is straight up incredible.
-- Ben Johnson @biobenkj@twtter
New in this release:
--blocktimeout dur - Time out for reading block when using --pipe. If it takes longer than dur to read a full block, use the partial block read so far.
Bug fixes and man page updates.
News about GNU Parallel:
GNU Parallel course in Copenhagen https://www.prosa.dk/nc/arrangementer/arrangement/gnu-parallel-med-ole-tange/
GNU Parallel course in Århus https://www.prosa.dk/nc/arrangementer/arrangement/gnu-parallel-og-parallelisering-i-unix-shellen/
GNU Parallel pour accélérer vos process sous Linux https://www.yvonh.com/gnu-parallel-pour-accelerer-vos-process-sous-linux/
How to copy a file to multiple directories in Linux https://net2.com/how-to-copy-a-file-to-multiple-directories-in-linux/
Running linux commands in parallel https://dev.to/voyeg3r/runing-linux-commands-in-parallel-4ff8
Get the book: GNU Parallel 2018 http://www.lulu.com/shop/ole-tange/gnu-parallel-2018/paperback/product-23558902.html
GNU Parallel - For people who live life in the parallel lane.

Read more

today's howtos

Filed under
HowTos

Android Leftovers

Filed under
Android

Orange Pi 4B Review: Raspberry Pi Competitor Has Built-in A.I.

Filed under
Linux
Reviews

There’s a lot of buzz around deep learning and machine intelligence these days, and almost every processor manufacturer claims it has the answer for accelerating the computationally-heavy workloads of building your own artificial intelligence. Intel is working on neuromorphic computing, inspired by the human brain, with its recently-scaled Loihi research processor; Nvidia, meanwhile, has products like the Jetson Nano which leverage its graphics processing technology as a general-purpose accelerator; Google has its in-house Tensor Processing Units (TPUs), launched for the enthusiast market in March last year and due a refresh early this year.

Read more

Debian 7 Through Debian Testing Benchmarks With/Without Mitigations

Filed under
Graphics/Benchmarks

As part of our many Linux benchmarks in ending out the 2010s we ran tests looking at CentOS 6 through CentOS 8, seven years of Ubuntu Linux performance, and various other Linux distribution benchmarks and testing other important pieces of open-source software over time. One of the additional comparisons now wrapped up is looking at the performance of Debian GNU/Linux going back from the old 7 series through the current 10 stable series and also Debian Testing. Tests where relevant were done out-of-the-box with the default security mitigations and again with mitigations disabled.

Read more

GhostBSD 20.01 Now Available

Filed under
BSD

I am happy to announce the availability of GhostBSD 20.01 with some improvements made to the installer, mainly improvements to the way the installer UI deals with custom partitions involving GTP and UEFI. Also, some system and software has been updated

GhostBSD 20.01 ISO has some minor improvements over 19.10. It provides an up to date ISO with the latest packages and system updates for new installation with a simple installation process to get you going quickly. For current installation, no need to reinstall.

Read more

Also: GhostBSD 20.01 Released For FreeBSD 12.1 + MATE 1.22.2 Desktop Experience

KDevelop 5.5 beta 1 released

Filed under
KDE

We are happy to announce the release of KDevelop 5.5 Beta 1!

5.5 as a new feature version of KDevelop will bring half a year of small improvements to features across the application. Full details will be given in the announcement of the KDevelop 5.5.0 release, which is currently scheduled for in less than 2 weeks.

Read more

Easy Librem 5 App Development: Take a Screenshot

Filed under
GNU
Linux

I’m not a professional application developer but I know a few programming languages and have contributed to FOSS projects over the years. I like to write my personal programs as simple shell script that tend to run on my Linux laptop or server but never on my old Android phone. This is the first time my phone hasn’t restricted me from developing apps how I like to.

My previous Android phone always felt like a locked box, especially when it came to writing my own programs. I needed to read guides to set up a local phone development environment, learn the language and frameworks used for the platform, and only then could I write a native phone application. Once it was written I’d need to figure out how to sideload it onto the phone or otherwise get it into an official app store. Since I’m not a professional application developer, I never had the time or motivation to overcome that learning curve.

Read more

FSFE: FOSDEM, Chaos Communication Congress, and Story of Evaggelos Balaskas

Filed under
GNU
OSS
  • Cory Doctorow +++ (pre-) FOSDEM +++ 36C3

    2020 is not just a new year, it is the dawn of a new decade. With more and more automated systems run by software, a political representation of freedom is more needed than ever. Read in our January Newsletter about why Cory Doctorow supports the FSFE financially and why you should do so too. Read about our upcoming FOSDEM activities including our pre-FOSDEM meeting and reflections on our presence at the Chaos Communication Congress. Also we have a new Software Freedom Podcast with Harald Welte and reports from our community.

  • Report from the 36c3, about:freedom - about:fsfe

    At the end of December, FSFE was in Leipzig at the 36th Chaos Communication Congress. As in previous years, we were present at the congress with lots of information material, talks and workshops. FSFE was one of the main organisers of the cluster about:freedom, an association of 12 civil society organisations and groups. Together with the other organisations, we focused on digital rights and network policy issues.

    In about:freedom, a broad political spectrum of topics could be covered due to the many different focuses of the individual organisations and groups. At our booth we informed about Free Software and presented individual campaigns of us. Together with the cluster about:freedom, we organised 19 self-organised sessions during the 4 days. To only name a few, the hand-on workshop „Freedom to go“ for a Google Independent Android Smartphone by Erik Albers, the more general presentation "The Free Software 1x1: Clarifying the basics and typical misunderstandings", "Computer says no": Worüber sollen Algorithmen entscheiden dürfen by Chris Köver, Emergency VPN: Analyzing mobile network traffic to detect digital threats and the talk by Christian Busse regarding Free Software in Science: "Free Software for Open Science" were part of the sessions.

  • The story of my first job in Tech Industry

    The other day I was thinking about my first ever job in this industry as a junior software engineer at the age of 20. I was doing okay with my studies at the Athens university of applied sciences but I was working outside of this industry. I had to gain some working experience in the field, so I made a decision to find part time work in a small software house. The experience and lessons learned in those couple weeks are still with me till this day … almost 20 years after!

More Python Programming Leftovers

Filed under
Development
  • Hello Word in Django: How to start with Django

    In this article, we will learn how to develop and run a python-Django app in less than 5 minutes.

  • Python GUI Programming With Tkinter

    Python has a lot of GUI frameworks, but Tkinter is the only framework that’s built into the Python standard library. Tkinter has several strengths. It’s cross-platform, so the same code works on Windows, macOS, and Linux. Visual elements are rendered using native operating system elements, so applications built with Tkinter look like they belong on the platform where they’re run.

    Although Tkinter is considered the de-facto Python GUI framework, it’s not without criticism. One notable criticism is that GUIs built with Tkinter look outdated. If you want a shiny, modern interface, then Tkinter may not be what you’re looking for.

    However, Tkinter is lightweight and relatively painless to use compared to other frameworks. This makes it a compelling choice for building GUI applications in Python, especially for applications where a modern sheen is unnecessary, and the top priority is to build something that’s functional and cross-platform quickly.

  • The contextmanager Decorator

    Context managers provide a cool programming pattern, especially if you’re forgetful or just have too much to keep track of and you want to simplify your life.

  • URLs Lead The Way

    In the last article in the Understand Django series, we saw how a user’s browser request goes from their browser to Django’s “front door.” Now it’s time to look at how Django processes those requests.

    An HTTP request coming from a browser includes a URL describing which resource Django should produce. Since URLs can come in many forms, we must instruct Django on the kinds of URLs that our web application can handle. This is what the URL configuration is for. In the Django documentation, the URL configuration is called a URLconf, for short.

    Where is the URLconf? The URLconf is at the module path set by the ROOT_URLCONF setting in your project’s settings file. If you ran the startproject command, then that setting will be named like project.urls where “project” is the name given as an argument to the command. In other words, the URLconf is placed right next to the settings.py file in project/urls.py.

Do You Really Need Antivirus Software on Linux?

Filed under
GNU
Linux
Security

There’s a myth that Linux doesn’t have viruses. but for most people, it’s true that they don’t need an antivirus on Linux. How can both those claims be true? Do you really need antivirus on your Linux machine?

Although there have been cases like EvilGnome, a piece of malware that made headlines last year for infecting Linux desktops, they are ultra-rare. The short answer is that thanks to being more securely designed, better maintained, and, truth be told, less popular, Linux ends up being safer than Windows.

There’s no simple yes or no answer to the question of our title, though, as it depends on the user and their needs.

Read more

Also: Security updates for Wednesday

GameMode 1.5

Filed under
Software
Gaming
  • Feral's GameMode 1.5 Now Supports Changing The CPU Governor Differently For iGPUs

    With Feral's GameMode 1.5 the big change facing users is for those running integrated graphics. In a change led by an Intel open-source graphics driver developer, GameMode now supports setting an alternative CPU frequency scaling governor for integrated graphics use-cases. Up to now GameMode has defaulted to always using the "performance" CPU frequency scaling governor for normally delivering the best performance, but for integrated graphics that in some situations can lead to lower performance. Due to the integrated graphics and CPU cores sharing the same power envelope, ramping up the CPU performance can throw the graphics performance out of balance and at least for some games lead to lower performance. So with GameMode 1.5, the user can now opt for "powersave" or an alternative governor instead when using an iGPU.

  • Feral Interactive's open source 'GameMode' system performance booster has a new release

    Feral Interactive don't just port a lot of games to Linux, they also work on some open source bits here and there. One of their projects is GameMode, which just got a new release.

    GameMode is a "daemon/lib combo for Linux that allows games to request a set of optimisations be temporarily applied to the host OS and/or a game process". In simple terms, it can help ensure your Linux PC is giving the game all it can to run smoothly. Looks like someone new is handling the project too, with Alex Smith having left Feral Interactive.

Syndicate content

More in Tux Machines

Lakka 2.3.2 with RetroArch 1.8.4

The Lakka team wishes everyone a happy new year and welcomes 2020 with a new update and a new tier-based releases system! This new Lakka update, 2.3.2, contains RetroArch 1.8.4 (was 1.7.2), some new cores and a handful of core updates. Read more

It is time to end the DMCA anti-circumvention exemptions process and put a stop to DRM

Although it is accurate, there's one aspect of the process that is missing from that description: the length. While the process kicks off every three years, the work that goes into fighting exemptions, whether previously granted or newly requested, has a much shorter interval. As you can see from the timeline of events from the 2018 round of the exemptions process, the process stretches on for months and months. For each exemption we have to prepare research, documents, and our comments through wave after wave of submission periods. For the 2018 exemptions round, the first announcements from the United States Copyright Office were in July of 2017, on a process that concluded in October of 2018. Fifteen months, every three years. If you do the math, that means we're fighting about 40% of the time just to ensure that exemptions we already won continue, and that new exemptions will be granted. If the timeline from the last round holds up, then we're only a few short months away from starting this whole circus back up again. Describing it as a circus seems an appropriate label for the purpose of this whole process. It's not meant to be an effective mechanism for protecting the rights of users: it's a method for eating up the time and resources of those who are fighting for justice. If we don't step up, users could lose the ability to control their own computing and software. It's like pushing a rock up a mile-long hill only to have it pushed back down again when we've barely had a chance to catch our breath. Read more

Programming With Python: PyQt5, “Effective Python” and Wing Python IDE

  • PyQt5 plotting with matplotlib, embed plots in your GUI applications

    In the previous part we covered plotting in PyQt5 using PyQtGraph. That library uses the Qt vector-based QGraphicsScene to draw plots and provides a great interface for interactive and high performance plotting. However, there is another plotting library for Python which is used far more widely, and which offers a richer assortment of plots — Matplotlib. If you're migrating an existing data analysis tool to a PyQt GUI, or if you simply want to have access to the array of plot abilities that Matplotlib offers, then you'll want to know how to include Matplotlib plots within your application. In this tutorial we'll cover how to embed Matplotlib plots in your PyQt applications Many other Python libraries — such as seaborn and pandas— make use of the Matplotlib backend for plotting. These plots can be embedded in PyQt5 in the same way shown here, and the reference to the axes passed when plotting. There is a pandas example at the end of this tutorial.

  • “Effective Python” by Brett Slatkin book review

    Let’s start with the target audience for this book. I’d recommend it to the people who are using Python at least several months and are feeling good with the basics. If you need more practical advice you are definitely welcome.

  • Wing Tips: Using Black and YAPF Code Reformatting in Wing Python IDE

    ing version 7.2 has been released, so in the next couple Wing Tips we'll take a look at some of its new features. Wing 7.2 expands the options for automatic code reformatting to include also Black and YAPF, in addition to the previously supported autopep8. Using one of these allows you to develop nicely formatted uniform-looking code without spending time manually adjusting the layout of code.

Videos/Audiocasts/Shows: System76 Serval WS, Linux Headlines, FLOSS Weekly and LCARS System 47 Screensaver on Linux

  • System76 Serval WS Workstation Laptop Full Review

    The System76 Serval WS laptop is crazy powerful, with a desktop CPU and a powerful Nvidia video card. In this review, I show off the hardware, weigh the pros and cons, and give my overall thoughts.

  • 2020-01-22 | Linux Headlines

    Major improvements come to Wine, Debian makes a significant change post systemd debate, and the world’s most popular open source API gateway gets an update.

  • FLOSS Weekly 563: Apprentice Program

    The Apprentice Program is an initiative to train and mentor female junior developers in open source, creating a pipeline of talent and changing the ratio in tech.

  • LCARS System 47 Screensaver on Linux | Install and Service Creation

    This video goes over the infamous LCARS System 47 Screensaver on Linux. You have seen it in my background and now I show how to use an old 90s screensaver scr file on Linux. I then show how to make a systemd service to activate the screensaver when you are idle for a set amount of time.