このBlogは移転しました。今後は aish.dev を御覧ください。

2012-01-01から1年間の記事一覧

Pythonで++i

この間、Pythonで変数のインクリメントないよね、って話がでた。こんなのだ。 i = 99 ++i print i ちなみに、Pythonでも ++i や --i と書くことはできる。書くことはできるが、Pythonでは ++ や -- はインクリメント/デクリメント演算子ではなく、単項の + …

Python3.3のdecimalが馬鹿っぱやい件

Python 3.3 では decimalモジュールがC言語で実装され、10進浮動少数演算が馬鹿っぱやになりました。単純なニュートン法で平方根を計算してみると、 def newton(n): guess = n/2 better = (guess + n/guess)/2 while better != guess: guess = better better…

PyConJP 2012 ハンズオン資料

PyCon JP 2012 hands-on FlaskによるWebアプリケーションの実装とプログラミングツール from Atsuo Ishimoto

Pandocでblockdiagを使う

最近、ドキュメント生成ツールとして Pandoc をちょっと試している。Markdownで手軽に書けて、reStructuredTextよりも好みだ。Pandocというのは「ドキュメント生成ツール」ではなく、正確に言えば「ドキュメント変換ツール」だ。MarkdownからHTMLやPDFへの変…

execとローカル変数

先日のPyCon JPで、私はまたもやってしまったのである。Hands on の講師という大役を引き受けておきながら、間違った演習用のスクリプトを書いてしまった。昔からの思い込みを元に、大雑把な実験だけで書いてしまったのである。何を間違えたかというと、Pyth…

PythonはDSLが苦手?

PythonはDSLが苦手でしょうか、って話をチラッと目にした。あんまりDSLって知らないけど、そんなに得意ってことはないんじゃないかと思う。Pythonってのは構文的に遊びが少ないように考慮して作られてるし、そもそもPythonは「実行可能な擬似コード」って言…

UbuntuのPyCharmでアンチアイリアスを有効にする

最近、買うんじゃなかったと思い始めているPyCharmですが、Ubuntuでアンチアイリアスを有効にする設定方法のメモ。[pycharm]/bin/pycharm.vmoption、または[pycharm]/bin/pycharm64.vmoptionに、以下の一行を追加する -Dawt.useSystemAAFontSettings=on

備忘録 - #python3 で sys.std(in|out|err) の encoding を強制する について

備忘録 - #python3 で sys.std(in|out|err) の encoding を強制するについてC言語の教科書にでも出てきそうなこんな基礎的なスクリプト import sys for l in sys.stdin: print l が動かない!って文句を言いたくなる気持ちは、非常によく理解できる。Unix的…

Cygwinのmintty上でコマンドプロンプトを開く

Cygwinをminttyで使っていて、本物のコマンドプロンプトでコマンドを実行する必要があるとき、いちいち別のコマンドプロンプトを開いてcdするのが面倒なときがある。こんなとき、 $ cygstart cmdとすると、cygwin上のカレントディレクトリでコマンドプロンプ…

python.jpの明日はどっちだ

最近「PYJUGって何なの?」「網元衆って何なの?」「何してるの?」「誰なの?」 って話を聞く機会が多いように思えます。 Pyjug-discussへの投稿も凄く減っていますし また網元衆が再編成されて5年も経っています。 外から見ていると、そろそろ運営が実態に…

Pythonのトレース情報を表示する disptrace ってのを作ってみた

Pythonには実行したスクリプトの行番号なんかを表示するtraceモジュールというのがあって、デバッグの時などうまく使うとデバッガでブレークポイント仕掛けるより効率的にデバッグできるときもあったりするんだけど、いまいち低機能で使いにくく、あんまり使…

Ubuntuをスリープさせても、マウスが動いただけで復帰してしまう件

最近、Thinkpad君にドッキングステーションをつけてデスクトップとしても使っているが、スリープ中ちょっとでも机にふれてマウスが動くとすぐ目を覚ましてしまう。敏感過ぎるだろ!夜泣き激しすぎて育児ノイローゼになるわ!っということで、Ubuntu 12.04 で…

BeProudでの仕事を終えて

昨年11月から参加させていただいていた BeProud でのプロジェクトは6月いっぱいで一区切りということになり、私のBeProudでのバイトもいったんお休みということにさせていただいた。 当初は3月ぐらいまでという予定だったのだが、プロジェクトの都合と、居心…

あなたの知らないPython3の秘密

関数の引数は最大255個まで def f(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31, p32, p33, p34, p35, p36, p37, p38, p39, p40, p41, p42, p4…

Zipファイル一個で実行可能なPythonアプリケーションを作ってみる - 第2夜

さて、先日 http://d.hatena.ne.jp/atsuoishimoto/20120503/1336050988 を紹介したが、Flaskアプリケーションの Blueprint 機能を使うと正しく動作しないようだ。Blueprintでは独自にテンプレートや静的ファイルのディレクトリを指定できるようになっている…

Zipファイル一個で実行可能なPythonアプリケーションを作ってみる

アプリケーションを作成して配布するとき、配布するのは複数のファイルやディレクトリではなく、ファイル一つだけで済ませることができたらそれに越したことはないだろう。Pythonには cx_Freeze や py2exe のような、プラットフォーム固有な実行可能ファイル…

安くて便利なだけの電子書籍に未来はあるか!?

紙の本に負けないくらいの“わくわく感”を、電子書籍ならではのオリジナル機能を用いて実現できたとき、ぼくたちはもっともっと電子書籍を読みたくなるはずだと思うのです。 http://www.appbank.net/2012/03/28/iphone-news/387513.php 本のワクワク感を実現…

pykf 0.4をリリースしてみるなど

ひさしぶりに pykf をリリースした。pykf 0.4では、特に機能追加などは行っていないが、Python3対応となっている。Python3で使う局面はそんなに多くは無さそうだけど…一応注意しておくと、Python3ではpykfが扱うのは文字列ではなくbytesだ。Python3の文字列…

Python Developers Festa 2012.03 出陣記

毎度おなじみ Python Developers Festa 2012.03 にお邪魔してきた。会場をご提供頂いた Oracle 様、また丸一日おつきあい頂いた @yokatsuki様には心からお礼を申し上げます。@voluntas が迷惑かけてほんとすんません。さて、今回はPython2から3への移行の話…

mockはこう使え

最近、Mockライブラリ http://www.voidspace.org.uk/python/mock/ を使ってみたのでメモ。このライブラリは、その性質上、動的にメソッドや属性を作成するケースが多く、普通のPythonライブラリのようにイントロスペクションに頼って使い方を調べるのは難し…

Vimさん?ちょっとVimさん???

なんで 1 返すの? ishimoto@mbp-aish:~/vimrc$ vim a ishimoto@mbp-aish:~/vimrc$ echo $? 1 ishimoto@mbp-aish:~/vimrc$ /usr/bin/vim a ishimoto@mbp-aish:~/vimrc$ echo $? 0 おかげでbzrやらhgやらでコミットできないんですけど? ishimoto@mbp-aish:~/…

メモ ー Ubuntu 11.04のオーバーレイ スクロールバーを無効にする

メモ。邪魔臭いっちゅうねん。慣れないし。http://www.webupd8.org/2011/04/how-to-disable-overlay-scrollbars-in.html より $sudo echo "export LIBOVERLAY_SCROLLBAR=0" > /etc/X11/Xsession.d/80overlayscrollbars

メモ - libvteのビルド

Ubuntu 11.10 oneiric にて $./configure with-gtk=3.0 $ make

Cygwin版VimでIME自動切り替えへの道 - 野望編

さて、ようやく Cygwin版VimでIME自動切り替えへの道 - 立志編 の続きである。 minttyの置き換え まず、Cygwin版VimでIME自動切り替えへの道 - 立志編にあるパッチを当てた mintty.exe をビルドする。とりあえず、私の方でビルドしたバイナリを http://www.g…

iTerm2でもIME自動切り替えへの道 - 青雲編

昨夜はCygwinのminttyにIMEの制御機能を付けてみたが、職場のMacでもやってみたのである。標準でついているターミナルはソースが公開されていないようなので、人気があるらしいiTerm2でやってみた。 https://github.com/atsuoishimoto/iTerm2-IMEOS Xにはあ…

Cygwin版VimでIME自動切り替えへの道 - 立志編

さて、vimでリモートに置いてあるファイルを編集したいとき、なにが腹立たしいと言ってIMEの切り替えが非常に腹立たしいのである。ローカルであれば http://sites.google.com/site/fudist/Home/vim-nihongo-ban/vim-japanese/ime-control 等を使ってまあ我慢…

tse 0.0.2 - Text Stream Editor in Python

先日公開した tse をちょっとアップデートした。http://pypi.python.org/pypi/tse $ sudo easy_install -U tse 等でインストールできる。 コマンドラインオプションの修正 0.0.1 では -a オプションでコンディションとアクションを両方指定していたが、0.0.2…

tse - Text Stream Editor in Python

久々にsedを使ってちょっとしたテキストを処理をしてたら、やっぱりこういうのもPythonで出来ないかなぁ思った訳である。Pythonスクリプトというのは改行とインデントが不可欠なので One Liner に向かないというのはご案内の通りだが、ちょっとは何とかなる…

菊地時夫先生への、GNU Mailmanコミュニティからのメッセージ

すでにご存じの方も多いと思いますが、PythonやApache、Mailmanなど、様々なオープンソースコミュニティで活躍なさっていた、元高知大の菊地時夫 名誉教授が、平成24年1月14日にお亡くなりになりました。菊地先生はGNU Mailmanという、メーリングリスト…