Skip to content

Instantly share code, notes, and snippets.

View mail_server_test.t
use strict;
use warnings;
use utf8;
use Test::More;
use Test::TCP;
use Email::MIME;
use Mail::Address;
use Encode;
use IO::Socket::INET;
@kga
kga / keywordlist_furigana2skkdic.pl
Created Jan 11, 2009
Hatena::Keyword to skkdict
View keywordlist_furigana2skkdic.pl
#!/usr/bin/env perl
# keywordlist_furigana2skkdic.pl
# original ruby code
# - http://rubyist.g.hatena.ne.jp/znz/20060924/p1
use strict;
use warnings;
use Encode qw/encode decode/;
use File::Temp;
View gettorrent.pl
#!/usr/bin/env perl
use strict;
use warnings;
use URI;
use WWW::Mechanize;
my $url = URI->new(shift) or die;
my %query = $url->query_form;
my $code = $query{ref};
View get_mov_info.pl
#!/usr/bin/env perl
use strict;
use warnings;
use Perl6::Say;
use IPC::Cmd qw/can_run run/;
use YAML;
my $file = shift || 'sample.mp4';
View Rakefile
PLUGINS = %w{
appendAnchor
auto_source
char-hints-mod2
clock
copy
cpan-search
feedSomeKeys_2
hatena-bookmark-search
hints-yank-paste
View hatenabookmark-favorite-users-ratio.user.js
// ==UserScript==
// @name Hatena::Bookmark - Favorite Users Ratio
// @namespace http://d.hatena.ne.jp/KGA/
// @include http://b.hatena.ne.jp/entry/*
// ==/UserScript==
(function() {
var th = $X('//th[contains(., "お気に入り")]')[0];
if (!th) return;
var favs = $X('count(./following-sibling::td/ul[@class="userlist"]/li)', th, null, XPathResult.NUMBER_TYPE).wrappedJSObject.numberValue;
View hatenabookmark-highlight-favorite-users.user.js
// ==UserScript==
// @name Hatena::Bookmark - Highlight Favorite Users
// @namespace http://d.hatena.ne.jp/KGA/
// @include http://b.hatena.ne.jp/entry/*
// ==/UserScript==
(function() {
var th = $X('//th[contains(., "お気に入り")]')[0];
if (!th) return;
var favs = $X('./following-sibling::td/ul[@class="userlist"]/li/img', th).map(function (img) img.title);
View ldr2graph.pl
#!/usr/bin/env perl
use strict;
use warnings;
use Config::Pit qw/pit_get/;
use LWP::Simple qw//;
use List::Util qw/sum/;
use WebService::Hatena::Graph;
my $hatena_id = 'KGA';
View compare-hatena-graph.user.js
// ==UserScript==
// @name Compare Hatena Graph
// @namespace http://shinten.info/
// @include http://graph.hatena.ne.jp/*
// @require http://gist.github.com/raw/3238/0b1c093e30415be1109f9a36664ebd56e0e7300b
// ==/UserScript==
(function () {
var color = 'rgb(240, 240, 240)';
var graphs = {};
var id = location.href.match(/graph\.hatena\.ne\.jp\/([^\/]+)\//)[1];
View starcat-channel-guide-prettifier.user.js
// ==UserScript==
// @name STARCAT Channel Guide Prettifier
// @include http://tv.starcat.co.jp/channel/weekly/*/*
// ==/UserScript==
var colors = ['#DDFFEE', '#DDFFEE', '#FFFFDD', '#DDF5F5', '#EEEEFF', '#FFEEEE'];
var shows = ['NUMBERS' /* 'HOUSE', 'BONES', 'NCIS', 'NIP/TUCK', 'ブラックファイル' */];
GM_addStyle(colors.map(function (c, i) '.color' + i + ' { background-color: ' + c + '; }').join('\n'));