Skip to content

Instantly share code, notes, and snippets.

View akr4's full-sized avatar

UEDA Akira akr4

  • Tokyo, Japan
View GitHub Profile
@akr4
akr4 / gist:2402522
Created April 17, 2012 00:22
固定サイズの Queue
class FixedSizeQueue[A](limit: Int) extends scala.collection.mutable.Queue[A] {
override def +=(elem: A) = {
super.+=(elem)
while (size > limit) { dequeue }
this
@akr4
akr4 / maze.scala
Created July 13, 2012 19:43
A* アルゴリズムで迷路を解く
scala> import maze._
import maze._
scala> val m = Mazes.load(new java.io.File("maze.txt"))
m: maze.Maze = maze.Maze@20ccb51
scala> Mazes.encodeRunLength(m.solve.get)
res0: List[(maze.Direction.Value, Int)] = List((S,1), (E,10), (S,2), (W,31), (N,4), (E,2), (S,2), (E,2), (N,4), (E,7), (N,1))
@akr4
akr4 / gist:3862236
Created October 9, 2012 23:52
Processing with Scala
// modified from http://d.hatena.ne.jp/alpha_neet/20110706/1309901375
import processing.core._
import processing.core.PConstants._
trait Application extends PApplet {
def main(args: Array[String]) {
PApplet.runSketch(Array("title"), this)
}
}
@akr4
akr4 / gist:3999182
Created November 2, 2012 07:09
xsbt: add Hadoop jars to unmanaged classpath
lazy val hadoopHomePath =
Properties.envOrNone("HADOOP_HOME").map { file }.getOrElse(error("please set HADOOP_HOME"))
lazy val main = Project(groupName, file("."),
settings = defaultSettings ++ Seq(
unmanagedClasspath in Compile <<= (unmanagedClasspath in Compile, baseDirectory) map {
(cp, bd) => cp ++ Attributed.blankSeq(hadoopHomePath ** "*.jar" get)
}
)
)
@akr4
akr4 / gist:5497337
Created May 1, 2013 18:44
HTML escape & unescape
(defun unhtml (start end)
(interactive "r")
(save-excursion
(save-restriction
(replace-string "&" "&amp;" nil start end)
(replace-string "<" "&lt;" nil start end)
(replace-string ">" "&gt;" nil start end))))
(defun html (start end)
(interactive "r")
@akr4
akr4 / any2pdf
Last active March 10, 2022 06:18
convert any format supported by Pygments to pdf
#!/bin/sh
# Usage:
# ./any2pdf index.html
# ./any2pdf main.go
#
# Requirements:
# - Pygments
# - ImageMagick
# - wkhtmltopdf
import numpy as np
import chainer
from chainer import cuda, Function, gradient_check, report, training, utils, Variable, Chain
from chainer import datasets, iterators, optimizers, serializers
from chainer import Link, Chain, ChainList
import chainer.functions as F
import chainer.links as L
from chainer.training import extensions
@akr4
akr4 / 1.py
Last active September 28, 2016 02:18
Python's XMLPullParser runs out of memory
import xml.etree.ElementTree as ET
import argparse
arg_parser = argparse.ArgumentParser()
arg_parser.add_argument('in_file')
args = arg_parser.parse_args()
def main(args):
with open(args.in_file) as f:
parser = ET.XMLPullParser(['start', 'end'])
String a = "𠮷";
System.out.println("original: " + a);
System.out.println("length: " + a.length());
System.out.println("decoded: " + a.codePoints().mapToObj(Character::toChars).map(String::valueOf).collect(Collectors.joining(",")));
@akr4
akr4 / gist:3782cba821d7711c724062d3da0df599
Created April 20, 2019 04:38
list all paths from a json
# https://github.com/stedolan/jq/issues/243#issuecomment-48470943
jqpath () {
jq '[path(..)|map(if type=="number" then "[]" else tostring end)|join(".")|split(".[]")|join("[]")]|unique|map("."+.)|.[]'
}