Tienson Qin@tiensonqin

Father, spurs fan.

2019/04/19Blog: A Bitemporal tale
2019/04/17Enabling iOS Splash Screens for Progressive Web Apps
2019/04/17The problem of managing schemas - O'Reilly Media
2019/04/17Schema evolution in Avro, Protocol Buffers and Thrift — Martin Kleppmann’s blog
2019/04/16Euclidean Geometry | Introduction
2019/04/16Efficient Synchronization of State-based CRDTs | Vitor Enes
2019/04/16A Brief Tour of FLP Impossibility
2019/04/16Distributed consensus revised by Heidi Howard
2019/04/14并发 Hash Map 的实现
2019/04/12Deploying Elixir to AWS Elastic Beanstalk with Docker
2019/04/03Stateful WebSockets with Elixir’s GenStage – Mint Digital – Medium
2019/04/03How Discord handles push request bursts of over a million per minute with Elixir’s GenStage
2019/04/03Maximizing HTTP/2 performance with GenStage – Forza Football Tech Blog
2019/04/03Announcing GenStage - Elixir
2019/04/03Introducing reducees « Plataformatec Blog
2019/03/31I Built a Lisp Compiler - MPOV
2019/03/29今日头条推荐算法原理全文详解
2019/03/28Elasticsearch Performance Tuning Practice at eBay
2019/03/26Distributed Transactional Systems Cannot Be Fast
2019/03/22Immersive Math
2019/03/21Sending Elixir logs to Logstash as JSON
2019/03/20Open Source Doesn’t Make Money Because It Isn’t Designed To Make Money
2019/03/19The Blag — Random Ramblings and Silly Walks
2019/03/19Hello, declarative world
2019/03/14100x faster Postgres performance by changing 1 line | Datadog
2019/03/13SlimTrie: 单机百亿文件的极致索引-设计篇 - OpenACID Blog
2019/03/11Efficient synchronisation of state-based CRDTs – the morning paper
2019/03/10Applied Monotonicity: A Brief History of CRDTs in Riak
2019/03/09Implementing pagination with GraphQL.NET and Relay | Curled Cloudy Code
2019/03/05Is PostgreSQL good enough?
2019/03/02Homomorphic hashing for secure update propagation - Facebook Code
2019/02/26Hardening Kafka Replication - Confluent
2019/02/25Performance Under Load – Netflix Technology Blog – Medium
2019/02/21Immutability Changes Everything - ACM Queue
2019/02/21Majority agreement is not necessary for consensus | Read, Write & Execute
2019/02/21Let's #TalkConcurrency Panel Discussion with Sir Tony Hoare, Joe Armstrong, and Carl Hewitt
2019/02/20A Generalised Solution to Distributed Consensus
2019/02/20Understanding Elixir's recompilation · Milhouse
2019/02/20How Discord Indexes Billions of Messages – Discord Blog
2019/02/18Linux x86 Program Start Up
2019/02/14How we optimized 100 sec elasticsearch queries to be under a sub second. – Abhishek Andhavarapu
2019/02/1430x Faster Elasticsearch Queries | Mixmax Engineering Blog
2019/02/12Favorite OCaml papers?
2019/02/07How to use LISTEN and NOTIFY PostgreSQL commands in Elixir?
2019/02/06Monitoring Erlang Atoms – Klarna Engineering
2019/01/31MXNet GANs with Flans - Nextjournal
2019/01/31Clojure MXNet Introduction - Nextjournal
2019/01/31Erlang Scheduler Details and Why It Matters - Hamidreza Soleimani's Blog
2019/01/30Performance of Rust's match vs. lookup tables
2019/01/30Let's #TalkConcurrency with Joe Armstrong | Erlang Solution blog
2019/01/30Boost message passing between Erlang nodes
2019/01/30A Million WebSockets and Go – freeCodeCamp.org
2019/01/30Lock-free Rust: Crossbeam in 2019 | stjepang.github.io
2019/01/30Building a "Simple" Distributed System - The What — Jack Vanlightly
2019/01/29A simple, possibly correct LR parser for C11
2019/01/28I read a paper: 'In search of an understandable consensus algorithm' (the Raft paper)
2019/01/26Algebraic Effects(-ish Things) in Clojure / Will Acton
2019/01/25Clojure transducers from the ground up: using them in practice.
2019/01/25Clojure transducers from the ground-up: the essence
2019/01/25Building ETL pipelines with Clojure and transducers
2019/01/23Gagallium : Generators, iterators, control and continuations
2019/01/23Optimizing pattern matching
2019/01/23Detecting use-cases for GADTs in OCaml
2019/01/23LIRS: An efficient low inter-reference recency set replacement policy to improve buffer cache performance
2019/01/23Finger Trees - Andrew Gibiansky
2019/01/23Finger trees: a simple general-purpose data structure
2019/01/22Type Theory and Formal Proof: An Introduction
2019/01/19Continuation-Passing Style - COS 326
2019/01/19Separation logic and bi-abduction | Infer
2019/01/16Performance and Profiling
2019/01/16A Nix parser in Ocaml. Part 1: Lexer · pl-rants
2019/01/16A Primer on Database Replication
2019/01/16ASM.OCaml – OCamlPro
2019/01/16Tech Choices I Regret at Spectrum
2019/01/16Algorithms Behind Modern Storage Systems - ACM Queue
2019/01/14Bitcask - A Log-Structured Hash Table for Fast Key/Value Data
2019/01/12Introducing Verified React – Imandra – Medium
2019/01/10Keeping CALM: When Distributed Consistency is Easy
2019/01/09Weak Type Variables | OCamlverse
2019/01/09Optimizing a breadth-first search
2019/01/09I've been writing ring buffers wrong all these years
2019/01/07Cuckoo Filter: Practically Better Than Bloom
2019/01/05Queues Don't Fix Overload
2019/01/05Erlang's Tail Recursion is Not a Silver Bullet
2019/01/05Receiving messages in Elixir, or a few things you need to know in order to avoid performance issues | Erlang Solution blog
2019/01/05A new adaptive accrual failure detector for dependable distributed systems
2019/01/04Bytecode compilers and interpreters | Max Bernstein
2019/01/04Implementation of the Erlang Timer Module | azunyanmoe's blog
2019/01/04Philip2: an Elm-to-ReasonML compiler – Paul Biggar – Medium
2019/01/03OCaml Hash Table Chronicles - A Foo walks into a Bar... - blog by Paul Shved - coldattic.info
2019/01/03Coq: The world's best macro assembler? - Microsoft Research
2019/01/03Backend In the Frontend: Implementing Raft in JS – Matt Ritter
2019/01/03Eff Directly in OCaml
2019/01/03Algorithms by Jeff Erickson
2019/01/02Simple and Efficient Purely Functional Queues and Deques - CHRIS OKASAKI
2019/01/02Case Study: Okasaki’s Lazy Queues
2019/01/02BrainNet: A Multi-Person Brain-to-Brain Interface for Direct Collaboration Between Brains | bioRxiv
2019/01/02Using TLA+ to understand Xen vchan - Thomas Leonard's blog
2018/12/31Field notes on extending the Erlang packet parser
2018/12/31Easy mistakes when writing OCaml C bindings - Brendan Long