A File Server in C++

Writing a cross-platform HTTP file server in C++ is not a simple task. Back in the days of C++03 it was particularly difficult as the standard library was very limited. Some of the requirements for writing a HTTP server are: Sockets Cryptographically secure random number generate Threads and thread synchronisation File access Any POSIX based … Read more

Multithreading

What is multithreading? Multithreading allows a single process to execute multiple parts of a program simultaneously. Concurrency and Parallelism Concurrency is the ability to handle multiple tasks at the same time. A computer can run tasks concurrently even if it only has a single CPU. The operating system will schedule the execution of concurrent tasks … Read more

Configuring Emacs

Emacs is a powerful, extensible text editor which is available for just about any operating system. It can be run in console mode which makes it useful for editing scripts and config files through a terminal emulator. However, configuring Emacs to behave in the way you want can be a daunting and time-consuming task. Here, … Read more