トップ «前10日分 最新 次10日分» 追記

はじめてのにき

ここの位置付け

2004|11|
2005|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|04|

ToDo:


2018-08-29

_ かいしゃ グッドプラクティス

おおむね快適に過ごしてる。普通に粛々とコード書いてる感じなので楽しい

最近少し考えることに、どのくらい前職で良かったぽかったこととかを言うか、みたいなのがある。元々あまりプロセス的なやつ、つまりバグ管理とか、プログラムのコメントとか、コーディングスタイルとか、強い意見がほとんどない。だからプロジェクト変わった時なんかも、新しいところに適当にあわせて生きてると思う

なんかでも、Xはどうしたものか、みたいな会話が行なわれてて、そういえば前職ではXはこういうルールだったなあ、とか思うと、そういう話を紹介したくもなる。ただなんか、その手のルール、そもそも僕は元々好きでなかったもの、正しいかもしれないけど過剰で煩雑だったもの、前職の規模では有用でも他に適用できないもの、実際他でも有用なもの、などあって、はてさてという

あとなんか、有用なプロセスでも人に押しつけられたらイヤじゃない?という話もあると思う。 WebKit でグーグルとアップルが仲良くなかったの、すごく印象的だったんだけど、あれ多分にグーグルの人が「WebKit のこのプロセスはダメだー。グーグルではこうやっているー。このツールを使えー」みたいなことやってたからじゃないかと思ってる。実際、 gyp ゴリ押ししてる時とか、「いいものなんかしらんけど、グーグルがゴリ押ししてる時点で萎えますわ」みたいなこと普通に公言してる人がいたような記憶がある。ここで問題なのは gyp いいものじゃないこともあると思うが(まあでもファイル増やすたびに6つくらいのビルドシステムのファイルいじるよりは当然良い)

そんなこんな。あまり https://twitter.com/imos/status/980764006876028929 みたいに布教するぞ!という気分にはなれないなぁ。しかし何も言わないのもどうかとも思うし、加減がよくわからんな?という感じ

(09:24)

本日のツッコミ(全2件) [ツッコミを入れる]

_ morrita [一通り結果をだしてからにする、くらいだと説得力あるげ。 WK の例だと abarth がいうのとボンクラがいうので..]

_ shinh [あーありそうですねえ。意見は発言者じゃなく内容で判断されるべき、みたいなのはなかなか守られない理想ですね。。]


2018-08-17

_ kati

もう owner じゃないわけだけど、なんか最近来てた PR が面白い

https://github.com/google/kati/pull/141

GNU make は変数が基本グローバルで色々バグりやすいんだけど、予期してなかった再代入は一つ困りがちなものとしてある。 CXX みたいな変数をトップレベルで定義してたとして、別の Makefile を include したら中で CXX を定義してて上書きされちゃう…みたいな。というわけで kati には

.KATI_READONLY := CXX

とかすると CXX が readonly になる、ってオリジナル特殊変数が導入されていた。これは GNU make の流儀 (.PHONY とかに似てる) にもそってて、 kati で valid なら GNU make で valid であり (GNU make 的には、 .KATI_READONLY への代入は単に無駄な代入)、良いものだったと思う。

でもこの PR は .KATI_READONLY をもっと手軽に作りたいというものらしく、その syntax は

CXX =$=g++

とかいうもの。 $= は普通値が入ってないため、 GNU make でも同じ動きをする、というのは保たれる……んだけど、 =$= の後に空白を入れることは許されていないし、あんまりじゃないかこれって感がある。もうちょっといい syntax 無いものかなあ?

(23:09)


2018-08-07

_ NiZ

リアルフォースとかHHK的なやつを作ってる会社らしい。最近の中国はいろんなものを、安く、同じ品質で、カスタマイズ性を高めて、売るなあという感じ

でこれを買ったけどなかなか良さそう

https://www.amazon.co.jp/dp/B075XM7R3W/

レビューにもあるけどリアルフォースとは結構反応は違う。どっちがいいということはよくわからないけど、 NiZ の方が軽い。 NiZ の方があうかもしれない。

カスタマイズ性は、バネを入れれば重さを変えられる、というのと、キーボード側にある(!)ソフトウェアを Windows アプリからいじることによって、キー配置とかを変えられるらしい。ただ Windows 環境がなくてこれは試せてない…

(09:04)


2018-08-05

_ 英語

識別子とかまで日本語?と聞かれて。観測範囲では

  • 識別子は全部英語
  • コメントは入ったチームは英語。まあそもそもコメント少なめ感
  • コミットメッセージもチームは英語、別のとこは日本語の人がいたなぁ
  • レビューはうちは全部英語、そもそもやってないチームもある
  • ドキュメントは日本語が多い感じ
  • 重要な手続きとかは日英両方みたいな書き足しを頑張ってるぽい
  • TGIF的な会合は英語
  • チャットがおおむね日本語たまに英語
  • 口頭もほとんど日本語だけど、なんかたまに英語を聞く

くらい

(00:00)


2018-08-04

_ PFN

最初の3日の感想

  • 想像してたよりは普通に会社だなあという感じ。あまり大きな不満がない
  • 仕事はしばらくはすごく楽しそう。まあプロジェクト変えた場合でもそうなるし、これは別の会社にしててもそうだったかなと思う
  • 日本語がほとんどなのは、すごく楽…

(18:39)


2018-07-31

_ DU

ディスクを整理したい時、長年 DU='du | sort -n' という alias を愛用してたのだけど、止めたくなっても途中経過見られないのが嫌だったのと(まあ止めて走らせなおせばキャッシュに乗ってて十分なことも多いけど)、最近はケタが大きくてぱっと見でよくわからないので、一念発起してスクリプトを書いた

https://github.com/shinh/test/blob/master/DU

  • STDERR が tty なら、途中経過を出す
  • du の結果を tee に流してるので、 /tmp/du.tmp に途中経過が出る
  • /tmp/du.out に最終経過を置いておく
  • du と違って 1000 の基数で
  • 結果が大きい場合、 Ruby でデータ持ちたくないので持たない
  • ソートは万一遅いとイヤなので sort コマンドでやる

というかんじ。まあ便利そう

(16:53)


2018-07-19

_ ZenBook 13 UX331UN

いくつか目星つけてたノートPCを見るために秋葉フラフラしてて、ピンと来るやつないなあと思ってたところふっと見つけて、えっこんなのあるの、って買ったやつなんだけど、すごく良い気がする

  • i5-8250U: ノートだと i7 は電力的にイマイチな気がする。8世代目はベースとターボブースト時の周波数が全然違う (1.60GHz => 3.40GHz) のでそれも良さそう
  • GeForce MX150: 速くはないけど GPU 試すくらいは普通にできるぽい。 X は intel のやつで動かして(たぶん)省電力な感じにしてる
  • メモリ8GB / SSD 256GB: もうちょいあると安心だけど、必要十分量
  • 13インチ / full HD: 必要十分
  • バッテリ: 公称14時間らしいけど、 linux で使ってるとそこまでもつ感じはしない。今度調べるか
  • 1.14kg: 普通に軽い。なんか充電器も軽いので良い

20万以上出しても、ここまで僕の要求を都合良く満たすスペックのやつが見当たらないくらいな気がする。安くて良いものが好きな貧乏症としてはとてもいいものだった

(13:09)


2018-07-18

_ ホリエモン

https://r25.jp/article/560392031878166383

そうそう、やっぱホリエモンいい人ぽいよね、と思ったけど、よく考えると割と普通のことばっか書いてあった

映画のジャイアンみたいな…

(17:14)

_ SGEMM

適当に色々走らせてみる。

CPU-avx2-256 50.062899 GFLOPS t=150
CPU-avx2-512 36.600433 GFLOPS t=14
CPU-avx2-1024 41.914810 GFLOPS t=10
CPU-blas-256 245.587644 GFLOPS t=732
CPU-blas-512 359.621543 GFLOPS t=134
CPU-blas-1024 507.372811 GFLOPS t=24
GPU-mine-64 64.069479 GFLOPS t=12221
GPU-mine-256 246.106109 GFLOPS t=734
GPU-mine-1024 137.683075 GFLOPS t=10
GPU-cublas-64 68.099346 GFLOPS t=12989
GPU-cublas-256 1666.332399 GFLOPS t=4967
GPU-cublas-1024 3462.507099 GFLOPS t=162

CPU-avx2 は Haswell 向けになかむらさんの文章見て適当に書いたコード。当時は BLAS とここまで差が無かったと思うし、なんかヘンなので後で見る。

GPU-mine はもっとどうでもいい、本気で適当に書いたもの。おいおいこんな適当なコードで BLAS に勝つんかと思った

GPU 自体は GTX 1060 3GB というやつで、 Pascal 世代らしい。 1152 コアで最大 1.76GHz 。理論は 4TFLOPS らしい?

次は、最近買ったノートPCにて

CPU-avx2-256 37.796423 GFLOPS t=113
CPU-avx2-512 26.427590 GFLOPS t=10
CPU-avx2-1024 36.619350 GFLOPS t=10
CPU-blas-256 4.165613 GFLOPS t=13
CPU-blas-512 4.127086 GFLOPS t=10
CPU-blas-1024 3.944004 GFLOPS t=2
GPU-mine-64 29.070758 GFLOPS t=5545
GPU-mine-256 57.308421 GFLOPS t=172
GPU-mine-1024 20.952593 GFLOPS t=10
GPU-cublas-64 46.641611 GFLOPS t=8897
GPU-cublas-256 505.182081 GFLOPS t=1506
GPU-cublas-1024 1028.495491 GFLOPS t=48

CPU-blas の成績は明らかにおかしい。 GPU は MX150 というやつで、こいつも Pascal 世代らしい。 384 コアで最大 1.04Ghz 。理論(?) 1.127 TFLOPS、かな?

10 万強で 1kg 強の ノート PC で TFLOPS 出てるんだなあ

(22:58)


2018-07-16

_ ffrkメモ

  • 10メア: 75%。ユウナがチェイン、ワッカは2回いかる。オーバーデスが来るので急ぐ
  • 3メア: 66%。ルーネスが石化避け。アルクゥがチェイン
  • キマイラブレイン: ビビは回復せずにトランスさせる。チェイン切れた直後にメンブレ。その後2回目のエッジがヘイスガ解除受けて分身

(09:08)

_ 性犯罪者

https://gqjapan.jp/culture/column/20150730/welcome-to-pariah-ville/page/4

最初はキツいなあ、と思ったけど、バランス取れた感じの、いい記事だなあと思った。

(20:06)


2018-07-15

_ Q#

Codeforces & Microsoft の量子プロコンで触った。

http://codeforces.com/contest/1002/

最後の問題解けなかったのは、サイズ N の配列を返さないといけないところに、 N+1 個返してたからぽかった。残念すぎる。

問題セットはwarmupも含めてすごく良い感じだったと思う。解けないほど難しい問題はなくて、基本的かつ教育的な、僕にとっては「そういえばそんな話があった気もするなあ……」くらいの問題が並んでいる感じ。そういう全部解かれる前提の問題設計だったのか、そもそも量子情報で「あまりよく知られていなくて、量子性を利用していて面白く、十分に難しく、古典でのシミュレーションで実行できる」みたいな条件がそろう問題ってあまりないのか、まあどっちかというと後者なんじゃないかなと思うけど、それにしても基礎的な問題が多かった印象

ただ D1 と E1 の方が量子の面白さを伝える感じなのに対して、 D2 と E2 はひっかけ問題チックなので、イマイチかなあ…と思った。 E2 が時間かけたのにも関わらず解けなかった問題なので、言い訳くさいけど。

Q# は、言語としてもシミュレータを含めた環境としても、なかなかよくできているなあと思った。古典情報と量子情報の往復の部分とかは、そのまんま自力で書く感じ。量子→古典の移動は、観測を伴ってしまうので、まぁ明示的に書かせるのが良いのではないかと思う。あまりトランスペアレントにしたくないかなと。

一方で古典→量子の移動、要するに Qubit の初期化の部分は、これはなんか適当な状態を自由に作る手段があっても良いのかなあ……と思った。アルゴリズム考えてる時とか、「仮にこういう状態が作れるとしたら、こういうアルゴリズムは作れるだろうか?」と考えてから、「実際その状態、作れるの?」と考えたいこともあるんじゃないかなあ、と。シミュレータならいきなりそういう状態で初期化してくれれば良いし、実機では適当に精度指定すると存在するオペレーションでやってみてくれて、合成できない(オペレーション数が多すぎる場合も含めて)場合はエラーにする、とかで良い気がする。

PrepareArbitraryState というライブラリ関数もあるのだけど、 W state 作る問題で使ってみたら遅すぎるようだった。

https://docs.microsoft.com/en-us/qsharp/api/canon/microsoft.quantum.canon.preparearbitrarystate?view=qsharp-preview

(00:50)

_ 就活 起業を嫌いになった理由.pdf

https://drive.google.com/file/d/1QlDRAyAN926YoBuBb9auo4WZdhCyh7fC/view

面白い…

(14:16)

_ 旅館大松

名古屋の宿の近くに、死ね金返せ系の落書きがたくさんある旅館があって怖かった

https://www.instagram.com/explore/tags/%E6%97%85%E9%A4%A8%E5%A4%A7%E6%9D%BE/

こういうの実在するんだな……バキの家みたいって思ったら、2chとかでも同じこと言ってて笑った

(14:20)

_ ノートPCの設定

仕事にも使う予定なので、 Debian は微妙かなあと Ubuntu にすることにして、 16.04 はちょっと微妙問題があったので、 Ubuntu 18.04 でいってみることに

何度もする作業をメモ

最初にすべきこと

scp "i@xxx:.*" .
sudo apt-get install ssh screen zsh
chsh
sudo apt-get install git subversion g++ make gauche ruby python3 python3-pip lv
scp -r i@xxx:bin .
scp -r i@xxx:lib .
zsh
git clone git@github.com:shinh/test.git
svn co $SVN wrk
cd ~/wrk/fake_isatty
sh build.sh

sevilwm

apt -i libxrandr-dev
cd ~/wrk/sevilwm
rsync -avr "i@xxx:wrk/sevilwm/dev" .
make
sudo cp sevilwm /usr/local/bin

w3m

apt -i libgc-dev libimlib2-dev libncurses-dev
scp -r i@xxx:.w3m .
cd ~/wrk
git clone git@github.com:shinh/w3m.git
cd w3m
./configure && m
sudo make install

apt-file

apt -i apt-file
sudo apt-file update

適当に色々。 sevilwm に切り替える準備

apt -i ghc ocaml rlwrap emacs wicd gkrellm xscreensaver feh
apt -i mlterm
scp -r i@xxx:.mlterm .
sudo vi /usr/share/xsessions/custom.desktop
[Desktop Entry]
Name=Custom
Exec=/etc/X11/Xsession

CUDA

apt -i mesa-utils
# follow nvidia's instruction for CUDA...
sudo apt-get install -o Dpkg::Options::="--force-overwrite" cuda-9-0
sudo dpkg -i libcudnn*.deb

MLフレームワーク

pip3 install cupy
# gcc-7 でコンパイル通らんので編集
# sudo vi /usr/local/cuda/targets/x86_64-linux/include/crt/host_config.h
pip3 install cupy
pip3 install chainer
pip3 install tensorflow

UIM SKK

apt -i uim-skk ddskk
uim-pref-gtk3

忘れがちな開発ツールまわりの

apt -i autoconf automake libtool texinfo flex bison glibc-doc libc6-dev:i386 libgcc-7-dev:i386 libstdc++-7-dev:i386 lib32gcc-7-dev valgrind

(20:38)


2024年
4月
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
1.shinh(2018-08-31 18:55) 2.morrita(2018-08-30 01:21)
search / home / index

全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。

shinichiro.hamaji _at_ gmail.com / shinichiro.h