``And once the storm is over you won't remember how you made it through, how you managed to survive. You won't even be sure, in fact, whether the storm is really over. But one thing is certain. When you come out of the storm you won't be the same person who walked in. That's what this storm's all about.''
-Haruki Murakami
----------------------------------------------
██████╗ ███████╗██████╗ ███████╗ █████╗ ██╗ ██╗██████╗ ███████╗██████╗ ██████╗ ███████╗██████╗ ██████╗ ██╔══██╗██╔════╝██╔══██╗ ╚══███╔╝██╔══██╗██║ ██║██╔══██╗██╔════╝██╔══██╗██╔══██╗██╔════╝██╔══██╗██╔════╝ ██║ ██║█████╗ ██████╔╝ ███╔╝ ███████║██║ ██║██████╔╝█████╗ ██████╔╝██████╔╝█████╗ ██████╔╝██║ ███╗ ██║ ██║██╔══╝ ██╔══██╗ ███╔╝ ██╔══██║██║ ██║██╔══██╗██╔══╝ ██╔══██╗██╔══██╗██╔══╝ ██╔══██╗██║ ██║ ██████╔╝███████╗██║ ██║ ███████╗██║ ██║╚██████╔╝██████╔╝███████╗██║ ██║██████╔╝███████╗██║ ██║╚██████╔╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝ ╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝╚═════╝ ╚══════╝╚═╝ ╚═╝ ╚═════╝
Welcome to the magic mountain. This is the homepage for Oliver Serang. In this place you can learn about algorithms, programming, and get a little scientific software.
----------------------------------------------
█████╗ ██████╗ ██████╗ ██╗ ██╗████████╗ ██╔══██╗██╔══██╗██╔═══██╗██║ ██║╚══██╔══╝ ███████║██████╔╝██║ ██║██║ ██║ ██║ ██╔══██║██╔══██╗██║ ██║██║ ██║ ██║ ██║ ██║██████╔╝╚██████╔╝╚██████╔╝ ██║ ╚═╝ ╚═╝╚═════╝ ╚═════╝ ╚═════╝ ╚═╝
For a short summary, resume, or full C.V.
----------------------------------------------
██████╗ ██████╗ ██╗ ██╗██████╗ ███████╗███████╗██╗ ██╗ █████╗ ██████╗ ███████╗ ██╔════╝██╔═══██╗██║ ██║██╔══██╗██╔════╝██╔════╝██║ ██║██╔══██╗██╔══██╗██╔════╝ ██║ ██║ ██║██║ ██║██████╔╝███████╗█████╗ ██║ █╗ ██║███████║██████╔╝█████╗ ██║ ██║ ██║██║ ██║██╔══██╗╚════██║██╔══╝ ██║███╗██║██╔══██║██╔══██╗██╔══╝ ╚██████╗╚██████╔╝╚██████╔╝██║ ██║███████║███████╗╚███╔███╔╝██║ ██║██║ ██║███████╗ ╚═════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝╚══════╝ ╚══╝╚══╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝
----------------------------------------------
██████╗ ██╗██╗ ██╗███████╗███████╗███████╗██╗ ██╔══██╗██║╚██╗██╔╝██╔════╝██╔════╝██╔════╝██║ ██║ ██║██║ ╚███╔╝ ███████╗█████╗ █████╗ ██║ ██║ ██║██║ ██╔██╗ ╚════██║██╔══╝ ██╔══╝ ╚═╝ ██████╔╝██║██╔╝ ██╗███████║███████╗███████╗██╗ ╚═════╝ ╚═╝╚═╝ ╚═╝╚══════╝╚══════╝╚══════╝╚═╝
A word game.
----------------------------------------------
███████╗████████╗██╗ ██╗██╗ ███████╗ ██████╗ ██╗ ██╗██╗██████╗ ███████╗ ██╔════╝╚══██╔══╝╚██╗ ██╔╝██║ ██╔════╝ ██╔════╝ ██║ ██║██║██╔══██╗██╔════╝ ███████╗ ██║ ╚████╔╝ ██║ █████╗ ██║ ███╗██║ ██║██║██║ ██║█████╗ ╚════██║ ██║ ╚██╔╝ ██║ ██╔══╝ ██║ ██║██║ ██║██║██║ ██║██╔══╝ ███████║ ██║ ██║ ███████╗███████╗ ╚██████╔╝╚██████╔╝██║██████╔╝███████╗ ╚══════╝ ╚═╝ ╚═╝ ╚══════╝╚══════╝ ╚═════╝ ╚═════╝ ╚═╝╚═════╝ ╚══════╝
----------------------------------------------
███████╗ ██████╗ ███████╗████████╗██╗ ██╗ █████╗ ██████╗ ███████╗ ██╔════╝██╔═══██╗██╔════╝╚══██╔══╝██║ ██║██╔══██╗██╔══██╗██╔════╝ ███████╗██║ ██║█████╗ ██║ ██║ █╗ ██║███████║██████╔╝█████╗ ╚════██║██║ ██║██╔══╝ ██║ ██║███╗██║██╔══██║██╔══██╗██╔══╝ ███████║╚██████╔╝██║ ██║ ╚███╔███╔╝██║ ██║██║ ██║███████╗ ╚══════╝ ╚═════╝ ╚═╝ ╚═╝ ╚══╝╚══╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝
(Fast computation of most abundant isotopes, C++17)
An object oriented library for computing the most abundant
isotopologues of a compound.
NeutronStar page
(Fast Bayesian graphical models, C++11)
An object oriented graphical models package optimized for
additive constraints like $$Y = X_1 + X_2 + \cdots + X_n.$$
You can also include any multidimensional discrete
distributions and other types of information. It is built on
TRIOT and allows users to easily write their own message
passers, schedulers, graph builders, and more.
EvergreenForest page
(Multidimensional array library, C++11)
``Template-recursive iteration over tensors'' uses template
metaprogramming to build a simple and highly flexible array
library where the dimension of the array/tensor do not need to
be known at compile time. The operations that can easily be
vectorized with TRIOT can easily encode a wide variety of
operations, meaning that if some desired vector or tensor
operation is not defined in the library, it can often be
performed in one line of code. In benchmarks, it has been
demonstrated to perform very similarly to hand-optimized C
code, outperforming boost::multi_array, numpy, and other
libraries. It also implements ``TensorView'' types, in-place
tensor slices that permit the same operations. It is also ripe
for inserting optimization via GPU.
TRIOT page, with link to article and
source code
----------------------------------------------
████████╗██╗ ██╗███████╗███████╗███████╗███████╗ ╚══██╔══╝██║ ██║██╔════╝██╔════╝██╔════╝██╔════╝ ██║ ███████║█████╗ ███████╗█████╗ ███████╗ ██║ ██╔══██║██╔══╝ ╚════██║██╔══╝ ╚════██║ ██║ ██║ ██║███████╗███████║███████╗███████║ ╚═╝ ╚═╝ ╚═╝╚══════╝╚══════╝╚══════╝╚══════╝
----------------------------------------------