The Cyotek Development Blog has moved - please find it at

Although these pages remain accessible, some content may not display correctly in future as the new blog evolves.


Previously, I've described on this blog how to do a basic integration of NDepend with Jenkins pipeline jobs. The disadvantages of the previous post was it was essentially part of a series tailored to our build process and so not easy to view as a stand-alone article and it only covered pipelines. This complementary post covers how to perform the same level of integration with a freestyle project.

Continue Reading

One of the security features of Jenkins is to send Content Security Policy (CSP) headers which describes how certain resources can behave. The default policy is extremely restrictive which can cause problems with content added to Jenkins via build processes. This post describes how to either temporarily or permanently change the CSP to be less restrictive.

Continue Reading

I've recently been updating our series on dithering to include ordered dithering. However, in order to fully demonstrate this I also updated the sample to include basic color quantizing with a fixed palette.

While color reduction and dithering are related, I didn't want to cover both topics in a single blog post, therefore this post covers finding the nearest color via Euclidean distance.

Continue Reading