2010-10-01から1ヶ月間の記事一覧
srfi-1/unfoldの使い方としておもしろいかなと思ったので紹介。 (use srfi-1) (use gauche.experimental.lamb) (define (truncarting-l xs) (unfold null? identity cdr xs)) (define (truncarting-r xs) (unfold null? reverse cdr (reverse xs))) (truncar…
今回はどれも問題どおりに実装するだけ。あまり難しくない。
.mdや.markdownのファイルを開くと綺麗なhtmlで見られるようにする。 markdown->html discount(http://www.pell.portland.or.us/~orc/Code/discount/)を使う。 discountのinstall githubから取ってきてmakeする。 git clone http://github.com/Orc/discount.…
すごく強引な計算方法。100万以下の素数をナイーブに集めて、rotateしながらhash-tableに加える。(keyとvalueの関係は以下の通り '(1 9 7) => '(197 971 719))。後は、keyのlistの長さと束縛されているリストの要素数が同じであれば循環素数だとみなす。(11…
32は方針をミスった気がする。とても遅い。
はじめに 多くの言語はちょっとしたループを回すような処理を手軽に記述する方法を持っています。CLにはloopマクロ*1がありますし、pythonやhaskellなどはリスト内包表記などを持っています。ちなみにschemeにもそんな方法があります。srfi-42で定義されてい…
29はとても簡単な問題。 30は面倒なのでmacroを使う。6個まで調べる。 31は簡単なdp
発端(結果) コード(code,input-file,Rakefile)
Mashup Awardの作品の空うさぎがかっこいいなと思ってubuntuの環境に入れてみることにしました。(空うさぎはtwitterやgoogle buzz, rssをまとめて表示してくれるデスクトップアプリです) adobe airのインストール Adobe AIRのサイトから.debファイルをダウン…
ちょっとOpenCLを使ってみようと思ったのですが、手元のPCにはGPUがついていませんでした。GPGPUの速度はともかく、OpenCLの動く環境が作れないかと探してみたところfoxcを発見しました。これを使ってみようと思います。理解が正確かどうか分かりませんが、f…
今日は更新する。
c++のライブラリの場合は、以前紹介したものCライブラリの拡張モジュールの書き方と少し違います。opencvの一部の関数のbindingを書く例を参考に、C++ライブラリに対するgaucheの拡張モジュールの書き方を説明してみます。 gauche-cv-subset 今回作るパッケ…
ubuntu 10.04ならopencv2.0がaptで入れられます。簡単です。 sudo aptitude install libcv4 libhighgui4 libcvaux4 libcv-dev libhighgui-dev libcvaux-dev opencv-doc sample codeの実行 opencv.jpにあるコーナー検出のコード(http://opencv.jp/opencv2-x-s…
/etc/X11/Xsession.d/99x11-common_startを以下のように変更。 @@ -1,7 +1,11 @@ # $Id: 99x11-common_start 305 2005-07-03 18:51:43Z dnusinow $ # This file is sourced by Xsession(5), not executed. +do_if_exist(){ + test -f $2 && $1 $2 +} +do_if_…
今までfluxboxを使っていたけれど、そろそろ他のWM(WM:ウィンドウマネージャ)を使いたくなってきたのでawesomeを入れることにしました。しばらくは、fluxboxと併用したいのでログインマネージャからWMを選ぶようにします。gdmを入れていない設定だったので、…
以下の2つくらいを見ていけば良い? SDKに添付されたsample android自体のコード(必要に応じて) 添付されたsample <your sdk location>/samples/android-7 <your sdk location>/samples/android-8あたりを見れば良いと思う。 android自体のコード githubに登録されているリポジトリを見た方が早そう</your></your>…
androidを始めてみました。 とりあえず、androidを始める前に思っていた疑問について android? アプリ開発の費用は? 無料 開発には何を揃えなければいけないの? 実機だけ(仮想実行環境で満足するなら実機もいらない) もちろんセンサーなどの実機固有の入力…
前書き 今の作業の延長線上に開発のゴールが見えないような気がした。今までprocessingと対応づけるように機能を充実させてきたけれど、実装が進むにつれて、基盤としているopenglとprocessingとの際による挙動のズレが大きくなってきた。そのズレは強引に修…
変えようかな。
hsb形式での色の指定のサポートとpixelsを作成するための便利な関数の作成。 そろそろモジュールの階層関係や関数の定義位置などを見直した方が良いかもしれない。 手軽にpixelsを作成する関数を作成 pixels-generator。 こういうものが簡単に作れるようにな…
anything-occurでバッファ中のoccurをanythingで引けるのだけれど、複数のバッファを行き来して作業しているときなどに「どのバッファに書かれているかわからないけれど、どこかのバッファにあるということが分かっている。」というような状況で一度に複数の…
久しぶりにscheme自体で遊んでみました。ふと、オブジェクトの状態に対するアクセサを多値で返すという風にしていくとどうなるだろうと思ったのでやってみました。 クロージャの利用 よくクロージャの実例としてカウンタの作成が引き合いにだされます。 例え…
この記事で作ったモジュールのリポジトリはgithubにあります。http://github.com/podhmo/gauche-perlinnoise はじめに gaucheにはschemeで書かれたモジュールの他にCで書かれた拡張モジュールがあります。 拡張モジュールを作る足場を作るためのツールが実は…
gaucheの拡張モジュールの作り方を調べていてわかったことなどをまとめようと思います。 まとめようと思った理由は、ネット上で見つかる拡張モジュールの作成のためのドキュメントが難しいという印象を受けたからでした。 Gauche:拡張ライブラリ入門 Cで書く…
glBlendFuncに渡す引数の数が多すぎて把握しきれていない。 glのコードをラッピングはしていないけれど、とりあえずblendingもできるということで。 code (use gl.processing) (with-simple-draw (200 200) (blend-info) (background 0 0 0) (gl-enable GL_B…
意外と簡単でした。(もっとオプションが色々あるのかもしれませんが) draw-mixed-shapeで2つのtextureを混ぜ合わせて表示できます。 まだオプションの部分に直接GL_REPLACEなどのglの引数を直接与えていますが、いずれ:typeA :replaceなどにしようと思いま…
ただしUTF-8限定。行った方法が正しいのか分からないので行った方法を記しておく。 表示されるサイズの大きさの計算 string-lengthとstring-sizeを使った。 (string-length "aあ") ; => 2 (string-size "aあ") ; => 4 string-lengthは文字数をstring-sizeは…
textureは座標系によっては上下が反転してしまうことがあるみたい。 例えば、このようなコードを書いてデフォルトの座標系で画像を表示した際には、上下が正しく表示される。 (use gl.processing) (define texture #f) (define draw (draw-once$ (^ () (with…
前々からテクスチャを読み込む機能は加えていたのだけれど、なぜか2枚のテクスチャを生成した際には 2枚目のテクスチャが表示されないので困ってました。今日テクスチャを3枚にしてみたら、2枚目までが表示されていました… というわけで、バグが取れたので無…