Game Machine Back Online

Pictures don’t do it justice.
I'm here to kick ass and chew bubblegum… and I'm all out of bubblegum.

Pictures don’t do it justice.
All state-of-the-art digital projectors, all comfy stadium seating… all good!

My new Idaho Geek Cave is nearly complete! Check it out:


All I need to do now is get my game machine running again.
I’m using a TrippLite SmartPro NET 2200 connected to four large deep-cycle external 12V batteries wired up to be one big 24V battery:

There are two batteries in one shelving unit, and two in the other. Each 12V pair is wired in series to be 24V (because the TrippLite 2200 is a 24V system), and then both of those pairs are wired parellel to be one double-gigantic 24V battery. I drilled half-inch holes in the plastic side of the UPS unit (UPS = Uninterruptable Power Supply) and fed the cables to the internal connectors.
Obviously, the original batteries are not in there. I haven’t used the originals since they stopped taking a charge way back in… many years ago. This TrippLite UPS unit was designed to power a heavy load for a short time. But I’m using it to power a light load for a long time. I haven’t tested to see how long it will run my workstation, but I’m guessing many, many hours. Possibly days.
When I save up the money to replace the batteries, I’ll run a load test and time it to see how long it’ll go.
Sometimes we get ducks in the front yard.

Sometimes we get them in the back yard as well. These two are a couple, I always see them together.
Finally got reasonably good high-speed internet via CableOne. It’s hooked up in the far corner. I assembled another shelving unit and put the equipment on top.


The speed is as advertised, at least 50Mbps down and 2Mbps up:

The only problem with CableOne is that they have a 100G / month bandwidth limit. I’m going to hit this limit in about a week. So it looks like CableOne will not be my bandwidth provider. Too bad, it seems to be a good stable service.
The desk is almost done!

Still waiting on the cable guy to come out and hook us up. They make you wait a week even if they have an opening in their schedule before that (the bastards). I should have ordered it right after I arrived and before I moved in.
More stuff completed, plus two shelving sets behind the desk.


These are the same shelving sets I had at the old place, but this time I have much more room behind the desk. I can actually walk behind it now to work on stuff!
The desk is comming together.


It’s amazing how long it takes to assemble stuff… especially when you can’t find the screws and bolts and nuts ‘n stuff. Still unboxing and unpacking and organizing.
Check out my new pad!


Okay, so it’s not so great yet, but it will be! It’s much bigger than my old room. In my old room, I had to share my office, bedroom, and shop all in one room about the size of this one. Here, I’m using this one big room for my office and the bedroom is off to the side (not pictured). The shop is out back in the garage.
Totally awesome.
More to come.
On the 15 Interstate freeway, somewhere in Utah, the speed limit is 80! I managed to take this pic while driving (not recommended):
Dear Internet,
I’m moving to Idaho! So long California! And good luck.
“Why Idaho?”, you may ask? For the answer to that, watch this long video:
Prerequisites:
# yum -y install fuse-devel libattr-devel libaio-devel libacl-devel zlib-devel fuse-devel scons openssl-devel
When installing ZFS-Fuse itself, try this first:
# rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
It didn’t work for me as download.fedora.redhat.com fails to resolve.
Also try:
# yum -y install zfs-fuse
But that didn’t work for me either, so compile from source:
# cd work
# wget http://zfs-fuse.net/releases/0.7.0/zfs-fuse-0.7.0.tar.bz2
If the file you downloaded is 0 bytes long (that’s how it is as of this writing), grab it from my server:
# wget http://www.jedihawk.com/zfs-fuse-0.7.0.tar.bz2
Then continue the installation:
# tar xjvf zfs-fuse-0.7.0.tar.bz2
# cd zfs-fuse-0.7.0/src
# scons
# scons install
That should do the basic installation, but it doesn’t handle the start-up scripts. You’ll have to do those manually, too:
# cd (installation dir)/contrib
# cp -iv zfs-fuse.initd.fedora /etc/rc.d/init.d/zfs-fuse
# cd /etc/rc5.d
# ln -s ../init.d/zfs-fuze S07zfs-fuse
And the config script (though it’s not strictly necessary unless you’re actually going to change any of the settings):
# cd (installation dir)/contrib
# cp -iv zfs-fuse.sysconfig /etc/sysconfig/zfs-fuse
Because the start-up script has the incorrect path hard-coded, let’s set up some symlinks (or you could edit the start-up script, if you’re brave):
# ln -s /usr/local/sbin/zfs-fuse /usr/sbin
# ln -s /usr/local/sbin/zfs /usr/sbin
There, done. Hopefully. Reboot it after you build a zpool to see if it really works or not.
ZFS is awesome.
ZFS is a type of filesystem developed with certain attributes in mind, such as verifying its data to within an inch of it’s eternity. But what really interested me is the way you can add a block device (or a file) to it and it gets incorporated into the existing filesystem and increases the available storage dynamically!
ZFS isn’t available as a linux kernel module due to some kind of incompatible source licensing or something, so you have to hook it in using FUSE (Filesystem in User Space).
Here’s the quick-and-dirty way to get it installed in Debian/Ubuntu:
# apt-get install libaio-dev libattr1-dev libacl1-dev libz-dev libz-dev libfuse-dev libfuse2 scons libssl-dev
# apt-get install zfs-fuse
After getting it installed (make sure the /sbin/zfs-fuse daemon is running), I tried it out using a few regular files (not block devices like entire drives).
First, create a 100M file:
# cd /home/jedihawk/zfs_research
# dd if=/dev/zero of=zpool1 bs=1M count=100
100+0 records in
100+0 records out
104857600 bytes (105 MB) copied, 0.134208 s, 781 MB/s
Next, make a “ZFS Pool” on it:
# zpool create hawkfilepool /home/jedihawk/zfs_research/zpool1
And that’s basically it. Now I have a ZFS filesystem in a “ZFS Pool” called ‘hawkfilepool‘ and it’s already mounted (from the root) and it works and everything:
# zpool list
NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT
hawkfilepool 95.5M 95.5K 95.4M 0% 1.00x ONLINE -
# mount | grep zfs
hawkfilepool on /hawkfilepool type fuse.zfs (rw,allow_other,default_permissions)
# df -h | egrep 'hawk|Filesystem'
Filesystem Size Used Avail Use% Mounted on
hawkfilepool 64M 21K 64M 1% /hawkfilepool
A “ZFS Pool” is a collection of storage devices, such as drives or files, which make up one single ZFS filesystem. From linux’s viewpoint, there is only one block device.
Notice something here: The available space as reported by filesystem tools such as df report a different available space than the zpool tool. This is because of all the trouble ZFS goes through to guarantee data integrity. It takes more space to do that, but it’s less noticable with larger filesystems. So let’s make it larger…
# dd if=/dev/zero of=zpool2 bs=1M count=100
100+0 records in
100+0 records out
104857600 bytes (105 MB) copied, 0.138231 s, 759 MB/s
# dd if=/dev/zero of=zpool3 bs=1M count=100
100+0 records in
100+0 records out
104857600 bytes (105 MB) copied, 0.139163 s, 753 MB/s
# zpool add hawkfilepool /home/jedihawk/zfs_research/zpool2 /home/jedihawk/zfs_research/zpool3
# zpool list
NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT
hawkfilepool 286M 85.5K 286M 0% 1.00x ONLINE -
How awesome is that?!? The available storage went up automagically! I didn’t have to unmount/remount anything!
I copied some large .mp3 files into it, played them, and everything worked fine. I love ZFS!
Here’s what it looks like after the third 100M file, plus some test .mp3 files:
# zpool list
NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT
hawkfilepool 286M 214M 72.7M 74% 1.00x ONLINE -
# df -h | egrep 'hawk|Filesystem'
Filesystem Size Used Avail Use% Mounted on
hawkfilepool 254M 213M 41M 84% /hawkfilepool
I can’t wait to add a bunch of USB drives together into one huge ZFS pool!
References:
http://en.wikipedia.org/wiki/Zfs
http://zfs-fuse.net/
http://en.wikipedia.org/wiki/Filesystem_in_Userspace
The computer is that small thing in the small case on the bottom shelf. I’ve removed it’s original, inadequate (100W), power supply and replaced it with a more modern 400W power supply. Naturally, it doesn’t fit in the case, so it’s sitting on it’s side on the shelf at a slight angle behind the case. You can just see the top of it.
On the top shelf is the source drive. I put the source drive on top to give it the best chance to remain cool. That red glowing case fan helps, too. I just clamped it to the shelf support. The target drive is sitting on top of the computer case. Both are SATA drives (the red cables).
The system didn’t originally have SATA capability (that’s how old it is), so I bought an expansion card and installed it into the only available PCI expansion port. You can see it in the first image, it’s the vertical card with the two red SATA cables. But the system has two IDE slots on the motherboard so I left the IDE black ribbon cable hanging out the front slot (which was used for an optical drive) just in case I need to get something off of an old IDE drive. Or to run SpinRite on it.
The little USB drive connected to the front USB slot has a bootable version of linux called Trinity Rescue Kit. It’s a nice little product with all kinds of nifty tools in it. But the one I’m using now is called ddrescue. Here’s what it looks like in operation:
Here’s the command I used:
ddrescue -v -r 1 /dev/sda /dev/sdb /trk/logs/clone_20120917.log
The -v means output lots of information (verbose).
The -r 1 means re-try a troubling sector once.
The rest is the source device, the target device, and the filename of the log file. I had to make the /trk/logs directory (not there by default). It’s stored on the USB drive, root dir, in case I need to resume later on. If you don’t specify a log file, you won’t be able to resume automagically later on. I’ve had several power failures here in glamorous Hollyweird on this cloning operation, but because I specified a log file, ddrescue just picked right up where it left off and continued the operation.
WARNING: Make sure you know which drive is the source drive, and which drive is the target drive! Use these commands and compare serial numbers:
hdparm -i /dev/sda
hdparm -i /dev/sdb
That’s assuming that your drive devices are /dev/sda and /dev/sdb. For any cloning operation, both of the drives should be the same make and model. I made notes of the full serial numbers on each drive so that I would be sure to do it right.
What you can’t see, due to the camera’s flash, is this cute little USB-powered desk lamp I got from ThinkGeek. Isn’t it cute?
I thought this was funny:

Long review: Welll…
Ever since I saw this video, I’ve been wanting a pair of these Psyko 5.1 surround-sound headphones. The video explains the tech of how they worked and it looked like a good design. However, there are two major drawbacks (and one minor drawback) with the Psyko system.
Psyko major problem #1: The sound is not as good. Why? My theory is because the sound originates in drivers on top of the headset, and then this sound needs to travel down through sound tubes, or channels, to your ears. I’m thinking that this is causing the mid-range to be reduced, leaving the headphones sounding “flat-ish” and “tinny”. The Zalmans, on the other hand, sound rich and full.
Psyko major problem #2: The amp generates a low “buzzing” sound, or line-noise, when the volume is cranked all the way up. Why do I need the volume cranked all the way up? Because the volume in Skyrim is low and there is no way to crank it any higher. I’ve searched. There is a way to do it in other operating systems, but not mine. Besides, in an amp, I do NOT want it generating line-noise at any volume level. The Zalman’s don’t need an amp.
Psyko minor problem #1: The headrest hurts the top of my head after about a half hour. No good for gaming, and no good for movies. If they had placed a wide band across the headrest, it would probably have been fine. But instead, they’ve got five narrow pads under each speaker driver set, and this puts too much pressure into too small of an area–at least for me. I can wear the Zalman’s all day and half the night (and have, playing Skyrim).
There is a feature of the Psyko Carbons where you can lever open the side of the earpiece so that you can hear what’s going on outside the headset. I think this is a waste. When I’ve got a headset on, I don’t want to hear anything else in my environment. On the contrary, I want my environment isolated. This may be contributing to the “tinny”, non-rich sound.
Good things about the Psyko system:
Psyko goodness #1: The spatial-positioning is excellent. Things which are in the rear channels really sound like they’re behind you. Front and center are also excellent. This is the whole point of a “surround-sound” system, and the Psyko system delivers.
Psyko goodness #2: The amp has a light for each channel. This is cool when listining to 5.1 surround-sound, and also useful for debuggin.
As part of my quest for awesome 5.1 surround-sound, I picked up this cute little Creative Sound Blaster X-Fi. For some reason, the surround-sound card built-in to my motherboard lost it’s right channel, so now I just use the X-Fi and it works very well. The software that comes with it is excellent.
Links:
Zalman ZM-RS6FM Virtual 5.1-channel stereo headphones with microphone at Amazon.com. This is my affiliate link.
Youtube video explaining how the Psyko system works.
Creative Sound Blaster X-Fi at Creative’s online store.
Lately I’ve been thinking that I need to upgrade my phone so I can get on with 4G and increase my bandwidth. Also, I notice that my dedicated server is on a 10Mbps connection, and that it’s starting to seem kinda slow. Also, at home, my bandwidth just can’t get anywhere above about 5Mbps no matter which provider I’m with.
Then I see this, and I think to myself, “Yes! It’s about time!”
https://www.youtube.com/watch?v=ffHLIZh0PHg
http://fiber.google.com/about/
(Please, Google Fiber, how can I prove to you that I am worthy?!?)
Yayyyy!
Why does this make me happy?
1) Frivolous lawsuits suck.
2) Lawsuits designed to hinder rivals suck.
3) Frivolous lawsuits designed to hinder rivals double-suck!