2017/05/19

schedule

09:50 起床・朝食
10:20 出家
11:20 某 (含昼食)
14:20 某終
16:30 帰宅・昼寝
20:00 起床・夕食
21:00 風呂
22:00 読書
23:00 電話 (-25:30)

やったこと

  • C言語 入門書の次に読む本 (pp.239-277)

malloc / free問題に多くの章が割かれている。やはりメモリリークはバグとして重大で、典型的なのだろうか。
バグにも、

  • コンパイル時エラーになるもの
  • リンク時エラーになるもの
  • 動作してしまう構造的・内容的問題 (再現性あり)
  • 動作してしまう構造的・内容的問題 (再現性なし)

のような区分がありそう。下に行くほど取るのが難しい (そもそも上の2つはバグと言うか?)。

コメント

  • 某◎%.定.,者/@懇`△*:会に行く。6/1になると書面になるらしい。
  • 書店に行く。溜め込んでいたほしいものリストが肥大化しすぎて、どれからチェックすれば良いのか分からず諦める。
  • この日も眠くて仕方なかった。帰宅して昼寝してしまった。
  • 翌日、梅雨前の天気がいいフリーの土日であり、登山に行くか逡巡す。しかし、暑い、リハビリだと奥多摩だがそこまで山に魅力がない、そもそも2時間半も中央線に乗りたくない、同行者もなし、で諦めた。こういう時、行動力や意志の強さが試されるのだと思う。
  • ほしいものリストにあった本のうち、Amazon.co.jpでは在庫なし・入荷未定となっていた「穴と境界」がhonto.jpに、「アルゴリズムの自動微分と応用」が紀伊國屋書店に在庫しているのを知る。このまま手に入らなくなると困る (既にAmazon.co.jpでは中古の値が上がりつつある) ので購入してしまった。高い。
  • 本の販売サイト間で裁定をするつもりはなし。
  • 後輩が関数解析の本の輪読会をするらしい。本屋でパラパラ見たところ、増田久称の関数解析は薄い、Fourier変換とLn空間が章分けされていない。黒田の関数解析は分厚い。という印象。

2017/05/18

schedule

09:00 起床
10:00 起床(2度目?)
(この間何をしていたかわからない)
13:00 出家
14:00 研究室
16:30 掃除・雑談
18:00 研究
20:45 研究室出
21:30 帰宅・食事
22:30 風呂

やったこと

  • 研究 (ゼミ含めると) 5時間弱。指摘されていたグラフを細かくする。プログラムを調整する。何か新しい発見はなし。
  • C言語 入門書の次に読む本 (pp.168-238) : コード例はちょっと今は読むのがつらい(身を入れていない)

連結リストが「任意の位置にO(1)で挿入可能」というのは、「どこに挿入するか?」は除いてということか?普通、格納したいデータが有り、それをどこに入れるか(先頭と末尾という特殊な例を除くと、中間に入れるのは何か前後との関係がある時な気がするが)考えるが。連結リストは検索が難しく、O(N)の線形探索くらいしか手段がないと思う。だから、ソート済としても、挿入位置を決めるのは平均してN/2掛かる気がして不思議だったが、元の文章に忠実なら間違いではなかったか。
連結リストの実装があり、これをライブラリにまとめたりせず書き下したのは、作者が仕組みをわかってほしいという意図からか。
「4. バグを出さないために」の「変数、引数を他の目的に使いまわさない」はC独特だと感じる。C++なら頭に変数を持ってこなくて良いから。変数の宣言が少し高コストなCならではのようだ。

コメント

  • 眠い。ずっと眠い。
  • 電気を点けっぱなしで寝落ちしてしまったので、眠りが浅い。
  • 朝、いつも鼻が詰まって起きる。これがかなりキツい。
  • 夜には目がしょぼしょぼ。
  • 昼土砂降りの雨に遭う。傘をさしていたが、ズボンの裾は濡れるし、鞄も濡れる。研究室に着替えがあり、乾燥させられ、かつ私服登校なので良かったが。会社だったら心が折れそうだ(不自由さもあり)。
  • 行きつけのパン屋に行けたので良かった。気に入っていたサバのタルタルカツサンドが売り切れで残念。
  • 研究室では、なぜゲームにハマれないか?自分より下の文化(多分PCではなくスマートフォンが中心で、それでインターネットにアクセスする。まとめサイトに抵抗がない)が合わないのは何故かと話していた。

2017/05/17

schedule

03:00 睡眠
08:50 起床・朝食
09:10 出家
10:45 大学(講義受講)
12:15 昼食
13:30 バイト
17:45 バイト終
19:00 買い物
19:45 帰宅
20:00 食事
21:20 寝落ち

やったこと

  • なし

コメント

  • 疲れて帰宅即就寝してしまった。
  • ここにきて講義を受けることに (文系教養が1単位足りない…)。開始一ヶ月後にして初めて出席したが、結構面白かった (自分が講義を面白いなあ思うのは珍しい)。
  • 学生生活も後1年、終わりが分かると少し大学に残りたい気持ちも出てくる。後腐れ。
  • 玉川高島屋紀伊國屋書店に行ったが、明らか自分はターゲットの客層ではなかった(超遠回しな言い方)。専門書は少ない…。
  • 人の少ない細い通りが気になったので行く。眺めは良かった。しかし中身が腐敗したゴミ袋があってそれどころではなかった…。想像を超えたおぞましさ(小説の記述ならふーんで終わる)で、人生で数点しか無い思い出したくないものが増えた。
  • 学食は人が多くて辟易する。しかもメニューに乏しい。あまりお腹が減っていなかったので、コーヒーとサンドイッチが食べたくなったが、あのキャンパスにはそれが叶う店がない。しばらく歩き回り、駅前のイタリアンに入ってみる。メカジキのペンネが美味しかった(久々にオリーブオイルの味付けのものを食べた)。

2017/05/16

schedule

01:20 睡眠
11:50 起床・朝食
13:00 出家
13:45 研究室
18:50 帰宅
19:30 自宅着・夕食
20:30 読書
22:00 風呂
23:30 電話 (-24:30)

やったこと

  • C言語 入門書の次に読む本 (pp.117-168)

得たこととしては

  • 外部に公開するheader file、公開しないheader file (.cに対して1つずつが望ましい) を作る。しかし、Cでは、ライブラリのみでグローバルの関数(としたいもの)と、外部に公開するグローバル関数を区別できない。適当にプロトタイプ宣言してlink可能である。
  • Makefileは、BSD makeとGNU make、どちらでも通るように。
  • 必ずexit()で終了する
  • 大きなライブラリでは、複数のオブジェクトファイルをアーカイブ形式にまとめる。
  • 構造体のメンバ変数の隠蔽 : 面白い
  • Algorithm + Data structure = Programs !!!
  • ハッシュは、既存のプログラムを余り変えずに導入できる。既存の検索アルゴリズムやデータ構造を変えられない時に導入するのが主。時間(速度)と空間(ハッシュ個数、メモリ量)のトレードオフあり。ハッシュ個数でこれを調節可能。

疑問

  • makeは文章の整形などにも使える…?
  • 乱数発生用ライブラリ : 自分は0と1が交互に出現することを再現できなかった。
  • ここでの説明のHashと、自分がイメージしているHashが違った。というか、hash mapをhashと思っていた。C++だとunordered_mapだが、あれどうやって実装しているんだろう。hashの閾値分のindexをもつ配列を予め確保しているんだろうか…効率…。
  • C++のstd::mapは二分木らしい。今度手で書いてみようか。

コメント

  • 今日も眠い。前日すぐ寝たのに。ずっと眠い。
  • PCを閉じていると作業が進む。やはりPCは害悪。
  • 今日は沢山本を読めた。よかった。自分が長年疑問だったことの答えがあったからかもしれない。
  • この後にリファクタリング読んで、Effective C++を読み直して…とモチベーションが上がった(これは久しぶりのこと)。
  • 研究を行う。研究室に所属した当初は、「プログラムバリバリ書くぞ(テーマが数値計算使う)」という感じだったのに、今では急いでいるからなるべく既存ので済まそう…というレベルに低下
  • 研究があまり上手く行っていない。正統的な発想を誰も試していないというのは、そこに泥沼があるからなのか。
  • “100 Power Tips For FPGA Designers"という本が気になっている。FPGAは和書が極端に少ない。きっと電気系エンジニアぐらいしか触らず、そういう人達は英語文献を読んじゃうし、訳してもニッチだから利益が少ないのだと想像。
  • FPGAで例えば配列の平均を取るとして、どういうアルゴリズムがよいか?これだけでも結構考えてしまう。アルゴリズム実装集みたいな本が欲しい。
  • 凄いと思ったニュース ソニー、1,000fpsで対象物をセンシングできる超高速センサー - PC Watch

(?)

  • A + D = Pを初めて知った。特にAlgorithmに気をつけよう…。
  • コーディングを通じてだとよく知識を吸収できるのは、人に何かを説明するのとかなり似ている (自分の言いたい / 書きたい範囲で、必要性が及ぶ知識を総動員する。実現のために自身の知識の参照領域を制限できない。)

2017/05/15

schedule

03:00 睡眠
13:00 起床・朝食
13:45 出家
14:30 研究室
18:30 雑談
20:00 帰宅
20:45 自宅着・夕食
22:00 風呂
23:30 電話 (-24:15)
25:30 就寝

やったこと

  • C言語 入門書の次に読む本 (pp.107-117) 帰宅後の合間に読む。多重include回避のためのinclude guard (typedefが衝突するとエラーになる)。header fileでincludeすべきheader file : ライブラリを利用するときに外部者が必要なもの。そうでないheader file : ライブラリでのみ利用するもの。header fileに関数定義を書く手法はとてもよくない。ヘッダのお作法は習ったことなかったので参考になる。

コメント

  • 先週後半、何もしていなかったので研究をする。まず、1日7時間研究をすること自体が自分にとって難しい課題…。
  • 眠いのですぐ寝てしまった。研究室にいた時から、どうも目を開けているのが辛かった。沢山寝たはずだが…。
  • 会社に入って、この調子で勉強を時間外にできるものだろうか。心配だ。

(C言語について)

  • C++がCより多機能になり"Better C"と言われる分、Cは低機能だと思っていた。それは正しいが、低機能な中でもこれだけ気をつけるべき点があって、随分良くできるものなのだなあと思う。
  • Cによるコードの1つの集大成が、Linuxカーネルか。デバイスドライバ周りだけ少し見たことがあるけれど、整然としている印象だった。

(?)

  • 任意の市場について、完全に市場原理に任せるか、法などで制約すべきか。バス事故。

2017/05/14

schedule

03:00 睡眠
12:00 起床・朝食
13:00 グダグダ
14:00 blog
17:00 線型代数入門
18:30 買い物
20:00 ご飯
21:30 風呂
23:30 電話 (-25:30)

時間のデッドスペース…

やったこと

  • 線型代数入門 (pp.162-165) 2次形式の符号を用いた、3or2次元空間tex:V3での二次曲面(線)の分類。あんまり面白みを感じない…。

コメント

  • あまり何もしていない

2017/05/13

schedule

09:00 一度目起床
12:00 起床・朝食
13:00 グダグダ
14:50 線型代数入門
17:30 終
18:00 ご飯
21:00 風呂
23:30 電話 (-25:30)

しばしばある時間のデッドスペースは何をしているんだろう…本当に

やったこと

  • 線型代数入門 (pp.154-162) 2次形式F(x) = ^{t}xAx = A[x] = (Ax, x)。斉2次式の本質(?)が実対称行列で、実対称行列の正値性とかが斉2次式にも受け継がれる。実対称行列は対角行列と相似なので、一番簡素な表現として2乗の項だけの標準形にできる。標準形はシルヴェスタの慣性法則より一意に定まる。符号として、正の固有値の数、負の固有値の数の組(tuple)を用いる。多項式と行列が繋がるのが面白い。これで多次元正規分布を見ても「あ~!」となれる。
  • 見えない道路 (2項道路の本) 。2項道路とは、建築基準法に指定される道路 (幅4メートル以上) ではないもののうち、2項の但し書きにある、同法成立時に既にある道路のこと。具体的な要件(住居が並んでいる?、道路として利用されている)は特定行政庁?が一括指定している。しかし、どの2項道路がそれに当てはまるのか、指定道路台帳のような物が無かったため、一々建築主事が確かめている[^1]。平成19年の改正でこの部分に改善が見られたらしい。そもそもgeneralな(一般名詞としての)「道」と対比して、「道路」は法律用語である(at least 本の中)。建築基準法では、すべての建物には接道義務があるので、古く狭い路地が2項道路として認められるかは重要である。法律上中心線を設定し、これから片側2mは建物を建てられないので、この中心線の確定は重要な問題。しかし、道路が明確に分筆されていたりすればよいが、そうでない場合は近隣を巻き込みつつ道路位置の決定をしなければならない。この時、2項道路にのみ面した家屋と、角地の家屋では利害の相反関係が生じる。というのも、2項道路のみに面している場合、建物を建てるためには道路の認定が必要。しかし、角地で一般の道路に面していると、2項道路に認められてしまった場合に両道路に対し日陰制限、高さ制限が生じる上、2m空けないといけない分後退の可能性があるからだ。

省庁といえば霞が関とか竹橋にある中央省庁のイメージしか無かったため、最初は特定行政庁という概念を理解できなかった。道路が幾つかの方で定義されているのも同様。あと、最初の方でいきなり用語が出てきて、解説が後なので、心を無にして読まなければならない。

コメント

  • 休日。雨だった。家にいると雨も(雨音が落ち着くので)悪くないなと思う。あと、涼しい。前日までが暑すぎた。
  • 線型代数入門をやる。2次形式はちょっと面白い。が、3次元空間の2次式の分類でやる気が消えた。
  • 家は休む場所という印象が強く、どうにも「よしやるぞ」という気持ちにならない。甘えとは思うが、しかし…

[^1] 著者は確認が無限に続くと書いていたけれど、道路は有限個しかないし、それに接する家屋も有限個だし、そう遠くない時間に終わりそうと思ったりもした。

2017/05/12

schedule

(前夜) 記憶なし
08:50 起床・朝食
09:10 出家
10:29 バイト
18:00 終
18:50 パン買う
20:00 帰宅
21:00 寝落ち

やったこと

なし

コメント

  • 働くだけの日
  • 自由が丘を通りかかったら、定期売り場があったので、懸案だった定期購入をした(大岡山は、通るといつも新規定期購入の受付をしていない…)。
  • 自由が丘はスイーツの街というが、駅近くでケーキを買えない(ダロワイヨ・中央口左の警察横くらいか)。不便。
  • ただキーボードの音だけが響くオフィス、眠気に耐えるのが大変。
  • 通帳に記帳したら、1年分くらい溜まっていて、繰越含め10分近く掛かり大変だった。インターネットバンキングに履歴閲覧25ヶ月の制限がなければ移すんだけれど。
  • 自由が丘の浅野屋のクリームブリュレパンはとても美味しい。

  • ストラディバリウスと新しいヴァイオリン、ブラインドテストではどちらのほうが音が良いかというニュースが話題。しかし、繊細な音の違いを分かるほど、アーティストは再現性のある演奏ができるものなのだろうか?或いは、その音の違いが明確にヴァイオリンによるものと示せるのだろうか?そもそも、正確に演奏でき、かつ再現性がある(これは「正確に演奏」が「原典に倣う」を含むから、前者だけでいいような気も)のが良い演奏なら、あの演奏家や指揮者奏者ごとの違いは、受け入れて議論すべきものなのだろうか。(堅いことを言わない) 大体、正確な比較をするなら、人間のバイアスが入らないようにすべきで、そもそもが人間のお遊びに過ぎなくなる? 

  • クレジットカードを使えないようにしているお店、手数料や機器更新費を払わないという営業(経営?)戦略の1つなのだろうけれど、結構そういうお店が多いので、デビットカード切りたがりの自分には大変…。JCBが手数料最大7%掛けるという話もまたうわあとなるが。

2017/05/11

schedule

(前夜) 寝落ち
09:00 一度目の目覚め
11:00 2度めの目覚め・朝食
12:30 体調が悪い
14:00 Blog書くの停止
19:30 夕食
21:00 風呂
23:30 電話

やったこと

  • Blog記事 (2hほど)
  • 線型代数入門 pp.141-153 (§3は、§2を正規変換→対称変換、Hermite→実対称、ユニタリ→直交と読み替えればよく、流し読み。上三角化、スペクトル分解、正値[反正値]Hermite変換、二次形式。正規変換の異なる固有値に対する固有ベクトル同士が直交するのは分かったけれど、ちょうど固有ベクトルがn本ある? 固有ベクトルから正規直交基底を作る辺りが理解できていない)
  • 部屋の片付け少し。家電等の箱をホコリ被らないようケースに入れるなど。

コメント

  • 鼻がひどすぎる上、気だるさ、頭痛、暑さに順応できない(?) まで食らったので大学を休む。もう体調悪いとか自分とは無縁と言っていられない感じがある。主な原因は体力の低下な気もするが。本当に花粉症か?これ
  • 進捗的にはここ一番の出来。
  • とにかく暑かった。
  • Blogは出典を明記する作業が意外と大変だった。