Archive for June, 2009

ReSharper 4.5: It’s Finally Awesome

Friday, June 19th, 2009

The two of you who have been following this blog regularly probably know that I’ve tried demos of JetBrains ReSharper versions 3 and 4 in the past.  The verdict was that they were pretty neat, but far too slow to be of any practical use.

Today I downloaded the trial version of ReSharper 4.5.  The big improvement they claim to have made is a significant speed increase.  After trying it out, I believe it.  They claim speed increases of about 25-40% depending on the type of project you’re working on, but that’s an understatement.  I’m using the same hardware I used for the previous test a year ago (yeah I need an upgrade, but that’s not something I care to address right now).   I haven’t used stopwatch tests, but it feels like ReSharper 4.5 is easily two to three times faster than ReSharper 4.0.

It’s now totally worth using — it has all of the benefits without any of the drawbacks the previous versions had.  Good work, JetBrains.

Good News and Bad News

Thursday, June 18th, 2009

Good News:  The crash is fixed.  It happened because an object was being loaded from a zone that didn’t exist.

Bad News:  The root cause of the crash was that zones don’t actually load — the files open, but data isn’t read.  They load fine on Windows, but Mono isn’t happy.

Magma MUD Codebase: Generally Quite Stable

Monday, June 15th, 2009

The Magma MUD test site has been running for over a month now without any administrative intervention.  I have it set to automatically reboot the MUD after it’s been up a week.  That has happened 4 times now.  The fifth reboot was due to a segmentation fault (null reference exception) on June 10.  This means that in a month there has only been one unexpected reboot.

Any number more than zero isn’t particularly good, but it seems to be pretty stable under miniscule load (there isn’t really a playerbase, just people wandering in and out infrequently).

Telnet:  basternae.org port 4001.

The Ring of Winter

Monday, June 15th, 2009

I finished reading “The Ring of Winter” by James Lowder yesterday.  It was your standard formula “fantasy in the jungle” novel, complete with dinosaurs, cannibalistic goblins, and mysterious artifacts.  I would rate it as “completely average”, three out of five stars.  If you like sword-and-sorcery fiction you’ll like it.  If not, you won’t.

Almost Working on Mono

Sunday, June 14th, 2009

There’s apparently a strange quirk to the XmlElementAttribute where you have to specify the data type for any type that isn’t a string (you’d think it would auto-detect an int property!)

So, with this:

///
/// The id number of the race.
///
[XmlElement("_number", typeof(int))]
public int Number
{
get { return _number; }
set { _number = value; }
}

Everything now loads, boots up, and characters can log in. However, when entering the game, there’s a NullReferenceException that happens on Mono (but not on the Windows version):

Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object
at BasternaeMud.CharData.ResetStats () [0x00000]
at BasternaeMud.SocketConnection.ProcessMenuSelection (System.String argument) [0x00000]
at BasternaeMud.SocketConnection.ConnectionStateManager (System.String argument) [0x00000]
at BasternaeMud.SocketConnection.ProcessPlayerActions () [0x00000]
at BasternaeMud.SocketConnection.MainGameLoop (System.Net.Sockets.Socket control) [0x00000]
at BasternaeMud.Program.Main (System.String[] args) [0x00000]

So far it seems that this only happens for existing players. Creating a new player doesn’t cause this to happen. Might take quite a bit of effort to track down.