Skip to content

Instantly share code, notes, and snippets.

View Pr0methean's full-sized avatar

Chris Hennick Pr0methean

  • Seattle
  • 13:27 (UTC -07:00)
View GitHub Profile
import java.lang.reflect.AccessibleObject;
import java.lang.reflect.Method;
import org.objenesis.Objenesis;
import org.objenesis.ObjenesisStd;
import sun.misc.Unsafe;
public class Main {
private static final Objenesis OBJENESIS = new ObjenesisStd();
public static void main(String[] args) throws ReflectiveOperationException {
@Pr0methean
Pr0methean / RandomDemo.java
Last active March 25, 2020 18:13
A program to visually demonstrate the poor randomness of some bits of java.util.Random.nextInt() output.
package io.github.pr0methean.medium;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.Random;
import java.util.concurrent.ThreadLocalRandom;
import javax.imageio.ImageIO;
public class RandomDemo {
@Pr0methean
Pr0methean / UninterruptibleTimeoutTest_.idea_$PRODUCT_WORKSPACE_FILE$
Created August 21, 2019 20:44
Simple test to prove that TestNG tests can still time out while uninterruptible.
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="masterDetails">
<states>
<state key="ProjectJDKs.UI">
<settings>
<last-edited>12</last-edited>
<splitter-proportions>
<option name="proportions">
<list>
@Pr0methean
Pr0methean / ReinventTheCreateDirectoriesWheel.java
Created May 29, 2018 04:01
Reinvented Files.createDirectories() wheel
Files.walkFileTree(srcPath, new FileVisitor<Path>() {
@Override
public FileVisitResult preVisitDirectory(Path dir,
BasicFileAttributes attrs) throws IOException {
Path target = destPath.resolve(srcPath.relativize(dir));
if (!Files.exists(target)) {
Files.createDirectory(target);
}
return FileVisitResult.CONTINUE;
}
@Pr0methean
Pr0methean / style-prs.sh
Last active January 2, 2018 06:26
Shell script for splitting a pull request
#!/bin/bash
new_branch() {
ID=$(cat /proc/sys/kernel/random/uuid)
git checkout dev
git branch ${ID}
git checkout ${ID}
}
try_build() {
mvn -q -DskipTests clean test-compile