My name is Antonis Geralis. I am a computer science student. I speak 🇬🇷 Greek (native), 🇺🇲 English and 🇩🇪 German. I code mostly in Nim, but I am quick to pick up new languages and frameworks. My programming interests include multithreading, machine learning, fuzzing and vulnerability assessment, making indie games and web-apps. I love solving hard problems and learning about Computer Science.
| date | post | brief | links |
|---|---|---|---|
| 14/4/23 | Using NimScript for your build system | Welcome to this tutorial on using NimScript for your build system! | full text |
| 13/4/23 | Naylib Goes Mobile: Porting to Android in Just 3 Days! | In this post, I'll share how I managed to port my Nim raylib bindings to Android in just three days. | full text |
| 23/12/20 | An introduction to ECS by example | In this post I'm exploring the inner workings of an strict ECS implementation, discuss the... | full text discussion |
| 7/6/18 | Creating a simple macro | Hello, as you might know Nim is a powerful programming language that supports metaprogramming... | full text |
Some of the most interesting software projects I've authored are:
| Name | Description |
|---|---|
| compute-sim | A compute shader emulator that simulates GPU-like environments on CPU. |
| drchaos | A powerful and easy-to-use fuzzing framework in Nim for C/C++/Obj-C targets. |
| libfuzzer | Thin interface for libFuzzer, an in-process, coverage-guided, evolutionary fuzzing engine. |
| eminim | JSON serialization framework, works from a Stream directly to any type and back. |
| manu | A linear algebra library in pure Nim. Supports constructing and manipulating real, dense matrices. |
| sync | Useful synchronization primitives |
| bingo | Binary serialization framework |
| goodluck | A hackable template for creating small and fast games. Nim port |
| breakout | Breakout game implemented using strict ECS architecture. Used as a testbed. |
| naylib | Yet another raylib wrapper |
| jsonpak | Packed ASTs for compact and efficient JSON representation, with JSON Pointer, JSON Patch support. |
| patgraph | Efficient graph data structure library. The graph is a seq of nodes plus a seq of edges. |
| ssostrings | Small String Optimized (SSO) string implementation |
| cowstrings | Copy-On-Write string implementation according to nim-lang/RFCs#221 |
| html2karax | Converts static HTML to Karax. |
| neuralnet-examples | Neural network examples |
| protocoled | Interface macro |
| fusion/astdsl | A DSL for convenient construction of Nim ASTs |
| looper | For loop macros, zip, enumerate, collect (merged upstream) |





