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

ELVM を使った multiquine

言語間を自由に行き交うことができる Quine の集合のことを multiquine と言います。例えば mq.rb と mq.py が multiquine であるとは、 ruby mq.rb rb と実行すると mq.rb が出てくる(普通の Quine) python mq.py py と実行すると mq.py が出てくる(普通…

二分探索サンプルコード集(コピペ用)

二分探索は、感覚的なわかりやすさに反してバグが入りやすいことで有名なアルゴリズムです。20 の教科書のうち 15 でバグっていたという報告もあるそうです。実際、自分も書くたびにバグに苦しんできました。変な値を返すだけでなく、out of bounds アクセス…

Quine Tweet: 自分自身へのリンクを持つ再帰的ツイート

This tweet is recursive. https://t.co/bZISaPd3Ts— Quine Tweet (@quine_tweet) 2016年9月19日「このツイートはありません」となっていますが、URL をクリックすれば自分自身に飛べます。以下、このツイートが生まれるまでの経緯を長々と書きます。 問題設…

『Rubyで学ぶRuby』連載開始

「Ruby で Ruby を作りながら Ruby を学ぼう!」というトンデモ連載企画、『Ruby で学ぶ Ruby』を ascii.jp で始めました。ref: http://ascii.jp/elem/000/001/228/1228239/何を言ってるかわからないかもしれないので補足すると、「Ruby(言語)で Ruby(の…

『オブジェクト指向設計実践ガイド』を読んで

オブジェクト指向設計実践ガイド ~Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方posted with amazlet at 16.09.01Sandi Metz 技術評論社 売り上げランキング: 20,383Amazon.co.jpで詳細を見る自著を書いたご縁で、技術評論社さまから贈本いた…

『プログラミング Elixir』を読んで

プログラミングElixirposted with amazlet at 16.08.22Dave Thomas オーム社 売り上げランキング: 1,168Amazon.co.jpで詳細を見る川崎 Ruby 会議 01 の会場で、訳者の笹田さん・鳥井さんから一冊献本いただきました!ありがとうございます!さっそく読み終え…

川崎 Ruby 会議 01 で基調講演しました

8/20 (土) に、川崎教育文化会館で川崎 Ruby 会議 01 が行われました。恐れながら、基調講演なるものをさせて頂きました。 Ruby で高速なプログラムを書く from mametter 内容は、東京 Ruby 会議 05 で話した Optcarrot の完全版でした。基調講演というと「…

[C][IOCCC] The 24th IOCCC: Best One-liner

f(y,x){int m,z;for(m=z=1;m*m<=y?z=y%m?z:m:x+1?z<2?x?f(x,0):putchar(64):f(z,x),putchar(x?10:32),y-=z:(f(z,y/z),0);)m++;}main(y){f(y-1,-1);}実行します。 $ gcc -o prog prog.c $ ./prog @ @ $ ./prog @ @ @ @ $ ./prog @ @ @ @ @ @ $ ./prog @ @ @ @…

[C][IOCCC] The 24th IOCCC: Back to the Future Award

#include /*recall-the\ /-good--old-\ /IOCCC-days!\ */<unistd.h> typedef unsigned/*int*/ short U;U(main) [32768],n,r[8]; __attribute__(( # define R(x) A(r[ 7-(n >>x& 7)], (n>> x>>3 )%8) #define C(x) (U*) ((/* |IO| -dpd */char*) main +(x) )/*| |CC| ll</unistd.h>…

[C][IOCCC] The 24th IOCCC: Most Overlooked Obfuscation

衝撃的な問題作。まずはこの動画をご覧ください。あなたの常識が崩れるはず。何の呪いでしょうか。自分で試してみたい人のコピペ用。 wget http://ioccc.org/2015/endoh2/prog.c cat prog.c gcc -w -o prog prog.c ./prog ネタバレ解説 バックスペース文字の…

[C][IOCCC] The 24th IOCCC: Most Diffused Reaction

ref: http://ioccc.org/2015/endoh1/prog.c #define/**/Alan/**/(fflush(0),j=c=0;++c

[C][IOCCC] The 24th IOCCC の結果が公開されました

C 言語のプログラムの汚さで競い合うプログラミングコンテスト、The 24th International Obfuscated C Code Contest (IOCCC 2015) のソースコードがいまごろになって公開されました。ref: http://www.ioccc.org/years.html#2015既報の通り、自分は以下の 4 …

Optcarrot: Ruby で書かれたファミコンエミュレータ

ウソみたいな本当の話。Ruby でファミコンエミュレータを書いてみました。気になる速度ですが、自分の環境では 20 fps ちょっと出ます。ファミコンは 60 fps なので、実速の 1/3 です。Ruby3x3 (Ruby 3 は Ruby 2 の 3 倍速い)という matz の宣言が実現す…

Writing Qlock

俺の卒業制作書き時計 pic.twitter.com/NSBi45Lj77— K / $uzuki (@BellTreeNursing) 2016, 2月 7うわーすごいなーと思ったので、パクリ インスパイアされてみました。Ruby プログラムで書き時計。 eval(T=%(eval(%(E=27.chr;Z=32.chr;$ ><<E+"[2J";K=->q{(q-q*(1-3844.0/q</e+"[2j";k=->…