Skip to content

Instantly share code, notes, and snippets.

Georgios Andrianakis geoand

Block or report user

Report or block geoand

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View Kotlin List.collate
fun <T> List<T>.collate(size: Int, step: Int = size): List<List<T>> {
require(size >= 0) {"size must not be negative"}
require(step <= size) {"step must be at most equal to size"}
return collateRec(this, size, step, listOf())
private tailrec fun <T> collateRec(list : List<T>, size: Int, step: Int, accumulator: List<List<T>>) : List<List<T>> {
if(list.isEmpty()) {
return accumulator
geoand /
Created Jul 28, 2016 — forked from staltz/
The introduction to Reactive Programming you've been missing
geoand / iddfs.groovy
Created Apr 28, 2016
Groovy implementation of a simplistic Iterative deepening depth-first search
View iddfs.groovy
import groovy.transform.TailRecursive
import groovy.transform.ToString
@ToString(includePackage = false)
class Node<T> {
T data
List<Node<T>> nodes = []
final builder = new ObjectGraphBuilder(classLoader: getClass().classLoader)
geoand / gist:97b40fc0170df387cb03
Created Feb 12, 2016
List Subsets in Groovy (inspired from Java 8 in Action#13.2.4)
View gist:97b40fc0170df387cb03
def list = [1,4,9]
println subsets(list)
List<List<Integer>> subsets(List<Integer> list) {
if(!list) {
return [[]]
final List<List> directSubs = list.tail().collect {
geoand / gist:79a44ad2128059349ab4
Created Nov 18, 2015
Tshark capture local traffic outgoing TCP or UDP traffic with host resolution
View gist:79a44ad2128059349ab4
tshark -c 50 -NnNC -E header=y -Tfields -e col.Protocol -e ip.dst -e ip.dst_host -e tcp.dstport -e udp.dstport -f "host $(hostname --ip-address) and (tcp or udp) and not (port 53)"
geoand / gist:12f1cc17f802f5e6b263
Last active Nov 10, 2015
Groovy - Guava classical set operations
View gist:12f1cc17f802f5e6b263
@Grab(group='', module='guava', version='18.0')
import static*
def first = ['a', 'b', 'c'] as Set
def second = ['b', 'c', 'd', 'e'] as Set
You can’t perform that action at this time.