Skip to content

Instantly share code, notes, and snippets.

@jawher
jawher / Immanix.java
Created December 27, 2010 16:00
Immanix sample
StaxMatcher<String> value = start("value").thenr(chars()).thenl(end("value"));
StaxMatcher<String> extra = start("extra").thenr(chars()).thenl(end("extra"));
StaxMatcher<Tuple2<String, String>> entry = start("entry").thenr(value).then(extra).thenl(end("entry"));
Mapper<Void> execEntry = new Mapper<Tuple2<String, String>, T>(entry) {
public Void process(Tuple2<String, String> data) {
// insert data into the database
return null;
grammar ImmanixToStringDebug;
options {
output=AST;
ASTLabelType=CommonTree;
}
p : m;
m : (LP! binop RP! rep^?) | (LB! binop RB!) |SM;
binop : m (op^ m)*;
@jawher
jawher / google-bookmarks.js
Created December 17, 2010 13:34
Bookmarklet "Google Bookmarks"
javascript:(function(){var a=window,b=document,c=encodeURIComponent,d=a.open("http://www.google.com/bookmarks/mark?op=edit&output=popup&bkmk="+c(b.location)+"&title="+c(b.title),"bkmk_popup","left="+((a.screenX||a.screenLeft)+10)+",top="+((a.screenY||a.screenTop)+10)+",height=420px,width=550px,resizable=1,alwaysRaised=1");a.setTimeout(function(){d.focus()},300)})();
@jawher
jawher / FsItem.java
Created December 3, 2010 16:03
GWT JSNI
import com.google.gwt.core.client.JavaScriptObject;
public final class FsItem extends JavaScriptObject {
protected FsItem() {
}
public native FsItem init(boolean folder, String absoluteName, String name, int size) /*-{
this.folder = folder;
this.absoluteName = absoluteName;
this.name = name;
@jawher
jawher / GfeResources.java
Created December 3, 2010 15:59
Configuring Jersey with a servlet container + JSON
import org.codehaus.jackson.jaxrs.JacksonJsonProvider;
import javax.ws.rs.core.Application;
import java.util.HashSet;
import java.util.Set;
public class GfeResources extends Application {
@Override
public Set<Object> getSingletons() {
Set<Object> res = new HashSet<Object>();
@jawher
jawher / GfeApp.java
Created December 3, 2010 15:56
Configuring Restlet with a servlet container + using the JAX-RS API + JSON encoding
import org.restlet.Context;
import org.restlet.ext.jaxrs.JaxRsApplication;
import javax.ws.rs.core.Application;
import java.util.HashSet;
import java.util.Set;
import org.codehaus.jackson.jaxrs.JacksonJsonProvider;
class GfeResources extends Application {
@Override
#!/bin/bash
PID=`ps x | grep libflashplayer.so | grep -v grep | awk '{print $1}'`
FD=`lsof -p $PID | grep Flash | awk '{print $4}' | sed 's/u$//'`
while IFS=' ' read -ra ADDR; do
for x in "${ADDR[@]}"; do
echo "cp /proc/$PID/fd/$x ~"
done
done <<< "$FD"
package jawher.moulder.examples;
import static jawher.moulder.moulds.Moulds.*;
import java.util.Arrays;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.junit.Before;
import org.junit.Test;
package jawher.moulder.examples;
import static jawher.moulder.moulds.Moulds.*;
import java.util.Arrays;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.junit.Before;
import org.junit.Test;
Collection<Link> links = Link.select();
e.register("ul#content > li", new Repeater<Link>(
new SimpleValue<Iterable<Link>>(links)), new SubTemplator()
.register("ul.tags li", new Repeater<String>(
new TransformValue<Iterable<String>, Link>(
new ElementDataValue<Link>()) {
@Override
protected Iterable<String> transform(Link s) {