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

CRC32 Quine

Quine Advent Calendar というのがあるのかーと思ったが、特にネタがなかったので一発ネタ。http://www.adventar.org/calendars/645 $ curl http://shinh.skr.jp/dat_dir/crc32_quine1.txt > x % Total % Received % Xferd Average Speed Time Time Time Cur…

SECCON 2014 予戦

ソロ。30位。今回はちゃんと点数集める方向でやってみよう…と途中まで思ってやってる感じだったので、ちょっとそれにしては、なイマイチ感。http://ctf.seccon.jp/rank/なんかエスパー力検定みたいなオーラがそこらじゅうから流れてたなあ感。 Easy Cipher /…

static link について

案外、 static link ってわかってないもんです。というかリンカってわかってないもんです。そして案外はまるものです。以下のクイズに答えられるでしょうか。 クイズ1 $ nm main.o # int main() {} 0000000000000000 T main $ nm foo.a # void foo() { bar()…

はてなブログにおひっこし

なにやらリダイレクトとか含めて、簡単に移動できそうだったので、はてなブログにおひっこししてみました。サイドバーとかついてブログぽくなりました。動機はエゴサーチで、 shinichiro_h てのが twitter で検索できないんですよねなんか。

CSAW CTF 2014

https://ctf.isis.poly.edu/scoreboard前回 (HITCON CTF 2014) 参加した時に、これは面白いけど一人でやると真剣にしんどいなーと思ったので、まわりの人を適当に誘ってチームで参加してみました。名前のアイデアが誰もなかったので、僕が適当に決めた nop-o…

irbrc を書いたら ruby 1.9 とだいぶ和解できた話

いつも言ってることだけど、 ruby 1.9 からの m17n のせいで、バイナリツールとしての ruby が色々不便になって、参っていました。特に、 'a' の ASCII code を知るのに、 irb(main):001:0> 'a'[0] => "a"とかやるクセがついてて、これで "a" と出るとか、そ…

HITCON CTF 2014

CTF ていう、セキュリティコンテスト的なやつ、前から少し気になってたんだけど、おすすめしてもらったこともあって初参加してみました。結果は 20 位。大変たのしかった。リポジトリ: https://github.com/shinh/hitcon-ctf-2014 vash 10 練習的なやつ。いき…

ICFPC 2014

総じておだやかに楽しかった。https://github.com/shinh/icfpc2014 1日目 初日、21時から問題を読む。んー普通だなーと思いつつとりあえず寝る。起きて Lambda-man の AI を書きはじめる。普通だと思ったけど、 Lisp マシンってこういうふうな感じなんだなぁ…

2D Lisp

beflisp.bef が 1次元 Lisp しかサポートしてないのはけしからん、と言われてその通りだなぁと思ったので、 lisp2d.c てのを書いて beflisp2d.bef を生成してみました。 bc2bef.cc は全くいじる必要がありませんでした。 Befunge コードが C 書くだけで作れ…

追記

TODO の後者の方はやった。3倍はやくなりました。前者の方はとりあえずレジスタって概念を導入してみて、少しだけはやくなりました。次で使う場合はレジスタっていうか Befunge のスタックに残しておけるんで、そういうことをすれば少しだけ速くなるはずです…

beflisp.bef と LLVM Befunge backend

https://github.com/shinh/beflispLisp インタプリタを作りました。今度は Befunge で。https://github.com/shinh/beflisp/blob/master/beflisp.befコードを見ればわかりますが、手書きは諦めました。 前回の sed と違って Befunge は数値演算は素直に提供し…

sedlisp.sed

https://github.com/shinh/sedlispLisp インタプリタを書きました。 sed で。https://github.com/shinh/sedlisp/blob/master/sedlisp.sedREADME に書いた通り、それなりにややこしいプログラムも動く気がします。具体的には eval.l として、 eval の無いとこ…

失敗ロック例いくつか

なにかあまりスレッドとか得意でない人のコードを見ていて、いくつかダメな予感がするパターンがあるよね、ってことで適当に集めてみました。どれもこれも小さな例にすると、こんなミスしねーよ、って感じなんですけど、複雑なコードの中にあると結構ミスる…

あと別解

存在を忘れかけてたんですけど、 Haskell, Falcon, Lua を消して Scheme, Clojure, Common Lisp を足そうとしたバージョンがあったんですが、 ideone の Scheme が Gauche じゃなくて Guile だったので萎えたバージョン:http://shinh.skr.jp/obf/polyadd2.tx…

polyglot addition

https://codeiq.jp/ace/cielavenir/q816を見ておお面白い問題だーと思って、がんばったのはいいんですが、提出忘れてたぽいんで、勝手に上げておいておきます。Ruby / Bash / Python / Perl6 / Perl / Haskell / Brainfuck / Whitespace / Groovy / Falcon /…

あと

これのおかげで Bash の Hello broken keyboard の記録が更新されました。http://golf.shinh.org/p.rb?Hello+broken+keyboard#Bash

hello, world * 6

https://codeiq.jp/ace/nabetani_takenori/q766を見て、おおこれは面白い問題だーと思ってチャレンジしました。とはいえ 3 言語で重複無しとか、文字種制限経験者には楽勝なんで、 6 言語になりました。第一感では 5 言語くらいはいけるだろーと思って、後で…

robust_quine.pl

Ruby にできて Perl にできないことは無いという格言があります。http://d.hatena.ne.jp/ku-ma-me/20140219/p1 $$qq.=q';printf"\$\$qq.=q%c%s%c;;##%c;\n\$\$uu.=q%c%s%c;;##%c;\n\n\$\$ii||=%c\$_;;\$\$\$ii.=\$\$qq;;s#^;.{217}\$#\$\$qq#ee;;#;#^^;\n\$\…

mingn

MinGW 的な、ミニマルな GCC 開発環境を NaCl 上で動かしたいなってことで冬休みくらいから遊んでた (gcc のポート自体は一昨年からあったが…) ものをちまちま naclports という NaCl に移植したアプリ集みたいなところにコミットして、なんとなく区切りがつ…

ARM test environment on Debian

$ cat /etc/apt/sources.list.d/emdebian.list deb http://www.emdebian.org/debian/ sid mainとか置いておいて、 $ sudo apt-get update $ sudo apt-get install g++-4.7-arm-linux-gnueabihf qemu gdb-arm-none-eabiとかで。 gdb-arm-none-eabi は gdb-mul…

ARM にゅうもん

例のごとく、書かないと覚えられません。参考文献日本語命令セット: http://www.ced.is.utsunomiya-u.ac.jp/lecture/2013/aca/ARMjp-vH.pdfコンパイラのマニュアルらしいけど概要的に便利なやつ: http://infocenter.arm.com/help/topic/com.arm.doc.dui0056d…

NaCl のメモリレイアウトについて

前から図でも書こうかなぁと思ってたのですが、機会があったのでとりあえずスプレッドシートを作ってみました。https://docs.google.com/spreadsheet/ccc?key=0AolcvzoWgN21dG5PVldnM0VJUzByU2hqcXFQaGVVdWc&usp=drive_webひとつ前で書いた通り、 NaCl では …

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