As some of you may be aware, I made the switch a few months ago with the Mac Mini. I simply love it. Everything is easier and just makes sense. But since my initial reactions to the Mac have faded, I've moved back toward using my laptop almost exclusively. You just can't beat the portability factor. So last week I installed Gentoo on the Mini and have been using it as my "Home away from home" system. In a nutshell, this means that I've been sshing into it to do anything more than web browsing.
So my use of the Mac was hindered for no reason other than the fact that it's not as portable as I'd like. Seeing as how I don't have the money to go out and buy another system on a whim, I've decided that this sort of setup will have to do until my laptop either dies or becomes completely outdated. I figure that either way, I'll be needing a new system in three to five years depending on how rapidly the technology changes (Moore has admitted that it was never a law, only a theory).
You may be reading this and wondering "Ok, why the hell did he mention this?" Honestly, I'm using the Mac again. The simplicity of OS X is too good to just leave alone. I can't just brush it aside because I need to sit at a desk to use it. Currently, I'm dual booting it with Gentoo so that I can still ssh into the box when I'm away and have a 100% GNU/Linux system. I'm planning to play with some of the hybrid package management systems like Fink and Gentoo's Portage on OS X in the next few days to see if I can find a way to work without having to dual boot.
I've been playing with a few new things lately, one of which has been 3D Studio Max. I'm really having a lot of fun modelling and texturing objects. I'm not quite sure why it's so much fun, it just is. A fork off of that interest has been distributed rendering. Most of the tools/programs/scripts for distributed rendering were designed for homogeneous render farms of high-end systems with node-based licensing schemes. There are many problems inherent in this for a student like myself. The most difficult one to overcome is the fact that no two systems on my network are the same and it's split about 50/50 between Linux and Windows. At the moment, I've gone back to just rendering on one system because it seems to be faster than any of the networked solutions I've tried.
Distributed computing alone has become a primary interest of mine. I love the idea of using lots of low-powered systems to build an extremely high-powered one. In pursuit of this interest, I'm learning to work with MPI in C. Using LAM/MPI on all of my Linux based systems has yielded me a large amount of computing power without adding any hardware at all. At the moment I'm running three nodes (four with my laptop) for testing and debugging a program called mpi_netperf. It's purpose is simple: Measure the latency of all connections in the MPI cluster. This means that every node establishes a connection to every other node, sends some data, and figures out how long it took. Each node then reports back to the master node with the times. Once I've got stable code running on my makeshift cluster, I can send it to Matt Haas and have it run on one of the many clusters at Geneseo's DSLab. I signed up for Matt's Distributed Systems class for the summer. He managed to get three more Alpha DS10T systems to build a cluster for us to play with.
The developers of Azureus have truly outdone themselves with the latest release. It includes a new tab under each torrent that presents a graphical representation of the torrent's network connections with each host in a circle around your computer with lines connecting them all. Blocks can be seen moving up and down along the lines. It is a simple and beautiful visualization of quite a bit of complicated data. That's a major part of distributed computing: The ability to represent all that good data in an easy to understand manner. Gotta love computer science, no?