GNOME, Arch and FreeBSD
-
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).
-
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.
-
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).
-
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
-
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.
-
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 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
-
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.
-
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
-
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!
-
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 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.
-
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.
-
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
-
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.
-
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.
-
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?
-
.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.
-
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.
-
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.
-
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.
-
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 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.
|
The FSFE's message
I Love Free Software - and you?
LibreOffice Loves Free Software
LibreOffice Loves Free Software
Show Your Love for Free Software
Show Your Love for Free Software
Max Mehl (English): I love the hidden champions
Max Mehl (English): I love the hidden champions
I Love Free Software on the go: the Replicant operating system
I Love Free Software on the go: the Replicant operating system in practice