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

Cyanのパフォーマンスを計ってみる

たびたびCyanですみません、またこの実装で実験です。 cyan-1.0.2 - takuto_hの日記Cyanのソースハックを試みる 2倍速達成 - なんたらノート 第二期 の延長で、継続使ったときのコピー負荷とかを根本的に変えなくても、ちょっと工夫するだけで妥当なパフォー…

Cyanのソースハックを試みる 2倍速達成

Cyanはせっかく面白いのに、現在の実装が遅すぎてまだ遊びにくいのが残念です。とくに、単純繰り返しにすごく弱い。 #1000個の数字から二乗が1になるものだけ抽出(つまり1だけ) iota(1000).filter^(x){ x * x == 1 }これ、自分のマシンで約8秒もかかりました…

プログラム言語の突然変異、Cyanが素敵すぎ

Cyan, Yet Another New language - takuto_hの日記Lisp(最小主義/継続/マクロ) + プロトタイプチェーン + 構造化構文 + 中置記法 特徴 基本はLispの評価機 式ではなくオブジェクトでイメージできる プロトタイプチェーン:JavaScriptより簡単にOOPできる 構造…

人にもエコ、車にもエコ、人事にもエコ

無駄な[なんたら]30%削減本気になったら二酸化炭素より減らすの簡単なんだ。言ってみたかっただけ(w

日本のソフトウェアと景気と輸出入とそして才能

最近の不景気なニュースを見てて、日本の経済は輸出と輸入によって成長していたことを改めて実感しました。自動車・家電と食品が弱ってきて初めて、ああやっぱりな、と。もし黒船が来てなかったら、円の貨幣価値がここまで高まることもなかったでしょうね。…

はてブコメントを見るブックマークレット

http://www.hatena.ne.jp/tool/bookmarklet の「はてブコメント表示」は、もとのページからブックマークコメント一覧に移動しまうので、ちょっと不便でした。コメントページを新規のウィンドウ(タブ)に表示するように、ブックマークレットを改造してみました…

AS2のprototypeを強化してみた

AS3どやねんとか言ってる間に、こんどはAS4だそうですが、じっさいは、FlashPlayerのレギュレーションが8を超える案件ってどのぐらいあるんだろうかと疑問だったりします。「9使っていいよ」はだいぶ増えてきたかもしれないけど、じゃあ、AS3が本当に必要な…

Pythonでコルーチン

Luaはコルーチンがとても特徴的で、こんなに継続オブジェクトが扱いやすい言語は、他にありません。 http://www.lua.org/manual/5.1/manual.html#2.11 Luaまではムリでも、Pythonでそれに近いことができないか、挑戦してみました。 Python2.5以上じゃないと…

jEditのConsoleプラグインを便利に使う

jEditのConsoleプラグインは、OSネイティブなコマンドラインシェルをjEditに統合します。編集中のコードをコマンドラインで簡単にテストしたり、対話を必要としないコマンドラインツールを実行するのに便利です。Windowsならファイル名をタイプ(たぶんMacで…

javadoc2chmをGoogleCodeに引越し

javadocをchmに変換して読む - なんたらノート 第二期 に置いていたjavadoc->chm変換スクリプトを、GoogleCodeのリポジトリに置くことにしました。http://code.google.com/p/javadoc2chm/「戻る」だけじゃなくて「進む」ボタンも欲しいな、とか、オーバービ…

Python3.0で話すように素数

Scalaで話すように素数 - なんたらノート 第二期 のついでに、まだ使い物にならないけど、一応Python3.0の場合を書いときます。 続・話すようにプログラムするPythonチュートリアル - なんたらノート 第二期 と比べてどうでしょう? from decorator import *…

Scalaで話すように素数

最近Scalaが面白いので、例によって「話すように素数」をやってみました。Python 話すようにプログラムするPythonチュートリアル - なんたらノート 第二期 続・話すようにプログラムするPythonチュートリアル - なんたらノート 第二期Ruby Rubyで話すように…

CSVをちゃんと読む Flash/JavaScript

FlashでCSVファイルを読む必要があったので、使えるものがないかFlashとCSVでググってみたところ… var lines = text.split("\n"); var sheet = []; for(var i = 0; i < lines.length; i++) { sheet.push(line.split(","))); } なんじゃこりゃ。こんな感じの…

jEditプラグイン ExplorerHereのアルファ版

jEditで「ファイルブラウザのアイコンを右クリックして、エクスプローラで開く」をやるためのプラグインです。jEditのプラグインフォルダ(jars)にExplorerHere.jarを入れればOKです。ダウンロード ExplorerHere-0.0alpha.zipだいぶ放置してたんですが、使っ…

jEdit日本語リソース for 4.3pre16

jEdit日本語の4.3pre16です。ダウンロードはこちら なんたらノート 出張所 jEditjEditインストール先のproperties(Linuxのパッケージによっては、sharedとかにあったりする)にjedit_gui.propsファイルをコピーします。少し翻訳ポリシーを変更しました。 「…

FlashPlayer10の3Dパフォーマンスを試す

というわけで、FlashPlayer10専用でこんなデモを作ってみました。http://tanakahisateru.web.fc2.com/flash/fp10teapot/行った先にはソースがあるので、初期化パラメータやレンダリングパスをいじって遊ぶことができます。Flex 4 SDKのmxmlcにMain.asを食わ…

IBMごときに何をうろたえるか

PHP

ちょっと前なんですが、 セキュアな PHP アプリケーションを作成するための 7 つの習慣 について、「大手さんだから安心」? - がるの健忘録 から、「セキュアなPHPアプリケーションを作成するための7つの習慣」のサンプルがとんでもなく酷い - ockeghem(徳…

オブジェクト指向ガンダム

ガンダムOOのことを「オブジェクト指向ガンダム」って言ってたら、こんどのシリーズはガンダムOOPだそうで。確信犯か(w

jQueryにないJavaScript頻出イデオム

jQueryにAPIが見当たらないので、いろいろと自作しました。JavaScriptでよくやることだと思うのですが、なんでないんだろう? 確実じゃないからサポートしてないのかな。 要素の属性をすべて列挙する function attrs_of(element) { if(element instanceof jQu…

PHPをevalしてシェルの代わりに使う

PHP

PHPコードをページからPOSTしてevalする - なんたらノート 第二期で作ったスクリプトを使って、 system("ls -al /etc"); system("cat /etc/httpd/httpd.conf"); なんかを実行すると超便利(超危険)だということに気づいた。相手サーバのシェルにつなげない状…

カンマで位置を揃えるjEditマクロ

カンマで区切ってテキストの位置を揃えるjEditマクロを書いてみました。使用前 [ {'name':'グレート', 'text':'きみは究極のゲーマーだ', 'score':100}, {'name':'グッド', 'text':'ここまでやるヤツはなかなかいないぞ', 'score':80}, {'name':'フェア', 't…

続・PythonがRubyに似てないところがあるからって、そんな…

Rubyist Magazine - Rubyist のための他言語探訪 【第 1 回】 Pythonで言われてることが一般認識みたいになっているので、ちょっと違うなと思うことをメモっとこう。あなたがもしPythonを作る前のGuidoに憑依して - ネットリサーチ - livedoor ニュース とか…

Pythonのselfはなぜ必要かをJavaScriptのthisで考える

あなたがもしPythonを作る前のGuidoに憑依して - ネットリサーチ - livedoor ニュース が面白すぎた。2位と3位の すべてを式にする lambdaの構文を変える は、同じ願いを別の言い方でしてるような気がした。lambdaにifとforを入れたいをかなえるには、ifとfo…

MacやRubyに対して思うこと…というところで終わらない雑談

あやしいわーるどっぽい跡地 トラックバックかぶってごめん。これに関連して雑談したので、議事録を書きます。最後、深入りしすぎて、↑と全然関係ないとこまで行ってしまいました。昨日、こんな雑談をしました。 「Rubyの人気ってすごいよね。実際に使ってる…

中途半端に知識だけある素人プログラマを相手にしている場合ではない件について

中途半端に優秀なプログラマが「正しいプログラミングテクニック」だと妄信しがちな3つポイント - 分裂勘違い君劇場 が流行ってるみたいなので参戦。なんだか、「中途半端に優秀なプログラマ」を相手にしているというより、「中途半端に知識だけある素人プ…

Rubyはどのへんの生産性が高いのか

分裂勘違い君の Rubyの生産性の高さはどこまで本当か? - 分裂勘違い君劇場 に、素敵なトラックバックがあるのに気づきました。あやしいわーるどっぽい跡地寄せられたコメントもこれまた素敵。☆3こプレゼント。さて本題。分裂勘違い君のいう「高度な言語機能…

続・話すようにプログラムするPythonチュートリアル

話すようにプログラムするPythonチュートリアル - なんたらノート 第二期の続きです。前回は努力と根性でどうにかなるところまでやりました。今回は、前回再び泥臭いコードになってしまったプログラムを、もっと綺麗にしてみようと思います。前回はできるだ…

MacOS 10.4 にPythonとSubversionを入れる

MacOS 10.5にはいろいろおいしいコマンドがそろっているけど、実質、仕事の現場にいちばん多い環境は10.4じゃないかと思います。そんなMacでも、コマンドラインツールとして、PythonとSubversionを使えるようにしておきたいですね。※10.3.9未満はもう誰もサ…

Web制作アンチパターンを考える

Web制作に関連するアンチパターンを探しても、なかなか見つかりませんね。書籍やWebから見えてくるWebデザインの話って、最先端のユーザインターフェースのことばかり言ってて、ちょっと違うなと思うのです。アンチパターンの原著のような感じで、実際に多く…

PHPテンプレートベンチマーク ---- PHPTALに注目

PHP

PHPTALのチュートリアル http://phptal.org/manual/en/split/firstexample.html を、 プレーンなHTML(出力結果のダンプ) ネイティブPHP 5.2 Smarty 2.6.20 PHPTAL 1.1.3 のそれぞれで書いてみて、ベンチマークを取ってみました。(ただし、テーブルに流し込…