Skip to content

Instantly share code, notes, and snippets.


Vitor Vieira vitorsvieira

View GitHub Profile
vitorsvieira / rust-setup-steps
Last active Jul 14, 2018
Setting up Rust on MacOSX
View rust-setup-steps
1 - curl -sSf | sh
2 - Add $HOME/.cargo/env to the $PATH
3 - Configure components
- rustup default nightly
- rustup self update
- rustup update nightly
- rustup component add rls-preview --toolchain nightly
- rustup component add rust-analysis --toolchain nightly
- rustup component add rust-src --toolchain nightly
- rustup component add rust-docs --toolchain nightly

Thread Pools

Thread pools on the JVM should usually be divided into the following three categories:

  1. CPU-bound
  2. Blocking IO
  3. Non-blocking IO polling

Each of these categories has a different optimal configuration and usage pattern.

vitorsvieira /
Created Nov 4, 2017 — forked from acolyer/
Internet Scale Services Checklist

Internet Scale Services Checklist

A checklist for designing and developing internet scale services, inspired by James Hamilton's 2007 paper "On Desgining and Deploying Internet-Scale Services."

Basic tenets

  • Does the design expect failures to happen regularly and handle them gracefully?
  • Have we kept things as simple as possible?

Advanced Functional Programming with Scala - Notes

Copyright © 2017 Fantasyland Institute of Learning. All rights reserved.

1. Mastering Functions

A function is a mapping from one set, called a domain, to another set, called the codomain. A function associates every element in the domain with exactly one element in the codomain. In Scala, both domain and codomain are types.

val square : Int => Int = x => x * x