Skip to content

Instantly share code, notes, and snippets.

View joa's full-sized avatar

Joa Ebert joa

View GitHub Profile
@joa
joa / Main.java
Created February 7, 2014 12:28
Selecting JVM arguments for a simple Hello World program
class Main {
public static void main(final String[] args) {
System.out.println("Hello World!");
}
}
@joa
joa / Dockerfile
Last active October 19, 2018 12:00
in-cluster dh param generation with kubernetes and rbac
FROM alpine:latest as builder
WORKDIR /usr/local/bin
RUN apk add --no-cache curl && \
export KUBECTL_VERSION=$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt) && \
curl -sLO https://storage.googleapis.com/kubernetes-release/release/${KUBECTL_VERSION}/bin/linux/amd64/kubectl && \
chmod +x kubectl
FROM alpine:latest
@joa
joa / code.js
Created June 6, 2013 12:17
Gmail Life Saver
function archiveInbox() {
var query = 'label:inbox is:read older_than:28d -label:unanswered -label:unread';
var batchSize = 100;
while(GmailApp.search(query, 0, 1).length == 1) {
GmailApp.moveThreadsToArchive(GmailApp.search(query, 0, batchSize));
}
}
@joa
joa / go.scala
Created June 1, 2011 11:12
Go Channels in Scala
package go
import java.util.concurrent.{
BlockingQueue => JBlockingQueue,
ArrayBlockingQueue => JArrayBlockingQueue
}
object Channel {
def empty[A]: Channel[A] = new BlockingChannel()
def make[A]: Channel[A] = make(1)
@joa
joa / StackBlur.java
Last active February 20, 2018 12:28
Stackblur algorithm by Mario Klingemann (http://www.quasimondo.com/StackBlurForCanvas/StackBlurDemo.html) Based on C++ implementation by Victor Laskin (http://vitiy.info/stackblur-algorithm-multi-threaded-blur-for-cpp/)
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
/**
*
*/
public final class StackBlur {
private static final int PARALLEL_THRESHOLD = 2048 * 2048;
@joa
joa / keybase.md
Created February 22, 2017 20:22
keybase.md

Keybase proof

I hereby claim:

  • I am joa on github.
  • I am joa (https://keybase.io/joa) on keybase.
  • I have a public key whose fingerprint is 5435 66F5 CEFD 8CD1 B9DF CE65 BD93 DD10 BF67 5F0F

To claim this, I am signing this object:

@joa
joa / glc_circles.js
Created January 6, 2016 12:12
glc circles
function onGLC(glc) {
glc.loop();
glc.size(400, 400);
glc.setDuration(2);
glc.setFPS(60);
glc.setMode('single');
glc.setEasing(false);
var list = glc.renderList,
width = glc.w,
height = glc.h,
@joa
joa / gist:8472165
Created January 17, 2014 11:47
Calling super method of an instance does not work in Java, unless you call it on the this pointer from within a Class. C++ even allows you to do this: Derived* x = new Derived(); x->Base::meth();
class Base {
void meth() {
System.out.println("Base::meth");
}
}
class Derived extends Base {
public static void main(String[] args) {
Base x = new Derived();
x.meth();
@joa
joa / Shadowing.java
Created December 15, 2013 17:20
Shadowing fun in Java The first references to x are this.x and afterwards the local variable. The code looks exactly the same but does something completely different.
class Shadowing {
private float x;
public Shadowing(float x) {
this.x = x;
}
public void foo() {
if(x < 0.5f) {
x = Math.round(x);
@joa
joa / gist:7446637
Created November 13, 2013 10:07 — forked from anonymous/gist:7446622
static int[] t = {0, 5, 1, 6, 4, 3, 2, 7};
int foo(final byte value) {
int x = value & 0xff;
x |= x >> 1;
x |= x >> 2;
x |= x >> 4;
x *= 0x1d;
x &= 0xff;
x >>= 5;