d250g2 advent calendar 2016 5日目
d250g2 Advent Calendar 5日目の記事です
d250g2 について
-> <-
d250g2 とは?
しらん
KernelVM Camp #4 に行ってきた
成果物です
-> <-
Rock'n' Roll Star
ロックバンド Advent Calendar 1日目です。 Oasisについて適当に書きます。
たいとるについて
はいそうですねみんな大好き Oasis の Definitely Maybe の最初にはいってる曲ですね。 Firstはこの曲よりも Live Forever のほうがすきですが。 ロックバンド Advent Calendar 2016 ということでこのタイトルにしました[^タイトル]。
Oasisについて
最も好きなロックバンドの一つだった(解散中)ので書いてみることにします。
出会いは高校生だったころ MTV1 みてたら Go Let It Out! が Power Push されてたのではじめて Standing On Shoulder Of Gaints を買いそこから。このころの曲はあまり好きでないのが多いですね。 このころも解散でもめてた気がします。そのあと大学でボッチ&&ひきこもりだったのでずっとOasisばっかり聞いてました。 そのときに買ったのが Master Plan、 Heathen Chemistry、 Be Here Now の3枚で Master Plan はベストアルバム(B面)ってのがすごく好き。
ライブは2度ほど見ました。2005年に2回みてます。Summer Sonic 2005 と 日本ツアー を行ってました。日本ツアーのほうでは、Master Planの曲をやってくれたので本当に満足しました。
そのあともThe Longcut、The Music2、Bloc Party、The Strokes、ASIAN KUNG-FU GENERATION、Coldplayとかに浮気しながらもきちんと御布施としてCDは買ってました。最近のリマスターはさすがに買ってないですが…
解散について
伝統芸的なこと もあるのでハイハイとしか好きなひとは思ってなかったとおもいます。
で2009年いつも通りまゆげ兄弟(ノエル・ギャラガーとリアム・ギャラガー)の兄弟喧嘩だとおもっていたら本気でまゆげ兄(ノエル)がブチギレて解散したのでそっかーてちょっとショック(ほんとにちょっと)だった[^解散]。
-
だったけなこのころVibeって名前だった気も ↩
-
そんなことより The Music のgoogle trendsで熊本が肥ゆいけどなんで? ↩
YARAKASHI CUDA編
昨日かいた奴でGTX 1050があるのでCUDAを導入してみた。
CUDA導入
これは簡単で ここ から必要なパッケージをダウンロードしてきます。 今回は Linux x86_64 Ubuntu 14.04 runfile(local) を順に選択。 インストールはここでダウンロードしたrunfileを実行して、指示に従うだけです。 これが終ったら、SampleProjectもインストールされてるとおもうのでこのプロジェクトをコンパイルします。
$ chmod 555 ./cuda_8.0.44_linux.run
$ ./cuda_8.0.44_linux.run
:
:
$ cd NVIDIA_CUDA-8.0_Samples
$ make
でコンパイルが終了したらサンプルプログラムを実行します。とりあえず deviceQuery
を実行します。
$ cd bin/x86_64/linux/release
$ ./deviceQuery
./deviceQuery Starting...
CUDA Device Query (Runtime API) version (CUDART static linking)
cudaGetDeviceCount returned 38
-> no CUDA-capable device is detected
Result = FAIL
と出ます。どうみてもエラーですね
で、以下のようにrootで実行すると
$ sudo ./deviceQuery
./deviceQuery Starting...
CUDA Device Query (Runtime API) version (CUDART static linking)
Detected 1 CUDA Capable device(s)
Device 0: "GeForce GTX 1050"
CUDA Driver Version / Runtime Version 8.0 / 8.0
CUDA Capability Major/Minor version number: 6.1
Total amount of global memory: 1965 MBytes (2060255232 bytes)
( 5) Multiprocessors, (128) CUDA Cores/MP: 640 CUDA Cores
GPU Max Clock rate: 1455 MHz (1.46 GHz)
Memory Clock rate: 3504 Mhz
Memory Bus Width: 128-bit
L2 Cache Size: 1048576 bytes
Maximum Texture Dimension Size (x,y,z) 1D=(131072), 2D=(131072, 65536), 3D=(16384, 16384, 16384)
Maximum Layered 1D Texture Size, (num) layers 1D=(32768), 2048 layers
Maximum Layered 2D Texture Size, (num) layers 2D=(32768, 32768), 2048 layers
Total amount of constant memory: 65536 bytes
Total amount of shared memory per block: 49152 bytes
Total number of registers available per block: 65536
Warp size: 32
Maximum number of threads per multiprocessor: 2048
Maximum number of threads per block: 1024
Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
Max dimension size of a grid size (x,y,z): (2147483647, 65535, 65535)
Maximum memory pitch: 2147483647 bytes
Texture alignment: 512 bytes
Concurrent copy and kernel execution: Yes with 2 copy engine(s)
Run time limit on kernels: Yes
Integrated GPU sharing Host Memory: No
Support host page-locked memory mapping: Yes
Alignment requirement for Surfaces: Yes
Device has ECC support: Disabled
Device supports Unified Addressing (UVA): Yes
Device PCI Domain ID / Bus ID / location ID: 0 / 129 / 0
Compute Mode:
< Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >
deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 8.0, CUDA Runtime Version = 8.0, NumDevs = 1, Device0 = GeForce GTX 1050
Result = PASS
と出てきますので、パーミッションがなかったようです。 あとは簡単、CUDA使いたいユーザーにパーミッションつけたらおわりです。
おわり
こんなのに3時間ほど時間を費しましたね。はい。
あったらしーPCかったよー
あたらしいPC買いました
先月のおわりに注文し今月頭のOSCあたりに新しいPCを組み立てました。 先月おわりあたりまではDDR4の32GBメモリーが2万円と安く売っていたので勢いで購入。 構成は以下のようになっています。
CPU: XeonE5-2620V4 * 2
MB: X10PE-D16WS
DISK: INTEL 600 シリーズ 512GB
MEM: Crucial [Micron製] DDR4 サーバー用メモリー 32GB ECC Registered * 4
NIC: X540-T2
GPU: Zotac GeForce GTX 1050
というかんじになっています。 今回はメモリー4枚しか買っていないので安くなったらあと12枚買いたいとおもってます
went to 8 jou island
11/3-11/5 で八丈島にいってきました。 決めたのは10/28の朝でした。
出発
は竹橋桟橋から船が出ているのでそこからのっていきます。 船は11/2 22:30(JST)からでていますのでそれでいきました。
到着
は11/3 の朝8時ころに底土港に到着します。
島一周
朝到着し、やることないので宿に荷物を置いて自轉車を借ります。 この自轉車がブレーキ効かないのであきらめてスクーターを借りました。 滞在時間ずっと使えるように二日借りることにしました。
スクーターかりたあとは島観光として一周まわることにしました。 途中いくつか良いポイントがあったので写真をとったりしましたが、 だいたい2時間ぐらいで島一周できました。
一周してひまだったので、昼飯を宿のちかくで
釣り 1日目
やることないなどうしようかなとおもってたら、宿の部屋に入れるようになったので、PCの充電と携帯の充電を そんなこんなしてたら、時間が16時ごろになったので釣りへ。 この日は釣る気があまりなかったので坊主で終了。 飯は島の適当なラーメン屋で。
釣り 2日目
この日は起きてすぐに温泉に行ってみたら、温泉施設自体がどこ行ってもだめで一番遠いとこは、朝10時からでした。 ので温泉は諦めて釣りへ行ってみた。
釣りはじめて30分ぐらいで釣れたし、一人で刺身にして食べるには十分な大きさだしで、あとは昼ごろまで適当に釣ってました。
-> <-
温泉
釣りおわったあとは温泉でまったり2時間ほど時間をつぶしてあとは夕日を見にいきました。
-> <-
おわり
たのしい一人旅でした。
ssh permission
またやらかしたので
経緯
サーバーにSSHログインが急にできなくなった
対処
chmod 744 ~/.ssh
おわり
おわり
ItamaeつかってOSのインストールをやってみた
9月はRubyKiagiにいってたりしました。 そのときにmikutterのコミッターとかになったようです。
シルバーウィークにThinkPadのOS再インストールをしたのでその記録を
なにやったの?
@mtsmfm と以前話していたとき、``ansibleつかってOSインストールしてるんだけど、完全自動化できないんですよね~’’ みたいな事を聞いたのでItamae をつかってやってみました。 結論から言うと完全自動化は無理だけど、ある程度は自動化できた。
環境
- machine: ThinkPad X250
- OS: Gentoo Linux
- Provisioning tool: Itamae
- repo: https://github.com/katsyoshi/itamae-recipes
インストール
インストールディスクを起動するところはipmiとか搭載していない(しらべていない)しIronicはつかいたくないので手動で起動し、 sshdの起動とrootのパスワードを設定します。起動したら以下の手順でパーティション作成からカーネルのインストールまでします。
git clone https://github.com/katsyoshi/itamae-recipes.git
cd itamae-recipes
bundle install
wget http://ftp.iij.ad.jp/pub/linux/gentoo/releases/amd64/autobuilds/current-stage3-amd64/stage3-amd64-20161006.tar.bz2
cp stage3-amd64-20161006.tar.bz2 cookbook/install/stage3.tar.bz2
itamae ssh -h nu-machine cookbook/install/gentoo.rb -u root -j cookbook/install/gentoo.json
でOSのインストールまでできるのですが、gentooのインストールメディアだと、diffがインストールされていないのでitamaeからfileのコピーができません。 都度コピーしてください(というよりgentooインストーラーにdiffを入れたほうが早そう)
パッケージのインストール
ここまで終ったら、パッケージのインストールします。これも以下コマンドを実行することで終ります。
itamae ssh -h nu-machine cookbook/gentoo/emerge.rb -j cookbook/gentoo/package.json
owari
ItamaeつかってOSのインストールを実行してみました。diffが失いところがとくにつらいですね。 おわり
hello mikutter
表題のとおりmikutterをgemでインストールできるようにしてみました。
どうやって?
rubygems からはまだインストールはできません。 ので、以下の様にしてgem packageを作成します。
$ git clone github.com/katsyoshi/mikutter.git
$ cd mikutter
$ git checkout reokure-ru
$ bundle install
$ bundle exec rake build
$ gem install pkg/mikutter-3.5.0.pre.dev.gem
$ mikutter
これでmikutterコマンドで起動できるようになっています
これすらめんどうな人はここにあります。
ダウンロードして gem install mikutter-3.5.0.pre.dev.gem
でインストールできます。
プラグインで起動できないとかあるなら必要なgemをインストールしてください。
RENEWAL MY SITE!!!
ってのは嘘ではないですが、嘘に近いです。
実はおとといの土曜日に katsyoshi.org をのぞいたら、 nginx の初期ページが表示されたので
とくにコンテンツはないですが、いそいでサイトの復旧をしました。
が、もともとあったファイル置場を失念したため似た感じで再構築してました。
再構築ついでにssl化、nginx
から h2o
へのWebサーバー変更しました。
あと systemd
でデーモン化とかも。
Let’s Encrypt
リリースされてだいぶたつのですが、Let’s Encryptを利用してみました。 Ubuntu Linux 16.04 では、簡単に導入できます。
$ sudo apt install letsencrypt
$ sudo letsencrypt certonly
でいくつかの質問に答えればおわりです。 ここで、戸惑った場面としては認証を受けたいサーバーの確認があるのですが、 サーバーポート443を開ける必要があり、1回失敗しました。
H2O
せっかくだし、H2Oを使おうと思います。 インストールはかんたんでいかのようにすればokです。
$ git clone h2o/h2o
$ cd h2o
$ cmake -DCMAKE_INSTALL_PREFIX_PATH=/opt/local .
$ make && make install
user: www-data
hosts:
"katsyoshi.org:80":
listen:
port: 80
paths:
/:
redirect: https://katsyoshi.org
hosts:
"katsyoshi.org:443":
listen:
port: 443
ssl:
certificate-file: /etc/letsencrypt/live/katsyoshi.org/fullchain.pem
key-file: /etc/letsencrypt/live/katsyoshi.org/privkey.pem
paths:
/:
file.dir: /opt/website/top
access-log: /var/log/h2o/access.log
error-log: /var/log/h2o/error.log
pid-file: /var/run/h2o.pid
http2-reprioritize-blocking-assets: ON
h2o.service
さいきんわだいのしすてむでーってやつででーもん?かしようとおもいます
[Unit]
Description=H2O the optimized HTTP/1, HTTP/2 server
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/var/run/h2o.pid
ExecStartPre=/opt/local/bin/h2o -c /etc/h2o/h2o.conf -t
ExecStart=/opt/local/bin/h2o -c /etc/h2o/h2o.conf -m daemon
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
いやーしすてむでーってべんりですねー
owari
サイトがぶっとんだのでサイトの復旧?と let’s encrypt でのSSL化、 h2oへのウェブサーバー変更と systemd
でのデーモン化をやりました。
1年ぶりの日記だたので、Markdownどうかくんだっけ?とか、別のところで大変でした。
参考サイト
YAPC::Asia 2015に参加しました(ボランティアスタッフとして)
YAPC::Asia 2015にボランティアスタッフとして参加してきました(申請時に公表しないでってしなのでYAPCのスッタフ一覧にはのってないです)。去年も参加しましたが聴講者として参加しました。
ボランティアスタッフに応募した理由
彼女ができるときいて応募しました。また、最後の YAPC::Asia と聞いていたので応募しないとなと思ったのがありました。他の理由としては NEET なのでというのもあります。発表者として参加できればよかったのですが、ネタが応募するには弱いなと思い見送りました。そういうこともありボランティアスタッフとして参加しました。
個人スポンサー
実は個人スポンサーもやっていましたが、ボランティアスタッフをやるため、個人スポンサーの分のチケットが余っていました。その分はとある人に譲りました。
0日目(前夜祭)
0日目は11時集合になっており、スタッフ作業としてノベルティの詰め込み作業と会場設営を行なっていました。
前夜祭自体は初めてのスタッフ作業でしたので、会場係として設営などをしてました。
1日目
1日目は始めに作業としてラリーのセッション前、中で同時通訳のレシーバーを配ってました。その後D会場でずっとタイムキーパーをやっておりました。
この日の印象に残ってるセッションとしては @kazuhoさん の HTTP/2時代のウェブサイト設計 で、 HTTP2
になった理由、そのなかで h2o が優れている点を丁寧に説明されてて、これはすぐに使わねばと思わせてくれた発表でした。
この日は懇親会がありましたので、懇親会会場でうろうろしておりました。
懇親会では、知り合いと話してたりしてました。最近、 itamae を触っているので、プラグインの話を @k0kubunさん としてました。そのときは pip
のリソースプラグイン作りたいとか言ったので 今日作成 したのですが、よくかんがえてみると、 cpan
のリソースプラグインの方が必要だったのを作成後に思い出しました。
2日目
2日目も1日目と同様にD会場で全セッションタイムキーパーやっておりました。
印象に残ったセッションとしては、 @kenjiskywalkerさん の 我々はどのように冗長化を失敗したのか 、 @saiken3110さん の MySQLで2億件のシリアルデータと格闘したチューニングの話 、 @Jxckさん の HTTP2 時代の Web がありました。
最後に片づけをし、おわった後スタッフ数人とのみくいに行ってきました。そろそろ解散かなってときに、 twitter を眺めてたら、 @Jxckさんが@t_wadaさんを誘ってる を見つけて無理やり参加させて頂きました。
帰りついたのは朝の4時ごろ(だったと思う)でした。
おわり
YAPC::Asia 2015 に参加してきました。23日の日曜日は疲れてたのでずっとぐったりしてました。 楽しい3日間でした!!!!!11