Language Selection

English French German Italian Portuguese Spanish

today's howtos

Filed under
HowTos

More in Tux Machines

Programming/Development Leftovers

  • Input Events in Qt 6

    The delivery of mouse and touch events in Qt Quick is complex, and it became clear a few years ago that we needed to refactor the event inheritance hierarchy, to have some common API for various event types, so that more of the delivery code could be shared. In Qt 5.8 we added QQuickPointerEvent and associated types, as a way of prototyping what that could look like. They are QObjects; and since then, QQuickWindow has been delivering these wrapper events that carry the original events inside. Now finally in Qt 6 we have been able to complete the QEvent refactoring, so that QQuickWindow no longer needs the wrappers. Along with that, we were able to add a few features and fix a few bugs. Many of the remaining bugs that seemed intractable in Qt 5 should at least be possible to fix later on.

  • Initial AMD Zen 3 Support Successfully Lands In GCC 11 - Phoronix

    A few days ago AMD finally sent out the initial AMD Zen 3 "znver3" support to the GCC compiler with the LLVM Clang support to follow. That initial "-march=znver3" targeting support has now been merged for GCC 11. While past the feature development stage of GCC 11, the znver3 patch was permitted to land with new targets / hardware support allowed to land still as it doesn't risk regressing the existing compiler support.

  • How to parse JSON in C++

    The intention of this tutorial is to understand the JSON data and how to parse JSON data in C++. We will discuss JSON data, Object, Array, JSON syntax, and then go through several working examples to understand the parsing mechanism of JSON data in C++. What is JSON? JSON is a light-weight text-based representation for storing and transferring structured data in an organized way. The JSON data is represented in the form of ordered lists and key-value pairs. JSON stands for JavaScript Object Notation. As the full name indicates, it is derived from JavaScript. However, JSON data is supported in most of the popular programming languages. It is often used to transfer the data from the server to a web page. It is much easier and cleaner to represent the structured data in JSON than XML.

  • Wasmer 1.0 Beta Released For Running WebAssembly Code Anywhere - Phoronix

    Wasmer is one of the leading software solutions aiming to bring WebAssembly (WASM) to the desktop rather than largely isolated to the web browser as is the case now. Wasmer aims to allow WASM programs anywhere and on any client while quickly closing in on its 1.0 release. Wasmer 1.0 Alpha debuted in September while as we approach the end of the year the beta is now available. Wasmer provides a universal run-time so that WebAssembly can run across platforms / operating systems in a trusted manner

  • Joachim Breitner: Named goals in Coq
  • Day 5: Raku & Pakku

    A hobby One day I woke and decided I want to learn programming as a hobby. For someone who doesn’t know much about the subject other than writing a few Bash scripts, words like Functional Programming, Object Oriented or even the word class by itself were mysterious. Lost Doing my research to find out where to start, very soon I was lost in tons of information available online, but I wanted to start learning anyway, and it is time to pick a programming language. There are so many programming languages out there, deciding which language to learn was a difficult task for me, mainly because comparing languages based on technical knowledge was not an option. [...] Pakku timemachine figured out how to time travel not only to the future but also to the past! Pakku timemachine can save the current state of Raku repositories, store a list of installed distributions per repo, and can go back to this state any time when needed (for example after reinstalling Raku) This is still a work in progress, however by the time you are reading this, this feature may be ready.

  • Python Decorators – Linux Hint

    In this article, we are going to discuss Python Decorators. Definition: Decorator is a design pattern in Python. It is a function that takes another function as an argument, add some functionality to it without modifying it, and returns another function.

  • How to Replace Newline with Comma Using the `sed` Command – Linux Hint

    Any character or string can be replaced by using the `sed` command. Sometimes, we need to replace the newline character (\n) in a file with a comma. In this article, we use the `sed` command to replace \n with a comma. [...] It may be necessary to replace \n with a comma to transfer data from one file format to another. This type of replacement can also be done by using other Linux commands. Many command options, such as H, N, h, and x, can be used with the `sed` command to complete this task. This tutorial goes over several ways to use the `sed` command to replace \n with a comma.

  • How to Use Regex with the `awk` Command – Linux Hint

    A regular expression (regex) is used to find a given sequence of characters within a file. Symbols such as letters, digits, and special characters can be used to define the pattern. Various tasks can be easily completed by using regex patterns. In this tutorial, we will show you how to use regex patterns with the `awk` command.

  • How to Print the First Column or Last Column or Both Using `awk` – Linux Hint

    Linux’s `awk` command is a powerful utility for different operations on text files such as search, replace, and print. It is easy to use with tabular data because it automatically divides each line into fields or columns based on the field separator. When you work with a text file that contains tabular data and want to print the data of a particular column, then the `awk` command is the best option. In this tutorial, we will show you how to print the first column and/or last column of a line or text file. Print the first column and/or last column of a command output Many Linux commands such as the ‘ls’ command generate tabular outputs. Here, we will show you how to print the first column and/or last column from the output of the ‘ls -l’ command.

  • How to Skip the First Line of a File Using `awk`

    There are various uses of the `awk` command in Linux. For example, it can be used to print the content of a text file. The first line of many text files contains the heading of the file, and sometimes, the first line must be skipped when printing the content of the file. In this tutorial, we will show you how to accomplish this task by using the `awk` command.

  • Bash Tree Command

    The intention of this tutorial is to understand the JSON data and how to parse JSON data in C++. We will discuss JSON data, Object, Array, JSON syntax, and then go through several working examples to understand the parsing mechanism of JSON data in C++. The “tree” command is a very extensively used Bash command in Linux. It is used to display the contents of any desired directory of your computer system in the form of a tree structure. By using this tree structure, you can easily find out the paths of your files and directories, check their access permissions, and view the hidden files and directories. Therefore, today we will be talking about using the Bash “tree” command in Linux Mint 20 by sharing some examples with you.

  • How do I Pass Argument in a Bash Script? – Linux Hint

    Most of the Linux Mint 20 Users find themselves stuck when passing an argument in a bash script. You can pass the arguments to any bash script when it is executed. There are several simple and useful ways to pass arguments in a bash script. In this article guide, we will let you know about some very easy ways to pass and use arguments in your bash scripts.

  • How to Truncate a File in Bash – Linux Hint

    Some Linux users might find it difficult to truncate the files in Linux Mint 20. Truncate means to remove or clear the contents of any file without even opening it or without deleting the particular file. Using truncate, you can remove the contents of the file up to zero. There are a lot of easy commands to truncate files from the terminal instead of directly doing it from the directory location. In this article, we are studying the following listed new truncate commands.

  • Advent of Rust 2: You Forgot the & Operator! | The Mad Scientist Review

    I’m half-surprised to find myself continuing on this half-baked plan to do a programming puzzle every day to learn Rust and write a stream-of-consciousness blog post detailing all the mistakes I make! I’m not sure if I’ll keep up the blogging every day, especially because I hope that I’ll make fewer mistakes and wrong turns as the month goes on, and then it won’t be so interesting to blog about. But for now, here’s day 2 of Advent of Code 2020, in which we examine some bizarre password policies. [...] I go back to googling “rust iterator foreach” and read a bit more. It looks like there was an RFC to add such a method, which was eventually closed. In that RFC I read that although there is no foreach() method in Rust iterators, you can use a for loop for that purpose. But also, the count() method is a quick hack that will consume the iterator. Although I generally don’t like quick hacks, I think I will go for the quick hack this time, for two reasons. One is that I believe I might be able to solve the rest of the puzzle using iterator methods, so it would be inconvenient to go from iterator methods to a for loop and then back to iterator methods. The other reason is that the eventual solution to the puzzle is actually a count of valid passwords, so ending the code with the count() method seems appropriate and I hope I’ll be able to use it later!

  • Advent of Rust 4: It’s Hard to Return an Iterator

    Welcome again to this stream-of-consciousness log about learning the Rust programming language by doing the programming puzzles in Advent of Code 2020, or as I like to call it, On the Code by Jack Kerouac.1 Let’s get on with it!

  • Vue.js Router – Linux Hint

    Vue.js is a reactive javascript framework, which is used to build UIs(User Interfaces) and SPAs(Single-page Applications) and developers love to code and feel freedom and comfort while developing applications in Vue.js. For routing purposes, Vue.js does not provide the built-in routing feature. But there is an official third party library with the name of Vue Router for providing this feature. By using this feature we can navigate between the web pages but without reloading. So, in this article, we are going to see how we can install and use Vue Router in Vue.js.

  • Vue.js Emit Custom Events – Linux Hint

    Vue.js is a versatile and full-fledged framework for building huge web applications. Any web application is divided into the Components. For example, a simple website that includes a header, sidebar, and some other components. In order to manage and handle this component-based approach, Vue.js offers the parent-child relationship between the components and if we want to send some data across components. Vue.js offers props to send data from the parent to a child component but to send data from the child to the parent; we have to emit custom events. In this article, we learn about firing and listening to custom events.First of all, let’s see how to fire a custom event in Vue.js and then how to listen to that event.

DRM, Ransom, and Proprietary Spyware

  • Stream-Ripping Is Next Frontier for Piracy Wars

    The developing fight has the potential to be a consequential one both for the entertainment industry and beyond. Section 1201 has been around for a quarter century and has been explored a few times in court — most notably when the movie industry fought to ensure that no one cracked encryption and made permanent computer copies of DVDs and Blu-Rays. That said, copyright experts say that what constitutes an illegal “circumvention” is largely untested in American courts. What's more, with auto owners, smart phone owners and others now complaining that copyright law prevents them from tinkering, Congress has taken a renewed interest in 1201. Recently, Sen. Thomas Tillis (R-NC) has highlighted the need for reform, commenting, "I’m looking forward to our section 1201 hearing this month because my sense is that we may need to tweak that provision to ensure that the exemptions adequately account for consumer concerns, including by allowing for third-party repair of software-enabled devices."

    As for the Section 1201 debate around youtube-dl, the conversation confronts so-called "stream-ripping," a phenomenon that some in the industry worry will erode revenue. Given that streaming platforms have largely supplanted file-sharing hubs this century, it makes sense that access control has become a focal point. Taking steps like a crack down on password sharing is one part of the picture. The industry is also waging a quiet legal war against illegal [sic] streaming boxes, pirate IPTV and, now, rippers.

  •      
  • We're Against Digital Rights Management. Here's Why.
           
             

    What is DRM? DRM consists of access control technologies or restrictive licensing agreements that attempt to restrict the use, modification, and distribution of legally-acquired works. Examples include encryption technology used on DVDs, keys (or passwords) with video games or copying restrictions on ebooks.

  • Why Warner Bros. had to move its 2021 films to HBO Max

    But the shift to HBO Max is a bet on long-term growth in streaming offsetting the immediate loss from theatrical and other revenue streams. It’s part of a long-term play at making streaming a primary business for WarnerMedia that’s been accelerated by the effects of the pandemic. This does come with some downfalls that are impossible to ignore: In 2019, Warner Bros. was the top earner for WarnerMedia, bringing in $14.4 billion — just under 50 percent of all revenues within the division. Some of it was from the box office, but a lot of it came from home video purchases and syndication. Since HBO Max is paying Warner Bros. for the rights to the films, it’s not additional revenue but shifting catalogs between one WarnerMedia property to another.

  • Windows ransomware used to hit aircraft leasing asset manager

    Premier aircraft leasing asset manager SKY Leasing has been hit by a gang of cyber criminals using the Windows Avaddon ransomware and the attackers have leaked 20 files of the company's data on the dark web.

  • Microsoft apologises for feature criticised as workplace surveillance [Ed: Fake apology. "We're sorry we got caught!!!" Microsoft spin echoed by this Bill Gates-bribed (repeatedly even) 'news' site]

    Microsoft has apologised for enabling a feature, “productivity score”, which critics said was tantamount to workplace surveillance.

  • Salesforce scoops up team chat pioneer Slack for $27.7B

    Salesforce has acquired collaboration software vendor Slack in a deal worth $27.7 billion.

    The acquisition — details of which leaked last week — will see Slack’s business chat application integrated with Salesforce’s cloud tools, serving as the new interface for its Customer 360 product portfolio.

  • Slack’s Butterfield Expects to Become a Salesforce President

    Slack Technologies Inc. Chief Executive Officer Stewart Butterfield said he believes he will become one of Salesforce.com Inc.’s presidents after the companies’ $27.7 billion combination is completed.

    Butterfield, who will continue to lead his workplace chat upstart when it becomes a Salesforce unit, also said the idea that competition from Microsoft Corp. forced the deal will be “dispelled.”

Sparky 2020.12

The December snapshot of Sparky 2020.12 of the (semi-)rolling line is out. It is based on the Debian testing “Bullseye”. Changes: • packages updated from Debian testing repos as of December 3, 2020 • Linux kernel 5.9.11 (5.9.12 & 5.10-rc6 in Sparky unstable repos) • Calamares 3.2.34 + kpmcore 4.2.0 • APTus replaced by APTus AppCenter 20201203-RC1; it is still under development but it is enough stable to let you test and work on it https://sparkylinux.org/sparky-aptus-appcenter/ • added ‘sparky-www’ – it is a small package, which provides a custom Sparky’s start page, powered by DuckDuckGo, to your favorite web browser; the start page is located at /opt/sparky/index.html and has to be loaded manually to a web browser, after installing the package https://wiki.sparkylinux.org/doku.php/sparky_www • Firefox 83.0 • Thunderbird 78.5.0 • LibreOffice 7.0.3 • VLC 3.0.11 • Exaile 4.1.0 beta1 • libpython3.9 is installed, but Python 3.8 is still the default one • python2.x & libpython2.x removed • GCC 10.2.0 as the default compiler • added RSS feed clients: QuiteRSS to LXQt and Liferea to MATE and Xfce iso images Read more

CMS: State of the Word, WordPress and More

  • State of the Word 2020

    State of the Word is an annual keynote address delivered by the project co-founder, Matt Mullenweg. [...] A Question and Answer period with pre-recorded videos will follow State of the Word. To take part, record a video of you asking your question to Matt on your computer or phone (landscape format, please). Don’t forget to include your name and how you use WordPress! Try to keep your video to under a minute so Matt can answer as many questions as possible.

  • Showcase Your Work to the Best Effect with a WordPress Gallery Plugin

    In this article, we are going to see best WordPress Gallery Plugin to Showcase your Portfolio. showcase your work to the best effect with a WordPress Gallery Plugin. No matter what kind of website you have, be it an online shop or a blog, you have to make it stand out. There are about two billion websites today, which means that getting yours noticed is extremely hard. Granted, less than half of these pages are active. However, even with those numbers it will be difficult to attract traffic to your page and then keep visitors interested enough to stick. Increasing the visual appeal of your site is as important as offering valuable content if you want to keep people interested.

  • What Happens When You Install Too Many Shopify Apps - SpeedySense

    In a nutshell, when you install too many apps, you call on problems. Your site will get sluggish, and you will lose customers due to the site’s poor performance. And it will be much harder to fix those issues.