The Wayback Machine - https://web.archive.org/web/20211231152629/https://github.com/kelindar
Skip to content
Avatar
🚀
Building Platforms in Middle East!
🚀
Building Platforms in Middle East!

Sponsors

@fwessels

Achievements

Achievements

Block or Report

Block or report kelindar

Report abuse

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

Report abuse
kelindar/README.md

Hey 👋, I'm Roman!

I love building stuff, currently working as a Staff Engineer in Careem on experimentation, optimization and machine learning platforms. Prior to Careem, I worked as Head of Data Science in AirAsia and as a Principal Engineer in Grab, the super app of South East Asia where we built Product Insights & Experimentation Platforms amongst other things. I also obtained a PhD in Computer Science and Human-Computer Interaction with Trinity College Dublin & IBM Research, and worked as an engineer at various successful companies in Europe, building things like online gaming platforms, autonomous helicopters, or particle/matter collision simulators!


🚀 Distributed Systems I have designed and open-sourced

  • emitter-io/emitter - high performance, distributed and low latency publish-subscribe platform
  • kelindar/talaria - distributed, highly available, and low latency time-series database for Presto

📦 Golang Libraries I made to help me in building software faster or explore a certain idea

  • kelindar/async - concurrency patterns library using promises for Go
  • kelindar/binary - generic and fast binary serializer for go
  • kelindar/bitmap - zero-allocation dense bitmap index for go
  • kelindar/column - columnar in-memory db (structures-of-arrays) with querying and indexing in go
  • kelindar/intmap - fast uint32-to-uint32 hash map, about 20-50% faster than Go map
  • kelindar/tile - 2D grid engine, built with data and cache friendly ways, includes pathfinding and observers
  • kelindar/evolve - go implementation of a binary genetic algorithm with random binary crossover & mutation
  • kelindar/loader - go library that allows for downloading things from a URL (http, s3, ...)
  • kelindar/ecs - high-performance entity component system in pure go
  • kelindar/event - simple internal event bus for go applications
  • kelindar/lua - wrapper around LUA script executor for long-running scripts
  • kelindar/tcp - simple TCP server in go
  • kelindar/process - go library for process usage retrieval
  • kelindar/smutex - simple sharded mutual exclusion in go
  • kelindar/xxrand - XXH3-Based Pseudorandom Number Generator
  • kelindar/iostream - Simple binary reader and writer for io.Reader/io.Writer streams
  • emitter-io/address - go library providing a set of utilities for dealing with network addressing
  • emitter-io/stats - high-performance library for stats and metric aggregation
  • emitter-io/config - library for hierarchical config management

🧪 Experiments in which I tried with various ideas

🎨 Emitter Demos I have prepared for the project

  • chat - building a chat with emitter
  • actor - distributed actor model with emitter
  • client-server - how to create a client/server application with emitter
  • platformer - making an online platformer with emitter
  • retain - how to use message retention in emitter
  • share - how to use shared subscriptions in emitter
  • iss - tracking international space station in real-time
  • presence - demo of the channel presence for emitter

📚 Blogs & Papers I have written in the past

  • Technical Blog - My random blog posts around experimentation, performance and open source
  • Ph.D Thesis - Supporting visual diagnosis of performance problems in multi-core and parallel software
  • SIGCHI'14 Paper - Design considerations for parallel performance tools
  • IEEE Journal Paper - Parallel Performance Problems on Shared-Memory Multicore Systems: Taxonomy and Observation

visitors

Pinned

  1. High performance, distributed and low latency publish-subscribe platform.

    Go 3.1k 293

  2. column Public

    High-performance, columnar, in-memory store with bitmap indexing in Go

    Go 844 26

  3. binary Public

    Generic and fast binary serializer for Go

    Go 150 17

  4. talaria Public

    TalariaDB is a distributed, highly available, and low latency time-series database for Presto

    Go 112 24

  5. bitmap Public

    Simple dense bitmap index in Go with binary operators

    Go 108 8

  6. tile Public

    Tile is a 2D grid engine, built with data and cache friendly ways, includes pathfinding and observers.

    Go 38 2

328 contributions in the last year

Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Mon Wed Fri
Activity overview
Contributed to kelindar/column, kelindar/bitmap, kelindar/talaria and 5 other repositories

Contribution activity

December 2021

Created 1 repository

Created a pull request in kelindar/smutex that received 1 comment

Implement RLockAll()

This PR implements RLockAll() that acquires a priority read lock on all shards.

+195 −39 1 comment
Reviewed 3 pull requests in 2 repositories