Skip to content
Avatar

Achievements

Achievements

Block or Report

Block or report Horusiath

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
Horusiath/README.md

Hi there 👋

My name is Bartosz Sypytkowski. I'm a passionate about data management, distributed & concurrent systems, their internals, protocols and algorithms driving them. You can see some of the recent topics of my interest on my blog post. Some of my personal favourites:

While I look at the platform/runtime as a tool to achieve the goal, my personal weapons of choice include: Rust (which I had pleasure to work with when implementing JSON-like CRDT document database at ditto.live), Scala, F#, Go.

From time to time I manage to speak at user groups and conferences. Your can see some of my presentations on youtube and slideshare. Feel free to contact me (you can see e-email in my github profile).

Hall of fame

Some of the open source projects I contributed to:

  • Akka.NET - for over 5 years I was member of core-team, where I helped building a various parts of this distributed actor framework, including:
    • Akka.Streams, which is a reactive streaming library build on top of akka actors, that allows programmers to build a rich dataflow graphs with backpressure support. This also included building a direct API for safe and composable socker server and client as well as StreamRefs - surrogate objects used to transport and join Akka.Streams graph nodes over the network, allowing users to build a distributed, backpressured dataflows.
    • Akka.Persistence which is a plugin, that introduces support to actor state persistence by using eventsourcing techniques. Later on I also introduced Akka.Streams support to it as well as SQL database adapters.
    • Akka.DistributedData which introduced a decentralized, replicated in-memory key-value store build into akka cluster, based on Conflict-free Replicated Data Types. Later on it was extended to use optimized delta-state CRDTs and durable storage.
    • Akka.Cluster.Sharding which enabled automatic shard-based actor placement, with rebalancing strategy that enabled efficient cluster resource utilization.
    • Cluster split brain resolution strategy, which was reverse engineered from canonical Akka JVM documentation (it was not open-sourced back then).
    • Akka.Persistence.Reminders which extended eventsourced capabilities of Akka.Persistence to support long-running timers. It also included support to cron expressions.
    • Akka.Cluster.Discovery which is a node-discovery service, that enables to use 3rd party systems (like Hashicorp Consul) to mediate in akka cluster initialization.
    • F# pluggin for Akka
    • Support for mutli-datacenter aware clusters
    • Second shot to eventsourcing with support to replicated partially ordered event log - based on eventuate Akka library.
  • FSharp.Data.GraphQL which is Bazinga Inc. sponsored project, where I implemented a server-side part of GraphQL standard specification. Memorable challenge was to implement GraphQL-to-LINQ converter, that was using not only GraphQL query AST, but actually tracked usage of data members in underlying F# code used in field resolvers.
  • Hyperion which is a very efficient binary serializer, aiming to provide a wide features support eg. serialization of object graphs with cycles, serialization of expressions and delegates, version tolerance.
  • A growing collection of various Conflict-free Replicated Data Types, including state-, delta-state and operation-based ones (with example replication protocol support).
  • A F# utility library, with various extensions like high performance persistent vectors, hybrid-logical clocks, reentrant user-space read/write locks, set of operators over IAsyncEnumerable interaface or high performance actor implementation.

Popular repositories Loading

  1. Akkling Public

    Experimental F# typed API for Akka.NET

    F# 202 42

  2. A set of utilities, that you always wanted to have in F#.

    F# 109 5

  3. AkkaCQRS Public

    Event sourcing example build on Akka.NET with persistence plugin

    C# 102 35

  4. An example implementations of various CRDTs

    F# 54 4

  5. Various demos for Akka.NET

    C# 37 14

  6. Plugins for Akka.NET seed node management using 3rd party service discovery providers

    C# 33 17

449 contributions in the last year

Dec Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Mon Wed Fri
Activity overview
Contributed to yjs/y-crdt, Horusiath/fsharp.core.extensions, Horusiath/crdt-examples and 5 other repositories
Loading

Contribution activity

December 2021

Created 1 commit in 1 repository
Opened 1 pull request in 1 repository
yjs/y-crdt 1 merged
Loading

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