Become a sponsor to Sebastian
Hey there!
I'm a physicist who started getting into open source software development during my PhD thesis "due to life choices". My inconspicuous choice to write my data analysis code in Nim led me down a path of writing a whole lot of (mostly scientific computing related) libraries for Nim. Also, I am one of the people behind SciNim, the (very small!) scientific computing community for Nim.
A small excerpt of the most interesting and useful libraries that I develop or help to maintain follows (of course, see my main profile for more details!).
Scientific computing
Directly scientific computing related, this includes:
- a ggplot2 inspired plotting library:
https://github.com/Vindaar/ggplotnim - a dplyr inspired dataframe library:
https://github.com/SciNim/Datamancer - a compile time only, unit checking (and conversion) library for physical units:
https://github.com/SciNim/Unchained - a library to perform error propagation for measurements with uncertainties:
https://github.com/SciNim/Measuremancer - bindings to the HDF5 library for Nim (similar to h5py:
https://github.com/Vindaar/nimhdf5
I also help to maintain Nim's main tensor library with machine learning features, Arraymancer:
https://github.com/mratsim/arraymancer
More general examples
Some more general packages include
- a mini DSL to execute processes, akin to writing shell commands in Nim:
https://github.com/Vindaar/shell - a DSL to write LaTeX from Nim, including a simple way to call a TeX compiler from Nim and even run a TeX compiler as a daemon to interface with:
https://github.com/Vindaar/LatexDSL
Other things worth mentioning
More recently I have also started to contribute to Constantine, @mratsim's constant time cryptography library:
https://github.com/mratsim/constantine
And generally, I love to toy around and try to implement interesting sounding ideas in Nim. For example attempting to write a libgccjit based JIT compiler for Nim, developing a Zygote.jl like autograd library etc.
The Dream 😎
I don't really expect anyone to sponsor me here, but well! If you do want to, that'd be very much appreciated. ❤️
My dream would be to work full time on developing some of the ideas that are currently nothing more than hacks or prototypes further. E.g. building a fully working Nim REPL and following up with a Pluto.jl type notebook would be lovely, but is way out of scope as a free time project (at least given my broad interests and continuing to support the already existing libraries!).
Featured work
-
Vindaar/ggplotnim
A port of ggplot2 for Nim
Nim 177 -
SciNim/Datamancer
A dataframe library with a dplyr like API
Nim 133 -
SciNim/Measuremancer
A library to handle measurement uncertainties & error propagation
Nim 21 -
SciNim/Unchained
A fully type safe, compile time only units library.
Nim 110 -
Vindaar/nimhdf5
Wrapper and some simple high-level bindings for the HDF5 library for the Nim language
Nim 28 -
mratsim/Arraymancer
A fast, ergonomic and portable tensor library in Nim with a deep learning focus for CPU, GPU and embedded devices via OpenMP, Cuda and OpenCL backends
Nim 1,341