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

The Appliancification of Computing

NetBSD on a toaster

There’s a movement underway to transform the way we interact with personal computers. As computers become more automated and more intelligent, consumers are losing access to the software that makes them tick. The emphasis is moving away from computers as a platform and closer to computers as an appliance. What does this mean for end-users, and what does it mean for the future of our digitally dependent society?

(Featured image courtesy of NetBSD and Jeff Rizzo)

Continue reading

The Not-So-Secret World of the Dark Web

Far below the Web we all know and love, behind the friendly faces of our favorite websites there lies a lurking giant. Many of us know the Web by it’s biggest names – Facebook, Twitter, Google, etc. But what many of us don’t know is that there’s another component to the Web, one that willingly places itself away from the public consciousness. It’s given rise to a platform where people around the world can speak freely without fear of retribution, but it’s also given rise to a platform where people can engage in incredible atrocities outside of the public eye. This mysterious hidden network is known as the Dark Web.

Continue reading

Beginner’s Guide to Backups

Backups are something most people never think about until it’s too late. Computers can be finicky, and if you value your digital data then you’ll want to have a backup solution in place. This post explores two aspects of backups: the various types of backups, and everyday tools for performing those backups.

Disclaimer: Parts of this guide include instructions that, if misused, could result in data loss. Never run a command without being 100% sure of the outcome!

Continue reading

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

The World of Microcontrollers

A few months ago, I decided to buy an Arduino. For those who are unfamiliar, an Arduino is a small programmable computer typically used to power a specific application such as a smoke detector, medical device, watch, household appliance, or automobile engine. My reasons for buying an Arduino were twofold: I wanted to learn how small, embedded computers were being used to power our everyday lives, and I wanted to learn more about the Maker’s Movement. While this post focuses on the first reason, you can learn more about the Maker’s Movement through a variety of resources including Make Magazine and Wikipedia.

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