2017/05/24

schedule

06:00 起床 (一度目)
10:00 起床 (二度目)・朝食
12:30 出家
14:00 バイト
18:00 バイト終
18:45 研究室
21:00 研究室出
22:00 帰宅
23:15 電話 (-24:00)
24:30 風呂
28:00 就寝

やったこと

  • 研究 (研究2h)
  • 免疫 (- pp.55)

コメント

  • 二日酔い。そもそも気付いたらベッドの上だった。水を飲み、胃薬で抑え、なんとかバイトに向かう。
  • 自分が前に書いたコードが、もはや他人のものとなって襲ってきている。
  • 免疫は凄い。しかし、このシステムはよく出来ているが、最適解だったのだろうか? (5/29追記、それこそ遺伝的アルゴリズムを地でやっているので、多分現状までの局所最適解)
  • Gitをそろそろ始めたい。自分の製作物のバージョン管理ができない (ロールバックが大変) 。論文とか皆どうしているんだろう。
  • 他になにか始めたいと思った気もするが、忘れてしまった。

2017/05/24

schedule

10:00 起床 (一度目)
12:30 起床 (二度目)・朝食
14:00 出家
14:45 研究室
18:30 研究室出・買い物
19:00 友達と飲む
24:00頃 帰宅・就寝

やったこと

  • 研究 (ゼミ1.5h、研究2h)

コメント

  • 30分で買い物3つ済ませられたので良かった。
  • 突発的に飲み、鳥貴族を最後に記憶がない。退廃的な飲み方をする。多分帰ってきた (どの路線で帰ったか記憶なし)。そのままベッドに倒れ込む。ワインのあとにビールを飲むのはとてもダメだ。

2017/05/22

schedule

09:00 起床 (一度目)
12:30 起床 (二度目)・朝食
13:45 出家
14:30 図書館→研究室
20:30 研究室出
21:15 帰宅・朝食
22:00 風呂
23:00 電話 (-24:30)
04:00 就寝

やったこと

  • 研究 (輪講2h、雑談1h、研究3h)
  • 免疫 (〜 p.20)

コメント

  • 研究が進まない。輪講の時間が長い?
  • 何の本を次に読むかで少し迷う。

2017/05/20

schedule

15:00 起床・朝食
その後読書
19:00 夕食
22:00 風呂
23:00 電話 (-25:30)
04:00 就寝

やったこと

  • C言語 入門書の次に読む本 (pp.277-終わりまで)

コメント

  • 家でゴロゴロしていただけ。
  • 山に行けばよかったか。でも暑いな。

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カーネルか。デバイスドライバ周りだけ少し見たことがあるけれど、整然としている印象だった。

(?)

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