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

過去のプログラミングに関するエッセイをほじくり返すナウ

散らばっててよくわからないのでとりあえず一箇所にまとめる 西尾泰和のブログ: 言語融合の時代 初めての人のためのLISP[増補改訂版] クラスなんていらないよ: http://www.python.jp/Zope/workshop/devcamp2007w/python_std.html 不完全にしてかなり言葉足ら…

プログラミンで半加算器

頭が疲れたので息抜きに作ってみた http://www.mext.go.jp/programin/share/?share_id=4ade3b8667ce044112ec9001c9998cb4左端の矢印をクリックすると入力の1/0が切り替えられる。右に玉が出ている状態が1なので、初期状態では 1 + 1 になる。右端で上方向に…

レバレッジメモ: Scalaスケーラブルプログラミング

言語も伽藍とバザールのように成長する--Steele "Growing a language" 1999トレイト=インターフェイスに似ているがメソッド実装やフィールドを持つ、ミックスイン合成出来るJavaのStringにtoIntがないことに気づいたときに、暗黙の型変換を参照してRichStrin…

プログラミンで論理回路

http://www.mext.go.jp/programin/app/「状態がないからプログラミング難しい」「GOTOが9個しか使えないから無理」と言われたので「いや状態はあるでしょ。変数の形になってないだけで。GOTOもなくていいし」と思ってちょっといじってみた。移動がグローバル…

Omnigraffleの和文フォントがずれてる

便利なツールなんだけどこれってなんとかならないのかな。

genkoに脚注機能をつけよう

HTMLで雑誌の原稿を書くためのツールで原稿を書いている。脚注を本文中に書きたいけど、見るときには本文中には(*)とか出して、脚注の本体は本文とは別のところに出したい。 <a class="footnote">(脚注: ほげほげ)<;/a>と書くと本文としては(*)になってくれて、僕のCSS力では脚注</a>…

SPYSEEのトップに美人画像が出るようになっている!

あのひと検索 SPYSEE [スパイシー] 日替わりらしい。で、これってどうやって美人かどうか判断してるんだろう?

RubyとCの x = y + y = x について

Rubyで x = y + y = x と書くとこれは x = y + x と y = x を行ったのと同じ振る舞いをする。 > x = y = 1 => 1 > x = y + y = x => 2 > [x, y] => [2, 1] > x = y + y = x => 3 > [x, y] => [3, 2] > x = y + y = x => 5 > [x, y] => [5, 3] > x = y + y = …

HTMLで雑誌の原稿を書くためのツール

こんなの作った モチベーション テキスト形式での納品を求められるけども、もうちょっとメタデータの乗せやすいフォーマットで書きたいなぁ、ついでに言えば自分が今どれくらい書けているかのイメージを掴む上でも、人に渡してレビューしてもらうにしても、…

板カルタ

ja

北海道の百人一首はとても特殊らしい!大阪出身の僕にとって百人一首っていうと下のようなものなのだけど: 北海道の板カルタと呼ばれる百人一首は取り札が板で、しかも変体仮名の筆書きで書いてある。読めない。http://www.itakaruta.com/ によれば、屯田兵…

Pretty Print 7

さて、ここしばらくいじっていたpretty printだが、そろそろちゃんと動いたことに満足して関心が薄れてきたので、今までの経験上「ここでなんとなくほったらかすとしばらくしてからどういう状態だったのかわからなくなる!」と思って一気にリポジトリの公開…

LLの身軽さ

@shnsk Q. Javaでなくて,Pythonの方がプロトタイピングに向いているシーンって,どこだろう #spro2010 たとえば [10/09/02 21:26:21] Y: 社内勉強会でScalaでこれを解く、というのが出されたから解いた [10/09/02 21:26:22] Y: http://recruit.drecom.co.jp…

今日の昼ごはん(フィボナッチ)

id:TAKESAKOさんに「フィボナッチはボナッチの息子という意味だ」と聞いたのでWikipediaで調べる フィボナッチの本名はレオナルド・ダ・ピサ フィボナッチは「ボナッチオの息子」という言葉由来のあだ名、父のボナッチオも本名ではなく「単純」という意味の…

Pretty Print 6

n=18で5秒くらいかかっていたのだが、馬鹿なミスをしていたhttp://gist.github.com/556393n=18で0.2秒、n=30で1秒になった。再帰呼び出しを大部分削ってみた。http://gist.github.com/556394 before 107607/1 0.406 0.000 0.905 0.905 prettyprint.py:181(be…

Pretty Print 5

子ノードではないパラメータの表示の仕方を少し変えた。(Name 'x' (Load))じゃなくて(Name (id: 'x') (Load))にした。 >>> for i in range(10): ... x, y = y, x + y ... print x, ... ===== AST ===== (Interactive (For (Name (id: 'i') (Store)) (Call (N…

Pretty Print 4

あー。 (Interactive (Expr (BoolOp (And) (Call (Name 'callable' (Load)) (Name 'x' (Load))) (Call (Name 'callable' (Load)) (Name 'x' (Load)))))) という表示になってしまって、期待しているのはそうじゃないんだよなぁ、とprettyprintライブラリのど…

Pretty Print 3

カバレッジが100%になるようにテストを書いたらfillにバグがあることに気づいた。xsとzsを間違えて無限ループになってた。名前ひどい。色々変数名の変更とかリファクタリングを実行。テストが100%だと安心だ。テスト重要。そしてようやくAUTOASTの作るS式を…

coverageを使う

http://pypi.python.org/pypi/coverage/2.6/ $ coverage run prettyprint.py $ coverage htmlまあ僕は面倒なので $ coverage run prettyprint.py && coverage htmlとやるのだけど。これをやるとこんなふうになるカバレッジで覆われてないところのテストを書…

Pretty Print 2

前回論文のリンクを張り忘れていたので: http://homepages.inf.ed.ac.uk/wadler/papers/prettier/prettier.pdf今朝の電車で試しに実行してみたら、おしい、カンマを忘れるの構文エラーが1つあった!まだまだ精進が必要ですな。で、実行してみると案の定書い…

PrettyPrint 1

とりあえず論文のHaskellで書かれた実装を帰りの電車で気合でPythonに逐語訳した。写経。まだ実行すらしていないので構文エラーとかあるかも。Python向きの設計はこれから考える。続きは明日の出勤電車で。http://gist.github.com/551349

今日の昼ごはん(括弧個数ゴルフ)

いつも昼ごはんを一緒に食べている二人がお休みだったので [10/08/26 13:05:30]: カッコの話ってこれか [10/08/26 13:05:31]: http://e-arrows.sakura.ne.jp/2010/08/is-lisp-really-has-too-many-parenthesis.html [10/08/26 13:07:51]: factをlambdaにすれ…

日本人の大部分が誤訳する英語

prettier printの論文を読んでいたのだが冒頭の一文 Here <> is the associative operation that concatenates two documents, which has the empty document nil as its left and right unit. を見て、prettier printを実装したいだけの人が見ても序盤から…

Pythonいじり2

今朝の出勤電車ここまではできるようになった >>> pprintast.build(_mod) ===== AST ===== <_ast.Interactive object at 0x100606690> ===== END AST ===== (Interactive (Expr (Call (Attribute (Name (Load)) (Load)) (Name (Load)))))Python側で_astを見やすく表示するモジュールを作るという選択</_ast.interactive>…

Pythonいじり

オブジェクトの生成を表示させようとして予期せず対話的に入力したトークンが出るようになったRubyいじりなんだけども、これって「プログラミング言語はコードの文字列からトークン列、構文木、バイトコードを経て実行されている」って授業をする際に実際に…

セキュリティ&プログラミングキャンプの講義資料に加筆して公開しました

http://www.slideshare.net/nishio/ss-5019563 「プログラミング言語の設計判断」というタイトルでは要約しきれてない内容ですが。図が足りないとか図が足りないとかを修正してから公開しようと思っていたのに気がついたら1週間もたってしまった(即日公開す…

アリエッティを見てきた感想を6文字で書くと

「主人公は病気」

Rubyの可視化

セキュリティ&プログラミングキャンプの参加者 TaKUMA7 の成果物が YouTube と Vimeo にアップロードされていた。素晴らしい!何が素晴しいってちゃんと英語で説明が書いてある!欲をいえばズームインしてちゃんと各クラスの名前やメソッドの名前を見せれば…

Ruby 1.9.2リリースとWEBrick脆弱性問題の顛末

はい、Ruby 1.9.2がリリースされましたね。このバージョンではWEBrick にゼロデイ攻撃可能な脆弱性 - スラッシュドット・ジャパンで紹介されている脆弱性が僕が書いたパッチで修正されているわけなのですけど、そもそもなんで僕が修正しているのか、って顛末…

日常

最近片付けの日記が多いからとても片付けているんじゃないかという誤解があるようだけども、日記は日常を平等にサンプリングしたものではない。日常的に当たり前になったことはあんまり日記に書こうというモチベーションがわかないから、逆に言えば日記に書…

地獄への道は善意で...

名言「地獄への道はいつも善意で満ちている」の解釈パターン - KENJI’S BLOG 地獄への道は善意で舗装されているとは - はてなキーワード