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

新卒採用

上の書いててそいや書けと言われたのを思い出しました。 なんか新卒採用の季節らしい ので暇な人は受けてみるといいかもしれません。新卒じゃない人でもいいけど。私もだいぶ前に受けたわけですが、個人的にはそんなに手間かからんし下らないことは特に無く…

ゆくとしくるとし

今年を思い出してみようと思います。なんというかとりあえず一番大きい変更はしん一ろうくんが社会人とかになって働いたりしてることかなぁ。まぁ全然ちゃんと働いてるとは言えない気がしてならない気がするんだけど、まぁ本人が予想してたよりはマジメだっ…

続プログラムは ASCII で書くべき

Z80 ゴルフはなかなか大変だなぁと思ったので命令セットに慣れるためにアルファベットと数字だけで Hello, world! を書いてみました。記号も入ってないので前回よりも偉いかもしれません。 2Hello20world3999999555555F9p555555555F5559V99999px27055ENy2009…

0-9

とりあえず命令セットを見ていく。 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:…

PRIC

http://www.spoj.pl/ranks/PRIC/oxyさんとこ で見たので解いてたんだけどお話になりませんでした。無念。

魔法をつくるんだ @wiz

なんか VIPPER さまが遊んでくださってるなーと見つけました。 /m/ とかで 503 出てたのはこのせいかーとか、ストレートな突っ込み入れてくれると面白いなぁとか思いました。でまぁ数年越しの課題であった Wiz でもやってみました。http://shinh.skr.jp/kone…

KWSKK

なんか子音入力というアイデアを前に聞いたので SKK と組み合わせたらどうなるのかなぁと少し遊んでいました。http://kwskk.shinh.org/要は自明な母音は省略することによって省エネになるといいなぁと。例えば東京都が Tkyto で十分、というような。意味ある…

息を吸うように objdump

このへんで書いた、どうなってるか自信が無いことがあったらとりあえず objdump しちゃえという話…とか言うと「アセンブリは…」みたいな雰囲気になることが多い気がするんですが、正直アセンブリなんか読めなくてもコードがどうなってるかくらいはわかるよん…

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>…

UNIX domain socket

なんかしらそれなりにリソース喰う物体はサーバ化しといてみんなでそのリソース使う…っていうのはよくやることかと思います。うちの場合 cmigemo と rdic と w3mcooksrv がそんな感じ。 w3mcooksrv は cookie 共有したいからだけど。で w3mcooksrv 作る時に…

なんか Plan9 とか見てみてから…とか思ってたら全然見ないみたいなので前書いたものを置いておくことに。

122Byte の Web サーバ

なんとなく小さい Web サーバを書いてみました。 Web サーバというかどんなリクエストでも固定応答するだけ。http://shinh.org:40960/例のごとく 58Byte Hello を参考に。まだ縮むと思うけど飽きた。 BITS 32 ORG 0 DB 0x7F ; e_ident entry: inc ebp ; e_id…

PEG party

なんかよくわからんけどタイミングが良かったので PEG 意見交換会とかいうのに場違いながら混ぜていただきました。タイミングが良かったというのは ECMAScript => YARV とかでコンパイラ書いたらどんな感じかなぁとか思って PEG とかたまに聞くから調べてみ…

OOM killer

http://mkosaki.blog46.fc2.com/blog-entry-416.htmlこのへん見ててなんか前なんかの拍子に OOM killer をながめたのを思い出しました。場所は mm/oom_kill.c 。こんなかの badness() で各プロセスのメモリに関しての危険度を調べてるんだけど、さっきの swi…

GCC の switch と ishex

http://alohakun.blog7.fc2.com/blog-entry-878.htmlなんかこのへん見て GCC の switch の最適化とか見てたら、単なるテーブルジャンプ以外のちょっと面白い最適化が目につきました。http://shinh.skr.jp/m/?date=20071121#p01でもテーブルルックアップには…

YASM

前から遊んでみたかったので遊んでみました。とりあえず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/{ # 入力をホー…

Real UNIX MAGAZINE Day

http://www.ascii.co.jp/pb/unixmag-dvd/event/昨日はなんかプログラム見て面白そうさし暇だし行くかとフラフラ行きました。したらなんか言葉責めにあいました。「今日は早いじゃない」とか。ごめんなさいごめんなさいごめんなさい。まぁなんか色々面白かっ…

Shibuya.js

行ってきた。http://blogs.mozilla-japan.org/events/なんか ECMAScript4 は思ってたより全然変わるんだなぁ…と。 operator overload とか。同時通訳とかあってすげーと思ったけど、なんか割と楽な英語を喋る方だったので、平均して半分くらい聞き取れつつ通…

ぼくと新単位 HW とか

プログラムの仕事量っていうのを考えることにする。定義のしかたはすごく難しいと思うけど、日本には行数で仕事量を数えるという素晴らしい文化があって、それで考えるとゴルフの仕事量っていうのはマイナスなのです。まぁ行数っていうのはあかんやろ、と、…

私的OCaml

YTさんとこなどを見て、私的に OCaml に思うところを。(以下完全に私見というか、私に OCaml がどう見えているか、です)OCaml はまぁいい言語だと思います。私的には基本的にいい言語だと思うのですが、ウマは合わない。ゴルフ弱いし。まず、とりまく環境か…

CTQUINE

OCaml に C がさっくり破れてしまって C だともうキツいなぁという感じだったので Python で報復することに。同じ言語で競えよという。正しい木を作ってかつ短くするのは無理かなぁと思ったので、 3行目でペナルティ受けて (-16点) 27行で作りました。下の方…

indent-free Python

Python だけど好き勝手にインデントしたい…とお嘆きのあなたに。 プログラムは ( だけの行から始まって ) だけの行で終えます。 各行は ); で始まって ;( で終わります。 これを守ればインデントの自由が少しだけ戻ってきます。 ( ); h="Hello" ;( ); w="wor…

CTQUINE

kskさんのところ で知った木みたいな形の Quine を書くって問題を頑張っていました。で1位取った。さすがにこれ以上は削れないんじゃないかムードですがどうかな…http://www.spoj.pl/ranks/CTQUINE/ a = "#\ \ :l\ :h:s\ \ ::\ l`ho\ )o(zbi\ \ `s\ +q:q\ sh…

Haskell がアセンブリになるまで @なんとかセミナー

寝坊して14時出社で社内テックトークとか聞き逃しておきながら16時半に消えるとかどうなんかね…とか思いつつ、行かないとこうかなぁと思ったけどやっぱり行った。で面白かったです。話者の id:MaD さんありがとうございます。 GHC のコンパイラの作業の概略…

Symbolic quine

Perl で記号だけ (ASCII が 32-126 で ~/\W/ なものと改行のみ) で Quine を書く努力をしていました。なんか最初は 300Byte 近くだったんだけどゴルフしてるうちに 103Byte まで。 ($;=<<'' #&-!!*!%>{(\$;=<<'' $; )=~(' _ ^-^,'^'"`[;[?@(\$;^\$^)})')+ )=…

map

未だに 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,>…

なにかあれば下記メールアドレスへ。
shinichiro.hamaji _at_ gmail.com
shinichiro.h