Skip to content

Instantly share code, notes, and snippets.

View cowtowncoder's full-sized avatar

Tatu Saloranta cowtowncoder

View GitHub Profile
Started by upstream project "pipeline/publish-the-world" build number 148
originally caused by:
Started by user [ME]
Obtained jenkinsfiles/FFF from git git@XXX
Running in Durability level: PERFORMANCE_OPTIMIZED
Loading library pipeline@release/2.x
Attempting to resolve release/2.x from remote references...
> git --version # timeout=10
using GIT_SSH to set credentials SSH key for Gitlab
> git ls-remote -h git@XXX # timeout=10
@cowtowncoder
cowtowncoder / IapDatabind.java
Created February 5, 2016 05:24
Example of how IAP/ION codec for jvm-serializers could look like
package serializers;
import java.util.Arrays;
import com.jenkov.iap.ion.read.IonObjectReader;
import com.jenkov.iap.ion.write.IonObjectWriter;
import data.media.MediaContent;
/**
@cowtowncoder
cowtowncoder / gist:4e0b2308b1f660b8b855
Created February 4, 2015 18:15
Trie (tr13) builder that uses a LevelDB instance to create a tr13 file to use for reading (note: mem usage linear to result size)
import com.ning.tr13.KeyValueSource;
import com.ning.tr13.impl.bytes.BytesValueReader;
import com.ning.tr13.impl.bytes.SimpleBytesTrieBuilder;
import org.iq80.leveldb.CompressionType;
import org.iq80.leveldb.DB;
import org.iq80.leveldb.DBIterator;
import org.iq80.leveldb.Options;
import org.iq80.leveldb.impl.Iq80DBFactory;
import java.io.*;
@cowtowncoder
cowtowncoder / gist:1bcc39fceb077d9115f7
Created January 12, 2015 23:03
Simple immutable byte[]->Object Trie, in this case for looking up Enum values from raw UTF-8 string
import java.nio.charset.Charset;
import java.util.Arrays;
/**
* Trie container/wrapper, in this case implements Enum-value lookup.
* Sample code to possibly use for streamlined-lookup by dictionary, using
* UTF-8 bytes of {@link Enum#name()} as the key.
*/
public class EnumByBytesLookup<E extends Enum<E>>
{
@cowtowncoder
cowtowncoder / gist:ef6546a3e21ca197c720
Created May 4, 2014 17:49
Simple jvm-serializers codec for Boon JSON
package serializers.json;
import org.boon.json.JsonFactory;
import org.boon.json.ObjectMapper;
import data.media.MediaContent;
import serializers.*;
public class BoonDatabind<T> extends Serializer<T>
{
@cowtowncoder
cowtowncoder / gist:10593062
Last active August 29, 2015 13:59
Trying to grok how implicits bind so that 'properties' is essentially passed/shared
class ModelPropertyParser(cls: Class[_], t: Map[String, String] = Map.empty) (implicit properties: LinkedHashMap[String, ModelProperty]) {
// ...
def parse = Option(cls).map(parseRecursive(_))
def parseRecursive(hostClass: Class[_]): Unit = {
// ... and way, way deeper down the call stack
properties += name -> param
}
...
}
@cowtowncoder
cowtowncoder / lentil-chili.md
Created October 9, 2013 00:16
Lentil Chili Recipe. Code for Food

Lentil Chili (non-vegetarian)

Ingredients

  • 2 lbs Italian sausage
  • 2 medium onions, chopped
  • 1 cup celery, chopped
  • 2 cups lentils
  • 28 oz (2 x 14) of stewed tomatoes
  • 30 oz (2 x 15) of tomato sauce
@cowtowncoder
cowtowncoder / gist:4121515
Created November 20, 2012 21:58
Immutable POJO that Just Works with Jackson
/**
* This class works just fine, although you might not think so at first glance.
* Serialization is easy -- just uses getters, after all -- but how about deser?
* Turns out that:
*
* (a) Since Jackson auto-detects private fields (as long as something else indicates
* presence of a property; here getters do it), and
* (b) JDK (1.5+) allows Reflection to force setting of a 'final' value
*
* it... well, works. Try it for fun!
@cowtowncoder
cowtowncoder / IncrementalMurmur3Hasher
Created August 29, 2012 00:38
Incremental Murmur3/32bit, my first take (has unit tests, seems to work; caveat emptor)
public final class IncrementalMurmur3Hasher
{
protected final static int c1 = 0xcc9e2d51;
protected final static int c2 = 0x1b873593;
protected final static int c3 = 0xe6546b64;
private final int _seed;
/**
@cowtowncoder
cowtowncoder / gist:1453666
Created December 9, 2011 22:48
Reading CSV data as Maps
private int readAll(File inputFile) throws IOException
{
int count = 0;
CsvMapper mapper = new CsvMapper();
// need a Schema just to force use of header line (to get column names)
CsvSchema schema = CsvSchema.builder()
.setUseHeader(true)
.build();
// read CSV as sequence of Objects, binding as regular Map (not POJO)