Skip to content

Instantly share code, notes, and snippets.

View gburd's full-sized avatar

Greg Burd gburd

View GitHub Profile
@dnet
dnet / tweet.erl
Last active December 19, 2015 18:49
Twitter module for Erlang IRC bot
% depends: https://github.com/dnet/erlang-oauth
% depends: https://github.com/talentdeficit/jsx
-module(tweet).
-export([ircmain/1, ircproc/1, reload/2]).
-define(CONSUMER_KEY, "...").
-define(CONSUMER_SECRET, "...").
-define(ACCESS_TOKEN, "...").
-define(TOKEN_SECRET, "...").
@krestenkrab
krestenkrab / erjang-status-aug15.md
Last active December 22, 2017 18:46
Notes on the current status of Erjang

Elixir on Erjang

The last few weeks I've spent some night hacking time to get Erjang to be able to run Elixir. Here's a short note on the current status for those interested.

The bottom line is that we can now boot the Elixir REPL, it looks like this:

krab$ ./bin/iex 
Warning: could not run smart terminal, falling back to dumb one
Aug 26, 2013 11:11:14 AM erjang.EModuleManager$FunctionInfo$1 invoke
@aphyr
aphyr / -log
Last active December 22, 2015 02:19
In http://www.datastax.com/dev/blog/row-level-isolation and
http://www.datastax.com/dev/blog/atomic-batches-in-cassandra-1-2, Datastax
asserts that batch updates to multiple cells in a single row are
guaranteed to be isolated from concurrent batches:
"Cassandra 1.1 guarantees that if you update both the login and password in the
same update (for the same row key) then no concurrent read may see only a
partial update."
"...the guarantee is that the new login cannot be persisted without the new
@pozorvlak
pozorvlak / crdt.md
Last active February 7, 2021 01:36
CvRDTs are almost as general as they can be.

CvRDTs are (almost?) as general as they can be

What are you talking about, and why should I care?

Now that we live in the Big Data, Web 3.14159 era, lots of people want to build databases that are too big to fit on a single machine. But there's a problem in the form of the CAP theorem, which states that if your network ever partitions (a machine goes down, or part of the network loses its connection to the rest) then you can keep consistency (all machines return the same answer to

# -*- shell-script -*-
function riak_dev_cleanup_stage() {
for d in ~/Projects/riak/dev/dev{2,3,4,5}; do
$d/bin/riak-admin cluster leave;
done
~/Projects/riak/dev/dev1/bin/riak-admin cluster plan
}
@timmytofu
timmytofu / ghcPkgUtils.sh
Last active June 6, 2020 12:02 — forked from simonmichael/gist:1185421
ghc-pkg-clean and ghc-pkg-reset compatible with both zsh and bash
# unregister broken GHC packages. Run this a few times to resolve dependency rot in installed packages.
# ghc-pkg-clean -f cabal/dev/packages*.conf also works.
function ghc-pkg-clean() {
for p in `ghc-pkg check $* 2>&1 | grep problems | awk '{print $6}' | sed -e 's/:$//'`
do
echo unregistering $p; ghc-pkg $* unregister $p
done
}
# remove all installed GHC/cabal packages, leaving ~/.cabal binaries and docs in place.
@nvasilakis
nvasilakis / elementary-post-install
Last active January 2, 2016 08:29
Post-install repos for elementary os
sudo add-apt-repository ppa:birdie-team/daily
sudo apt-get update && sudo apt-get install birdie-granite
sudo add-apt-repository ppa:gotwig/weekly
sudo apt-get update
sudo apt-get install gazette
echo 'Add weather.yahoo.com id to org → pantheon → gazette'
sudo apt-add-repository ppa:versable/elementary-update
sudo apt-get update
sudo apt-get install elementary-tweaks
sudo add-apt-repository ppa:tombeckmann/geary
@sheikhwaqas
sheikhwaqas / setup-mysql.sh
Last active April 1, 2025 18:16
Install MySQL Server on Ubuntu (Non-Interactive Installation)
# Download and Install the Latest Updates for the OS
apt-get update && apt-get upgrade -y
# Set the Server Timezone to CST
echo "America/Chicago" > /etc/timezone
dpkg-reconfigure -f noninteractive tzdata
# Enable Ubuntu Firewall and allow SSH & MySQL Ports
ufw enable
ufw allow 22
@justecorruptio
justecorruptio / 2048.c
Created April 4, 2014 03:49
Tiny 2048 in C!
M[16],X=16,W,k;main(){T(system("stty cbreak")
);puts(W&1?"WIN":"LOSE");}K[]={2,3,1};s(f,d,i
,j,l,P){for(i=4;i--;)for(j=k=l=0;k<4;)j<4?P=M
[w(d,i,j++)],W|=P>>11,l*P&&(f?M[w(d,i,k)]=l<<
(l==P):0,k++),l=l?P?l-P?P:0:l:P:(f?M[w(d,i,k)
]=l:0,++k,W|=2*!l,l=0);}w(d,i,j){return d?w(d
-1,j,3-i):4*i+j;}T(i){for(i=X+rand()%X;M[i%X]
*i;i--);i?M[i%X]=2<<rand()%2:0;for(W=i=0;i<4;
)s(0,i++);for(i=X,puts("\e[2J\e[H");i--;i%4||
puts(""))printf(M[i]?"%4d|":" |",M[i]);W-2
include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <strings.h>
#include <math.h>
#include "stinger_utils/timer.h"
int32_t JumpConsistentHash(uint64_t key, int32_t num_buckets) {
int64_t b= -1, j = 0;