syuntoku14の進捗

進捗を書きなぐります

進捗: 2018-09-20

 

8:00~ 起床
10:00~15:00 fusion2urdfの修正
15:00~17:00
18:00~20:00 剣道部に参加
21:00~ ルームメイトとおしゃべり

剣道部に参加してきました。思ったより身体が動く。だてに十年以上やってないので。

デイビスの体育館はとても綺麗。大会なんかもやるらしく、チケットを販売する場所が存在している。やたらデカイ。

f:id:syuntoku14:20180920155025p:plain

fusion2urdfのバグを修正した。多分殆ど完成かも。そのうち記事にでもしようかと思う。気が向いたら。

github.com

友人の論文を読んだり読まなかったりしている。(いそがちいの ゆるちて)

ぶっちゃけると必須の予定はほとんど入っていないのでぶっちゃけあんまり忙しくない。大体がどこかにでかけたり遊んだりなので、仕事で忙しいとかではないのである。 でもアメリカの生活に慣れてないので非常に疲れる。毎日ぐっすり寝ている。

ルームメイトとおしゃべりした。明日は友人と一緒に大リーグを見に行ってそのあとシリコンバレーを散策する。ぶっちゃけ野球はほとんど興味がない。 しかし、野球には興味が無いが、余り馴染みのない文化や英語を覚えるチャンスなので、そうした面では楽しみである。シリコンバレー散策はだいぶ楽しみ。テック博物館とか行く予定。

今日の英語

It's OKをめっちゃ使ってきたが、これはニュートラルな意思表示なので、あまり好ましくないみたい。今後は使用を控える。

席を外したいからちょっとどいてって英語でなんて言えばいいんじゃろ。誰かおしえて。

日課

  • [ ] 大学生からの確率統計
  • [ ] 確率ロボティクス
  • [ ] rustで何か
  • [ ] Algorithms at Coursera

進捗: 2018-09-15(UCDのキャンパスをぶらぶら)

 

07:30 起床
08:30~ 大学生の統計
12:30~ キャンパスをぶらぶら
18:30~ 帰宅&無

キャンパスをプラプラした。そろそろ落ち着いてきたので勉強モードに入る。 しかし明日はエリックとサクラメントをプラプラするのでまだ進捗は出ない。

初めてサンドウィッチを注文した。サブウェイに行ったこともなく、カスタマイズ形式の飯を食べたこと無いので、注文にひたすら手こずった。 そもそも店員が何言ってるのか聞き取れねえ。適当に頼んだ結果カチカチのサンドウィッチが出てきて心の中でブチギレてた。英語力が足りねえ。

図書館を訪ねてみました。

 

f:id:syuntoku14:20180915132611p:plain

檻みたいな勉強スペースがあって面白かった。院生しか利用できないらしい。闇が深い。

f:id:syuntoku14:20180915132551p:plain

気づいたこととして、授業みたいな場所でも、日本と違ってめっちゃ生徒が質問する。私も簡単に質問した。 やっぱり授業に能動的に参加することは日本だろうが大事なので、ロ技研の後輩も積極的に質問するような姿勢を身につけて欲しい。 1,2年の頃は全然質問とかしなかったが、KCSとロ技研の先輩の必ず質問する姿勢を真似して、2年の後半くらいから頑張っている。もっと早くからやればよかった。

全然関係ないが、結構東大は畏怖されている。東大生はすごい天才まみれだと思われているみたい。Are you from Tokyo University?(二回目)に対して苦悶の表情を浮かべながらNOと答えた。

マルチエージェント制御の本をちょっとだけ読んだ。さっさと読むんご。

今日の英語

サブウェイでの注文

難しすぎひん??なにこれ。

英語が難しいというよりサブウェイが難しい。でもサブウェイみたいなカスタマイズ形式のやつが結構多いので早く慣れたい。

日課

  • [x] 大学生からの確率統計
  • [ ] 確率ロボティクス
  • [ ] rustで何か
  • [x] Control of Mobile Robots

進捗: 2018-09-14(サンフランシスコに行ったり英語でディスカッションしたり)

 

 

7:30~ 起床
9:00~ 買い物
13:00~ オリエンテーション
18:00~ English Caffe

自転車を手に入れた。アメリカは日本と交通ルールが違っているので、ハンドシグナルなどを覚える必要があり、気をつけないといけない。交通事故には気をつける。

デイビスは自然が豊かなので、色々な動物が普通にいる。キャンパス内にリスがめっちゃいる。かわいい。

f:id:syuntoku14:20180914162156p:plain

 

オリエンテーション修士課程の中国人留学生と仲良くなった。俺くらい英語がガバガバな人間がいない。日常会話についていけねえ。

English Caffeでは留学生と話し合いながら英語の練習をしよう!みたいな趣旨がはがきに書いてあったが、実際には神の存在について語り合うなど、真面目に議論する感じだった。 話の内容が普段馴染みのないものなので、正直ほとんど聞き取れなかった。(馴染みがあったとしても聞き取れたか怪しい)

English Caffeに来てた人の一人が、Tea Scienceの専攻だったのが非常に面白かった。UC Davisはでかすぎるので、全然知らない学問が専攻として存在していて面白い。

京都大学からきた修士課程の人とたまたま出会って、仲良くなった。なんだかんだで海外の大学院で一番大事なのは教授の推薦だよって言ってて希望を抱いた。専攻が全然違うので適用されるかはわからないが。

リスニング力がゴミすぎる。おわり。

f:id:syuntoku14:20180914162427p:plain

 

先日はサンフランシスコに遊びに行ったが、あんまり時間がなかったのでちゃんと観光できなかった。そもそも私はあんまり観光などを楽しむ方ではないのでアレではあった。個人的には、観光とかで街をぶらぶらするより確率ロボティクスとかを皆で進めたりするほうが楽しい。

 

今日の英語

とっさの時に的確な英語がすっと出てこねえ 何時から始まるの?とか、今日はWhen is it? って聞いたけど、What time does it start?とかのほうがいいのかな。 どこでやるの?は Where will it take place? とかかな。 何にせよさっさと慣れてしまいたい。

日課

最近忙しいので無理だよっていう言い訳をしている

  • [ ] 大学生からの確率統計
  • [ ] 確率ロボティクス
  • [ ] rustで何か
  • [ ] Control of Mobile Robots

進捗: 2018-09-11(デイビスに到着!!)

 

09:00~ 起床
14:00~ アメリカへ
??:??~ UCDの寮でダラダラなど

この日記はUTCに日付を合わせているので、現地と日付が違う。カリフォルニアは9月10日でつ。

UC Davisにたどり着いてしまった。いきなり全てが英語になったので、会話がしどろもどろで辛い。ルームメイトが一人だけ俺より早く住んでいるみたい。立派な部屋だが、本当に何もないので大丈夫かこれ。ルームメイトが今のところ観測している限りでは2人いて、二人共CS選考なので面白い。二人共2年生だが、俺よりすごい年上に見える。しっかりもの(私がしっかりしていない)。

全ての従業員が気さくなことが日本と違って戸惑っている。店員が雑貨屋で爆笑していたのが面白かった。気さくに話してくれる店員に何か気さくに返事をしたいが、語彙力が足りないので出来ない。早く慣れたい。

SIMカードが無くてネットにつながらず、挙句結構デイビスは暑いので死にかけた。キャンパスがでかすぎる。キャンパスはちょっと見ただけ。

飛行機の中があまりにも暇だったので、勢いに任せてControl of Mobile Robotsの演習問題を全部終わらせてしまった。後はプログラミング課題だけ。やれやれだぜ。Courseraは一旦置いておいて、授業の予習などに集中しようかな。不安なので。Courseraの話はプログラミング課題をやったら書こうかと思う。

今日の単語

  • 時差ボケ: Jet lag
  • 掛け布団: comforter
  • ビニール袋: plastic bag
  • ゴミ出し: take out the trash

日課

  • [x] 大学生からの確率統計
  • [ ] 確率ロボティクス
  • [ ] rustで何か
  • [x] Control of Mobile Robots

進捗: 2018-09-08 & 09-09(出国前日とRustでICPCの資料)

 

進捗: 2018-09-08

10:00 起床
10:00~13:00 家事
13:00~16:00
16:00~22:00 荷造り
22:00~24:00 統計など
24:00~ ICPCのやつをちょっと

なんか緊張してきた。よく分からん。

ストレスからかやる気があんまり出ず、全盛期ほどの勉強意欲が湧いていない。こういう時は何か新しい日課を追加するに限るので、東大のICPCの資料をやろうかな。

統計の本はやっと確率母関数に到達した。そもそもSDは確率の授業が少ないので、確率母関数やモーメント母関数の話が無いので、結構ためになってる。

Control of Mobile Robots, non-ConvexなObstacle Avoidanceなどもあって良い。基本を非常に分かりやすく説明しているのでちゅき。Courseraおじさん。

DS-2019をなくしたかと思ってめちゃめちゃ焦った。あったけど。

日課

  • [x] 大学生からの確率統計
  • [ ] 確率ロボティクス
  • [ ] rustで何か
  • [x] Control of Mobile Robots
  • [ ] 問題解決のためのプログラミング一巡り

進捗: 2018-09-09

10:00 起床
10:00~22:00 荷造り

荷造りと合間に東大のICPC資料とかControl of Mobile Robotsとかをやっていた。rustで。

rust難しすぎてなみだが出ますよ。

いよいよ明日出国。無事到着するかホンマに心配。心配でいっぱい。

Score Totalizer Software

use std::io;
fn main() {
    while true {
        let mut line = String::new();
        io::stdin().read_line(&mut line);

        let n = line.trim().parse::<i32>().unwrap();
        if n == 0 {
            break;
        }
        let mut vec: Vec<i32> = Vec::new();
        for i in 0..n {
            let mut line = String::new();
            io::stdin().read_line(&mut line);
            vec.push(line.trim().parse::<i32>().unwrap());
        }

        let (max, max_index) = vec.iter().enumerate().map(|(x, y)| (y, x)).max().unwrap();
        let (min, min_index) = vec.iter().enumerate().map(|(x, y)| (y, x)).min().unwrap();
        let mut ans = 0;
        for num in vec.iter() {
            ans = ans + num;
        }
        ans = ans - (max + min);
        println!("{}", ans / (vec.len() as i32 - 2));
    }
}

読み取りに結構行数がかかってだるかったので、他の人のinput関数を見てみた。

fn read() -> Vec<i32> {
    let mut s = String::new();
    std::io::stdin().read_line(&mut s).unwrap();
    s.trim().split_whitespace()
        .map(|e| e.parse().ok().unwrap()).collect()
}

日課

  • [ ] 大学生からの確率統計
  • [ ] 確率ロボティクス
  • [x] Control of Mobile Robots
  • [x] 問題解決のためのプログラミング一巡り

進捗: 2018-09-06(ロ技研定例会と制御関連での良い資料)

 

8:00 起床
8:00~ 大学生からの確率統計
13:00~ ロ技研定例会
21:00~ 限界カラオケ

ロ技研定例会では進捗が特になかったので、ロボット関連(範囲がでかすぎる。制御関連)でおすすめの資料について喋った。ここでこれをやった意図であるが、私の大学は悲しいことにロボットの行動計画や位置推定を学ぶ授業が無いためである(多分)。そのため私の適当な主観から良いと思った資料を適当に紹介した。もっと良い物があればむしろ教えてほしい。

 

https://www.amazon.com/Theoretic-Multiagent-Networks-Princeton-Mathematics/dp/0691140618

あと個人的にだが、群ロボやマルチエージェント制御に興味を持っており、Graph Theoretic Methods in Multiagent Networksが良い本だと教授に教えてもらったので、やっていきをしようと思っており(そのうち)。

一般的にカラオケは他の人が歌っている時に特にやることがないのであんまり好きではないが、周りがオタクなので人が歌っている時に論文を読んだりしても問題なくて弱点を克服し、特に問題がなくなった。

Probabilisitc Programming for Hackersだが、ベイズ推定によるダークホールの検出が出てきて結構面白かった。そろそろ終わりだが、色々なベイズ統計の実例がしれて結構良かった。それはともかく、これをやる前にサンプリングやベイズ推定の基本を抑えておいたほうが良いとは思った。

日課

  • [x] 大学生からの確率統計
  • [ ] 確率ロボティクス
  • [ ] Probabilisitc Programming for Hackers
  • [ ] rustで何か
  • [ ] Control of Mobile Robots

進捗: 2018-09-05(ロボット見学やrustで日報作成)

 

進捗: 2018-09-05

6:00~ 起床
9:30~ 何か
15:00~ 某ロボット会社に見学
17:00~ 後輩を煽る
22:00~ rustをいじるなど

某ロボット会社を見学させていただいた。なかなかいい話が聞けたので、後輩たちは是非バイトでここで働いて技術を身につけていただきたい。 やっぱり大事なこととして、ロボットを作るときは難しい技術を無理して使うことはよくないですね。何でもかんでもディープラーニングしてもしょうがないです。 それはそうとして理論は知っておきたいところ。

某caret君みたいな日報生成スクリプトをRustで書いた。さっさと慣れたい。

以下ソースコード

テンプレ作成

use std::fs;
use std::io::{BufWriter, Write};
extern crate chrono;
use chrono::Utc;

fn main() {
    let date = Utc::today().format("%Y-%m-%d").to_string();
    let title = "# 進捗: ".to_string() + &Utc::today().format("%Y-%m-%d").to_string();
    let filepath = "/home/syuntoku14/OneDrive/Progress_Diary/Diaries/";
    let mut f = BufWriter::new(fs::File::create(filepath.to_string() + &date + &".md").unwrap());

    f.write((title.to_string()).as_bytes());

    let events = "\n\n|||\n|:-|:-:|\n| :00~|起床 |\n";
    f.write(events.to_string().as_bytes());

    let daily_routine = "## 日課\n";
    f.write(daily_routine.to_string().as_bytes());

    let mut routines = Vec::new();
    routines.push("\n- [ ] 大学生からの確率統計");
    routines.push("\n- [ ] 確率ロボティクス");
    routines.push("\n- [ ] rustで何か");
    routines.push("\n- [ ] Contorol of Mobile Robots");

    for routine in routines {
        f.write(routine.to_string().as_bytes());
    }
}

markdownからhtmlに

use std::process::Command;
extern crate chrono;
use chrono::Utc;

fn main() {
    let date = Utc::today().format("%Y-%m-%d").to_string();
    let filepath = "/home/syuntoku14/OneDrive/Progress_Diary/Diaries/";
    let filename = filepath.to_string() + &date;

    println!("{}", filename.to_string() + &".md");
    let status = Command::new("pandoc")
        .args(&[
            "--self-contained",
            "-s",
            "--mathjax= /home/syuntoku14/.pandoc/dynoload.js",
            "-c",
            "/home/syuntoku14/.pandoc/github.css",
            (filename.to_string() + &".md").as_str(),
            "-o",
            (filename.to_string() + &".html").as_str(),
        ])
        .status()
        .expect("failed to execute process");

    println!("{}", status);
}

日課

  • [ ] 大学生からの確率統計
  • [ ] 確率ロボティクス
  • [x] rustで何か
  • [ ] Contorol of Mobile Robots