I finally got my Nintendo Wii this past Friday after searching for over a week. Thanks to the people discussing their purchases over at Amazon's product page, I was able to snag a bundle from Walmart.com. Fortunately, I was able to call up and have all the games in the bundle canceled, so I ended up only paying for the system and one game that was shipped before my cancellation took effect.
One thing that I have to say about the Wii is that it is the most genuinely fun system I've played in a long, long time. The interface is wonderful and everything behaves exactly how you would expect it to. Being able to point a remote at the screen and click on things is surprisingly more intuitive than I ever thought it would be. Since using it, I've been wishing I had a similar interface to move the mouse pointer on my machine here at work! The sports game that comes packaged with the game was fun and easy enough to draw my wife in, who before now has never shown even a hint of interest in my gaming hobby. I actually had to tear her away from her hour-and-a-half long session of bowling last night.
Naturally, I also picked up Legend of Zelda: Twilight Princess. This game is phenomenal, and in my opinion gives even Ocarina of Time a run for its money. The one thing hurting it might be that the story isn't quite as accessible as some of the previous Zelda games, but I also may be premature in making that statement, as I'm just now reaching what seems to be the halfway point of the game. Using the remote and nunchuk attachment as sword and shield is inspired, and while I had difficulty controlling them at first, after growing accustomed to the controls, I'd hate to play the game any other way.
In leaving, I'll direct your attention to this video, which had me laughing hysterically for a good ten minutes. :)
Monday, December 04, 2006
Tuesday, October 03, 2006
ps3
Found and interesting article a few days ago explaining some of the major risks Sony is going to be taking with the launch of the PS3. While I've always considered myself to be a pretty faithful Playstation owner, I have to admit that I'm not all that excited about the new PS3. In fact, the only reason I'd buy one when it comes out is that my old PS2 is on its last leg and isn't playing some of my games, but that's hardly worth spending $600 on a new system for. What's more, the games are slated to be priced between $60 and $90. I can't imagine what Sony's plan is. It's bad enough that the standard price for an XBox 360 game is $60, but there's no way I'm going to pay more than that. As it stands, I'm most looking forward to the Nintendo Wii. They're going to have several excellent launch titles, backwards compatibility with the Gamecube, and more reasonably priced games. It definitely looks like the most fun system of the current generation to me. Maybe after a few months I'll actually break down and buy a 360 as well, since I hear nothing but praise for it. As for the PS3, well, Sony's gonna have to do some major work to win back my gaming dollars, I'm afraid.
Friday, July 07, 2006
'rokin on windows
What is this? Could it be Amarok running under Windows?
I think so!
So how did I do it? Well, it's not actually running on Windows, I guess. I followed the instructions posted here to get Windows connecting to a virtual machine running Linux using Putty and a sweet little program called XMing. That article wasn't very explicit about how to get the ssh daemon up and going though, so after some research, I found the apt-get command to use for Ubuntu:
The cool thing is that now, I should also be able to run any other Linux applications in addition to Amarok, which oughtta be very handy.
I think so!
So how did I do it? Well, it's not actually running on Windows, I guess. I followed the instructions posted here to get Windows connecting to a virtual machine running Linux using Putty and a sweet little program called XMing. That article wasn't very explicit about how to get the ssh daemon up and going though, so after some research, I found the apt-get command to use for Ubuntu:
sudo apt-get openssh-serverInstead of using VMWare, I used VirtualPC, since I already had a VM with Ubuntu Linux and Amarok installed in it. VirtualPC's sound emulation kinda sucks though, so I may end up trying VMWare Player with a premade Linux installation as suggested in the article and see if it's any better.
The cool thing is that now, I should also be able to run any other Linux applications in addition to Amarok, which oughtta be very handy.
Wednesday, June 21, 2006
new blog
I've started a new blog named using System.Coffee;. Basically, the idea is to retain this blog for more personal musings and meanderings, and to post more informative, programming related posts on the new blog. Maybe then I can actually start sharing this blog with my non-techie friends who might otherwise be put off by the development related posts.
Tuesday, June 13, 2006
swimming lessons
Ethan had his first swimming lesson last night. He turns out to be quite the natural swimmer too. He got right in the water and started splashing me and all the other little ones. We practiced kicking and paddling. We'll still have to work on the blowing bubbles technique though. I put my face in the water and blew bubbles to show him how, which was followed by him putting his face in and taking a big gulp of chlorinated water, which he wasn't altogether fond of.
We'll keep practicing though. We've got five more days of lessons to go. I was actually a bit surprised at the pace they keep with children this young. Some of the things they're wanting us to do seem way above the skill level of most of the children in the class. They all seem to be doing fine though, which I suppose is a testament to how adaptable and eager to learn children this age are.
We'll keep practicing though. We've got five more days of lessons to go. I was actually a bit surprised at the pace they keep with children this young. Some of the things they're wanting us to do seem way above the skill level of most of the children in the class. They all seem to be doing fine though, which I suppose is a testament to how adaptable and eager to learn children this age are.
Monday, May 22, 2006
easter pictures
Thought I'd test out Orb's photo publishing capability to throw up a few cute Easter pictures we took of Ethan.


orb
I've been trying out a new program called Orb which I love. Install it on your home machine (or whatever machine you have that you want to serve media from), and then all you have to do is log into a the website and you'll have access to all your media from any other internet-connected computer. All your music, movies, pictures can be accessed from any computer. Heck, if you've got a TV tuner, you can even stream live TV from your home computer. Granted, the quality isn't so great if you don't have a fairly fast connection, but if I'm ever stuck here at work while my favorite show is on, I don't have to completely miss it (or BitTorrent it the next day).
Thursday, May 18, 2006
ajaxy goodness
Google released the Google Web Toolkit recently, which looks like a very promising way to develop AJAX web applications. The premise is that you write standard Java code, which Google's toolkit will then take and compile/convert into Javascript. This means that you get all the benefits of Java, such as type checking and debugging instead of having to code Javascript by hand and track down lots of insidious little bugs. You also don't have to worry too much about making your app cross-browser compatible because the toolkit takes care of all of those worries for you. I'm definitely going to be looking more into this.
Monday, May 08, 2006
consolas
Microsoft has released the Consolas font as a free download. Previously, this font was only available as a part of the Windows Vista preview versions. It's aimed primarily at programmers (and is technically only licensed for users of Visual Studio 2005), but it's also great as a general purpose monospaced font as well. If you're sick of looking at Courier New for all your monospace text, you owe it to yourself to go and download this font.
Tuesday, April 25, 2006
15 megs of fame
Go check out 15 Megs of Fame. It's a music site that contains many Creative Commons licensed songs that you can stream off the website and then download if they suit your fancy. I've already found several great artists there including: Nicolle Chirino, Seven Ender, and Case of the Mondays. I'm still working my way through some of the songs, so I'm sure I'll run across a few other great artists too. It's a great place to go to find some good music that you don't hear everywhere you go. Let me know if you run across some artists I haven't found!
Friday, April 07, 2006
sql express
I just recently installed a version of SQL Server 2005 Express Edition. I'm quite pleased with SQL Server 2005 so far. At least, given what little chance I've had to mess around with it lately. What I'm particularly fond of however is it's ability to work well alongside my installation of SQL Server 2000. Also, installing both the regular and Express edition of 2005 seems to work just fine also. Everything plays together nicely, and I love having the new SQL Management Studio instead of having to drudge through Enterprise Manager.
Why would I install three versions of SQL Server, you ask? Well, 2000 is there for current development. 2005 is there just because, and I installed the Express edition to play around with user instances. User instances seem like a great way to develop client-side database applications. Basically, a user instance spawns a copy of the parent database instance, but makes it specific to the current user. Anything he does in this instance is essentially in a sandbox, which means if he (or more likely, the program he's running) wants to hose his server instance, it's not going to affect any other databases or instances. I'm also intrigued by the AttachDbFilename attribute in the SQL connection string. You could use this attribute in a SQL 2000 connection string, but after doing so, the database remained attached to the instance, and you had to manually detach it in order to make it portable again. I'm thinking that's probably not the case in 2005, especially when using the user instances. I've been hard pressed to find any concrete documentation that would answer that question for me, so I guess I'm just going to have to play with it and find out for myself.
Why would I install three versions of SQL Server, you ask? Well, 2000 is there for current development. 2005 is there just because, and I installed the Express edition to play around with user instances. User instances seem like a great way to develop client-side database applications. Basically, a user instance spawns a copy of the parent database instance, but makes it specific to the current user. Anything he does in this instance is essentially in a sandbox, which means if he (or more likely, the program he's running) wants to hose his server instance, it's not going to affect any other databases or instances. I'm also intrigued by the AttachDbFilename attribute in the SQL connection string. You could use this attribute in a SQL 2000 connection string, but after doing so, the database remained attached to the instance, and you had to manually detach it in order to make it portable again. I'm thinking that's probably not the case in 2005, especially when using the user instances. I've been hard pressed to find any concrete documentation that would answer that question for me, so I guess I'm just going to have to play with it and find out for myself.
Friday, March 03, 2006
easy on the eyes
Just got one of these monitors a few days ago. My eyes have never been happier. I no longer leave work blurry-eyed with a headache from staring at code on a CRT. Our new machines are here as well, and we should get our hands on those before too long. Once we get those, I'm going to have a pretty sweet tri-monitor setup once I pick up a copy of MaxiVista.
Monday, December 05, 2005
Friday, November 11, 2005
podcasts that rock
I got my iPod Nano a few weeks ago. The thing that has surprised me a bit is that I haven't listened to very much music on the thing at all since I got it. Instead, I've become enamored with podcasts. I had played around with a few before I got my Nano, but never really got into them. Now that I can transfer them to a portable player, that's about all I listen to anymore. Here's the ones that are currently at the top of my listening list.
The Daily Source Code with Adam Curry
TavernCast
TWiT (This Week in Tech)
Otaku Generation
Dot Net Rocks
Mondays
In addition, I've become addicted to the video blog / podcast phenomenom that is Rocketboom, even though I don't have a video iPod.
I don't have the time left to actually listen to music on my iPod! :)
The Daily Source Code with Adam Curry
TavernCast
TWiT (This Week in Tech)
Otaku Generation
Dot Net Rocks
Mondays
In addition, I've become addicted to the video blog / podcast phenomenom that is Rocketboom, even though I don't have a video iPod.
I don't have the time left to actually listen to music on my iPod! :)
immutable arrays
I've had a problem for months that, until now, I thought was impossible to solve without writing my own custom code to handle it. I've always wanted to have an immutable (or read-only) collection class. This is quite useful for exposing collections as public properties, but not allowing clients of the code to add, remove, or otherwise alter the collection. To provide good encapsulation, you should most often create methods on the object that contains the collection, so that the container object knows what's happening with the collection it contains. This corresponds to the Encapsulate Collection refactoring.
I've searched Google and every .NET resource I know several times, and it seems many other people have the same problem I do. As luck would have it, I was poking around in the .NET framework using Reflector, and was actually starting to roll my own immutable collection. It was then that I realized that System.Collections.ArrayList has a few static methods that I never noticed before. One of these is exactly what I need: ReadOnly(ArrayList) : ArrayList. Other useful methods I discovered were Adapter(), FixedSize(), Repeat(), and Synchronized. Each of these methods creates collection objects whose types are inner classes to ArrayList.
While I am very thankful that I finally have an answer to my problem, I do have a few gripes about this. Why are these nested classes of ArrayList instead of being more visible outside of the ArrayList class. For that matter, most of these methods take either an ArrayList or the more generic IList. The ones that take ILists create different classes than the ones that take the ArrayList. Why then, are these more generic classes in particular included as nested classes of ArrayList? They don't really have anything to do with ArrayList necessarily.
Of course, what this means now is that I have the nagging urge to go scour my previous code and refactor all those public collection objects in order to encapsulate them. That oughtta take a good long while...
I've searched Google and every .NET resource I know several times, and it seems many other people have the same problem I do. As luck would have it, I was poking around in the .NET framework using Reflector, and was actually starting to roll my own immutable collection. It was then that I realized that System.Collections.ArrayList has a few static methods that I never noticed before. One of these is exactly what I need: ReadOnly(ArrayList) : ArrayList. Other useful methods I discovered were Adapter(), FixedSize(), Repeat(), and Synchronized. Each of these methods creates collection objects whose types are inner classes to ArrayList.
While I am very thankful that I finally have an answer to my problem, I do have a few gripes about this. Why are these nested classes of ArrayList instead of being more visible outside of the ArrayList class. For that matter, most of these methods take either an ArrayList or the more generic IList. The ones that take ILists create different classes than the ones that take the ArrayList. Why then, are these more generic classes in particular included as nested classes of ArrayList? They don't really have anything to do with ArrayList necessarily.
Of course, what this means now is that I have the nagging urge to go scour my previous code and refactor all those public collection objects in order to encapsulate them. That oughtta take a good long while...
Monday, October 03, 2005
spam, spam, spam
Got my first bit of comment spam. I always figured I flew under the radar of such things, but I guess no one's immune. Because of this, I've turned on word verification for all comments posted here. Don't let that stop you from posting a real comment if you have one though!
extraordinary ways
Conjure One (Rhys Fulber's solo project) released his second album on the first of this month. With the exception of the final song, it's available for streaming on Rhapsody. This album is a must-listen for any Conjure One/Delerium fans. I've always loved this type of ambient/new-age/electronic hybrid music, because you can pretty well just turn it on and just let it wash over you. I'll probably have to dig up the full album somewhere so that I can hear the last song. That, and so I can slap it on my spanking new Nano that should be here in a week or so.
Wednesday, September 14, 2005
the data that would not bind
Just encountered some really strange behavior with the databinding mechanism in .NET 1.1. So far, I haven't been able to determine what went wrong, although I was able to fix it. Those are the most unsettling of fixes; you keep trying things until something works, and when it works, you have no idea why. All I was trying to do was bind a System.Collections.ArrayList to a combo box and set the DisplayMember property of the combo to display the name of the item. So, something along these lines...
This code, when bound to the combo box, works just fine for the first item, and displays the Name property just as it should. However, every subsequent item instead ignores the DisplayMember property and spits out the result of item.ToString().
How did I fix it? In the Model.GetItems() method, instead of placing the items in an ArrayList, I created an IMyInterface[] array. Now it works like a charm, and I'm left wondering why.
...
IList items = Model.GetItems();
combo.DataSource = items;
combo.DisplayMember = "Name";
...
public class Model {
...
public static IList GetItems() {
ArrayList items = new ArrayList();
// Create and add items that implement IMyInterface
return items;
}
}
public interface IMyInterface {
string Name {get;}
}
This code, when bound to the combo box, works just fine for the first item, and displays the Name property just as it should. However, every subsequent item instead ignores the DisplayMember property and spits out the result of item.ToString().
How did I fix it? In the Model.GetItems() method, instead of placing the items in an ArrayList, I created an IMyInterface[] array. Now it works like a charm, and I'm left wondering why.
Wednesday, August 31, 2005
office rodeo
There are some days that you wish you had a video camera at hand. It's not everyday you see a herd of cattle moving through your office parking lot. (Last year, it was pigs.) But what made it truly hilarious is watching one of these bovine chase your boss around a dumpster. :) As they were circling the dumpster, another boss jumped in his Ford Expedition and chased the cow away. If somebody had a camera, we all would've been a bit richer.
Wednesday, August 24, 2005
i <3 google
Two new things from Google have garnered my attention today. The first is a second beta to their desktop search tool. This one’s got a cool sidebar that is capable of showing virtually any kind of widget you’d want to come up with for it. This is probably in order to directly compete with Microsoft, who has announced similar functionality for future versions of Windows. It could also be seen as competition for the excellent Konfabulator, which was recently acquired by Yahoo.
Next, is Google Talk, the new instant messaging client that just entered beta. We played with it here at the office for a bit and I think it’s already replaced other forms of IM for us. We’ll see how it fares after the luster of newness wears off in a few days though. We’re all giddy about the voice chat though. It just works, which is more than I can say for just about any other voice chat software I’ve ever used. Plus, everything’s based off of Jabber, so even if I do stop using the Google-branded client later on, I’ve still got a spiffy new Jabber messaging address. That’s a good thing too, because I never seem to remember my old one without looking it up.
Next, is Google Talk, the new instant messaging client that just entered beta. We played with it here at the office for a bit and I think it’s already replaced other forms of IM for us. We’ll see how it fares after the luster of newness wears off in a few days though. We’re all giddy about the voice chat though. It just works, which is more than I can say for just about any other voice chat software I’ve ever used. Plus, everything’s based off of Jabber, so even if I do stop using the Google-branded client later on, I’ve still got a spiffy new Jabber messaging address. That’s a good thing too, because I never seem to remember my old one without looking it up.
Subscribe to:
Posts (Atom)