2010-01-01から1年間の記事一覧
よく、 libc の関数呼べるかどうかはあやしい部分を printf デバッグしたいことがあると思います。あるんですよ!そういう時にシステムコールってどう呼ぶんだっけ…みたいなことを調べたり、ええと数字を出力したい…とかいうのは結構かったるいので、 #includ…
TCC の作者であるところの Fabrice Bellard という人は何やらものすごくて、 TCC のスライドにも書いたように、 qemu とか ffmpeg の作者であると同時に、πの任意桁を比較的高速に求めるアルゴリズムを開発したり、πをたくさんの桁数計算して、8ヶ月ほど世界…
http://d.hatena.ne.jp/shinichiro_h/20101217#1292521642のスライドは ELF のあたりから前の晩に適当に書いたとかなので、正直気合い入ってないというかグダグダというか ELF の話をすると言いつつ ELF の話が無かったりして、ひどかったです。まあやってか…
を会社でしたのでそのスライドを置いておきます。http://shinh.skr.jp/slide/tcc64/000.htmlいつかこういうのまとめたいなあと思っていたのですが、特に後半とか色々グダグダになったり、記憶が消し飛んでて何に苦労したか忘れていたりと、まぁ色々適当にな…
http://per.bothner.com/papers/GccSummit03/gcc-server.pdfを読んでみました。7年前の話で、かつ今実現してる気配がないので失敗したんでしょうけど、まぁコンパイラの state を再利用するには何をしなければならなくて、何が難しいか、みたいなことがざっ…
そこはかとなくどうでもいいことを色々。まとめるとか大変なので、関係あること無いこと散慢と。 バカさが重要という話 よく話してるバカさが重要ですよねーという話とかと近いなあと思った。年喰うと経験積んだおかげで要領良くなるけど、バカな時にあった…
気付いたけど傲慢な人は職業プログラマとしては傲慢さを抑えないといけないシーンがありますね。自分としてはまだ満足いってないんだけど、納期は数ヶ月前に…みたいな。仕事なんだから中途半端ではなくて面倒で時間のかかる最後の仕上げやテストも書かないと…
プログラマに取って重要な能力というか気質として、中二病というのがあるんじゃないかなーとかふと思ったのだった。なんかちょっとしたことを達成した時に、「おおなんてこったオレすげー!!やばいオレ新世界の神だ!!!」みたいなことを思ったことがある…
例えばこう、ディレクトリの名前とその中のファイル名を / でくぎって結合する関数を書くとします。引数が std::string でも使いたいし const char* でも使いたい、ということで、たいていは void JoinFilePathStr(const string& dir, const string& base, s…
MikuMikuDance のデータについて結構 web に情報があるみたいだったので、適当に parser 書いて 2D canvas とか WebGL で動かして遊んでみて、 SDL off 2010 summer で紹介してみたりしました。で、動く URL にリンクはろうかと思ったんですが、よく考えると…
http://shinh.skr.jp/wake/なんか忘れてた $+ を足しました。一番最後にマッチした正規表現をひっかけるアレ。 primitive brainfuck code 書いてて忘れてたことに気付いた。eban さんに文字列の外でも \ でエスケープできた方が空白含むアクションとか作れて…
書けた。ただ、 \xab とかをサポートしてないのでバイナリが混じってしまった。http://shinh.skr.jp/wake/bfint.wakeあと num.wake もパッケージの外に置いておいた。今思うに、意外と sub が一番大変だった気がする。あとたぶん mul は高速化できると思う。…
http://d.hatena.ne.jp/shinichiro_h/20100709#1278603483の続き。ドキュメントとか書きました。http://shinh.skr.jp/wake/パッケージもアップデートしました。http://shinh.skr.jp/wake/wake.tgz変更点は C++ 実装のインタプリタ (PCRE に依存) を追加した…
も簡単。 s zz xor print lc q ys ZZy xor print xor print lc q yZy xor printz xor print lc q ys ZZy xor print xor print lc q yZy xor print
s XXchr length q YThisPerlCodeConvertsAnyPerlCodeIntY Xe xor s XXchr length q Y ThisPerlCodeConvertsAnyPerlCodeIntoAlphabetOnlyPerlCodeThisPerlCodeConvertsAnyP erlCodeIntoAlphabetOn Y Xe xor s XXchr length q YThisPerlCodeConvertsAnyP erlCo…
s XXchr length q YThisPerlCodeConvertsAnyPerlCodeIntY Xe xor s XXchr length q YThisPerlCodeConvertsAnyPerlCodeIntoAlphabetOnlyPerlCodeThisPerlCodeCon vertsAnyPerlCodeIntoAlphabetOnlyPerlCY Xe xor s XXchr length q YThisPerlC odeConvertsAnyP…
Makefile と正規表現とパターンマッチを混ぜたような、トイ言語を作ってみました。http://shinh.skr.jp/wake/wake.tgz Hello, world! all: "Hello, world!" wake のプログラムは Makefile のように書きます。つまり、 : で区切って左辺にターゲットを書いて…
なんというか、映画とかマンガとかで、不慮の事態に対してプログラマががーと動いてるコードを修正しちゃうシーンとかがあると、そんなことできるわけねー、と思いつつも、やはりかっこいいわけです。で、まぁ Befunge なら動いてる最中のもの修正するくらい…
http://shinh.skr.jp/dat_dir/icfpc-2010/factory/genkey6.rb任意の要求出力に対して、出力数 + 7 で回路を作れるコードです。とりあえず key prefix と Car #10060 への答えくらいは動いてることを確認したので、まぁ動いてるんじゃないかと。説明を試みる…
頑張りはしたんですが、正直もっとやれたんじゃないかとくやしい。最後まで有効なソルバ書けなかったって感じですし…コードはこのへん。こいうのって tgz とかよりディレクトリ置いとく方が面白いかなーと思ってそうした。 tern.rb あたりがひどい感じ。結果…
なんか tgmath.h について調べてて、 GCC 拡張にある type generic macro をサポートする機能を C に入れてはどうすかという提案があることに気付きました。http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1404.htmでなんか C1X ってどういう感じなのか…
このプレゼンで紹介した tgmath.h の実装が素晴らしいという話なんですが、資料は口頭で説明する前提すぎて、イマイチ詳しくないので別に書いておこうかなぁと思います。これは C で型計算やってると言えると思うのでなかなかなもんなのです。そもそも tgmat…
今まで見たり書いたりしたトリッキーなコードというか hacky なコードを適当に紹介するプレゼンを作ったので置いておきます。http://shinh.skr.jp/dat_dir/mederu/000.html書いてみて思ったのは、なんか結構今までにメモってないトピックがあったなーという…
見た目が対称ってのはどうかなぁと思って作ってみました。端末で見やすくしたくて、横幅を 80 文字以内におさえようとしてたら、何故か横幅ゴルフみたいな感じになってきて無駄に細くなりました。 ______={}//\\{}=______ _=+[]//\\[]+=_ ______.___=""+[][+…
http://d.hatena.ne.jp/TAKESAKO/20100519/1274240074回文ってのは一行コメントある言語だとゴルフでもしない限り自明すぎてどうでもいいわけですけど、一行コメントが無い言語とかだとそれなりに面白くて、 OCaml なんかだと ksk さんが \ をうまく使ってお…
http://atnd.org/events/4295書いたのだけどはるの忘れてた。行ってきた。 tanakh さん主催ごくろうさまでした。現状ではイマイチ使い道が…みたいな雰囲気は以前見た時からあまり変わってないかなぁと感じた。でもなんか前見た時よりは bit code の instruct…
記憶をダンプ。どれも別に本当に正しい議論であるかは不明。もっと重要な論点とかあったら教えていただければとてもうれしいです。 「GCってスループットvsレイテンシってよく言うわけですけど」 「実際 GC する言語でスループット欲しいとか思ってるユーザ…
なんか TCC だの WebKit だのを触っていると、ツリー構造を何度もなめてて同じコードを何度も通る感じになって、デバッガの breakpoint がイマイチ機能しない時があります。そういう時は printf を仕込んだり条件付き break を使ったりとかするわけですが、…
なんか問題作るの手伝うとか言いつつほとんど何もしなかったものの私の出題の問題もあるしなーという微妙な状況だったのですが、良ければテストしてちょ、と始まってから言われたので、適当に参加した。ちょうど入賞圏外の4位というのはうまいところにおさま…
なんか例年あるよくわからない雑談会を id:kmizushima さんが主催してくれました。最初は6人とかだったけど今年は15人とかいたらしい。私は最近うなされがちなメモリがどうこうという話をしてみました。言語機能の紹介とかじゃなくて俺の欲しい機能を喋るだ…