Thoughts and Ramblings

General things I find of interest.

My Media Setup

While I’ve described some of the pieces in my media setup, I have not described it as a whole. I started the process when I got annoyed with DVDs that don’t allow you to skip the copyright warnings, commentary disclaimers, trailers, endless menus, studio logos, and other crap when I simply wanted to watch the movie. It was time for something better, and now I have it.

Storage

I’ve written some on my storage setup before, but I’ll describe it briefly here. I bought an Antec 300 case, Intel server-class motherboard, 6 WD 2TB Black drives (before the flood that drove up the prices), and 4G of RAM (later upgraded to 12GB). The machine is booting Ubuntu 11.10 (not yet upgraded to 12.04) off a pair of USB flash drives which are configured in a software mirror. The 6 drives are configured in a raidz2 configuration (raid6 redundancy) yielding 8TB of disk space (or 7.2TB if you count in base 2 instead of 10). The raid contains all the media is an a sub-filesystem so it can be snapshotted/backed up independently (taking advantage of ZFS’s capabilities here).


So Long Perian

By now, most of your are familiar with our announcement that the Perian team is retiring. It was a long time coming, but still a sad day none the less. I can see that the community reaction is that of disappointment as well. Perian was so quiet in its arrival that I never stopped to realize how loud its departure may be. So I decided to recount my history with the project, through its trials and its joys. It was a wonderful ride, but now we leave it behind and ride off into the sunset.


What Objective-C can learn from Java, Part 5 (Exceptions)

This is one past the last is a series of blog posts I’m writing on things that Objective-C can learn from Java. I’m writing this because I’m seeing a series of ignorant tweets stating how much Java sucks. The other parts can be found here:

Anyone who programs in Java for a short period of time becomes well aware of Java’s exceptions. To the new programmer, they may be a bit of an annoyance, but to anyone designing enterprise-level code, they are a necessity. Objective-C has exceptions too, but they are so weakly defined in the language and so overlooked, it’s almost as if they were nothing more than an afterthought. In fact, one can argue that the exception handling in C++ is superior to what one would find in Objective-C.


Switched to Linux

In one of my previous posts, I had mentioned how to install FreeBSD on ZFS. I was doing this for my file server, which I ran in this configuration for quite some time. It worked well for a while, but then I decided that FreeBSD was too constraining. This came when I was attempting to setup a process to rip media from DVDs and BluRay disks. I noticed that Handbrake doesn’t run natively, but is available via a port. The port doesn’t contain the GUI though; everything must be done on the command line. Then I looked at the tools necessary to rip from a BluRay disk, most notably MakeMKV. I could not get this tool to run on FreeBSD at all. Lastly, I could not execute any SWT-based java application because there is no native library for SWT in FreeBSD and the linux compatibility layer didn’t cut it.


Goodbye Roku, Hello GoogleTV

In my previous post, I said “I think I’ll elect to forgo a player for an external drive and rip every disk that I might buy.” That thought didn’t last very long. I decided to buy a Sony NSZ-GT1 which contains both a BluRay player and a GoogleTV together. I did this because I finally realized that the Roku that bought was never going to live up to my requirements, especially amid their numerous regressions in firmware updates.