Language Selection

English French German Italian Portuguese Spanish

Programming Leftovers

Filed under
Development
  • Run your own CI pipeline with GStreamer's new monorepo

    Recently, the GStreamer project merged all its git repositories into a single, unified repository, often called monorepo. You can read more about this change here.

    One benefit is it greatly simplifies maintaining custom, project specific, GStreamer patches. Previously, projects that needed to develop, or backport, some patches had to go through multiple steps to complete the task. Projects had to fork various git repositories (e.g. gst-plugins-good, gst-plugins-bad, etc), each repository would then have a new branch with the extra commits, and often, gst-build was used to pull all of these repositories together (and gst-build itself had to be patched beforehand to download forked repositories). Thankfully, all that will be a thing of the past.

  • GitOps: Best practices for the real world

    There is a common misunderstanding about how GitOps should be applied in real-world environments. Developers equate Infrastructure as Code (IaC) with GitOps in concept or believe that GitOps can only work with container-based applications — which is not true. In this blog, you will learn what GitOps is and how to apply its principles to real-world development and operations.

  • 5 Open Source tools for Documenting your React Component - DEV Community

    Documenting our code is of course not the easiest part of the development process and at times developers even avoid it saying that it's really boring. In this article, we will take an overview of 5 tools whose purpose is to help us in documenting our React Components with bare minimum efforts thus, which have made documenting our React Components a piece of cake.

  • Meson version bumped to 0.59.2

    Meson is a source package build system. EasyOS has version 0.53.0, however, I wanted to compile the latest 'pipewire' package and it requires meson version 0.54.0 or later.

    So, have recompiled meson in OpenEmbedded, now version 0.59.2.

  • Reviving Net::Pcap

    ... in which I look at how existing patches floating on the internet can be integrated into Net::Pcap to make it compile again.

    Net::Pcap is dear to me, as I have a module implementing an HTTP sniffer using its network capture. So I like it when the module compiles without too much manual work.

  • Smart Flower Pot Build Is All About That Base | Hackaday

    This attractive beginner build is a Python-powered project that runs on a PyPortal Titano and has a speaker that anthropomorphizes the thing so it can berate you politely ask for water in English. But the real magic of this build is in the enclosure itself.

  • Best Plugins for PyCharm

    Plugins are add-ons that enable you to optimize your applications. For instance, if you want to live-stream a soccer match on a website, you may need to install a plugin because your browser doesn’t come with preinstalled streaming tools.

    You might want to think of plugins as an integral part of your computing and web browsing, making sure each activity you do is running smoothly, even if it is just about viewing a document or surfing a blog.

  • Duplicate records differing only in unique identifiers

    There's a big data table with lots of fields and lots of records. Each record has one or more unique identifier field entries. How to check for records that are exactly the same, apart from those unique identifiers?

    I've been tinkering with this problem for years, and you can read my last, fairly clumsy effort in this BASHing data blog post from 2020. Here I present a much-improved solution, which has also gone into A Data Cleaner's Cookbook as an update.

    In 2020, the fastest and most reliable method I used to extract these partial duplicates was with an AWK array and two passes through the table. In the first pass, an array "a" is built with the non-unique-identifier field entries as index string and the tally of each different entry as the value string. In the second pass through the table, AWK looks for records where the value string for the same index string is greater than one, and by default prints the record.

  • Excellent Free Tutorials to Learn Bash - LinuxLinks

    Bash (acronym for the ‘Bourne-Again-SHell’) is the GNU Project’s shell and programming language. It’s an sh-compatible shell that incorporates useful features from the Korn shell (ksh) and C shell (csh). Bash has become a de facto standard for shell scripting. It runs on almost all versions of Unix and a few other operating systems including Windows platforms.

    A Unix shell is both a command interpreter and a programming language. As a command interpreter, the shell provides the user interface to various utilities. The programming language features of Bash allow these utilities to be combined. Files containing commands can be developed, and become commands themselves. A shell script is therefore a quick way of prototyping a complex application. Shell scripting follows the classic Unix philosophy of breaking complex projects into simpler subtasks, of chaining together components and utilities.

    Like all Unix shells, Bash supports filename globbing (wildcard matching), piping, here documents, command substitution, variables and control structures for condition-testing and iteration. The keywords, syntax and other basic features of the language were all copied from sh.

    Here’s our recommended free tutorials to learn Bash.

  • Classic 80s Text-To-Speech On Classic 80s Hardware | Hackaday

    Those of us who were around in the late 70s and into the 80s might remember the Speak & Spell, a children’s toy with a remarkable text-to-speech synthesizer. While it sounds dated by today’s standards, it was revolutionary for the time and was riding a wave of text-to-speech functionality that was starting to arrive to various computers of the era. While a lot of them used dedicated hardware to perform the speech synthesis, some computers were powerful enough to do this in software, but others were not quite able. The VIC-20 was one of the latter, but thanks to an ESP8266 it has been retroactively given this function.

    This project comes to us from [Jan Derogee], a connoisseur of this retrocomputer, and builds on the work by [Earle F. Philhower] who ported the retro speech synthesis software known as SAM from assembly to C which made it possible to run on the ESP8266. Audio playback is handled on the I2S port, but some work needed to be done to get this to work smoothly since this port also handles the communication with the VIC-20. Once this was sorted out, a patch was made to be able to hear the computer’s audio as well as the speech synthesizer’s. Finally, a serial command interface was designed by [Jan] which allows for control of the module.

More in Tux Machines

Security Leftovers

  • Linux Fixes Spectre V1 SWAPGS Mitigation After Being Partially Borked Since Last Year - Phoronix

    This week's set of "x86/urgent" changes for the Linux 5.16-rc4 kernel due out later today has some Spectre V1 fixes after kernel commits last year ended up partially messing things up around its SWAPGS handling. These fixes in turn will also likely be back-ported to relevant stable kernel series. Thanks to an Alibaba engineer, Lai Jiangshan, are some important fixes around the Spectre V1 SWAPGS mitigation that are landing today in the mainline kernel.

  • Reproducible Builds: Reproducible Builds in November 2021

    As a quick recap, whilst anyone may inspect the source code of free software for malicious flaws, almost all software is distributed to end users as pre-compiled binaries. The motivation behind the reproducible builds effort is therefore to ensure no flaws have been introduced during this compilation process by promising identical results are always generated from a given source, thus allowing multiple third-parties to come to a consensus on whether a build was compromised. If you are interested in contributing to our project, please visit our Contribute page on our website.

  • Reproducible Builds (diffoscope): diffoscope 195 released

    The diffoscope maintainers are pleased to announce the release of diffoscope version 195. This version includes the following changes:

    [ Chris Lamb ]
    * Don't use the runtime platform's native endianness when unpacking .pyc
      files to fix test failures on big-endian machines.
    

Linux 5.16-rc4

Fairly small rc4 this week. Three areas stand out in the diff: some
kvm fixes (and tests), network driver fixes, and the tegra SoC sound
fixes.

The rest is fairly spread out: drm fixes, some filesystem stuff,
various arch updates, and some smattering of random driver fixes.

Nothing looks all that scary, although I certainly hope the kvm side
will calm down.

                  Linus
Read more Also: Linux 5.16-rc4 Released - "Nothing Looks All That Scary"

EFF Argument in Patent Troll Case to Be Livestreamed on Monday

At 10 am Monday, FOSS folks and others interested in software patent litigation will have a chance to have a firsthand look at how our courts address patent cases. The case involves a “notorious patent troll,” according to Electronic Frontiers Foundation, that is trying to hide information from Apple, which it’s suing. “At a federal appeals court hearing that will be livestreamed, attorney Alexandra H. Moss, Executive Director at Public Interest Patent Law Institute, who is assisting EFF in the case, will argue that a judge’s order to unseal all documents and preserve public access in the case of Uniloc USA, Inc. v. Apple Inc. should be upheld,” EFF said in a statement on Thursday. “Uniloc is entitled to resolve its patent dispute in publicly-funded courts, Moss will argue, but it’s not entitled to do so secretly.” EFF said that this is the second time the plaintiff, Uniloc, has appealed an order to be more transparent in this case. Read more

Gnuastro 0.16 released

Dear all,

I am happy to announce the 16th official release of GNU Astronomy
Utilities (Gnuastro version 0.16).

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

For a complete review of the new/changed features in this release,
please see [1] below (also available in the 'NEWS' file within the
source code tarball).

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.16.tar.lz    (3.7MB)
  https://ftp.gnu.org/gnu/gnuastro/gnuastro-0.16.tar.gz    (5.9MB)
  https://ftp.gnu.org/gnu/gnuastro/gnuastro-0.16.tar.gz.sig (833B)
  https://ftp.gnu.org/gnu/gnuastro/gnuastro-0.16.tar.lz.sig (833B)

Here are the SHA1 and SHA256 checksums (other ways to check if the
tarball you download is what we distributed). Just note that the
SHA256 checksum is base64 encoded, instead of the hexadecimal encoding
that most checksum tools default to.

fe1f84bf1be270f1a62091e9a5f89bb94b182154  gnuastro-0.16.tar.lz
B4hftfYuyc7x3I6aEJ2SQlkp6x7zOOrPz/bK2koGuR8  gnuastro-0.16.tar.lz
1ae00673648fe8db5630f1de9d70b49fadb42d7d  gnuastro-0.16.tar.gz
kMEdJbsFrRNxDLX4EXntgXNgikJv3/2LIEWGLV/e4i0  gnuastro-0.16.tar.gz

For this release, Pedram Ashofteh Ardakani, Natáli D. Anzanello,
Sepideh Eskandarlou, Raúl Infante-Sainz, Vladimir Markelov and Zahra
Sharbaf directly contributed to the source of Gnuastro, I am very
grateful to all of them. I should also thank Alejandro Serrano
Borlaff, Fernando Buitrago, Mark Calabretta, Zohreh Ghaffari, Giulia
Golini, Leslie Hunt, Raúl Infante-Sainz, Matthias Kluge, Juan Miro,
Juan Molina Tobar, Markus Schaney, Zahra Sharbaf, Vincenzo Testa,
Ignacio Trujillo and Aaron Watkins for their very good suggestions or
bug reports that have been implemented in Gnuastro 0.16.

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.8
  Autoconf 2.71
  Automake 1.16.4
  Help2man 1.48.5
  ImageMagick 7.1.0-9
  Gnulib v0.1-4944-g7fc3219bc
  Autoconf archives v2021.02.19-29-g0fbee2a

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
Read more