Skip to content
View planetis-m's full-sized avatar
👑
I've left OS Dev. If you need it, fork it and fix it yourself.
👑
I've left OS Dev. If you need it, fork it and fix it yourself.

Block or report planetis-m

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
planetis-m/README.md

Γεια 👋

My name is Antonis Geralis. I am a computer science graduate. 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.

Posts

datepostbrieflinks
7/4/26Architecting Games in Nim: A Pragmatic GuidePlain structs, arrays, and procs — why most games never need ECS, and what to use instead.full text
14/4/23Using NimScript for your build systemWelcome to this tutorial on using NimScript for your build system!full text
13/4/23Naylib 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/20An introduction to ECS by exampleIn this post I'm exploring the inner workings of an strict ECS implementation, discuss the...full textdiscussion
7/6/18Creating a simple macroHello, as you might know Nim is a powerful programming language that supports metaprogramming...full text

Software

Some of the most interesting software projects I've authored are:

NameDescription
compute-simA compute shader emulator that simulates GPU-like environments on CPU.
drchaosA powerful and easy-to-use fuzzing framework in Nim for C/C++/Obj-C targets.
libfuzzerThin interface for libFuzzer, an in-process, coverage-guided, evolutionary fuzzing engine.
eminimJSON serialization framework, works from a Stream directly to any type and back.
manuA linear algebra library in pure Nim. Supports constructing and manipulating real, dense matrices.
syncUseful synchronization primitives
bingoBinary serialization framework
naylibYet another raylib wrapper
jsonpakPacked ASTs for compact and efficient JSON representation, with JSON Pointer, JSON Patch support.
patgraphEfficient graph data structure library. The graph is a seq of nodes plus a seq of edges.
ssostringsSmall String Optimized (SSO) string implementation
cowstringsCopy-On-Write string implementation according to nim-lang/RFCs#221
smartcliTurns a help text block into a small CLI parser and a typed options object.
dokimeSQL that won't compile if it's wrong — validates queries against your real database at compile time.

Pinned Loading

  1. My build commandsMy build commands
    1
    Debug
    2
    =====
    3
    4
    .. code-block:: bash
    5
  2. Top level nim.cfgTop level nim.cfg
    1
    #cc = clang
    2
    --experimental:strictEffects
    3
    --experimental:strictFuncs
    4
    --experimental:strictDefs
    5
    --experimental:unicodeOperators