Skip to content

Instantly share code, notes, and snippets.

View agrison's full-sized avatar

Alexandre Grison agrison

View GitHub Profile
@agrison
agrison / api.json
Created September 28, 2016 17:59
Master Component in Java & Spring
[
{
"id":"266d9729-7678-4e5d-8ddb-40d2c5631d0c",
"url":"http://random.cat/i/065_-_AhrGPRl.gif"
},
{
"id":"ccaa6a40-d3a5-4761-8f85-ca9e5ad8623a",
"url":"http://random.cat/i/dDVns.gif"
},
{
@agrison
agrison / Spark.java
Created October 30, 2016 16:23
spark java 8 count
JavaRDD<String> textFile = sc.textFile("hdfs://...");
JavaPairRDD<String, Integer> counts = textFile
.flatMap(line -> Arrays.asList(line.split(" ")))
.mapToPair(w -> new Tuple2<>(w, 1))
.reduceByKey((x, y) -> x + y);
counts.saveAsTextFile("hdfs://...");
#define GRID "\t\t+-------+-------+-------+\n" \
"\t\t| | | |\n" \
"\t\t| %s | %s | %s |\n" \
"\t\t| 1| 2| 3|\n" \
"\t\t+-------+-------+-------+\n" \
"\t\t| | | |\n" \
"\t\t| %s | %s | %s |\n" \
"\t\t| 4| 5| 6|\n" \
"\t\t+-------+-------+-------+\n" \
"\t\t| | | |\n" \
@agrison
agrison / grid.h
Created May 16, 2018 08:43
Tic tac toe
#ifndef TICTACTOE_GRID_H
#define TICTACTOE_GRID_H
#define COLOR1 "\x1B[32m"
#define COLOR2 "\x1B[35m"
#define NORMAL "\x1B[0m"
#define GRID "\t\t+-------+-------+-------+\n" \
"\t\t| | | |\n" \
"\t\t| %s | %s | %s |\n" \
@agrison
agrison / runp-timeout.clj
Created October 14, 2019 13:41
runp! runs a given function on a given collection in parallel.
(defn runp!
"Runs the function `f` in parallel on the given collection `coll`.
It will use (by default) the same numbers of threads as there are cores available on the system.
You can set a specific number of threads using `:threads` waits maximum `:timeout` milliseconds."
([f coll {:keys [threads timeout] :or {threads (.availableProcessors (Runtime/getRuntime))}}]
(let [pool (java.util.concurrent.Executors/newFixedThreadPool threads)
tasks (map (fn [e] (fn [] (f e))) coll)]
(try
(doseq [future (.invokeAll pool tasks)]
(.get future))
@agrison
agrison / monoid.clj
Created October 21, 2019 14:55
Write a function that takes the identity and the 2-arg case and returns a new function that implements the monoid pattern
(defn monoid [id f]
(fn
([] id)
([a] (f id a))
([a b] (f a b))
([a b & more] (reduce f (f a b) more))))
@agrison
agrison / foo.md
Last active June 25, 2020 18:38
XSLT + EDN = XDN \o/

XDN

XDN is a Clojure(script) library for transforming EDN to EDN using EDN.

I shouldn't have done that.

Quick Start

Imagine you have this