Skip to content

Instantly share code, notes, and snippets.

View neurodrone's full-sized avatar
🌩️
Powering the cloud!

Vaibhav Bhembre neurodrone

🌩️
Powering the cloud!
View GitHub Profile
@neurodrone
neurodrone / ceph-build-deb.sh
Created December 1, 2017 13:25 — forked from wido/ceph-build-deb.sh
Build Ceph DEB packages
#!/bin/bash
set -e
apt-get install git-core
apt-get update && apt-get install -y git-core debhelper dpkg-dev autoconf automake autotools-dev libbz2-dev cryptsetup default-jdk gdisk javahelper junit4 libaio-dev libatomic-ops-dev libbabeltrace-ctf-dev libbabeltrace-dev libblkid-dev libboost-dev libboost-program-options-dev libboost-system-dev libboost-thread-dev libcurl4-gnutls-dev libedit-dev libexpat1-dev libfcgi-dev libfuse-dev libgoogle-perftools-dev libkeyutils-dev libleveldb-dev libnss3-dev libsnappy-dev liblttng-ust-dev libtool libudev-dev libxml2-dev parted pkg-config python python-argparse python-nose python-virtualenv uuid-dev uuid-runtime xfslibs-dev xfsprogs xmlstarlet yasm zlib1g-dev sdparm hdparm
cd /tmp
git clone https://github.com/ceph/ceph.git
cd ceph
dpkg-buildpackage -uc -us -b -j4
@neurodrone
neurodrone / gist:55c9a30f9382bf8d0a06ac55a710027b
Created February 8, 2017 21:52 — forked from sebsto/gist:9a958ff1c761b8c7c90d
Create IAM User and Attach a Policy using Boto and JSON
import json, boto
# Connect to IAM with boto
iam = boto.connect_iam(ACCESS_KEY, SECRET_KEY)
# Create user
user_response = iam.create_user('aws-user')
# Create Policy
policy = { 'Version' : '2012-10-17'}
@neurodrone
neurodrone / grpc_installation.md
Last active December 15, 2016 22:25
Steps for installing gRPC on your dev environment.

GRPC Installation (go1.6)

  1. Follow instructions on https://github.com/google/protobuf/releases/tag/v3.0.0-beta-2 to install protoc v3.0.0.
  2. go get -u github.com/golang/protobuf/{proto,protoc-gen-go}
  3. go get -u google.golang.org/grpc (might need to run go get -u golang.org/x/net/http2 if http2 errors are observed)
@neurodrone
neurodrone / latency.txt
Last active August 29, 2015 14:14 — forked from jboner/latency.txt
Latency Comparison Numbers
--------------------------
L1 cache reference 0.5 ns
Branch mispredict 5 ns
L2 cache reference 7 ns 14x L1 cache
Mutex lock/unlock 25 ns
Main memory reference 100 ns 20x L2 cache, 200x L1 cache
Compress 1K bytes with Zippy 3,000 ns
Send 1K bytes over 1 Gbps network 10,000 ns 0.01 ms
Read 4K randomly from SSD* 150,000 ns 0.15 ms
### Keybase proof
I hereby claim:
* I am neurodrone on github.
* I am neurodrone (https://keybase.io/neurodrone) on keybase.
* I have a public key whose fingerprint is 5B8F FA30 CBB4 1E79 33A6 EFEA CD03 ECE3 08F4 180B
To claim this, I am signing this object:
def namedlist(typename, field_names):
"""Returns a new subclass of list with named fields.
>>> Point = namedlist('Point', ('x', 'y'))
>>> Point.__doc__ # docstring for the new class
'Point(x, y)'
>>> p = Point(11, y=22) # instantiate with positional args or keywords
>>> p[0] + p[1] # indexable like a plain list
33
>>> x, y = p # unpack like a regular list
@neurodrone
neurodrone / gist:6694742
Created September 25, 2013 03:10
Quick pack
/*
usage:
pack(unsigned char *buf, const char *fmt, ...);
similar to sprintf():
put all arguments in "..." into the buffer, according to the format
string "fmt", in a way that they can be easily retrieved with unpack()
Twitter is rarely down these days, but ...
http://i.imgur.com/AEFzDX7.png
#Your slightly pointy-bearded boss has assigned you to write software to find the best songs from different music albums. And the software should be finished in an hour. But don’t panic, you don’t have to solve the problem of writing an AI with good taste. At your disposal is the impeccable taste of a vast horde of long-tailed monkeys. Well, at least almost. The monkeys are not very communicative (or rather, you’re not sure which song “Ook!” is supposed to refer to) so you can’t ask them which songs are the best. What you can do however is to look at which songs the monkeys have listened to and use this information to deduce which songs are the best.
#At first, you figure that the most listened to songs must be the best songs. However, you quickly realize that this approach is flawed. Even if all songs of the album are equally good, the early songs are more likely to be listened to more often than the later ones, because monkeys will tend to start listening to the first song, listen for a few songs and then,
/* Copied, Pasted and summarized from ps' source code.
You can use sysctl to get other process' argv.
*/
#include <sys/sysctl.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define pid_of(pproc) pproc->kp_proc.p_pid