apt-get update
# We want to make ensure to allow all established connections and on-going sessions through the firewall, otherwise, the firewall would block the current SSH session
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
# Then use the following rule to block incoming port 22 (SSH)
iptables -A INPUT -p tcp --destination-port 22 -j DROP
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
curl -Ls http://bit.ly/2cTytMP|jq -r '.[].uuid'| xargs -I{} -n1 echo "http://cfp.scala.io/api/conferences/ScalaIOFR2016/speakers/{}"| xargs curl -s {}| jq -r '.acceptedTalks[].title' |
Using Give a try and bench ScyllaDB (Cassandra-compatible C++ db, 10x faster) with two lines of docker
Setup:
- ScyllaDb 1.0.3
- Docker version 1.9.1-cs2, build 4ade326
- Dedibox XC SSD 2016
- 1x Intel® C2750 (Avoton) - 8 C / 8T @2.4 Ghz x64, VT-x, AES-NI
- 16 GB DDR3
- 250 GB SSD
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
type, total ops, op/s, pk/s, row/s, mean, med, .95, .99, .999, max, time, stderr, errors, gc: #, max ms, sum ms, sdv ms, mb | |
total, 3691, 3691, 3691, 3691, 1.1, 0.7, 4.3, 8.5, 12.1, 14.2, 1.0, 0.00000, 0, 0, 0, 0, 0, 0 | |
total, 8360, 4599, 4599, 4599, 0.9, 0.4, 3.3, 9.2, 15.1, 18.8, 2.0, 0.07740, 0, 0, 0, 0, 0, 0 | |
total, 15809, 7387, 7387, 7387, 0.5, 0.3, 1.2, 6.5, 16.1, 23.9, 3.0, 0.17373, 0, 0, 0, 0, 0, 0 | |
total, 26494, 10567, 10567, 10567, 0.4, 0.3, 0.7, 1.2, 10.4, 14.3, 4.0, 0.20454, 0, 0, 0, 0, 0, 0 | |
total, 37227, 10631, 10631, 10631, 0.4, 0.3, 0.8, 1.2, 7.0, 10.2, 5.0, 0.17680, 0, 0, 0, 0, 0, |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# start in one terminal scylla | |
docker run --rm -P -i -t --name=scylla scylladb/scylla | |
# start in another terminal cassandra-stress test | |
docker run --link scylla -it --rm joprice/scylla-tools cassandra-stress write -mode cql3 native -node $(docker inspect -f '{{ .NetworkSettings.IPAddress }}' scylla) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# tested with docker-machine on MacOSX | |
# start zookeeper | |
docker run -d --rm -it -p 2181:2181 digitalwonderland/zookeeper | |
# start kafka | |
docker run -d --rm -it -p 9000:9000 -e ZK_HOSTS="`docker-machine ip default`:2181" -e APPLICATION_SECRET=letmein sheepkiller/kafka-manager |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const {match, when} = require('match-when'); | |
function fact(n){ | |
return match({ | |
[when(0)]: 1, | |
[when()]: (n) => n * fact(n-1) | |
})(n); | |
} | |
fact(10); // 3628800 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function length(list){ | |
return match({ | |
[when([])]: 0, | |
[when()]: ([head, ...tail]) => 1 + length(tail) | |
})(list); | |
} | |
length([1, 1, 1]); // 3 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[2, 4, 1, 2].map(match({ | |
[when(1)]: "one", | |
[when(2)]: "two", | |
[when()]: "many" | |
})); | |
// [ 'two', 'many', 'one', 'two' ] |
I hereby claim:
- I am fgribreau on github.
- I am fgribreau (https://keybase.io/fgribreau) on keybase.
- I have a public key whose fingerprint is 5979 F08D 8622 0A90 8A68 AA2B 33AF 768D F5E0 57AA
To claim this, I am signing this object: