Language Selection

English French German Italian Portuguese Spanish

About Tux Machines

Thursday, 21 Nov 19 - 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

today's howtos and programming bits

Filed under
Development
HowTos
  • How to Install Go on CentOS 8
  • How to Install Plone on Ubuntu 18.04
  • gThumb 3.8.2 Released! Menu in Top Panel Merged to Headbar
  • Python and shell tools

    I'm not a pythonista, and what little I know about Python for data work amounts to a few published recipes. Out of curiosity, I sometimes re-do those recipes with the GNU/Linux tools I use every day. Below are three such re-doings from Python 2.7 (default on my Debian 10 system, but soon to reach end-of-life).

    Please note that this post isn't meant to be a "which is best?" contest between Python and shell tools. Each world of commands has its pro's and con's, and Python users have access to a large number of general and specialised data-processing tools. Personally, I like the versatility of shell tools and command chains, and I like AWK's speed and flexible syntax (as readers of this blog will know).

  • KDevelop - possibly new release coordinator

    After many days and weeks of thinking and waiting for better person to appear (nobody appeared) I decided to take the initiative (it took a lot) and try my luck at becoming new KDevelop release coordinator.

    My reasoning as I mentioned in my mail is that if there was someone better for the job the position would be filled by now. And I wish for KDevelop to be a healthy project which can rival those monsters like MSVS, NetBeans, Eclipse, Atom, MSVC…

  • Modernizing Java to keep pace in a cloud-native world

    Java is no spring chicken and some are even referring to it as a “vintage language”. Despite its popularity, there are some complaints about it. In our new cloud-native world, why does Java need to evolve? In order to evolve to keep up with modern, cloud-native apps, Java needs to keep all of what makes it so dependable, while also being able to function in new app environments.
    Don’t worry, you are not the only one who feels old when you hear Java being described as a “vintage” programming language. While Java has been around since 1995, it is certainly not ready to retire (or rather, be retired), and continues to rank among the top languages TIOBE index. In fact, no other language has been so popular for so long.

    However, it is not without its issues, including sometimes being too clunky to keep up with some of the newer programming languages, not agile and flexible enough to work in this new world of containers, and not really relevant in applications that are not coded to be Java first. While they say you can’t teach an old dog new tricks, you can rethink how it performs what they already know.

Security: Patches, Firefox and Webmin

Filed under
Security
  • Security updates for Thursday

    Security updates have been issued by Fedora (oniguruma and thunderbird-enigmail), openSUSE (chromium, ghostscript, and slurm), Oracle (kernel), Red Hat (kpatch-patch), Slackware (bind), SUSE (python-ecdsa), and Ubuntu (bind9 and mariadb).

  • Princesses make terrible passwords

    When the Disney+ streaming service rolled out, millions of people flocked to set up accounts. And within a week, thousands of poor unfortunate souls reported that their Disney passwords were hacked. According to media reports, some Disney+ account holders have lost their account access while hackers have sold their logins online.

    [...]
    When setting up accounts, Lockwise can help you select something complex and unique that you never would have thought of on your own. Then you can save that tricky password straight into your browser and use it directly from the app, secured behind a master password or fingerprint login protected in the most delightful way for when you need it.

    We can’t guarantee that various services and platforms you use won’t ever be compromised, but we can help you create complex unique passwords to minimize your exposure should it occur. And with Firefox Monitor, we can alert you when breaches happen.

  • Two ways Firefox protects your holiday shopping

    We’re entering another holiday shopping season, and while you’re browsing around on the internet looking for thoughtful presents for friends and loved ones, it’s also a good time to give yourself the gift of privacy. Your research and shopping behavior has the potential to be a huge gift to the advertisers collecting data about your habits. If you’re not using Firefox, every weird search for every weird gift could get packaged up in a marketplace where companies and advertisers will be buying, selling and trading this data about you in their own holiday shopping bonanza. Using Firefox is the preventative measure you need during the holiday season (but really anytime you’re shopping online) to protect you from two potential problems...

  • Linux Webmin Servers Under Attack by Roboto P2P Botnet

    A newly-discovered peer-to-peer (P2P) botnet has been found targeting a remote code execution vulnerability in Linux Webmin servers.

    Vulnerable Linux Webmin servers are under active attack by a newly-discovered peer-to-peer (P2P) botnet, dubbed Roboto by researchers.

KDE/GNOME Events: Linux Applications Summit and KDE e.V. board meeting in Berlin

  • Some GNOME / LAS / Wikimedia love

    About LAS 2019:

    Linux App Summit
    Linux App Summit 2019

    And about the previous LAS format:

    Libre Application Summit
    Libre Application Summit 2018

  • Linux Applications Summit 2019 activity

    And finally, I helped the local team with some minor tasks like moving items and so.

    I want to congratulate all the organization team and specially the local team for the results and the love they have put in the event. The results have been excellent and this is another strong step for the interweaved relations between opensource development communities sharing very near goals.

    My participation at the conference has been sponsored by the GNOME Foundation. Thanks very much for their support.

  • KDE e.V. board meeting in Berlin

    Just back from Barcelona – with a brief pause at home for some mathematical cabaret, a board meeting for my local badminton club, music lessons and an afternoon of volunteering at a local charity second-hand shop – and I’m off to Berlin again.

    The train is not particularly fast, but it’s a relatively predictable six hours from here to HBf and I do have some “home” feeling in Berlin. At least I have a favorite chocolate place. In Berlin we’re combining a KDE e.V. board meeting with the KDE Frameworks 6 sprint. Both events are basically “planning for the future” on an organizational and technical level.

Yocto-based Torizon distro adds OTA updater

Filed under
Development
GNU
Linux
Hardware

Toradex has released an experimental version of an OTA updater for its new Torizon embedded Linux distribution. Torizon OTA offers fault-tolerant features and supports web-based remote management including grouping of devices into fleets.

Read more

Growth of Kubernetes

Filed under
Server
  • Just how popular is Kubernetes?

    In its study of usage data from thousands of companies and more than 1.5 billion containers, the company found "roughly 45% of Datadog customers running containers use Kubernetes, whether in self-managed clusters or through a cloud service." Not bad for a technology that's just over five years old.

    What's more telling though is that almost half of all Datadog container users have already turned to Kubernetes. It's Kubernetes' growth rate that really tells the story. In the last year, Kubernetes' numbers of users grew by 10%.

    In the meantime, other container orchestration programs, such as Marathon and Docker swarm mode, have simply not caught fire. Indeed, their parent companies, D2iQ, formerly Mesosphere, and Docker both started offering Kubernetes to their customers. Need more be said?

    Datadog also found that Kubernetes is very popular on the public cloud. In particular, managed Kubernetes services such as Google Kubernetes Engine (GKE) dominates the Google Cloud Platform (GCP). Since Kubernetes ancestry goes back to Google that comes as no surprise.

  • Rancher CEO on k3s: Kubernetes is the new Linux; you run it everywhere

    Once, Kubernetes was just some geeky cloud-native project for orchestrating containers (a virtualized method for running distributed applications). Isn’t it funny how it’s worked its way into practically every tech conversation in just a few years? In fact, thanks to technologies that shrink and simplify it, Kubernetes is about to find its way into even more use cases.

    With the technology and its uses expanding so rapidly, how do we even define it anymore? Sheng Liang (pictured), co-founder and chief executive officer of Rancher Labs Inc., has an idea: “Kubernetes is the new Linux, and you run it everywhere.”

    Cloud, on-premises data center, bare metal, internet of things edge, Raspberry Pi, surveillance camera? Check. The developer ecosystem is invading more and more spaces through tweaks that make Kubernetes easier than ever to deploy.

Screencasting with OBS Studio on Wayland

Filed under
Software
GNOME

For the past few months, I’ve been doing live coding sessions on YouTube showing how GNOME development goes. Usually it’s a pair of sessions per week, one in Brazilian Portuguese so that my beloved community can enjoy GNOME in their native language; and one in English, to give other people at least a chance to follow development as well.

We are quite lucky to have OBS Studio available for screencasting and streaming, as it makes our lives a lot easier. It’s really a fantastic application. I learned about it while browsing Flathub, and it’s what actually motivated me to start streaming in the first place. However, I have to switch to X11 in order to use it, since the GNOME screencast plugin never really worked for me.

This is annoying since Mutter supports screencasting for years now, and I really want to showcase the latest and greatest while streaming. We’re still not using the appropriate APIs and methods to screencast, which doesn’t set a high standard on the community.

So I decided to get my hands dirty, bite the bullet, and fix this situation. And so was born the obs-xdg-portal plugin for OBS Studio! The plugin uses the standard ScreenCast portal, which means it should work inside and outside the Flatpak sandbox, in Wayland and X11, and on GNOME and KDE (and perhaps others?).

Read more

Snapcraft secret sauce: KDE neon extension

Filed under
KDE
Software
Ubuntu

Simplicity is the magic ingredient in any product design. For members of the KDE community, snap development has become that much simpler, thanks to the recent introduction of the KDE neon extension.

Last year, we talked about the KDE build and content snaps, which can greatly speed the build of KDE application snaps and save disk space. The extension takes this effort one step farther, and allows for faster, smoother integration of snaps into the Linux desktop. While there are no shortcuts in life, you can rely on a passionate community of skilled techies to make the journey easier.

Read more

The 10+ Best Linux Wallpaper Changer Software in 2019

Filed under
Software

Every person wants a customized desktop environment based on his choice. The most important visual element of a desktop environment is its wallpaper or background. You can easily set your desired wallpaper in the Linux system. Just like Windows PC, you can even create a wallpaper slideshow. But if you want full control and more customization, you need to download an extra piece of wallpaper changer for your Linux or Ubuntu system. With these Linux wallpaper changer programs, you can download wallpapers from different sources, schedule them and customize your desktop in your style.

Read more

Programming: Python and Wasm

Filed under
Development
  • Python Anywhere: System update on 21 November 2019

    This morning's system update went smoothly; some websites did take a bit longer than we expected to start up afterwards, but all is well now.

    There are two big new features that we have introduced which are going through some final post-deploy tests before they go live -- a new system image (called fishnchips) to support Python 3.8 and to add on a number of extra OS packages that people have been asking us for, and an update to our virtualization system that will fix a number of problems with specific programs. We'll be posting more about those when they're ready to go live.

  • PyCharm 2019.3 Release Candidate

    The release of PyCharm 2019.3 is right around the corner and we’re excited to announce we now have available a release candidate version. Check it out by downloading it from our website!

  • #11 Ways How To Make Home Education More Effective

    As you can see, in order to get things done, you have to actually start doing something and be creative at that. We’ve presented those points that we believe can be the most beneficial when attempting home education. But these are more like preferable advice rather than strict rules to success. Find something that suits you and work around it. We believe that anyone with enough desire to try can achieve great things!

  • Punch 2.0.0 is out

    This is the latest release of the project that I started to replace bumpversion. Update your version while having a drink!

    Punch is a configurable version updater, and you can use to automate the management of your project’s version number.

  • Navigating Python Code with Wing Pro 7 (part 2 of 3)

    Last week we looked at goto-definition, find uses, and project-wide search as tools for navigating Python code in Wing 7. This time, we'll take a look at the code indices that Wing provides.

  • Multi-Value All The Wasm!

    There are a few scenarios where compilers are forced to jump through hoops when producing multiple stack values for core Wasm. Workarounds include introducing temporary local variables, and using local.get and local.set instructions, because the arity restrictions on blocks mean that the values cannot be left on the stack.

    Consider a scenario where we are computing two stack values: the pointer to a string in linear memory, and its length. Furthermore, imagine we are choosing between two different strings (which therefore have different pointer-and-length pairs) based on some condition. But whichever string we choose, we’re going to process the string in the same fashion, so we just want to push the pointer-and-length pair for our chosen string onto the stack, and control flow can join afterwards.

Games: Half-Life: Alyx, Serial Cleaner, BATTLETECH Heavy Metal

Filed under
Gaming
  • Set between Half-Life and Half-Life 2, Valve have now properly announced Half-Life: Alyx (updated)

    Half-Life: Alyx, the first Half-Life title in far too long has now been officially revealed with the Steam store page for it now available and you can also pre-purchase. However, their email clearly stated that Half-Life: Alyx will be "Free for owners of the Valve Index VR headset".

    This is a title built from the ground up for Virtual Reality, so only those with a VR kit will be able to play. Valve said it has "all of the hallmarks of a classic Half-Life game" including exploration, puzzle solving, visceral combat and a story that connects it all together with the Half-Life universe. Valve also said it will be compatible with "all PC-based VR headsets", it's powered by their own Source 2 game engine and it will release in March 2020.

  • Humble are giving away Serial Cleaner free for their Fall Sale now live

    You have around 72 hours to grab Serial Cleaner completely free, along with the start of the Humble Store Fall Sale.

    As always, there's tons of titles on sale. Plenty of indie games, plus multiple publishers have all put their games up with big discounts on them too.

  • BATTLETECH Heavy Metal has firmly stomped its way to release

    BATTLETECH Heavy Metal, the latest expansion to the turn-based strategy game that has you fight with massive lumbering 'mechs is out now.

    We've been told this is the definitive expansion, so it's likely to be the last as Harebrained Schemes move onto their next game. Quite an exciting expansion though and the naming of the expansion is very on point, since it comes with a bunch of classic 'mech designs from the original ​BATTLETECH​ board game plus a new 'mech designed just for Heavy Metal.

Top 10 Best Linux Video Editing Software

Filed under
Software

If you aspire to become a professional video editor but hate the idea of switching to a different operating system just to use video editing software, we have good news for you: Linux has many fantastic video editing software applications that let you easily edit videos right in your favorite Linux environment.

What’s great about most Linux video editing software applications is that they tend to be free and open source, which means that anyone can peek under the hood and implement new features or fix bugs. The video editors featured in this article are loosely arranged according to their popularity, but we recommend you go through the entire list because even less popular video editors have a lot to offer.

Read more

A Look At The GCC Compiler Tuning Performance Impact For Intel Ice Lake

Filed under
Graphics/Benchmarks

For those wondering if it's worthwhile for performance recompiling your key Linux binaries with the microarchitecture instruction set extensions and tuning for Ice Lake, here are some GCC compiler benchmarks looking at that impact for the Core i7 1065G7 on the Dell XPS 7390.

In particular, this article is looking at the affect on generated benchmark binaries when built under the following CFLAGS/CXXFLAGS configurations:

-O3 -march=skylake - Just optimizing for conventional Skylake processors.

-O3 -march=skylake-avx512 - Optimizing for Skylake AVX-512 processors like Skylake-SP/Skylake-X. The Skylake AVX-512 enables use of the AVX512F, CLWB, AVX512VL, AVX512BW, AVX512DQ and AVX512CD instructions.

-O3 -march=icelake-client - Optimizing for Icelake client/desktop processors. New instructions exposed here not found with Skylake/Skylake-AVX512 include AVX512VBMI, AVX512IFMA, SHA, CLWB, UMIP, RDPID, GFNI, AVX512VBMI2, AVX512VPOPCNTDQ, AVX512BITALG, AVX512VNNI, VPCLMULQDQ, and VAES. Note there is also the "icelake-server" target for future Ice Lake Xeon Scalable processors where additionally PCONFIG and WBNOINVD are flipped on.

Read more

PHP 7.4 Performance Benchmarks Show A Nice Improvement - But PHP 8.0-dev Is Running Even Faster

Filed under
Graphics/Benchmarks

PHP 7.4 is due to be released next week as the annual major iteration to PHP7. Like we have seen through the PHP7 releases, while new features continue to be tacked on for this popular web-based programming language the performance has continued evolving. Here are the latest benchmarks of PHP 5.6 through PHP 7.4 while also looking at the PHP 8.0-dev performance that is in development on Git master.

Outside of the performance realm, PHP 7.4 is another exciting update thanks to finally introducing FFI support. The Foreign Function Interface for PHP allows accessing C structs/functions/variables from native PHP code for making it easier to interact with C libraries from PHP.

In addition to the headlining FFI support of PHP 7.4, this next release has a preload function to preload functions/classes to speed-up the loading of scripts by 30~50%, language alterations, TLS 1.3 support in PHP OpenSSL streams, and a variety of other smaller additions.

Read more

Stable kernels 5.3.12, 4.19.85, and 4.14.155

  • Linux 5.3.12

    I'm announcing the release of the 5.3.12 kernel.

    All users of the 5.3 kernel series must upgrade.

    The updated 5.3.y git tree can be found at:
    git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-5.3.y
    and can be browsed at the normal kernel.org git web browser:
    https://git.kernel.org/?p=linux/kernel/git/stable/linux-s...

  • Linux 4.19.85
  • Linux 4.14.155

Games: Parkitect, Warlords I + II, FPS Counter in GNU/Linux Games

Filed under
Gaming
  • Parkitect - Taste of Adventure is out expanding your theme park building possibilities

    Possibly one of the most relaxing and engrossing games release last year, Parkitect just expanded with a free update and a big Parkitect - Taste of Adventure DLC.

  • Warlords I + II given the DOSBox and DRM-free treatment over on GOG

    Sometimes a lot of newer strategy games can be a bit much, perhaps a little retro flavour is in order? Warlords I + II, two strategy titles from the 90's are now on GOG.

    Both of them have been nicely packaged up for Linux gamers so you can just buy them both together, install and then it will run with a pre-configured DOSBox with no hassle. That's the way I like my retro gaming to be, a solid bit of nostalgia without some headaches.

  • How to Show FPS Counter in Linux Games

    Linux gaming got a major push when Valve announced Linux support for Steam client and their games in 2012. Since then, many AAA and indie games have made their way to Linux and the number of users who game on Linux have increased considerably.
    With the growth of Linux gaming, many users started to look for proper ways to display “frames per second” (FPS) counter as an overlay on running Linux games. An FPS counter helps in tweaking performance of running games as well as in benchmarking a PC’s overall ability to play games at different resolutions.

    Unfortunately there is no single unified way to display FPS counter in all Linux games that is independent of underlying technologies a game is running upon. Different renderers and APIs have different ways to display FPS counter. This guide will explain various methods that can be used to display an FPS counter in Linux games.

today's leftovers

Filed under
Misc
  • NVIDIA DP MST Audio To Begin Working With The Linux 5.5 Kernel

    While the official NVIDIA Linux driver has worked well with DisplayPort Multi-Stream Transport (DP MST) setups for years now for driving large displays, audio hasn't worked under Linux for NVIDIA's driver in this combination. But with the upcoming Linux 5.5 cycle that will be addressed.

  • Fedora Update Weeks 39–45

    Somehow, my semi-weekly updates turned into monthly things. Mostly, updates per week have been rather light and stable, so it always seemed that there was no need to write an update. Of course, that ends up meaning one really large update after a long time. This past week was pretty busy, so I thought it best to finally write up a post.

    One small changeset was removing automated Suggests from R packages when they do not exist in Fedora yet. This is due to legal concerns on the F31 Change for automated R dependencies. So far, I’ve fixed mine, and intend to fix others’ soon.

    On the Python 2 front, aside from dropping unused subpackages from Fedora 32, I’ve also ported git-cinnabar’s test running from nose to unittest. This makes it easier to get the Python 2 exception. Since upstream is working on Python 3 support, I expect that this exception won’t need to be in place for long.

  • Zekr Quran (1.1.0 Final) on linux (Fedora 30)

    It work fine on Java 6 era but not anymore. You need to tweak, hack, compile you self or find package alternative.

    I want to build this software as RPM package so it will be available for others but maybe it will take lot of effort.. plus there is issue about licensing, humm.. maybe next time?

    Anyway, If you are looking for solution how to install Zekr on Fedora, just let me know. I will help.

  • Magicsee N5 Plus Amlogic S905X3 TV Box Comes with a 2.5″ SATA HDD/SSD Bay

    Amlogic S905X3 TV boxes have been announced since June. S905X3 is Amlogic’s first Arm Cortex-A55 processor and targets 4K UHD HDR TV boxes

    The box runs Android 9.0, and ships with an IR remote control, a power supply, an HDMI cable, and a user manual in English. There’s CLOSE/OPEN switch to open the lid and install the drive, so no tools appear to be needed to install a hard drive.

  • Mozilla Localization (L10N): L10n Report: November Edition

    As anticipated in previous reports, the release cycles are getting progressively shorter, in order to reach a consistent 4 weeks length in the first half of 2020.

    Firefox 71 will be released next week, on December 3rd. At that point Firefox 72 will move to beta, and the deadline to ship updates for that version will be on December 24th.

    Firefox 71 will ship with 3 new languages: Catalan (Valencian) (ca-valencia), Tagalog (tl), and Triqui (trs).

  • Better math import from PPTX into Impress

    Impress now has a much improved math handling in its importer from PPTX, eliminating annoying duplicated objects you had to delete after import, manually.

    First, thanks TU Dresden who made this work by Collabora possible.

Programming Leftovers

Filed under
Development
  • Faster Winter 4: Export lists

    Without an export, the compiler has to assume that every top-level function can possibly called from the outside, even functions that you think of as “internal”. If you have a function that you do not export, like instr, step_work and step after my change, the compiler can see all the places the function is called. If the function is only called in one place, it may inline it (copy its definition into where it is called), and simplify the code around the edges. And even if it does not inline the function, it might learn something about how the functions are used, and optimize them based on that (e.g. based on Demand Analysis).

  • Ondřej Holý: How to call asynchronous function synchronously

    GLib provides a lot of asynchronous functions, especially to deal with I/O. Unfortunately, some functions don’t have synchronous equivalents and the code has to be split into several callbacks. This is not handy in some cases. My this year’s GSoC student recently asked me whether it is possible to create synchronous function from asynchronous. He is currently working on test suite and don’t want to split test cases into several callbacks. So I decided to write a blog spot about as it might be handy for more people.

  • Sort list alphabetically with python

    You will be given a vector of string(s). You must sort it alphabetically (case-sensitive!!) and then return the first value.

    The returned value must be a string and have “***” between each of its letters.

    You should not remove or add elements from/to the array.

    Above is another problem in codewars, besides asking us to sort the array list and returning the first value in that list, we also need to insert stars within the characters.

  • Abolishing SyntaxError: invalid syntax ...

    Do you remember when you first started programming (possibly with Python) and encountered an error message that completely baffled you? For some reason, perhaps because you were required to complete a formal course or because you were naturally persistent, you didn't let such messages discourage you entirely and you persevered. And now, whenever you see such cryptic error messages, you can almost immediately decipher them and figure out what causes them and fix the problem.

    Congratulations, you are part of an elite group! Even a large number of people who claim that they can program are almost certainly less capable than you are.

    Given your good fortune, would you mind donating 5 to 10 minutes of your time to help countless beginners that are struggling in trying to understand Python error messages?

  • Is it too late to integrate GitOps?

    The idiom “missed the boat” can be used to describe the loss of an opportunity or a chance to do something. With OpenShift, the excitement to use this new and cool product immediately may create your own “missed the boat” moment in regards to managing and maintaining deployments, routes, and other OpenShift objects but what if the opportunity isn’t completely gone?

    Continuing with our series on GitOps (LINK), the following article will walk through the process of migrating an application and its resources that were created manually to a process in which a GitOps tool manages the assets. To help us understand the process we will manually deploy a httpd application. Using the steps below we will create a namespace, deployment, and service and expose the service which will create a route.

Syndicate content

More in Tux Machines

Type Title Author Replies Last Postsort icon
Story today's howtos and programming bits Roy Schestowitz 22/11/2019 - 3:11am
Story Security: Patches, Firefox and Webmin Roy Schestowitz 1 22/11/2019 - 3:00am
Story KDE/GNOME Events: Linux Applications Summit and KDE e.V. board meeting in Berlin Roy Schestowitz 22/11/2019 - 2:51am
Story Yocto-based Torizon distro adds OTA updater Roy Schestowitz 22/11/2019 - 2:46am
Story Growth of Kubernetes Roy Schestowitz 22/11/2019 - 2:40am
Story Games: Half-Life: Alyx, Serial Cleaner, BATTLETECH Heavy Metal Roy Schestowitz 1 22/11/2019 - 2:35am
Story Screencasting with OBS Studio on Wayland Roy Schestowitz 22/11/2019 - 2:32am
Story Snapcraft secret sauce: KDE neon extension Roy Schestowitz 22/11/2019 - 2:16am
Story The Cross-Platform Source Explorer Sourcetrail is Now Open Source Rianne Schestowitz 2 22/11/2019 - 2:14am
Story The 10+ Best Linux Wallpaper Changer Software in 2019 Roy Schestowitz 22/11/2019 - 2:10am