Wednesday, September 27, 2006

The move from Netgear MP101 to Xbox Media Center

For some time now, I've been using a Netgear MP101 with the free TwonkyVision MusicServer. Unfortunately, the free version of MusicServer is no longer available from TwonkyVision as it is now part of the TwonkyMedia package, but you can still get it from places like the "Files" section of the NetgearMP101 Yahoo! Group. Even though the MP101 includes wireless B support, in order to have optimum playback performance, I used two Belkin Wireless G routers bridged together and connected the MP101 to the bridged router via ethernet. Using the matched routers to do the wireless communication gives significant communications improvements over using the wireless B. Well, that was well and good for music, but I wanted to do more (view pictures, videos, etc). I first tried out MythTV and MediaPortal on a spare computer. They were ok, though a bit slow (particularly in startup time) and MythTV proved a little difficult to get working with the hardware I had. Though the biggest factor in not going that route was that my wife was not happy with the computer case sitting next to the entertainment center. Yes, I could buy a small form-factor case, motherboard, etc. and build a small PC to look like another audio component to fit in the entertainment canter, but I wanted to do this cheaply. Then I ran into this article in Popular Science (printed edition) to build an "Xbox Media Monster". I knew you could hack Xboxes to run Linux or make them into media centers, but I thought you needed a modchip or good soldering skills (which I don't have), but apparently now you no longer need to do any hardware modifications! The instructions in the printed Popular Science article were a little too general, so I found more complete instructions at http://www.productwiki.com/microsoft_xbox/article/how_to_go_from_xbox_to_xbox_media_center_in_30_minutes.html which include the specific part numbers you need for the original MechAssault. So, I made a quick stop to GameStop to buy a used Xbox, an Action Replay memory device, and an original copy of the game MechAssault. Finding the original MechAssault was the only tricky part and required me to go to a second store. Then I simply followed the instructions and I was up and running XBMC (XBox Media Center) in no time. I used the XBMC BLINGBLING edition as it was the most up-to-date edition I could find. I'm loving my Xbox Media Center now. Besides being able to view and stream my pictures, music, and videos from my Linux server, XBMC also contains a scripting ability for which many scripts are available to do things like view the latest videos on YouTube, Google Videos, or your favorite community video source, stream audio from Shoutcast, Live365, or other audio sources, view current weather radar, TV listings, etc. If there's a media source online, someone probably has a script to view it via XBMC. XBMC can play video DVD and audio CDs (and rip them for you). You can use Xlink Kai to play games across the internet instead of a normal LAN (Local Area Network). Additionally, you can install Xbox apps like dvd2xbox to rip your Xbox games to the Xbox hard drive. Extracting your favorite game to the hard drive can help game performance. Another Xbox application you may want to try is MAMEoX to play your favorite classic arcade game on your Xbox. XBMC includes a web server so you can remotely control your Xbox, and an FTP server to move files to/from your Xbox. All in all, it's an impressive system for around $140 (for Xbox and all necessary accessories).

Thursday, September 21, 2006

Creating Mashups

For those of you interested in creating mashups (a website or web application that combines content from more than one source - wikipedia), then ProgrammableWeb is the place to go!

ProgrammableWeb showcases the latest mashup sites. For each site showcased, they provide a list of the mashup APIs used. They also have an API dashboard which provides a comprehensive database of API resources available to you as a developer and they have lots of tutorials and articles.

At the time of this writting, there are 1001 mashup sites showcased.

Using IE in Linux

If you're a web developer, you mostly likely have multiple browsers installed, or readily available to you, to test your web pages with. This is even more essential if you're building AJAX applications as there are many norotious variances between JavaScript and CSS implementations - particularly between Internet Explorer and more W3C compliant browsers like Mozilla, Firefox, and Opera.

To use IE in Linux, you have a few options.

  1. Use WINE (Windows Emulator)
  2. Use a virtual machine like VMWARE
  3. Connect remotely to a Windows machine with something like VNC, NX, or Citrix.
I've used all three of these methods, and they all have their pros and cons, which it not really the point of this article, but I'll provide a few.
  • WINE

    pros

    free, good performance and minimal memory requirements

    cons

    can be hard to setup, may not always work due to emulation problems (ex. APIs not implmented in WINE)

  • VMWARE

    pros

    fully supported, descent performance with sufficient hardware

    cons

    not free, resource intensive, takes longer to startup

  • Remote connection

    pros

    real windows machine

    cons

    requires a second machine, may have network latency


To address the "hard to setup" aspect of getting IE to run in WINE, I've used winetools before which works well, but it's really meant to set up a whole lot more than just IE. I've recently run across IEs4Linux which is a more straightforward method to simply set up IE in Linux under Wine.

Speeding up Linux

I'm a happy Linux user and like to tweak my operating systems to get as much performance out of them as possible, though not at the expense of sacrificing too much user experience niceties.
This article posses 7 Ways to Speed Up Your Linux Desktop which in a nutshell are:

  1. Use a Minimalistic Window Manager/Desktop Environment
  2. Customizing GNOME, KDE, or Xfce
  3. Get More RAM
  4. Kill Unneeded Processes
  5. Remove Virtual Terminals
  6. Use “Small” Applications
  7. Remove Start-Up Services
Like I said, I still want a nice user experience, so I'm sticking with KDE and Firefox for my browser (for many reasons, not the least of which is that I can synchronize bookmarks and plugins across multiple computers and OSes for a common Internet experience). However, the other tips can be useful.

Web Design Trends

This article analyzes some of the current trends in web design. It breaks them down into the following 8 categories:

  • Web Desktop Style
  • Silver Orange Style
  • Apple Style
  • Microsoft Style
  • Magazine Style
  • Rounded Plain Style
  • Web 2.0 Design Style
  • Adobe / Macromedia Style
For each style, the distinctive elements for each style are described, a sample screenshot snippet is provided as well a links to sites illustrating these styles, then pros and cons for using each style is given. Perhaps this will be useful for deciding how to design your next webpage.