ToDo:
そういえば wine について書こうと思って書いてない。 もう書くの忘れたまんまになりそうなのでなんか書いておく。
あれは普通に考えると PE ローダ。 PE はエントリアドレスとか指定できるっぽいので、 まぁ適切な位置に配置してやらなければならん。 しかし普通に wine は libc とかも使うわけで、 wine 自身やら libc やらが PE を置きたいアドレスに 配置されたら困る。
wine がどうやって回避してるかっていうと、 ELF のロードを自分でやってる。
正確にはうちの debian とかだと、
とかいう感じになるっぽい。 細かいところはまた今度調べないといかん。
あとはまぁ C プリプロセッサ持ってたり、 たぶん複数プロセスのアプリとかもちゃんとなんとかせんといかんからか、 レジストリの管理やらなんやらをしている wineserver とかいうのが 動いてたりとか、まぁなんか知らんけどすごい開発リソースが投入されてるよなーと。
(02:47)
いつものことながら hello が動くと嬉しい。
i@um ~/test> cat hello.c #include <stdio.h> int main() { printf("Hello, world!\n"); return 0; } i@um ~/test> gcc hello.c i@um ~/test> ./a.out Hello, world! i@u4 ~/wrk/ld-mach-o > scp i@um:test/a.out . a.out 100% 8704 8.5KB/s 8.5KB/s 00:00 i@u4 ~/wrk/ld-mach-o > ./macho2elf a.out elf i@u4 ~/wrk/ld-mach-o > ./elf Hello, world!
あとは引数とかとシンボルのリネームとかかな。
引数の方はこんなコード書いて
#include <stdio.h> int main(int argc, char* argv[]) { printf("argc=%d\n", argc); printf("argv[0]=%p\n", argv[0]); printf("argv[0]=%s\n", argv[0]); printf("argv[1]=%p\n", argv[1]); printf("argv[1]=%s\n", argv[1]); return 42; }
実行すると、
> ./elf foo argc=2 argv[0]=0x7fff558ef3d4 argv[0]=./elf argv[1]=0x7fff558ef3da argv[1]=foo
引数あってるじゃん… ELF と Mach-O は 起動時の ABI は一緒ってことかね。
いつも思うんだけど printf ってこう、 不審な値が入ってることなんていくらでもあるはずだから、 多少チェック入れて欲しいよねとか思う。 出力前に引数の値チェックする safe_printf みたいなのあってもいいと思う。 glibc の printf は %s で null check するのはえらいと思う。
あとグローバル変数忘れてた。 たぶん動かんのでチェックしよう。
(00:02)
ひさびさにスレが目に入ったので見たら色々要望とかあった。 アンテナに入れておこう…
http://pc12.2ch.net/test/read.cgi/tech/1173057314/l50
さて Scala は何故入れなかったんだっけ… たぶん強烈に遅かったんだと思う。 しかしまぁいいかと今度入れよう。
Ioke ってのはなんだろう入れよう。
むうちょっと日和った Io for JVM or CLR って感じかな。 コンセプトは良さげ。
XSLT って普通の入力処理できるんだろうか、まぁ入れよう。 処理系は何がいいんだろう。
pugs => rakudo はそうなんだよなぁ。 pugs 自体が死んだようなもんに見えるので、 両方残すとかはなるべくしたくなかった。
というようなものは、 まぁ教えてくれれば消したいと思う。 そういうのは少ないと思うんだけど、どうなんだろう。
99.rb の 14B は消したみたいだ。 fib.c の 21B か…これはどう見てもおかしいな。 消すか。消そう。消した。 万が一復帰する必要があった時用メモ:
["", 21, 0.000241, Sun Sep 28 18:39:34 +0900 2008, [0], 0] ["", 21, 0.089871, Sun Sep 28 18:27:00 +0900 2008, [0], 0]
Octave 。あれ標準入力とかあるんかいな。入れよう。
use form 。つか use form はひどすぎるのでなんとかするべき。
(01:52)
最近色んなことを記録してないのがよくないと思ったので、 とりあえず記録しておく。
Perl6 は思った通りというか、 やはりとても面白かった。 なんていうか、色んな問題に他言語から取ってきた手法じゃなくて、 ユニークな解を与えていくって感じで、とてもいい。 ただ Rules だけはちょっと失望感があるかなぁ… まだしっかり見てないからわからんけど。
今一つ配列とリストの区別がつかないのと、 それらの結合演算子の無いっぽいのが痛いぽかった。 いや , でひっついたりもするけどそのへんよくわかってない。 () で書くのが Parcel or List で [] で書くのが Array 、 @a に入ってるのも Array 、って感じか、な。
コードとしては、 フィボナッチに感銘を受けつつ、 にはさんパスカル書いてくださいとか人に丸投げしてたら書いてくれたので、 それをちょっと縮めたりしてたのを xhl さんが大幅に縮めて下さった、
([1],{0,@^_ Z+@^_,0}...*)[^13]>>.say
がまぁいい感じだったと思う。
あとこの fizzbuzz もいいなぁ。長いけど。
http://d.hatena.ne.jp/lyrical_logical/20100807/1281199290
落とす方は無限リスト作るとすぐメモリ使い果たすのがアホかという感じではあった。 メモリ使い果たす時に GC が無限再帰して stack overflow してるのは興味深かった。
あとは parrot/rakudo のコードを眺めてる時間も多かったと思う。 言語作る人ってメタメタしいの好きだよねえと思った。
(02:08)
だいぶ前のやつ。
http://www.slideshare.net/suzaki/ss-4707229
正直何言ってるんかなー的な話が多かったかなぁ。 なんか終わった後に感想は書いてあった。
流れとしては、
って感じなのかな。
全体的にクラウドってのがこいう心配しなきゃいけないほどマジメにみんな考えてることなんだなぁ…というのが感想だったと思う。僕の自分の中との温度差にびびった感。
まぁそれより、 hyoshiok さんが楽天のコミュニティとのつきあいガイド的なのをプレゼンされてて面白かった。 OSS すいしんーみたいなのって、言うのはとっても簡単だけど、それでもなかなか会社は言ってくれないことなので、それを言うだけでも素晴らしいことだと思った。
そしてしかし実際にすいしんーって感じにするには、それは僕の理解が正しければ従業員がそれなりに忙しくない必要があって、そいう面のサポートをするのは会社としては短期的には真にコストのかかることであって、そして大変なんじゃないかなぁと思う。というような話をしてみた、が、どの程度説明できたかに自信はさっぱりない…どの程度うまくいってるかというと、それなりにはうまくいってるけど完璧ではないくらいだと思うんだけど、グーグルは結構マジでこのへんにコストを割いていると思っている。僕の感覚ではヒラ従業員の意識とかうんぬんとかよりそいうサポートみたいなのが無いと現実問題としてキツいと思うんだよなぁ。
なんか OSS の中にあるバグとかって普通に追う人は追うと思うんだけど、 // 弊社向け hack! とかいうコメントと共にローカルへの変更だけになっちゃうケースが多いんじゃないかなぁと漠然と思っていて、そこをちゃんと還流していくか否かってのは仕事に余裕があるか否かと、その人になんかそいう精神があるか異なか否かがたぶんあって、後者がある人ってのはもうほっといても勝手にやるので、たぶん禁止さえしてなければ実際のところどうでもよくて、多数であろう前者の方のサポートはなんか重要なんじゃないかなぁ…という。
で、一番重要な話はこう実際英語とかどうすかと聞いたことなんだけど、割と好意的に受け入れられているらしい。潰しの効くスキルだからいい機会である、って感じなのかな、という印象だった。
そしてそれは、個人的には大変残念というか、くやしいというか。なんか漠然とこうずっと、英語とかとの向き合い方はマジメに考えないといけないのか、それともほっといてなぁなぁのうちに退社してニートになるか、というのが漠然とあるのだけど、真面目に考えた方がいいのかなぁ…
こうなんで英語イヤかというと、それはまぁ色々理由らしきものは考えられて。僕は自分で勝手に自分は勉強熱心であると思っていて(主に知らない人に知ったかぶれる程度の知識を修得することに関して)。で、それは今まで基本的に、あまり目的とか深く考えず単に知りたいから勉強してきただけっていうのが強くて、そこはなんか漠然と、否定しちゃいけない部分な気がしていて。ていうのはこう、塾とか予備校とか TOEIC とかでもいいんだけど、無理矢理こう、学校とか会社に行くためにおべんきょー、みたいなのをやっている人を見て、どうもあまりうまくいってなさげだなぁとか思ったのが強いんだけど、まぁそいう現実的なものは後からついてくるべきことであって、動機であってはいけないと、こう漠然とした俺ルールがあって。今後仕事で潰しが効きそうだから英語勉強ってのは、それに見えて大変イヤなのだった、というのも理由の一つかなぁと思う。
まぁ趣味は言い訳なのでこれも言い訳でしかないとおもう
(02:23)
この件に関しては、言語ごとに集計しつつも、 その投稿がなされた時のバージョンを記録、 っていうやりかたをするべきだったんだと思う。 同じようなやりかたで例えば JRuby なんかもサポートできるといいんだろうと思う。
言語をリモート実行するようなものをこれから作る人は そのへん気をつけるといいんじゃないかなぁ。
(02:46)
なんか体感として異様に遅い印象のあるメソッドなので、 O(N^2) とかになってるんじゃないかねーと思ってたんだけど、 今見てみたら普通に O(N) だった。
ハッシュ構築してから削除しつつ push してくのかぁ。 空のハッシュに挿入しつつ push してく方が自然な気もするけど、 まぁいずれにせよたいした差はなさげ。
そもそもこんなもんゴルフ人間しか使ってない気もする
(12:21)
Histogram for bucket list length in section [ 7] '.hash' (total of 257 buckets): Addr: 0x00000001000022a0 Offset: 0x0022a0 Link to section: [ 5] '.dynsym' Length Number % of total Coverage 0 237 92.2% 1 20 7.8% 100.0% Average number of tests: successful lookup: 1.000000 unsuccessful lookup: 0.077821
よく見るとこれおかしすぎるんじゃないかとメモ
(15:49)
emacs は元気に動いてるけど端末の入力の反応はすごく遅いか ほとんど反応無いし、 コマンドの発行もすごく時間がかかって成功するかしないかという感じだった。 emacs からの shell はそれなりに動いてたので、 適当にあやしい子を殺したりしてたけど、 まぁいずれ emacs もコマンド出せなくなった。
適当に syslog を見るとなんかあやしいこと言われてるな。
Aug 8 19:27:50 u4 kernel: [33951.653025] BUG: soft lockup - CPU#1 stuck for 409 6s! [chrome:8780] Aug 8 19:27:50 u4 kernel: [33951.653032] Modules linked in: binfmt_misc ppdev l p parport sco bnep l2cap crc16 bluetooth bridge stp xen_evtchn xenfs uinput hdap s input_polldev cpufreq_conservative cpufreq_userspace cpufreq_stats cpufreq_pow ersave fuse dm_snapshot dm_mirror dm_region_hash dm_log firewire_sbp2 loop snd_h da_codec_conexant snd_hda_intel snd_hda_codec snd_hwdep snd_pcm_oss snd_mixer_os s snd_pcm snd_seq_midi arc4 ecb snd_rawmidi snd_seq_midi_event iwl3945 snd_seq i wlcore i915 joydev drm_kms_helper snd_timer mac80211 thinkpad_acpi pcmcia snd_se q_device drm cfg80211 yenta_socket rsrc_nonstatic evdev i2c_algo_bit psmouse pcs pkr tpm_tis processor rfkill battery video ac pcmcia_core serio_raw tpm snd acpi _processor nvram tpm_bios i2c_i801 i2c_core output soundcore snd_page_alloc butt on usbhid hid ext3 jbd mbcache dm_mod sg sr_mod sd_mod crc_t10dif cdrom ata_gene ric sdhci_pci sdhci ata_piix ahci firewire_ohci uhci_hcd ehci_hcd libata mmc_cor e led_class ricoh_mmc scsi_mod firewire_core crc_itu_t tg3 the Aug 8 19:27:50 u4 kernel: mal thermal_sys libphy usbcore nls_base [last unloade d: scsi_wait_scan] Aug 8 19:27:50 u4 kernel: [33951.653308] CPU 1: Aug 8 19:27:50 u4 kernel: [33951.653314] Modules linked in: binfmt_misc ppdev l p parport sco bnep l2cap crc16 bluetooth bridge stp xen_evtchn xenfs uinput hdap s input_polldev cpufreq_conservative cpufreq_userspace cpufreq_stats cpufreq_pow ersave fuse dm_snapshot dm_mirror dm_region_hash dm_log firewire_sbp2 loop snd_h da_codec_conexant snd_hda_intel snd_hda_codec snd_hwdep snd_pcm_oss snd_mixer_os s snd_pcm snd_seq_midi arc4 ecb snd_rawmidi snd_seq_midi_event iwl3945 snd_seq i wlcore i915 joydev drm_kms_helper snd_timer mac80211 thinkpad_acpi pcmcia snd_se q_device drm cfg80211 yenta_socket rsrc_nonstatic evdev i2c_algo_bit psmouse pcs pkr tpm_tis processor rfkill battery video ac pcmcia_core serio_raw tpm snd acpi _processor nvram tpm_bios i2c_i801 i2c_core output soundcore snd_page_alloc butt on usbhid hid ext3 jbd mbcache dm_mod sg sr_mod sd_mod crc_t10dif cdrom ata_gene ric sdhci_pci sdhci ata_piix ahci firewire_ohci uhci_hcd ehci_hcd libata mmc_cor e led_class ricoh_mmc scsi_mod firewire_core crc_itu_t tg3 the Aug 8 19:27:50 u4 kernel: mal thermal_sys libphy usbcore nls_base [last unloade d: scsi_wait_scan] Aug 8 19:27:50 u4 kernel: [33951.653571] Pid: 8780, comm: chrome Not tainted 2. 6.32-5-xen-amd64 #1 8932J15 Aug 8 19:27:50 u4 kernel: [33951.653576] RIP: e030:[<ffffffff810cd385>] [<ffff ffff810cd385>] unmap_vmas+0x571/0x942 Aug 8 19:27:50 u4 kernel: [33951.653591] RSP: e02b:ffff8800b163dd88 EFLAGS: 00 000246 Aug 8 19:27:50 u4 kernel: [33951.653597] RAX: 0000000000000000 RBX: 8000000073e 5d100 RCX: 00000000080000fb Aug 8 19:27:50 u4 kernel: [33951.653603] RDX: ffff88006594ac88 RSI: 00007f14291 91000 RDI: ffff8800af1bdc00 Aug 8 19:27:50 u4 kernel: [33951.653609] RBP: 00007f1429191000 R08: ffff8800167 72e70 R09: 0000000000000000 Aug 8 19:27:50 u4 kernel: [33951.653615] R10: 0000000000000120 R11: 00000000000 00120 R12: ffffea0001d9e458 Aug 8 19:27:50 u4 kernel: [33951.653620] R13: 8000000073e5d167 R14: ffff8800167 72e70 R15: 000000000025e000 Aug 8 19:27:50 u4 kernel: [33951.653634] FS: 00007f1459fe37e0(0000) GS:ffff880 003cd4000(0000) knlGS:0000000000000000 Aug 8 19:27:50 u4 kernel: [33951.653640] CS: e033 DS: 0000 ES: 0000 CR0: 00000 0008005003b Aug 8 19:27:50 u4 kernel: [33951.653645] CR2: 0000000001f8d024 CR3: 00000000aed 4d000 CR4: 0000000000002660 Aug 8 19:27:50 u4 kernel: [33951.653652] DR0: 0000000000000000 DR1: 00000000000 00000 DR2: 0000000000000000 Aug 8 19:27:50 u4 kernel: [33951.653658] DR3: 0000000000000000 DR6: 00000000fff f4ff0 DR7: 0000000000000400 Aug 8 19:27:50 u4 kernel: [33951.653664] Call Trace: Aug 8 19:27:50 u4 kernel: [33951.653673] [<ffffffff810cd2bf>] ? unmap_vmas+0x4 ab/0x942 Aug 8 19:27:50 u4 kernel: [33951.653683] [<ffffffff810d1840>] ? unmap_region+0 xb2/0x132 Aug 8 19:27:50 u4 kernel: [33951.653692] [<ffffffff810d290a>] ? do_munmap+0x2b d/0x32b Aug 8 19:27:50 u4 kernel: [33951.653701] [<ffffffff8114a076>] ? sys_shmdt+0x9d /0x123 Aug 8 19:27:50 u4 kernel: [33951.653710] [<ffffffff81011b42>] ? system_call_fa stpath+0x16/0x1b Aug 8 19:27:50 u4 kernel: [33951.653727] BUG: soft lockup - CPU#0 stuck for 409 6s! [apache2:8789] Aug 8 19:27:50 u4 kernel: [33951.653727] Modules linked in: binfmt_misc ppdev l p parport sco bnep l2cap crc16 bluetooth bridge stp xen_evtchn xenfs uinput hdap s input_polldev cpufreq_conservative cpufreq_userspace cpufreq_stats cpufreq_pow ersave fuse dm_snapshot dm_mirror dm_region_hash dm_log firewire_sbp2 loop snd_h da_codec_conexant snd_hda_intel snd_hda_codec snd_hwdep snd_pcm_oss snd_mixer_os s snd_pcm snd_seq_midi arc4 ecb snd_rawmidi snd_seq_midi_event iwl3945 snd_seq i wlcore i915 joydev drm_kms_helper snd_timer mac80211 thinkpad_acpi pcmcia snd_se q_device drm cfg80211 yenta_socket rsrc_nonstatic evdev i2c_algo_bit psmouse pcs pkr tpm_tis processor rfkill battery video ac pcmcia_core serio_raw tpm snd acpi _processor nvram tpm_bios i2c_i801 i2c_core output soundcore snd_page_alloc butt on usbhid hid ext3 jbd mbcache dm_mod sg sr_mod sd_mod crc_t10dif cdrom ata_gene ric sdhci_pci sdhci ata_piix ahci firewire_ohci uhci_hcd ehci_hcd libata mmc_cor e led_class ricoh_mmc scsi_mod firewire_core crc_itu_t tg3 the Aug 8 19:27:50 u4 kernel: mal thermal_sys libphy usbcore nls_base [last unloade d: scsi_wait_scan] Aug 8 19:27:50 u4 kernel: [33951.653727] CPU 0: Aug 8 19:27:50 u4 kernel: [33951.653727] Modules linked in: binfmt_misc ppdev l p parport sco bnep l2cap crc16 bluetooth bridge stp xen_evtchn xenfs uinput hdap s input_polldev cpufreq_conservative cpufreq_userspace cpufreq_stats cpufreq_pow ersave fuse dm_snapshot dm_mirror dm_region_hash dm_log firewire_sbp2 loop snd_h da_codec_conexant snd_hda_intel snd_hda_codec snd_hwdep snd_pcm_oss snd_mixer_os s snd_pcm snd_seq_midi arc4 ecb snd_rawmidi snd_seq_midi_event iwl3945 snd_seq i wlcore i915 joydev drm_kms_helper snd_timer mac80211 thinkpad_acpi pcmcia snd_se q_device drm cfg80211 yenta_socket rsrc_nonstatic evdev i2c_algo_bit psmouse pcs pkr tpm_tis processor rfkill battery video ac pcmcia_core serio_raw tpm snd acpi _processor nvram tpm_bios i2c_i801 i2c_core output soundcore snd_page_alloc butt on usbhid hid ext3 jbd mbcache dm_mod sg sr_mod sd_mod crc_t10dif cdrom ata_gene ric sdhci_pci sdhci ata_piix ahci firewire_ohci uhci_hcd ehci_hcd libata mmc_cor e led_class ricoh_mmc scsi_mod firewire_core crc_itu_t tg3 the Aug 8 19:27:50 u4 kernel: mal thermal_sys libphy usbcore nls_base [last unloade d: scsi_wait_scan] Aug 8 19:27:50 u4 kernel: [33951.653727] Pid: 8789, comm: apache2 Not tainted 2 .6.32-5-xen-amd64 #1 8932J15 Aug 8 19:27:50 u4 kernel: [33951.653727] RIP: e030:[<ffffffff81280038>] [<ffff ffff81280038>] ip_route_input+0x82/0xcbf Aug 8 19:27:50 u4 kernel: [33951.653727] RSP: e02b:ffff880003cbaa50 EFLAGS: 00 000282 Aug 8 19:27:50 u4 kernel: [33951.653727] RAX: ffffc900046dff98 RBX: ffffffff816 9a620 RCX: ffff8800bacd1200 Aug 8 19:27:50 u4 kernel: [33951.653727] RDX: 00000000aa0ccd42 RSI: 00000000000 12e20 RDI: 000000002a401973 Aug 8 19:27:50 u4 kernel: [33951.653727] RBP: 0000000000000004 R08: ffff8800b10 54000 R09: ffffffffa03a0a70 Aug 8 19:27:50 u4 kernel: [33951.653727] R10: 000000000000000e R11: ffffffff812 81f5d R12: ffff880002e26c80 Aug 8 19:27:50 u4 kernel: [33951.653727] R13: 000000000b0ba8c0 R14: ffff8800b10 54000 R15: 000000000ad0387d Aug 8 19:27:50 u4 kernel: [33951.653727] FS: 00007fd81e839740(0000) GS:ffff880 003cb7000(0000) knlGS:0000000000000000 Aug 8 19:27:50 u4 kernel: [33951.653727] CS: e033 DS: 0000 ES: 0000 CR0: 00000 0008005003b Aug 8 19:27:50 u4 kernel: [33951.653727] CR2: 0000000001a5c604 CR3: 00000000b29 c1000 CR4: 0000000000002660 Aug 8 19:27:50 u4 kernel: [33951.653727] DR0: 0000000000000000 DR1: 00000000000 00000 DR2: 0000000000000000 Aug 8 19:27:50 u4 kernel: [33951.653727] DR3: 0000000000000000 DR6: 00000000fff f4ff0 DR7: 0000000000000400 Aug 8 19:27:50 u4 kernel: [33951.653727] Call Trace: Aug 8 19:27:50 u4 kernel: [33951.653727] <IRQ> [<ffffffff8100e6fd>] ? xen_for ce_evtchn_callback+0x9/0xa Aug 8 19:27:50 u4 kernel: [33951.653727] [<ffffffff8100ee22>] ? check_events+0 x12/0x20 Aug 8 19:27:50 u4 kernel: [33951.653727] [<ffffffff812f3bd1>] ? packet_rcv_spk t+0xd3/0xde Aug 8 19:27:50 u4 kernel: [33951.653727] [<ffffffff8100e6fd>] ? xen_force_evtc hn_callback+0x9/0xa Aug 8 19:27:50 u4 kernel: [33951.653727] [<ffffffff8100ee22>] ? check_events+0 x12/0x20 Aug 8 19:27:50 u4 kernel: [33951.653727] [<ffffffff8127bd0a>] ? nf_iterate+0x4 1/0x7d Aug 8 19:27:50 u4 kernel: [33951.653727] [<ffffffff81281bd0>] ? ip_rcv_finish+ 0x0/0x38d Aug 8 19:27:50 u4 kernel: [33951.653727] [<ffffffff8127bda8>] ? nf_hook_slow+0 x62/0xc3 Aug 8 19:27:50 u4 kernel: [33951.653727] [<ffffffff81281bd0>] ? ip_rcv_finish+ 0x0/0x38d Aug 8 19:27:50 u4 kernel: [33951.653727] [<ffffffff81281c04>] ? ip_rcv_finish+ 0x34/0x38d Aug 8 19:27:50 u4 kernel: [33951.653727] [<ffffffff812821fd>] ? ip_rcv+0x2a0/0 x2ed Aug 8 19:27:50 u4 kernel: [33951.653727] [<ffffffffa039a848>] ? br_handle_fram e_finish+0x110/0x148 [bridge] Aug 8 19:27:50 u4 kernel: [33951.653727] [<ffffffffa039ea42>] ? br_nf_pre_rout ing_finish+0x284/0x2a6 [bridge] Aug 8 19:27:50 u4 kernel: [33951.653727] [<ffffffffa039e7be>] ? br_nf_pre_rout ing_finish+0x0/0x2a6 [bridge] Aug 8 19:27:50 u4 kernel: [33951.653727] [<ffffffff8127bda8>] ? nf_hook_slow+0 x62/0xc3 Aug 8 19:27:50 u4 kernel: [33951.653727] [<ffffffffa039e7be>] ? br_nf_pre_rout ing_finish+0x0/0x2a6 [bridge] Aug 8 19:27:50 u4 kernel: [33951.653727] [<ffffffffa039efb8>] ? br_nf_pre_rout ing+0x554/0x56e [bridge] Aug 8 19:27:50 u4 kernel: [33951.653727] [<ffffffff8127bd0a>] ? nf_iterate+0x4 1/0x7d Aug 8 19:27:50 u4 kernel: [33951.653727] [<ffffffff81258697>] ? __netdev_alloc _skb+0x29/0x43 Aug 8 19:27:50 u4 kernel: [33951.653727] [<ffffffffa039a738>] ? br_handle_fram e_finish+0x0/0x148 [bridge] Aug 8 19:27:50 u4 kernel: [33951.653727] [<ffffffff8127bda8>] ? nf_hook_slow+0 x62/0xc3 Aug 8 19:27:50 u4 kernel: [33951.653727] [<ffffffffa039a738>] ? br_handle_fram e_finish+0x0/0x148 [bridge] Aug 8 19:27:50 u4 kernel: [33951.653727] [<ffffffffa039aa28>] ? br_handle_fram e+0x1a8/0x1cc [bridge] Aug 8 19:27:50 u4 kernel: [33951.653727] [<ffffffff8125e458>] ? netif_receive_ skb+0x350/0x46d Aug 8 19:27:50 u4 kernel: [33951.653727] [<ffffffff8125e6a2>] ? napi_skb_finis h+0x1c/0x31 Aug 8 19:27:50 u4 kernel: [33951.653727] [<ffffffffa005c4dd>] ? tg3_poll+0x6cf /0x93d [tg3] Aug 8 19:27:50 u4 kernel: [33951.653727] [<ffffffff8100e6fd>] ? xen_force_evtc hn_callback+0x9/0xa Aug 8 19:27:50 u4 kernel: [33951.653727] [<ffffffff8100ee22>] ? check_events+0 x12/0x20 Aug 8 19:27:50 u4 kernel: [33951.653727] [<ffffffff8125ebcf>] ? net_rx_action+ 0xae/0x1c9 Aug 8 19:27:50 u4 kernel: [33951.653727] [<ffffffff810559e6>] ? __do_softirq+0 xdd/0x19f Aug 8 19:27:50 u4 kernel: [33951.653727] [<ffffffff81012cac>] ? call_softirq+0 x1c/0x30 Aug 8 19:27:50 u4 kernel: [33951.653727] [<ffffffff81014903>] ? do_softirq+0x3 f/0x7c Aug 8 19:27:50 u4 kernel: [33951.653727] [<ffffffff81055855>] ? irq_exit+0x36/ 0x76 Aug 8 19:27:50 u4 kernel: [33951.653727] [<ffffffff811f22ea>] ? xen_evtchn_do_ upcall+0x33/0x42 Aug 8 19:27:50 u4 kernel: [33951.653727] [<ffffffff81012cfe>] ? xen_do_hypervi sor_callback+0x1e/0x30 Aug 8 19:27:50 u4 kernel: [33951.653727] <EOI> [<ffffffff810cc9b8>] ? do_wp_p age+0x5ae/0x707 Aug 8 19:27:50 u4 kernel: [33951.653727] [<ffffffff810cc997>] ? do_wp_page+0x5 8d/0x707 Aug 8 19:27:50 u4 kernel: [33951.653727] [<ffffffff8100c47d>] ? __raw_callee_s ave_xen_pmd_val+0x11/0x1e Aug 8 19:27:50 u4 kernel: [33951.653727] [<ffffffff810ce4b4>] ? handle_mm_faul t+0x742/0x7a5 Aug 8 19:27:50 u4 kernel: [33951.653727] [<ffffffff810d164f>] ? get_unmapped_a rea+0xd7/0x139 Aug 8 19:27:50 u4 kernel: [33951.653727] [<ffffffff810347e7>] ? do_page_fault+ 0x266/0x282 Aug 8 19:27:50 u4 kernel: [33951.653727] [<ffffffff8130c675>] ? page_fault+0x2 5/0x30 Aug 8 19:30:01 u4 /USR/SBIN/CRON[8964]: (root) CMD (test -x /usr/lib/atsar/atsa 1 && /usr/lib/atsar/atsa1) Aug 8 19:35:01 u4 /USR/SBIN/CRON[9079]: (root) CMD (command -v debian-sa1 > /de v/null && debian-sa1 1 1) Aug 8 19:35:16 u4 kernel: [33951.657735] INFO: task chrome:3176 blocked for mor e than 120 seconds. Aug 8 19:35:16 u4 kernel: [33951.657735] "echo 0 > /proc/sys/kernel/hung_task_t imeout_secs" disables this message. Aug 8 19:35:16 u4 kernel: [33951.657735] chrome D 0000000000000002 0 3176 1 0x00000000 Aug 8 19:35:16 u4 kernel: [33951.657735] ffffffff814731f0 0000000000000286 000 0000000000064 ffff8800bbc41c90 Aug 8 19:35:16 u4 kernel: [33951.657735] ffff8800bbc41c90 ffff8800bbc41ca0 000 000000000f8a0 ffff8800bbc41fd8 Aug 8 19:35:16 u4 kernel: [33951.657735] 0000000000015640 0000000000015640 fff f8800af8fbf90 ffff8800af8fc288 Aug 8 19:35:16 u4 kernel: [33951.657735] Call Trace: Aug 8 19:35:16 u4 kernel: [33951.657735] [<ffffffff8100ee0f>] ? xen_restore_fl _direct_end+0x0/0x1 Aug 8 19:35:16 u4 kernel: [33951.657735] [<ffffffff8130b324>] ? schedule_timeo ut+0x2e/0xdd Aug 8 19:35:16 u4 kernel: [33951.657735] [<ffffffff810bab9e>] ? __pagevec_free +0x69/0x80 Aug 8 19:35:16 u4 kernel: [33951.657735] [<ffffffff8100e6fd>] ? xen_force_evtc hn_callback+0x9/0xa Aug 8 19:35:16 u4 kernel: [33951.657735] [<ffffffff8100ee22>] ? check_events+0 x12/0x20 Aug 8 19:35:16 u4 kernel: [33951.657735] [<ffffffff8130b1dc>] ? wait_for_commo n+0xde/0x15b Aug 8 19:35:16 u4 kernel: [33951.657735] [<ffffffff8100ee22>] ? check_events+0 x12/0x20 Aug 8 19:35:16 u4 kernel: [33951.657735] [<ffffffff8104c144>] ? default_wake_f unction+0x0/0x9 Aug 8 19:35:16 u4 kernel: [33951.657735] [<ffffffff8100ee0f>] ? xen_restore_fl _direct_end+0x0/0x1 Aug 8 19:35:16 u4 kernel: [33951.657735] [<ffffffff81064bf7>] ? synchronize_sc hed+0x4c/0x52 Aug 8 19:35:16 u4 kernel: [33951.657735] [<ffffffff81064bfd>] ? wakeme_after_r cu+0x0/0xb Aug 8 19:35:16 u4 kernel: [33951.657735] [<ffffffff8106a034>] ? synchronize_sr cu+0x28/0xab Aug 8 19:35:16 u4 kernel: [33951.657735] [<ffffffff811179f4>] ? fsnotify_put_g roup+0x6a/0x90 Aug 8 19:35:16 u4 kernel: [33951.657735] [<ffffffff81119733>] ? inotify_releas e+0x25/0x37 Aug 8 19:35:16 u4 kernel: [33951.657735] [<ffffffff810f1159>] ? __fput+0x100/0 x1af Aug 8 19:35:16 u4 kernel: [33951.657735] [<ffffffff810ee596>] ? filp_close+0x5 b/0x62 Aug 8 19:35:16 u4 kernel: [33951.657735] [<ffffffff810ee631>] ? sys_close+0x94 /0xcd Aug 8 19:35:16 u4 kernel: [33951.657735] [<ffffffff81011b42>] ? system_call_fa stpath+0x16/0x1b Aug 8 19:37:16 u4 kernel: [33951.657735] INFO: task chrome:3176 blocked for mor e than 120 seconds. Aug 8 19:37:16 u4 kernel: [33951.657735] "echo 0 > /proc/sys/kernel/hung_task_t imeout_secs" disables this message. Aug 8 19:37:16 u4 kernel: [33951.657735] chrome D 0000000000000002 0 3176 1 0x00000000 Aug 8 19:37:16 u4 kernel: [33951.657735] ffffffff814731f0 0000000000000286 000 0000000000064 ffff8800bbc41c90 Aug 8 19:37:16 u4 kernel: [33951.657735] ffff8800bbc41c90 ffff8800bbc41ca0 000 000000000f8a0 ffff8800bbc41fd8 Aug 8 19:37:16 u4 kernel: [33951.657735] 0000000000015640 0000000000015640 fff f8800af8fbf90 ffff8800af8fc288 Aug 8 19:37:16 u4 kernel: [33951.657735] Call Trace: Aug 8 19:37:16 u4 kernel: [33951.657735] [<ffffffff8100ee0f>] ? xen_restore_fl _direct_end+0x0/0x1 Aug 8 19:37:16 u4 kernel: [33951.657735] [<ffffffff8130b324>] ? schedule_timeo ut+0x2e/0xdd Aug 8 19:37:16 u4 kernel: [33951.657735] [<ffffffff810bab9e>] ? __pagevec_free +0x69/0x80 Aug 8 19:37:16 u4 kernel: [33951.657735] [<ffffffff8100e6fd>] ? xen_force_evtc hn_callback+0x9/0xa
(20:05)
http://www.slideshare.net/kmizushima/java-4912958
そいやこれ見て思い出したけど、 64bit 環境で long とかリファレンスのサイズってどうなってるんだっけ…
(00:47)
人気の無さに笑った。 テーマ的には僕の中ではひゃくにんくらい来てもおかしくなさそうに思うんだけど、 まぁそのへんの感覚がずれてるのは今に始まったことではないし、 そしてこのへんの感覚があっている人というのは 実際のところほとんどいないのであって、 つまり趣味の多様化とかそういう一般的などうでもいい単語で
かたがつく
(23:55)
http://slashdot.jp/apple/article.pl?sid=10/04/14/0132226
を見てした発言
00:32 >shinh< おやチューリング完全じゃなければプログラミング言語ではないという切り口はどうなんでしょうね 00:32 >shinh< 強烈に便利だけどチューリング完全じゃない言語を開発して内蔵…
まぁ元の前提がおかしい議論なので Apple 対策としてはどうでもいいんだけど、 チューリング完全じゃないけどそれなりに色々できる、 みたいなのを考えるのは少し面白いような、 どうでもいいような。
例のごとく今一つチューリング完全ってなんなのかよくわかってないのだけど、 まぁ例のごとく brainfuck が実装できないなーって感じであれば良いことにする。
ゲーム用スクリプトとして使えるレベルとかなら、 代入、加減乗除など、 if-else 、回数指定で1000回まで回れるループ、 とかくらいならチューリング完全にはならない?
あと関数あるけどスタックサイズが 10 までしかありませんよとか。
(00:41)
ブラウザさんは文字コードテーブル持ってるのに それ使えないの…という雑談を少しして、 できるような気がしたのでやってみた。
http://shinh.skr.jp/tmp/uconv.html
data: との通信は cross domain 通信扱いのようなので、 SJIS => UTF8 の方は困ったなーということで、 変換後の文字列を持って元のドメインに戻ってくるとかしてゴマかした。
(00:01)
でまぁ内職は2時間くらいで電気切れていまいちだった。 ネットとかはいらんから電源は欲しいなぁ…
木金とネットあんま使わずに Mach-O を 適当に読むとかやってたんだけど、 まぁネットあったら dyld のコードというか、 MachOBinder.hpp があれば割と一発でわかる感じなのであった。 特に Mach-O の relocation table は .debug_lines 的な VM になってると気付いて、こりゃネット無しじゃ無理だわいとなったのだった。
あと uleb とか sleb ってどっかで見た単語だなーと思ったら DWARF だった。 何故か少し前にこのへんは気の迷いで実装してたからすぐ実装できて良かった。 つまり Mach-O は DWARF とかより後で成立したから そのへんの知見を生かせてるのかなぁとか思った。
Mach-O があきらかに ELF よりいいなぁと思えた点は、 64bit になっても構造体のサイズが変わらないオブジェクトが結構あることで、 まぁコードが書きやすくてよろしいと思った。 ELF は全体がキモいテンプレートかマクロの塊になってしまっていかんと思う。
あとはなんか Mach-O 全体的に意味のわかってない フィールドが多い。
それと変数名に macho とかするとマッチョだし、 mach_o とか冗長な感じだし、 mach だとちょっと足りない気がするし、 困る。
(00:31)
トプカおいしかった。
りなっくすかふぇは周りの会話がほどよくて良かった。 僕は気が散る程度の雑音がある方がいいんだよな。 あとまぁ雑音の内容自体が興味深かったりも。
ネットは無かったけど普通に考えて 僕はあそこの無線使う権利を持ってる気がするので、 さっさとそれは設定すべき。 まぁネットあることによる害を考えるとまぁいいか的な。
http://twitter.com/shinh/status/20050925021
この SEGV するところまで行ったという発言はよく考えると意味わからんけど、 linux のローダはロード中にエラー出ると SIGKILL で死ぬので、 SEGV した時は結構嬉しかったんですよ。 つか冷静に考えるとどういうメカニズムで SIGKILL になってるのだろうか。 ちょっと不思議な気がするぞ。
よく見るとローダ内の SEGV だからまだおかしいんだけどね…
空気清浄機というのが欲しくて見に行った。 さっぱりスペックの差がわからん上に、 小さくて加湿器つきみたいなのが無かったので、やめた。 安いやつは、大きくて加湿器つきが15000くらいで、 小さくてついてないのが8000円くらいみたいだった。 なんか wikipedia 見る限り高性能ぽくないやつの方が安心できそうな商品だなぁ。
ついでに乾燥機つきのが欲しいんだよなーと、 洗濯機を見てて買った。 設置と回収含めて43000くらい。 今のやつは壊れてないので僕の中のもったいないおばけがうるさかった。 けど、今のやつ15000円もしてないし、一応4年は使ったし、 干すのにかかる時間は無駄じゃありませんか、 それにそんなに高くないし、などと説得した。
あと温度計と湿度計が欲しかったから見てみたんだけど、 なんか店に展示されてるものが、 一つ一つ結構違う湿度を指していたり、 温度すら違うのもあったりして、 えーとうーんとか思ってびびってしまった。
メモ: 僕は 7877 ポイントもヨドバシポイントを所有しているよ
(22:12)
これを入れると loader の stacktrace がちゃんと出るみたいだ… べんり。
あと斑鳩やったら5面に2機持って1400万とかあって、 うおおこれはワンコインクリアコースと思った。 まぁ5面道中でチェイン切れまくって残機増えなかった上に、 タゲリ第一で3機とも死んだわけだけが…
ちょっと前にドキャで練習した成果が出てると言えると思う。
なんか思い出すに、1面で死ぬのと、3面の前半で死ぬのはひどいからなんとかすべき。 あとは4ボスで死んだんだっけ。なんでそこで死ぬねん的な場所ばかりだな。 2面は一回も切れなかったらしく、 S++ とか出て笑った。
(23:01)
基本的なやつを試してみた。
sub n($n) { return eval("1+" x $n ~ "0"); } say n(3); # 3 say n(100); # 100 say n(300); # 300 say n(500); # exit(0) \(^o^)/ say n(1000);
クラッシュしなかったのは偉いが、 せめて exit(1) とかしようよ
(23:32)
クーラーこわれてる部屋は暑すぎるので とにかく家にはいられないということで 割とさっくり行く決意ができた。
Perl6 の lazy list の例はどうでもいい感じだったんだけど、 こうフィボナッチ持ってる lazy list とかもできるんだろうな… とこれは後で調べる。 ていうかゴルフ場の rakudo も update するか。 あとゴルフ場の rakudo は1秒ちょいで返事かえすので、 LL Eval はちょっとなんなんだろと思った。
LT は例のごとくお前らボケてる暇あったら技術の話しろ… っていうのも多かったなぁ。 記号 x86 とか無説明すぎて結局意味なかった。 まぁあれは当人じゃないからしょうがなかったのかも。
ライセンスと電子出版とフィジカルコンピューティングはそれぞれ 面白かったと思う。それぞれあんま LL ぽくないけど。
JSC/v8 の worker が native thread か否かとか、 まぁ普通に知らん。 まぁスレッド間通信が message passing しか無い以上、 native thread かつ giant lock も無いだろうなぁという 予想は高確率で当たってると思う。 ruby とか python は処理系作ってる人が愚かなのではなくて、 単にメモリ共有する thread だからしょうがなく giant lock …って話だと思う。 いずれにせよ僕は reviewer であるという言い訳ができるので あの場にいた唯一の committer であろう omo さんの罪は重い。
さて message passing というのは、 mootoh さんに完全同意で、並列屋には極めて重要な primitive になるんだろうなーと思う。 message passing って何な質問に MPI を例にしたのはたぶんあまりいい解答じゃなくて、 さっと答えるのは結構大変なんじゃないかなーと思う。
重要なところは、
何が嬉しいかというと
あと僕の強い希望として
でまぁ、これまたオブジェクト指向並に 「短くて必要性を強く訴えられる例」を 考えつきにくい機能なんじゃないかなぁとか漠然と思った。
オブジェクト指向で猫と犬がニャーワンって、 結構あれがわからんという人は 身近にもネットにも結構いたと思う。 僕はオブジェクト指向ってのは それなりにすぐにわかったんだけど、 まぁ僕が天才であるとかではなくて、 単純にそれまでに書いたコード量の問題だと思う。 message passing とかも それまでに thread のコード書いて、 race ったり race ったり race ったり してるとまぁ感覚的に必要な気がするんだよね。
でもまぁうまい例を考えてみるのはいいと思う。
それにしても暑すぎるので明日もどこかに行かんといけない… 最近よくりなっくすかふぇというのを見るし、 電源もありそうだしトプカ行きたいし行ってコード書きの続きするかな…
あああと一個宿題があったんだった
(21:48)
全体的に面白そうだったから行きたかったな。
(22:24)
も壊れたっぽい。
みんな夏ばてかのう
風は出るんだけど冷たくない。 死ぬかと思ったけど窓開けて扇風機まわしたら 普通に寝つけた。 まぁ消してから寝てもタイマーで切れても大丈夫なんだし死なないか…
(06:57)
http://shinh.skr.jp/m/?date=20090727#p01
あれから1年たってる!
今一つ覚えてないけど、 なんとなく思い出せるから久しぶりにいじってみるか…
メモを見るに PLT の方が課題って感じ?
(07:32)
どうも俺は Mach-O について微妙に知ってるのに、 全然作ったツールとか出てこなくておかしい。 結局見つけたのはこれくらいか
http://spreadsheets.google.com/pub?key=pcoKcHzxsAsgfZ3aSIeDdcQ
(08:31)
前 | 2025年 1月 |
次 | ||||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。
_ satyr [> pugs 特有 http://golf.shinh.org/reveal.rb?Nothing/kt3k_11..]
_ yt [すっかり忘れていたのですが、お手数でなければゴルフ場のAdaのコンパイラをgcc-4.5系列にバージョンアップしてい..]
_ shinh [おー pugs は <> 使えたんですね…これ消して回るとなると結構もりもり消さんといかん感じですかね困る。]
_ shinh [gcc のアップデートはちょっとめんどくさいですね… Debian に入ったら必ずやるです。]