Skip to content

Instantly share code, notes, and snippets.

View chrisvest's full-sized avatar
🍉

Chris Vest chrisvest

🍉
View GitHub Profile
@chrisvest
chrisvest / ThreadLocalWeakRefTest.java
Created July 20, 2014 00:46
ThreadLocals and weak references
import org.junit.Test;
import java.lang.ref.WeakReference;
import static org.junit.Assert.assertNull;
public class ThreadLocalWeakRefTest {
/**
* Many Java web servers and containers go out of their way to find and null
* out ThreadLocals that an application might have created. Question is, is
@chrisvest
chrisvest / Notes.md
Created June 14, 2012 20:56 — 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 rednaxelafx@gmail.com

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.

This

@chrisvest
chrisvest / CodeGenMeta.java
Created March 30, 2014 14:53
Example showing how to generate, compile, load and run Java programs at run-time.
import javax.tools.*;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.lang.reflect.Method;
import java.net.URI;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
@chrisvest
chrisvest / configuration.nix
Created June 30, 2018 08:52
NixOS configuration for Lenovo P52s laptop
# 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.
./hardware-configuration.nix
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 {
[chris@flowerpot:~]$ git clone https://github.com/spacejam/rio.git
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.

Usage

Copy to /etc/init.d:

# replace "$YOUR_SERVICE_NAME" with your service's name (whenever it's not enough obvious)
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
uname -a && echo $'O_RDONLY\nO_RDWR\nSEEK_SET\nSEEK_END\nEBADF\nEINVAL\nENXIO\nEOVERFLOW\nESPIPE\nEACCES\nEAGAIN\nEDQUOT\nEEXIST\nEFAULT\nEINTR\nEIO\nEISDIR\nELOOP\nEMFILE\nENAMETOOLONG\nENFILE\nENOENT\nENOSPC\nENOTDIR\nEOPNOTSUPP\nEROFS\nEFBIG\nEPIPE\nEWOULDBLOCK' | gcc -imacrosunistd.h -imacrosfcntl.h -imacrossys/errno.h -E - | tail -n 29
void popAll( Consumer<Object> consumer ) {
Node nodes = stack.getAndSet( END );
while ( nodes != END ) {
consumer.accept( nodes.value );
Node next;
do {
next = nodes.next;
} while ( next == null );
nodes = next;
}