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

Merry Quine-mas 2010

今夜は、年に一度の W. V. Quine の命日イブです。 %;';;X= %q(x=1; z="%c"% 32;eval %w(w=N= Merry =128;r= z*79+$/; ;p=open" / dev/dsp ","w"rescue$_;/ / ;eval"s rand(%s)"%$*[ d=0];a=[];s=(r+z+% (%;';;X=#{z* 3}%q(#{X});e val(X)) +r*=23).l ines.m…

イカ娘が Ruby を侵略したでゲソ

この記事は Functional Ikamusume Advent Calendar jp 2010 によって侵略されたでゲソ。 今回は Ruby を侵略したでゲソ。まずは gem をインストールするでゲソ。 $ gem install ikamusume Hello, world でゲソ。 # coding: utf-8 # ruby examples/hello.ikam…

はてなダイアリーから自分の日記をバックアップする方法

はてなに何か問題が起きて、自分の書いた日記が全部消えたら困るよなあ、バックアップしとかないとなあ、と思いながら、なかなか実行できてませんでした。 が、ついに一念発起してやりました。といっても はてなダイアリーAtomPub の通りに取得してくるだけ…

parallel と concurrent 、並列と並行の覚え方

縦軸が時間、横軸がタスクと覚える。なにやら縦棒が多ければ、同時に実行する様を表している。なにやら横棒が多ければ、タスク同士が通信しながら実行する様を表している。 行と列の覚え方のパクリです。 以下余談。タイムシェアリング *1 のことを concurre…

qvi 動画

Qlobe を公開したところ、有志の人たちが Youtube 動画とか アニメーション gif とかにしてくれてうれしいなあ。そしてやっぱり動画重要だなあと思いました。 そこで、Quine な動画ファイル qvi を作りました。qng や qif の仲間です。書いてあるコードを実…

inline-ook 1.0.0 リリース

RubyKaigi 2010 の Chad Fowler 先輩の基調講演で、brainfuck の置換言語の代表である Ook! が紹介されてました。 Ook! プログラムってぱっと見ると Ruby のコードそっくりですよね。Ook. Ook! Ook. Ook? って、それ Ook.Ook!(Ook.Ook?) じゃないですか。実…

The Qlobe

RubyConf に参加するためには、やっぱり 山手 quine みたいに東京限定ネタは通じにくいですよね。これからは Quine もグローバルでないといけないと感じました。 でも世界的に有名な環状線とか知らないので、世界的に有名な回るものを書いてみました。 v=000…

/dev/dsp で音声を鳴らす方法

超絶技巧 Ruby プログラミングの質疑で「どうやって音を鳴らしているのか」という質問があったので、自分のための記録を兼ねて簡単に紹介。 といっても Linux Sound programming with OSS API にある通り。Ruby で書くとこんな感じ。 # デフォルトでは 8bit …

RubyKaigi 2010 終了

参加してました。 「超絶技巧 Ruby プログラミング」の発表資料と、発表で使ったソースコードを以下に置いておきます。 ref: http://dame.dyndns.org/misc/rubykaigi2010/rubykaigi2010-endoh.ppt ref: http://dame.dyndns.org/misc/rubykaigi2010/rubykaigi…

RubyKaigi 2010 発表予告 (と山手 quine 英語版)

今月末の RubyKaigi 2010 で、「超絶技巧 Ruby プログラミング」という発表をする予定です。2 日目の 13:30-14:00 、大ホールでの発表です。主にこのブログで紹介しているコードたちを紹介する予定です。その背景の意外な深遠さや、それを可能にする Ruby の…

青マスから玉を追い出してください

swf

初 wonderfl で作ったゲームです。 ref: http://wonderfl.net/c/rx2A

男女男男女男女

swf

謎の制約のある席決めゲームです。 ref: http://wonderfl.net/c/wcnb ルール 異性が向かい合うように座らせてください 左から詰めて座ります 同じグループを重複して使えます 男女の人数が一致したらパーティ開始 (クリア) です 操作方法など 下 3 つのグル…

任意の Ruby プログラムをアルファベットだけにするプログラム

数字もまぁなんか消せると思う。 任意の Ruby プログラムをアルファベットと数字だけにするプログラム とサラッと言われているのだけれど、思いつくのにかなり苦労しました。なんとか 2 つの方法を見つけた。 出題から 1 年半以上経っているので、以下にぼく…

ICFP Programming Contest 2010 終了

ref: http://icfpcontest.org/今回の課題は近年稀に見る面白さでした。要約するとこんな課題。 車とその燃料を開発して、市場に投入せよ。 市場に投入された車の設計書は参加者全員に公開される。燃料の設計書は公開されない。 他社の車の設計書を解析して、…

tkquine

Ruby/Tk で quine 。 eval$s=%q(require"tk" r=Tk.root;r.withdraw x=y=22;s="eval$s=%q(#$s)" f=proc{c=s.slice! 0,1 (f[y+=x=22];next)if"\n"==c w=TkToplevel.new(r){ withdraw geometry"18x18+#{x}+#{y}" overrideredirect true bind"Button",proc{exit}…

kernel-mode quine

C

そういえば C で quine 書いた覚えがないなー、あと Linux のカーネルモジュール書いてみたいなー、と思ったので、練習として Linux のカーネルモジュールで quine を書いてみました。ref: http://github.com/mame/kernel-mode-quineビルド方法。まず、環境…

Ruby でパターンマッチ

ref: 未来の国のアリス - d.y.d.で紹介されている implicit future が Ruby に欲しい! # promise を作る x = Promise.new a = [1, x, 2, x, 3, x] # 今はまだ値になっていない p a #=> [1, _promise_, 2, _promise_, 3, _promise_] # この promise は 42 に…

ModanShogi quine

この記事は Quine Advent Calender 2014 の 103 日目になりました。ref: http://gihyo.jp/dev/column/01/prog/2010/aprilfool2010-01 ref: http://route477.net/d/?date=20100402#p01 で紹介されている yhara さん作の言語で quine を書きました。 以下のよ…

入籍中です

エイプリルフールの釣りである可能性を恐れず祝福のコメントなどをくれたみなさんありがとうございました。エイプリルフール後にくれたみなさんもありがとうございました。 引越しで IP unreachable になったためにろくに返事ができなくてもどかしい状態でし…

入籍しました

入籍しました。

常磐線徒歩 (その 3)

3/13 には、常磐線を歩きました。去年の 8 月ぶり。友部駅から水戸駅まで。線路の距離で 16.5 km 、歩きの距離で 20.5 km 。大きな地図で見るこの時期を選んだ理由は、青春 18 切符を使えること (友部駅まで片道 2000 円を超える) と、偕楽園駅の臨時開業の…

小湊鉄道徒歩 (後編)

翌週は雨だったので、翌々週の 3/5 に続き。上総牛久駅から五井駅まで。線路の距離で 16.5 km 、歩きの距離で 20.5 km 。大きな地図で見る上総牛久駅からスタート。駅前にはバスが回転する広場 (ロータリーというほど整備されていない) があり、タクシーの営…

小湊鉄道徒歩 (前編)

2/20 (土) に、小湊鉄道を歩き始めました。前編は房総半島の真ん中の上総中野駅から、上総牛久駅まで。線路の距離で 22.7 km 、歩きの距離で 29.3 km 。大きな地図で見るまずは小湊鉄道に乗って上総中野駅へ。上総中野駅までいく列車が少なく、朝一番でも 8:…

brainfuck-dialect quine generator

それでも @mametter ならっ・・・! RT @bonotake: quineの作りがいがありそうな…作んないけど RT @masahiro_sakai: ジョジョ言語わろた http://bit.ly/d0RUUR http://twitter.com/masahiro_sakai/status/9091442089 brainfuck の命令文字を置換しただけの俺…

千代田線徒歩

2/6 (土) は、東京メトロ千代田線を歩きました。代々木上原駅から北綾瀬駅まで。線路の距離で 24.0 km 、歩きの距離で 30.7 km 。大きな地図で見る代々木上原駅からスタート。住宅街の中にあって、駅前は広くない。工事中だった。 小田急の代々木八幡駅を通…

京成千葉線・千原線徒歩

1/30 (土) は京成千葉線・千原線を歩きました。前半の千葉線は、線路の距離で 12.9 km 、歩きの距離で 15.3 km 。大きな地図で見る京成津田沼駅をスタート。京成幕張本郷駅と京成幕張駅までは総武線と同じ感じの道のり。 幕張駅の先も、ちょっと離れるだけで…

新京成電鉄徒歩

1/23 (土) は新京成電鉄を歩きました。線路の距離で 26.5 km 、歩きの距離で 32.6 km 。大きな地図で見る新京成電鉄は京成とどういう関係なのかいまいちよくわかってないけれど、とりあえず京成扱いでカウントしている。実は以前松戸駅から途中の五香駅まで…

東葉高速鉄道徒歩

また溜まってしまった。1/16 (土) は、短めに東葉高速鉄道を歩きました。線路の距離で 16.2 km 、歩きの距離で 21.9 km 。大きな地図で見る西船橋駅をスタート。総武線、武蔵野線、京葉線、東西線で来た西船橋も、これで最後だと思うと感慨深い。まあ近くの…

doublehelix: 二重らせん Ruby プログラミングライブラリ

ref: http://github.com/mame/doublehelix/Hello, world! プログラム。 require "doublehelix" AT A--T T---A G----C G----C G----C T---A G--C AT GC T--A G---C T----A A----T T----A G---C C--G AT CG A--T A---T C----G A----T G----C G---C G--C CG GC …

in 中置演算子

「func() の帰り値が 1 または 2 または 3 のとき」みたいなことを書きたいことはよくあります。 r = func() if r == 1 || r == 2 || r == 3 p "hit" end しかし、いちいち変数に代入しないといけないのが気に入りません。とくに変数名を考えるのが面倒くさ…