Skip to content

Instantly share code, notes, and snippets.

View audreyt's full-sized avatar

唐鳳 audreyt

View GitHub Profile
@audreyt
audreyt / fib.js
Created November 9, 2012 19:02 — forked from ry/fib.js
a proper fibonacci server in node. it will light up all your cores.
var http = require('http')
var fork = require('child_process').fork;
function fib(n) {
if (n < 2) {
return 1;
} else {
return fib(n - 2) + fib(n - 1);
}
}
@audreyt
audreyt / pw.ls
Created November 20, 2012 20:56 — forked from gugod/pw.ls
#!/usr/bin/env lsc -d
require! fs
dictwords = lines fs.read-file-sync \/usr/share/dict/words \utf8
pick = -> it[ floor Math.random! * * ]
pwgen = -> [ pick dictwords for til 4 ].join ''
console.log pwgen!
@audreyt
audreyt / rot.ls
Created December 7, 2012 15:26
ROT encode/decode
#!/usr/bin/env lsc
# 使用前請先 curl -O http://cpansearch.perl.org/src/DANKOGAI/Unicode-Unihan-0.04/srctxt/Mandarin.txt
require! fs
c2p = {}; p2c = {}
for l in "#{fs.read-file-sync 'Mandarin.txt'}" / /\n/
[code, pin] = l / /\s+/
continue unless code is /^....$/ # BMP
即使「資訊透明」這個詞很動聽,但將大筆資料放到線上,其實並不是萬靈丹。我很容易騙自己說,我要做只是不斷把資料丟到網路上,某個地方就會有某個人為它們找到用途。畢竟,這是科技人的專長,不是嗎?全球資訊網不是什麼新聞頻道,它是中立的平台,可以支持各式各樣的出版,從科學到色情都有。
但政治並非如此。或許在某個年代,任何議題只要上了紐約時報頭版,就可獲得改善,但那段歲月早已過去,「爆料>調查>揭發真相>提出報告>改革」的管線已經斷裂。科技人做出的成果,新聞工作者未必拿去使用;記者揭露出的問題,政治運動者未必著手解決。成千上萬的人各行其事,也無法造成改變。
眾人為了共同目標聚在一起,才能做出改變,科技人很難獨力完成。但是,如果我們願意以此作為目標,就能盡情揮灑各自的才華和智慧。衡量成功的標準,可以是有多少人的生命因你獲得改善,而不只是有多少人看你架的網站。我們會學到哪些技術真正管用,哪些只是自爽而已。我們會擴大規模、逐步改善。
「資訊透明」可以產生力量,但不能孤芳自賞。所以,讓我們不要再用「我們只負責公佈資料,怎麼利用是別人的工作」這種藉口吧。讓我們決定,我們的工作是在世界上爭取公義。我很期待看到科技人運用手上驚人的資源,來實現這個目標。
-- Aaron Swartz, "When Is Transparency Useful?" (Chapter 25, Open Government)

即使「資訊透明」這個詞很動聽,但將大筆資料放到線上,其實並不是萬靈丹。我很容易騙自己說,我只要不斷把資料丟到網路上,某個地方就會有某個人為它們找到用途。畢竟,這是科技人的專長,不是嗎?全球資訊網不是什麼新聞頻道,它是中立的平台,可以支持各式各樣的出版,從科學到色情都有。

但政治並非如此。或許在某個年代,任何議題只要上了紐約時報頭版,就可獲得改善,但那段歲月早已過去,「爆料—調查—揭發真相—提出報告—改革」的管線已經斷裂。科技人做出的成果,新聞工作者未必拿去使用;記者揭露出的問題,政治運動者未必著手解決。成千上萬的人各行其是,也無法造成改變。

眾人為了共同目標聚在一起,才能做出改變,科技人很難獨力完成。

但是,如果我們願意以此作為目標,就能盡情揮灑各自的才華和智慧。衡量成功的標準, 可以是有多少人的生命因你獲得改善,而不只是有多少人看你架的網站。我們會學到哪些技術真正管用,哪些只是自爽而已。我們會擴大規模、逐步改進。

「資訊透明」可以產生力量,但不能孤芳自賞。所以,讓我們不要再用「我們只負責公佈資料,怎麼利用是別人的工作」這種藉口吧。讓我們決定,我們的工作是在世界上爭取公義。我很期待看到科技人運用手上驚人的資源,來實現這個目標。

@audreyt
audreyt / moe-download.pl
Last active July 31, 2018 03:41
<教育部重編國語辭典修訂本>單字下載腳本雛形
#!/usr/bin/env perl
use utf8;
use Encode;
binmode STDOUT, ':utf8';
for my $x (0xA4 .. 0xF9) {
for my $y (0x40 .. 0x7E, 0xA1 .. 0xFE) {
my $big5 = sprintf('%%%02X%%%02X', $x, $y);
my $char = Encode::decode(big5 => chr($x) . chr($y));
print qq[curl -m 10 --retry 10 --retry-delay 10 'http://dict.revised.moe.edu.tw/cgi-bin/newDict/dict.sh?idx=dict.idx&cond=%5E$big5%24&pieceLen=100&fld=1&cat=&imgFont=1' | piconv -f big5 -t utf8 | perl -ne 'next unless m!^<table width="90%"! .. m!^</table!; s!<span class="key">(.+?)</span>!\$1!g; print' > "$char.html"\n];
@audreyt
audreyt / gist:4646732
Last active December 11, 2015 19:09
Image -> Unicode map for e.g. http://dict.revised.moe.edu.tw/images/9ce3.jpg
9bcd ǖ
9bce ǘ
9bcf ǚ
9bd0 ǜ
9bd4 ề
9cda å
9cdb e̊
9cdc i̊
9cdd o̊
9ce0 ā
#!/usr/bin/env perl
# 用法:perl db2unicode.pl | sqlite3 development.unicode.sqlite3
use strict;
use utf8;
use encoding 'utf8';
die "development.sqlite3 not in current directory!" unless -s "development.sqlite3";
# Origin: https://github.com/g0v/moedict-epub/blob/master/sym.txt
my %map = qw(
8e42 覼
8e49 畧
@audreyt
audreyt / moe.pl
Last active October 2, 2016 17:03
簡單的 ~/bin/moe 命令列搜尋器。
#!/usr/bin/env perl
use constant MoeDatabase => "$ENV{HOME}/w/newdict/development.sqlite3";
for my $arg (@ARGV) {
my $col = 'title';
if ($arg =~ /%$/) {
$arg = "%$arg";
$col = 'def';
}
$arg .= '%' unless $arg =~ s/\$$//;
system sqlite3 => MoeDatabase, qq[
@audreyt
audreyt / tts.sql
Created March 23, 2013 08:29
English column names for ly dump
CREATE TABLE ttsinterpellation (
-- ask-by
"質詢人" text,
-- ask-type
"質詢性質" text,
-- ask-gazette
"質詢公報" text,
-- reason
"案由" text,
-- replied