Thursday, November 25, 2004

#!/bin/bash-my-head-against-the-wall

Finally started mucking about with the Tivo late last night. Adding the second hard drive was my first step, using Hinsdale's guide. At first, when I hooked up both hard drives, nothing much happened...Tivo Rex (our Tivo's name...I forget why, assuming there was a reason) sat there complacently, welcoming me and assuring me that it was loading, which in fact it was not. At this point, it was basically WTF o'clock, and I opted to just hang it up for the night. First thing this morning...well, this afternoon...I noticed that I had neglected to reconnect the IDE cable between the hard drives and Tivo Rex's motherboard. Whoops. Did that, and it booted right up, bumping our Tivo from 39 hours to about 130-ish hours. Unfortunately, it all went downhill from there.

Luckily, the first thing I did was make a backup of the original drive on D's computer, since she runs Win98SE, and I have XP Pro, which will corrupt a Linux drive because of the NTFS file system. Said backup has seen a good deal of use so far.

After many grueling hours spent reading the dealdatabase.com forums, installing and uninstalling Tivo hard drives in Denise's computer, fighting with cantankerous Linux boot CDs, etc, I finally got the Linux kernel replaced and hacked on the original drive, installed a few basic utilities, and successfully rebooted Rex with telnet and FTP access. Go me. Here's the steps I followed for any who care.

Technobabble. Sense. Tingling!
Note: there are a hojillion different kinds of Tivos. Mine is a standalone Series 2, model TCD240040. Your mileage with these steps may vary wildly. At first, I was really annoyed while reading the forums, because it seemed impossible to find a straight answer to anything. The experts seem very guarded against laying out a step-by-step process, and I finally came to terms with the fact that it's because no simple guide will cover it all. I really recommend you do enough research to know why something isn't working when it doesn't. This isn't meant to tell you how to do this to your own Tivo, although I'll (probably) happily answer any questions...this is just a loose guide to what worked for me. Googling any unfamiliar terms along with "tivo" will probably answer basic questions like "what the hell is killhdinitrd?"

There are a lot of Linux ISOs out there for people who don't normally run a Linux box and want to befuddle their Tivo, including at least one (Sleeper) which purports to do most of the work for you. I opted to do it the hard way, after reading that Sleeper is outdated and unreliable...the three I ended up checking out were PTV Upgrade 3.0, Knoppix Lite 3.03, and MFS Tools 2.0.

I started out using the plain MFS Tools bootable ISO, and while it worked well for making the initial backup and adding the second drive, it's too limited for anything beyond that. If expanding your recording time is all you're interested in doing, Hinsdale's guide and MFS Tools 2.0 are probably all you need. Knoppix refused to boot so much as a single time on D's computer, so I can't really say much about that one...besides that it may not boot. PTV seemed to have everything I need (it includes MFS Tools 2.0 for making/restoring backups), although it was really touchy about booting up as well, only getting me to the linux prompt every third or fourth reboot.
So, steps:
First, make a backup of your original Tivo disk using mfsbackup! If you manage to screw it up somehow and don't have a backup, good luck. You're on your own. This takes anywhere from 100MB to 1+ gigs, apparently. It took me about 830MB, but we had quite a lot on there.

Test that backup! I was lucky enough to be installing a second drive at the same time I was hacking the Tivo, so I could simply write the backed-up image to the new drive, slap it in the Tivo, and see if it booted up. Worked fine.

Copied version 4.0.1a of the Tivo software to original drive:
go to directory with proper vmlinux.px kernel image
dd if=vmlinux.px of=/dev/hdc3
dd if=vmlinux.px of=/dev/hdc6

Removed the anti-hacking protection in the kernel:
killhdinitrd /dev/hdc3
killhdinitrd /dev/hdc6

Altered boot parameters to not attempt to update the software:
bootpage -P "root=/dev/hda7 upgradesoftware=false dsscon=true console=2,115200" -C /dev/hdc

Created a place for the stuff I'd be adding:
mkdir /mnt/tivovar
mount /dev/hdc9 /mnt/tivovar
cd /mnt/tivovar
mkdir aaron
cd aaron
mkdir lib
mkdir bin
mkdir log
mkdir downloads
mkdir tivotools

Note: a lot of guides suggest putting this stuff in /var/hack, but a lot of others say that's a bad idea because the kernel will wipe /var if it thinks it's getting full.

Note: One of the biggest problems I had was simply getting stuff onto my Tivo's drive. It's a catch-22...if I had telnet and FTP, I could do it easily, but if I was already at that stage, I wouldn't have been struggling with this. Partially this was laziness on my part. I could access D's Win98SE C:\ drive while booted into Linux, but I didn't want to keep swapping OS's just for that, even after I realized it (which took way too long). I finally managed to configure network support in Linux, which I was pretty proud of, and then uploaded stuff here to liquidfish.net and used wget to download it there. If you need a similar solution, here's how I went about doing that:

Manually enable network support:
ifconfig eth0 192.168.0.102 netmask 255.255.255.0
route add default gw 192.168.0.1 netmask 0.0.0.0 metric 1

In the example above, D's computer was now using IP 192.168.0.102, while 192.168.0.1 is my router's internal IP. Note that, at least in my case, this doesn't give you DNS lookup, but I was able to use nslookup in a DOS prompt in Windows to get liquidfish.net's IP address and access it that way. Moving right along...

Added a first set of utilities, mostly Linux commands which aren't installed in the Tivo's kernel:
Google, find, and download "tivotools.rar"

cd /mnt/tivovar/aaron/tivotools
get tivotools in here however you like...I used wget, as noted above
tar -x --file=tivotools.tar
rm tivotools.tar

If you're actually reading this sentence, you have a godlike attention span.

Create your rc.sysinit.author file

You can think of this as an autoexec.bat file for Tivo. There is already an rc.sysinit file on your Tivo, and it will automatically call the .author file if it exists. Most people recommend using the .author for starting utility processes, telnet, etc, as opposed to the regular rc.sysinit file. These can get more cluttered as you add utilities, but mine is very simple for now. Apparently, TiVo has pico installed natively.

pico rc.sysinit.author
#!/bin/bash
# date>>/var/hack/log/hackinit.log

#Environment Variables
export PATH=$PATH:/var/aaron:/var/aaron/tivotools:
export TIVO_ROOT=
export MFS_DEVICE=/dev/hda10
export IGNOREEOF=1000
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib/modul
export TERM=xterm
export PS1='\h:\w$ '

#Start BASH
/bin/bash</dev/ttyS2&>/dev/ttyS2&

#Setup HOSTNAME
/bin/hostname tivo

#Load telnet daemon and ftp dameon
tnlited 23 /bin/bash -login &
tivoftpd.mips

If you're running version 4 or higher of the TiVo software, you will need to also go into rc.sysinit and cruise down to line 566 or so. You'll see a line which mentions netfilter-enable twice on the same line. Change both references on that line to read netfilter-disable instead.

At this point, I reinstalled the original drive in the Tivo, but not the new one, and was able to boot up the TiVo with telnet and FTP access.

With my fearsome new powers of telnet/ftp, I installed the tytool server on Rex, and am currently copying a video of a certain executive transvestite over to my hard drive for further testing and experimentation.

Note that this whole process left the programs I had previously recorded on the Tivo unwatchable. I think this is because the Tivo no longer scrambles recordings, and thus no longer attempts to unscramble them when playing them; a patch to unscramble these previous recordings will be necessary.

I'll be putting the second hard drive in sometime this weekend...hopefully that'll go well. Further bulletins as events warrant.

Currently listening to: "Can't Seem To Make You Mine", Murder City Devils

Tuesday, November 16, 2004

Revision

All that stuff I said yesterday? In paragraphs 3 to 5? Yeah, never mind that.

It'll be better tomorrow, I'm sure.

Currently listening to: "Godlike", KMFDM

Cause it's just that kind of day.

Monday, November 15, 2004

Challenge...Everything? Really?

Electronic Arts: the gaming industry powerhouse responsible for a hojillion games you know and love, such as the Sims, Burnout 3, and...ArcticFox? That was one of my first computer games. I remember gleefully chewing GatorGum and playing ArcticFox, Gunship, Bard's Tale, and Archon. With the exception of Microprose's Gunship, those were all early EA titles.

Now, it appears there's trouble in the Holy Roman Empire: implications of illegal wage practices and sweatshop-like working conditions, and they're not even in Indonesia. There is apparently a class-action
lawsuit in the works against them, as well, and I'm hearing a lot of talk of unionizing game developers. Not sure I'm into that, but then, I have no reason to be.

It really makes me appreciate the company I work for. There will always be disgruntled players who will say "they don't care about the public, it's all about squeezing as many bucks as they can get!", but those people might not know their ass from a hole in the ground. All businesses have to perform business-like activities which are ultimately in their best interest, of course, or they are not businesses for very long, but I honestly feel that Simutronics mitigates the ill effects of such occurrences whenever possible.

That's all well and good, but that affects the players, and I am not a player, I am a selfish employee who wants things like good working conditions and enjoyable, fulfilling experiences.

Everybody here is an individual person, bizarre in their own way, and I think the world of all of them. They care about each other like human beings, they snipe at each other like human beings, and at the end of the day, they go home feeling like human beings. From my supervisor Mike, who is a hell of a guy, I am 1000% more likely to hear "I hope you're not overworking yourself over there...go the hell home" or "you're taking on a lot...if you're starting to get bogged down with too much to keep track of, stop it", than "yeah, ummm...I'm gonna need you to come in this Saturday and finish those TPS reports..." Whatever a TPS report is. Have no illusions, we have as much variance in work ethic and personalities as any other place, but at the end of the day, I love this job, and can't imagine finding a better company to work for.

So watch your step, EA. Treat your people right, or watch your empire crumble around you.

Currently listening to: "Non-Zero Possibility", At the Drive-In

Convolution 3

Before D became a full-fledged restaurant manager, she would typically see to it that she had Sundays off, and that day was always our "Chill Out And Spend Time Together" day. Sadly, her increased responsibility doesn't allow for such luxuries, and it's extremely rare that we have a day off at the same time. Today was such a day, though, and it was very nice. We had a lazy Sunday afternoon meal at Gingham's, where I had my new favorite breakfast food, a bastardized-by-request version of two of their omelettes, which we have taken to calling "the lovechild omelette". It is filled with ham, celery, tomatoes, onions, peppers, and other such things you commonly find wrapped in eggs. Later, a pleasant excursion to Best Buy, where I picked up a stack of DVD+R's, an 80 gig hard drive, and Champions of Norrath for the PS2. She picked up new albums by Interpol and The Features.

The Features, for those of you not familiar, are from Sparta, TN (USA), and are thus from "my neck of the woods", as the kids don't say these days. Denise and I have been spouting their virtues for a few years now, having been introduced through a mutual friend (and co-worker of Denise's) in Knoxville. Fans of The WhiteStripesVinesStrokesHivesEtc take note, the Features are similar in many ways to that lo-fi conglomerate, but they've been at it longer, do it better, and any one of their songs has more personality than MTV's entire Buzz Bin rotation (excluding the Features themselves, should they show up there, as that could potentially bring about a recursive infinite loop of coolness, thus causing the collapse of irony and thrift-store sweaters). They are in a sense like the Flaming Lips, in that their songs are likely to bring you pure joy, without overtly trying to do so. If you enjoy the indie rock at all, "Exhibit A" is a must-listen, which can conveniently be arranged, to an extent, at their site. While washing dishes and listening to them, I mentioned to Denise that it was like they had an effect pedal which let them crank out pure awesomeness. Go forth and find your bliss, as my dad has been known to say.

·    ·    ·

Last night, I met up with Adam, his girlfriend JoLynn, and Gary from the office at Ozzie's, a sports bar in Westport. The charbroiled salmon I had was amazingly good, and the Jägerbomb I downed immediately upon arriving was a source of great wonder and amusement to the cluster of 40-something ladies at the next table. Soon after, we hopped next door to the Drunken Fish for a change of scenery. The Drunken Fish was cool, although borderline pretentious (more due to the patrons than the staff, although they had a live DJ). The sushi was decent, and I forgot how potent wasabi can be, which led to some drumming of the feet and crying of the eyes. Denise showed up just as we were paying there, so we walked back to Ozzie's to find it closing, before ending up at Llewelyn's, where I had my 30th birthday party last year.

It was of course great to see Adam, and JoLynn, whom I had only spoken to for a couple of minutes at Simucon 2004. She was a thoroughly enjoyable young lady, pleasant and easy to converse with. All in all, I ate and drank way too much, and had a very good time with good people, who I wish were in town more often.

·    ·    ·

We just saw Kill Bill Vol 2, and I think I enjoyed it more than the first. In case you haven't seen it, I'll not spoil anything, but there was more character development and less outright gore. I have no problem with outright gore, but I prefer it when mixed with substance.

Tomorrow, in accordance with the prophecy, that new hard drive I mentioned will be going into the Tivo, both to increase the recording time, and give me a backup so that I may play with telnet and FTP on said Tivo. Wish me luck.

Saturday, November 13, 2004

I Am The Turtle

(coo coo ca choo)

I was glancing at the site stats, and noticed that a couple of searches for ex-band members had directed people here (so, Bucco, Dan, someone's looking for you, just so you know...sorry Chris, apparently not you...or maybe it was you). Anyway, I also noticed Google's images stuff as a referrer. One brief stream-of-consciousness later, I was searching Google's images search for the names of people I knew. Mostly, they come up empty, but I, apparently, am linked in some way to this turtle:

Aaron the turtle

I'm told it's a Black Ray Softshell, for what that's worth. Go see what your name comes up with.

·    ·    ·

Last night was amateur night at Millstream, our favored drinking spot. There was some sort of post-engagement party in the house, and the place (which is quite small to begin with) was packed with people who I shall generously call idiots. The normal bartender was AWOL as well, and the two attempting to take his place were, by all accounts, doing the best they could, but even paired up, they were no Todd.

Apparently, a few coworkers will be attempting to redeem themselves by meeting RFS Adam and I out tonight at BW3. We shall see.

Also, I'm thinking of switching the blog over to Movable Type.

Currently listening to: "Losing My Religion", Tori Amos

Friday, November 12, 2004

Suckage

My coworkers are all lame. LAME I TELL YOU! Except for the sick one, she has an excuse.

Radio Free Simu Adam* is in town, and all of my SimuFriends™ bailed out of going to meet him for drinks.

Well, I have a reputation to uphold, dammit. Let there be merrymaking!

Currently listening to: "Hymn to an Older Generation", Jefferson Airplane

* Yes, I actually call him "Radio Free Simu Adam", to distinguish him from other Adams, such as my brother ("my brother, Adam") and Revolution Block's bass player ("Bucco"). You do the same thing with people you know, admit it.

Thursday, November 11, 2004

Another One

Well, apparently Sonic Foundry's* Vegas Video 4.0 works pretty well for capturing five minutes of video at a time. Maybe I'll leave it capturing the full 90 minutes when I go out tonight, and see how it does with that. I had already erased the previous full (and out-of-sync) video when it occurred to me that I could have just doctored the audio between songs to bring it back into sync. Durr.

A couple of humans said they enjoyed the previous video, so here's one for Simple Walk, which is an RB original, unlike Sonic Reducer. Be sure to watch me come within inches of falling down at about the 2:40 mark. Thank goodness for my ninja-like reflexes. And moshing crowds.

In holiday news, I heard Christmas songs today. Sorry, Alex, it seems the season is indeed upon us. Which kind of bites, because I don't know if I'll be able to save up enough for what I want to get D. Luckily, I have a backup plan - which may actually be recipient-preferred. No, cupcake, I'm not telling.

Currently listening to: "I'm Free Now", Morphine

* Yeah, I know they sold Acid and Vegas and the rest of their software line to Sony, but this version was theirs, so shoosh.

Sonic Reducer, Ain't No Loser

I finally got the video capture to work a bit. Presenting a fitter, happier, more productive Revolution Block. If you happen to not know me, that's me in the suit, talking at the beginning; don't ask why I'm wearing a suit.

Warning: that link is 10 megabytes of pure rock, not for the faint of heart or conservative of bandwidth. Also, you've gotta have Windows Media Player 9. I'd rather go with MPEG-2 encoding, but I don't have that plug-in for Vegas, and Windows Media Encoder will only do WMV's, of course. Silly MS.

In non-rock news, I finally bit the bullet and installed Service Pack 2. Seems to be okay so far, now that I turned off their firewall, etc. I'll stick with ZA, thanks.

Currently listening to: Rodeohead

Monday, November 08, 2004

BitWarrant

Those of you who use BitTorrent may want to take notice. I've never messed with it personally, but I've reaped the benefits now and then.

John Malcolm, director of worldwide anti-piracy operations for the MPAA, said that his group is well aware of the vast amounts of copyrighted material being traded via BitTorrent.

"It's a very efficient delivery system for large files, and it's being used and abused by a hell of a lot of people," he told Reuters. "We're studying our options, as we do with all new technologies which are abused by people to engage in theft."

full story >>

35%, that's pretty impressive. Props to Mr. Cohen, at least until Kazaa slaps you with an antitrust suit.</joke>

Currently listening to: "Full On (Reprise)", Soundgarden

Sunday, November 07, 2004

Dubbed Like A Cheap Japanese Movie

I don't know what's worse, that I'm still awake at 9:00 AM, or that the past five or six hours of messing with video capture have been a total waste. One thing on my to-do list is to take all of my old band's videos and convert them from VHS-C to DVD. I've been fighting with this on and off for a while, partly because my video capture card (a discontinued Winnov Videum model) is basically ancient, by which I mean I picked it up in probably '98 or '99. I'm wondering if it's just not up to the task...I want to capture at 640x480 since I'll be transferring to DVD (which typically uses 720x480, but I don't want to throw the aspect out of whack). The software that came with the card sucks, and the card itself doesn't play well with other software. NeroVision laughed at it. Not even VirtualDub could step up. I finally thought to try Sonic Foundry's Vegas, remembering that I had a copy laying around. It seems to capture pretty well, dropping about 3 or 4 frames over the course of 90 minutes. No problem there, and I'm even doing compression on the fly. I have to...the compressed file was 14 gigabytes. I may need to get a new hard drive, since I only had about 35 gigs free on this one.

So I got about an hour and a half of video captured - which somehow seems to have taken me around 2.5 hours, not sure how that happened since it's real time - and I'm looking at it in Windows Media Player, checking the sound levels against some of my regularly-volumed MP3s. The levels are fine, but the audio gets increasingly out of sync as the video progresses. Which sucks.

I guess I will go back and try recording it in five to ten minute increments, then splicing those together, since Vegas looked like it allows for that. If anyone has any advice, I'd love to hear it. I may break down and get one of those USB 2.0 video capture devices, like the VideOh! by Adaptec.

Currently listening to: an out-of-sync "State of Love and Trust", Revolution Block

That's No Moon

I just watched the teaser trailer for Episode III: Revenge of the Sith. First impression: it looks capable of returning the series to its former glory. Wookie armies, space battles, exciting stuff.

But don't take my word for it. I've archived it here, unless it gets linked to and chews up all my bandwidth.

Time for some drinkin'.

Wednesday, November 03, 2004

And So It Begins...

Six more foreigners were kidnapped and a US soldier died in a roadside bomb in another day of mayhem, as Iraqis tracked the news that George W. Bush has won another term as US president.

full story >>
"I don't know anybody among my friends and family who would have voted for Bush and I fear that we will see a rise in anti-Americanism here and in Europe," said Christian Wienert, a student at the University of Potsdam.

full story >>
Swedish Prime Minister Goeran Persson predicted Bush will not revamp his policies and that the sniping between Europe and the United States would continue.

"Sweden and Europe will continue to criticize Bush the same way as earlier. But I do not believe that he will be more willing to listen to it."

full story >>


To the 58 million of you who voted for Bush...I hope you realize that everything we face over the next four years will be on your conscience. If you're lucky, we'll still be allowed to vote in four more years, but with a Republican majority in Congress, too, I won't be holding my breath.

To the 40% of eligible Americans that didn't vote: get out. Leave the fucking country. You don't deserve to be here. Maybe voting should be mandatory, with an "I don't care" option for the lazy people.

Damn.

Tuesday, November 02, 2004

Your Right, But More Importantly, Your Duty



You should, too.

Monday, November 01, 2004

Camper Van Beatdown

Warning: long post ahead

You know those occurrences in your life that you can remember for years to come, and always wish you had handled differently? I think I picked up another one of those on Thursday night. Denise and I went to see Camper Van Beethoven at Blueberry Hill down on the Delmar Loop, a popular section of downtown St. Louis. I enjoyed the hell out of CVB, although I was only able to recognize two songs: "Take the Skinheads Bowling" and "Pictures of Matchstick Men". I prefer the original Status Quo version of the latter. While I was of course previously familiar with them, CVB's heyday was over by the time I branched from punk and metal into alternative, so I'd never really given them a listen. It was thoroughly enjoyable stuff, both for the audience and the band, so far as I could tell. Thanks to Johnny Crabcakes and Mrs. Crabcakes for inviting us along. That wasn't the occurrence in question, though.

As we were leaving, I saw a young emo-looking couple arguing on the sidewalk. This being near one end of the "Loop" section of Delmar, they pretty much had it to themselves, and were obviously having it out, standing about six feet apart and yelling at each other, with the guy gesturing wildly about something. As we passed them, the guy suddenly ran at the girl, kind of grabbed her by the neck and shoulders, and threw her to the ground. I said, "Holy shit, that dude just threw that girl down, what an ass!" What I wish I had said was, "Baby, pull over, I've got to beat someone within an inch of their worthless fucking life." I haven't been in a fight in probably six or seven years, but judging by the clumsy way that dude threw the girl down, I could have sent him to intensive care pretty easily. Or shown a bit of self-restraint, and just stopped him. Sadly, if I did beat his ass, he would probably have sued me and won.

I really want to find out what happened, but the St Louis Post-Dispatch apparently only updates the police blotters once a week. Hopefully, she got back up, kicked the crap out of his skinny ass, and called the police herself. If you happen to be the guy I'm talking about, feel free to email me if you need a beating, as I would appreciate the closure. Further bulletins as events warrant, so probably none at all.
·    ·    ·

In other news, I felt a bit like I was getting a cold that night, and sure enough, I woke up the next morning with a full blown case of bleah. It's probably God's way of saying, "I really wish you had just beaten that guy within an inch of his worthless fucking life". I came into work anyway as I had a meeting that morning, but I left at 2 o'clock, as soon as the meeting was over. I knew I would be spending the whole weekend sitting on the couch anyway, so I stopped at Gamestop and picked up The Bard's Tale for the PS2.

Geek sense tingling! The original Bard's Tale was one of the first computer games I ever played, and I still have fond memories of it, especially that one room in the castle with four stacks of 99 barbarians each. Computers were so blazingly fast back then that I would set up all of my characters to do attacks on as many enemies as possible (hooray for Mangar's Mind Blade!), and wander off for an hour or two until the next round of combat was ready to start, leaving my computer to bleep and blip as it gleefully dished out psychic annihilation to several hundred barbarians. We're talking a Tandy 1000 here.

So of course, when I heard they were remaking it, I was pleased, even though I understood that it would probably only marginally resemble the original, in both appearance and gameplay. And it did indeed live up to my expectations, being extremely fun and often funny. My only real complaint was that it ended too soon; I finished it between Friday afternoon and Sunday afternoon. Granted, that's all I did, and I barely slept. I've typically stuck with racing games on the Playstation, specifically avoiding any type of RPG, but now that I know they can work, I might have to look into some of the others that are out there.

Speaking of racing games, I don't know if I've mentioned it, but Burnout 3 is the damn bee's knees. Launching a nitrous-boosted fire truck off of an overpass and plowing into the oncoming traffic below at 150 mph is something everyone should experience at least once in their life. It nearly brings me to tears of pure unadulterated bliss just thinking about it. I must thank Jon for initially bringing the game to my attention via the singing of its praises, and DR's evil overlord Bubba for contributing mightily to its purchase via his overly generous appreciation of my helping him move.

·    ·    ·

Finally, I did the unthinkable today. I let go of Lock Mastery. GM Ildran emailed me with some relevant information, and asked how it was going and whether I needed any help. I suddenly found myself very tempted to just hand the whole project over to him, and after a brief discussion, he agreed to take it on. I don't really know how I feel about that, yet...it's an odd mixture of relief and disappointment.

One of the main reasons I've stubbornly held onto it this long, despite managerial suggestion-bordering-on-insistence that I hand it off, is that I don't like to feel like I've failed at something. In a way, I have let down these players of GemStone IV, many of whom I consider friends. I guess reality finally settled in that I was doing nobody any good by holding on to it, not my rogues, not Melissa, and certainly not myself. C'est la vie, as they say. Ultimately, I think it was a move in the best interest of everyone. I get my life back, the rogues get a finished LM, Melissa gets happy players, and Ildran...well, almost everyone, I guess.

If nothing else, it got the lockpicking, disarming, and guild systems some badly needed rewrites.

DO NOT forget to vote tomorrow!

Currently listening to: "How Many More Times", Led Zeppelin