Skip to content

Instantly share code, notes, and snippets.

@boogie
boogie / gist:89d5d31577ea9529e6bf
Last active August 29, 2015 14:24
CentOS 6.4 - Zookeeper PHP extension
mkdir zookeeper
cd zookeeper
curl -O https://cloud.github.com/downloads/globocom/zookeeper-centos-6/libzookeeper-3.4.3-2.x86_64.rpm
curl -O https://cloud.github.com/downloads/globocom/zookeeper-centos-6/libzookeeper-devel-3.4.3-2.x86_64.rpm
sudo rpm -ivh libzookeeper-3.4.3-2.x86_64.rpm
sudo rpm -ivh libzookeeper-devel-3.4.3-2.x86_64.rpm
sudo yum install git
sudo yum install gcc gcc-c++ kernel-devel
sudo yum install php-devel
@boogie
boogie / receive.js
Created May 21, 2017 07:43
WRONG implementation: RabbitMQ client closes the connection after 2 secs
#!/usr/bin/env node
'use strict';
const amqp = require('amqplib');
const sleep = async (ms) => new Promise(resolve => setTimeout(resolve, ms));
(async () => {
const conn = await amqp.connect('amqp://localhost:9520');
@boogie
boogie / receive.js
Created May 21, 2017 12:25
BETTER implementation with a "processing counter": RabbitMQ client closes the connection after 2 secs
#!/usr/bin/env node
'use strict';
const amqp = require('amqplib');
const sleep = async (ms) => new Promise(resolve => setTimeout(resolve, ms));
(async () => {
let processing = 0;
@boogie
boogie / sum_and_averge.js
Created January 22, 2019 04:35
Calculating an array's sum and average
const numbers = [1, 4, 3, 5, 4];
// sum with reduce and first value
numbers.reduce((sum, value) => sum + value, 0); // 17
// sum with reduce, but missing first value
numbers.reduce((sum, value) => sum + value); // 17
// average with reduce, using extra function params
numbers.reduce((average, value, index, array) => average + value / array.length, 0); // 3.4
@boogie
boogie / font5x8.js
Created May 31, 2020 08:31
Espruino custom 5x8 font
const font5x8 = atob("AAAAAAB82vLafHzW8tZ8OHw+fDgYPH48GDjqvuo4OHr+ejgAGDwYAP/nw+f/ABgkGAD/59vn/wwSXGBwZJSelGQC/qCg4AL+oKT8WjznPFr+fDg4EBA4OHz+KET+RCj6+gD6+mCQ/oD+AGaRqVYGBgYGBilF/0UpECB+IBAIBH4ECBAQVDgQEDhUEBB4CAgICDB4MHgwDBx8HAxgcHxwYAAAAAAAAAD6AAAA4ADgACj+KP4oJFT+VEjEyBAmRmySagQKABDgwAAAOESCAACCRDgAVDj+OFQQEHwQEAABDgwAEBAQEBAAAAYGAAQIECBAfIqSonwAQv4CAE6SkpJihIKSsswYKEj+COSioqKcPFKSkoyChIiQ4GySkpJsYpKSlHgAACgAAAACLAAAABAoRIIoKCgoKACCRCgQQICakGB8grqacj5IiEg+/pKSkmx8goKCRP6CgoJ8/pKSkoL+kJCQgHyCgorO/hAQEP4Agv6CAAQCgvyA/hAoRIL+AgICAv5AOED+/iAQCP58goKCfP6QkJBgfIKKhHr+kJiUYmSSkpJMwID+gMD8AgIC/PgEAgT4/AIcAvzGKBAoxsAgHiDAhpqSssIA/oKCgkAgEAgEAIKCgv4gQIBAIAICAgICAMDgEAAEKioeAv4UIiIcHCIiIhQcIiIU/hwqKioYABB+kEAYJSU5Hv4QICAeACK+AgAEAgK8AP4IFCIAAIL+AgA+IB4gHj4QICAeHCIiIhw/GCQkGBgkJBg/PhAgIBASKioqJCAg/CIkPAICBD44BAIEODwCDAI8IhQIFCIyCQkJPiImKjIiABBsggAAAO4AAACCbBAAQIBAIEA8ZMRkPHiFhYZIXAICBF4cKiqqmoSqqp6CRCoqHkKEqioeAgQqqp4CMHhKTkicqqqqmpwqKiqanKoqKhoAAKI+ggBAor5CAICiPgK+SIhIvg8UpBQPPiqqogAEKio+Kj5QkP6STJKSkkxcIiIiXExSEhIMXI