Using Raspberry Pi and Open Source to Understand TechnologyBy Elmer Masters, Published on March 23, 2014
Do you ever wonder about how all that tech that you're using every day really works? What powers all those social networks that seem so important? Is that website really magic? How does Dropbox work anyway? Building and managing all this tech was once the arena of specialists, developers, programmers, system administrators and such. This is no longer true.
Thanks to advances in technology it's possible for you to hold a fully functional Internet server in the palm of your hand. Add in a handful of open source software and you're well on your way to understanding just how all of that fun tech you use everyday works. That server in your hand is the Raspberry Pi.
The Raspberry Pi is an excellent little computer and everyone interested in computers needs to get one. It is an excellent tool for learning programming, learning about Linux, prototyping interesting things, and more. Properly decked out with a case, USB power supply, and wifi adapter it'll set you back less than $100. Connect a keyboard, mouse, and monitor and you'll soon have a complete Linux server as your disposal.
That's right, one of the most interesting things about the Raspberry Pi is that it is really an Internet capable server powered by Linux. You can use the Pi to learn about sorts of things about how the Internet works, about how networks work, about how data moves from one place to another.
Now you may be thinking "So what? Why does it matter how these things work?" It matters because much of the practice law is about information and often that information passes across many networks including the open Internet. Understanding some of the basic ways that this information can be handled on servers and networks will help you back decisions about using information.
Open source software figures into this at many points. Many of the popular tools you use on the Internet were created with and run on open source platforms. Many of the commercial tools you use have open source analogues. By its nature open source software provides you with the ability to examine the code of the programs. It also typically provides some level of documentation and access to a community of developers and users of the software. This is important because this access provides a means for understanding what the software does.
Because open source projects have some documentation and communities available you can get some understanding of the software without needing to delve into the code. That's right, you don't need to be a programmer to understand an open source program. You just need to be able to follow along with the documentation to start understanding the project.
Putting all this together means that a Raspberry Pi loaded with open source software gives you a tool for understanding how things work. You can use the Pi to run your own little piece of the Internet and learn about how information flows on the Internet.
How about a concrete example? You've likely heard of Dropbox, the file storage and synchronization system. Dropbox puts a folder on your computer desktop and when you save files into the folder the files are copied to a Dropbox server and synchronized across multiple computers. This is a great service and enables us to work across multiple computers and share files with others quickly and easily.
While this is a great service, there is the fact that your data is being stored on Dropbox's servers. Yes, it is encrypted, but it is still in someone else's control. Using a Raspberry Pi and an open source program called ownCloud you can create your own system that works just like Dropbox but you get to keep control of all your own data. Your files stay on your server but you get all of the storage, synchronization, and sharing capabilities you expect from Dropbox.
To get started with this project, visit the ownCloud on Raspberry Pi web page and follow the brief instructions there to download the image that let's you create the ownCloud server. It's worth noting here that one of the useful features of the Raspberry Pi is that the entire system and all storage is on a single SD card. That means that you can switch out things easily.
Once you have the image on the SD card and you've booted up the Pi, you can get started by visiting the ownCloud documentation site for help in getting everything set up. Then visit the ownCloud install page to download the desktop clients you need to start syncing files with your desktop. When everything is ready to go you can store sync files on your own server.
The big thing to remember here is that you can take a look at the server and see the files being copied from your pc to the server. This is what makes the combination of the Raspberry Pi and open source software so interesting and important. You can use the platform to learn a bit about how information flows on the Internet.
[Editor's Note: Elmer is authoring a regular column in Slaw - Canada's online legal magazine, where this article was first published - republished with author and Slaw permission.