Build a top notch Home Theater PC (HTPC) for around $800

July 29, 2010

Just built a HTPC not too long ago.   Here are the specs if you are interested.

nMEDIAPC Black Aluminum HTPC Case
GIGABYTE HDMI Micro ATX AMD Motherboard
CORSAIR 400w Power Supply
AMD Athlon II Dual Core 3.1GHz 64W Processor
G.SKILL 4GB (2x2GB) DDR SDRAM 1600 Memory
Westeran Digital 1.5TB SATA Hard Drive (low power)
Logitech diNovo Mini Black Keyboard
Lite-On Black Blu-Ray 4X Player
Hauppage WinTV Hybrid TV Tuner w/ Antenna
Terk HDTV Amplified Antenna

Optional: Windows Home 7 Premium 64-bit (I had a Microsoft TechNet subscription already)

Once I built the machine, and loaded all the drivers, updated the BIOS, etc.   I setup the following apps:

Windows Media Center 7
Hulu Desktop
Boxee (Lots of great content here like Revision3, Fox, etc)
Media Browser (for a great looking interface for viewing content in Media Center)
Any DVD (for archiving my existing movie content to my HP EX470 Home Server)

Also, the following plug-ins allowed me to easily swap between my 3 main programs (Hulu, WMC7, Boxee)

Boxee WMC Plugin
Hulu Desktop WMC Plugin

All in all, my wife and I were not watching cable very much anymore, so this has been a great solution for us.   I’m a bit concerned with Comcast’s 250GB data cap, but with compression getting better and better, and being able to enjoy the over the air broadcasts, it hopefully will not be a concern.

With this setup we are able to get the best of all the wonder niche content on the web (Netflix, Hulu, Revision3, Music Videos on demand, etc) and also get broadcast television in beautiful HD content in any room in the house (thanks to Windows Media Center Extender/Xbox 360).

Hope this post helps you all as well.

p.s.   Still trying to find a plug-in for YouTube Leanback (youtube.com/leanback) which just launched.  If anyone finds one let me know.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

Cool Wedding Video

July 29, 2010

Cool wedding video, especially if you like Passion Pit.

Lauren + JP from Matt Odom on Vimeo.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

YouTube Music

July 23, 2010

YouTube appears to have added a ‘Music’ landing page (http://www.youtube.com/music) to their site.   I’m not sure about everyone else, but I use YouTube, almost more than anything, for music videos.   Good move on their behalf, I’m almost surprised it took them this long.   They have the opportunity to be everything (and more) that people complain MTV isn’t anymore.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

Comcast Cares?

July 21, 2010

Netflix HD, Amazon VOD/HD, Hulu HD, YouTube 1080P/HD, etc…  this list could go on an on.

Consider some of the following facts:

“Standard definition 480i DVD movies are typically 5 to 8 mbps (megabits per second) MPEG-2″

“Blu-ray has a maximum bit-rate of 40 mbps while HD DVD offers a maximum of 28 mbps.  Over the air broadcasts can be up to 24 19.38 mbps.”

Source:  http://www.zdnet.com/blog/ou/dont-believe-the-low-bit-rate-hd-lie/959

Given the data demands of HD movie streaming, or any video streaming for that matter, and more and more content like this appearing online, why has Comcast not lifted their 250GB data cap?   They don’t even have a portion of the customer service portal which shows your current usage.  Further appalling, is they have varying data plans (up to 50MB/s) which still carry the cap.    Why?  As the public moves towards having more and more of their content readily available and online, it’s apparent Comcast is comfortable with forcing their customers to rent their overpriced, underpowered equipment for a ridiculous fee and continue to charge a premium price for increasingly outdated television.   The data cap is only a bureaucratic way for Comcast to force it’s customers into continuing to get video the old fashioned way (via cable TV).

There is a twitter account for Comcast (@ComcastCares) which I have tried polling for this but unfortunately have not gotten a response.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

Confused about non-relational databases?

July 21, 2010

Sinjin Joseph has a great (short) post outlining various use cases for most types of non-relational databases (MongoDB, CouchDB, Amazon S3).

http://www.indiangeek.net/2010/07/20/summary-of-use-cases-for-non-relational-storage/

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

Installing SQL Server Express 2008 on Windows Home Server

March 7, 2010

I have an old EX470 MediaSmart machine that I use for various purposes.  I use it for backing up my existing machines, I use it as a media center extender with my XBOX, a Subversion source code server, and today I setup SQL Server 2008 Express on this machine.

*Disclaimer* – I’m sure this is not approved or condoned by Microsoft for Windows Home Server owners, so do this at your own risk.  If you brick/break/fubar your machine, please do not email me about it.

Here are the steps I followed:

Step 1:

Remote desktop into your Windows Home Server machine.  “Start > Run > mstsc”.   From here enter your home server machine name (i.e. HOME-SERVER).  Once prompted, enter your username as “Administrator” and enter the root administrator password you selected when you setup your machine.

Step 2:

Download Microsoft Windows Installer 4.5 (if you have not previously done this) as it is required to install SQL Express 2008.   Here is the download link (http://www.microsoft.com/downloads/details.aspx?FamilyID=5a58b56f-60b6-4412-95b9-54d056d6f9f4&displaylang=en).  I believe a reboot is required here.

Step 3:

Download SQLEXPR_x86_ENU.exe from this Microsoft download link (http://www.microsoft.com/downloads/details.aspx?FamilyID=58ce885d-508b-45c8-9fd3-118edd8e6fff&displaylang=en).

Step 4:

Run the setup program, and under the “Installation” tab, select “New SQL Server stand-alone installation”.  Follow the steps required for the installation process.  I would  reboot after installing this as well.

Step 5:

Click Start > Programs > Microsoft SQL 2008 > Configuration Tools > Configuration Manager

Step 6:

Follow steps 1 – 9 here in order to enable remote connections as this will not be enabled by default.   Steps 10 and later will not work because SQL Express Management Studio cannot be installed on a Windows Server 2003 installation (to my knowledge).

Step 7:

On your home server, under control panel, select “Windows Firewall”.   Select the exceptions tab, and add a program exception for: c:\program files\microsoft sql server\mssql10.sqlexpress\mssql\binn\sqlservr.exe

Step 8:

On your desktop machine now, enter the following command into your command prompt:

C:\>SQLCMD -U sa -P <the-sa-password-you-set> -S YourHomeServerName\SQLEXPRESS,1122

(note: 1122 is the port # of the server.   This is the default, but you can see this changed from the TCP/IP protocol settings inside SQL Server configuration manager).

If this worked, you should be given a prompt such as “1>” to enter sql commands on that server.  Just enter “QUIT” once you have confirmed it worked.

Step #9:

Install Microsoft SQL Express 2008 Management Studio (http://www.microsoft.com/downloads/details.aspx?familyid=08e52ac2-1d62-45f6-9a4a-4b76a8564a2b&displaylang=en).   When prompted for connection details, specify “YOUR-HOME-SERVER\SQLEXPRESS,1122″ (without quotes), pick SQL Server Authentication, and enter your “sa” credentials.   Note the 1122 in the location.  This not a well documented feature, but this is how you specify the port # for a connection.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

Day of Mobile – Illinois Institute of Chicago

March 7, 2010

I spent yesterday listening to talks from “Uncle Bob” Bob Martin, Jay Freeman, Jason Shah, and Chris Grove.   All the talks were very informative, with only one or two notable exceptions which were lacking in actual content.

Bob Martin spoke about dynamic languages and some of the history of typed vs. non-typed languages and the benefits of each.   Jay Freeman spoke about the politics involved in app store development, as well as fielded questions on some of the very impressive work he has done for the jailbroken phone community.   Jason spoke about how to integrate multimedia development on the Android platform, and Chris Grove spoke to us about strategies for cross-platform development.

All the information was incredibly useful, and well worth the $40 price of admission.   The “Tech in the Middle” organizers did a really great job at setting this whole thing up and I would definitely attend any future conferences they may setup as well.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

Debugging DotNetNuke 5 with Visual Studio 2008 and IIS7

February 20, 2010

I have my DotNetNuke configuration setup as listed in this post.  I believe this works with the standard installation guidelines (outlined here) .

I normally set the “Property Pages” of the web project to look like the following.  You can get here by right clicking the web project, and selecting “Property Pages”.

Property Pages

To begin debugging, select “Debug > Attach to Process” from Visual Studio 2008.  Check the boxes labeled “Show processes from all users” and “Show processes in all sessions”.  Once listed, you may select w3wp.exe and select “attach”.  (note:  I believe if you are using IIS6 (Server 2003, XP) then it would be aspnet_wp.exe).

Debugging screen

Once done, you will be able to put breakpoints in your project and step through the source code.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

Setup and Debug DotNetNuke 5 with Visual Studio 2008, Vista, IIS7, and SQL 2008

February 20, 2010

I had a lot of headaches trying to find a single point of information on how to properly configure DotNetNuke 5 along with my current machine configuration. I hope this post serves as a good reference for properly configuring a new DotNetNuke source installation.

Note: This tutorial assumes you already have IIS7, Visual Studio 2008 (standard or higher), and SQL Server 2008 (express or higher) installed. If you do not, please follow the step by step guide located here.

Disclaimer:  If you are a new developer, or have Visual Studio Express, please follow the DNN5 installation guide here.  My setup method deviates from the recommended settings established by DotNetNuke, however I have found they work better for me.

Step #1: Download the latest “Source Code (New Install + Source Code) release from http://dotnetnuke.codeplex.com/

Step #2: Unzip the latest release onto your local machine @ C:\inetpub\wwwroot\YourProjectName (replace ‘YourProjectName’ with what you would like the name of your project to be.

Step #3: Open IIS7, and right click the “Sites” menu item and select “Add Web Site”

Step #4: Inside the “Add Web Site” dialog, enter the name of your site (I used ‘BlogDemoDNN’) and point to the \Website directory inside the original directory you unzipped your files in step #2 (I used C:\inetpub\wwwroot\BlogDemo\DNN\Website\).

Add New Web Site

(note: if you get a dialog about binding to ‘*:80′ being assigned to another site, you may select ‘Yes’ to allow this duplicate binding).

Your new website should have a globe next to it, without a “stop icon” (like the one below)

Website Listing

If it does not have the globe, select the one that does and use the “Stop” menu item in the right hand rail, to stop that one.  And use the “Start” menu item in the right rail to start your new website.

Step #5: Open the root directory of the files you unzipped in step #2, and double click the DotNetNuke_VS2008.sln (solution) file.   With the project open inside Visual Studio 2008, right click the solution file in Solution Explorer, and select “Build Solution”.

Step #6: Open SQL Server 2008 Management Studio and connect to the database server you intend to setup your project on.   Right click the “Databases” folder and select “Add New Database”.

Add New Database

With the “New Database” dialog open, enter the name you wish to have for this database.  For mine, I selected “BlogDemoDNN”.

Step #7: Under the “Security” folder, select the “Logins” folder and right click it and select “New Login”.

New SQL Login

I entered the name “blogdemodnn-user” and used an easy to remember password as well as selected my default database.  Here is a shot of how I have it setup.

New SQL Login

Now, select the “Security > Users” option under your recently created database and hit “New User”.

New BlogDemo DNN Login

From here, enter details for the user you just created.  Note that I have selected db_owner as the scheme, and role membership.

New Login

Step #8: Back inside Visual Studio 2008, you will notice there is no web.config file inside your web project.  This is because DNN5 comes with a release.config (for publishing your website online) and development.config (for working locally).   Because we are working locally, double click the development.config file to open it.  Highlight all the text in this document, and copy (ctrl+c) that content.

Step #9: Right click the web project, and select “Add New Item”.  From templates, select “XML File”, and in the Name field, enter web.config.  Once the new file is open, paste (ctrl+v) that content you took from development.config and place it in your web.config (be sure to remove the <xml>tag that was in the original file before pasting).

Step #10: There are two connection strings you will need to set.  If you are using SQL Server 2008 Express like I am, then you can use the following connection strings:

inside <connectionStrings>:

<add name=”SiteSqlServer” connectionString=”Data Source=HOME-PC\SQLExpress;Initial Catalog=BlogDemoDNN;User ID=blogdemodnn-user;Password=password” providerName=”System.Data.SqlClient” />

inside <appSettings>:

<add key=”SiteSqlServer” value=”Data Source=HOME-PC\SQLExpress;Initial Catalog=BlogDemoDNN;User ID=blogdemodnn-user;Password=password” />

Step #11: Open windows explorer (explorer.exe) and browse to the directory you unzipped your files in step #2.  Right click on the “Website” directory and select “Properties”.  Then navigate to the security tab, and ensure (as noted below) that the IIS_IUSRS group as “Full Control” over the website directory.   DotNetNuke needs this.  As a content management system, it will need to create, delete, and edit files inside the filesystem.

Step #12: Open your default web browser, and enter “http://localhost/” in your URL.   You may not proceed through your standard DotNetNuke installation.   If you see an error about security permissions, be sure you have completed step #11.  Once you reach the Database connection settings page, be sure to uncheck “Integrated Security” and enter the username/password you had created in step #7 and entered in your web.config.

Once you have progressed through the setup, you can then proceed to your newly completed website!

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

Creating a .NET class file from a WSDL

February 14, 2010

A common approach when adding a web service to an ASP.net application, is to right click "Add Web Reference" and specify the path of the WSDL which outlines the interface for the service.   An alternative, and relatively simple to accomplish, alternative to this approach is to create a class that represents the xml contract outlined in a WSDL (Web Service Definition Language) file.   This WSDL could be stored locally, or specified via a full URL.  This is accomplished by using the wsdl.exe command line utility.  

The WSDL.exe command is available in the following path:
C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\wsdl.exe

An simple example use of this command is:
wsdl.exe /out:WeatherService.vb /l:VB http://www.weather.gov/forecasts/xml/DWMLgen/wsdl/ndfdXML.wsdl

A full description of the wsdl.exe command line utility is available here: 
http://msdn.microsoft.com/en-us/library/7h3ystb6(VS.80).aspx

There are many advantages to this, including but not limited to:

  • Achieving better understanding of underlying system calls to service
  • Including an audit/trace of service calls easily
  • Examining data being transmitted and received
  • Programmatically specify a sandbox/production URL interchangeably (this I find frequently useful)

I hope this helps in your programming endeavors, it has certainly helped me.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)
 
Powered by Wordpress and MySQL. Theme by Shlomi Noach, openark.org