Facebook Twitter


Dot Net Perls. Designing Applications for High Performance - Part 1 - Windows Server Performance Team Blog. Rick Vicik - Architect, Windows Server Performance Team Now that processors won’t be getting dramatically faster each year, application developers must learn how to design their applications for scalability and efficiency on multiple processor systems. I have spent the last 20 years in SQL Server development and the Windows Server Performance Group looking into multi-processor performance and scalability problems. Over the years, I have encountered a number of recurring patterns that I would like to get designers to avoid. In this three part series, I will go over these inefficiencies and provide suggestions to avoid them in order to improve application scalability and efficiency.

The guidelines are oriented towards server applications, but the basic principles apply to all applications. The underlying problem is processors are much faster than RAM and need hardware caches or else they would spend most of their time waiting for memory access. Threading Issues Common threading practices. NuGet Gallery. Managed Extensibility Framework. Luainterface - A library for integration between the Lua language and Microsoft .NET platform's Common Language Runtime (CLR)

Over the last few years I've found very little time to work on LuaInterface.

luainterface - A library for integration between the Lua language and Microsoft .NET platform's Common Language Runtime (CLR)

Certain platforms such as Mono/Xamarin and WinRT aren't supported well (if at all) and there are still quite a few bugs open. I would like to suggest that the community look towards Vinicius Jarina's project on Github called NLua moving forward. NLua is a fork of this project and I expect it will see more frequent updates over there than I am able to achieve here on Google Code. Protobuf-net - Fast, portable, binary serialization for .NET. Introduction protocol buffers is the name of the binary serialization format used by Google for much of their data communications. It is designed to be: Jgauffin/griffin.networking. NetSockets. WheelMUD - Download: WheelMUD 0.4.5. This is an interim release, until 0.5 is ready. The latest source can always be had on our Subversion server hosted over here: Tons of changes!

Separated system data from game dataSelected Warrior,Rougue, & Mage as our reference gaming system for game rulesSystem data goes on relational database - SQLiteGame data goes on document database - RavenDbFleshed out behavior based composition of MUD itemsThe majority of our systems are now dynamically loaded through MEFSwitched from NHibernate to ServiceStack.ORMLite. This has allowed us to make it easier to switch database backends without much trouble. SQLite and SQL Server (2005 and newer) are now supported. Please use UniverseManagerLite to add/edit rooms and exits. RavenDB - 2nd generation document database. RavenDB tutorial, part 1 - introduction and basic operations - Geekbeing. When starting new project we (at least lots of my collegues do) tend to automatically think about SQL whilst picking data backend for our application. Or to be honest - we sometimes skip the thinking part, picking SQL is a reflex.

If you only know how to use a hammer, then everything looks like a nail. And then solving any problem automatically means hitting things hard with it (the hammer, not the nail). Credit should go where the credit’s due and I think one of the benefits of the Ruby/Rails bloom is wider popularity of so-called “No-SQL” databases. In R/R world the two most commonly heard names are: MongoDB and CouchDB. Now, that you know everything about things that make No-SQL databases a cool kid on the block, let me take you on the tour of RavenDB - .NET response to No-SQL movement, brought by one and only @ayende. There are four distinct ways in which you may configure RavenDB to run, all of them begin with downloading Raven binaries (or sources and compiling them yourself). NUnit - Home. Threading in C# - Free E-book. Threading in C# Joseph Albahari Last updated: 2011-4-27 Translations: Chinese | Czech | Persian | Russian | Japanese Download PDF Part 1: Getting Started C# supports parallel execution of code through multithreading.

Threading in C# - Free E-book

A C# client program (Console, WPF, or Windows Forms) starts in a single thread created automatically by the CLR and operating system (the “main” thread), and is made multithreaded by creating additional threads. All examples assume the following namespaces are imported: using System; using System.Threading; class ThreadTest{ static void Main() { Thread t = new Thread (WriteY); t.Start(); for (int i = 0; i < 1000; i++) Console.Write ("x"); } static void WriteY() { for (int i = 0; i < 1000; i++) Console.Write ("y"); }} The main thread creates a new thread t on which it runs a method that repeatedly prints the character “y”. Once started, a thread’s IsAlive property returns true, until the point where the thread ends. Done static void Go(){ if (! Done Done (usually!) Ninject. Get Started with Ninject 2.0 in C# Programming. This article will serve as an elementary tutorial to help you quickly get started with the lightweight and open sourced dependency injector for .NET applications - Ninject.

Introduction The main reason driving me to write this article is due to Balder - the famous 3D engine targeting Silverlight game. As you may image, in the infrastructure of the Balder engine, Ninject is widely used. In fact, in developing modern and large-scaled applications, especially underlining architectures, to create a loosely-coupled, highly-cohesive, and flexible ones, some dependency inject frameworks are usually required to come to help. Ninject is one of these; it mainly targets .NET based C# area. So, this article will serve as an elementary tutorial to help you quickly get started with the lightweight and open sourced dependency injector for .NET applications - Ninject.

The development environments and tools we'll use in these series of articles are: NAnt - A .NET Build Tool.