Working at Confluent, thinking about streaming.
bookkeeper-tlaplus. A TLA+ specification of the Apache BookKeeper replication protocol
104raft-tlaplus. TLA+ specifications for Raft and variants
91kafka-tlaplus. TLA+ specifications for Kafka related algorithms
90ChaosTestingCode. Code for doing chaos testing on various distributed systems
84Taskling.NET. API for batch jobs. Partitioning of batches into blocks of work, limiting the number of concurrent task instances, critical sections across servers, standardised activity logging and alerting.
69DslParser. Example of a DSL parser that takes a DSL and generates a SQL query and parameters
66StreamProcessingSeries. Source code for my data processing pipelines blog series
54vsr-tlaplus. TLA+ specifications related to Viewstamped Replication
52table-formats-tlaplus. TLA+ specs for table formats
43RabbitMq-PoC-Code. Just proof of concept code for working with the C# RabbitMq client
37CDC-Tools. .NET Core applications and libraries for working with SQL Server CDC, with outputs to SQL Server, Kafka, Redshift
28Govrnanza. An API governance system for managing APIs in large organisations
19Rebalanser. .NET Standard 2.0 library for resource distribution amongst collaborating nodes, for example, distributing multiple queues amongst a group of consumers.
17openmessaging-benchmark-custom. Java
15RabbitTestTool. A tool for running performance and correctness experiments on RabbitMQ
8NServiceBus-RabbitMq-Examples. Example code for using NServiceBus with RabbitMq
6formal-methods-playground. TLA
5maelstrom-playground. Playing with Jepsen Maelstrom
4GRASS. GRaph of the Architecture of Systems and Servers
2MessageSystemExperiments. Some code for experiments with various messaging systems
2PLangPlayground. OpenEdge ABL
1redpanda-openmessaging-benchmark. Java
1simulation. TLA
1pulsar-flink-playground. Just for messing around with pulsar and flink
1r.aws.secretsmanager. Simple package for getting secrets from AWS Secrets Manager
1Graphode. Build call graphs including external resource accesses and store in Neo4j, Gephi and other graphing tools
1