Active Projects

Open source projects!

I work on multiple open source projects, and this page shows some of the projects that I am actively involved in.

Duplicati

Duplicati is a free, open source, backup client that securely stores encrypted, incremental, compressed backups on cloud storage services and remote file servers.

Bohrium

Bohrium is a research project from the Niels Bohr Institute that attempts to bring the power of super computers into the hands of scientists with limited programming experience. It supports multiple programming languages as well as multiple computer architectures. Some of the key features is that the programming languages are not modified, and there are not attributes or directives that maps to any hardware specific features. The hardware agnostic approach means that a program developed on a simple laptop will run on a cluster of machines with multiple GPGPUs, or even on a super-computer, without any modification or adaptation.

SME

Synchronous Message Exchange is a programming model for developing systems that respond to a shared synchronization signal. Any SME system can be expressed as a CSP network, but SME is more limited, so not all CSP systems can be expressed in SME.

The limitations in SME makes it more suitable for developing hardware models, and enables faster execution that what can be obtained with CSP.

CoCoL

CoCoL is a fresh multi-programming approach, leveraging the C# await keyword to produce sequential and easily understandable multithreading code. With a shared-nothing approach and explicit communication, programs written with CoCoL are automatically free from race conditions and other threading hazards.

If you are familiar with the Go Language, you can think of CoCoL as providing the Go programming model inside the CLR.

Ceen.Httpd

Ceen is a set of libraries written entirely in managed C#, running on both .Net Core and the full .Net framework. It does not depend on any native libraries, just the .Net installation, making it portable and small for Docker-like deployment.

Ceen was written with the async/await paradigm allowing it to scale to a very large number of concurrent connections. The Ceen suite contains a number of optional helper libraries, making it easier to work with authentication, REST/MVC style APIs, and databases.