Language Selection

English French German Italian Portuguese Spanish

GNU and Programming Leftovers

Filed under
  • GNU poke 0.90 pre-released in

    GNU poke ( is an interactive, extensible editor for binary data. Not limited to editing basic entities such as bits and bytes, it provides a full-fledged procedural, interactive programming language designed to describe data structures and to operate on them.

  • Pirated Themes and Plugins on Official WordPress Site [Ed: General Public License, or GPL, not GNU]

    It’s clear that anyone is free to create derivative works based on all plugins and themes that are considered derivative works.

    That said, the GNU Public License page acknowledges there may be legal gray areas about what is considered a derivative work.

  • Linux vs Windows: Which is better for programming

    Most people are using Windows as their main PC operating system. However, if you’re new to programming, you may see a lot of references to Linux byprofessionals in the field. This is also an operating system; in fact, one of the most popular, Android, according to the Linux official website, is powered by this OS.


    Linux boasts a closely-knit thriving community of programmers and developers. Being an open source-code operating system, it lets its users connect easily. They learn from each other and help one another whenever the system experiences any disruption.

  • Clang LTO PR Submitted For Linux 5.12, But x86_64 Support Not Included Yet

    The pull request is pending that would allow Clang Link-Time Optimizations (LTO) to be enabled when building the Linux 5.12 kernel with this alternative compiler. The initial pull request has the compiler optimization work ready for the core infrastructure and 64-bit ARM (AArch64) while the x86_64 support isn't expected until the Linux 5.13 cycle.

    Last month we outlined the Clang LTO ambitions for the mainline Linux kernel and it getting into position for 5.12. Clang Link Time Optimizations are being pursued for greater performance as well as being necessary for supporting Clang's Control-Flow Integrity (CFI) handling with the kernel.

  • LLVM 11.1 Released To Deal With ABI Breakage - Phoronix

    LLVM 11.1.0 has been tagged as a special release to deal with ABI breakage on LLVM 11.0.

    While these days LLVM's versioning scheme rarely sees a x.1.0 release with generally just sticking to bumping the major version number and squeezing in a point release or two per cycle, LLVM 11.1.0 is out today as a special release between LLVM 11.0.1 and the upcoming LLVM 12.0.

  • Sysadmin hardware: Considerations for planning a PC build  | Enable Sysadmin

    Now that all of the hardware has been considered, you need to figure out what software you will run on your new system. Of course, multi-booting is an option. But be sure to consider the cost of any operating systems or other software you wish to install in your overall budget.

  • 4 tech jobs for people who don't code

    In the first article in this series, I explained how the tech industry divides people and roles into "technical" or "non-technical" categories and the problems associated with this. The tech industry makes it difficult for people interested in tech—but not coding—to figure out where they fit in and what they can do.

    If you're interested in technology or open source but aren't interested in coding, there are roles available for you. Any of these positions at a tech company likely require somebody who is tech-savvy but does not necessarily write code. You do, however, need to know the terminology and understand the product.

    I've recently noticed the addition of the word "technical" onto job titles such as technical account manager, technical product manager, technical community manager, etc. This mirrors the trend a few years ago where the word "engineer" was tacked onto titles to indicate the role's technical needs. After a while, everybody has the word "engineer" in their title, and the classification loses some of its allure.

  • How to Install Python in Ubuntu

    Almost every Linux distribution comes with a version of Python included in the default system packages. But on occasion, due to some reasons, you might not find Python installed on an Ubuntu system.

    Let's take a closer look at how you can install Python on Ubuntu, with a brief guide on updating the Python package as well.

  • How to send an SMS message using Python - PragmaticLinux

    Curious about how you can send an SMS message from Python for free? This article presents a ready-made Python function to send an SMS message. Simply copy-paste the function into your own Python program and voilà, you are all set. The demonstrated Python code to send an SMS, builds on the Textbelt web API. Textbelt allows you to send one SMS for free every day. Great for server monitoring purposes, where you do not expect issue on a regular basis.

  • Method-ish | Playing Perl 6 b6xA Raku

    In my last post I once again struggled with augmenting classes from CORE. That struggle wasn’t needed at all as I didn’t change state of the object with the added method. For doing more advanced stuff I might have to. By sticking my hand so deep into the guts of Rakudo I might get myself burned. Since what I want to do is tying my code to changes the compiler anyway, I might as well go all in and decent into nqp-land.

  • Introduction to named pipes on Bash shell -

    On Linux and Unix-based operating systems, pipes are very useful since they are a simple way to achieve IPC (inter-process communication). When we connect two processes in a pipeline, the output of the first one is used as the input of the second one. To build a so called “anonymous” pipe, all we have to do is to use the | operator. Anonymous, or unnamed pipes last just as long as the processes they connect. There is, however, another type of pipe we can use: a FIFO, or named pipe. In this article we will see how named pipes work and in what they are different from the standard pipes.

  • Benjamin Bouvier: A primer on code generation in Cranelift

    Cranelift is a code generator written in the Rust programming language that aims to be a fast code generator, which outputs machine code that runs at reasonable speeds.

    The Cranelift compilation model consists in compiling functions one by one, holding extra information about external entities, like external functions, memory addresses, and so on. This model allows for concurrent and parallel compilation of individual functions, which supports the goal of fast compilation. It was designed this way to allow for just-in-time (JIT) compilation of WebAssembly binary code in Firefox, although its scope has broadened a bit. Nowadays it is used in a few different WebAssembly runtimes, including Wasmtime and Wasmer, but also as an alternative backend for Rust debug compilation, thanks to cg_clif.

    A classic compiler design usually includes running a parser to translate the source to some form of intermediate representations, then run optimization passes onto them, then feeds this to the machine code generator.

    This blog post focuses on the final step, namely the concepts that are involved in code generation, and what they map to in Cranelift. To make things more concrete, we'll take a specific instruction, and see how it's translated, from its creation down to code generation. At each step of the process, I'll provide a short (ahem) high-level explanation of the concepts involved, and I'll show what they map to in Cranelift, using the example instruction. While this is not a tutorial detailing how to add new instructions in Cranelift, this should be an interesting read for anyone who's interested in compilers, and this could be an entry point if you're interested in hacking on the Cranelift codegen crate.

More in Tux Machines

digiKam 7.7.0 is released

After three months of active maintenance and another bug triage, the digiKam team is proud to present version 7.7.0 of its open source digital photo manager. See below the list of most important features coming with this release. Read more

Dilution and Misuse of the "Linux" Brand

Samsung, Red Hat to Work on Linux Drivers for Future Tech

The metaverse is expected to uproot system design as we know it, and Samsung is one of many hardware vendors re-imagining data center infrastructure in preparation for a parallel 3D world. Samsung is working on new memory technologies that provide faster bandwidth inside hardware for data to travel between CPUs, storage and other computing resources. The company also announced it was partnering with Red Hat to ensure these technologies have Linux compatibility. Read more

today's howtos

  • How to install go1.19beta on Ubuntu 22.04 – NextGenTips

    In this tutorial, we are going to explore how to install go on Ubuntu 22.04 Golang is an open-source programming language that is easy to learn and use. It is built-in concurrency and has a robust standard library. It is reliable, builds fast, and efficient software that scales fast. Its concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines, while its novel-type systems enable flexible and modular program constructions. Go compiles quickly to machine code and has the convenience of garbage collection and the power of run-time reflection. In this guide, we are going to learn how to install golang 1.19beta on Ubuntu 22.04. Go 1.19beta1 is not yet released. There is so much work in progress with all the documentation.

  • molecule test: failed to connect to bus in systemd container - openQA bites

    Ansible Molecule is a project to help you test your ansible roles. I’m using molecule for automatically testing the ansible roles of geekoops.

  • How To Install MongoDB on AlmaLinux 9 - idroot

    In this tutorial, we will show you how to install MongoDB on AlmaLinux 9. For those of you who didn’t know, MongoDB is a high-performance, highly scalable document-oriented NoSQL database. Unlike in SQL databases where data is stored in rows and columns inside tables, in MongoDB, data is structured in JSON-like format inside records which are referred to as documents. The open-source attribute of MongoDB as a database software makes it an ideal candidate for almost any database-related project. This article assumes you have at least basic knowledge of Linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple and assumes you are running in the root account, if not you may need to add ‘sudo‘ to the commands to get root privileges. I will show you the step-by-step installation of the MongoDB NoSQL database on AlmaLinux 9. You can follow the same instructions for CentOS and Rocky Linux.

  • An introduction (and how-to) to Plugin Loader for the Steam Deck. - Invidious
  • Self-host a Ghost Blog With Traefik

    Ghost is a very popular open-source content management system. Started as an alternative to WordPress and it went on to become an alternative to Substack by focusing on membership and newsletter. The creators of Ghost offer managed Pro hosting but it may not fit everyone's budget. Alternatively, you can self-host it on your own cloud servers. On Linux handbook, we already have a guide on deploying Ghost with Docker in a reverse proxy setup. Instead of Ngnix reverse proxy, you can also use another software called Traefik with Docker. It is a popular open-source cloud-native application proxy, API Gateway, Edge-router, and more. I use Traefik to secure my websites using an SSL certificate obtained from Let's Encrypt. Once deployed, Traefik can automatically manage your certificates and their renewals. In this tutorial, I'll share the necessary steps for deploying a Ghost blog with Docker and Traefik.