Language Selection

English French German Italian Portuguese Spanish

Programming Leftovers

Filed under
Development

  • How to Create Audiobooks Using Python – Linux Hint

    As you might already know, Python is a wonderful programming tool because it allows us to do virtually anything! This also means that we can create our own software. In this tutorial, we will learn to synthesize speech, get Python to read pdfs, even translate them for us, and then read them to us.

    What we’re going to do here is to get Python to read us a pdf, and translate it for us. First, we’ll try to create an English audiobook. As such, the first thing we must logically do is to extract the text from the pdf. For this, we use the module known as tika. As usual, to install Tika, one conjures pip.

  • Rakudo Weekly News: 2021.29 Scheduled To 3

    After a lot of discussion, Andrew Shitov has announced the schedule of the first ever Raku Conference (online on 6, 7 and 8 August 2021). Yes, you read that right: 3 days! One track per day.

  • Nibble Stew: A quick look at the O3DE game engine and building it with Meson

    Earlier today I livestreamed what it would take to build a small part of the recently open sourced O3DE game engine. The attempt did not get very far, so here is a followup. It should not be considered exhaustive in any way, it is literally just me poking the code for a few hours and writing down what was discovered.

  • Use GDB Print Stack Trace of Core File

    If you have been programming for a while, you have come across the term core dump.
    If you look at the core man page, it defines as core dump as “a file containing an image of the process’s memory at the time of termination. This image can be used in a debugger (e.g.) gdb to inspect the state of the program at the time that it terminated”.

    In simple terms, a core dump file is a file that contains memory information about a process when the specific process terminates.

    There are various reasons why processes may crash and create a core dump file. This tutorial will show you how to use GDB to view the core dump file and print the stack trace.

  • Calling getpid function in C with Examples – Linux Hint

    Getpid() is the function used to get the process ID of the process that calls that function. The PID for the initial process is 1, and then each new process is assigned a new Id. It is a simple approach to getting the PID. This function only helps you in getting the unique processes ids.

    Functions used in getting ids

    Two types of IDs are present here. One is the current id of the process PID. Whereas the other is the id of the parent process PPID. Both these functions are built-in functions that are defined in library. While running the code without using this library may cause an error and stops executing.

  • C String Concatenation – Linux Hint

    Concatenation is the process to append second string to the end of first string. In this article we are going to discuss how to concatenate strings in C by using different methods.

    The standard C library function which is used to concatenate string is strcat().

  • Quick Sort in Java Explained

    Quick Sort, also written as Quicksort, is a list sorting scheme that uses the divide-and-conquer paradigm. There are different schemes for Quick Sort, all using the divide-and-conquer paradigm. Before explaining Quick Sort, the reader must know the convention for halving a list or sub-list and the median of three values.

    [...]

    What about the case, when the number of elements in the list or sub-list is odd? At the start, the length is still divided by 2. By convention, the number of elements in the first half of this division is length / 2 + 1/2. Index counting begins from zero. The middle index is given by length / 2 – 1/2. This is considered as the middle term, by convention. For example, if the number of elements in a list is 5, then the middle index is 2 = 5/2 – 1/2. And, there are three elements in the first half of the list and two elements in the second half. The middle element of the whole list is the third element at index, 2, which is the middle index because index counting begins from 0.

More in Tux Machines

OpenSSH 8.8

  • [openssh-unix-announce] Announce: OpenSSH 8.8 released

    A near-future release of OpenSSH will switch scp(1) from using the legacy scp/rcp protocol to using SFTP by default.

    Legacy scp/rcp performs wildcard expansion of remote filenames (e.g. "scp host:* .") through the remote shell. This has the side effect of requiring double quoting of shell meta-characters in file names included on scp(1) command-lines, otherwise they could be interpreted as shell commands on the remote side.

    This creates one area of potential incompatibility: scp(1) when using the SFTP protocol no longer requires this finicky and brittle quoting, and attempts to use it may cause transfers to fail. We consider the removal of the need for double-quoting shell characters in file names to be a benefit and do not intend to introduce bug- compatibility for legacy scp/rcp in scp(1) when using the SFTP protocol.

    Another area of potential incompatibility relates to the use of remote paths relative to other user's home directories, for example - "scp host:~user/file /tmp". The SFTP protocol has no native way to expand a ~user path. However, sftp-server(8) in OpenSSH 8.7 and later support a protocol extension "expand-path at openssh.com" to support this.

  • OpenSSH 8.8

    sshd(8) from OpenSSH 6.2 through 8.7 failed to correctly initialise supplemental groups when executing an AuthorizedKeysCommand or AuthorizedPrincipalsCommand, where a AuthorizedKeysCommandUser or AuthorizedPrincipalsCommandUser directive has been set to run the command as a different user. Instead these commands would inherit the groups that sshd(8) was started with.

    Depending on system configuration, inherited groups may allow AuthorizedKeysCommand/AuthorizedPrincipalsCommand helper programs to gain unintended privilege.

    Neither AuthorizedKeysCommand nor AuthorizedPrincipalsCommand are enabled by default in sshd_config(5).

  • OpenSSH 8.8 release disabling rsa-sha digital signature support

    Published the release of OpenSSH 8.8, an open client and server implementation for the SSH 2.0 and SFTP protocols. The release is notable for disabling by default the ability to use digital signatures based on RSA keys with a SHA-1 hash (“ssh-rsa”). The end of support for “ssh-rsa” signatures is due to an increase in the effectiveness of collision attacks with a given prefix (the cost of collision guessing is estimated at about 50 thousand dollars). To test the use of ssh-rsa on your systems, you can try connecting via ssh with the “-oHostKeyAlgorithms = -ssh-rsa” option. Support for RSA signatures with SHA-256 and SHA-512 (rsa-sha2-256 / 512) hashes, which are supported since OpenSSH 7.2, is unchanged.

Audiocasts/Shows/Videos: Security, Linux Action News, Ubuntu 21.10 Beta

  • Josh Bressers: Episode 290 – The security of the Matrix

    Josh and Kurt talk about the security of the Matrix movie series. There was a new Matrix trailer that made us want to discuss some of the security themes. We talk about how the movie is very focused on computing in the 90s. How Neo probably ran Linux and they used a real ssh exploit. How a lot of the plot is a bit silly. It’s a really fun episode.

  • Linux Action News 208

    Canonical gives Linux admins a lucky break, the details on Android's slow shift to an upstream Kernel, a breakthrough for Linux gaming, and our take on GNOME 41. Plus how AlmaLinux just rounded out their offering.

  • Brodie Robertson Channel Trailer 2021 - Invidious
  • Ubuntu 21.10 Beta Run Through - Invidious

    In this video, we are looking at Ubuntu 21.10 Beta. Enjoy!

  • Ubuntu 21.10 Beta

    Today we are looking at Ubuntu 21.10 Beta. It comes with Linux Kernel 5.13, Gnome 40, and uses about 1.1GB of ram when idling. Enjoy!

Stable Kernels: 5.14.8, 5.10.69, 5.4.149, 4.19.208, 4.14.248, 4.9.284, and 4.4.285

    I'm announcing the release of the 5.14.8 kernel. All users of the 5.14 kernel series must upgrade. The updated 5.14.y git tree can be found at: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-5.14.y and can be browsed at the normal kernel.org git web browser: https://git.kernel.org/?p=linux/kernel/git/stable/linux-s... thanks, greg k-h
Read more Also: Linux 5.10.69 Linux 5.4.149 Linux 4.19.208 Linux 4.14.248 Linux 4.9.284 Linux 4.4.285

Can You Run Linux Without a Desktop Environment?

While modern Linux systems have attractive desktop interfaces, you may be wondering whether you can use Linux without them. The straightforward answer is "yes." What Is a Desktop Environment? While the desktop environments on Windows and macOS are tightly integrated and built into the system, on Linux, desktop environments like GNOME, KDE, and Xfce are just collections of programs that you can install in addition to the base operating system. Read more