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

2011 年振り返り

今年も年の瀬っていうかもう大晦日なうえに残り30分くらいなので今年の振り返りエントリなど。 今年の出来事 今年何があったかなあと振り返ると、大きなところではこんなところでしょうか。 1月 PyCon mini JP 4月 バイクの免許取った 8月 PyCon JP 2011 9月…

PyPy Sudden Death Calendar 27日目 - JVM Backend に完敗した件を受けて

昨日の PyPy Sudden Death Calendarにて[twitter:@rokujyouhitoma]総帥が挑戦した PyPy の JVM Backend での失敗と、その後の Skype での議論をまとめて一エントリまかなえそうです。 なのでとりあえず書いてみました。PyPy Sudden Death Calendar 27日目で…

某元祖 Advent Calendar 25日目 - PEP3333

Python3 Advent Calendar の記事、と見せかけて某元祖 Advent Calendar の記事らしいです。 Python3 Advent Calendar の二周目用に書いておいたのが結局24人集まって書かなかったから使い回したとかそういうことはないんだからね! 勘違いしないでよね! WSGI …

PyPy Advent Calendar 21日目 - 文法を拡張してみた

改めまして PyPy Advent Calendar 21日目担当の [twitter:@shomah4a] です。 三周目です。 大変です。 誰かか書く人いませんかー?というわけで、今回は 11日目 に [twitter:@yanolab] さんが PyPy の Python インタプリタに手を入れていたのにインスパイアさ…

PyPy Advent Calendar 21日目(失敗編) - RPython と型とか

PyPy Advent Calendar 21日目です! なんかよくわかりませんが人が少ないので三周目な [twitter:@shomah4a] です。今回は RPython における型についてです。 型推論あたりの話は 17日目 に [twitter:@cocoatomo] さんが書いていましたが、おおよそあんな感じ…

xmonad でデュアルディスプレイ

xrandr を使う ディスプレイと解像度一覧を取得 $ xrandr Screen 0: minimum 320 x 200, current 1366 x 768, maximum 2726 x 768 LVDS0 connected 1366x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm 1366x768 59.7*+ RGB0-1 connected (n…

PyPy Advent Calendar 15日目 - 低レベルっぽいことをやってみる

PyPy Advent Calendar 15日目を担当する二周目の[twitter:@shomah4a]です。だんだんとネタもなくなってきました。 でもね、 rlib 探すと色々面白いものがあるんだね。というわけで今回はなんとなく目についた pypy.rlib.clibffi についてです。※まとめのあと…

PyPy Advent Calendar 二日目 - ebnfparse を使ってみた

みなさん処理系作ってますか?PyPy 楽しいですよね!というわけで昨日とは打って変わって PyPy Advent Calendar 二日目を担当する [twitter:@shomah4a] です。 他の人が翻訳ネタでエントリを書く宣言をしている中、空気を読まずに開発系エントリです。 PyPy っ…

Python3 Advent Calendar 一日目 - Python とジェネレータ関数

みなさんジェネレータ関数使ってますか?ジェネレータ関数便利ですよね!無いと死んじゃいますよね!というわけで Python3 Advent Calendar 一日目を担当する [twitter:@shomah4a] です。 ジェネレータ関数って? とりあえずジェネレータ関数です。めんどくさい…

社内勉強会で PyPy の紹介をしました

私が勤めている某 Java な会社の社内勉強会で「PyPy の紹介」というタイトルで発表しました。作った資料は折角なので公開します。 別に機密事項があるでもないしね。まあプレパレードでも聴きながら見てあげてください。 PyPy 紹介 View more presentations …

py2exe のハマりどころメモ

py2exe を使用すると、 setup.py にちょっと追記するだけで Python スクリプトを単体で配布可能な実行形式に変換できる。結構便利ではあるのだが、これがけっこうハマる。 ということでそこら辺メモ。 基本 基本的に以下のようなスクリプトを記述し、 python…

「BPStudy #49 Scala 祭り」で発表してきました

タイトルの通り「BPStudy #49 Scala 祭り」で「Pythonista による Pythonista のための Scala 紹介」という発表をしてきました。発表用のスライドはこちら: Pythonista による Pythonista のための Scala 紹介 in BPStudy #49また、リモートでハッシュタグ参…

Python とクロージャ

[twitter:@kumagi] さんの window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.c…

PyCon JP 2011 に参加してきました

8/27(土)に産業技術大学院大学にて開催された PyCon JP 2011 に参加してきました。 といっても参加者ではなくてスタッフなのですけども。当日は広報っぽく写真を撮ったりしてました。 同名の人に会ったよ! そもそも同名ってのが少ない私なのですが、なんと! …

PyPy で Grass を実装してみた

PyPy について調べてチュートリアルも翻訳してみたので、折角だからなにか実装してみようと思い立って実装してみた。で、今回のターゲットはお手軽そうな ちょっと草植えときますね型言語 Grass を実装してみようかなと。 結果 まずは結果。ソースはこちら G…

PyPy Tutorial を翻訳してみた

PyPy についてあれやこれやと調べていたら、日本の PyPy 第一人者である池さん(id:rokujyouhitoma)からこんな tweet が。 window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById…

PyPy コードリーディングその2

PyPy コードリーディング の続き。今回は Flow Graph まわり。読んだときのメモは折角なので ここらへん に置いてあるのでお好きにどうぞ。 取っ掛かり translatorshell.py を実行した結果から FunctionGraph が取得できたのでそれをつらつら眺めていた。 $ …

PyPy ソースコードリーディング事始め

PyPy のフレームワークを使うと俺言語が作れると聞いて!というわけで動かして遊んだりソース読んだりしてた。 RPython なにやら RPython ってのがキーワードらしいっすよ。http://codespeak.net/pypy/dist/pypy/doc/translation.html Python ソースを RPytho…

( ゚∀゚)o彡゚ PyPI! PyPI!

先週土曜日に Python mini hack-a-thon に参加してきました。当初は Sphinx Extension を作ろうかなーと思っていましたが、その前の火曜日に参加した Expert Python Programming 読書会で「Python の動的型チェックライブラリ作って使ってました」なんて言っ…

Scala の Collection っぽいなにか in Python

パクってみたシリーズもう一つ。Scala の Collection は、collection に対する処理をテンポ良く書けるインタフェイスなので結構好きである。例えば以下のように scala> 1 to 10 filter(_ % 2 == 0) map(_ * 30) res1: scala.collection.immutable.IndexedSeq…

boost.lambda をパクってみた in Python

C++ には boost.lambda という変態ライブラリがあります。だいたい ここらへん を参照するとよくわかると思います。 _1 * 2とか書くと一つ目の引数を二倍する関数になるわけです。そういえば scala でも 0 to 20 map(_*2) なんて書くと簡単にコレクションの…

emacs rst-mode のコマンドとかキーアサインとか

とりあえずメモだけ key command desctiption C-c C-a rst-adjust 見出し作成。複数回実行で種類変更 C-c C-b rst-bullet-list-region 選択範囲のセクションごとにリスト化 C-c C-e rst-enumerate-region 選択範囲をセクションごとに連番リスト化 C-c C-v rs…

sphinxbuilder + s6 のセットアップメモ

buildout + sphinxbuilder + s6 の環境を作ったのでそのときのメモ buildout.cfg Installing Plone — Plone.org [buildout] parts = env sphinxbuilder [env] recipe = zc.recipe.egg eggs = zc.recipe.egg interpreter = python [sphinxbuilder] recipe = c…

Scala 勉強会 in 渋谷第32回 Scala Hack-a-thon に参加してきました

今更ながら参加レポートみたいな何か。Scala 勉強会 in 渋谷第32回 Scala Hack-a-thon に参加してきました。 なにやった 何をやるか全く考えておらず、型レベルプログラミングとか面白そうだよねーなんて言っていたのですが、なんか生産性低そうなので諦めて…

git リポジトリを svn に移行する

開発に使っている git リポジトリがあるとする。これを共通の svn リポジトリのツリーに突っ込みたい。 ということで色々やってみたのでメモ。とりあえず以下の通りにやったらできた。 GITREPO=${path-to-gitrepository} GITBRANCH=${branch-name} SVNURL=${…

paste.pony を使ってみた

使えそうなミドルウェアはないかなーなどと Paste の中身を見てみたら paste.pony なんてモジュールを見つけました。 なんぞこれ? などと思いながらドキュメントを見てみたら Add pony power to your applicationなんて書いてあるじゃないですか。 ポニーパ…

Python で構造的部分型(Structural Subtyping)の判定を isinstance で行う

Python で「クラスがあるメソッドを持つ」という条件を isinstance で判定できたらちょっと幸せになれるんじゃないか、などと何となく思ったので色々やってみました。 あ、ちなみに構造的部分型は Scala では「皿うどん」と呼ばれています。 (皿うどん)Struc…

PyPI からパッケージの tarball を取ってくる

PyPI からパッケージの tarball を一括して取ってきたいと思ったのでちょっと試してみたことをメモ。 ソース #-*- coding:utf-8 -*- import os import sys import pprint import pkg_resources as pkg from setuptools import package_index as index def ge…

Scala で Reflection を使ってみた

適当なインスタンスから JSON 文字列を出力したいなーと思い、折角なので Refrection を使ってやってみた。 reflection Scala(Java?) での Reflection は obj.getClass でクラス情報を取得するところから。 取得したクラスに対して getDeclaredFields, getDe…

Scala 勉強会 in 渋谷 第22回

Scala 勉強会 in 渋谷 第22回で発表してきました。 ネタはこれ。スライドとか ust とか。Scala 勉強会なのにいきなり Python のインタプリタ立ち上げてコード打ったりしているとか。 あと説明グダグダだったので精進しないと。 途中で [twitter:@yuroyoro] …