Become a sponsor to Kelvin Schoofs
I'm a Civil Engineer in CS from Belgium. I got my bachelor degree in Applied Informatics in 2018 in Leuven, and recently graduated at the VUB (Brussels) with a degree in Master of Science in Applied Sciences and Engineering: Computer Science, with Software Languages and Software Engineering as specialization.
Before I even started on my first degree, programming was already a hobby and passion for me. Nowadays, several years later, this is still the case. During my free time I'm either gaming, watching stuff or working on some programming projects I like. Here's a quick overview of some noteworthy projects I published:
SSH FS Extension ( VS | GitHub )
An extension for Visual Studio Code that allows editing remote files over SSH.
Currently over 300.000 installs. Number #2 in the ssh
search results, right after Microsoft's Remote - SSH
extension.
I created this extension back in 2018, as a fun hobby project in the evening when I returned from my internship at the time. In VS Code's release notes for 1.23.0, it introduced a new extension API, namely FileSystemProvider. This intrigued me, and resulted in me creating an extension that allows VS Code to work with files over SSH. Since a few months, I also added the ability to open (SSH) shells to any remote directory by simply clicking a button in the directory's context menu. The extension page gives more information, along with some screenshots.
Over the past two years, I've maintained this extension and added new features. The repository has over 176 closed issues and 20 closed pull requests. While I still have some features (better proxy support, more PuTTY integration, new connection manager/UI, ...), the extension is nowadays overshadowed and even partially obsolete due to the Remote - SSH
feature by the VS Code team, while also limited by the extension API itself. Nevertheless, a lot of people still use it, even if it's mostly just for casually editing remote files or lacking server support for the native feature.
ip-matching
( NPM | GitHub )
During my internship in 2018, the need arose for a simple but powerful way of access to an API server by means of an IP whitelist. I ended up writing this module during my free time and publishing it. It did end up being used at my internship place.
The module excels at parsing "IP match" strings (e.g. from a config file) into a form that can be easily used programmatically. It supports parsing several formats, ranging from subnetworks (10.0.0.0/24
), to IPs (with wildcards), ranges, ... both for IPv4 and IPv6. For IPv6, it also allows formatting the IPs in several standard forms, including shortened, IPv4-embedded, ....
Currently in the pipeline:
- Support for IPMasks (e.g.
10.0.0.0/255.0.255.0
or::1/ffff:0:ff8::
) - IP Whitelist/Blacklist container class + variations (with options for prioritizing certain rules over others)
- Checking whether certain Matches have an overlap (some addresses can be matched by both)
- Checking whether a Match A is a subset of a Match B (all addresses matched by A is also matched by B)
- Utility functions/classes for actually parsing e.g. config files into IP lists (feature #2)
create-workspace
( NPM | GitHub )
A new project I started a few weeks ago. Meant to be used as npm create workspace
or yarn create workspace
. Currently version 0.1.0, lacking most basic intended functionality. Read its goals here
crdt-tree
( NPM | GitHub )
A work in progress. Needed it for a school project regarding replication. Allows calculating changes between two trees and applying them.
Others
- react-dividable-context ( NPM | GitHub )
An extension of React's built-in Context Provider/Consumer feature, but with the ability to specify which (deep) sub keys a certain Provider is interested in, therefore lowering the amount of component updates needed - Getprocesses ( NPM | GitHub )
My version of ps-list. Made purely for fun, I highly suggest not using it - and a lot of other (dead and "suspended") projects on my GitHub
Featured work
-
SchoofsKelvin/vscode-sshfs
Extension for Visual Studio Code: File system provider using SSH
TypeScript 547 -
SchoofsKelvin/TypedLua
A fun side project to have a statically typed version of Lua that transpiles to Lua, similar to TypeScript
TypeScript 3 -
SchoofsKelvin/ip-matching
Node module to see whether an IPv4 or IPv6 address matches an IP (range) or subnetwork
TypeScript 16 -
SchoofsKelvin/vscode
Visual Studio Code
TypeScript 1 -
SchoofsKelvin/react-dividable-context
An efficient way of having one React Context instead of multiple providers, without unnecessary re-rendering
TypeScript -
SchoofsKelvin/crdt-tree
NPM module. Currently a work in progress
TypeScript 1