Monthly Archives: March 2009

Studying For 70-505

Now that I’ve passed the base .NET exam (70-536), I’m working on the Windows Forms development certification exam.  Passing that will get me the “MCTS: .NET Framework 3.5, Windows Forms Applications” cert.  I’m pretty confident that I’ll pass it on the first try.  Here’s why: 1. I’ve written a lot of WinForms programs (including 3 […]

Visual Studio Refactoring And Encapsulation

I love the refactoring support in MS Visual Studio.  It makes certain things like field encapsulation incredibly easy. For instance, thanks to its origins in C, most of the Basternae 3 codebase doesn’t have encapsulation yet.  This means that there are tons of class member variables declared like this: public string _keyword; Setting the _keyword […]

Passed The 70-536 Exam

I took the Microsoft 70-536 .NET certification exam today.  I can’t say it was easy, but I clobbered it.  It wasn’t for lack of preparation either.  I think I may have read just over 2000 pages worth of material.

Studying For 70-536

In a previous life as a network admin, I took all sorts of certification tests — A+, Network+, I-Net+, CNA, and MCP, which I later upgraded to MCSA and then MCSE. One thing that these tests always required was extensive knowledge of obscure parts of a technology regardless of their usefulness in working with the […]

The New Client In Action

In working on the new WPF-based client, I’ve redone the way I handle ANSI character code processing. Instead of a horrible multi-hundred-line nested if-statement-monster, I’ve created something based on regular expressions that is about 25 lines or so of code. It’s not absolutely perfect, but it’s already better than what we had with the wxWidgets […]

No Null Checks

After running the automated tests generated by Pex, it’s amazing how many functions in the old codebase received various class or structure arguments and immediately started working with the data in them without ever checking for null. It was a paradigm followed by the old public code release of Diku, Envy, Merc, etc. and was […]

The New Client So Far

It’s just screenshots of windows without anything in them — no fancy colors, images, or any bells and whistles yet.  This is just to show that it really exists:

C++ Is a Pain in the Arse (New Client)

Yesterday I opened up the source code for the Basternae Client in order to make a few changes, fixes, and updates.  What I had forgotten in the two years since I had been programming C++ actively is what a pain in the behind it is to get anything done in C++. Sure, you can do […]

The MUD Family Tree

Check it out, the Magma codebase made it onto the DikuMUD family tree without me putting it there: http://en.wikipedia.org/wiki/Mud_tree

Removing ANSI Color Codes With Regex

Strangely enough, I haven’t really used regular expressions until recently. They’re incredibly powerful. In fact, here’s one that replaces about 40 lines of C++ code with a single line of C#.NET code: text = Regex.Replace(text, @”\e\[\d*;?\d+m”, “”); It’s not absolutely perfect, but it does the trick for removing all of the ANSI color codes from […]

FindMUD Becoming Somewhat Popular

I just checked Alexa stats for FindMUD.com.  Although Alexa isn’t exactly the full measure of the web since only a small percentage of people have the plugin installed, here are the MUD sites that FindMUD outranks: mudmagic.com mudbytes.net mudlists.com mudmaker.com ftpgame.org dikumud.com mudlist.betterbox.net dune.net envy.com silverden.com It’s a respectable list, but we are far from […]

Pex, Glorious Pex

Back when I was programming C++, I worked with a great test tool: Parasoft C++ Test.  It was great for auto-generating unit tests, which in my opinion is the best place to start.  Even if they need to be modified by a Human to get proper coverage and real-world test results, the ability to generate […]

Continuing Spell Migration

When we last saw our hero, he was working on migrating spells from being hard-coded in 15 different places to being individual XML data files that are loaded at boot time. While this makes it easy to modify, enable, disable, rename, or adjust spells without a recompile, the main reason I’m doing so is because […]