In Ruby 2.3, they introduced a getpass method on the IO::console class. There are no dependencies since it part of the standard library, but it's only available in versions higher than 2.3. For older versions, we'll look at an alternative method. The getpass method is similar to gets except it will not echo back what you are typing in. This is good for getting a password without printint it to the screen when you type it in. This will demonstrate how to use the method. See the official documentation for IO::console#getpass for more details. We will also look using $stdin.noecho() to wrap Kernel.gets to get a password.
GnuPG is a cryptography tool that helps you manage public and private keys as well as perform encrypt, decrypt, sign, and verify operations. It is an open-source version of PGP. This tutorial will go over basic key management, encrypting (symmetrically and asymmetrically), decrypting, signing messages, and verifying signatures with GPG.
This tutorial covers how to use standard ANSI escape codes to colorize and style terminal output. We'll cover the basics of escape characters, using them to clear the screen and set foreground and background colors, and how to get them working in Windows using the colorama package.
This tutorials demonstrates how to use Python for text-to-speech using a cross-platform library, pyttsx3. This lets you synthesize text in to audio you can hear. This package works in Windows, Mac, and Linux. It uses native speech drivers when available and works completely offline. We will walk through how to install, convert text-to-speech, and switch between voices and languages.
Learn the basics of TomCat web server and Java servlet container. We'll cover how to install it, serve static and JSP content, and basic management tools. Perfect for someone looking to get a quick start with TomCat.
Nginx, pronounced "engine X", is a fast and lightweight web server, that can be used to serve static files, but is often used as a reverse proxy. It has some very nice features like load balancing and rate limiting. We'll cover some common use cases like serving files, creating a directory listing, reverse proxying to pass incoming traffic to a local web server, adding SSL encryption, and how to require https and www on your site. This guide is for someone who needs a quick reference to setting up a simple nginx server. For the latest documentation always check out the official website https://www.nginx.com/ and the source mirror at https://github.com/nginx/nginx.
Let's Encrypt is "a free, automated, and open Certificate Authority." They provide free signed certificates as a trusted certificate authority. This tutorial walks through the process of installing certbot and requesting new certificates and renewing existing ones wit Let's Encrypt. If you are just looking to generate your own quick self-signed certificates, check out my tutorial on creating self-signed SSL certificates with OpenSSL.
Qt has multiple levels of verbosity for logging. If you are able to print qInfo() messages but qDebug() is not outputting anything, you need to turn on the debug messages.
qInfo() << "Is this working?";
qDebug() << "but not this?";
You can set the Qt logging levels in ~/.config/QtProject/qtlogging.ini like this: