Giter Site home page Giter Site logo

gosiris's Introduction

Teiva Harsanyi

Iโ€™m a software engineer specializing in distributed systems, scalability, reliability, and observability topics. Iโ€™m currently working at Google as a senior software engineer in the ML SRE team. Meanwhile, I love meeting challenges, learning, and sharing.

I'm also the author of ๐Ÿ“– 100 Go Mistakes and How to Avoid Them.

GitHub

Stats

teivah's Stats

Main Repositories:

General:

  • algodeck and designdeck: Open-Source collections of flash cards to help developers preparing their algorithm & system design interview
  • sre-roadmap: An opinionated roadmap to become an SRE
  • docker-kafka: Simple Docker image for Kafka, pulled +250k times

Go:

  • 100-go-mistakes: The official repository of 100 Go Mistakes and How to Avoid Them
  • broadcast: Notification broadcaster library
  • onecontext: Set of Go context's utilities
  • go-lfu: A Go library for handling LFU cache operations in O(1)
  • bitvector: Static bit vector structures library
  • tourniquet: gRPC client-side load balancer
  • multilock: A library to efficiently store a set of Mutex or RWMutex
  • resequencer: Resequencer library
  • majorana: A RISC-V virtual processor
  • go-bbl: Brown Bag Lunch on Go

Rust:

  • rust-cheatsheet: Rust language cheat sheet
  • ettore: A RISC-V virtual processor
  • franz: A collection of Kafka utility tools (load testing, replication)

Haskell:

Python:

Challenges:

Programming Languages

The programming languages on which I built at least some basic foundations:

gosiris's People

Contributors

teivah avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gosiris's Issues

Setup documentation

Hey @teivah,

I'd like to explore this framework, but I'm unsure how to get going here. Is go get the right option?

Favor local communication if possible

Today even if two actors are deployed in the same actor system, gosiris will use the transport defined (if any). This means gosiris will publish a message to Kafka or AMQP for example.

If two actors are deployed in the same system (i.e. local), they should communicate using a local golang channel (just like if no transport was specified).

zipkin-related build issue

I got this error while running go build when trying to run the helloworld example

source.golabs.io/growth/actor-model-demo/vendor/github.com/openzipkin/zipkin-go-opentracing/_thrift/gen-go/scribe

vendor/github.com/openzipkin/zipkin-go-opentracing/_thrift/gen-go/scribe/scribe.go:101:15: cannot assign 1 values to 2 variables

vendor/github.com/openzipkin/zipkin-go-opentracing/_thrift/gen-go/scribe/scribe.go:147:28: cannot use scribeProcessorLog literal (type *scribeProcessorLog) as type thrift.TProcessorFunction in assignment:
*scribeProcessorLog does not implement thrift.TProcessorFunction (wrong type for Process method)
have Process(int32, thrift.TProtocol, thrift.TProtocol) (bool, thrift.TException)
want Process(context.Context, int32, thrift.TProtocol, thrift.TProtocol) (bool, thrift.TException)

vendor/github.com/openzipkin/zipkin-go-opentracing/_thrift/gen-go/scribe/scribe.go:157:27: not enough arguments in call to processor.Process
have (int32, thrift.TProtocol, thrift.TProtocol)
want (context.Context, int32, thrift.TProtocol, thrift.TProtocol)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.