Contain Your Excitement: Building Portable Apps with Docker

Installing programs is something most people take for granted. How could it be easier – you simply download an installation file, run it, answer a few prompts, and before you know it you have a fresh new application ready to go. This is fine for a single-user system like a laptop or desktop, but what happens when you want to share that program with someone else, or migrate it – along with its configuration and settings – to a different computer? What if you wanted to do a clean reinstall without having to hunt for scattered or leftover files? Better yet, what if you could run the application in a completely self-contained environment without it affecting your main system? Docker provides a unique way of accomplishing this, and the technology behind it is quickly gaining traction. Continue reading

Private Server Part 7: Wrap-Up, Tips, and Tweaks

Congratulations, you’ve made it this far! You have a server powered by open-source software that you can access from anywhere in the world, safely and securely. Now that you have a solid foundation in Linux and networking, you can start playing with different applications and services. Our final post will look at some tips for making the most out of your new server.

Continue reading

Private Server Part 2: Installing the Operating System

You have a big box full of complicated-looking electronics, a monitor, a keyboard, and cords going all over the place. Now what? If hardware can be considered the body of the computer, then the operating system can be considered its soul. The operating system acts as an interpreter between you and the hardware, translating your actions into instructions that the machinery can understand. It does everything from reading the keys you type to displaying text on the screen. More importantly, it’s what turns a pile of metal and silicone into what we consider a modern computer.
Continue reading

Why I Run My Own Server

Home server

As a way to keep myself up-to-date with trends in networking and web design (and as a way to keep myself occupied on really boring days), I run a private server. Many of the services we take for granted – email, online calendars, address books, chat programs, and media streaming to name a few – are provided by companies in exchange for access to the information used within them. In networking terms, this is called the client-server model: the client (your web browser, smartphone, etc.) makes a request to a server, which is run by a service provider such as Google, Apple, or Microsoft.

Continue reading

An Introduction to Free Software

While the term “free software” seems self-explanatory, there’s a lot of confusion surrounding the actual definition and usage of “free.” Before we define it, it’s important to know that free software is usually used interchangeably with open source software. Free software is exactly what it says on the tin; you can download it and run it without having to pay the owner a dime. Although the software is free to use, it may contain restrictions that make it difficult to modify, distribute, or resell. Open source software eliminates these restrictions by not only allowing the user the download the software, but also to study and change the source code and redistribute the modified program. The Latin words “gratis” and “libre” are often used in place of “free” and “open source” to prevent ambiguity.

Continue reading