Skip to content

Instantly share code, notes, and snippets.

View krishnabhargav's full-sized avatar

Krishna Vangapandu krishnabhargav

View GitHub Profile
@marianoguerra
marianoguerra / queue.txt
Created May 19, 2016 20:40
Paper Queue as of 19-05-2016
10-Deadlock Avoidance for Streaming Computations with Filtering.pdf
10-EventScript: An Event-Processing Language Based on Regular Expressions with Actions.pdf
10-hancock-language-data-streams.pdf
11-Cayuga A General Purpose Event Monitoring System.pdf
11-Finding Frequent Items in Data Streams.pdf
11-Optimization of Sequence Queries in Database Systems.pdf
12-Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications.pdf
12-Distributed Event Stream Processing with Non-deterministic Finite Automata.pdf
12-High-Performance Complex Event Processing over XML Streams.pdf
12-LSM-trie: An LSM-tree-based Ultra-Large Key-Value Store for Small Data.pdf
@wenhuizhang
wenhuizhang / distributed_systems_readings.md
Last active July 3, 2024 08:47
distributed systems readings

#Distributed System Course List

##Systems

  • Cornell CS 614 - Advanced Course in Computer Systems - Ken Birman teaches this course. The readings cover more distributed systems research than is typical (which I am in favour of!). In fact, there's barely anything on traditional internal OS topics like filesystems or memory management. There's some worthwhile commentary at the bottom of the page.

  • Princeton COS 518 - Advanced Operating Systems - short and snappy reading list of two papers per topic, covering some interesting stuff like buffering inside the operating system, and L4.

@tlockney
tlockney / questions.md
Last active November 24, 2015 08:10
What questions would you put on a phone screen for a distributed systems position?

What questions would you put on a phone screen for a distributed systems position?

These come from @tsantero with the last two additions being curteousy of @ifesdjeen in reply to this question from @SeanTAllen.

  1. explain the life of an http request.
  2. what does the FLP result teach us?
  3. what is a byzantine failure?
  4. explain CRDTs
  5. explain linearizability.
  6. how does DNS work?
@dominictarr
dominictarr / papers.md
Last active January 12, 2024 08:19
Distributed Systems Papers

(dominic: this list of papers was originally recommended to me by Brain Noguchi @bnoguchi, and was a great start to understanding distributed systems)

Here's a selection of papers that I think you would find helpful and interesting:

Time, Clocks, and the Ordering of Events in a Distributed System

The seminal paper about event ordering and concurrency. The important result is that events in a distributed system define a partially ordered set. The connection to what we're working on is fundamental, as this defines how to detect concurrent updates. Moreover, the chosen algorithm to turn the partially ordered set into a totally ordered set defines the conflict resolution algorithm.

http://research.microsoft.com/en-us/um/people/lamport/pubs/time-clocks.pdf

@evancz
evancz / Architecture.md
Last active December 21, 2022 14:28
Ideas and guidelines for architecting larger applications in Elm to be modular and extensible

Architecture in Elm

This document is a collection of concepts and strategies to make large Elm projects modular and extensible.

We will start by thinking about the structure of signals in our program. Broadly speaking, your application state should live in one big foldp. You will probably merge a bunch of input signals into a single stream of updates. This sounds a bit crazy at first, but it is in the same ballpark as Om or Facebook's Flux. There are a couple major benefits to having a centralized home for your application state:

  1. There is a single source of truth. Traditional approaches force you to write a decent amount of custom and error prone code to synchronize state between many different stateful components. (The state of this widget needs to be synced with the application state, which needs to be synced with some other widget, etc.) By placing all of your state in one location, you eliminate an entire class of bugs in which two components get into inconsistent states. We also think yo
@staltz
staltz / introrx.md
Last active July 8, 2024 15:46
The introduction to Reactive Programming you've been missing
@lttlrck
lttlrck / gist:9628955
Created March 18, 2014 20:34
rename git branch locally and remotely
git branch -m old_branch new_branch # Rename branch locally
git push origin :old_branch # Delete the old branch
git push --set-upstream origin new_branch # Push the new branch, set local branch to track the new remote
@debasishg
debasishg / gist:8172796
Last active July 5, 2024 11:53
A collection of links for streaming algorithms and data structures

General Background and Overview

  1. Probabilistic Data Structures for Web Analytics and Data Mining : A great overview of the space of probabilistic data structures and how they are used in approximation algorithm implementation.
  2. Models and Issues in Data Stream Systems
  3. Philippe Flajolet’s contribution to streaming algorithms : A presentation by Jérémie Lumbroso that visits some of the hostorical perspectives and how it all began with Flajolet
  4. Approximate Frequency Counts over Data Streams by Gurmeet Singh Manku & Rajeev Motwani : One of the early papers on the subject.
  5. [Methods for Finding Frequent Items in Data Streams](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.187.9800&rep=rep1&t
@joost-de-vries
joost-de-vries / gist:8110503
Last active January 1, 2016 07:19
notes from Gilad Brachas talk wrt functor, monad, semigroup, monoid.The observation that a monoid is foldRightable is interesting.
a semigroup is addable
a monoid is foldRightable or aggregatable
(ie addable, zero)
a functor is mappable
a monad is chainable or flatmappable
strong suit of monads:
@edlich
edlich / ClojureVimStateOfTheArt
Last active December 31, 2015 15:49
Current state of the art Clojure with vim description
VIM and Clojure:
The current steps might be (intended for vim beginners).
0A. Install Pathogen for easy vim installation (optional)
- https://github.com/tpope/vim-pathogen
- http://www.vim.org/scripts/script.php?script_id=2332
0B. Install new version of static runtime editing (optional, only if latest version is needed)
- https://github.com/guns/vim-clojure-static