Entries from 2009-01-01 to 1 year

Iteratorの中で要素を削除するということ

Javaの場合 import java.util.ArrayList; import java.util.List; class Hoge { public static void main(String []args) { List<Integer> samples = new ArrayList<Integer>(); samples.add(0); samples.add(1); samples.add(2); samples.add(3); samples.add(4); samples.add</integer></integer>…

全裸で書き換えるRobot

Pythonから全裸で形態素解析をする - すぎゃーんメモまで出来れば、GAEにあげてGoogle WaveのRobotの機能として使うこともできる。 zenra.pyをちょっと変更してクラスに。 #!/usr/bin/env python # -*- coding: utf-8 -*- from xml.etree import ElementTree…

Pythonから全裸で形態素解析をする

PythonからYahoo日本語係り受け解析で形態素解析をする - すぎゃーんメモの続き。 とりあえず動詞の直前に「全裸で」を挿入するようにしてみた。 #!/usr/bin/env python # -*- coding: utf-8 -*- from xml.etree import ElementTree import sys import urlli…

PythonからYahoo日本語係り受け解析で形態素解析をする

Yahoo!デベロッパーネットワークでアプリケーションIDを登録。 日本語係り受け解析については以下を参考に。 テキスト解析:日本語係り受け解析 - Yahoo!デベロッパーネットワーク http://python.blog-slime.com/2007/07/urllibpost.htmlを参考に書いてみた。…

irssiで全裸で発言するためのプラグイン

全裸で形態素解析をするスクリプト - すぎゃーんメモ を書いたところ、id:mattnさんからリクエストをいただいたので、 http://wassr.jp/user/mattn/statuses/8zaxVULk05 作ってみた。 irssiのプラグインを作る - すぎゃーんメモところから調べ始め。 どうや…

irssiのプラグインを作る

Mac

irssiで全然プラグインとか入れてなかったんだけど、使ってみようとおもってコマンド打ってみた。 Irssi: Unknown command: SCRIPTって言われた。 なんでなんで?ヘルプにだって使えるって書いてあるのにー?と小一時間調べて、ようやく原因が分かった。 Mac…

asunderが短くできない

anarchy golf - asunderに挑戦中。

全裸で形態素解析をするスクリプト

ゲレンデがとけるほどくだらないスクリプト - すぎゃーんメモに引き続き、くだらないスクリプトを。 今度は動詞の前に「全裸で」を挿入する。 #!/opt/local/bin/perl use strict; use warnings; use JSON 'decode_json'; use LWP::Simple 'get'; use Text::M…

ゲレンデがとけるほどくだらないスクリプト

再びMeCabを使ってみた。 MacにてText::MeCabを使う - すぎゃーんメモ 形態素解析を使って適当なnickを作ってWassrに送信するまで - すぎゃーんメモ 今回は形容詞や動詞の前に「ゲレンデがとけるほど」を挿入する。 kohmingサブルーチンに日本語の文章を渡せ…

1行自己紹介ふたたび

マジカルインクリメントによる文字列操作 - すぎゃーんメモ なんか変なの思いついたのでメモ。 perl -le'($_||=ref\0)++while$-++<~0/515+65;print+lc'64bit環境だとダメか?

GoogleWaveを楽しくしてくれるRobot

誰かが書き込むたびにRobotが末尾に「www」を勝手に書き足していく。 #/usr/bin/env python # -*- coding: utf-8 -*- from waveapi import events from waveapi import robot def blipSubmitted(properties, context): blip = context.GetBlipById(proper…

「ぬるぽ」に反応して「ガッ」してくれるRobot

日本語を使った場合、unicodeでマッチし、unicodeでSetTextすれば普通に書き込んでくれるらしい。 #/usr/bin/env python # -*- coding: utf-8 -*- from waveapi import events from waveapi import robot def blipSubmitted(properties, context): blip = co…

RobotでBlipを消す

テストで色々発言したりさせたりするとどんどんゴチャゴチャしてくるので。 #/usr/bin/env python from waveapi import events from waveapi import robot def deleteAll(context): for blip in context.GetBlips(): if not blip.IsRoot(): blip.Delete() de…

オウム返しRobot

誰かの発言を返信として繰り返すだけならこう書くだけ。 #/usr/bin/env python from waveapi import events from waveapi import robot def blipSubmitted(properties, context): blip = context.GetBlipById(properties['blipId']) text = blip.GetDocument…

BBQに参加してきた

id:bose999さんの主催するBBQに参加してきますた。 Google グループ 二宮。遠いけど海が近くて良い所 暑いくらいに晴れていた。夕方から曇ったりしたけどそれほど降られることはなかった VBの経験について語る自己紹介 BBQ用品の品揃えがマジパネぇ 子どもた…

Google Wave Robotを作ってみる

以下を参考にしつつ、何かやってみる。 第2回 ロボットAPI:最速!Google Wave API解説|gihyo.jp … 技術評論社 誰も知らない夜のwaveのrobot - When it’s ready. ライブラリの入手 Python版はこちら。 Google Code Archive - Long-term storage for Google …

Decompose integer into sum of squaresの件

anarchy golf - Decompose integer into sum of squares anarchy golf の出題ミス? - TAKESAKOのはてな出張所 どうやら間違っていたらしく。全然気付かずにゴチャゴチャと書いたヤツが通っていたのでまったく気付きませんでした orz たぶんこんなのを書きま…

七色のワンライナー

perl -e'printf"\e[%dm%s\e[m%c",30+rand 8,chr 32+rand 95while 1'実は8色つかってるけど。 こんだけ。 追記 4年半の時を経て、改良のアドバイスいただきました。 すぎゃーんのやつ、xterm-256 に対応させたほうが色鮮かだしモテるとおもいます perl -e'pr…

Perlスクリプトをワンライナー化するモジュールAcme::OneLinerを作ってみた

GitHubにおいてます。 GitHub - sugyan/Acme-OneLiner: ワンライナー生成モジュール たとえばhello.plというスクリプトを用意して #!/usr/bin/perl use strict; use warnings; print 'Hello world!', "\n"; Acme::OneLinerをuseして実行すると、ワンライナー…

記号プログラムを改変してみる

記号解読にチャレンジ - すぎゃーんメモの続き。 解読できたのなら、ある程度自分で改変することもできるわけで。作ってみた。 #!/usr/bin/perl $^='-^\\\\%+"<&]\\$=/**:.](%_,//;<#)\\^_%$<]&!($;\',}(!?.{[$).^-<@$>]|"~$;\'\\=">{!%$<]$*~$;\'-@]`<#:?',…

記号解読にチャレンジ

Perlで記号プログラミング - TAKESAKOのはてな出張所 に対しての挑戦が。 id:TAKESAKO に挑戦してみる - yujiorama の日記 面白そうなので自分もやってみる。 #!/usr/bin/perl $^='-^\\\\%+"<&]\\$=/**:.](%_,//;<#)\\^_%$=]."\\&=\'?/:$?({/!_})(([=##!-^/\…

Golfにチャレンジ

golfの世界にも触れてみようと思って、チャレンジしてみた。 とりあえずこの問題を。 anarchy golf - paper sizes 一晩考えてみたけど、この程度しか思いつかない >< $c=$a,printf"A%-2d%5dmm x%5dmm ",$_,$a=$b/2||841,$b=$c||1189for 0..10 69B orz 現時…

tieを利用してSTDOUTの出力を弄る

print文でのSTDOUTの出力先を変更する方法 - すぎゃーんメモの続き。 id:mattnさんから「tieを使うのが一般的かと思いますよ」とコメントをいただきました。ありがとうございます。 tieって名前は聞いたことがあったけど、まったく使ったことがなかった。。 …

print文でのSTDOUTの出力先を変更する方法

こういう方法でいいのかな…? #!/opt/local/bin/perl use strict; use warnings; my $out; close STDOUT; open STDOUT, '>', \$out; print "hoge\n"; print "fuga\n"; print "piyo\n"; $out = scalar reverse $out; warn $out, "\n"; $ ./handle.pl oyip agu…

PerlスクリプトのSyntax check

#!/opt/local/bin/perl use strict; use warnings; print "hoge\n"; これをperlコマンドに渡すと普通に実行される。 $ perl hoge.pl hoge perlコマンドで"-c"オプションを使うと、実行されずに文法チェックが行われる。 $ perl -c hoge.pl hoge.pl syntax OK…

SmileyHackathon#5に参加してきた

SmileyHackathon#5 - Smiley Hackathon(仮) id:acotieさんがtwitterで募集していたので脊髄反射的に参加申し込みをして、初参加してきた。 約5時間かけて、結局Emacsのちょっとしたキーバインド設定と、他はGAE/PyでDatastoreのデータを全削除するためのbul…

Subversionで変更されているファイルのみのdiffを表示させる

ちょっと色々気になったので書いてみた。 やりたいこと 「ローカルで修正されたもの」つまり"svn status"で行頭に"M"が表示されるファイルだけを選び、そのdiffを表示させる。"A"や"D"のものは無視する。 簡単に考えると さすがに"svn diff"だけだと"A"や"D"…

GAE/PyでDatastoreのデータを全削除するためのbulkdeleter.pyを書いた

GAE/Pyでbulkloaderを使ってデータをアップロードする - すぎゃーんメモ GAE/Pyでbulkloaderを使ってデータをダウンロード/削除する - すぎゃーんメモ の続き。 そもそもDatastoreからfetchしてきた時点で(この処理はマルチスレッドで行われているっぽい)削…

関数の呼び出し時の処理を入れ替える

関数は、func_codeというattributeにcode objectなるものが入っているそうな。 これが実際に行う処理を持っているようなので、呼び出したときの処理をここで変更することができる。 >>> def hoge(): ... print 'hoge' ... >>> def fuga(): ... print 'fuga' …

GAE/Pyでbulkloaderを使ってデータをダウンロード/削除する

前回は、bulkloaderによるアップロードについて色々調べて試した。 GAE/Pyでbulkloaderを使ってデータをアップロードする - すぎゃーんメモ 今度は、データのダウンロードと削除について調べる。 データをダウンロードする アップロードとほぼ同様に行うこと…