Skip to content

Instantly share code, notes, and snippets.

@nanto
nanto / pac-server.ps1
Created March 21, 2020 13:20
Serve proxy auto-configuration file on Windows
# Serve proxy auto-configuration file
Param(
[int]$PacPort = 2694,
[int]$SocksPort = 1080
)
# Write your pac file content here:
$pac = [System.Text.Encoding]::UTF8.GetBytes(@"
function FindProxyForURL(url, host) {
@nanto
nanto / convertToHTMLString.js
Created February 5, 2010 00:09
covertToHTMLString
// Original code by Constellation
// http://d.hatena.ne.jp/Constellation/20100203/1265207970
function convertToHTMLString(source, safe) {
if (!source || (source.getRangeAt && source.isCollapsed)) return '';
var range = source.getRangeAt ? source.getRangeAt(0) : null;
var node = range ? range.cloneContents() : source.cloneNode(true);
if (safe) {
var root = range && range.commonAncestorContainer.cloneNode(false)
if (!root || root.nodeType !== root.ELEMENT_NODE)
@nanto
nanto / chrome-files.js
Created January 11, 2011 16:40
Get a list of files from a chrome URL.
/*
* This code is in the public domain.
*
* ChromeFiles.get("chrome://browser/content/")
* => [ "chrome://browser/content/NetworkPanel.xhtml",
* "chrome://browser/content/aboutDialog.css",
* ...,
* "chrome://browser/content/browser.css",
* "chrome://browser/content/browser.js",
* "chrome://browser/content/browser.xul",
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>host of cloned 'a' element</title>
</head>
<body>
<script>
var a = document.createElement('a');
@nanto
nanto / classify.js
Created August 17, 2014 10:21
Emulate 'class' of class-based object-oriented languages.
// classify -- emulate 'class' of class-based object-oriented languages.
//
// This file is in the public domain.
//
// classify(constructor, members)
// classify(constructor, superConstructor)
// classify(constructor, superConstructor, members)
//
// If you specify 'superConstructor', you can call 'callSuper' method in 'constructor'.
//
@nanto
nanto / Emittable.ts
Last active January 15, 2020 01:58
An emitter (observer pattern) implementation to mixin, written in TypeScript.
// An emitter implementation to mixin.
//
// This file is in the public domain.
//
// Usage:
//
// import Emittable from "...";
//
// class MyEmitter implements Emittable {
// on = Emittable.on;
@nanto
nanto / js-unicode-prop-pattern.pl
Created June 5, 2016 02:01
Convert Perl regexp `\p{...}` to JS regexp
# Usage: $0 <property>
#
# Print a JavaScript regular expression pattern
# corresponding to a Perl regular expression pattern `\p{property}`.
#
# See `perldoc perluniprops` for values that can be specified as <property>.
#
# Author: nanto_vi
# License: Public Domain
package main
import "code.google.com/p/go-tour/pic"
func Pic(dx, dy int) [][]uint8 {
ret := make([][]uint8, dy)
for y := range(ret) {
ret[y] = make([]uint8, dx)
for x := range(ret[y]) {
if x % 8 == 0 || y % 8 == 0 {
@nanto
nanto / kyoto-restaurants.txt
Created July 22, 2013 16:44
京都の四条、御池辺りのお店
太郎屋
京のおばんざい
http://tabelog.com/kyoto/A2602/A260201/26000639/
醪音
「英勲」の酒蔵の直営店
http://tabelog.com/kyoto/A2602/A260201/26017974/
ななたに
地鶏ローストチキン
@nanto
nanto / app.psgi
Created March 5, 2013 15:56
$SIG{__DIE__} の設定如何で Text::Xslate の投げる例外が変化するかもしれないというメモ
use Our::App;
use Try::Tiny;
use Devel::StackTrace::WithLexicals;
builder {
enable sub {
my $app = shift;
sub {
my $trace;
local $SIG{__DIE__} = sub {