Recently I was looking for a way of display hierarchical information in a more compact form than the previous horizontal/vertical trees I was using. One of the concepts I looked into during this was the idea of arranging children radially around a central node. This article describes an approach for doing this using circular nodes.
Blog Articles and information on C# and .NET development topics
The Cyotek Development Blog has moved - please find it at https://devblog.cyotek.com.
Although these pages remain accessible, some content may not display correctly in future as the new blog evolves.
A short article on using the ImageAnimator class to allow animated GIF's to be properly painted using System.Drawing and C#.
A review of the book "The C# Helper Top 100" by Rod Stephens
A short article which describes how to get a window rectangle without including offsets for drop shadows
I was recently updating some documentation and wanted to programmatically capture some screenshots of the application in different states. This article describes how you can easily capture screenshots in your own applications using the BitBlt
Win32 API call.
Markdig is an extensible Markdown processor built with performance in mind. This article details how to create a simple Markdig extension to extend the parsing functionality to create inline links for MantisBT issue numbers (or GitHub or similar).
I've released a new open source project named MantisSharp, a simple .NET client for working with the recently introduced REST API for Mantis Bug Tracker.
A short post which describes how to adjust .htaccess to enable the REST API in Mantis Bug Tracker to work.
Some time ago, I used the Bing Translator API to help create localization for some of our products. As Microsoft recently retired the Data Market used to provide this service it was high time to migrate to the replacement Cognitive Services API hosted on Azure. This article covers using the basics of Azure cognitive services to translate text using simple HTTP requests.
Recently I discussed using type converters to perform custom serialization of types in YamlDotNet. In this post I'll concentrate on expanding the type converter to support deserialization as well.