Twitter

Categories

Tag: GitHub

.NET

Dynamically map JSON commands to object methods in .Net

Lately I’ve been playing around with USB led lights in .Net. I wanted the animations to be separated from my code. Wouldn’t it be great if you could define what animations are executed in a JSON file? And map it to code?

Normally one would build a mapper that does the conversion of the JSON commands to the methods. I like to use a more generic approach. I’ve created a small utility class that executes commands by mapping and executing them as a method of the object.

TypeScript

Strongly Typed Events 0.3.0 – now with Signals

Turns out that I needed an even smaller type of event: the signal. It is an event that has no data; it just fires. The Strongly Typed Events project started with the IEvent event that was styled after .Net. Then the ISimpleEvent was added in 0.2.0, for scenarios when no sender is necessary. Now I’ve added the ISignal to version 0.3.0.

.NET

Rasterizing EMF files with .Net / C#

I can almost hear you think: “Why on earth would anyone use EMF?” Well… I don’t… but MS Office does! Thumbnails that are saved in MS Word documents are in the EMF format. As I struggled to do something with one, I realized that I had to convert it first to a more “easy to handle” format: PNG. Easier said than done.

JavaScript, TypeScript

Strongly Typed Events 0.2.0 – now with Simple Events

A while ago I started a GitHub project for Strongly Typed Events in TypeScript. I’ve uploaded the second version (0.2) with support for ISimpleEvent and I changed the way you can expose the dispatcher as an event. The code is 100% backwards compatible with version 0.1 – you might need to update some references.

.NET

A BlockHasher helper class

There are a few instances in which you’ll need to hash a combination of data. You might resort to creating one big string and hashing that. It has a clear disadvantage from a memory and processing point of few. It might even be impractical when files or streams are involved. That’s why I created a BlockHasher utility class that helps to generate these types of hashes.