My Favorite Anti-Apple Commerial

May 12, 2008

Being a long time PC enthusiast and developer who attended a pre-college educational system that taught only Apple Mac usage, I am naturally predisposed to hate anything Apple does.  The following commercial for the Lenovo X300 IBM ThinkPad struck a pretty resonant tone for me.

 


Installing Aptana on Ubuntu 8.04 64-bit

May 12, 2008

For the last couple of weeks I’ve been expirimenting at home with Linux for the first time in years.  The April 2008 release of Ubuntu 8.04 (otherwise refered to as the Hardy Heron for reasons I do not begin to understand) promised excellent driver support and incredible ease of installation.  For the most part, both of those statements are true.  It comes with the Wubi installer to let you get everything started from within Windows and have a dual-booting machine in minutes.  Plus the only driver issue I’ve had has been with my laptop’s wireless network adapter.  On the whole, this has been a pretty positive setup experience.

I’ve been trying to configure my desktop for some light development work on Ubuntu using Ruby on Rails.  It was simple enough to install Ruby, Rails, Eclipse, Apache, and MySQL all using the Synaptic Package Manager that ships with Ubuntu.  However, installing Aptana Studio for RadRails was another story.  The following advice only applies to Unbuntu 8.04 installations on 64-bit machines.  If you’re using an x86 based processor, you probably won’t experience any of these issues and there is a good chance you aren’t reading this to begin with.

The first problem I ran accross was that directly downloading and unpackaging Aptana Studio (like I would in Windows) doesn’t work.  You’ll get the “An error has occurred. See the log file…” message that is starting to become infamous.  After investigating the log file I was directed to, I noticed that the error was that the code was expecting an x86-based CPU clock.  Blast you 32-bit systems!

Then I noticed on Aptana’s site that if you’re running a 64-bit OS, you have to run Aptana as a plugin to Eclipse.  “Well, that shouldn’t be an issue,” I thought to myself, as I had used Synaptic to automatically install Eclipse.  I followed the directions Aptana gave for installing updates to eclipse and creating a new site to scan (at URL http://update.aptana.com/update/3.2/).  Eclipse found the update site easily enough and prompted me to download the Aptana plugin.  However, every time I did so led to the error message “An exception occurred while downloading feature from http://update.aptana.com/update/3.2/features/com.aptana.ide.feature.editors_1.1.5009212.jar.” 

After another hour or so of googling the issue, I discovered that the current update of Aptana is only compatible with Eclipse 3.3 and higher.  Ubuntu 8.04, despite having just come out in April of 2008, still points to the repository with Eclipse 3.2 when using Synaptic to autoinstall. 

I went to the Eclipse site (http://www.eclipse.org) and pulled down the latest version (currently 3.3.2).  Then using my freshly unpacked new copy I repeated the previous steps of setting up Eclipse to download the Aptana plugin from the update site. 

Eureka!  Aptana began streaming to my drive and I celebrated with a beer (Stella Artois).  Once Aptana was installed, I was easily able to click the link to install RadRails, which in turn downloaded and installed all of the Ruby Gems that I still needed (i.e. rake).

I hope this guide helps someone out there.  Enjoy Ubuntu and happy coding!


Playing Taps for my Xbox 360

May 8, 2008

Today I am boxing up and shipping my recently departed Xbox 360.  It served me well for over 2 years, acting as my primary gaming platform, go-to console for DVD and HD-DVD playback, and keeping a specific region of my entertainment center exceptionally warm.

On monday, during a furious round of Call of Duty 4 online, everything froze up.  It couldn’t find the energy to send video to the television again, and eventually its bright power light was surrounded by three ominous red lights, forming three-fourths of a ring around the now useless power button. 

Microsoft is replacing it for me for free since it has been less than 3 years since the initial purchase.  Its possible that the system they send me to replace it will have HDMI output and better internal cooling, which are both steps in the proper direction.  But my sentimental gamer soul will forever miss my first 360 console. 

At least I got to keep the hard drive.


Beginner’s Guide to BitTorrent

May 3, 2008

I’ve been asked by many friends and coworkers in the last few months about how to get started with BitTorrent.  I’ve explained the basics several times to several people with mixed results and kept telling myself that I should just compile my advice into a blog post.  So here goes it.

As with anything else I post, what I try to get across may not be the *best* way of doing things, but its the way that I have found that has worked.  In this case, it has worked for me for over two years with only a couple of encounters with malware. 

Before getting into it, I would like to say the following:  DON’T DOWNLOAD ILLEGAL SOFTWARE.  I didn’t tell you that that is what you should use BitTorrent for, so don’t do it!  Also, USE A VIRUS SCANNER.  If you don’t already have one running, you’re insane, and you should install one immediately.  AVG is a very good and reputable freely available scanner, so get that now if you don’t already have one.  This is not to say that you will be dealing with viruses frequently, I know I haven’t, but its a smart move all the same.

Now that you are convinced to stay legit on your software licensing and protect yourself from undesirables, let’s get started.  First you need to understand what the BitTorrent network does differently from Kazaa, Limewire, etc. 

In those older apps, you would load up your connection and then search the community for the files you wanted.  Once you found what you were after and saw that several people were hosting the file, you’d double-click on it and begin to stream it down to your hard drive from those users. 

BitTorrent doesn’t provide a means of searching for what other users are sharing directly.  Instead, you’ll use what is called a Torrent Tracker to search for what you are after.  A Torrent Tracker is a website that hosts Torrent files.  Search for what you are interested in, and download the Torrent (.torrent) file that matches.  That file isn’t the thing you were after, its merely a description of that thing.  This is important.  You will need a BitTorrent Client to open the file, which will then connect to the P2P network of users and begin downloading the item(s) you were initially searching for.

Sound complicated?  Its not really, I promise.  Let’s get started with something concrete.

I want to download the new installer for Ubuntu Linux 8.04.  It is COMPLETELY FREE AND LEGIT software that is perfectly legal to download.  The problem is that the official Ubuntu site is freaking slow when I try downloading the installer ISO.  BitTorrent to the rescue!

First we need a BitTorrent Client, so go grab a copy of Azureus.  It is available for Windows, Mac, and Linux (Thanks to Java) and the site has options at the top for how to install in the appropriate platform. 

Now that that is installed, go to isoHunt, a Torrent Tracker site that is clean in regards to its ad content, and search for Ubuntu 8.04.  One of the first listings I see is what I’m after and I click to download the .torrent file.  Depending on your browser, you could opt not to save the file, merely open it, and let your OS open Azureus automatically since it will have an association with .torrent files. 

Once the client loads up and is opening your .torrent file, it will ask where on your hard disk to save the data.  Specify a download directory and watch the bits start streaming to your computer!  That is essentially it. 

Feel free to look into alternative client applications, tracker sites, etc., but be aware that some sites are Not Safe For Work and some clients don’t do as much to protect your computer from sniffing as Azureus will.  And as always, feel free to comment and ask questions. 

Happy downloading!


.Net 3.x LINQ to XML RSS Reader Tip

May 2, 2008

Before digging into this tip, I’d just like to mention that I thoroughly enjoy topics that require titles as complex as this blog’s.

I’ve just been playing with the .Net Framework’s awesome new LINQ (Language INtegrated Query) syntax and discovered a fun little problem when using LINQ To XML to parse an RSS feed. Take a look at the following code:

The core of the SELECT statement populates a Blog object with members found in the XML of the feed. This code has a bug though. The Content element will throw an exception when it tries to find the XName “content:encoded”, even though that is included in the XML from the feed.

This can be resolved by relying on the namespace for the RSS content. By changing the assignment of the Content property to look more like this:

you will be able to overcome the limitation of the XName object to access nodes with a colon in their name!

If you’ve read this blog and you are thoroughly confused regarding LINQ, .Net, XML, RSS, etc., please google these terms and read all that you can. Also, I’d be happy to write further posts going into any of these topics in more depth so please request so in comments if you are interested. I should mention that I don’t claim to be doing things *the right* way, merely a way that I have found that works. If you see something better, use it and let me know about it! Happy coding!!!