- 👨 Who am I?
- A researcher and a software engineer in love with designing and delivering solutions with adequate quality of code
- 🎓 Education
- BSc (Hons) in Computer Science & Engineering - University of Moratuwa, Sri Lanka 🇱🇰
- MSc in Computer Science - UiT The Arctic University, Norway 🇳🇴
- PhD in Computer Science (WIP 🚧) - University of Navarra, Spain 🇪🇸
- 👨💼 Professional career
- 4 years in the industry as a software engineer with experience in Golang, React.js, Kafka, ZeroMQ, MQTT, Docker, Kubernetes, Cloud Platforms, CICD tools, Prometheus, Grafana
- 😻 Interested in
- Decentralized identity
- Blockchain with Hyperledger ecosystem
- Secure and trustful communication
- Distributed systems and Event-driven architecture
- ZeroComm
- ℹ A novel solution to support secure group communication among peers in a decentralized network
- 💾 Golang, ZeroMQ, DIDComm, NaCl
- fabriK
- ℹ Infrastructure as Code tool to deploy Hyperledger Fabric blockchain on Kubernetes
- 💾 Shell, Kubernetes, Hyperledger Fabric
- ccaaKs
- ℹ CICD pipelines to support SDLC of Smart Contracts in Hyperledger Fabric
- 💾 Gitlab CI, GitHub Actions, Golang-ci lint, SonarQube, Docker, LXC, Kubernetes, Heroku
- dht
- ℹ Distributed key-value store based on Chord which adapts to dynamic changes in the network
- 💾 Golang, Python, Shell
- decTree
- ℹ Decision Tree model which supports both classification and regression use-cases with numerical and categorical attributes
- 💾 Python
- ssi-agent
- ℹ DIDComm agent in Golang
- 💾 Golang, DIDComm, DID, Shell
- db-writer
- ℹ Tool to deploy datasets in CSV format to NoSQL databases and perform benchmark tests with read and write operations
- 💾 Redis, Neo4j, Elasticsearch, ArangoDB, Golang, Shell
- go-paxos
- ℹ Implementation of Multi-Paxos which extends the original Paxos algorithm by Leslie Lamport with multiple rounds of decisions
- 💾 Golang, Python, Shell
- k-means-clustering
- ℹ Unsupervised learning method to group data points which is based on K-means clustering
- 💾 Python
- KeySplitter
- ℹ Tool to split and partition cryptography keys (or any arbitrary string) with the ability to be re-merged
- 💾 Golang
- go-dep-writer
- ℹ Tool to inject a dependency table in the Readme file of Golang projects
- 💾 Golang, Markdown, HTML