editdistance: 高速に編集距離を求めるPythonパッケージ

をリリースしました。 この間書いたQiitaの記事の実装をそのままPythonのライブラリとしてまとめたものです。 Cythonでラップしてあるので高速に動作するはず。 Python2とPython3両対応です。 インストールはpipなどで。 pip install editdistance 簡単なド…

git-ticket: コマンドラインからIssueを管理する

git-ticketというツールの紹介です。 https://github.com/aflc/git-ticket git-ticketはgitリポジトリに紐付いたチケット(Issue)の管理をターミナルから行えるgitのプラグインです。 github, bitbucket, redmineに対応しています。 スクリーンショットと簡…

はてなブログに移行しました

移行が楽だったので助かりましたん。

標準ライブラリoperatorを使おう

sortの時によく使うkeyオプション。 あれをlambda式使って、 for k, v in sorted(dic.items(), key=lambda x: x[1]): ... とか書いていると遅いので、operatorを使いましょうという話。 import operator for k, v in sorted(dic.items(), key=operator.itemg…

組み込み関数idは信用できない?

2012-01-22 追記下記現象の説明がしてありました。 http://d.hatena.ne.jp/atsuoishimoto/20110426/1303772157どうやらinstance methodというかbound methodは、束縛されるたびに新しくオブジェクトを 生成しているので、id(a.imtd1) == id(a.imtd2)は、 1. …

組み込み関数idは信用できない?

ある日、id関数で遊んでいたら奇妙な現象を発見した。 Python2.7の日本語ドキュメントの言語リファレンス > データモデルから引用すると、 オブジェクトが一度生成されると、そのオブジェクトの アイデンティティ値 は決して変化することがありません; アイ…

大きい二つのリストをマージする

たまに、二つのソート済みリストを大きい一つのソート済みリストにしたいときがある。具体的にはこんな状況: >>> a = [1, 3, 6, 8, 12] >>> b = [2, 4, 5, 9, 10] >>> sorted(a + b) [1, 2, 3, 4, 5, 6, 8, 9, 10, 12] 2つのリストaとbが比較的小さいリス…

valueでsortされたdictが欲しい

という話。カウントしつつリアルタイムで現在のヒストグラムを確認したいなーと思った。こういうときは普通パフォーマンスが問題になるから自分でデータ構造を書くんだろうけど。。。 とりあえずbuilt-in、pure pythonで実現するもっともしょぼい方法でやっ…

multiprocessing.Poolがエラーになる人へ

Pythonで並列プログラミングしようとしたときに真っ先に思い浮かぶのが threadingやmultitprocessingモジュールですよね。multiprocessingにはPoolという便利なクラスがあって、同時に起動するプロセス数を 制限しながら処理を並列実行できたりします。例: …

昨日のままでもなんかできているようなきがするのだが、幾つか気持ち悪い点があったので解決しておく。 拡張属性あたりで失敗してwarningがでる しょうがないので拡張属性付きでmountしてやる。やり方はopenpogo環境を入れるときに作ったmount_optと同様のや…

OSX Lion + Pogoplug でTimeMachineに挑戦

先日Macbook Air(2011)を買って、環境の移行をシコシコやっていたわけですが、どうせならTimeMachineを手元にあるPogoplugから行いたくて、色々と挑戦していた。成功したのでメモっておく。なお、面倒なので忙しい方は素直にTimeCapsuleを買おう。 OpenPogo…

Python3.2, windows7でvirtualenv(1.6.1)が失敗する件

追記: virtualenv1.6.4では付属のdistributeが最新のものに変更されたため、下のような問題は起きなくなりました。 というかタイミング悪すぎ俺orz こんなのに半日費やしちゃったよ。それはさておき、python3.2にvirtualenvを入れようとするとどうも付属のd…

python3の組み込み関数bytesはiterable なシーケンスを受け取る!

>>> bytes('a', 'ascii') b'a' >>> bytes(97, 'ascii') b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x 00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x 00\x00\x00\x00\x00\x00\x0…

Ipythonはptyhon3.0に対応していない

なんてこった。気軽に動作の違いとか試せないな。。。開発版はgithubにあるそうなので、人柱な人は試してみては。

pythonでループがスコープはみ出す件はいつ直るんだ?

むしろ意図的なのだろうか。Python3では、リスト内包表記のスコープ漏れ出し問題が解決している: x = 'string' a = [x for x in (1, 2, 3)] print(x) # 'string' Python2.xまではx=3だった。だけど、普通のforの場合には相変わらずもれる。まあ速度の問題が…

GoAruna

ここから登録すると250MBボーナスがもらえます(私ももらえます)こちらは同期サービスではなく、オンラインストレージサービスです。2GB無料で使えます。 オンラインストレージなので、ファイルサイズ上限100MB, 月転送量?1GBまで。メール添付によるアップ…

SugarSync

ここから登録すると500MBボーナスがもらえます(私ももらえます)Dropboxとほぼ同じサービス内容で、5GBまで無料です。Dropboxに比べて有利な点は無料で使える容量が大きめ(5GB)な点、メール添付でのアップロードがデフォルトでできる点、同期するフォルダが…

Dropbox

ここから登録すると250MBボーナスがもらえます(私ももらえます。そういうのが嫌じゃ無い人はぜひ。)はじめに使うならこれ一択。無料で2GBまで使える、オンラインファイル同期サービス。複数マシンの特定フォルダと、オンラインストレージとを同期させる事…

ipad2を買ったので、改めてクラウドストレージの運用を考えてみる

iPadで運用可能な運用を模索してみる。

chromeに乗り換え

先日、メインブラウザをFirefox4.0から Chromeに乗り換えました。 理由はいくつかあるけど、Firefoxが何故か起動しっぱなしにしているとメモリ消費が勝手に上がっていくのが一番。決め手はSpringpadのエクステンションがあったから。まあ、まだまだかゆいと…

pythonで直積、順列、組み合わせ

標準ライブラリのitertoolsモジュールにありました。 但し、python2.6から。 >>> list(itertools.product('ABC', 'abc')) # 直積 [('A', 'a'), ('A', 'b'), ('A', 'c'), ('B', 'a'), ('B', 'b'), ('B', 'c'), ('C', 'a'), ('C', 'b'), ('C', 'c')] >>> list(…

emacsをセットアップした

emacs23.2を入れた。まずはフォント。inconsolataとかいう知らないのがあったので入れてみる。 参考 結構いい感じ。色はcolor-theme-merbivoreというのを入れた。とりあえずpython用のモードとか入れておいた。まだ良くわかっていない。 ただ、Yasnippetはと…

VirtualBoxがいい感じだった

最近会社のLinux環境を本格的に使うようになってきて、家でも色々試せるように仮想環境を入れることにした。VirtualBox3.2.10を入れてみて、最近の仮想環境ってすげーとか思ってしまった。 特にシームレスモードっていうのが地味にいい。単にウィンドウ以外…

Python-Ogre1.6.4をインストールする

公式のWikiみてもあまりわからなかったのでメモ。Pythonのバージョンは2.6.4を使いました。一応2.6.3?ってダウンロードするアーカイブ名に書いてあったので。。。まず、公式ページを探しましょう。どうもここのようですが、詳しい情報はwikiに載っているよう…

Dropbox類似アプリが最近増えてきてる

Dropboxも便利なんだけど、不満点が3つあります。 同期できるディレクトリが一つだけ 使ってると若干重い気がする エクスプローラのオーバーレイアイコンがTortoiseSVNやTortoiseHGのとかぶってみにくい というわけで、先日SugarSyncとZumoDriveという、二…

Pythonでゲーム開発 - ライブラリ選択編 -

近頃私の周りでPythonが流行っていますが、なんとかPythonでゲームは作れんのかと思ってここ数週間ほど動いています。正直、ゲーム作るんなら速度的な問題もあり、C++かXNA(C#)かActionScriptかなーと思っていたんですが、調べると海外ではそれなりのライブ…

近況

最近何やってたのかすでに思い出せないので、自分のために書く。 OCamlとPythonはじめた OCamlは プログラミング in OCaml ~関数型プログラミングの基礎からGUI構築まで~作者: 五十嵐淳出版社/メーカー: 技術評論社発売日: 2007/11/29メディア: 単行本(ソフ…

VMware Server 2 を入れて、Ubuntu9.04を快適に使う

取りあえず自分の環境で成功しているのでメモ。 インストール VMware Server 2を入れる。 Server 2 は仮想マシンをブラウザから管理するので、https://localhost:8333 か https://(マシン名):8333でアクセス。もしくはスタート->全てのプログラム->VMware->V…

無線LANまとめ

もう寝ようと思ったのにー。 【ネットブック特集】第1回:外出時に便利な公衆無線LANを“安く”使いこなす活用術 ここが参考になった。 一日315円で利用できるんですね。安くなったもんだ。 一月2日以上使うならwireless gateの380円/月が一番いい。

ネットブック向けOS moblin

こちらも中々良さそう。今はwindowsで安定してるから要らないけど。出先で使うならこういったシンプルで分かりやすいOSがいいかもしれませんね。Webサービスとの連携が緊密なのでモバイルネット環境に良さそう。