Language Selection

English French German Italian Portuguese Spanish

Programming Leftovers

Filed under
  • INN 2.6.4

    INN 2.6.4 has been released. This is a bug fix and minor feature release over INN 2.6.2, and the upgrade should be painless. You can download the new release from or my personal INN pages. The latter also has links to the full changelog and the other INN documentation.

  • Configuration Database - Michael Jansen, Drive By Coding

    I am about to release a new open source project. Unfortunately I am about to release it anytime soon now for at least one month. So to put some pressure on myself lets talk about it publicly.

    My day-to-day job is no longer programming. Started there but slowly got into Build and Configuration Management, then Release Management and finally did some jobs as a deployer. You could say now I do anything AFTER the source code is ready. Build, Release, Deployment, Monitoring and Test Automation (CI/CD).

    In the last years, perhaps even decade, the idea of using development techniques during all stages of the delivery pipeline became much more popular and gained a name: DevOps. I started from development so its kinda second nature to me to use version control, separate configuration from code and do testing. Ok … on the last part there is still room for improvement Smile.

  • POSIX Socket with C Programming – Linux Hint

    A POSIX Socket or simply a Socket is defined as a communication endpoint. For example, if two parties, A and B, intend to communicate with each other, then it will be required that both of these parties establish a connection between their respective endpoints. A socket provides the communicating parties with a gateway through which the messages travel. If we talk in terms of the client and server, then the job of the server-side socket will be to listen to the incoming connections, whereas the client-side socket will be responsible for connecting to the server-side socket. This article is intended to make the concept of POSIX socket with C programming much clearer.

  • POSIX Semaphores with C Programming – Linux Hint

    POSIX refers to the Portable Interface of the OS, which is an IEEE standard, developed to assist portability of different applications. POSIX is an effort to build a common standardized version of UNIX through a collaboration of vendors. It would make porting apps among hardware platforms easier if they are effective. Hewlett-Packard is integrating POSIX into its licensed MPE/iX OS version 5.0 and HP/UXX version 10.0, respectively (its UNIX).

    The POSIX standard has much more than ten parts, however, two are easily obtainable. POSIX.1 describes C programming interfaces (i.e., a system call library) for files, procedures, and I/O terminals. The C POSIX package library for POSIX platforms is a framework of the C standard library. This is established at the very same time as standard ANSI C. To make POSIX compliant with standard C, several attempts have been made. POSIX provides additional features to those implemented in standard C.

  • Posix Mutex with C Programming – Linux Hint

    Today’s article will be focused on the usage of Posix Mutex with C programming in Linux Mint 20. However, before heading on to our main example, we would first like to clear out a few terminologies, so you can easily understand the example scenario that we will be sharing with you. In operating systems, the concept of threading is used extensively. Threads are basically sub-processes that are delegated with different tasks. You can consider the following example to understand the working of threads.

    Suppose there is a main thread A, whose job is to calculate the sum of the variables w and y where w=x+1, and y=z+2. The values of the variables x and z are to be fetched by the user. In this scenario, we can create two threads, B and C. The job of thread B will be to take the value of the variable x from the user, increment it by 1, and save it in the variable w. The job of thread C will be to take the value of the variable z from the user, increment it by 2, and then save it in variable y. Finally, both of these threads will handover these results to the main thread A, which will then calculate their sum and display the final result.

  • Re-release Of Cro::RPC::JSON

    For a couple of reasons I had to revamp the module and change it in a non-backward compatible way. To avoid bumping api again and because versions 0.1.0 and 0.1.1 contained a couple of serious enough problems, I considered it more reasonable to pull out these versions from CPAN. Not the best solution, of course, but neither one I was fully OK with.

  • ASCII score bars and a gorblimey command

    Stack Overflow contributors proposed various solutions. I'll demonstrate two of them and then suggest a third.

  • Machine learning made easy with Python |

    Naïve Bayes is a classification technique that serves as the basis for implementing several classifier modeling algorithms. Naïve Bayes-based classifiers are considered some of the simplest, fastest, and easiest-to-use machine learning techniques, yet are still effective for real-world applications.

    Naïve Bayes is based on Bayes' theorem, formulated by 18th-century statistician Thomas Bayes. This theorem assesses the probability that an event will occur based on conditions related to the event. For example, an individual with Parkinson's disease typically has voice variations; hence such symptoms are considered related to the prediction of a Parkinson's diagnosis. The original Bayes' theorem provides a method to determine the probability of a target event, and the Naïve variant extends and simplifies this method.

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.