Archive for February, 2005

February
17th 2005
The Fall of Reach

Tags:

A buddy of mine passed along a book he just finished last week: The Fall of Reach. It is the prequel to the great Xbox game Halo: Combat Evolved.

I’ve just finished reading it and I’ve got to say that I was surprised by how good it was. Normally how I play these first person shooters is by bypassing all the cutscenes and just getting in there and kicking some ass. Half-Life and Halo were the exceptions to this… and watching the story unfold further in Halo 2 was very exciting (part of why the ending is like a kick to the head).

This book reveals the history of John, aka SPARTAN 117, aka Master Chief. It details the first contact with the Covenenant, the alien race that is hell-bent on destroying the human race. It is more than the perfect setup to the first Halo game - it in itself is a great work of science fiction.

I look forward to reading the second and third books in this series.

Comments Off

February
17th 2005
The New d0rk

Tags:

Well, it has been a few days and I think I really like this look for the site.

I found the great idea for the tabs over at silverorange labs and if I had any real content, I’m sure they’d be awesome.

I upgraded to WordPress v1.5 - it has improved a whole lot since 1.2. The integration was easier this time because they’ve split apart the old index.php into multiple files and call it a theme now. Check out my sub tabs of all the categories. Fantastical.

I’d still like to come up with some kind of logo, but I haven’t been able to think of a good one for the past 7 years, so maybe my hex logo will remain.

Also, d0rk is running at a very high temperature because of the poor case design and unfortunate location in the server rack, so I’ll probably be upgrading to a new server sometime in the not-too-distant future. If anybody has a deal on Dell’s PowerEdge rack servers, I’d love to hear about it.

I ended up ordering a Poweredge 750 to replace my current hacked-together rack box. d0rk has been moved to a different rack location in the mean time, where the temperature is much cooler, but still too high for my liking. I’m still working on configuring the new box, but I’ll likely swap the servers out in the next few days.

Comments Off

February
13th 2005
Halo 2’s Ending

Tags:

I can summarize my feelings of the ending of Halo 2 with the following statement:

(expletive deleted)

5 Comments »

February
10th 2005
Sony RM-AV3000 Key Repeating

Tags:

I’ve had a Sony RM-AV3000 for quite some time now, and it is a great remote. I’ve only had one complaint ever since I programmed it to control my Xbox by learning from the Xbox remote.

That complaint was: when you hold down a learned button, the remote does not repeatedly send out IR codes. I had to keep hitting the down arrow in XBMC for example to scroll through my movie or music collection. Not only did I have to keep pressing it, I had to deal with a small delay before the remote would respond. It was very frustrating scrolling down 50 items to find something. So frustrating, that I ended up using my original Xbox remote all the time - you could just hold down, and it would keep scrolling as one might expect.

Now I’m well aware of Remote Central and their review of the RM-AV3000 which contains great programming tips, but unfortunately I couldn’t find the answer to my problem. I Googled a whole lot - nothing.

So, last night as I was playing with my SqueezeBox and again starting to get frustrated with my lack of button repeating, I decided to change the way I had the remote learn the IR codes. Normally, I’d just set it to learn and then press the button on the original remote quickly (otherwise, sometimes it would learn 2 codes so a single up arrow would be up-up). I decided to just mash the button down on the original remote until my RM-AV3000 was done learning.

The result was surprising: success! The trick is to just hold down the original remote’s button until the “learn” item on the RM-AV3000’s LCD disappears. I’m not going to guess why this works, as I’ve had trouble with holding down the original remote button for shorter amounts of time and getting unwanted button repeats.

Anyways, I hope somebody else with a RM-AV3000 can find this information and method useful in fixing their learned codes.

5 Comments »

February
9th 2005
Scrolling tables with fixed headers

Tags:

Today at work I was looking into the old annoyance of making tables with scrollbars built in. Normally, since I’m writing in ASP.NET I just have a nice DataGrid and then throw a DIV around it, with a limited height and then assign the overflow-y to something appropriate (scroll or auto).

Now, with this method, you lose your headers when you scroll. It is an obvious side-effect, and if you’ve got a large table with limited scrolling space, it is very annoying to have to go up to the top to see what the columns mean. There is no easy, sure-fire way to fix this across all browsers. FireFox probably behaves the best and lets you scroll on a <tbody> while IE almost requires two tables to make the body scroll how you want it to.

I say IE almost requires the table because just today I ran across this article by a Mr. Geoff Appleby which explains what you need to do to convice IE to play nicely. Essentially, you just make sure IE isn’t rendering in Quirks Mode and then you can use CSS to set position: relative. To implement this in my code, I’ve just got a method that searches through the DataGrid’s controls, looking for the header row (DataGridItem’s ItemType is Header). Then I just set do a quick DataGridItem.Style.Add(”position”, “relative”). Bam! It Just WorksTM. Fortunately I’m working on an IE6-only project, so this is a perfect solution for me :)

I also ran across a more in-depth version, so in-depth that I’m still afraid to view the source.

Comments Off

February
3rd 2005
Home Audio System

Tags: ,

A curious user posted a question to Ask Slashdot that I’ve often pondered myself: Multi-Room Wireless Sound System?

The Problem

I’ve got a pretty good size music collection (too big for my 20gb iPod at any rate), and I’ve wanted an easier way to play music throughout my house. While my question isn’t quite what the poster on /. had in mind, here’s basically what I’ve been looking for:

  1. A centralized music library. I’ve already got this with iTunes and a rsync scheduled task that runs every morning to back it up across a couple different machines in my house.
  2. Ability to read iTunes ID3 tag information. I spent a considerable amount of time making sure the CD’s that I ripped had up-to-snuff ID3 tag information, and even went through the trouble of running at least half of my collection through MusicBrainz. I want a player that can recognize these ID3v2 tags including such things as CD# for my box sets.
  3. Easy to use. Ideally, I’d like something so easy to use that anybody can go pick up the remote, find an album or specific song with ease, and just play. Also playlists should be very easy to create/maintain.
  4. Multi-headed. Meaning that this will be running in multiple rooms and each room should be independant of one another. Also, a very nice feature would be the ability to play the same (read: synchronized) music source in two or more rooms.

The Contenders

I read through all of the responses this question elicited on /. and I came up with a few products that fit the bill:

  • Sonos ZonePlayers are simply amazing. These players do everything I can ever imagine wanting to do. Watch the demo and you’ll be drooling too. The downside: way too expensive. The “sale” they’re having now is $1200 for 2 ZonePlayers and 1 remote. That is just more money than I’m willing to spend on something like this - this product is immediately ruled out.
  • Roku SoundBridge looks pretty nice. The device itself looks pretty interesting… unique approach to the design of the thing. Unfortunately, I don’t see that this can play in sync with another device on the network. Also, this plays streamed music from an iTunes shared library, but doesn’t have a centralized server to control more than one device. Ultimately, this solution doesn’t seem to be quite what I had in mind - it looks like it is intended as a single-room unit.
  • SlimDevices SqueezeBox is a very promising solution. These little boxes satisfy all of my requirements, and the server software they use is even Open Source. I have downloaded and configured SlimServer and played around with their Java player client SoftSqueeze. I’m pretty impressed - the boxes only cost $200 and are available through Amazon.com

The Solution

I’ve decided to try out a SqueezeBox to see if it’ll work for me. It seems to be pretty cost-effective and I can even hack around with the server to get it to suit me perfectly.

Here are a few things that I’ve stumbled across with SqueezeBox that may be of some interest to others:

  • SlimServer runs as a service in Windows 2000+. This is really almost a necessity; it also means that I’ll be running SlimServer on my main Windows PC that I use to rip my music and have my master iTunes collection on.
  • SlimServer is smart enough to read the iTunes Library XML file, so it knows about every single MP3 and AAC file in my collection. Unfortunately, the players can’t play DRM’d AAC files, so I’ll have to make sure I convert all my AAC’s to MP3’s by burning/ripping them with iTunes.
  • SlimServer understands Smart Playlists and makes them available as normal playlists on the SoftSqueeze / SqueezeBox clients. Any iTunes user will tell you how great Smart Playlists are.
  • SlimServer supports SSH tunneling and I’ve tested this out at a remote location running SoftSqueeze. Unfortunately, it requires more bandwidth than my cablemodem has so the sound loops every once in a while. There is on-they-fly recompression support to scale back on bandwidth usage, but that seems like a bother for lesser-quality audio.

I just unpacked my SqueezeBox last night and I’m pretty impressed. It took all of 30 seconds to get it up and playing music. When you give power to the device, it enters setup mode. In setup mode, you need to let it know how it should obtain an IP. I have a DHCP server, so I just let it grab an IP from my pool. Then, it searched for my SlimServer. It found it quickly and asked if it was the right one (you can override it by specifying an IP if you wish). After this, I was told to hold down a key to begin. I did so, and it grabbed the latest firmware and updated itself automagically. Already being familiar with the interface (thanks to SoftSqueeze), I was playing some Cowboy Mouth in no time.

Comments Off