2007-01-01から1年間の記事一覧
上の書いててそいや書けと言われたのを思い出しました。 なんか新卒採用の季節らしい ので暇な人は受けてみるといいかもしれません。新卒じゃない人でもいいけど。私もだいぶ前に受けたわけですが、個人的にはそんなに手間かからんし下らないことは特に無く…
今年を思い出してみようと思います。なんというかとりあえず一番大きい変更はしん一ろうくんが社会人とかになって働いたりしてることかなぁ。まぁ全然ちゃんと働いてるとは言えない気がしてならない気がするんだけど、まぁ本人が予想してたよりはマジメだっ…
Z80 ゴルフはなかなか大変だなぁと思ったので命令セットに慣れるためにアルファベットと数字だけで Hello, world! を書いてみました。記号も入ってないので前回よりも偉いかもしれません。 2Hello20world3999999555555F9p555555555F5559V99999px27055ENy2009…
とりあえず命令セットを見ていく。 0: jr nc,$+2 7: scf 8: jr c,$+2ゴミ。 2: ld (00000h),a使えそうに見える、が、 A レジスタを変更する手段が無い。 6: ld (hl),000hオペランドも結局数値限定なのでイマイチ。 1: ld sp,00000h 3; inc sp 4: inc (hl) 5:…
http://www.spoj.pl/ranks/PRIC/oxyさんとこ で見たので解いてたんだけどお話になりませんでした。無念。
なんか VIPPER さまが遊んでくださってるなーと見つけました。 /m/ とかで 503 出てたのはこのせいかーとか、ストレートな突っ込み入れてくれると面白いなぁとか思いました。でまぁ数年越しの課題であった Wiz でもやってみました。http://shinh.skr.jp/kone…
なんか子音入力というアイデアを前に聞いたので SKK と組み合わせたらどうなるのかなぁと少し遊んでいました。http://kwskk.shinh.org/要は自明な母音は省略することによって省エネになるといいなぁと。例えば東京都が Tkyto で十分、というような。意味ある…
このへんで書いた、どうなってるか自信が無いことがあったらとりあえず objdump しちゃえという話…とか言うと「アセンブリは…」みたいな雰囲気になることが多い気がするんですが、正直アセンブリなんか読めなくてもコードがどうなってるかくらいはわかるよん…
トラックバックをいただいた ので少し書いておきます。 バイナリゴルフに使える …とかはまぁどうでもいいとして -S -fverbose-asm とかつけるのめんどい。 Makefile とか書いて include path とか指定してるようなコンパイルのしかたしてる時に -S を Makefi…
telnet -u が便利…だと思ったら MacOSX と FreeBSD には telnet -u あるんだけど、手元の Linux には無いみたいで困る。 unixclient では作れないかなぁ…と思ったので Ruby でサックリと。 require 'socket' sock = UNIXSocket.open(ARGV[0]) inputs = [STDI…
C だとお決まりの socket bind listen accept で作る。以下同時接続数 1 の echo サーバ。 #include <stdio.h> #include <unistd.h> #include <sys/types.h> #include <sys/socket.h> #include <sys/un.h> int main() { int sock; struct sockaddr_un addr; if ((sock = socket(PF_UNIX, SOCK_STREAM, 0)) < 0) { perr</sys/un.h></sys/socket.h></sys/types.h></unistd.h></stdio.h>…
なんかしらそれなりにリソース喰う物体はサーバ化しといてみんなでそのリソース使う…っていうのはよくやることかと思います。うちの場合 cmigemo と rdic と w3mcooksrv がそんな感じ。 w3mcooksrv は cookie 共有したいからだけど。で w3mcooksrv 作る時に…
なんか Plan9 とか見てみてから…とか思ってたら全然見ないみたいなので前書いたものを置いておくことに。
なんとなく小さい Web サーバを書いてみました。 Web サーバというかどんなリクエストでも固定応答するだけ。http://shinh.org:40960/例のごとく 58Byte Hello を参考に。まだ縮むと思うけど飽きた。 BITS 32 ORG 0 DB 0x7F ; e_ident entry: inc ebp ; e_id…
なんかよくわからんけどタイミングが良かったので PEG 意見交換会とかいうのに場違いながら混ぜていただきました。タイミングが良かったというのは ECMAScript => YARV とかでコンパイラ書いたらどんな感じかなぁとか思って PEG とかたまに聞くから調べてみ…
http://mkosaki.blog46.fc2.com/blog-entry-416.htmlこのへん見ててなんか前なんかの拍子に OOM killer をながめたのを思い出しました。場所は mm/oom_kill.c 。こんなかの badness() で各プロセスのメモリに関しての危険度を調べてるんだけど、さっきの swi…
http://alohakun.blog7.fc2.com/blog-entry-878.htmlなんかこのへん見て GCC の switch の最適化とか見てたら、単なるテーブルジャンプ以外のちょっと面白い最適化が目につきました。http://shinh.skr.jp/m/?date=20071121#p01でもテーブルルックアップには…
前から遊んでみたかったので遊んでみました。とりあえずhttp://d.hatena.ne.jp/hzkr/20070323#p3の Scheme を復元してみました。 yasm.rb もちょっと変える必要あるみたいなので中に入ってます。正しい方法でやってるかは知らない。http://shinh.skr.jp/tmp/…
Perl は正規表現とか " ではさまれた文字列の中にある変数とか配列を展開してくれるんですが、これは明らかに正規表現の文字クラス ([abc] とか書くヤツ) とブツかるわけです。以下のコードは @a に 0-999 まで "x" っていう変数をつっこんでから s/$a[...]/…
このへん説明してみようかと思いました。花嫁修行のお供に。http://shinh.skr.jp/m/?date=20071104#p06 seq 1 1000 | sed ' # : はラベル。なんか知らんけど少なくとも GNU sed は無名ラベルも OK 。 : # 0 があるなら {} の中身を実行。 /0/{ # 入力をホー…
http://www.ascii.co.jp/pb/unixmag-dvd/event/昨日はなんかプログラム見て面白そうさし暇だし行くかとフラフラ行きました。したらなんか言葉責めにあいました。「今日は早いじゃない」とか。ごめんなさいごめんなさいごめんなさい。まぁなんか色々面白かっ…
行ってきた。http://blogs.mozilla-japan.org/events/なんか ECMAScript4 は思ってたより全然変わるんだなぁ…と。 operator overload とか。同時通訳とかあってすげーと思ったけど、なんか割と楽な英語を喋る方だったので、平均して半分くらい聞き取れつつ通…
プログラムの仕事量っていうのを考えることにする。定義のしかたはすごく難しいと思うけど、日本には行数で仕事量を数えるという素晴らしい文化があって、それで考えるとゴルフの仕事量っていうのはマイナスなのです。まぁ行数っていうのはあかんやろ、と、…
YTさんとこなどを見て、私的に OCaml に思うところを。(以下完全に私見というか、私に OCaml がどう見えているか、です)OCaml はまぁいい言語だと思います。私的には基本的にいい言語だと思うのですが、ウマは合わない。ゴルフ弱いし。まず、とりまく環境か…
OCaml に C がさっくり破れてしまって C だともうキツいなぁという感じだったので Python で報復することに。同じ言語で競えよという。正しい木を作ってかつ短くするのは無理かなぁと思ったので、 3行目でペナルティ受けて (-16点) 27行で作りました。下の方…
Python だけど好き勝手にインデントしたい…とお嘆きのあなたに。 プログラムは ( だけの行から始まって ) だけの行で終えます。 各行は ); で始まって ;( で終わります。 これを守ればインデントの自由が少しだけ戻ってきます。 ( ); h="Hello" ;( ); w="wor…
kskさんのところ で知った木みたいな形の Quine を書くって問題を頑張っていました。で1位取った。さすがにこれ以上は削れないんじゃないかムードですがどうかな…http://www.spoj.pl/ranks/CTQUINE/ a = "#\ \ :l\ :h:s\ \ ::\ l`ho\ )o(zbi\ \ `s\ +q:q\ sh…
寝坊して14時出社で社内テックトークとか聞き逃しておきながら16時半に消えるとかどうなんかね…とか思いつつ、行かないとこうかなぁと思ったけどやっぱり行った。で面白かったです。話者の id:MaD さんありがとうございます。 GHC のコンパイラの作業の概略…
Perl で記号だけ (ASCII が 32-126 で ~/\W/ なものと改行のみ) で Quine を書く努力をしていました。なんか最初は 300Byte 近くだったんだけどゴルフしてるうちに 103Byte まで。 ($;=<<'' #&-!!*!%>{(\$;=<<'' $; )=~(' _ ^-^,'^'"`[;[?@(\$;^\$^)})')+ )=…
未だに C++ の map の使い方がよくわからんという話。例えば int 型の ID の出現回数を map histogram とかで勘定する場合って map<int, int>::iterator found = histogram.find(id); if (found == histogram.end()) { histogram[id] = 1; } else { found->second++; }</int,>…