Tuesday, September 7, 2010

Side Project: Server Upgrade Final

It. Is. Finished.

True, it might look like the server is into swastikas, but I promise, it's just the way the light reflects off the fan!

Now begins the transfer of data. Estimated time for the first drive to finish copying files? 8 hours.

Still totally worth it.

Especially when I get to see THIS.

Backups, anyone? ;)

Sunday, September 5, 2010

Side Project: Server Upgrade Part 2

A major roadblock has presented itself, which has now grown to the point where it deserves it's own post. :(

Problem #3 (The BIG One)
A new problem has arisen :( . It turns out that Windows XP is unable to detect blank disks or create partitions that are larger than 2 TB. EPIC FAIL. My original plan was to throw together a 64-bit Windows 7 install in order to create the 10TB partition and then revert back to Windows XP to read it... Alas, EPIC FAIL was again the result. The card that connects all 6 drives and creates the array is just plain too old - no Windows 7 drivers exist for it and the OS can't natively detect it. So I'm throwing the Hail Mary pass - Linux. I tested the compatibility with the card - Linux is able to detect the drives connected to it. However, that leaves us with:

Problem #4
I destroyed the original array. I made a slight mistake in the original creation by making the block size too big (just go with it - otherwise, you're in for crazy technical talk). So now, before I can find out if this crazy plan will work, I've got to rebuild the array (a process that has been running for nearly 36 hours now, with 4 to go). SO once the array rebuilds itself, I can install Linux on a spare drive, boot it, and try to partition the mega drive array. I've got just about every finger and toe crossed... I don't exactly need another EPIC FAIL.

**UPDATE...again** OK. After many many hours of my life that will never return, I have the solution. Windows XP x64 is my only option. 2 different versions of Linux = EPIC FAIL. Standard XP, even after creating the partition on a temp install of 64-bit XP = EPIC FAIL.So now, I'm backing up all of the necessary files from the original copy of Windows on the server, and then wiping it and slapping a fresh copy of 64-bit XP Pro on there. I console myself with the fact that this version of Windows is gonna be WICKED FAST.

AndTHAT, ladies and gentleman, is how we do that.

Tuesday, August 31, 2010

Side Project: Server Upgrade

Some of you may have heard about my recent 7 terabyte windfall... (heya, Pottsey... ;) )

Obviously I couldn't just let those 6 2TB hard drives sit around and collect dust, so I decided to start upgrading the server last night. Unfortunately, that decision brought on a multitude of complications.

Problem #1
Powering the drives. Funnily enough, when I built the server, I did actually plan ahead (to some degree) by getting a nice beefy power supply. Sadly, while I had plenty of electricity, I DIDN'T have enough connectors for the SEVEN hard drives that I'm installing. (Original setup had only 5). I managed to solve this by pilfering a connector from another power supply and jamming it onto the wires. Nice and easy fix, but alas, it did nothing to prepare me for:

Problem #2
Mounting the drives. The one major hiccup I forgot to account for when thinking this out (at 11PM) was that I only have enough 3.5" slots for 5 drives. (Again, worked just fine for the original setup.) This can only be solved by picking up some adapter rails, which will happen next week if not sooner. Still, the RAID array (the thingy that makes all the BIG hard drives into a single GARGANTUAN one :D ) can be assembled, connected, and initialized (which basically means "plug all new drives in"). So, in the spirit of ingenuity, I did THIS:

The shiny plastic bits between each drive are the old drives in the static proof bags the new drives came in (just to be safe).

Now, I have a pile of drives IN the computer, a bigger pile OUTSIDE the computer, and for the next 24-48 hours, the whole thing will be doing this. ----->

Once it's finished building the array, I should have just under... 10 TB of storage.

Totally worth it :) .

Monday, August 2, 2010

Arcade Project [Part 2.5]

Just an update to reassure those of you following this build.
Progress has been made since the last post!

Items Completed:
- Dimensions for box calculated
- Finalized list of controller features
- Purchased necessary tools :D
- Secured funds for remaining parts

Items Awaiting Funds:
- Order for arcade controls is about to be placed
- Lumber is about to be purchased

Timeline for purchasing this stuff should be in the next week or 2 so exciting times!

Also, if you're interested - here's the features planned for the controller:

1) Controls for 4 players
- 6 buttons + joystick for Players 1&2
- 4 buttons + joystick for Players 3&4
- 4 x operational buttons (i.e. Insert Coin / Pause / Enter)

2) Hinged lid for wiring access
- Locking/latching mechanism
- Chain to prevent opening too far

3) Retractable USB cable
- Extension USB cable to be stored inside controller

4) Attachable protective cover

5) Carry handle

So that's it for the half-update.
I'll be sure to include photos of the building process in the next one!

**MORE UPDATE: The arcade parts are ordered!!! Fabrication is IMMINENT!!!**

Thursday, June 10, 2010

Awesome... But Kinda Lame

I figured it might be worthwhile to try and make my blog interesting again.

So, for sheer novelty value, I'm currently writing and posting this blog entry... on the train.

BAM!!! Mind-explosion!

Yeah, that's right.
The words you're reading right now were crafted and polished while hurtling down the freeway at 120 KMH. Kudos to the boon of wireless connectivity.

So, as I shoom towards K-Town, feel free to bask in the awe that is my nerdy-ness.
Everyone else around me is!

Monday, March 15, 2010

Arcade Controller Project [Part 2]

After mapping the keyboard buttons, I pulled out the keyboard control circuit. I de-soldered and removed the connections for the flimsy circuits and then attached 2 bits of IDE ribbon cable that I pulled apart. The result is in the picture shown.

Notice that one ribbon cable is connected to an 18-pin connection, and the other is connected to an 8-pin. These exactly correspond to the 18x8 key map that I've made.

At this point, I tested the keyboard controller - no sense in going too much further if I've melted or otherwise damaged the controller, after all. The easy way to do this is to hook up the USB cable (I've detached it while doing the soldering) and plug it into a computer. Open up Notepad, and pick a letter key from the handy map you've made. I chose Y. Find the corresponding wires, strip a little of the rubber shield off the end, and touch them together. You should now have the letter you've chosen filling up line after line in Notepad. It still works!

**NOTE: It's much easier to use a laptop because you still have access to the built-in keyboard. However, I've seen Windows XP detect and utilize 2 USB keyboards simultaneously.**

At this point, I should explain where I'm going with this ribbon cable. I decided that trying to connect the better part of 100 wires (45-49 inputs x 2 wires each) to only 26 contact points would be less than ideal. So I've picked up some experimenter board (AKA 'matrix board' or 'perf board') from Jaycar. The particular type that I've purchased (see right) features pre-traced channels running the length of the board. This makes it ideal for my uses - remember, the 8 y-coordinate channels have 18 possible x-coordinate connections.

I've cut the board into 2 pieces - one is 18 channels wide with at least 8 holes per channel, and the other is 8 wide with 18 holes per channel.

I then soldered the 18-wire ribbon cable (x values) like so. Looking closely, you'll see that I now have plenty of solder points for wires from each controller. From here I'll attach the similar board for the y values.

At this point, it's getting to the time where I need to start actually building the case that's going to house all of this intricate mumbo-jumbo. The main problem I'm encountering is too many ideas for cool features. I've realized that I should have invested more time an effort into the planning phase, but meh.

Also, if you're interested in the overall cost, at this stage I've spent a whopping $6-$7 on the experimenter board. Everything else I had lying around or got for free. A 25W soldering iron is about $10 and solder is another $8 or so at Jaycar or Bunnings. An IDE ribbon cable to hack apart is something you can probably pick up free at a PC parts store - it's now obsolete technology. Otherwise, I've got about 30 spares :) .

Saturday, March 13, 2010

Arcade Controller Project [Part 1]

I have embarked on a new construction project. The plan is to build a 4-player arcade controller to use with MAME on a PC/laptop. If that didn't make any sense to you, perhaps this photo will :) ->

This is more or less what the finished product will look like (provided I don't screw it up too much...).

One of the things I'd like to focus on in this little write-up is the wiring process - my blueprint only came into focus after a lot of research into the inner-workings of the various pieces of hardware being used. Most of the descriptions I came across for this process were a bit vague on the details, so I'll aim to shed a bit more light on it.

Most of my inspiration was found in examples like the one above from arcadecontrols.com - there are some amazing builds showcased there. Now, on with the project!

In the planning stage, I decided to go with the keyboard hack method described here and apply the best practices I could find in other designs. I picked up 2 identical USB keyboards for free (one extra in case I royally screw up), pulled one apart and then spent a couple hours on the tedious task of mapping the keyboard's buttons.

Sidenote - How a keyboard works:
A keyboard is relatively simple in design. Underneath each button is 2 pieces of flimsy plastic film that have circuits traced on them. These 2 circuits form a matrix with x and y coordinates (dust off the high school math skills!). So, when you press a key, it creates a contact at point (x,y) which a small controller in the keyboard interprets and sends to the computer. This is particularly handy because:
1) Arcade controls work the same way, electrically speaking.
2) MAME (the program I'm using for the arcade games) is set up to use the keyboard as the default controller.

So when I said "mapping the buttons" I was recording the matrix points for each button - I'll need this info for the wiring. Each direction on a joystick and each button will need to have its own key on the keyboard. My particular keyboard has an 18 x 8 matrix - I've labeled them 1-18 and A-H. For example, the coordinates for the letter 'Y' on the keyboard are 7D.

Now I just have to translate it into wires...

**[NOTE: If you've been following this already and think that this post looks different, you're right. I've tried to restructure this into a more logical process so that it can be used as a guide for those that want to try the same thing.]**