Tag Archive for 'Open Source'

Open Source Media Center Solutions

I’ve been evaluating various open source media center applications in an effort to put together a new unit and had the opportunity to weight the relative pros and cons of each. Below, you’ll get to read about my findings and hopefully learn a little bit about what’s out there. So, without further ado, here’s a list of the packages I looked at, in order of preference.

1. Boxee
(http://www.boxee.tv/)

Boxee was my first pick. It has a slick interface, can draw from a variety of different sources such as Hulu and Youtube out of the box, makes available a plethora of plugins (called “applications”), is easy to navigate and has an interface very suited for a remote control. The biggest con for me is that, while the project itself is open source, in order to use it, you need to register for an account on their website.

2. XBMC
(http://www.xbmc.org/)

XBMC, which stands for “X-Box Media Center,” was originally designed for the X-Box and has since been made available on the PC. It sports a very polished interface, and like Boxee, is easy to navigate and makes using a remote control easy. Support for online sources such as Youtube is missing out of the box, but there are plenty of plugins to help. Unfortunately, unlike Boxee or Moovida (which is next in our list of applications), you have to go to external sources in order to find them (check out http://www.xbmczone.com/). Supposedly, it’s easy to install a plugin once you’ve downloaded it, but the directions I found online differed from how things worked with the latest version, and I ended up having to install plugins manually by unzipping them and copying the files to the right directory.

3. Moovida
(http://www.moovida.com/)

Moovida, formerly known as Elisa, is another media center option. Like Boxee and XBMC, it sports an easy to navigate interface suited to a remote control, and unlike XBMC, integrates the process of finding, installing and updating plugins a part of the application itself. The reason why I rated this one below XBMC is that there aren’t a lot of plugins available, and because the interface to XBMC is, in my opinion, slightly more polished.

4. Miro
(http://www.getmiro.com/)

(My reason for rating Miro at the bottom isn’t that Miro is a bad application. In fact, I enjoyed using it. It comes with support for many video feeds by default and does a good job of organizing media. My problem, for our purposes, is that it’s not such a great application for set top boxes. The UI is easy to use, but I don’t think it would be as friendly when hooked up to a TV with a remote control. Also, it’s difficult to add sources such as Youtube, as you have to manually add RSS feeds for the channels that interest you. Nevertheless, it’s a useful application, and I recommend giving it a try.

Learning How to Write Software for Free

Have you ever thought to yourself, “gee, it would be a lot of fun to learn how to write software,” but you didn’t want to shell out money for books or a development environment? Perhaps you’re just curious, or maybe you aspire to be a developer one day. Whatever your reason, thanks to open source software and free documentation, you can pick up the skills required with no cost to you (other than your time, of course.)

Where to Learn

Before you start writing code and playing with a compiler (a program that translates human-readable programs into instructions the computer can understand), you’ll first need to learn a programming language. You could spend anywhere between $30 to $70 on a book. Or, you could instead go online. Not only can you use Google to find countless tutorials for just about any programming language, you can also find sites that offer free e-book versions of published works (for an extensive collection of books in any subject, including quite a few on programming, check out http://www.e-booksdirectory.com/). For most of your programming needs, you’ll find that buying books really isn’t necessary.

As you grow in skill, you’ll find that learning by example is a powerful tool. Fortunately, with open source software, you have a plethora of real world applications, their source code layed bare for all the world to see (source code is the human-readable version of a program.) If you want to look at the implementation of a text editor, for example, you can check out the source code for projects like vim (http://www.vim.org/), nano (http://www.nano-editor.org/) or emacs (http://www.gnu.org/software/emacs/). Do you want to know how various standard library functions are implemented in C, such as QuickSort? Then check out the source code to Glibc (http://www.gnu.org/software/libc/). Are you instead more interested in systems programming? Check out the kernel source trees for Linux (http://www.kernel.org) or FreeBSD (http://www.freebsd.org). You’ll find open source software for just about any need, from web browsers to mail clients, from 3D modeling to audio and video editing solutions. Whatever you want to look at, you’ll more than likely find examples written by others that can help you learn for your own projects.

Where to Get the Software

So, you already have at least some conception of what’s involved in programming, and you want to get your hands dirty by actually writing some code yourself. At the very least, you’ll need a text editor to write your code and a compiler or interpreter to run your programs. You may also desire a more elaborate solution, such as an IDE (integrated development environment), which offers you a one-stop solution for writing code and compiling/running your programs, all from the click of your mouse.

Either way, open source once again comes to the rescue. For C, C++ and a few other languages, you have the GNU Compiler collection (http://gcc.gnu.org/). There are also various interpreted languages, such as Ruby (http://www.ruby-lang.org), Python (http://www.python.org/) or Perl (http://www.perl.org/). If you’re looking for an IDE roughly like Microsoft Visual C++ or the like, you’ll find KDevelop (http://www.kdevelop.org), Eclipse (http://www.eclipse.org/) or NetBeans (http://www.netbeans.org/), among others.

For more advanced needs, such as revision control (a means of tracking changes in software), you have applications like Subversion (http://subversion.tigris.org/), Mercurial (http://www.selenic.com/mercurial/) and Git (http://www.git-scm.org/).

There are many more applications for a variety of needs, so whatever you’re looking for, give Google a spin.

Conclusion

It is possible to learn how to develop software without breaking the bank. With free documentation and open source software, you have all the tools you need to learn as little or as much as you want. Here at eRacks, we understand the needs of the developer, and can provide you with a machine pre-loaded with all the software you need to write professional programs. Contact us, and ask for a quote today!