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

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.

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

Seeing something unexpected? Take a look at the GitHub profile guide.