type t (* void *)

ソフトウエアのこととか

ARM: Cortex-A53の実験

計算機がわからない。
ので実験を2つほど。

追記:
ろんだくん@fetburnerから「fadddとaddは同時に実行されているだろう」という指摘をうけました。
確かにALUとFPUは独立している回路なのでやってできないことはない筈です。
分岐命令の実行時間が無視できなくなっているのではないかということです。
解釈が間違っている可能性がありますので近日中に見直します。

ちなみに分岐命令のクロックを図りました。多分分岐予測に成功するときで3クロックです。

gist.github.com

続きを読む

OCaml: hello world!が実行されるまで

前一度調べたので記事をまとめておく。
OCamlプログラムの初期化は複雑だなぁ思った次第です。

続きを読む

一般の話: sshdに不正アクセスを試みたユーザ名を雑に調べた

ウェブコワイ。
sshdをDynamic DNSを使って自宅鯖に立てているのだけど、/var/log/auth.logをみるたび肝を冷やすので 不正アクセスを試みているユーザ名を雑に調べた。

ユーザ名を見ているとOSSのソフトウエアをインストールするとデフォで作られるユーザ名を狙った物が多くて、 次になんかありがちっぽい名前を狙っている感がある。

続きを読む

プログラミング: Makefileの雑い話2

ハマった


X = a b c
X += d e f

all:
  echo $(X)

これはmakeを叩いてみるとa b c e e fと出力される。 まぁ+=はこれで良さそう。

ちょっと直感に反している例として、make X=123みたいに 外側から与えられる場合。これは123とだけ出力される。

コレを123 d e fと出力させたかったらoverrideを加えればいい。

X = a b c
override X += d e f

all:
  echo $(X}

これで無事123 d e fと出力される。 しかしまぁこれ、なかなか悩ましくて外側から与えられる場合には、例えばコンパイルフラグが完全な状況になっていて欲しい場合もあり悩ましい。 例えば最終的にCFLAGS=-DA -DBとなってて欲しいところを-DAだけ外から与えてoverride +=-DBとする設計の場合、この+=を無視できなくなってしまう。しかし外側から与えられると共通のフラグは勝手に+=されて欲しい気持ちにもなって悩ましい。。。

結局は人間の運用をどうするべきかということなのですが、まぁ結論がない。。。。。

一般の話: 技術書典2に本を出しました

電子書籍販売し始めました!!!

コンパイラを作って遊ぼう - nomaddo - BOOTH


技術書典2に本を出してきました。う-15 「コンパイラを作ってあそぼう」です。 @alt_apさんの素晴らしいイラストを見て!

f:id:no_maddojp:20170409232749p:plain

経緯

締め切り駆動開発しようと思って、締め切りギリギリに申し込んだ。1月初めだったかな。
感想としては締め切り駆動は進捗はでるけど寿命を減らす感がある(徹夜3回くらいした

戦略

  • コンパイラの本を出す
  • 出すなら売れ残りたくないので色々戦略を考える
    • とにかくコンパイラ本だということを前面に出す
      見た時のわかりやすさ優先
    • 知り合いの@alt_apさんにイラストをお願いする
    • 60ページくらいで簡単に読み切れる分量、500円程度の値段設定
      実際はページが減って52ページになった……
  • latexが書き慣れてるしええやろ

大変だったこと

  • 残の業が障害になった
    残業がなければちゃんとコンパイラが完成していただろう……
  • 自分のわかっていないところがやっぱり分かって無くて大変だった
    レジスタ割付けはなんかこう、教科書通り全然出来ないし教科書では簡単な例ばっかりで駄目
    コンパイラはこういうのが多くて困る。実践のノウハウがやはり重要

準備がいる

印刷所から直入だったから荷物手ぶら状態だったけど、色々小物が必要だった

  • コインケース
    色々慌ただしくやり取りしているとただ机にコインを積んでいるだけだと落とす
  • A3イラストを立てるための台みたいなもの
    やはり机においているだけだと全然外から見えない
  • 値段を表示するためのもの
  • 机にしくマットみたいなもの
    見栄えの問題だなー
  • 大量のコインと札を持ち帰るための袋
    10万円分の1000円札……
  • ダンボール持ち運ぶやつ
    大量に在庫残った場合を考えてキャリーバッグをもっていったけど、もっと適切な道具があるっぽい

経費

  • 印刷費200部 45000
  • イラスト発注 25000
  • 参加費 7000
  • 交通費 4500

時給で換算すると余裕で100円を切るやつ。
赤字にならなくてよかった。

おまけ

今回使ったlatexのテンプレートを貼っておきます。
今回私の本文はこれだけで作っています。あと図にパワポから生成したpdf。
遷移図みたいなの書くのにパワポが最高。graphvizとか書いてられない。

GitHub - nomaddo/b5-book-template

f:id:no_maddojp:20170410012201j:plain