About
Heshan Padmasiri
Quick Bio
I am currently working on the Ballerina programming language. I am currently employed by WSO2. Professionally I program in Java and Ballerina. In my free time I make little things in Go, Rust, and various esoteric programming language that catch my fancy. Personally I like low level programming and compiler/language design.
Interesting Projects
Professional projects
jballerina
Production ready version of Ballerina compiler written in Java. It directly generate JVM bytecode. I am mainly involved in the compiler side while occasionally dipping my toes in runtime.
nballerina
Experimental version of Ballerina compiler that is written in Ballerina, with runtime written in C. It can directly generate native executables using llvm. Currently only a subset of the language is supported.
nballerina-cpp
Experimental version of Ballerina compiler that takes the BIR (Ballerina Intermediate Representation) from the jballerina compiler and generate native executables using llvm. No longer in active development.
Personal projects
tree-sitter-ballerina
Ballerina grammar for tree-sitter parser. This is currently a work in progress but most the Ballerina syntax should be supported.
pea-server
File hosting service (similar to drive) that is meant to be run in a NAS. Currently not in active development, since at it’s current state it can do all I wanted.
ballerina-mode
Emacs major mode for Ballerina language. This mostly gives things like syntax highlighting and depends on the LSP for most of the complicated tasks (like go to definition).
Director
Simple file management GUI inspired by dired
Publications
All of these are based on two projects I did during university time
License plate recognition in resource constraint environments
- Automated License Plate Recognition for Resource-Constrained Environments
- Automated License Plate Recognition: A Survey on Methods and Techniques
- License plate recognition using neural architecture search for edge devices