Language Selection

English French German Italian Portuguese Spanish

LWN

Syndicate content
LWN.net is a comprehensive source of news and opinions from and about the Linux community. This is the main LWN.net feed, listing all articles which are posted to the site front page.
Updated: 10 min 49 sec ago

[$] LWN's 2020 Retrospective

Monday 21st of December 2020 07:49:11 PM
Predictions are hard, as they say, especially when they are about the future. So perhaps your editor can be forgiven for not anticipating that 2020 would be the sort of year that makes one think nostalgically about trips to the dentist, waiting in a crowded motor-vehicle office, or crossing the Pacific in a row-47 middle seat. If only we had known how good we had it. Be that as it may, this year is finally coming to an end. Read on for a look back at the year, starting with the ill-advised predictions made in January.

Three stable kernels

Monday 21st of December 2020 04:15:43 PM
Stable kernels 5.10.2, 5.9.16, and 5.4.85 have been released with important fixes. This is the last 5.9.y kernel, users should move to 5.10.y at this time.

Security updates for Monday

Monday 21st of December 2020 03:57:51 PM
Security updates have been issued by Debian (curl, influxdb, lxml, node-ini, php-pear, and postsrsd), Fedora (chromium, curl, firefox, matrix-synapse, mingw-jasper, phpldapadmin, and thunderbird), Mageia (openjpeg2), openSUSE (gcc7, openssh, PackageKit, python-urllib3, slurm_18_08, and webkit2gtk3), Oracle (fapolicydbug, firefox, nginx:1.16, nodejs:12, and thunderbird), Red Hat (libpq, openssl, and thunderbird), and SUSE (curl, firefox, openssh, ovmf, slurm_17_11, slurm_18_08, slurm_20_02, and xen).

Wade: Balancing the needs around the CentOS platform

Saturday 19th of December 2020 10:29:58 PM
Karsten Wade, who has served on the CentOS board among other things, has posted a blog entry on the CentOS change and its effects on users. "Providing our community with a solid, reliable distro that is good-enough for your workloads is a strong part of the CentOS brand. We’re confident that CentOS Stream can do this. And while I’m certain now that CentOS Linux cannot do what CentOS Stream can to solve the openness gap, I am confident that CentOS Stream can cover 95% (or so) of current user workloads stuck on the various sides of the availability gap. I believe that Red Hat will make solutions available as well that can cover other sides of the gap without too much user heartburn in the end." He is asking for input on what those solutions should look like.

[$] 5.11 Merge window, part 1

Friday 18th of December 2020 08:42:24 PM
When Linus Torvalds released the 5.10 kernel, he noted that the 5.11 merge window would run up against the holidays. He indicated strongly that maintainers should send him pull requests early as a result. Maintainers appear to have listened; over 10,000 non-merge changesets were pulled into the mainline in the first three days of the 5.11 merge window. Read on for a summary of the most significant changes in that flood of patches.

Security updates for Friday

Friday 18th of December 2020 02:07:39 PM
Security updates have been issued by Arch Linux (blueman, chromium, gdk-pixbuf2, hostapd, lib32-gdk-pixbuf2, minidlna, nsd, pam, and unbound), CentOS (gd, openssl, pacemaker, python-rtslib, samba, and targetcli), Debian (kernel, lxml, and mediawiki), Fedora (mbedtls), openSUSE (clamav and openssl-1_0_0), Oracle (firefox and openssl), Red Hat (openssl, postgresql:12, postgresql:9.6, and thunderbird), Scientific Linux (openssl and thunderbird), and SUSE (cyrus-sasl, openssh, slurm_18_08, and webkit2gtk3).

[$] Managing multifunction devices with the auxiliary bus

Thursday 17th of December 2020 07:04:27 PM
Device drivers usually live within a single kernel subsystem. Sometimes, however, developers need to handle functionalities outside of this model. Consider, for example, a network interface card (NIC) exposing both Ethernet and RDMA functionalities. There is one hardware block, but two drivers for the two functions. Those drivers need to work within their respective subsystems, but they must also share access to the same hardware. There is no standard way in current kernels to connect those drivers together, so developers invent ad-hoc methods to handle the interaction between them. Recently, Dave Ertman posted a patch set introducing a new type of a bus, called the "auxiliary bus", to address this problem.

Security updates for Thursday

Thursday 17th of December 2020 02:21:29 PM
Security updates have been issued by Debian (firefox-esr, sympa, thunderbird, tomcat8, and xerces-c), Fedora (fprintd, kernel, libfprint, and synergy), Mageia (bitcoin, dpic, firefox, jasper, jupyter-notebook, sam2p, thunderbird, and x11-server), Oracle (firefox, gd, kernel, net-snmp, openssl, python-rtslib, samba, and targetcli), Red Hat (fapolicyd, openshift, Red Hat Virtualization, and web-admin-build), SUSE (xen), and Ubuntu (unzip).

LWN.net Weekly Edition for December 17, 2020

Thursday 17th of December 2020 12:50:16 AM
The LWN.net Weekly Edition for December 17, 2020 is available.

Speeding up CPython

Wednesday 16th of December 2020 07:34:22 PM
Python, at least in the CPython reference implementation, is not a particularly speedy language. That is not at all surprising to anyone who has used it—the language is optimized for understandability and development speed, instead. There have been lots of efforts over the years to speed up various parts of the interpreter, compiler, and virtual-machine bytecode execution, though no comprehensive overhaul has been merged into CPython. An interesting new proposal could perhaps change that, though it is unclear at this point if it will take off.

GTK 4.0

Wednesday 16th of December 2020 06:55:34 PM
Version 4.0 of the GTK toolkit has been released. "It is impossible to summarize 4 years of development in a single post. We’ve written detailed articles about many of the new things in this release over the past year: Data transfers, Event controllers, Layout managers, Render nodes, Media playback, Scalable lists, Shaders, Accessibility." GTK 2 has reached the end of its life.

Two stable kernels

Wednesday 16th of December 2020 04:35:54 PM
Stable kernels 5.9.15 and 5.4.84 have been released. They both contain important fixes and users should upgrade.

Security updates for Wednesday

Wednesday 16th of December 2020 04:30:17 PM
Security updates have been issued by Debian (firefox-esr), Fedora (mingw-openjpeg2, openjpeg2, and synergy), openSUSE (audacity and gdm), Oracle (libexif, libpq, and thunderbird), Red Hat (firefox, gnutls, go-toolset:rhel8, java-1.7.1-ibm, java-1.8.0-ibm, kernel, kernel-rt, linux-firmware, mariadb-connector-c, mariadb:10.3, memcached, net-snmp, nginx:1.16, nodejs:12, openssl, pacemaker, postgresql:10, python-django-horizon, python-XStatic-Bootstrap-SCSS, python-XStatic-jQuery, and python-XStatic-jQuery224), Scientific Linux (gd, kernel, pacemaker, python-rtslib, samba, and targetcli), SUSE (openssh, PackageKit, spice, and spice-gtk), and Ubuntu (firefox and imagemagick).

Jansson: On the Graying of GNOME

Wednesday 16th of December 2020 03:24:49 PM
Hans Petter Jansson has done an analysis of contributions to the GNOME project, raising some concerns about how well the project is doing at bringing in new developers for the long haul. "According to this, GNOME peaked at slightly above 1,400 contributors in 2010 and went into decline with the GNOME 3.0 release the following year. However, 2020 saw the most contributors in a long time, even with preliminary data — there’s still two weeks to go. Who knows if it’s an anomaly or not. It’s been an atypical year across the board."

[$] A new release for GNU Octave

Tuesday 15th of December 2020 07:45:31 PM
On November 26, version 6.1 of GNU Octave, a language and environment for numerical computing, was released. There are several new features and enhancements in this release, including improvements to graphics output, better communication with web services, and over 40 new functions. We will take a look at where Octave fits into the landscape of numerical tools for scientists and engineers, and recount some of its long history.

Firefox 84.0 and 78.6 ESR

Tuesday 15th of December 2020 05:19:32 PM
Firefox 84.0 has been released. This version includes an accelerated rendering pipeline for Linux/GNOME/X11 users and improved performance and compatibility with Docker. This is the final release to support Adobe Flash. The release notes have additional details.

Firefox 78.6.0 ESR has also been released, with various stability, functionality, and security fixes. See the release notes for more information.

CloudLinux promises a CentOS Replacement

Tuesday 15th of December 2020 04:42:51 PM
CloudLinux has put out a press release stating that it will commit over $1 million per year toward the creation and maintenance of a CentOS replacement distribution. "CloudLinux is sponsoring Project Lenix, which will create a free, open-source, community-driven, 1:1 binary compatible fork of RHEL 8 (and future releases). It will provide an uninterrupted way to convert existing CentOS servers with absolutely zero downtime. Entire server fleets will be able to be converted with a single command with no reinstallation and no reboots required."

Security updates for Tuesday

Tuesday 15th of December 2020 04:13:55 PM
Security updates have been issued by Debian (libxstream-java and xen), Fedora (curl), openSUSE (curl, kernel, mariadb, and openssl-1_1), Oracle (kernel, libexif, thunderbird, and xorg-x11-server), Red Hat (curl, gd, kernel, kernel-rt, linux-firmware, net-snmp, openssl, pacemaker, python-rtslib, samba, targetcli, and xorg-x11-server), Scientific Linux (libexif, thunderbird, and xorg-x11-server), and SUSE (clamav, gdm, and kernel).

[$] Statistics from the 5.10 kernel development cycle

Monday 14th of December 2020 08:46:10 PM
Linus Torvalds released the 5.10 kernel on December 13 at the end of a typical nine-week development cycle. At that point, 16,174 non-merge changesets had been pulled into the mainline; that makes 5.10 a larger cycle than 5.9, but it falls just short of the record set by 5.8, which ended with 16,308 changesets. For the most part 5.10 is just another routine kernel release, but there are a couple of interesting things to be seen in the overall statistics.

Stable kernel 5.10.1 released

Monday 14th of December 2020 08:32:16 PM
The 5.10.1 stable kernel update has been released on an expedited schedule; it contains reverts for a couple of late-arriving 5.10 patches that turned out not to be as good an idea as it first seemed.

More in Tux Machines

GNOME, Arch and FreeBSD

  • Phaedrus Leeds: Cleaning Up Unused Flatpak Runtimes

    Despite having been a contributor to the GNOME project for almost 5 years now (first at Red Hat and now at Endless), I’ve never found the time to blog about my work. Fortunately in many cases collaborators have made posts or the work was otherwise announced. Now that Endless is a non-profit foundation and we are working hard at advocating for our solutions to technology access barriers in upstream projects, I think it’s an especially good time to make my first blog post announcing a recent feature in Flatpak, which I worked on with a lot of help from Alex Larsson. On many low-end computers, persistent storage space is quite limited. Some Endless hardware for example has only 32 GB. And we want to fill much of it with useful content in the form of Flatpak apps so that the computers are useful even offline. So often in the past we have shipped computers that are already quite full before the user stores any files. Ideally we want that limited space to be used as efficiently as possible, and Flatpak and OSTree already have some neat mechanisms to that end, such as de-duplicating any identical files across all apps and their runtimes (and, in the case of Endless OS, including the OS files as well).

  • Outreachy Progress Report

    I’m halfway gone into my Outreachy internship at the GNOME Foundation. Time flies so fast right? I’m a little emotional cuz I don’t want this fun adventure to end soo soon. Just roughly five weeks to go!! Oh well, let’s find out what I’ve been able to achieve over the past eight weeks and what my next steps are… My internship project is to complete the integration between the GNOME Translation Editor (previously known as Gtranslator) and Damned Lies(DL). This integration involves enabling users to reserve a file for translation directly from the Translation Editor and permitting them to upload po files to DL.

  • Kubernetes on Hetzner in 2021

    Hello and welcome to my little Kubernetes on Hetzner tutorial for the first half of 2021. This tutorial will help you bootstrapping a Kubernetes Cluster on Hetzner with KubeOne. I am writing this small tutorial, because I had some trouble to bootstrap a cluster on Hetzner with KubeOne. But first of all let us dive into the question why we even need KubeOne and how does KubeOne helps. KubeOne is a small wrapper around kubeadm. Kubeadm is the official tool for installing Kubernetes on VMs or bare-metal nodes, but it has one major disadvantage: It is very toilsome. KubeOne tries to solve this with providing you a wrapper around Kubeadm and various other provisioning tools like Terraform. Terraform lets you manage your infrastructure as code. The advantage is that you can easily destroy, deploy or enhance your infrastructure via a few config file changes. You may ask yourself why you even need this tutorial. There is already at least one tutorial that guides you through the process of setting up a Kubernetes cluster on Hetzner. This is correct, but I felt it is unnecessary complicated, takes too much manual steps and is not really automatable (although there are solutions like kubespray that intend to solve this).

  • FreeBSD Desktop – Part 22 – Configuration – Aero Snap Extended

    I like to post new articles and solutions when I think they are ready. Production tested and stable. Well thought and tested … or at least trying to make things as good as possible in the available time window. Perfectionism definitely does not help making often articles on the blog.

    Today’s solution is not perfect but I will ‘ship it’ anyway because good and done is better then perfect. I wanted to rework it so many times that I stopped counting … and I really would like to continue the series – thus I have made a conscious decision to finally release it and hope that maybe someone else will have better ideas to make it better. I really wanted to provide pixel perfect solution with as much screen space used as possible but to deliver it as it is I tested it only on the resolution I use the most – the FullHD one with 1920×1080 pixels.

    You may want to check other articles in the FreeBSD Desktop series on the FreeBSD Desktop – Global Page where you will find links to all episodes of the series along with table of contents for each episode’s contents.

Oracle, Red Hat, and CloudLinux

  • Cloud Native Patterns: a free ebook for developers

    Building cloud native applications is a challenging undertaking, especially considering the rapid evolution of cloud native computing. But it’s also very liberating and rewarding. You can develop new patterns and practices where the limitations of hardware dependent models, geography, and size no longer exist. This approach to technology can make cloud application developers more agile and efficient, even as it reduces deployment costs and increases independence from cloud service providers. Oracle is one of the few cloud vendors to also have a long history of providing enterprise software. Wearing both software developer and cloud service provider hats, we understand the complexity of transforming on-premises applications into cloud native applications. Removing that complexity for customers is a guiding tenet at Oracle.

  • Red Hat extends certification expiration dates and expands remote offerings

    In 2020, remote exams became the standard experience for certificate-hopefuls across many fields. Red Hat worked quickly to release four of our most in-demand exams in this format. We have seen remote exams grow rapidly in popularity with our candidates. As we roll into 2021, our list has expanded with even more offerings. Now, you can take advantage of more remote exams to validate your skills in Red Hat’s most in-demand technologies, including OpenShift, Ansible, Containers and Kubernetes, and more.

  • CloudLinux Expands Its Extended Lifecycle Support Services to Cover More End-of-Life Linux Distributions
  • CloudLinux to Offer Lifecycle Support Services for Expired Linux Distributions

    CloudLinux on Monday announced the expansion of its affordable Extended Lifecycle Support (ELS) services for Linux distributions, by providing its own updates and security patches for several years after expiration of the products’ end-of-life date.

Sharing and Free Software Leftovers

  • 10 fabulous free apps for working with audio, video, and images

    You want Photoshop-like features without the Photoshop-like price tag, and, for that, there’s Gimp. Free, open-source, and available for Windows, Mac, and Linux, this powerful tool can be used by graphic designers, photographers, and illustrators alike.

  • Gnuastro 0.14 released
    Dear all,
    
    I am happy to announce the availability of Gnuastro 0.14. For the full
    list of added and changed/improved features, see the excerpt of the
    NEWS file for this release in [1] below.
    
    Gnuastro is an official GNU package, consisting of various
    command-line programs and library functions for the manipulation and
    analysis of (astronomical) data. All the programs share the same basic
    command-line user interface (modeled on GNU Coreutils). For the full
    list of Gnuastro's library, programs, and a comprehensive general
    tutorial (recommended place to start using Gnuastro), please see the
    links below respectively:
    
    https://www.gnu.org/s/gnuastro/manual/html_node/Gnuastro-library.html
    https://www.gnu.org/s/gnuastro/manual/html_node/Gnuastro-programs-list.html
    https://www.gnu.org/s/gnuastro/manual/html_node/General-program-usage-tutorial.html
    
    The most prominent new feature may be the new Query program (called
    with 'astquery'). It allows you to directly query many large
    astronomical data centers (currently VizieR, NED, ESA and ASTRON) and
    only download your selected columns/rows. For example with the command
    below you can download the RA, Dec and Parallax of all stars in the
    Gaia eDR3 dataset (from VizieR) that overlap with your
    'image.fits'. You just have to change '--dataset' to access any of the
    +20,000 datasets within VizieR for example! You can also search in the
    dataset metadata from the command-line, and much more.
    
      astquery vizier --dataset=gaiaedr3 --overlapwith=image.fits \
               --column=RAJ2000,DEJ2000,Plx
    
    See the new "Query" section in the Gnuastro book for more:
    
    https://www.gnu.org/software/gnuastro/manual/html_node/Query.html
    
    Here is the compressed source and the GPG detached signature for this
    release. To uncompress Lzip tarballs, see [2]. To check the validity
    of the tarballs using the GPG detached signature (*.sig) see [3]:
    
      https://ftp.gnu.org/gnu/gnuastro/gnuastro-0.14.tar.lz    (3.6MB)
      https://ftp.gnu.org/gnu/gnuastro/gnuastro-0.14.tar.gz    (5.6MB)
      https://ftp.gnu.org/gnu/gnuastro/gnuastro-0.14.tar.gz.sig (833B)
      https://ftp.gnu.org/gnu/gnuastro/gnuastro-0.14.tar.lz.sig (833B)
    
    Here are the MD5 and SHA1 checksums:
    
    30d77e2ad1c03d4946d06e4062252969  gnuastro-0.14.tar.gz
    f3ddbc4b5763ec2742f9080d42b69ed3  gnuastro-0.14.tar.lz
    cfbcd4b9ae1c5c648c5dc266d638659f0117c816  gnuastro-0.14.tar.gz
    4e4c6b678095d2838f77b2faae584ea51df2d33c  gnuastro-0.14.tar.lz
    
    I am very grateful to (in alphabetic order) Pedram Ashofteh Ardakani,
    Thérèse Godefroy, Raúl Infante-Sainz, Sachin Kumar Singh, Samane Raji
    and Zahra Sharbaf for directly contributing to the source of Gnuastro
    since the last alpha-release. It is great that in this release we have
    an equal gender balance in the contributors. I sincerely hope this can
    continue in the next release :-).
    
    I am also very grateful to (in alphabetic order) Antonio Diaz Diaz,
    Paul Eggert, Andrés García-Serra Romero, Thérèse Godefroy, Bruno
    Haible, Martin Kuemmel, Javier Licandro, Alireza Molaeinezhad, Javier
    Moldon, Sebastian Luna Valero, Samane Raji, Alberto Madrigal, Carlos
    Morales Socorro, Francois Ochsenbein, Joanna Sakowska, Zahra Sharbaf,
    Sachin Kumar Singh, Ignacio Trujillo and Xiuqin Wu for their very
    useful comments, suggestions and bug fixes that have now been
    implemented in Gnuastro since the last alpha-release.
    
    If any of Gnuastro's programs or libraries are useful in your work,
    please cite _and_ acknowledge them. For citation and acknowledgment
    guidelines, run the relevant programs with a `--cite' option (it can
    be different for different programs, so run it for all the programs
    you use). Citations _and_ acknowledgments are vital for the continued
    work on Gnuastro, so please don't forget to support us by doing so.
    
    This tarball was bootstrapped (created) with the tools below. Note
    that you don't need these to build Gnuastro from the tarball, these
    are the tools that were used to make the tarball itself. They are only
    mentioned here to be able to reproduce/recreate this tarball later.
      Texinfo 6.7
      Autoconf 2.70
      Automake 1.16.2
      Help2man 1.47.17
      ImageMagick 7.0.10-59
      Gnulib v0.1-4396-g3b732e789
      Autoconf archives v2019.01.06-98-gefa6f20
    
    The dependencies to build Gnuastro from this tarball on your system
    are described here:
      https://www.gnu.org/s/gnuastro/manual/html_node/Dependencies.html
    
    Best wishes,
    Mohammad
    
  • LibreOffice Community Member Monday: Felipe Viggiano and Zhenghua Fong

    In the future, I would like to start contributing more with others teams, and with TDF in order to help increase LibreOffice’s success. In my opinion, LibreOffice needs to be better known – we have a great free office solution that attends the majority of the requirements of the general public, but, at least in Brazil, many people are not aware of this!

  • ISA2 Launches New Open Source Bug Bounties

    Awards of up to EUR 5000 are available for finding security vulnerabilities in Element, Moodle and Zimbra, open source solutions used by public services across the European Union. There is a 20% bonus for providing a code fix for the bugs they discover.

  • Amazon Creates ALv2-Licensed Fork of Elasticsearch

    Amazon states that their forks of Elasticsearch and Kibana will be based on the latest ALv2-licensed codebases, version 7.10. “We will publish new GitHub repositories in the next few weeks. In time, both will be included in the existing Open Distro distributions, replacing the ALv2 builds provided by Elastic. We’re in this for the long haul, and will work in a way that fosters healthy and sustainable open source practices—including implementing shared project governance with a community of contributors,” the announcement says.

  • Elasticsearch and Kibana are now business risks

    In a play to convert users of their open source projects into paying customers, today Elastic announced that they are changing the license of both Elasticsearch and Kibana from the open source Apache v2 license to Server Side Public License (SSPL). If your organisation uses the open source versions of either Elasticsearch or Kibana in its products or projects, it is now at risk of being forced to release its intellectual property under terms dictated by another.

  • Wikipedia Turns Twenty

    If there is a modern equivalent to Encyclopédie for cultural impact, scale of content, and controversy, it’s surely Wikipedia, the free open-source online encyclopedia run by the not-for-profit Wikimedia Foundation. Started by entrepreneurs Jimmy Wales and Larry Sanger on January 15th, 2001, it has since grown to become one of the world’s top 15 websites with a vast database of 55 million articles in 317 languages, as well as a family of related projects covering everything from travel guides to recipes. Beloved of geeks, friend to lazy students and journalists alike, and bane to procrastinators, it celebrates its 20th birthday this month.

    It’s hard to overstate just how much information is on Wikipedia. You can instantly find the average July temperature in Lisbon, the difference between an ale and a lager, the historical background to the Fifth Amendment of the United States Constitution, or the full list of 10 ways a batsman can be out in cricket. The illustrated article on aguaxima includes far more information than Diderot’s effort, and readers can find a far more accurate article on religion in Sweden. These articles all link to their sources, so a reader can do their own fact-checking.

    There is one more crucial difference between Encyclopédie and Wikipedia, though. Encyclopédie’s subscribers needed to pay 280 livres for it, far beyond the wages of an ordinary person. But anyone who can afford a device with an Internet connection can access Wikipedia wherever they go. This accessibility was game-changing.

Programming Leftovers

  • An Introduction to Bash Brace Expansion

    The Borne Again Shell (BASH) has a lot of great features that it borrows from other shells and even from some programming languages. It was created in the late 1980s in a response to a lacking in the current available shells on Berkley Distributions (BSD), and the predecessor to Linux, GNU. BASH features numerous in-built features such as in-line scripting capabilities like brace expansion, which we are going to examine today.

  • Rakudo Weekly News: 2021.04 Grant Reporting
  • The Trouble with Reference Counting

    Perl uses a simple form of garbage collection (GC) called reference counting. Every variable created by a Perl program has a refcnt associated with it. If the program creates a reference to the variable, Perl increments its refcnt. Whenever Perl exits a block it reclaims any variables that belong to the block scope. If any are references, their referenced values’ refcnt are either decremented or they’re reclaimed as well if no other references to them remain.

  • Dustin J. Mitchell: The Horrors of Partial-Identity Encodings -- or -- URL Encoding Is Hard

    URL encoding is a pretty simple thing, and has been around forever. Yet, it is associated with a significant fraction of bugs in web frameworks, libraries, and applications. Why is that? Is there a larger lesson here?

  • Enrico Zini: nspawn-runner: support for image selection

    .gitlab-ci.yml supports 'image' to allow selecting in which environment the script gets run. The documentation says "Used to specify a Docker image to use for the job", but it's clearly a bug in the documentation, because we can do it with nspawn-runner, too. It turns out that most of the environment variables available to CI runs are also available to custom runner scripts. In this case, the value passed as image can be found as $CUSTOM_ENV_CI_JOB_IMAGE in the custom runner scripts environment.

  • Introduction to Making GraphQL APIs and Apps in Node.js – Linux Hint

    The communication and data transfer between the front end and backend of any application occurs through APIs (Application Programming Interface). There are many different types of APIs used to communicate between the front and back-end applications like RESTful API, SOAP API, GraphQL API, etc. The GraphQL API is a relatively new technology, and it is much faster than other types of APIs available. Fetching data from the database using GraphQL api is much faster than the REST API. While using GraphQL API, the client has control to fetch only the required data instead of getting all the details; that is why GraphQL API works faster than REST API.

  • Issue with phpMyAdmin and PHP: Warning in ./libraries/sql.lib.php#613 count(): Parameter must be an array or an object that implements Countable”

    Today, I had installed PHP 7.3 and phpMyAdmin on Ubuntu 18.04 LTS system. I am using MariaDB as database server running on the same instance. When I tried to access data in tables using phpMyAdmin got the following error message on screen.

  • C++ Access Specifiers – Linux Hint

    In C++, a class is a set of variables and functions that have been configured to work together. When the variables of the class are given values, an object is obtained. An object has the same variables and functions as a class, but this time, the variables have values. Many objects can be created from one class. One object differs from another object according to the different set of values assigned to the variables of the other object. Creating an object from a class is said to be instantiating the object. Even if two different objects have the same values for their variables, these objects are different entities, identified by different names in the program. The variables for an object and its corresponding class are called data members. The functions of an object and its corresponding class are called member functions. Data members and member functions are called members. The word access means to read or change the value of a variable, and it also means to use a function. C++ access specifiers are the words, “private,” “protected,” and “public.” They decide whether a member can access other members of its class, or if a function or operator outside the class and not belonging to the class can access any member of the class. They also decide whether a member of a derived (child) class can access a member of a parent class. Basic knowledge of C++ is required to understand this article and to test the code provided.

  • Compiling Code in Parallel using Make – Linux Hint

    Whoever you ask how to build software properly will come up with Make as one of the answers. On GNU/Linux systems, GNU Make [1] is the Open-Source version of the original Make that was released more than 40 years ago — in 1976. Make works with a Makefile — a structured plain text file with that name that can be best described as the construction manual for the software building process. The Makefile contains a number of labels (called targets) and the specific instructions needed to be executed to build each target. Simply speaking, Make is a build tool. It follows the recipe of tasks from the Makefile. It allows you to repeat the steps in an automated fashion rather than typing them in a terminal (and probably making mistakes while typing). Listing 1 shows an example Makefile with the two targets “e1” and “e2” as well as the two special targets “all” and “clean.” Running “make e1” executes the instructions for target “e1” and creates the empty file one. Running “make e2” does the same for target “e2” and creates the empty file two. The call of “make all” executes the instructions for target e1 first and e2 next. To remove the previously created files one and two, simply execute the call “make clean.”

  • Zeal – simple offline documentation browser

    Zeal is billed as a simple offline documentation browser. It offers easy access to a huge database of documentation, API manuals, and code snippets. The main purpose of the software is to enable you to have reference documentation at your fingertips. Let’s see how it fares.