Language Selection

English French German Italian Portuguese Spanish

Programming Leftovers

Filed under
  • Emacs remote file editing over TRAMP

    I often find myself developing software on remote machines; logged in via SSH to a workstation where all source code reside. For increased comfort, I like to have the same shell command for editing a file working regardless of host I’m executing it on. I use Emacs so emacsclient filename works locally but gets a bit tricky over SSH.

    Running the editor in a terminal is of course possible, but graphical interface provides minor benefits which I like to keep. X forwarding is another option but gets sluggish over high-latency connections. And besides, having multiple Emacs instance running (one local and one remote) is not the way.

    Fortunately, by utilising SSH remote forwarding, Emacs can be configured to edit remote files and accept server commands from within an SSH session. Herein I will describe how to accomplish that.

  • Google's Pandemic-Minded GSoC Will Be A Lot Less Interesting This Year

    While it's sign-up time for open-source organizations hoping to participate in this year's Google Summer of Code, GSoC 2021 changes in the name of the pandemic are leading some organizations to debate whether it's still being involved with this student coding effort.

    One of the main frustrations from organizations with GSoC 2021 is that there are lowered time expectations for participating students, so in turn less large projects/work can be tackled. The pay is also lowered with the reduced time expectations and so in turn some very talented developers may find more compelling summer internships/jobs elsewhere. Basically they dropped from the previous 350 hours to 175 hours per project and with that also halved the payout to students.

  • Hammers and nails, and operator overloads

    Our familiarity with particular tools, and the ways in which they work, predisposes us in our judgement of others. This is true also with programming languages; one who is familiar with a particular language, but not another, might tend to judge the latter unfavourably based on perceived lack of functionality or feature found in the former. Of course, it might turn out that such a lack is not really important, because there is another way to achieve the same result without that feature; what we should really focus on is exactly that, the end result, not the feature.

  • Uniwidth typefaces for interface design

    Uniwidth typefaces, on the other hand, are proportionally-spaced typefaces, but every character occupies the same space across different cuts or weights. What this means in practice is that no matter which weight you set your text in, it will never change its length or cause text to reflow.

  • GCC 11 Beefs Up Its Static Analyzer Capabilities - Phoronix

    Added to the GNU Compiler Collection (GCC) last year was an integrated static analyzer via the "-fanalyzer" option for spotting potential code issues. For GCC 10 this integrated static analyzer operating off GCC's GIMPLE was in good shape for catching various bugs while for the upcoming GCC 11 it is now much more capable.

    Ahead of the GCC 11 release coming up in two months or so, Red Hat's David Malcolm has blogged about the improvements he has made on the static analyzer for this annual GCC compiler update.


    Node.js is an event-driven and asynchronous Javascript runtime environment designed to build network applications and to run server-side Javascript applications allowing you to build applications using a single programming language.

  • Dirk Eddelbuettel: RcppDate 0.0.2: Regular Update

    RcppDate wraps the date library by Howard Hinnant for use with R. This header-only modern C++ library has been in pretty wide-spread use for a while now, and adds to C++11/C++14/C++17 what will be (with minor modifications) the ‘date’ library in C++20. Since the original 0.0.1 CRAN release I have also added this package along with RcppCCTZ and nanotime (which uses / requires both) to Debian so an apt based install is also possible for some.

  • Python Print Without Newline - Tutorial with Examples - buildVirtual

    How to use the Python print function to print without a newline. Coming from working in another language, it’s a common question to wonder how to print two or more variables or strings on the same line using Python. Note that how the print function works in Python3 is different to how it works in Python2, so we will take a look at both in this article. If you’re only interested in one or the other, you can skip straight to the relevant sections using these links:

  • What are concurrency problems and how to avoid them in Java

    Concurrency problems appear when your code is executed by more than one thread. Then, in contrast to a single-threaded execution, your code might behave differently depending on when and which thread accesses a variable.

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.