ソフトウェア イズ フリーダム

最初にすべての設計問題をオープンソースで叩きまくって、枯れた後にプロダクションユースにそのソースを持ち込むか〜、それとも〜、クローズソースなバイナリを枯れていないうちから金にし、買い手が尽きたらオープンソース化して売名するかは〜自由だーー…

CentOS4のyumでPHP5などをインストール

CentOSのyumが参照するリポジトリを切り替えるには、 /etc/yum.repos.d/CentOS-Base.repoを書き換えると楽です。CentOSのバージョンが4の場合、デフォルトではcentosplusが無効になっています。これが有効になっていないと、PHPは4.xに、PostgreSQLは7.xに、…

cacheAsBitmapの法則

FlashのcacheAsBitmapの謎が解けました。cacheAsBitmap有効な場合、「ビットマップとして半透明になった感じ」を期待しているところで、なぜか「下位構造のシェイプが全部透けてる感じ」になります。フィルタがひとつでもあれば、ビットマップとして半透明(…

MacOS 10.5でjEditを動かす

MacOS 10.5のJVMが更新されたあと、jEditが動かなくなってました。仕方がないので、jedit.jarを直接叩いていたんだけど、どうやらもっとスマートな方法があったようです。http://community.jedit.org/?q=node/view/4072で、配布されているjEdit起動コマンド…

ファイルがダウンロードできない方へ

このブログからリンクしているSkyDriveのファイルが、すべてリンク切れになりました。SkyDriveのファイルURLが変わってしまいました。もし目的のファイルが見つからない場合、こちらを参照してください。

急上昇ワードは「ユーチューブ」

Google JapanではYouTubeをカタカナで書くべきなのかっ!?

ナベアツ算で知るOCamlとScalaの違い

学び始めて最初っからずーっとなんですが、Scalaが従来の関数型に対してオブジェクト指向とのハイブリッドだと言われるのはどういう意味でなんだろう? という疑問がありました。関数型言語でありながら、言語にオブジェクト指向機能があり、再代入が可能な変…

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

以前、jEditのConsoleプラグインでディレクトリ移動するののついでに、バッファ/ファイルマネージャのパスでWindowsのエクスプローラを開く方法を紹介しました。http://d.hatena.ne.jp/tanakahisateru/20081215/1229269568最近、Consoleプラグインでは狭いな…

GroovyとRhinoのオブジェクト(クロージャも)を相互に変換

Groovy(SwingBuilderでGUIに強く、Javaの既存クラスを素直に使える)で実装されたホストアプリケーションに、スクリプト言語としてJavaScript(Ajaxアプリケーションとコードを共有できる)を組み込むとき、どうせなら両者のクロージャに互換性を持たせようとい…

Re^2: Cyanインタビューはようするに

http://d.hatena.ne.jp/wasisan/20090124/p2 いつもご愛読ありがとうございます(^^コメント欄だと長くなりすぎたので、トラバで。コメントまで引用してしまってすみません。 それにしても、“あのような”プログラミング言語を高校生が設計したということにつ…

Cyanインタビューはようするに

はてなダイアリー で、 Cyanを設計した高校生、5カ月で5つの言語を習得 − @IT自分戦略研究所 から引用されている、 私からアドバイスするなら、地面に足を着ける感覚をさらに磨いてはどうでしょう。プログラミング言語は、それ自体すごく面白いけど、マシン…

F# 型互換性の謎 Scalaと比較で

めざせ自然言語プログラミング by F# - なんたらノート 第二期のコメントより。 let hoge x = string x;; と定義した obj -> string となる型の関数が、引数として純粋なobj型以外の変数を受け入れるようになっていたことが高評価ポイントでした。 って、obj…

めざせ自然言語プログラミング by F#

F#

Scalaだけ(http://d.hatena.ne.jp/tanakahisateru/20081208/1228742669)じゃ不公平なので、F#でも素数を求めてみました。ワンライナーで書くとこんな感じ。 #light List.filter (fun n -> not (List.exists (fun m -> n % m = 0) [2..n-1]) ) [2..100];;面白…

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(徳…