Skip to content

Instantly share code, notes, and snippets.

View agrison's full-sized avatar

Alexandre Grison agrison

View GitHub Profile
@agrison
agrison / decoder.go
Created July 19, 2015 16:41
Go Challenge #1 sample code
package drum
import (
"bytes"
"encoding/binary"
"encoding/hex"
"fmt"
"os"
"strconv"
"strings"
public class TimeTable {
List<String> week = new ArrayList<>();
List<String> saturday = new ArrayList<>();
List<String> sunday = new ArrayList<>();
List<String> nextRides;
public List<String> collectMinutes(String line, String hour) {
return Arrays.asList(line.split(" ")).stream()
.filter(s -> !s.trim().isEmpty()).map(s -> hour + ":" + s.trim()).collect(Collectors.toList());
}
@agrison
agrison / sample.py
Created July 22, 2015 11:37
generate 1M redis SET instructions
from __future__ import print_function
import uuid
sample = []
for _ in xrange(1000000):
sample.append("SET %s %s" % (uuid.uuid4(), uuid.uuid4()))
print("\n".join(sample), file=open('sample.input', 'w+'))
@agrison
agrison / gen-redis-proto.py
Last active August 29, 2015 14:25
Generate 1M redis SET commands using redis protocol
from __future__ import print_function
import uuid, sys
def redis_protocol(cmd):
proto = "*%d\r\n" % len(cmd.split(' '))
for arg in cmd.split(' '):
proto += "$%d\r\n%s\r\n" % (len(arg), arg)
return proto
sample = ""
@agrison
agrison / RedisMassImport.java
Last active August 29, 2015 14:25
Simple spring boot app that inserts 1M random key into redis using one connection and pipelining
package me.grison.redis.foo;
import org.springframework.boot.*;
import org.springframework.boot.autoconfigure.*;
import org.springframework.context.annotation.*;
import redis.clients.jedis.*;
import java.util.UUID;
@ComponentScan
@agrison
agrison / OpenHFTImport.java
Created July 22, 2015 14:40
Sample OpenHFT import using spring boot
package me.grison.openhft.foo;
import net.openhft.collections.SharedHashMap;
import net.openhft.collections.SharedHashMapBuilder;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
@agrison
agrison / foo.go
Created July 23, 2015 07:42
Sample Go app to mass import 1M keys in redis
package main
import (
"fmt"
"log"
"net"
"runtime"
"time"
"github.com/garyburd/redigo/redis"
@agrison
agrison / generate-meta-model.neo4j.cql
Last active September 28, 2015 13:28
Create a meta model of nodes and relationship already in Neo4J.
MATCH (n1)-[r]->(n2)
WITH labels(n1) AS node1_labels, type(r) AS relation_type, labels(n2) AS node2_labels
UNWIND node1_labels as node1_label
UNWIND node2_labels as node2_label
MERGE (n1:Meta_Node {name: node1_label})
MERGE (n2:Meta_Node {name: node2_label})
MERGE (n1)-[:META_RELATIONSHIP {name:relation_type}]->(n2)
@agrison
agrison / challenge.ml
Last active December 13, 2015 19:19
Coding challenge Cédric Beust - OCaml
(*
See: http://beust.com/weblog/2008/06/27/
---
compile & run:
$ ocamlfind ocamlc -package batteries -linkpkg challenge.ml -o challenge
$ ./challenge
*)
open Batteries;
(* Test whether a number have repeating digits *)
(*
See: http://thecodersbreakfast.net/index.php?post/2013/02/18/Coding-challenge-maman-les-petits-avions
---
compile & run:
$ ocamlfind ocamlc -package batteries -linkpkg avions.ml -o avions
$ ./avions
*)
open Batteries;;
(* The syracuse suite *)