C++ ORM DSL via Macros

Macros, like the goto statement, have become somewhat frowned upon nowadays, but (IMO) I think that’s a little excessive. Macros, used judiciously, can be beneficial. For example, you may want code to execute in debug but not release, you can define the symbol accordingly and avoid hundreds of #ifdef’s throughout your codebase. Arguably, you could […]

NDepend – A Developer’s Best Friend

Creating a Mess Recently I began work on an XMPP Component Framework in C#, initially trying to reuse code from a previous version. I’m trying to do it right this time, conforming to the official specifications. This has led to a lot of rework as the previous version was essentially based upon code I’d written […]

Recent C# Language Changes

A couple of years ago I began an XMPP Component Framework in C#, but after a few days I had to put it on hold. One thing led to another, and it’s been on hold ever since. I’m finally returning to it. C#, however,┬áhas had some significant improvements since then, I want to start again […]

Xamarin.Android on Linux

Thanks to the awesome guys at JetBrains and their Project Rider IDE, it’s now possible (unofficially) to develop Xamarin.Android apps on Linux. This is a basic project created with Project Rider and running on the emulator: Once I had a basic application up and running, I tried an application I’ve had in the store for […]

A Nice Use of C# Dynamic

Dynamic capabilities were added to C# 4.0. These capabilities provide the ability to intercept method and property invocations. In certain situations, this is extremely useful, as seen in SignalR. I’m currently working on an XMPP library which parses a received XMPP Stanza into a class named BvElement. Abstracting from BvElement are classes such as IQ, […]

Velocity C# XMPP Library

At Beyond Velocity we rely on XMPP for push notifications in many of our applications. XMPP is a messaging standard that uses extensible XML stanzas to communicate over a TCP/IP connection. There are a number of solid, secure, high performance, open-source XMPP servers available, such as OpenFire and EJabberd. To communicate with a server, you […]