2017年秋季アニメ総括メモ

あけましておめでとうございます。本年もよろしくお願いします。

3ヶ月に1度と言いながら前回書きませんでした。すみません。

前々回:

whywaita.hateblo.jp

結果

名前 放送時間 結果
全て 任意 任意 完走せず

詳細

というわけでこうなりました。本当にすまないと思っている。

アニメを見る習慣がぷつりと切れてしまい、結局半年分ぐらいのアニメを完走しませんでした。特に忙しかったという訳でもないんですが、なんでかな…。

UQ HOLDER!魔法先生ネギま!2~」、「お見合い相手は教え子、強気な、問題児。」、「十二大戦」、「キノの旅-the Beautiful World- the Animation Series」、「ラブ米 二期作」あたりは今でも見たいと思っているので、気が向いたら見ると思います。

まとめ

というわけで前季はこんなことになってしまいましたが、冬季のアニメはぼちぼち見ています。

いつも通りリストも作っておいたのでどうぞ。 2018年冬季(新春)アニメ録画リスト · GitHub

そういえば先日「映画 中二病でも恋がしたい! -Take On Me-」を見てきました。

大変良かったのですが、オタク2人で見に行くものではなかったですね。各位お気を付けください。

ではまた3ヶ月後に会いましょう。

ThinkPad X230を中古で買いました

人間は生活していると突然Linuxラップトップが欲しくなる時があります。ない人は人ではないかもしれません。

その用途としてThinkPad X61sを元々持っていたんだけど、先日破壊活動にあったので新しく買う事にした。まあ使えなくもないんだけど、X230が1万円を切ったみたいな話を聞くと買いたくなってしまい…。

まあまあ早めに欲しかったので雑に秋葉原へ。

続きを読む

11/29は誕生日でした

この記事はwhywaita Advent Calendar 5日目の記事です。

昨日は id:yu_ki_kun_0 さんの オタク言語について思うこと - 上から下まで面白いことを… でした。 オタク言語大変そうですね。私はよくわからないので今度また機会があったら教えてもらおうと思います。

さて、去る11/29は私の誕生日でした! ウィッシュリストこちらとなります。 まだまだ誕生日プレゼントお待ちしております。

今年も多くのプレゼントを頂いたので、まとめてご紹介します。

続きを読む

自分Slackのススメ #kosen10s

この記事は#kosen10s Advent Calendar 2017 4日目の記事です。

昨日は id:denari01kosen10s.net をしっかり作りたかった(進捗ダメです) - Narcist's way でした。 めっちゃ良いサイトが出来るのを期待しています。私も拾ってきたCSS雑に当てて直すの辞めたいですね。

まえがき

こんにちは。毎年 kosen10s Advent Calendarの説明欄が「kosen10sのメンバー」ではなく「kosen10sの関係者」となっている理由の半分ぐらいを占めていると噂の id:whywaita です。 今年もお邪魔します。

さて、kosen10sと言えば「kosen10s Slack」ですね。昨日の記事で公開された新しい(工事中な) kosen10s.netでも「タイトル」「背景画像」以外の情報としてはSlackへの誘導リンクだけなので、おそらく活動の中心にSlackが据えられているのでしょう。 kosen10s Slackには記事執筆時点で68人*1もの人が参加しており、多くの高専2010年入学生を捉えていることが分かります。

沢山人が居るSlackは会話が弾みやすくとても楽しいですが、敢えて逆の「1人Slack」をこの記事ではご提案します。

*1:Slackinより

続きを読む

GIGAZINEのアニメまとめ記事をパースするコマンドgiganiを作った

github.com

GIGAZINEが毎クールごとに出している新作アニメ一覧ページ(ex: http://gigazine.net/news/20170917-anime-2017autumn/ )をパースするコマンドを作りました。

動機

毎クールごとにそのクールのアニメ総括メモを書いていて、ついでにgistに録画するリストを毎回手作業で作っていたのですが、これが面倒になったので自動的にパースするようにしました。

以下のようなstructを提供しています。

type Anime struct {
    Name        string
    URL         string
    StartDate   string
    BloadCaster string
}

https://github.com/whywaita/gigani/blob/f272572a6bf98fc2d432eb6727f475b5357bb426/main.go#L8-L13

現状だとMarkdownの表を出力するようになっていますが、他に出力したいものがあれば適当に弄ってください。 出力例はこんな感じです。

気づき

HTML パース

HTMLパーサといえばRubyのNokogiriやPythonのBeautiful Soupなんかが有名ですが、軽く見たところ一条件の要素をささっと取るのは楽なものの、今回のGIGAZINEのサイトを見ていると

  • そもそも正しいタグ構造になっていない
  • 法則性はあるものの放送局や特番の関係で微妙にズレていることがある

などなど結構お粗末で、上記のライブラリ群だと上手く動かなさそうだったので、Golangでシュッと書くことにしました。

現状のGolang標準パッケージにあるトークナイザーは x/net/html があります。が、これもいまいち使いづらく、特に

<h2><a href="http://whywaita.hateblo.jp/">なぜにぶろぐ</a></h2>

のようなHTMLがあった場合に「なぜにぶろぐ」という文字列を取得することが出来ないように感じたので、大体フルスクラッチかなと思っていたところ以下のページを見つけました。

stackoverflow.com

HTML系パッケージではなくxmlパッケージを使うことで良い感じにパース出来るのでは、という記載があったので参考に書いてみました。

type htmlTitle struct {
    H2 Value `xml:"h2"`
    A  Value `xml:"a"`
}

type Value struct {
    Content string `xml:",innerxml"`
}

func trimTitle(sentence string) (title string, err error) {
    s := strings.TrimPrefix(sentence, `</p><hr><p class="preface"></p>`)
    h := htmlTitle{}

    err = xml.NewDecoder(strings.NewReader(s)).Decode(&h)
    title = h.A.Content

    return title, nil
}

https://github.com/whywaita/gigani/blob/f272572a6bf98fc2d432eb6727f475b5357bb426/parse.go

このように書くと安全に値が取得出来るようになって最高です。

終わりに

まだもう少しバグはありますがとりあえず動いているので満足しています。 何かアレな部分があればご連絡ください。

良いアニメライフを。

私はこれを作っていたらアニメ録画出来ていなかったので急いで決めます。

スカイアーチネットワークス杯 第8回ICTトラブルシューティングコンテストの運営委員をしました #ictsc

標題の通りです。

8/26,27 に開催されたICTトラブルシューティングコンテストの運営をやってきました。

icttoracon.net

ポエム

本会は我が所属である電気通信大学で行われました。これを開催するまでには随分と長い交渉があり、様々な関係各所に多大なご協力を頂きました。本当にありがとうございました。

さて、様々なポエムを書こうかと思い立ち、深夜テンションで2000文字ほど書いたところまでは覚えているのですが、今日朝起きたときにほぼ全部消しました。なんかこれを共有しても意味ないのでは?という気持ちになったからです。

それなら何を書くんだという気持ちになった結果として一行目の感謝の言葉があります。この大会は数年前に一度「電気通信大学での開催は不可能である」という決断を下されているのを覆して開催されました。私が東奔西走して開催まで頑張ったのは勿論、やはり大学職員/教員の皆様のご協力はとても大きく、開催にこぎつけたのは様々な方のおかげです。

終わりに

終わりの後には次の始まりがあるものです。という訳で次回は第9回 ICTトラブルシューティングコンテスト、プラチナスポンサーとしてさくらインターネット杯が行われます。

次も何らかの形で関わるかもしれません。皆様どうぞよろしくお願いします。