Page 12 of 18

llvm::Function::Create とかに渡すllvm::FunctionType* を生ポインタを使いたくなかったので、 std::unique_ptr<llvm::FunctionType> に保存していたらなぜかSEGV が発生してライブラリの 内部の関数で落ちてるっぽくてつらいなーと思ってた。 いろいろ変えてデバッグしてたら全部生ポインタに戻したら正常に動作した。 多分挙動からしてllvm::Function::Create が責任もって開放するような設計になってるんだと思う。

というメモ。

まちがってたり詳しい資料しってたりしたらおしえてくださいです。> @nonamea774 or nonamea774@gmail.com

手元のGCC は4.9.1 なのだけれど、 4.7 で上手くコンパイルできないという報告をKMC のプロジェクトの これで受けたので、古いのが欲しいなーと 思って探してみた。

AUR に古いヴァージョンのものは置いてあるっぽいですね。

gcc46, gcc47, gcc48 をとりあえず入れてみた。

あたりまえだけど自分でビルドしないといけないのでそこそこ時間がかかった。

古いversion のclang も欲しいなー と思って探したけどぱっと見では見付からなかった。 これだよとかあったら教えてください。

三回だけ実行できる。

function 令呪を以て命じる() {
    if [ -z $REIJU ] ;then
        export REIJU=2;
        sudo $*
    elif [ $REIJU -gt 0 ] ; then
        export REIJU=`expr $REIJU - 1`;
        sudo $*
    fi
}

(途中出てくるWeb ページは、全て今日(2014-10-25) 見たものである。引用等も今日の時点のものである)

AS15169

Google の所有するAS

Geekなぺーじ:Googleのネットワーク構成を調べてみた

これに対しては、Google Global Cache なのでは と指摘を受けた。

このへんのネットワーク、IX とか

京都IX

KRP にあるらしい? あるという噂をよく聞く。

京都IX でググっても、上記のページがTop に出てくる。

KRPデータセンターの通信環境は完全なキャリアフリーです。自由にお客様ご指定の通信事業者の回線を引き込みできます。

概要|KRPデータセンター|京都リサーチパーク株式会社 のページにも謳っているし(本日閲覧)、実際あるのだろうとおもう。

京都デジタル疏水ネットワーク

京都デジタル疏水ネットワーク/京都府ホームページ

教育、医療、防災、産業、行政等の府民生活のあらゆる場面における情報通信技術(IT)をより効率よく連携でき、皆様に活発に活用していただくためのネットワークが、京都府域をむすぶ高度情報通信基盤「京都デジタル疏水ネットワーク」です。

概要|KRPデータセンター|京都リサーチパーク株式会社 (上記KRP のページと同ページ、本日閲覧) に書いてある。 上の京都府ホームページだけを見てもいまいち良くわからない。
上記ページによると、KRP にも接続拠点があるらしい。

こちらのページ、府民満足最大化を支える情報基盤構築プラン(平成20年12月策定)(本日閲覧) には少し詳しいことが書いてある。
今このページを読みなおしていて気付いたが、

また、京都市が中心となって推進してきた京都リサーチパークの京都IXや大学間情報ネットワーク(Univnet)とも連携し、利便性や信頼性の向上を図っている。

とあるので、やはりKRP に京都IX はあるらしい。

ref

kyoto-Pnet

kyoto-Pnet

トップページに

京都情報基盤協議会の指導のもと, インターネットとの常時接続を提供するサービスです.

とあるので、プロバイダ?

ネットワーク構成が"2004.8.30現在" と書いてあるし、接続サイト一覧にはKRP と株式会社たけびし の二つしか載っていない。

なんなのだろう。

KyotoOne

kyoto-Pnetのネットワーク構成のページ(kyoto-Pnet Network Connection Map) に

KyotoOneは, 京都情報基盤協議会 により運営されている京都地域IX(Internet Exchange)です.

とあるし、

京都リサーチパーク - Wikipedia 2014-08-30T09:13:27 の版 (現在の最新版) にも リサーチパーク概要の項に、

京都ONE(京都市が主導する地域IX)(略) などと接続し、京都のネットワーク基盤の拠点にもなっている。

とある。

kyoto-Pnet から張られているリンクによるとKyotoOne のWeb ページは http://www.kyoto-one.ad.jp/ のURI を持つらしいが、 現在既に見れなくなっている。
運営をしているらしい京都情報基盤協議会 http://www.kiic.or.jp/ もデッドリンクである。

ググってもよくわからん。

ref

京都市情報館 - 市長記者会見

これを読むにKRP にあったようだし、京都IX の前身とかだったのかなぁ

インターネットエクスチェンジ - Wikipedia 2014-08-01T10:40:13 の版

IXの一覧 > 日本国内の地域IX > Kyoto-One
と名前が出ている。

設立趣旨 | ITコンソーシアム京都

(略) Kyoto-pnetの運営や京都ONE構想に基づく大学間情報ネットワークや京都IXの構築、京都デジタル疏水ネットワークによる京都府全域での情報通信基盤の整備など (略)

NCA5

NCA5(第5地区ネットワークコミュニティ)

NCA5(Network Community Area 5)は,正式名称を第五地区ネットワークコミュニティといい,主として“第5地区”の大学等を対象とするネットワークコミュニティです.

NCA5(第5地区ネットワークコミュニティ) » NCA5について より引用

ページのフッタを見るに、京都大学学術情報メディアセンター北館 に事務局が置かれてるらしい。

SINET に繋がったネットワーク?

私はKDDI の回線を使っているが、 NCA5(第5地区ネットワークコミュニティ) » NCA5加入機関一覧 の 中の一部のホストまではSINET を経由して到達する。

$ traceroute -A www.KYOHAKU.GO.JP
traceroute to www.KYOHAKU.GO.JP (202.223.183.4), 30 hops max, 60 byte packets
1  doroid.nna774.net (10.8.8.11) [AS65534]  0.998 ms  2.070 ms  2.163 ms
2  router.nna774.net (10.8.8.1) [AS65534]  3.552 ms  3.973 ms  10.085 ms
3  obpBBAR004-1.bb.kddi.ne.jp (106.162.245.225) [AS2516]  13.501 ms  18.629 ms  19.090 ms
4  obpBBAC03.bb.kddi.ne.jp (111.87.218.245) [AS2516]  19.497 ms obpBBAC03.bb.kddi.ne.jp (182.248.175.197) [AS2516]  28.013 ms obpBBAC0
3.bb.kddi.ne.jp (111.87.218.245) [AS2516]  19.750 ms
5  sjkBBAC05.bb.kddi.ne.jp (125.53.105.185) [AS2516]  29.679 ms  30.064 ms  30.349 ms
6  otejbb205.int-gw.kddi.ne.jp (210.234.250.9) [AS2516]  28.293 ms  19.603 ms  17.966 ms
7  ix-ote206.int-gw.kddi.ne.jp (106.187.6.58) [AS2516]  19.185 ms ix-ote206.int-gw.kddi.ne.jp (106.187.6.50) [AS2516]  31.698 ms ix-ot
e206.int-gw.kddi.ne.jp (106.187.6.54) [AS2516]  29.785 ms
8  as2907.ix.jpix.ad.jp (210.171.224.150) [AS7527]  32.135 ms  32.126 ms  32.032 ms
9  tokyo-dc-rm-ae4-vlan10.s4.sinet.ad.jp (150.99.2.53) [AS2907]  31.992 ms  31.647 ms  31.956 ms
10  osaka-dc-rm-ae7-vlan10.s4.sinet.ad.jp (150.99.2.98) [AS2907]  32.077 ms  56.675 ms  56.453 ms
11  kyohaku.gw.sinet.ad.jp (150.99.186.130) [AS2907]  37.795 ms  37.621 ms  37.970 ms
12  * * *

以下ずっと * * *

ref

KUINS News No.44

さいご

よくわからなくなってきたしねむくなってきたし、とりあえず見たページのリンクを残して終ろうとおもう。

Hurricane Electric BGP Toolkit

printf("http://bgp.he.net/%s", "AS0000") のURI は便利であった。

JPIX:JaPan Internet eXchange | 日本インターネットエクスチェンジ株式会社

[PDF注意] http://www.wide.ad.jp/project/document/reports/pdf2008/part32.pdf

とりあえずこれぐらいで。

なにかあったら教えてください。

Google の主要サービスへのtraceroute 定期的に保存してたらおもしろいのではないか 的なことこのあいだの8.8.8.8 が止った時とかに思ったの思い出した。

その後

今のコード

i;main(r){r*=i--?:scanf("%d",&i);i?main(r):printf("%d",r);}

【追記】06:10

i;main(r){i||scanf("%d",&i);i?main(r*i--):printf("%d",r);}

わずかに良くなる。

【追記】06:12

i;main(r){scanf("%d",&i);i?main(r*i--):printf("%d",r);}

【追記】06:35 同着

i;main(r){for(i=getchar()-48;r*=i--?:printf("%d",r););}

i;main(r){for(scanf("%d",&i);r*=i--?:printf("%d",r););}

元のコード

#include <stdio.h>

int fact(int n){
    if(n == 0) return 1;
    return n * fact(n-1);
}

int main(){
    int n = 0;
    scanf("%d", &n);
    printf("%d", fact(n));
    return 0;
}

テスト環境

$ for i in `seq 0 12`; sh -c "echo $i | ./a.out "

emacs 24.4 にアップデートが来てたので更新。

いくつかのelisp に問題が起きたり、あたらしい機能が入ったりしたらしいので、とりあえずいくつか。

(setq load-prefer-newer t)

(setq load-prefer-newer t)

Emacs 24.4リリース!ファーストインプレッション | るびきち「日刊Emacs」 load-prefer-newer: バイトコンパイル忘れでハマることはもうない

新しい方を読んでくれるらしい。

【対処療法的解決?】scratch-log.el

スクラッチバッファを安心して利用できるようにする拡張をつくった - わからん

個人的に必須elisp

なにやらエラーが出てるけどよくわからん。
sl-dump-scratch-for-timer() は定期的に*scratch* を保存してくれる関数っぽい。
sl-dump-scratch-when-kill-emacs とかが取り敢えず終了時に保存してくれるらしいので気にしないでいいのかな……

Debugger entered--Lisp error: (args-out-of-range 0 51640)
  compare-buffer-substrings(#<buffer  *temp*> 0 51640 #<buffer *scratch*> 0 51640)
  sl-need-to-save()
  sl-dump-scratch-for-timer()
  apply(sl-dump-scratch-for-timer nil)
  byte-code("r\301\302H\303H\"\210)\301\207" [timer apply 5 6] 4)
  timer-event-handler([t 0 30 0 t sl-dump-scratch-for-timer nil idle 0])

さっきのページからリンクされているhttps://github.com/wakaran/scratch-log、Github のアカウントごと消えてるっぽいので、elisp はGPL になっているので再配布とりあえずしておきます。ここ

追記1 10/23 00:20

https://gist.github.com/nna774/c2f68062ed762c4c55e5#file-scratch-log-el-L90-L91
90行目, 91行目の

(current-buffer) 0 (point-max)
it 0 scratch-point-max)

にある二つの0 を共に1 にしたらエラーは出なくなった。
*Scratch* の最初の一文字目だけの変更が検知されなくなりそうだけど、 一文字目だけの変更に気付かずに定期的に保存されるのと、エラーで定期的に保存されないのなら まだ前者のほうがマシに思うので、とりあえずこうしておこうと思う……。

追記2 10/26 23:55

このようなリプライを頂いた

scratch-log.el のレポジトリは、削除されたのではなくmori-dev/scratch-log へと移動していたらしい。

また、追記1 で行なった変更についても教えていただいた。

更にPR の形にして投げてくださいました。ありがとうございます!
mori-dev/scratch-log#9 Fix running timer error

【解決】zlc.el

mooz/emacs-zlc

補完をいいかんじにやってくれるelisp なのですが、24.4 に上げた瞬間からうまくうごきません……

Debugger entered--Lisp error: (wrong-number-of-arguments (2 . 4) 0)
  completion--do-completion()
  zlc-minibuffer-complete()
  (if zlc--mode (zlc-minibuffer-complete) (setq ad-return-value (with-no-warnings (funcall ad--addoit-function))))
  (let (ad-return-value) (if zlc--mode (zlc-minibuffer-complete) (setq ad-return-value (with-no-warnings (funcall ad--addoit-function)))) ad-return-value)
  ad-Advice-minibuffer-complete(#[0 "\302\303 d	$\207" [minibuffer-completion-table minibuffer-completion-predicate completion-in-region minibuffer-prompt-end] 5 1938442 nil])
  apply(ad-Advice-minibuffer-complete #[0 "\302\303 d	$\207" [minibuffer-completion-table minibuffer-completion-predicate completion-in-region minibuffer-prompt-end] 5 1938442 nil] nil)
  minibuffer-complete()
  call-interactively(minibuffer-complete nil nil)
  command-execute(minibuffer-complete)
  read-from-minibuffer("Find file: " "~/" (keymap (keymap (32)) keymap (7 . minibuffer-keyboard-quit) (10 . minibuffer-complete-and-exit) (13 . minibuffer-complete-and-exit) keymap (7 . minibuffer-keyboard-quit) (menu-bar keymap (minibuf "Minibuf" keymap (tab menu-item "Complete" minibuffer-complete :help "Complete as far as possible") (space menu-item "Complete Word" minibuffer-complete-word :help "Complete at most one word") (63 menu-item "List Completions" minibuffer-completion-help :help "Display all possible completions") "Minibuf")) (27 keymap (118 . switch-to-completions)) (prior . switch-to-completions) (63 . minibuffer-completion-help) (32 . minibuffer-complete-word) (9 . minibuffer-complete) keymap (6 . zlc-select-next) (2 . zlc-select-previous) (14 . zlc-select-next-vertical) (16 . zlc-select-previous-vertical) (left . zlc-select-previous) (right . zlc-select-next) (S-tab . zlc-select-previous) (backtab . zlc-select-previous) (menu-bar keymap (minibuf "Minibuf" keymap (previous menu-item "Previous History Item" previous-history-element :help "Put previous minibuffer history element in the minibuffer") (next menu-item "Next History Item" next-history-element :help "Put next minibuffer history element in the minibuffer") (isearch-backward menu-item "Isearch History Backward" isearch-backward :help "Incrementally search minibuffer history backward") (isearch-forward menu-item "Isearch History Forward" isearch-forward :help "Incrementally search minibuffer history forward") (return menu-item "Enter" exit-minibuffer :key-sequence "
" :help "Terminate input and exit minibuffer") (quit menu-item "Quit" abort-recursive-edit :help "Abort input and exit minibuffer") "Minibuf")) (10 . exit-minibuffer) (13 . exit-minibuffer) (7 . minibuffer-keyboard-quit) (C-tab . file-cache-minibuffer-complete) (9 . self-insert-command) (XF86Back . previous-history-element) (up . zlc-select-previous-vertical) (prior . previous-history-element) (XF86Forward . next-history-element) (down . zlc-select-next-vertical) (next . next-history-element) (27 keymap (114 . previous-matching-history-element) (115 . next-matching-history-element) (112 . previous-history-element) (110 . next-history-element))) nil file-name-history "~/" nil)
  completing-read-default("Find file: " read-file-name-internal file-exists-p confirm-after-completion "~/" file-name-history "~/" nil)
  completing-read("Find file: " read-file-name-internal file-exists-p confirm-after-completion "~/" file-name-history "~/")
  read-file-name-default("Find file: " nil "~/" confirm-after-completion nil nil)
  read-file-name("Find file: " nil "~/" confirm-after-completion)
  find-file-read-args("Find file: " confirm-after-completion)
  byte-code("\300\301\302 \"\207" [find-file-read-args "Find file: " confirm-nonexistent-file-or-buffer] 3)
  call-interactively(find-file nil nil)
  command-execute(find-file)

追記 10/22 23:50

Twitter で治しかたを教えていただきました。
その人のツイートは既に削除されているので、方法だけ載せておきます。

zlc-minibuffer-complete(completion--do-completion)(completion--do-completion (minibuffer-prompt-end) (point-max)) にすれば動くようになりました。

https://github.com/nna774/emacs-zlc/commit/e57daf87987bb0b49af2e2323b787bd3e9e58cbc

共になんとかする方法がわかったら追記します。
誰かなんとかする方法がわかる人、教えてください。。。 > @nonamea774 or nonamea774@gmail.com

memo

書いとかないとぜったい忘れるのでメモ

スタックトレースを出してほしい時は

M-x toggle-debug-on-error

艦むすって人間なの?

そうだよ派─┬─普通の人間が艤装をもってるだけだよ派
      │
      ├─人が船に乗りこんで操作するんだよ派
      │
      └─遠隔で船を操作してるんだよ派

ちがうよ派─┬─機械の体を持ってるよ派(機械娘派)
      │   │
      │   ├─大きさは人と同じだよ派
      │   │
      │   ├─船のサイズだよ派(巨大娘・機械娘派)
      │   │
      │   └─見た目は実は船だよ派
      │
      └─体は柔らかいよ派
          │
          ├─もともとは人間だったよ派
          │    │
          │    ├─艤装を外せば人間に戻るよ派(解体で普通の女の子派)
          │    │
          │    └─艦むすになった時に完全に人ではなくなったのでもう戻れないよ派
          │         │
          │         └─人でなくなった瞬間の姿を保って成長しないよ派
          │
          ├─最初から兵器として作られたんだよ派
          │    │
          │    ├─大きさは人と同じだよ派
          │    │
          │    └─船のサイズだよ派(巨大娘派)
          │
          ├─深海棲艦から艦むすになるよ派
          │    │
          │    ├─沈没で深海棲艦に戻るよ派
          │    │
          │    └─深海棲艦は他の要因で産まれるんだよ派(沈んだら死派)
          │
          └─妖怪の類だよ派
               │
               └─むしろ英霊だよ派

endpoint は

https://OpenYo.nna774.net/

です。 オレオレ証明書なので証明書警告が出ます。

  • SHA-256 指紋
    • 24 A8 46 7E BD 08 29 28 3D 2F 23 40 A1 21 19 16 64 9B 0B FB E1 BC FF 48 0D 9C 1E D4 56 3E 07 84
  • SHA-1 指紋
    • 6F 16 83 6B 73 3D F8 FC 0C 0F BC E7 88 A1 A5 B0 DB 6B D2 AD

【追記 9/22 12:50】
Start SSL で取得しました。これで警告も出ません!
【追記ここまで】

今のところ今までどうり、http でも使えます。

ref

今のところまだぜんぜんドキュメントが無いです。 レポジトリのREADME と、前の記事が今のところの主なドキュメントとなります。

Page 12 of 18