Adventures in Desktop Application Development

When I first started this blog, I was just dipping my toes back into the world of C++. Before that, my experience with it was mostly academic, and after struggling through a course with a particularly poor professor I swore off it in favor of VB.NET. No, I never did forgive myself for that decision, but it ultimately helped me learn to appreciate the importance and relevance of C++. And after tinkering with systems that use C++ exclusively, I’ve come to appreciate it even more.

Continue reading “Adventures in Desktop Application Development”

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 7: Wrap-Up, Tips, and Tweaks”

Private Server Part 5: Web Hosting, ownCloud, and Subsonic

At this point, you should be able to access your server through your local network. You won’t be able to access it from the Internet, but don’t worry about that just yet. There are a couple of important security steps before your server goes public that we’ll get to later. In the meantime, let’s focus on the real reason you’re here: hosting your own file sync and music streaming services locally.

Continue reading “Private Server Part 5: Web Hosting, ownCloud, and Subsonic”

Why I Run My Own 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 “Why I Run My Own Server”

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 “An Introduction to Free Software”