Dentoo.LT#11

陳腐化する前に話をしておこうと思いましたが、あまり面白いものではなかったので枠の無駄遣い感がありました、けいなです。

今回も、Dentoo.LTで話してきた内容についてです。
細かい話はYouTubeのDentoo.LTチャンネルDentoo.LT#11とスライドslideshareSpeaker Deckに譲ります。

トラック泊地の開放初日に着任してから延々とやり続けている廃人提督ですが、あれこれと自分で管理するのが面倒になって専ブラ・支援ツールに手を出しています。(先日問題になった)Chrome拡張を利用していた時期もありましたが、最終的に記録魔な性分とWin・Macで運用できることを理由に航海日誌を使っています。

航海日誌が吐き出した次の資材ログを良い感じに表示する試みの話でした。
Boot CampのWindowsで取っていたログもありますが、(おそらく)マージしてません。

% nkf log | head -2
日付,燃料,弾薬,鋼材,ボーキ,高速修復材,高速建造材,開発資材
2014-04-03 06:26:37,33674,52280,52628,42649,360,599,522
% nkf log | tail -2
2015-05-10 13:56:56,221603,255400,234321,298388,2556,1902,1769
2015-05-10 14:02:13,221433,255064,234371,298278,2556,1903,1769
% wc -l log
   15043 log
% du -hs log
928K	log

主に用いるのは話した通りGnuplotです。
Makefileに利用するスクリプトと変数の内容を起こすように記述して、ある程度適当に使えるようにしています。

Makefileには、イベント攻略の資源推移のプロット用、全期間のプロット用などの派生をいくつか作成していますが、抜粋で済ませます。
ファイル名、期間をdateコマンド及びgdateコマンドで設定しています(使い分けに特に理由はありません。調べてすぐ出てきた方を使いました)。

FILE= $(shell date "+%Y.%m.%d-%H%M%S")
OLD = $(shell gdate -d '2 months ago 1 days' +%Y-%m-%d)
OLDE= $(shell echo "2015-04-28 23:00:00")
NOW = $(shell gdate -d '1 days' +%Y-%m-%d)
NOWE= $(shell echo "2015-05-03 03:00:00")
allh : /Users/KHe7/Application/macosx-x64/資材ログ.csv
	make svgh
	rsvg-convert -f png -o "$(FILE).png" "$(FILE).svg"
	rsvg-convert -f pdf -o "$(FILE).pdf" "$(FILE).svg"
alle : /Users/KHe7/Application/macosx-x64/資材ログ.csv
	make svge
	rsvg-convert -f png -o "$(FILE).png" "$(FILE).svg"
	rsvg-convert -f pdf -o "$(FILE).pdf" "$(FILE).svg"
svgh : /Users/KHe7/Application/macosx-x64/資材ログ.csv
	cp /Users/KHe7/Application/macosx-x64/資材ログ.csv ./log
	gnuplot -e "file='$(FILE)';old='$(OLD)';now='$(NOW)'" ploth
svge : /Users/KHe7/Application/macosx-x64/資材ログ.csv
	cp /Users/KHe7/Application/macosx-x64/資材ログ.csv ./log
	gnuplot -e "file='$(FILE)';old='$(OLDE)';now='$(NOWE)'" plote

Gnuplotスクリプトの方では、”-e”オプションで受け取った変数を用いて出力ファイル名、x軸の期間を設定します。
また、SVGやPNGは何も設定しないと透過してしまうので、背景に白色を設定しています。
x軸に期間を設定するのに”set xdata time”と”set timefmt “%Y-%m-%d %H:%M:%S””を用いています。
色については各資源・資材の自分のイメージで決めました。組み込みに近い色があればそれに、なければ適当に数値で入れています。

set datafile separator ","
set terminal svg size 2880,1620 font "ヒラギノ明朝 Pro W3.otf,24"
set output file.".svg"
set object 1 rectangle from screen 0,0 to screen 1,1 fillcolor rgb"#ffffff" behind
set key left bottom
set xdata time
set format x "%Y.%m.%d"
set timefmt "%Y-%m-%d %H:%M:%S"
set xrange [old." 00:00:00":now." 00:00:00"]
set ytics nomirror
set y2tics
set grid xtics mxtics ytics
set yrange [250000:300000]
set y2range [1500:3000]
plot "log" using 1:2 w l lw 2 lc rgb "forest-green" title "燃料",\
     "log" using 1:3 w l lw 2 lc rgb "#8d6a47" title "弾薬",\
     "log" using 1:4 w l lw 2 lc rgb "gray60" title "鋼材",\
     "log" using 1:5 w l lw 2 lc rgb "sandybrown" title "ボーキサイト",\
     "log" using 1:6 w l lw 2 lc rgb "#aae272" title "高速修復材" axes x1y2,\
     "log" using 1:7 w l lw 2 lc rgb "#ff9999" title "高速建造材" axes x1y2,\
     "log" using 1:8 w l lw 2 lc rgb "light-blue" title "開発資材" axes x1y2

出力結果を2例示しておきます。
ひとつは全期間のログを用いたものです。
2015.05.10-232138
もうひとつは今回のイベント期間についてのものです。
2015.05.10-232132

よく考えるとこのどちらも上に示したMakefikeやGnuplotスクリプトで生成したものではないですが…余り変わらないので良しとしておきます。
前者はxrangeの設定を外してyrangeを[0:300000]、y2rangeを[0:3000]に設定しました。後者はxrangeをOLDE、NOEWで渡し、yrangeおよびy2rangeの設定を外した上で各期間に対応するような垂線を引き、凡例の位置を微調整しました。

ここまであれこれやったものの、あまり見栄えがしないので良い感じのビジュアライザを探したい気がしてきています。

次回は個人的な制作物のお話か、各種機関に対して行ったお問い合わせについて書きたいと思っているので、下調べと実行に取り掛かるつもりでいます。

Dentoo.LT#10

けいなです。

理由が出来たので投稿するという状態です。静的に置き換えることさえしてません。
Dentoo.LTが回数を重ねている間ネタがないと思い続けていたのですが、よくよく考えれば何かと話す材料があった、という話です。

細かい話はYouTubeのDentoo.LTチャンネルDentoo.LTにある動画Dentoo.LT#10とスライドslideshareSpeaker Deckを参照していただければと思いますが、初海外+単独渡航という状況下で学会に行かされるに辺って準備したモバイル通信環境とWindows 8.1におけるモバイル通信利用の話となっています。

発表後にVisitor SIMという知見を得たのですが日本通信に邪魔されて調べ物が捗りません。
Ready SIMとAT&T GoPhoneについてはプリペイドという扱いのため、これも含まれる…ように感じますが、真面目に英文でアメリカのSIM事情を追いかけるには事後ということもありやる気が出ません。

2年半選手のSC-01Dを置き換えたいと思いつつ、標準サイズのSIMで通信を流しているために代えがたいという状況で悩ましいのですが、いい加減に次の請求を行おうと思います。
何らかの成果が出ましたらこの場かTwitterなどで報告をさせていただきます。

ではまたいつの日にか。

P.S.
DentooLT#6の記事書いてないことに気付きましたがそれはもうスライドで見てください。

UEC AC 9th

放置されていた場所で、けいなです。
ここも静的な形に置き換えたいですね。全く作業してませんが。

調子に乗って参加したら書くこともないわけですが、
諦めて課程について、特に教職課程についての話をします。

ご存知の通り、電気通信大学には教員養成課程が設置されています。
学科によって異なりますが、数学・情報・理科の免許の取得が可能です。
必要単位数等は文部科学省に申請の上で作成された手引に従います。

簡単に説明すると、教職論や教育心理学などの教職に関する科目を一定数、数学・情報・理科などに関する学科の専門科目を教科に関する科目として一定数の単位をそれぞれ取得した上で、中学校教諭の免許を取得する場合には特別支援学校と福祉施設での体験実習、教育実習を行うと、申請の上で免許状を取得する事ができます。

ここに、修士の学位を基礎資格とする専修免許状というものがあります。
一種免許状の要件に加えて、大学院で教科または教職に関する科目などの単位を24単位取得すると申請の後取得することが出来ます。

I専攻では、高等学校数学科および高等学校情報科について専修免許状が取得できる訳です。
何を思ったかその両方を取ろうと考えたわけですが、ここに茨の道が待っていました。

電気通信大学は教育大学ではないため、教職に関する科目が最低限しかありません。
大学院課程で行われている科目では、今年度から始まった教育学特論のひとつのみです。
ここで、専修免許状は1科目24単位という要件と重なり、2枚の免許取得のために25科目+1科目の履修が必要となります。

この結果、先行履修していた3科目に加えて、
修了に必要な大学院技術英語とインターンシップを忘れていたがために知的財産権特論を取り、
前期では9科目、後期の今では11科目を履修することとなりました。
また、前期に12コースと34コースで時間割を重ねれてしまって取ることが出来なかった科目
後期に先生の海外出張に伴って今年度開講しない科目があった影響で、
来年度前後期に1科目ずつの履修が必要となる予定です。

レポートの山と講義に押されて進捗が作れない大学院生ってどうなのでしょうか、という残念な人の報告でした。

C++に関する記録

気付けば冬ですが、けいなです。

今回はC++に関して試行錯誤したことについて書きます。

お気楽参加のTopCoder SRMやAtCoder、絶賛放置中のAOJではJavaを使いです。
C++は随分前に手を出そうとして環境構築との戦いに負けて放置していました。
(高校ではポインタと構造体の無いC言語と簡単なBorland C++だった筈なのに)
とある事情によりC++に軽く触れておかなければならなくなったので、
環境構築をしたのですが前回と同様に痛い目にあったので少しまとめておきます。

TopCoder SRMでEclipse上のEclipseCoderに頼りきりな人です。
当然、C++もまずはEclipseで、と考えました。

#include <iostream>
using namespace std;

int main(){
	cout << "Hello World!\n";
	return 0;
}

なんの変哲もないHello Worldを打ち込んでプロジェクトをコンパイルして実行…したところターミナルになにも出力されない。

調べるとEclipseとMinGWの組み合わせで、64bitの時に生じるバグのよう。
リンカのオプションに-staticを渡してやると直ることが分かったのでプロジェクトのプロパティから適当に挿入して解決。
前に嵌ったのはこれだったので前回は調査不足だったということですね、残念。

次に、適当にテストケースを放り込むものをEclipseCoderのC++で生成されるものを流用して使うことに。
で、何も考えずに次のようなコードを書いてコンパイルできずに死亡。

	vector<int> expected_ = { 0, 13};

C++11で導入された記法らしいということに辿り着くまでにすこしかかったもののたどり着いてからは早く。
コンパイラのオプションに-std=c++11を渡してやるとコンパイル通るので適当に。

が、この環境を構築したWindows 8はバッテリーの食い方が異様なので電源を使用していない時はほとんど使っていません。
SRMの環境としてなぜかBoot Campで動いているWindows 8のEclipseを使用しているため普段は使用されることなく。
結局、環境作った筈なのに全く進まない。(正直Appleには頑張って欲しいところ、トラックパッドのドライバとか特に!)

そこで、Macで書けるようにしようということでclangとバトル。
これがまたあまりうまく行かなかった。普段C++を使わない人が適当に頑張ろうとするのが悪いのだろうと思いつつ延々。
clangに対してWindows 8+MinGW+Eclipseで成功した-std=c++11辺りを放り込んで色々やっていたもののあまりうまく行かず。

clang++ -std=c++11 -std=libc++ probtest.cpp

結論はあっけなく。c++として認識させろということでした、はい。

と、Macで書けるようになった。この程度だとvimとコンソールで書けるしWindowsのcygwinでできるのでは…ということで色々。

clang++と試行錯誤しつつ延々酷い目にあって、C_INCLUDE_PATHやCPLUS_INCLUDE_PATH、LIBRARY_PATHを弄っていて。
Eclipse側が読み込んでいるPleiadesお抱えのMinGW配下のファイルを読み込ませても上手く行かなかった。
そこで方針転換。cygwinが抱えているヘッダファイル達を読み込む方向に転換するもなにかがおかしい。
clangやgccが抱えていたヘッダファイル等をEclipseの読み先と似たように持ってきているのに全く通らず。

エラー吐いている部分を適当にググるとStackOverFlowがヒットして、調べるとcygwinのgccがこの例と同じく4.5.3。
cygwinのインストーラーを持ってきて4.5.3を使っている部分をすべからく4.7.2にアップデートしたところコンパイル成功。

clang++ -std=c++ probtest.cpp

教訓:環境とデフォルト設定を疑え

と、これでコンソールで書けるようになったのでDropboxか何かで同期させておけばいつでもできる。
引数の微妙な差分は.zshrcで環境ごとにalias通して作業すれば十分。

しかし…TopCoderはC++11じゃないしこの環境だと参加するには微妙なところだな…。

Dentoo.LT#3

前の記事から1月以上が経ちました、けいなです。

今回は、Dentoo.LT#3で私が行ったLTについてです。

Dentoo.LT#3から早くも2週間半が経ちました。
いくつかの課題を片付けて安心していたら2週間経っていたという。

さて、Dentoo.LTという場にも関わらず技術的な話とは無縁の話題。
それも情報開示請求とかいう誰が知ってるんだよそれという謎テーマだったかと思います。

Dentoo.LTも3回目、過去2回はUstreamでの視聴で済ませたが今度こそ会場に行く
見るだけではなくLTもやりたいがネタがない
唯一あるのは絶賛進行中の情報開示請求
という感じで、前日夜からmasawadaに似せて紙芝居芸スライドを量産していたら枚数が増えて悲鳴を上げつつという感じでした。

まず、簡単な経緯について説明を。

教科情報は情報の入出力のやりかたを学ぶ場だという話から、仕入れる手段としての情報開示請求をやってみようかという話になって始まったのが今回の請求です。
成績分布を請求対象に選んだ理由は、分布から自分の立ち位置や評価のされ方が分かって面白いんじゃないかということと、とある科目は単位が出ないというもっぱらの噂を確認したかったことです。あれは自分も不可を貰っているのでかなり気になっています。
で、始めてみたらこれが揉めてしまった。
請求に細々と書き過ぎたためか、対象不存在を言い渡されて異議申立てに移ることに。
きつい表現だが、情報公開・個人情報保護審査会に自らの主張を認めて頂いて大学に対象となる文書の存在を認めさせるなくてはならない。
結果、大学の年度計画や報告書、年次報告書の文言を引っ張りだして、大学側が提出した理由説明書の全てに反論して主張を否定するという攻め方に。
答申が出て決定のやり直しと開示の決定が出たときは勝ったと思ったものの例の文言に気付いて苛立ち。
異議申立書をギリギリになってから簡易書留で郵送して行政不服審査法第十四条第4項に救われ。
諮問の通知が来ないのでどうなっているのかと思っていると内閣府からの書留で諮問されていることを知る。
という感じです。

発表に使用したスライドは以下に。
SlideShare
Speaker Deck
当日にアカウントを作成してスライドをアップロードして公開し、Twitterで流したのである程度の人に見てもらえたようです。とはいうものの、自分が何人分としてカウントされているのか不明ですが。
発表の動画は@masawadaの編集がどうなるか次第ですが公開され次第リンクを追加します。

反省を。

自己紹介パートはさておき、中盤の知る権利云々は減らすべきだった。中途半端に紹介して間違いが多い。
ただ、少しは話したかったという。制度の紹介は正直どうでもいい気もしましたが流れが作れそうになかったがために。
後半は巻き過ぎて良くなかった。怒涛の展開で良かったとの声もありましたが時間配分は意識したいです。
そして、日付は入れるようにします。時系列はさておき、時間が無駄に掛かっているというのはお知らせすべき情報でした。
真面目枠と思ったのに基地外枠だったと言われたのは少し驚きました。また、クレーマーだと言われたのも若干の驚きを隠せません。
が、面白く話すためにネタになるところをえげつなくピックアップしているのでこれらの表現を認めざるをえない感じもあります。
事実、意見書周りは言葉がキツくて今読み返すと自分が怖い。
マイクは音の入り具合が自分で分からなかったので後半近付け過ぎました。保存した流れを追いかけるまで気付きませんでしたすいません。
時間に収まらなかったことについては只々申し訳なく。7分の合図、耳に入っていなかったようです。元々巻いてもギリギリな仕様なのに前半に余計なことを口走って時間使い過ぎました。また、質問も却下すべきだったと反省しています。アカウントでという案内で十分でしたね。

4月14日に発表を行なってからについてを少し。

16日が提出期限の意見書を書く作業を14日の深夜から開始するも朝までに完成せず。この時点で郵送提出は期限的にに無理。(まぁこの意見書の提出期限に関してはなんとでもなるようですが…。)
続きを15日深夜から書いて完成。
山の手線周辺に行く用事ができたのでついでに直接持ち込むことに。輪講の後にJEDで怒涛の印刷芸をして永田町合同庁舎へ。大学の年度計画とか報告書とか年次報告書とかの無駄に枚数多い添付資料のために膨れ上がった残念な紙束を持って。しかし、流石に内閣府関連の組織が居を構える永田町合同庁舎、守衛さんに担当の方を呼び出して頂いて正面玄関すぐのわずかばかりの空間でお渡しするだけでした。表紙のコピーに受付印もらえたのが成果。
こんなところです。

ちなみに、意見書に何気なく
”追加として、一連の手続きに関する法律上の問題に触れる。今回の異議申立てにおいて、情報公開・個人情報保護審査会に対して諮問が行われた旨の通知が電気通信大学から行われなかったと記憶している。これは独立行政法人等の所有する情報の公開に関する法律第十九条に抵触するのではないか。”
と書いたところ18日付で作成されたものが19日発送で20日に到着しました。16日の夕方に提出した意見書が回ってからだとすると素早い対応ですね。
が、これはもう完全に単なるクレーマー。

今後について。

これから、情報公開・個人情報保護審査会で何回か審議が行われて答申が出ることになると思います。
前回、答申書で初めて知る情報があったので、情報公開・個人情報保護審査会事務局の方に問い合わせを行いつつ、新たな情報に関しては追加的な意見書を提出する形をとれればと考えています。関連する資料は今後地味に探しておいて面白く出来ればという感じです。
最終的な成果に関しては、このブログに加えて秋の百萬石やどこかもう少しオフィシャルな場で出来ればと考えています。

最後までやりあって意図する結果を得られればと願いつつ。