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

で結局なにがいいたいのか

自分自身に対して客観的アドヴァイス+反省。「並列処理するまえに実際のコードをリファクタりましょう」ってこと。 並列でスレッドを動かしても、ひとつの計算に時間がかかってしまっては何の意味もありません。それと「関数指向」について耳にする機会が多…

やっとgroovyの話です

ただこれまで書いたことがGroovyで有効に使えるかといったら、それはNOだと思います。よく考えてみるとクロージャをネストさせればそのぶんの無名クロージャオブジェクトが生成されるコストがかかるはずなので、純粋関数型な言語でなければYコンビネータやら…

YコンビネータとZコンビネータという魔法

↑で「ループも関数で表現」とか書いたのですが、これをやるにはYコンビネータとそれを拡張させたZコンビネータというものが必要になってきます。詳しい話はものの本とかもっと詳しいサイトがあると思うのでそちらを参照していただくとして、ものすごく乱暴に…

「switch文を使いたくないばかりに」のその後

以前「code avant-garde - ものすごいハイウエスト日記」というものを書いたのですが、そのあといろいろ考えてみると結局じぶんがやろうとしてたことってラムダ計算なんだな、ということに気づきました。ものすごく乱暴ないいかたをしてしまうとラムダ計算と…

このまえのやつ

「TGVS(The Groovy Video Shell)みたいよー」と友人からもツッコまれたので、vimeoにあげました。音は内蔵マイクから拾ったので小さいです。すみません。The Groovy Video Shell from nbqx on Vimeo.twitterのやつも時間があったらあげてみる予定ではいます…

switch文を使いたくないばかりに

前回の記事にて「switch文が嫌い」と書いたワガママな自分。ちょうどタイミングよくこんな記事を見てしまいました。JavaScriptでswitch文を使わずに条件分岐 - TechTalkManiacsとりあえずクロージャを使ってGroovyで似たようなテイストのことをやるアイデア…

ユーザガイドも見れるようになったので

イマントコためしたとこだけ備忘録。gparsのユーザガイドがとりあえず見れるようになった(Usageがtodoだったりしてる)記念として、公開前にサンプルコードをながめていじったメモです。これからユーザガイドとつきあわせて見ていきたいと思います。おもいっ…

iPhone + Groovy + WebKit

というわけで今回お話をさせていただくなかでプレゼン用スライドをつくったのですが、マックユーザだから安易にkeynoteでつくるのもつまらないかなとヘソまがりなじぶんの性格がたたってか、オレオレなプレゼン・システムをこさえて、これでやらせていただき…

g*ワークショップでお話させていただきました

JGGUG主催のg*ワークショップにて「Grocessing」のお話をさせていただきました。GrocessingてのはG*なところでお話をさせていただくにあたって、ムリクリつけた感のあるよびかたなのですが結構しっくりくるようになったので今後このいい方をしていこうと思っ…

groovyでechonestを叩いてみる

http://echonest.com/ではネットと音楽のおもろそうな試みがいくつかされています。そのうち「似ているアーティスト検索」、「サンプル音源やヴィデオの検索」、音源ファイルのBPM解析などはJavaライブラリが提供されているので、APIキー取得して、お試しし…

それと

Env

ご縁があって、テックなかんじの場所でお話する機会をいただきました。場違いなかんじになるかもしれませんし、バカにされるかもしれませんがむりくりバカバカしいものをお見せしたいと思います。http://www.jggug.org/news/6th_g_workshop

乱暴に継続渡しっぽいなにか

教科書的に「計算の途中の状態を渡して…」とかいうとすごく理解しづらいものに思えるんだけど、下みたいなgroovyコード(javascriptの場合も)を書くとなんとなく「継続ってなんなの」って聞かれたときに説明しやすいのかなと思ったのでメモ的に書いておくこと…

フレイミング・リップス・インスパイアード

きょうのスケッチとはいいながらも、書いたのはおとといの珍幹線内なのですが。さいきん珍幹線の8号車前よりの席はじぶんにとってのお習字教室といっても過言でもありません!で、唐突なのですがフレイミング・リップスの新作がすこぶるよいです。ことしリリ…

ひと筆書きをリファクタリング

きのう書いたclojure x p5のスクリプトのなかで、激遅だったピクセル置き換えの部分がどーにもこーにも気にいらなかったので書きなおしてみた。 clojureは該当する処理部分を(time (...))みたいにしてあげればベンチがとれるのでべんりですね。 元 (dotimes …

ひと筆描きです

↓これがすごくステキだったので、じぶんも試しにこういうテイストのものをやってみようかなと思い珍幹線でひと筆描き風スケッチ。http://f.hatena.ne.jp/rakawa/20090926234604しかもせっかくなのでclojureで。ちなみにp5をclojureからつかうのはこれがはじ…

adobe!!

Snow Leopardでosascriptを使うと、「Adobe Unit Types.osax」がload errorになる。 - 名もないテクノ手記事を見てピンときました。なんか見たことあるぞと。これ↓です。 (エラー内容を見ると)おそらくスレ主はapplescript.rbが発行するosascriptで気がつ…

LiveCoding Video from BBS NEWS Tech Know

BBS NEWSのTech Knowでライヴコーダのことが取り上げられていまっせ。BBC News - Tech Know: Programming, meet musicBBCといえばすこし前にGlowという自社で作っているjavascriptライブラリを公開するとかしてて、こういったテック系のことについてはかなり…

wikiばなにいってきました

江渡さんが本を出されて久々開催のwikiばなでお話されるということで、wikiばなへ行ってきました。自分は江渡さんのliving web browserを見て、相当なインパクトを受けて、ホンキで「このひとはインターネットのナム・ジュン・パイクだ」と思って、それから…

grailsのclojureプラグインだって!!

clojureのMLを読んでたら、こんなおもろそうなものが。Google グループさっそくgrails.orgにもページができてた。仕事はやいねwclojure | Plugins | Grails Frameworkいまいち実用的な使いかたが思いつかんのだけど、grailsの皮を被ったclojureアプリが作れ…

それとtmuxを使いはじめた

Env

時代はGNU screenからtmuxへ - Gマイナー志向これを読ませていただき早速導入。いいかんじ。ずっとosxのX環境でcommon lispで書かれたタイル型wmのstumpwmをフルスクリーンで使ってたのだけども、IMでメッセが来たりしてgrowlが表示されたときとかにウラにい…

意外なツッコミ

Env

先日、とあるところでライヴでコードを書いてきました。で、そん時に「そこかよ!」という意外なツッコミをいただいたのでそのお話。ライヴでじぶんの画面を見せるということは「どんなふうにコードを書いてるの」というほかに「どんな環境で書いてるの」とい…

マインドマップを開発環境に

ことしのアタマぐらいにグルに見せていただいたプロダクトが超インテンショナルプログラミングで、ちょー衝撃を受けてからというもの、「おれおれインテンショナルプログラミング環境をどーにかして作ってみたいな」と副業(つかどっちが本業なのか副業なのか…

いつものように珍幹線ネタです

とはいってもちょっと前にやって、そのままラーメン食いにいったりiphoneゲトしたりでほったらかしになってたやつです。

exonemoさんのやつでTシャツをつくってもらった

きのう都会から巣へもどると届いてた。「the closure wiz lexical scope」 生まれながらの関数指向ですので。

言語らしさ

そうそう。いまclojureをすこしずつだけど触ってて、javaのオブジェクトを使えるってせいかlispっぽい書式を使ってjava書いてるみたいになってしまいがち。そうなるとマクロをこさえてjavaっぽさを無くすしかないのかなと。いずれにせよマクロの中身ではjava…

haskellでlivecoding

ド変態。もつのろんいい意味で。下のリンクからとにかく動画をば。Haskell hack – Alex McLeanこういうのを見てしまうとlivecodingみたいなパフォーマンスだとやっぱり関数型言語のほうが向いてるんじゃないかと改めて思ってしまいます。おそらくがんばればD…

追悼

imoutoid's websitoidじぶんが知ってるうちでは唯一プログラミング言語を演奏することができたひと。 たぶんもう10年ぐらいするとみんな追いついたのに。本当に惜しい。

とりあえずメモ

(import '(javax.script ScriptEngine) '(javax.script ScriptEngineManager)) (let [manager (new ScriptEngineManager) engine (. manager getEngineByName "Groovy")] (println (. engine eval "(1..10).sum()"))) 備忘録メモ。逆にgroovyから import clo…

もう半月も過ぎてますけど

新年のご挨拶をば。はずかしがりやなのでブックマークレットで。 javascript:(function(){el=document.getElementById("_ome");if(el){document.body.removeChild(el);return%20}var%20c=document.createElement("a");c.id="_ome";c.style.fontSize="12pt";c…