Setting Up Redis, MySQL, and Nginx on Ubuntu 20.04
Installing Redis from Source
To deploy Redis, download the source code from the official Redis website. Extract the archive and prepare the build enviroment:
tar -xvf redis-x.x.x.tar.gz
cd redis-x.x.x
sudo apt update
sudo apt install build-essential pkg-config
Compile the source code using the provided makefile:
make MALLOC=libc
sudo make inst ...
Posted on Thu, 03 Sep 2026 16:49:47 +0000 by mforan
From Source to Executable: The Translation Pipeline Explained
The historical development of compilers and programming languages reveals a fascinating paradox: which came first, the language or the compiler? Early computers relied on punch cards for input, which was highly inefficient. The first programming languages, such as assembly, emerged to simplify machine communication. However, the initial compile ...
Posted on Mon, 24 Aug 2026 16:10:20 +0000 by idnoble
Compiling libtiff Third-Party Component
Backgorund
The libtiff component in the stxdio_wrapper repository includes pre-built static library files. Since there were no existing build scripts, this guide explores creating a compilation script for libtiff.
Compilation Process
1. Source Repository
The source code can be found at: https://github.com/Hexagon-HTC/libtiff/tags
2. Build Scrip ...
Posted on Sat, 22 Aug 2026 16:42:34 +0000 by kris81
Understanding the C Compilation, Assembly, and Linking Pipeline
The generation of an executable binary from C source code involves multiple stages: preprocessing, compilation, assembly, and linking. Each phase transforms the program representation closer to machine code while resolving references and organizing memory layout.
Preprocessing handles directives such as macro expansion, conditional compilation ...
Posted on Wed, 12 Aug 2026 16:26:31 +0000 by LAX
Installing and Removing Nginx on CentOS 6.5 via YUM and Source Compilation
Installing Nginx with YUM
Ensure the system repositories are up to date:
yum update -y
Installl Nginx directly from the EPEL repository (if not already enabled):
yum install -y epel-release
yum install -y nginx
Enable and start the service:
chkconfig nginx on
service nginx start
Allow HTTP traffic through the firewall:
iptables -I INPUT -p t ...
Posted on Mon, 27 Jul 2026 16:01:11 +0000 by gateway69
CPython Build Configuration and Setup Guide
Building CPython: PrerequisitesCompiling CPython from source requires the following environment specifications:A C11-compatible compiler. Optional C11 features are not mandatory.IEEE 754 floating-point support, including Not-a-Number (NaN) handling.Threading capabilities.OpenSSL 1.1.1 or newer for the ssl and hashlib modules.Microsoft Visual St ...
Posted on Mon, 13 Jul 2026 17:02:10 +0000 by ee12csvt
Compiling and Installing Python 3.7 on CentOS 7
System Environment
Host: Windows 10 Pro with VMWare Workstation 15 Pro
Guest: CentOS 7.6.1810 (Core)
Privilegse: Root user
Procedure
Refresh the package index and upgrade instaleld packages.
yum update -y
Install required development libraries and tools.
yum groupinstall "Development Tools" -y
yum install zlib-devel bzip2-devel ope ...
Posted on Sun, 12 Jul 2026 17:16:23 +0000 by thom2002
The Purpose of ((void)0) in C++ Assert Macros
The assert macro in C++ is defined conditionally based on the presence of the NDEBUG macro. In release builds, where NDEBUG is defined, it expands to ((void)0).
#ifdef NDEBUG
#define assert(condition) ((void)0)
#else
// Debug-mode implementation
#endif
The expressino ((void)0) involves an explicit cast of the integer literal 0 to the v ...
Posted on Wed, 24 Jun 2026 16:35:40 +0000 by Whear
Do Lambda Expressions Cause Memory Leaks?
Backrgound
Anonymous inner classes maintain references to their enclosing class instances, which can lead to memory leaks.
The question arises: do lambda expressions introduce similar risks?
Anonymous Inner Classes vs Lambda Expressions
Consider the following example class TestInner, which includes both an anonymous inner class and a lambda exp ...
Posted on Fri, 05 Jun 2026 17:32:46 +0000 by eosinophil
CMake Fundamentals for C++ Projects
CMake is a cross-platform build system generator that simplifies the compilation of complex software projects written in multiple languages. It uses configuration files named CMakeLists.txt to generate native build environments such as Makefiles or Visual Studio projects.
A minimal example starts with a source file main.cpp:
#include <iostre ...
Posted on Tue, 26 May 2026 22:23:10 +0000 by TRI0N