totowa(トトワ)で定義文を検索
  
uroboeで英語表記を検索
  

2014-01-23 Thu

ドメインを失効しそうになった

この記事は2014年01月23日に書いた。

うっかりoverlasting.netの費用を払い忘れていて、ドメインを失効しそうになった。
数日プログが見えなかったかも知れない。

プログを書くために入力フォームにアクセスして気がついた。

次に失効するかも知れないのは2017年01月20日[2017-01-20]である。
3年後に気をつけよう。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2014-01-20 Mon

日本の県名にマッチする正規表現

ググってすぐに見つからなかった日本の県名の正規表現を、
主に観賞用としてPerlでRegexp::Assembleを使って生成した。

生成した正規表現は以下。コピペ用。

(?^u:(?:(?:(?:[富岡]|和歌)山|(?:[広徳]|鹿児)島|(?:[石香]|神奈)川|山[口形梨]|
福[井岡島]|[佐滋]賀|宮[城崎]|愛[媛知]|長[崎野]|三重|兵庫|千葉|埼玉|奈良|
岐阜|岩手|島根|新潟|栃木|沖縄|熊本|秋田|群馬|茨城|青森|静岡|高知|鳥取)県|
大(?:分県|阪府)|京都府|北海道|東京都))


使うときはコピペして、xとかで冗長な正規表現を許容するか、改行を消して使う。

生成コードは
https://github.com/overlast/private/blob/master/lang/perl/nlp/wikipedia_ja/generate_prefecture_name_regexp.pl
に置いておいた。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

日本語Wikipedia中の国名にマッチする正規表現

日本語Wikipedia中の国名にマッチする正規表現が欲しかったんだけど、
ググっても見つからなかったので、PerlでRegexp::Assembleを使って生成した。

ソースはWikipediaの国の一覧。
http://ja.wikipedia.org/wiki/%E5%9B%BD%E3%81%AE%E4%B8%80%E8%A6%A7

生成した正規表現は以下。コピペ用。

?^u:(?:ア(?:ル(?:(?:[バメ]ニ|ジェリ)ア|ゼンチン)|ン(?:ティグア・バーブーダ|
[ゴド]ラ)|メリカ(?:連合国南部連合|合衆国)|フ(?:ガニスタン|リカ)|イ[スル]ランド|
ゼルバイジャン|ラブ首長国連邦)|モ(?:ン(?:テネグロ|ゴル国)|ーリ(?:シャス|
タニア)|ル(?:ディブ|ドバ)|(?:ロッ|ナ)コ|ザンビーク)|セ(?:ント
(?:クリストファー・ネイビス|ルシア)|ルビア(?:・モンテネグロ)?|(?:ーシェ|
ネガ)ル)|ス(?:(?:ウェーデ|ペイ|ーダ)ン|リ(?:ランカ|ナム)|ロ(?:バキ|ベニ)ア|
ワジランド|イス)|(?:中(?:華(?:人民共和|民)|央アフリカ共和)|朝鮮民主主義人民共和|
プロイセン王|大韓民)国|マ(?:(?:ケドニア|リ)共和国|ーシャル諸島|ダガスカル|
レーシア|ラウイ|ルタ)|コ(?:ンゴ(?:民主)?共和国|ートジボワール|スタリカ|ロンビア|
ソボ|モロ)|エ(?:(?:ストニ|チオピ|リトリ)ア|(?:ルサルバ|クア)ドル|ジプト)|
イ(?:ンド(?:ネシア)?|ラ[クン]|スラエル|エメン|ギリス|タリア)|ト
(?:(?:リニダード・トバ|ー)ゴ|ル(?:クメニスタン|コ)|ンガ)|パ(?:ラ(?:グアイ|オ)|
プアニューギニア|キスタン|レスチナ|ナマ)|カ(?:(?:ザフスタ|メルー)ン|ーボベルデ|
ンボジア|タール|ナダ)|サ(?:ン(?:トメ・プリンシペ|マリノ)|(?:ウジアラビ|モ)ア)|
バ(?:(?:ーレー|チカ)ン|ングラデシュ|ルバドス|ヌアツ|ハマ)|ブ(?:ル(?:キナファソ|
ガリア|ネイ|ンジ)|ラジル|ータン)|ベ(?:ネズエラ|ラルーシ|トナム|リーズ|ルギー|
ナン)|チ(?:ェコ(?:スロバキア)?|ュニジア|ャド|リ)|ボ(?:(?:スニア・ヘルツェゴビ|
ツワ)ナ|リビア)|リ(?:(?:トアニ|ベリ|ビ)ア|ヒテンシュタイン)|ウ(?:ズベキスタン|
クライナ|ルグアイ|ガンダ)|ニ(?:ュージーランド|カラグア|ジェール|ウエ)|フ
(?:ィ(?:ンランド|リピン|ジー)|ランス)|(?:(?:赤道ギ|ケ)ニ|ユーゴスラビ)ア|キ
(?:(?:プロ|リバ|ルギ)ス|ューバ)|ガ(?:(?:イア|ー)ナ|ンビア|ボン)|オ
(?:ーストラ?リア|マーン|ランダ)|ソ(?:ビエト連邦|ロモン諸島|マリア)|ナ
(?:(?:イジェリ|ミビ)ア|ウル)|ル(?:クセンブルク|ーマニア|ワンダ)|ギ(?:ニア
(?:ビサウ)?|リシャ)|シ(?:エラレオネ|ンガポール|リア)|タ(?:ジキスタン|ンザニア|
イ王国)|ド(?:ミニカ(?:共和)?国|イツ)|グ(?:アテマラ|ルジア|レナダ)|ジ(?:ャマイカ|
ンバブエ|ブチ)|ミ(?:クロネシア連邦|ャンマー)|南(?:アフリカ共和国|スーダン)|ク
(?:ウェート|ロアチア)|ポ(?:ルトガル|ーランド)|東(?:ティモール|ドイツ)|ザ
(?:イール|ンビア)|ハ(?:ンガリー|イチ)|ペル(?:シア帝国|ー)|ロ(?:ーマ帝国|シア)|
(?:ネパー|ツバ)ル|ラ(?:トビア|オス)|レ(?:バノン|ソト)|ホンジュラス|デンマーク|
ノルウェー|メキシコ|ヨルダン|日本))(?^u:(?:ア(?:ル(?:(?:[バメ]ニ|ジェリ)ア|
ゼンチン)|ン(?:ティグア・バーブーダ|[ゴド]ラ)|メリカ(?:連合国南部連合|合衆国)|
フ(?:ガニスタン|リカ)|イ[スル]ランド|ゼルバイジャン|ラブ首長国連邦)|モ
(?:ン(?:テネグロ|ゴル国)|ーリ(?:シャス|タニア)|ル(?:ディブ|ドバ)|(?:ロッ|ナ)コ|
ザンビーク)|セ(?:ント(?:クリストファー・ネイビス|ルシア)|ルビア
(?:・モンテネグロ)?|(?:ーシェ|ネガ)ル)|ス(?:(?:ウェーデ|ペイ|ーダ)ン|リ
(?:ランカ|ナム)|ロ(?:バキ|ベニ)ア|ワジランド|イス)|(?:中(?:華(?:人民共和|民)|
央アフリカ共和)|朝鮮民主主義人民共和|プロイセン王|大韓民)国|マ(?:(?:ケドニア|リ)
共和国|ーシャル諸島|ダガスカル|レーシア|ラウイ|ルタ)|コ(?:ンゴ(?:民主)?共和国|
ートジボワール|スタリカ|ロンビア|ソボ|モロ)|エ(?:(?:ストニ|チオピ|リトリ)ア|
(?:ルサルバ|クア)ドル|ジプト)|イ(?:ンド(?:ネシア)?|ラ[クン]|スラエル|エメン|
ギリス|タリア)|ト(?:(?:リニダード・トバ|ー)ゴ|ル(?:クメニスタン|コ)|ンガ)|パ
(?:ラ(?:グアイ|オ)|プアニューギニア|キスタン|レスチナ|ナマ)|カ
(?:(?:ザフスタ|メルー)ン|ーボベルデ|ンボジア|タール|ナダ)|サ
(?:ン(?:トメ・プリンシペ|マリノ)|(?:ウジアラビ|モ)ア)|バ(?:(?:ーレー|チカ)ン|
ングラデシュ|ルバドス|ヌアツ|ハマ)|ブ(?:ル(?:キナファソ|ガリア|ネイ|ンジ)|
ラジル|ータン)|ベ(?:ネズエラ|ラルーシ|トナム|リーズ|ルギー|ナン)|チ
(?:ェコ(?:スロバキア)?|ュニジア|ャド|リ)|ボ(?:(?:スニア・ヘルツェゴビ|ツワ)ナ|
リビア)|リ(?:(?:トアニ|ベリ|ビ)ア|ヒテンシュタイン)|ウ(?:ズベキスタン|クライナ|
ルグアイ|ガンダ)|ニ(?:ュージーランド|カラグア|ジェール|ウエ)|フ
(?:ィ(?:ンランド|リピン|ジー)|ランス)|(?:(?:赤道ギ|ケ)ニ|ユーゴスラビ)ア|キ
(?:(?:プロ|リバ|ルギ)ス|ューバ)|ガ(?:(?:イア|ー)ナ|ンビア|ボン)|オ
(?:ーストラ?リア|マーン|ランダ)|ソ(?:ビエト連邦|ロモン諸島|マリア)|ナ
(?:(?:イジェリ|ミビ)ア|ウル)|ル(?:クセンブルク|ーマニア|ワンダ)|ギ
(?:ニア(?:ビサウ)?|リシャ)|シ(?:エラレオネ|ンガポール|リア)|タ(?:ジキスタン|
ンザニア|イ王国)|ド(?:ミニカ(?:共和)?国|イツ)|グ(?:アテマラ|ルジア|レナダ)|ジ
(?:ャマイカ|ンバブエ|ブチ)|ミ(?:クロネシア連邦|ャンマー)|南(?:アフリカ共和国|
スーダン)|ク(?:ウェート|ロアチア)|ポ(?:ルトガル|ーランド)|東(?:ティモール|
ドイツ)|ザ(?:イール|ンビア)|ハ(?:ンガリー|イチ)|ペル(?:シア帝国|ー)|ロ
(?:ーマ帝国|シア)|(?:ネパー|ツバ)ル|ラ(?:トビア|オス)|レ(?:バノン|ソト)|
ホンジュラス|デンマーク|ノルウェー|メキシコ|ヨルダン|日本))


使うときはコピペして、xとかで冗長な正規表現を許容するか、改行を消して使う。

生成コードは
https://github.com/overlast/private/blob/master/lang/perl/nlp/wikipedia_ja/generate_country_name_regexp.pl
に置いておいた。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2014-01-11 Sat

新年会 + #DSIRNLP 5 を開催しました & 動画UPしました

新年会とデータ構造と情報検索と言語処理勉強会 #DSIRNLP の第5回目を開催しました。
ご発表、ご参加頂いたみなさま、どうもありがとうございました。



会場を提供していただきました、スマートニュース株式会社のみなさま、どうもありがとうございました。
# スマートニュースさんは今後も各種勉強会に会場を提供してくださるそうです。

続きを読む

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2013-12-21 Sat

どんなコードを書いたのか忘れた頃に役立つコメントの書き方

少し前にIRCやTwitterで @tagomoris さんらが、コードに対して執拗にコメントを書くことを推奨していたのを見かけた。



自分も気をつけなければと思い影響を受けたので、ブログに書いておく。

でも、多分、ほんとに当たり前のことしか書いてないんだと思う。

続きを読む

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2013-12-11 Wed

不満をネット上で公開するときのTips 10+α

「ネガティブなことはネットに書かない方が良い」という意見を個人的に観測する機会が多いですが、ブログに書くことでしか不満を解消できないほどに追い詰められた精神状態になることは、ごく普通にあります。

たとえば、ゴルフサイトを一日中眺めている上司から突然「ちょっといいですか? 1+1は?」と聞かれて普通に「2ですよね」と答えたら「いや、それは2では無い可能性もあるのではないかな?」などと言われたら、「え?何を言ってるんだユーは別に数学者じゃないし物理学者でもないだろ頭大丈夫ですか?」と思いピヨッてしまうのは無理も無いのです。と僕は思っています。

ということで、不満をネット上でぶちまけるときに気をつけたいことを書いてみます。

続きを読む

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2013-12-08 Sun

Photoshop CCとLightroom 5が月額1000円で利用できるキャンペーン

2013年12月11日 追記


キャンペーンが2013年12月31日までに延長されました。以下から1000円/月ライセンスをGetできます。


2013年12月08日に書いた本文(日付だけ修正)


@941さん経由で自分も入ってみて、Lightroom 5をしばらく使ってみたところ「普段からスマホで写真を撮ってるけど写真補正とか超ダルいと思ってる人(= 僕)」にオススメな感じがしたので紹介します。

Adobe公式ストアからもCreative Cloud特別プランに参加すると、月額1000円で「Photoshop CC」と「Lightroom 5」が利用できます。
2013年12月31日まで (期間限定) に年間プランにサインアップしていただいた場合、どなたでも月額 1,000円でご利用いただけます。


さらにオマケで「20 GB のクラウドストレージ」と「Behance ProSite」が利用できるのですが、個人的にそれはどうでも良くて、つまり、あと18日くらいでキャンペーンが終わっちゃうかもしれない。

もともと Photoshop のパッケージ版が欲しくてライセンスを買ったのですが、同時に利用できるようになった Lightroom 5 の具合があまりにも良かったので記事を書こうと思ったわけです。

ということで以下ではLightroom5を最初に使ったときのことしか話してません。

たとえば、以下のように、下北沢の踏切でiPhone5Sを使って撮影した、なんか暗くてボケてる、とても微妙な写真があったとします。
IMG_2411.JPG

この写真が「レンズ補正:自動」+「ホワイトバランス:自動」+「階調の調整:自動」をしただけで以下のようになります。
IMG_2411-1

実は最初にとても適当に自動補正を試したのがこの写真だったのですが

「お、おうっ・・・。」

ってなりました。眠いなーって思いながら試してたけど、目が覚めた。

スマホの写真でこんな画像が手元に残るようになるんですね。しかも一瞬で。
技術の進歩ってすごいですね。これが見られただけで「得した〜」って思えます。

元の写真と較べて金属の色がスッキリしており、自分の目では見ていたけど写真では消えていた情報がクッキリ見える。
しかも元の写真でとれていなかった水平方向と垂直方向の歪みを撮ってくれるので、自分の写真の下手さがカバーされています(ただし補正された時の敗北感がすごいです)。

実際にはよく見ると気になる箇所があるので、調整する箇所をしぼって段階的に補正したり、自動ではなくて自分で様子を見ながら補正したりすれば良さそうです。
が、自動でこれだけいい感じなら、何も補正しないよりマシで、そのマシ感だけで個人的に十分だったりもします。
# 一生に一度、みたいな写真だけ丹念に補正すると思います

補正してる時はこんな感じです。
2013-12-08 23.02.04

分かりやすいインターフェイスなので簡単な操作なら説明書なしでいける程です。

月額1000円のライセンスが購入できる期間は、2013年12月31日までなので「もしも延長されなければ」あと18日ちょっとです。
物理的なパッケージでソフトを買った場合にはlightroom5だけで12000円を超えるので、今後のアップデートに合わせた買い直しを考えるとPhotoshop CCとLightroom5で年間12000円はとても安いですよね。
20GBのクラウドスレージも個人的には使う予定が無いけど、嬉しい人には嬉しいでしょうね。

ただ、年末なので「もう一回延長!!!」なんてこともあるような気もします。(すでに二回延長している)


投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2013-11-22 Fri

どんなに細かいものでもチャレンジする前に聞く

今日は某実装を某豆乳系アプリ0.5リットル入りで使えないと諸々お話にならないので、そのための作業の続き。

といっても、お昼位には電話でいろいろ対応すべきことが多くて、断続的に電話に出ていた。
あとは以下の様なウキウキなTweetをしてしまったせいで、ずっとiPhoneがブルブルしてた。不覚。



今日、一番詰まっていたのはOCaml環境をCentOS 6.4上に構築することだったけど、この面倒なことに1/6日位使ってしまった後で、@unnonounoさんに聞いたらよかったですね、という結論になった。
その後30分で作業が区切れたのはいいけど、今後はもっと細かく他人の知識を借りようと強く思った。

コンパイルの合間に、某フレームに某アプリからコードを移した。
最終的には設定を1つ書いて、スクリプトをアクション数分だけ作ったら済むようにしたい。
そのためにはフレームの中にどれだけ小さく押しこむかがポイントになるんだろう。
最初に考えた設計に穴があるとこがあって、やってるうちに形が見えてくるみたいになってて、反省点が多い。

ocamlbrewはかなり良い。ocamlとopamをインストールして、うまく配置する、という難易度の高いタスクをワンラインで実現できる。
これでsudo経由でもomakeが使いやすかったら、もっと良かった。
omakeはユーザ権限で使わないこと多いわけだし。

OCaml地獄の合間にやった線形代数勉強会はもう終盤で、回転マトリックスが今日で終わって来週は固有値。
長いことちゃんと使ってないせいで曖昧になってる知識を固め直すのはとてもためになる。
線形代数は年明けから、お昼休みに30分やることにして別のテキストをやる予定。

そういえば今日も @mamoruk さんがプログラミングの課題の組み立て方とか、実力の引き上げ方で悩んでいたな。
結構気になっている。気になっているといえば、@uchumik さんのからあげ食べ放題も気になっている。
あと、テンプラニーニョ(MARQUES DE RISCAL TEMPRANILLO)はお買い得っぽいので気になった。

気がついたら日をまたいだけど、来週は私用で作業時間が短くなる日があるし、まー別にいいやと思った。
明日は18時起きだし早く寝よう。

なぜ急に日記をかいているのか。それは以下を読んだら、あー、って思った。
あとは、部屋を整頓したら紙ベースの日記とか手帳が出てきて、適当メモも大切よなって思った。

http://narumi.blog.jp/archives/1103763.html
でも毎日書くなると、淡々とどうでもいいことを書くしかないわけで、まったく力が入ってこない。これは楽。べつにバズらなくともどうってことはない。だって明日も書くんだから。


ほんとに適当にでもいいからやってメモっておいて、未来の自分が「過去の俺、ときどき頭いいやん」みたいに思う時があったらいいんでしょうね。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

CentOS 6.4 に OCaml と OPAM をインストールするなら ocamlbrew を使おう

CentOS 6.4 は OPAM を使ってOCamlをインストールするのが難しい。
理由はopamが必要とするglibcc 2.14が入っておらず、glibc 2.12が入っているからだ。

opam を使いはじめるときによくやる方法でインストールしようとするとこうなる。

$ wget http://www.ocamlpro.com/pub/opam_installer.sh
$ sudo sh ./opam_installer.sh .
[sudo] password for overlast:
Downloading OPAM...
Initializing with compiler
opam: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by opam)


OSのバージョンはこんな感じ。

$cat /etc/redhat-release
CentOS release 6.4 (Final)


いろいろ調べた結果、glibc 2.14をインストールするのはセンスがない行為で、そこまで追い込まれたらソースからインストールするのが定石っぽかったのでそうしようとしていたけど、作業が煩雑で辛い。

弱音を吐いたら@unnonouno 神が助け舟を出してくれた。



あああああああ、それ@unnonounoさんのTweetで見てたわー。

ということで、出来上がる寸前の自力インストールをするための作業ログを消し、ocamlbrewについて書く。

ocamlbrew で OCaml 4.00.1 と OPAM 1.1.0 をインストール


ocamlbrew を使った OCaml 4.00.1 と OPAM 1.1.0 をインストールは非常に簡単だ。

curl -kL https://raw.github.com/hcarty/ocamlbrew/master/ocamlbrew-install | env OCAMLBREW_FLAGS="-r" bash


とやるだけ。

死ぬほど待つとOCamlとOPAMのインストールと opam init までが終わる。

インストール先は標準では$HOME/ocamlbrew以下。

シェルに設定を足す


僕は .zshrc に以下のような設定を足した。

# ocamlbrew
# how to install : curl -kL https://raw.github.com/hcarty/ocamlbrew/master/ocamlbrew-install | env OCAMLBREW_FLAGS="-r" bash
# OPAM configuration
if [ -d ${HOME}/ocamlbrew ] ; then
  export PATH=${HOME}/ocamlbrew/ocaml-4.00.1/bin:$PATH
  export OPAMROOT=${HOME}/ocamlbrew/ocaml-4.00.1/.opam
  eval `opam config env`
fi


その後、source ~/.zshrc する。

omakeとounitをインストール


ここまで来ると、あとはとても簡単。

opam install omake ounit extlib


などと任意のocaml環境を作れる。

けど、個人的にはocamlbrewが見つかるまでの数時間が苦行すぎて ocaml アレルギーになりそうだった。
# ocamlbrew を見つけられなかったので自業自得である・・・。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |