2019年2月
2月28日(木)
え、もう2月終わるの?
引き継ぎ資料を作ったり、宿舎の明け渡し届けを書いて提出したり。 あとスパコン関連業務とか。
スパコン助教引き継ぎミーティング。大変だと思いますが、がんばってください。
2月27日(水)
書類とか書類とか書類とか。
上流側の設定の変更でCMP-MLにSPAMが増えたのでその対応。
2月26日(火)
午前中は打ち合わせ。
DNSのSPF情報を調べるのにspfqueryを使ってみるが、なんか物性研の設定を確認するとsoftfailになってしまう。 何か勘違いしているのかな。
なんか書類だの発表だのが多すぎて頭が混乱している。
「毎日GitHubに草を生やそう」と決意したのだが、もう3日空いてしまった。うーん。
3月15日の九大ワークショップの交通確認。2時スタートなので、1時30分に九大についていればいいと考えると、 余裕を見て九大学研都市に12:30についていれば大丈夫なようだ。バスもそこそこあるっぽい。
空港から九大学研都市まで35分だから、12時前には空港を出発しないといけない。昼食が微妙な時間だな・・・。 九大に早めについて、九大で昼を食べる、というのが良いか。 すると、九大に12時過ぎにつくためには、九大学研都市に12時前後、すると11時半前に空港を出ればいいから、11時ごろに到着する便を探せば良い、と。 こういうスケジュールを考えながら飛行機取ったりするの、すごく苦手だ。
まずホテル予約した。えらい時間かかった。
飛行機も予約した。えっらい時間かかった。こういうのすごく苦手。
月曜日のスライド作成。25枚目標でいま6枚。
子供を寝かしつけた後、遅くまでかかってスライド作った。WSL経由だとsvnの接続がうまくいかずに苦労した。 結局PuttyとTortoiseSVNを入れてなんとかしたが、パスワード入力方法がちょっとアドホックなのでなんとかしないと。
2月25日(月)
発表。これで僕の役目はほとんど終わったはず。 ただ、アクションアイテムが一個増えたので対応しないといけない。
2月24日(日)
明日の発表の準備。
2月23日(土)
NOP
2月22日(金)
「スパコンの買い方」という話をした。
2月21日(木)
明日のセミナーの準備。あと、たまっていた書類仕事とか。
WSLにD言語をインストール。
mkdir build
cd build
wget http://downloads.dlang.org/releases/2.x/2.084.1/dmd_2.084.1-0_amd64.deb
sudo apt install ./dmd_2.084.1-0_amd64.deb
WindowsにD言語をインストールした。
VSCodeにcode-dをインストールしたが、dfmtはインストールされなかったようだ。 dfmtを入れるのに、gitがいるっぽい。なので、ここからWindows用のgitを入れた。
2月20日(水)
Google Chromeの履歴で、条件にマッチしたものを削除したかった。 履歴ファイルはSQLite形式なので、Rubyから叩こうかと思ったが、結局それくらいなら直接sqlite3からいけると思ってやらんかった。
sqlite3で正規表現を使おうとして、sqlite-develを入れてから、https://github.com/ralight/sqlite3-pcreを苦労してビルドしたりした(デフォルトではmakeできない)が、結局LIKE文でいけた。
覚書をQiitaに書いておいた。→Google Chromeで条件にマッチした履歴を削除
2月19日(火)
金曜日のスライド作った。
2月18日(月)
もうほとんどの作業をVSCodeでやってるんだけど、プログラム言語で唯一Vimで書いてたRubyをVSCodeで書こうと環境を構築・・・しようとして中途半端に挫折。 なんかRubocopのAutocorrectionが走らない。ローカルに.vscode/settings.json書いて、そこにいろいろ設定すればできるんだけど、なんでグローバルにセッテイングできないんだろ?なんか勘違いしてるかな。
あ、できたっぽい。
"editor.formatOnSaveTimeout": 5000,
が必要だった模様。Rubocopが遅いのかな・・・。
面倒なWord文書作成。Pandoc使ったら箇条書きのグルーピングがおかしくなった。 仕方なく以前作ったmd2docx.rbを修正して使った。なんでも作っておくもんだな。
2月17日(日)
NOP
相当疲れた。
2月16日(土)
NOP
疲れたな。
2月15日(金)
溜まっていた書類仕事に取り組む。メールとかも。
散髪。あと、たまっていた事務手続き。
2月14日(木)
セミナー。
数独、ビット演算コードを組み込んだ・・・が早くならなかった。残念。 しかし、クラスのメソッドをhppにいれるかcppに入れるかでだいぶ速度変わるんだけど、なぜだ? hppに入れるよりcppに入れる方が早い。インライン展開がらみだと思うけど・・・
2月13日(水)
システム定例。
Translate into Japanese あるOSSのウェブサイトに「日本語翻訳しようぜ」というissueを出したら「なんで?みんな英語学ぶほうがいいじゃん」ってコメントがついて炎上した話。
Which would be a more effective way of getting rid of the language barrier? Translating all materials in all languages, or encouraging people to use one universal language?
これ、「発言者の母国語が英語でない」点に注意。彼はルーマニア語を母国語とするルーマニア人。しかし、英語を学んだ結果、「すべての言語を英語に統一すべき」という哲学にいたり、 その趣旨のエッセイも書いている。つまり「俺もできた、お前もできる」という奴。 こういう人、多い気がする。「自分ができたんだから、お前もできる」というのは、一見自分を下げているようでいて、相手の努力不足を咎めている。
2月12日(火)
Japan Journal of HOGE(検索避けの伏せ字)という雑誌からの勧誘が鬱陶しい。 調べてみると、Japanese Journal of HOGEという(おそらく)まともな雑誌があり、それとの混同を狙っているものらしい。 この雑誌の出版社を見てみると、「Japan Journal of HOGE」の他に「British XXX」や「American XXX」はては「Europian XXX」もあり、 怪しさ大爆発。しかも「High Quality Publication」を謳っているのに、ウェブに誤字脱字があるのも痛い。 複数の雑誌を束ねている出版社なのに、受付と投稿先のアドレスが一つしかない。こんなにわかりやすいPredetory Journalは久しぶりに見た。
最近、プログラムを組もうとするときに「二時間の障壁」を感じることが多い。プログラムを組むとき、「あそこ組んで、テストして、これが通ったら次にこれ組んで・・・」ってだいたいの 想定終了時間を考えると思う。もちろんすべてうまく行った場合の想定で、往々にして想定の二倍近く時間がかかったりするがそこはおいておく。 このとき、想定時間が二時間を超えると、腰が重くなる。いま、連続した二時間のコーディング時間をなかなか取れないからだ。 普段、スパコンを使っていない人が、スパコンが必要となる計算量を無意識に却下するように、二時間以上かかりそうなプログラムを無意識に却下しようとしているんだ。 これはいろいろ悲しい。
clang-formatで、一行が長すぎるときの改行を無効にした。.clang-formatに
ColumnLimit: 0
を追加。数独の入力だけで81桁いくから、改行リミットがあると変なところで改行が入ってやりづらくて仕方ない。
かなりわかりにくいバグに苦しんだので覚書。 数独で、ユニット内の一択を探し、その一択について数字を埋めるコードをがあった。 それを、ビット演算を駆使して、複数の一択を同時に探すコードを書いた。 しかし、ビット演算版は、解が一意なはずの問題を食わせたのに複数の解を返すようになってしまった。 原因は、再帰をすると、同じユニットに同じ数字の一択が複数できる場合があるため。 これが発生したら「invalidな枝である」として再帰を切らないといけない。 元のコードは、一つ数字を決めるごとにreturnしていたため、毎回ビットマスクを作り直していた。 しかし、新しいコードはあるビットマスクから、複数の候補を同時に抽出しており、かつ その際にvalidity checkをしていなかったため、 「同じユニット(例えば同じ行)の別の場所に同じ数字を入れる」ということをしてしまっていた。 うーん、これはわからん・・・。
2月11日(月)
NOP
疲れて一日ダウン。どうにも疲れが取れない。
2月10日(日)
NOP
引っ越しの手続き。
2月8日(土)
NOP
雪が降った。娘がどうしてもというので外遊び。疲れた。
今週はなんだかんだと作業時間が取れず、生産性が低かった。 隙間の時間とぼやけた頭ではライブラリの整理とQiitaの記事書くくらいしかできなかった。 特に数独の高速化で、やろうと思ってたところまでできなかったのがきつい。 大体の方針は決まったのだが・・・
2月7日(木)
打ち合わせ。
昨日のゼミで面白かった、「ロジスティック回帰でイジング模型の相を判定する」奴、Qiitaに記事化しておいた。
git submoduleの使い方に慣れてきた。特にsubmoduleが更新されたら、メインプロジェクトが修正された、ということになるのが理解できなかった。 「submoduleの指すコミット先」という状態が変化する、というイメージかな。これまで、ライブラリとプロジェクトを独立に管理してて、 単に外部ディレクトリで指定してるだけだったから、いつかメインプロジェクトとsubmoduleの連携がおかしくなったときに「動いていた時はどのハッシュだったか」がわからなくなるのはまずいわけか。
少しずつ頭がまわりつつあるが、まだ本調子じゃないなぁ。
5秒早くなっただけか・・・。
数独の高速化で必要だったのでストップウォッチライブラリ作った。 内部で__rdtscpを呼んでいるのだが、その調べ物でこんな技術ブログ見つけた。フィックスターズという会社のブログで、もともと技術者集団として名高いが、しっかしガチなエンジニアかかえてるな、と思って著者を見てみたらtanakmuraさんだった。まぁ、そうだよな。
タイヤ交換した。これでスタッドレスはラストシーズンかな。 タイヤ交換中暇だったのでQiitaにWindows Bitmap Fileライブラリの記事かいた。最近Qiitaにたくさん記事書いているけど、まぁ ウェブサイト移行とリポジトリの掃除の副産物ですね。
数独高速化。現在。
# before
./a.out difficult.txt > test.dat 81.61s user 0.98s system 99% cpu 1:23.18 total
# after
./a.out difficult.txt > test.dat 76.52s user 1.15s system 98% cpu 1:19.23 total
理論系送別会。花束とかいただいた。ありがたいことです。 また、いろいろご心配をおかけしました。
2月6日(水)
最近、えらく調子が悪いのは、メール処理が多いせいではないかと考えるようになった。 メールって、読むのは良いけど、書くのは結構MPを消費する。 最近は特にあまりメールをやり取りしたことがない人とメールをするので疲れる。
新しいノートPCとしてNECのLavieを購入したのだが、なかなか良い。Windows 10とWSLでそこそこ快適な環境が作れている。
ランダムビット論文、arXivのJournal Refをつけ忘れていたので更新した。
2月5日(火)
Windows Bitmap を出力するシングルファイルライブラリ、winbitmapを作って公開した。これもすごく昔に作成したライブラリをリファクタリングしたもの。正直こういうことをする暇はないのだが、こういうことをして自己肯定感というか、達成感を作らないと、プログラマとして死んでしまう。
古いコードを見てみたのだが、「昔の自分はプログラムがあまり得意ではなかったのだな」と思った。「これ、なんで一時的にしか使わないのにstaticメンバになってるんだろ?」と思ったら、std::sort
に比較関数を渡すときに、クラスの通常のメンバが渡せなかったからのようだ。ラムダ式にすることでだいぶきれいになった。また、生の配列をnew/deleteしていたのを全部std::vectorで書き直した。
まぁ、過去に書いたプログラムがアホだということは、現在の自分は少しは成長した、ということなんだから喜ばしいことではあるのだが。
駄目だ。今日は全く集中できなかった。明日がんばろう。
2月4日(月)
OV模型の記事を書いた。 昔作ったオンラインシミュレータが、Javaで、それをActionScriptで書き直してFlashにしたが、それもobsoleteになったので JavaScriptで書き直した。これもすぐにobsoleteになるのだろう。
他にもウェブサイトにいろいろ古い記事がある。物性研のサイトが消滅する前にQiitaなりGitHubなりに移動しておきたいが。
息子をスイミングにつれていく。その待ち時間にWindows Bitmap Generatorのリファクタリング。
2月3日(日)
NOP
2月2日(土)
NOP
2月1日(金)
打ち合わせ。