2006-03-22

So we are getting ready to roll out our new fileserver at work. It's actually an old fileserver with new disks, but that's a helluva lot better than our current situation (our Exchange server functions as a fileserver, print server, and primary Active Directory server). Now that our office is growing, it's time to start distributing the load a bit and add in some redundancy.

We only have about 30 users in the office. Since some users are more technical than others, I've decided to stage the migration and do the engineers first, then sales, and finally the marketing and executives. I figure the engineers won't freak out if they suddenly have a new mapped drive.

Since I'm doing the move in stages, I needed a way to "rsync" their files from the current fileserver to the new one. I was considering using the Cygwin tools to accomplish this, but I was worried about NTFS permissions. There are programs out there that will "fix" permissions, but why resort to that when you don't need to? There were a number of solutions to pick from. My colleague decided Robocopy would do the trick. Robocopy is a tool based on Microsoft's XCOPY and is available on the Windows 2000/3 Resource Kit.

Not only will Robocopy handle file and directory permissions with ease, but it also has a number of other features that is going to make this migration really easy.


  • Can auto-restart a copy in the event of a failure
  • Will retry a user-defined number of times before giving up (for instance, if the file is locked)
  • Use wildcard characters in file and directory names
  • Delete destination file and directories that no longer exist in the source
  • Schedulable to run automatically
  • Monitor a directory for changes, then automatically start a copy
  • Can copy files based on attributes such as last access dates
  • Bandwidth usage can be controlled
  • Has very verbose and legible logging
  • Can use UNIX style switch flags (-foo instead of /foo) and path delimiters (/ instead of \)
  • Can control how deep you want to recursively copy directories


So I'll post more news about the fileserver migration when it happens.

2006-03-21

So this week your friendly neighborhood sys admin gets to don his network hat on and do some work on a PIX 525. We have an office on the east coast that is moving on Thursday. We have a lan-to-lan vpn tunnel connecting our office in Idaho with the east coast office, so once it moves and the external address changes the tunnel will break - that's where I come in. The PIX changes are minor, and the VPN concentrator changes are even more minor...but the fact that I get to do the work makes my geek salivary glands pumpin. I've always liked doing network work (even firing up tcpdump to aid in application troubleshooting is fun). Our main network admin is on vacation, so I get to live out my fantasies. OK, being a network admin for a week is a pretty sad fantasy...at least I'm being honest.

2006-03-20

So after about 3 months of using Media Portal, I decided to give another application a shot. I've steered away from Beyond TV in the past because I was looking for a non-commercial solution. That was closed-minded of me. I decided I would give it a try since I could always go back to using Media Portal if I didn't like BTV.

I downloaded the trial version, and after 1 week of use I'm happy to say it has exceeded my expectations. BTV only does PVR duties, but SnapStream has other products (Beyond Media is the next one I'm going to try out) that extends the functionality by (for instance) allowing you to play / save DVD's, play downloaded videos, stream music, view pictures and stream to clients like a laptop or another computer. The amazing part for me was how fast it took from downloading the installer to being fully operational (two tuners; one for the DirectTV receiver and one for terrestrial HDTV). Media Portal took me several days to get everything working...BTV took me about 15 minutes. The interface is snappy too, compared to MP. MP kept the choices open for pretty much everything, including the TV listings. This is great for some people, but BTV let's you use their own SnapStream.net TV listings service which is as good or better than the service I used for MP. Being able to login anywhere and schedule remote recordings was a big plus as well.

I'm not done trying out the different HTPC / PVR software out there. Next on my list is GB-PVR, which is another freeware application that runs on Windows. I won't forget about MythTV either, although I won't be able to use my ATI HDTV Wonder card so I'll have to buy another Digital capture card before venturing in that territory.

2005-12-04

It's been awhile since I've posted and a lot has changed at work and at home. I recently had a birthday and as a birthday gift to myself I decided to start an HTPC project. HTPC, for those who don't know, stands for Home Theater Personal Computer. It's basically a computer that works along with other components of your home theater. I currently have a Sony 57" front projection HDTV (KDP-57WS655), a Denon AV receiver (AVR-2805), Aperion Audio speaker system comprised of a center channel, two towers w/built-in subwoofers, and two surround channel speakers. I also have a Pioneer Elite progressive scan DVD player (DV-45A), and DirecTV. I used to run my DirecTV through a series 2 Tivo, however I got tired of the crappy video quality and the inability to record in HD. My friend Eous has a hacked DirecTV Tivo that can record HD, but that was not an option for me as I live in an apartment and we get our DirecTV from shared dishes on the building. Since they don't have the capability to receive HD signals, it's OTA HD or nothing. Luckily, we live close enough to most of the major TV station towers to actually receive plenty of over-the-air HD channels. The only one that's hard to get sometimes is NBC, since the tower is in San Jose (45 miles from my Oakland apartment).

Choosing the hardware proved to be the most time-consuming task of the entire project. The first thing I needed to do was figure out what software I was going to use, and therefore what operating system. I was leaning heavily towards MythTV early on. I knew a few people who were actively using it, and the fact that it ran on Linux made it appealing since it meant I could use the box for more than just record shows. The fact that it ran on Linux also brought a downside to MythTV, since Linux has been notoriously picky when it came to the video card you could use. I must have read through a half dozen compatibility pages before Eous sent over this link to a Windows-based HTPC application. It was called Media Portal. http://mediaportal.sourceforge.net/

Now the biggest draw to a Windows-based HTPC was the vast hardware support Windows has over Linux. MythTV had a much larger user base, and was more mature, but I felt one of the reasons for doing this project in the first place was to give me something fun to do. I could always switch over to MythTV if I chose my hardware wisely, should MediaPortal prove to be too buggy. I would later learn that MP was written so well that I may never have the opportunity to try out MythTV, but it's nice to have choices. =)

<--To Be Continued-->

2004-06-30

So I'm checking out the latest version of Jabberd right now, 2.0s3. We are currently running version 1.4.2 at my company. We have about 80 concurrent users distributed throughout the world (I can say that with a straight face now that we have a London office). This version works fine, however this past week the daemon has died twice in the middle of the day. Oddly, I was logged into the server at the precise moment it died. There was nothing logged and as soon as I restarted it all the clients (which are mostly Exodus) automatically reconnected and I bet half my users didn't even notice.

Anyway, when it happened that first time I just thought it was a fluke...the daemon had been running like a top for over a year so I can't really complain. When it happened again the very next day, I went and downloaded the 2.x version of jabberd and started installing it on one of our utility servers in the data center. I need to move jabberd off of our current utility server which is a four year old PowerEdge 1300 single proc P3-733 MHz with *cough* 128MB of memory. I'd like to bump it up to a gig of memory and slap another processor in it, but our strict IT procurement policy forces us to let our 1+ year old hardware collect dust while we purchase a half dozen 2-way 2650's with 4GB of RAM. Who am I to argue?

So I installed the 2.x version of jabberd on this dual proc Xeon 2.4 GHz box with a gig of RAM that's also hosting our intranet site. Overkill you scoff? Balderdash! Hey, at least we can scale up when we take over the world. Speaking of scaling, jabberd 2.x was rewritten and has several cool new features that my current version is lacking.


  • Has support for Server-to-Client, Server-to-Server (Native), and Server-to-Server (Foreign) communications
  • The jabberd "server" is now distributed across five separate components

    1. Router
    2. Server to Server
    3. Resolver
    4. Session Manager
    5. Client to Server

  • Can use a relational database for storage of Jabber Data Objects (defaults to MySQL support)
  • Installer script seems less "kludgy"
  • All the communications between the above components can be encrypted using SSL


I have a handful of beta-testers right now, and so far it is very stable, and seems like it will be able to handle 100 times more traffic than our little company will ever be able to generate. Stay tuned for an update on my migration strategy. (I'm going to connect the old 1.4 server to the new 2.0 server and slowly migrate users onto the new one while (hopefully) keeping all their buddy lists and groups)