Skip to content

Instantly share code, notes, and snippets.

package servlet;
import clojure.lang.RT;
import clojure.lang.Var;
import javax.servlet.ServletException;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@eungju
eungju / ss.py
Created September 20, 2015 05:59
Cancelling accept by signal.
import socket
import signal
server = None
def sigusr1_handler(signum, frame):
server.close()
signal.signal(signal.SIGUSR1, sigusr1_handler)
@eungju
eungju / moin2gitit.rb
Created December 3, 2010 14:53
Copy pages from MoinMoin to gitit
#!/usr/bin/env ruby
require 'fileutils'
if ARGV.length != 2
puts "Usages: #{$0} <moin pages directory> <gitit wikidata directory>"
exit 1
end
from_dir = File.expand_path ARGV[0]
@eungju
eungju / download.rb
Created January 6, 2011 13:53
Download House M.D. Transcripts
#!/usr/bin/env ruby
require 'rubygems'
require 'hpricot'
require 'open-uri'
INDEX_PAGE = "http://community.livejournal.com/clinic_duty/12225.html"
(open(INDEX_PAGE) { |f| Hpricot(f) }/"table > tbody > tr > td > a").each do |a|
#Skip season links
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Types;
import java.util.List;
import javax.sql.DataSource;
public class FooDao extends JdbcDaoSupport {
private final String COLUMNS = "id a b";
private final RowMapper<Foo> rowMapper = new RowMapper<Foo>() {
package geojson;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonSerializationContext;
import com.google.gson.JsonSerializer;
import org.geotools.feature.FeatureCollection;
import org.geotools.feature.FeatureIterator;
import org.opengis.feature.Feature;
@eungju
eungju / JdbcTemplate.java
Created July 8, 2011 11:34
Poor man's JdbcTemplate
import java.util.List;
import com.google.common.base.Function;
public interface JdbcTemplate {
<T> List<T> query(String sql, Object[] args, int[] argTypes, RowMapper<T> rowMapper);
<T> T queryFirst(String sql, Object[] args, int[] argTypes, RowMapper<T> rowMapper);
int queryForInt(String sql, Object[] args, int[] argTypes);
<T> void eachDo(String sql, Object[] args, int[] argTypes, RowMapper<T> rowMapper, Function<T, Void> block);
int update(String sql, Object[] args, int[] argTypes);
@eungju
eungju / Pic.hs
Created August 8, 2011 15:40
PIC plugin for Gitit
module Pic (plugin) where
-- This plugin allows you to include a PIC diagram
-- in a page like this:
--
-- ~~~ {.pic name="diagram1"}
-- box "box"
-- ~~~
--
-- The "pic2png" executable must be in the path.
@eungju
eungju / run.clj
Created September 6, 2011 14:07
stdio test runner
(ns markup.test
(:use (clojure.java shell)))
(defn run-test [name input expected dut]
(let [actual (:out (sh dut :in input))]
(if (= actual expected)
:pass
:fail)))
(defn print-plan [tests]
@eungju
eungju / look-and-say.clj
Created September 21, 2011 04:42
Look-and-say sequence
(defn look-and-say [input]
((fn [input acc]
(if (empty? input)
(reverse acc)
(let [[x & xs] input [i n & as] acc]
(if (= x i)
(recur xs (list* x (inc n) as))
(recur xs (list* x 1 acc))))))
(rest input) [(first input) 1]))