The SweetNES Project

October 27th, 2007

SweetNES (pronounced “sweetness”) is my new pet project. It is an 8-bit Nintendo Entertainment System® emulator. Ya, the old one from 1985. For some reason I’ve always enjoyed that original Nintendo. Call it nostalgia, but there was something so entertaining about those first games that I still find many of them just as enjoyable to play now as I did then.

I’ve been throwing around the idea of writing my own emulator for some time now. As far back as two years. A question that I’ve asked myself many times and that readers may be asking now is “Why make another emulator when there are already so many available?” I assure you it’s not because I have an ego and think that I can do it better than anyone else has ever done. In fact I usually work on projects that teach me new skills and that’s a primary reason I’ve decided on this project. I’ve always found the principles of emulation fascinating. I’m comfortable with the fact that SweetNES may never gain widespread popularity.

Read the rest of this entry »

Open Source .NET?

October 23rd, 2007

I just read that Microsoft intents to release most of the .NET Framework as open source. The complete text of the article can be found at the link below. This would be fantastic! It would also make my .NET debugger project Clutch almost worthless. One of the big goals I had for Clutch was to be able to debug IL, or at least a decompiled representation of IL. The intention was to allow debugging of not only personal code but also the ability to drill right into the base class libraries and windows forms code. Microsoft’s announcement makes it sound like they’ll also be shipping .PDB files with debugging information and symbols. While this is great news, it also means that I’m officially shelving my Clutch project for the time being.

Resources:

Update [11/5/2007]: As it was pointed out to me, Microsoft will not be looking for community contributions and so the term “open source” is a bit misleading. At this point they only intend to make the source code available for viewing and debugging purposes and all future development will still be handled by Microsoft.

Gap Buffer Article

October 17th, 2007

Remind me never to write a technical book, because the amount of time and energy necessary for me to write a single technical article is tremendous. At the pace at which I work it would easily take me ten years to finish. My newest foray into the world of publications is an article entitled Generic Gap Buffer. This one deals more in the realm of computer science than anything else I’ve written recently. I won’t spoil it for you and suggest that you just take a look for yourself.

Resources:

Favorites in Firefox

October 8th, 2007

I frequently bounce between Firefox (my preferred browser) and IE7 (which I use for work and other purposes) and I used to get very frustrated that when I would bookmark a page I couldn’t seem to remember which browser I bookmarked it in. I used to try and synchronize the bookmarks/favorites between the two programs but that got laborious and cumbersome until I found the PlainOldFavorites Firefox add-on. It places the standard Favorites menu common to IE and Windows in the Firefox menu making it a breeze to use bookmarks across browsers. Of course that means I’m not able to use the more advanced bookmarking that Firefox offers but it does keep things simple.

Resources:

Metroid Prime 3: Corruption

September 26th, 2007

Metroid Prime 3: Corruption

I love this game!

I got a Wii several months ago based on the reviews I had read for Zelda. However, something about that game just didn’t click with me the way I had hoped. I enjoy it, and one day I’ll finish it, but I found that I wasn’t enjoying my Wii as much as I thought I would and that trudging through Zelda was probably the cause of that. So I set out to find a game that didn’t require as much work and would give me some quick satisfaction as I blew up a bunch of stuff. Enter Metroid Prime 3: Corruption, the continuation of one of my favorite games of all time. Did I mention that I love this game?

I enjoy the balance of shoot ‘em up first-person action and problem solving that Corruption offers. I dare say that it may be one of the best games that I’ve ever played.

IntelliSense not so Intelligent

September 17th, 2007

Visual Studio is the first and only IDE that I’ve ever used. It makes my life easy and miserable all at the same time. Here’s a little gem that I see on a regular basis:

IntelliSense not so Intelligent

Study this for a moment and you’ll find several usability issues… a popup dialog that states it’s a “background thread”… a cancel button that’s disabled… the list goes on.

Multiple File Upload

September 13th, 2007

I’ve always found it unpleasant when I have a number of files to upload and the website I’m at only allows one file upload at a time. If you have multiple files to process it can seem like an eternity. Just ask my wife when she’s uploading all those family photos to her blog.

One possible solution is to place several file input controls on the page (say five) thereby reducing the number of roundtrips to the server, but that is still an artificial limit. What I wanted was a control that would dynamically allow any number of files to be uploaded all in one shot. Something that would increase usability and not take away from it.

Here’s what I came up with:

Multiple File Upload

Read the rest of this entry »

Tabs with a ToolStrip

August 30th, 2007

Tabs XP Style

Tabs Classic Style

I’ve been working on a little text editor project recently and wanted a tabbed list of documents (ala Firefox). I found a couple free solutions on the web including a project on The Code Project, but I thought I could do one better. It occurred to me that it wouldn’t take much work to customize a ToolStrip to look and behave like tabs. Why make my own tab control when there already exist one you ask? Call me picky, but I’ve never like the TabControl that ships with .NET. I find it a little clunky. I also don’t like the look of the tab pages or that I have to place everything I want in the tab within a tab page. What I wanted was a control that was just the tabs and would let me decide what to show based on the tab selection events, and not the extra bloat that goes along with the TabControl. Yes I could just reduce the size of the TabControl so that only the tabs were showing but I’m not comfortable with the idea of hiding a big portion of the control just to show the part I wanted.

I’m happy to report that my little experiment is working perfectly! After setting a number of built-in properties on the ToolStrip and ToolStripButton to make them behave a little more like tabs it was simply a matter of creating a custom ToolStripRenderer to give it the appearance of tabs. That was also a breeze using the VisualStyleRenderer to give them the XP theme style of tabs.

Read the rest of this entry »

The Company

August 23rd, 2007

A quick plug for The Company, a mini-series produced by TNT that I just finished watching. If you like a good drama, a little mystery, and stories that are based in fact you might enjoy this (fictitious) look into the CIA. It doesn’t try to compete with shoot-’em-up shows like 24, but rather, keeps a steady pace of character development. What more could you ask for? Chris O’Donnell, Michael Keaton, Alfred Molina, spy gadgets, Cold War espionage, etc….

Oh ya, there is one thing I could ask for… more episodes. The entire series is only six hours long.

If you missed it, don’t worry, I’m sure TNT will air it again, and again, and again.

Ever Heard of a Leash?

August 20th, 2007

I laughed out loud when I saw this. (Somebody needs to have a talk with these people.)

View Photo