Skip to content

Instantly share code, notes, and snippets.


Chris Vest chrisvest

View GitHub Profile
package com.tinymolly;
import java.awt.*;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Queue;
import java.util.Set;
public class Main {
chrisvest /
Created Jun 14, 2012 — forked from rednaxelafx/JDK5u22_client.log
PrintCompilation on different versions of HotSpot VM

About PrintCompilation

This note tries to document the output of PrintCompilation flag in HotSpot VM. It was originally intended to be a reply to a blog post on PrintCompilation from Stephen Colebourne. It's kind of grown too big to fit as a reply, so I'm putting it here.

Written by: Kris Mok

Most of the contents in this note are based on my reading of HotSpot source code from OpenJDK and experimenting with the VM flags; otheres come from HotSpot mailing lists and other reading materials listed in the "References" section.

Creative Commons License
This <span xmlns:dct="" href="" rel="dct:type

View output.txt
[chris@flowerpot:~]$ git clone
Cloning into 'rio'...
remote: Enumerating objects: 22, done.
remote: Counting objects: 100% (22/22), done.
remote: Compressing objects: 100% (16/16), done.
remote: Total 514 (delta 6), reused 14 (delta 5), pack-reused 492
Receiving objects: 100% (514/514), 112.48 KiB | 643.00 KiB/s, done.
Resolving deltas: 100% (274/274), done.
[chris@flowerpot:~]$ cd rio
[chris@flowerpot:~/rio (master)]$ cargo test

Sample service script for debianoids

Look at LSB init scripts for more information.


Copy to /etc/init.d:

# replace "$YOUR_SERVICE_NAME" with your service's name (whenever it's not enough obvious)
chrisvest /
Created Mar 30, 2014
Example showing how to generate, compile, load and run Java programs at run-time.
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
chrisvest / configuration.nix
Created Jun 30, 2018
NixOS configuration for Lenovo P52s laptop
View configuration.nix
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running ‘nixos-help’).
{ config, pkgs, ... }:
imports =
[ # Include the results of the hardware scan.
View journalctl output on bluetooth trackpad reconnect
Jul 25 11:20:12 flowerpot upowerd[1829]: unhandled action 'unbind' on /sys/devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/bluetooth/hci0/hci0:256/0005:05AC:030E.001B
Jul 25 11:20:13 flowerpot kernel: magicmouse 0005:05AC:030E.001C: unknown main item tag 0x0
Jul 25 11:20:13 flowerpot kernel: input: Touchy-Feely as /devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/bluetooth/hci0/hci0:512/0005:05AC:030E.001C/input/input38
Jul 25 11:20:13 flowerpot kernel: magicmouse 0005:05AC:030E.001C: input,hidraw2: BLUETOOTH HID v1.60 Mouse [Touchy-Feely] on b4:6b:fc:31:1b:3f
Jul 25 11:20:13 flowerpot upowerd[1829]: unhandled action 'bind' on /sys/devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/bluetooth/hci0/hci0:512/0005:05AC:030E.001C
Jul 25 11:20:13 flowerpot upowerd[1829]: treating change event as add on /sys/devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/bluetooth/hci0/hci0:512/0005:05AC:030E.001C/power_supply/hid-d8:96:95:e3:fa:64-battery
View gist:bd9abc6440d78d22ac931e2c54c57ee8
void popAll( Consumer<Object> consumer ) {
Node nodes = stack.getAndSet( END );
while ( nodes != END ) {
consumer.accept( nodes.value );
Node next;
do {
next =;
} while ( next == null );
nodes = next;
void push( Object value ) {
Node node = new Node( value ); = stack.getAndSet( node );
You can’t perform that action at this time.