I'm a self-professed gamer and MMO fanboi. I particularly love MMORPGs. I've played just about every major MMORPG that has been released upon the gaming public, many minor ones, and some that have been canceled prior to release. I, however, find myself in a slump lately. I'm bored with World of Warcraft (WoW). And while I enjoyed the game-play of Age of Conan (AoC), I found the lack of polish, bugs, and general lack-luster feel once I left the newbie island (Tortage) enough to make me want to cancel my account. What actually did make me cancel my account was that my friends (what few decided to give the game a try) were rarely playing or had already dropped their own accounts.
Unlike a lot of other players who left WoW behind to try out AoC, I have not returned to WoW. Instead, I have been playing other, non-MMO games (say it ain't so!). My current list of installed games includes Rainbow Six: Vegas, Call of Duty 4, Civilization 4 (with the Warlords and Beyond the Sword expansions), Dungeon Runners, and Exteel. These have been fun but don't really satisfy my gaming appetite like a true MMORPG.
So, while I patiently wait for Warhammer Online, I've decided to supplement my above listed games with some of my own! I've dusted off my XNA Game Studio 2.0 skills and rebooted my quest to learn XNA.
I'm currently working through Wrox's Professional XNA Programming: Building Games for Xbox 360 and Windows with XNA Game Studio 2.0. So far it's been a good learning experience and I've found myself hooked on XNA development! I originally started my XNA learning experience several months ago along with some coworkers and we had made some good progress before our workloads totally overwhelmed us and we dropped it. Well, now I'm back and I hope to get even farther along this time! As a testament to how much fun it is to develop in XNA, I was up until 1:45am last night (or is that this morning?), refactoring my XNA Pong game! /yawn
So thanks Benjamin for a great book, some addictive lessons in XNA, and keeping me up at night!
So I've got Windows Home Server running and I've got my Vista installation connected to it. My computer dual boots Vista/XP. I wanted to join with both of my installations so that I can take advantage of the Home Server features no matter which way I've got it running.
When I look at the files for the Windows Home Server Connector software, I see:
When I try to run the Autorun from the CD, it runs Setup.exe as expected. However, what is not expected is this:
I'm not sure what that's supposed to tell me, but I have both .NET Framework 2.0 and Windows Installer 3.1 (or better) installed, so I don't have to worry about the prerequisites and should be able to skip the Setup.exe in favor of the MSI file.
I guess not ...
I read something on the Windows Home Server support pages about how the connector will detect, I don't know, fraud or something. Does the Windows Home Server Connector app realize that I've connected from this machine (different computer name, different OS, different hard drive, same IP Address) and thinks that this attempt is an attempt to hack the network or something?
As part of playing with my Windows Home Server this weekend, I thought it would be a good time to test out the Mingle agile management tool.
There was only one problem that I encountered while installing Mingle. The install would complete successfully, but when it launched the web page to start configuring your projects and such, it would always give me an error on the page. After searching a little bit on Google, I found that the problem seems to lay with the configuration of MySQL.
In the MySQL my.ini file, I needed to add the lines under the [mysql] section:
character_set_server= utf8
collaction_server= utf8_general_ci
After making that change, I uninstalled and reinstalled Mingle and everything worked perfectly.
So I downloaded the trial of Windows Home Server a long time ago (I was invited to the beta but really never had time to play with it). Last night I finally decided that it was about time that I did something with it, so I backed up what I wanted to keep off my old machine and started the process...
Headless Installation
The "headless" installation of Windows Home Server is pretty... headless. It doesn't take much thought or brain power to get it running. The process was smooth and very easy. I was impressed. First, you run the WHS installer disk on a computer (any computer) and it will walk you through a wizard to create your server settings which it will then copy to a USB thumb drive or floppy disk (your choice). Then you put both the settings disk/USB drive and the installation disk into the target machine and turn the power on. If your BIOS prompts you to boot from CD/DVD rather than just automatically doing it, you'll need to have it boot off the DVD the first time.
After that, installation is completely automated. It took a while because of all the updates, but I didn't have to touch it at all. It automatically partitions your drive (I only had one physical drive, not sure how it would work on multiple drives) into a system partition and a data partition for you. Note: you will lose all data on the target machine, and you are given several warnings to that effect, but here it is again so that you'll be aware of it. It then proceeds to copy all the Windows Home Server files, install them, configure the server (based on your headless configuration settings), install all updates, and then finally lets you in!
Features
Some of the features I've seen so far in Windows Home Server are:
- Easily connect computers to your home domain
- Have home computers automatically monitored for network health (virus protection, up to date software, etc.)
- Automatically backup your computers on a regular schedule
- Share music, files, pictures, videos including media streaming across your network
- Remotely connect and control your computers from anywhere.
All of these features can be turned on or off and can be configured to your liking. I'm sure there are other features that I've not yet had a chance to look into.
Conclusion
Overall, I'm very pleased with the Windows Home Server that I've got running now. I'm going to continue to play with it and see how it works for hosting web sites, Subversion and other server applications that I play with regularly.
Since my first foray into code snippets inside of a blog post didn't go so well, here's another attempt to see how a different plugin works.
Using the Paste from Visual Studio plugin for Windows LiveWriter:
private void LoadGrid()
{
//Get data from the DAL
List<Person> people = (new LinqObjectModel.LinqDAL()).GetPeopleByFirstName("Mark");
//Sort it using LINQ
var sortedPeople = from person in people
orderby person.LastName
select person;
bindingSource1.DataSource = sortedPeople;
}
I recently attended the Heroes Happen {Here} launch event for Visual Studio 2008, SQL Server 2008, and Windows Server 2008 and thought I might start my blogging by sharing some good stuff that we developers now have available to us with VS08.
LINQ
I'm sure you've read a lot of information already about LINQ and maybe even played with it yourself. So far, my experience with LINQ has been reading blogs and promotional information about it and it seems that the common focus is on LINQ to SQL or some other data-oriented source such as XML. While that is all good and well, I wasn't very excited about it because I'm a firm believer in stored procedures for working with data in a database. Your personal style may differ, but I personally prefer to use stored procedures over any kind of in-code SQL statements. What I did like when I saw it at the launch event was LINQ to Objects.
LINQ to Objects
LINQ to Objects hasn't been as highly publicized and thus I may have missed it, but basically you can perform a LINQ query on a collection of entity objects. This can be useful if you want to select a subset of your collection for use as a DataSource in data binding a control. Here is an example of what I mean:
1: List<DemoEntity> entities = SomeDataObject.GetAll();
2: var filteredEntities = from entity in entities
3: where entity.Field3 == true
4: select entity;
5:
6: GridView1.DataSource = filteredEntities;
7: GridView1.DataBind();
As you can see in the sample code, we're selecting a subset of the List<> of DemoEntity objects. This could be used for a filter on the data grid in the example above, or you can come up with your own scenario. Just as simply, you could provide a way for users to sort data by changing the LINQ query to:
1: var sortedEntities = from entity in entities
2: orderby entity.Field2
3: select entity;
From playing with LINQ a bit, I've decided that I need to go down the path of learning more about it. Anyone had good experiences with LINQ? How about bad experiences? Leave a comment and let me know how it's working out for you.
I've now signed up with FeedBurner in order to give everyone an easier time subscribing to the RSS feed from this blog. The URL is http://feeds.feedburner.com/RandomTechy-ness. Enjoy!
I've always been of the opinion that I don't have much that is interesting to talk about or that what I might have to talk about has already been said by a ton of other people, so why bother? Well, prompted by a coworker, I'm going to give blogging a shot. I just happened to already have a domain and the software that supports blogs, so welcome to my new blog; I hope you don't get bored too quickly!