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

D 言語で CGI を書こう!

http://shinh.org/clock/clock.dなんか適当に CGI 書いてみました。 D 言語はダメコチャンな言語なので入力受け取れないので時計くらいしか書けないなぁと思いました。しかも拡張子 CGI だと動かないんですよねえ。 html なら動くんだけど。追記: あ、えーと…

昨日は紳士会でした。経緯はあまり深く考えず(最近そんなばっかやな)ゴルフ系の人結構関西にいるなぁとか思ったので帰省にあわせてお誘いしてみたとかそんな。感想は id:Ozy さんがおいそがしそうで面白…じゃなくて申し訳なかったとか後半は D の話ばかりし…

デフォルト引数の __LINE__, __FILE__

前少し話してた話なのですが。プログラミング言語 D - Cプリプロセッサ vs D のマクロの項目 の 8 に C の assert マクロ vs 組み込み assert みたいな項があるんですが、これって assert 以外の名前でユーザ側で作りたい場合に、呼び出し側で毎度 __LINE__ …

TCC をリンカに

Linux の DMD で作業してるとすぐ気付くんですが、コンパイルは速いのでボトルネックは GCC というか GNU ld だったりするんです。小さいファイルの場合特に。んでていうか ld ってなんかやけに遅いよねぇとか思ってたのでリンカ書いてみる…とか思った時代が…

プレゼント交換

http://d.hatena.ne.jp/Nabetani/20061217#p1via http://d.hatena.ne.jp/sumim/20061220/p1ゴルフ的にはこんなのとか? 7 人くらいると破綻するみたいだけど。 a=gets.split $$.times{b=a.sort{rand-0.5}.zip a b.all?{|i,j|i[0]!=j[0]}&&$*<

Mach-O Golf

http://shinh.skr.jp/binary/hello_macho.sPPC で 248Byte 。でけええ。先人の作業を参考にしたりパクリつつ。特に作るプロセスは textEx を使わせていただいています。http://d.hatena.ne.jp/shotaro_tsuji/20061220/1166610321http://d.hatena.ne.jp/shota…

JVM Golf

Java かわいいよとみずしまさんがおっしゃってたのでとりあえず Hello world を書いてみました。 267Byte 。http://shinh.skr.jp/binary/Code.class普通にやると 409Byte くらい。 i@u ~/test/java> cat c.java public class c{ public static void main(Str…

無限るーぷ

スラド経由でhttp://slashdot.jp/developers/comments.pl?sid=344503&cid=1078407これ経由でhttp://www.tietew.jp/cppll_novice/archive/1578こちら。http://eyeba11z.blogspot.com/2006_11_01_eyeba11z_archive.htmlGCC なら普通にこんな感じで削れますね。…

chphdrmod.rb

そういや忘れてた。これ無いと上の .s は実行できません。全てのプログラムヘッダのパーミッションを rwx にするという夢のツ〜ルです。 c = ARGF.read phnum = c[44,2].unpack("v")[0] phnum.times{|i| c[52+i*32+24,4] = [7].pack("V") } ARGF.close File.…

んで ASCII 縛りの説明とか

ASCII 縛りというか C 文字列縛りというか。いやこれ結構大変なんですよ。とりあえず使える命令がわからんと話にならないのでこういう表を作る。http://shinh.skr.jp/binary/x86_ops.txtこれはバイナリツールと化している irb でサクサク作りました。以下と…

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

ふと、 main = 195; とかやって喜んでいた私はバカだったんじゃないかと思いました。 Binary 2.0 などとうかれてほとんどバイナリのコードをゴルフに submit してたのはどうなのか、と。プログラムは ASCII で書くべきだったんじゃないでしょうかと。それも…

言語雑談会2006

すんごい適当な経緯で去年同様色んな方と雑談ができました。よくわからん集まりなのに来て下さった方、特に遠方の方々はありがとうございました。特に奈良からわざわざいらしてくださった上に発表までしてくださった Cryolite さんには感謝感謝としか。えー…

b2con

去年よりネタぽさが減ってお役立ち感が少し増えた感じでした。話そうかと一瞬提案したりもしたのですが、どうもネタが動かない&暇ないということで何も発表しなかったのですが、会場の盛り上がりぷりを見ていると、自分の実力もわきまえず発表したくなったり…

もうだいたい忘れたような

75B ELF @ FreeBSD

昨日は b2con でした。発表者の皆さんおつかれさまでした。とても楽しかったです。dankogaiさん が FreeBSD で ELF ゴルフは制約が多いと教えてくださったのでやってみました。確かに制約は厳しい感じでした。 75Byte 。http://shinh.skr.jp/binary/hello_fr…

最小 Hello の比較とか

http://www.dodgson.org/omo/t/?date=20061213#p01で "Size Is Everything" が日本語訳がされていて素晴らしいです。[SIE] http://www.hyuki.com/yukiwiki/wiki.cgi?WhirlwindTutorialOnCreatingReallyTeensyElfExecutablesForLinuxまぁみんな最小だ最小だと…

まともな memfun

で、 D はメンバ関数へのポインタが本当にメンバ関数へのポインタなので使えないわけです。以前書いた こんないいかげんなのだと多態できない(つまりsumimさんのメンタルモデルが裏切られない)わけですが。なんかいつ書いたかわからんけど多態できるバージョ…

メンバ関数へのポインタ

問題です。以下の C++ のコードがどのくらいの数値を出力するかどうかを予想して、実際に確かめてみて下さい。 #include <stdio.h> struct C { void f() {} virtual void vf() {} }; int main() { printf("%p\n", &C::f); printf("%p\n", &C::vf); }まぁうちだと 0x80</stdio.h>…

D monooki

http://pc8.2ch.net/test/read.cgi/tech/1165621441/21まぁこんなところがあればまぁいいような。http://d.shinh.org/html/toy/shinh/struct_init.htmlというわけでなんか D のソースコード置き場を作りました。 SVN でコミットしたら上記みたいな html が自…

そんなことよりですね!

Wii欲しい!動画は適当に最近 Kunoichi/Shinobi の動画に感動しまくりなのでそのへんから適当に。ノーロック100殺陣とかありえん。

終わらないうたをうたおう

このファイルコンパイルすると、コンパイルが終わりません!コンパイラが無限ループするっていったいぜんたい。http://shinh.skr.jp/tmp/functional_endless.dそれはともかく。http://d.hatena.ne.jp/niha/20061209#1165682303謎を色々追うにはさんに感動し…

FFI for DMD functions

D 言語で FFI をやるライブラリを作りました。これでたぶん phobos 呼べまくりなので適当に自作言語でも作ってください。うそですもうちょいまともな reflection が欲しいですね。まぁそれも作る。http://shinh.skr.jp/d/ffi.tgzTODO: new をなんとかする de…

ぱセリ

はてなセリフが面白くて困っています。http://serif.hatelabo.jp/そこでぼんやりはてなセリフを眺めるためのソフトウェアを作りました。http://shinh.skr.jp/koneta/#paseri見てる画像の保存やらクリップボードへのコピーとかもできます。気が向いたらスクリ…

compile time quine in D

http://shinh.skr.jp/d/quine.dなんか pragma msg は計算結果が使えないという勘違いをしていたのですが、なんか色々やってみたらできました。もうちょい短くしたいところですね。 template c(int v){const char[] c=""~cast(char)v;} const char[] x="pragm…

typesafe printf in D

http://www.kmonos.net/wlog/68.html#_2331061204最後やりたかったのは本当はこんな感じですか! import std.stdio; import std.typetuple; template FormatCheckerType(char[] orig, char[] fmt, T...) { static if (fmt.length == 0) { static assert(fals…

w3m の GOTO_RELATIVE

GOTO_RELATIVE は今いる URL か、アンカーの先の URL を編集して他の URL にいけるというものですが、私は今いる URL 基準の設定 (default_url = 1) にしてあります。ですが、主に 2ch など、 base href が書いてあるサイトでは、その指定された base href …

Exceptional C++ Style

http://www.amazon.co.jp/exec/obidos/ASIN/0201760428読みました。最初はなんか、本の体裁とか説明口調がすごいかっこよくて(「exportと国会議事堂の共通点は何か!?」とか)、目新しいこともちらほらとあったのでおおこれはいい本かもと思ってたんですが、…

PE Golf

おー 97Byte の PE Hello がーとか今頃気付いたので。http://d.hatena.ne.jp/firewood/20061120/1163957029そしてなんか特に変数いじることなくうちでは動いてくれたので、これは初心者向けだ!と思って、とりあえず目につくとこいじったら "Hello, world!\n…

DRef 0.1.0

D でも ReFe みたいなものが欲しくなったので作りました。つまり phobos のドキュメントをコマンドラインでひけます。 D で書くのもめんどそうだったので Ruby で書いてありますので要 Ruby 。http://shinh.skr.jp/d/dref.zip適当に dref_ja.db と dref.rb …

alias 引数の template

最近 D を追い切れてなかったのでどっかで騒いでたかもしれませんが、私に見える範囲では(要は私のアンテナにある程度)、 DMD 0.173 で導入された、「テンプレートのalias引数として、ローカル変数やネスト関数が指定可能になりました。」って変更はそんなに…

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