Subscribe: David Cumps
Preview: David Cumps

David Cumps

#region .Net Blog


C# World Of Warcraft Armory Library 0.1

Wed, 17 Sep 2008 11:11:00 GMT

Since I started playing World of Warcraft again, I've taken a bit more of a developer approach to it this time, and after founding a little casual guild, I decided to create a site for it.

However, I'm a lazy developer, I don't intend to update the site regularly whenever someone joins or leaves the guild.

Also because I'm quite geeky when it comes to statistics, and a bit of a theory crafter, I planned to populate our guild site with lots of stats.

Where else would be a better place to get them from then the Armory? It contains everything I want!

After searching a little, I found various libraries for PHP, Perl and Ruby, but nothing for the .NET world. At least nothing that fetches everything I wanted, like Reputation and Skills.

So, I decided to just write it myself! :)


Modified MVC AccountController for Preview 5

Wed, 17 Sep 2008 11:09:00 GMT

I just downloaded the ASP.NET MVC Preview 5 bits from Codeplex and started on my first experiment.

One of the first things I did was to modify the default AccountController to use the new Form Posting and Form Validation features of the Preview 5, somebody probably overlooked updating those :)

If anyone else wants the reworked code, feel free to copy paste.

Note this was something done during lunch break in a hurry, it seems to all work logically, but it's possible I'll have to tune it a bit later on.


WoW - Multiboxing 101 - Introduction

Wed, 17 Sep 2008 10:35:00 GMT

When looking back at my World of Warcraft experience, I came to the conclusion that when added up, I've been playing this game for over 3 years already. I've even participated in the very first beta ;)

Over time, a lot has changed, I took a few breaks, leveled plenty of classes to the max level, had my days of hardcore end-game raiding (pre-TBC, Naxx), Reputation grinding, Honor grinding (pre-TBC, Warlord), war effort grinding (our guild opened the gates of AQ).

After a year and a half, I took a break from what had become a huge grind, before TBC came out. I returned a while later with some colleagues on an RP realm however.

I've seen the introduction of Blood Elves, the change in faction balance, the faster leveling, and the lack of instance groups at lower levels due to this, combined with the lack of understanding of game mechanics by an ever increasing number of new players (no time or groups for them to get the experience at a low level).

I've also greatly enjoyed doing all new TBC quests a few months after it came out, with less crowded zones, and now I'm liking the casual side of WoW :)

As part of staying on the casual side (casual meaning no hardcore raiding/grinding) I've given the geek in me more freedom to fool around with anything WoW related.

One of the first result of this was the C# World Of Warcraft Armory Library 0.1 I recently released.

The next thing I'm on, is trying out Multiboxing, which is the subject for today's post. There is a lot of information out there, a lot of misconception and taboo around it. Hopefully you'll have a better view on the concept after reading this, as well as an easy to follow guide to try it out.


Exam 70-536 - Searching, Modifying, and Encoding Text

Thu, 28 Aug 2008 12:06:00 GMT

Chapter three finished, Searching, Modifying, and Encoding Text.

Implementing globalization, drawing, and text manipulation functionality in a .NET Framework application


Exam 70-536 - Input/Output

Wed, 27 Aug 2008 14:25:00 GMT

Finished another chapter in my book, Input/Output, which deals with the following: Implementing serialization and input/output functionality in a .NET Framework application Access files and folders by using the File System classes. File class and FileInfo class Directory class and DirectoryInfo class DriveInfo class and DriveType enumeration FileSystemInfo class and FileSystemWatcher class Path class ErrorEventArgs class and ErrorEventHandler delegate RenamedEventArgs class and RenamedEventHandler delegate Manage byte streams by using Stream classes. FileStream class Stream class MemoryStream class BufferedStream class Manage the .NET Framework application data by using Reader and Writer classes. StringReader class and StringWriter class TextReader class and TextWriter class StreamReader class and StreamWriter class BinaryReader class and BinaryWriter class Compress or decompress stream information in a .NET Framework application and improve the security of application data by using isolated storage. IsolatedStorageFile class IsolatedStorageFileStream class DeflateStream class GZipStream class Read more at [...]

Exam 70-536 - Framework Fundamentals

Wed, 27 Aug 2008 07:42:00 GMT

The book I'm reading to prepare myself is Microsoft.NET Framework 2.0 Application Development Foundation.

Just finished the first chapter about Framework Fundamentals. Topics dealt with in this chapter are:

Developing applications that use system types and collections


Starting Exam 70-536 Study

Wed, 27 Aug 2008 07:39:00 GMT

Taking a little break right now, got a bit of a burn out, lack of sleep might have something to do with it :)

The ASP.NET MVC project I had in mind will have to wait a little bit, with a bit of luck it gives me time to find a good graphical designer as well, they seem so rare to find. If you know a good designer, please comment!

What I'm going to do however, is study for a Microsoft Certificate.

Normally I'm not into degrees, when I graduated I saw people graduate with the same degree as me, who could barely write HTML or C#, at which point I placed no value in the degree people have. I rather judge people on what they say and do, which is also the reason I never really bothered with certificates.

But even as a developer, you can't be blind to the world, certificates matter for non-developers. I admit it's a nice addition to a resume and leverage when it comes to negotiating your salary, however I'm starting to see some value in the certificate as well.

When you properly prepare for an exam, without cheating and learning all questions by heart, it's actually a good form of self-education. Even when you don't take the exam in the end, the stuff you pick up while learning the required matter for an exam is valuable.

All these little hidden things you learn about the .NET Framework help to broaden your background knowledge, tiny things which you'd never encounter normally. It helps you make you aware of all the features .NET offers you, and if it only helps you do one thing better, it still helped.

I could disappear for some weeks now to study and not write anything, but that's not me.

Instead, I've added a section to my wiki reserved for note taking and research on the exam itself.

It's not a tutorial, but I belief it does contain some nice "wow, that's cool"-things.

Going to keep you updated whenever I finish a chapter, with a small summary of the things I think are cool.

Design Patterns - Proxy Pattern

Sat, 16 Aug 2008 19:14:00 GMT

Welcome back for another episode in the pattern series! This will also be the last article about Design Patterns, since I've finished reading the Head First Design Patterns book :) It's been a very interesting journey, lots of new patterns learned, lots of knowledge gained, and now it's time to apply them in real projects. As a summary, the overview of all articles about patterns, including the one we're going to see today:   Long Absence - Design Patterns Design Patterns - Strategy Pattern Design Patterns - Observer Pattern Design Patterns - Observer/Event Pattern Design Patterns - Decorator Pattern Design Patterns - Factory Method Pattern Design Patterns - Abstract Factory Pattern Design Patterns - Singleton Pattern Design Patterns - Generic Singleton Pattern Design Patterns - Command Pattern Design Patterns - Adapter Pattern Design Patterns - Facade Pattern Design Patterns - Template Method Pattern Design Patterns - Iterator Pattern Design Patterns - Composite Pattern Design Patterns - State Pattern Design Patterns - Proxy Pattern Let's get started! Make sure you're seated comfortable, it's going to be a long one today! The definiton, as usual: "Provide a surrogate or placeholder for another object to control access to it." Read more at [...]

Design Patterns - State Pattern

Fri, 08 Aug 2008 08:14:00 GMT

It's been a while again, but it's time for another pattern. Today we'll look at the State Pattern.

First of all, the definition: "Allow an object to alter its behavior when its internal state changes. The object will appear to change its class."



Design Patterns - Composite Pattern

Sun, 27 Jul 2008 11:23:00 GMT

It's been a little while again. I blame myself for installing World Of Warcraft again, too addictive.

Anyway, time for the Composite Pattern. This is one I'm having a little trouble with to describe clearly.

Let's start with the definition: "Compose objects into tree structures to represent part-whole hierarchies. Composite lets clients treat individual objects and compositions of objects uniformly."



Design Patterns - Iterator Pattern

Wed, 23 Jul 2008 12:42:00 GMT

Time for the next part in our series, the Iterator Pattern.

Let's start with the definition: "Provide a way to access the elements of an aggregate object sequentially without exposing its underlying representation."



Design Patterns - Template Method Pattern

Tue, 22 Jul 2008 08:23:00 GMT

Time for yet another pattern, the Template Method Pattern. Have a look at all the other patterns in the series as well.

The definition: "Define the skeleton of an algorithm in an operation, deferring some steps to subclasses. Template Method lets subclasses redefine certain steps of an algorithm without changing the algorithm's structure."



Wanted: Friends!

Mon, 21 Jul 2008 14:12:00 GMT

Today I'm going to tell you a little story about me. I think of myself as your typical description of a geek.

Passionate about all things technological, eager to find out how the inner details work together, a movie and music lover, and spending too much time behind a computer.

Having all those feats, over the course of twenty years, result in getting out of touch with the what interests the large part of the population.

I don't care about soccer, drinking, going out or making a complete fool out of myself. I can talk for hours about some architecture however, or about techy pranks.

But you know what? My surroundings don't have a clue what I'm talking about, usually ending up in me not bothering anymore. Same for taste of humor, I love the dry British kind, and everyone I know hates it.

This isn't some sort of self-pity post however. I'm fine with making conversation, but most of the time it's forced, and I constantly have to fight the analytical part of my mind to not interfere and kill the conversation.

That being said, I'd like to meet some other geeks from around the world to have a chat with, the international developer community.

Do you sometimes have the same feelings? Would you like to meet someone new? Talk about some random IT thing, or just about your life to a fellow geek?

Contact me! Tell me something about you, where are you from, how old are you, what do you do, some story. Please? :)

Writing all these articles is fun, but having dialogues is a lot more stimulating.

I hope to hear from you! :)

(Yeah, non-geeks can mail too, if you have some interest in IT or aren't bored by someone talking about it :))

Design Patterns - Facade Pattern

Mon, 21 Jul 2008 10:37:00 GMT

Time for another, simple, design pattern. The Facade Pattern.

I'm going to need a break soon, getting a bit burned out, which never is a good thing.

Anyway, the definition of today's pattern: "Provide a unified interface to a set of interfaces in a subsystem. Facade defines a higher-level interface that makes the subsystem easier to use."



Design Patterns - Adapter Pattern

Wed, 16 Jul 2008 22:29:00 GMT

We've seen quite a few patterns so far, and I'm glad so many people like them.

They turned out to be the most popular posts I've ever written when it comes to development. Thanks! :)

A little overview for the late joiners:

Today we'll have a look at the Adapter Pattern.



Design Patterns - Command Pattern

Tue, 15 Jul 2008 22:07:00 GMT

What's a lonely geek to do late in the evening? Write about the Command Pattern of course...

Let's start with the definition: "Encapsulate a request as an object, thereby letting you parameterize clients with different requests, queue or log requests, and support undo-able operations."



Design Patterns - Generic Singleton Pattern

Tue, 15 Jul 2008 14:43:00 GMT

A little follow up from yesterday's Singleton Pattern, where I asked for some help on how you would approach a generic singleton.

With the help of Andrew Stevenson and ExNihilo, we came up with the following Generic Singleton Pattern:



Design Patterns - Singleton Pattern

Mon, 14 Jul 2008 16:02:00 GMT

Today we'll have a look at a well known pattern, the Singleton Pattern. Most people have already heard about this one.

The definition: "Ensure a class has only one instance and provide a global point of access to it."



Design Patterns - Abstract Factory Pattern

Sun, 13 Jul 2008 18:15:00 GMT

Time to continue from yesterday's Factory Method Pattern by exploring the Abstract Factory Pattern.

Anyway, time for the definition and then some code to make everything clear. "Provide an interface for creating families of related or dependent objects without specifying their concrete classes."



Design Patterns - Factory Method Pattern

Sat, 12 Jul 2008 19:35:00 GMT

I present you with the next pattern in our series, the Factory Method! It took a while to get it out due to a stay in the hospital. (All is fine now :p)

First of all, the definition: "Define an interface for creating an object, but let the subclasses decide which class to instantiate. The Factory method lets a class defer instantiation to subclasses."