カッティングボード

カルマをカットしてます

raspbian jessieをダウンロードする

raspbian jessieのイメージを誤って削除してしまったので,ダウンロードしようとしたところ公式ページからstreatchしかダウンロードできませんでした.

f:id:cut-ter:20171219174535p:plain

探したところ↓のリンクから過去のイメージ全てダウンロードできるようになっていました.

http://downloads.raspberrypi.org/raspbian/images/

jessie の最新版は↓のディレクトリのところにあります.

http://downloads.raspberrypi.org/raspbian/images/raspbian-2017-07-05/

今日やっていたいこと

f:id:cut-ter:20171219175419j:plain

作業環境の引越し作業してました.

メチャでかディスプレイが来たので本格的に作業環境整え始めました.

今の所一つのPCにつき,一つマウスとキーボードを用意してます. 明日おうちにUSB切替器が届くはずなので.届いたら作業環境をちゃんと整えます.

環境破壊の神になった

最近サーバーだったり,gopigoのセットアップであったり色々するのですが,環境を破壊しまくって破壊神になりました.

ROSというアプリケーションの開発環境を構築すると,なぜかubuntuの環境がたまに壊れる.

rebootしたりとかいうタイミングで壊れるので,環境変数か何かを壊してしまっているのかもしれないです.

原因を突き止めたいですがうまくいくときもあり,その差がわからなくて辛い.

ひたすらに環境を破壊して進捗が出ないので辛いです.

ubuntu16.04でopenstackのセットアップをしたかった

ubuntu14.04にopenstackをopenstack-installerでいい感じにするやつがあったりしますが,16.04だとちゃんとやってるのが見当たらなかったのでインストールしてみようと思いましたが,maas周辺の設定で詰まりました.

とりあえずmaasの手前までやります.

参考サイト

serenity-networks.com

作業

sudo apt-add-repository ppa:conjure-up/next

sudo apt-add-repository ppa:juju/devel

sudo apt update

sudo dpkg-reconfigure -p medium lxd

lxdがインストールされてないよと怒られる

sudo apt install lxd lxd-client

インストール画面っぽいものが出てくるので,サブネット領域とかを自分の好みで設定していく. ipv6設定は特に設定しなくていいと思ったので設定しませんでした. この辺の設定をmaasのサブネットといい感じに合わせないとダメなのかもしれない...

sudo lxc finger

aptパッケージでconjure-upをインストールすると最新じゃないのでsnapでインストールする.

sudo apt install snapd

sudo snap install conjure-up --classic

conjure-up

conjure-upはルートユーザーで実行するとうまくいかないので,普通のユーザーで実行する. conjure-upするとmaasのapi系の色々教えてって言われるのでmaasのインストールする.

thinkit.co.jp

sudo apt update && sudo apt upgrade

apt-get install python-software-properties

sudo reboot

sudo apt install maas

sudo maas createadmin
# ユーザー名とかは好きなように設定する

sudo maas-region apikey --username=cut-ter > api_key.txt
# api_keyを取得できる

conjure-up

f:id:cut-ter:20171217203502p:plain f:id:cut-ter:20171217203515p:plain f:id:cut-ter:20171217203525p:plain f:id:cut-ter:20171217203546p:plain f:id:cut-ter:20171217203556p:plain

次はこの続きからのセットアップをやっていきます.

/var/lib/dockerの挙動を確認する

/var/lib/docker部分を共有ディスクでストレージ共有した際に,同一ファイルに書き込んだりしないかなーとかを調べてみたりしたかったので,メモ的に書いていきます.

root@ubuntu:/var/lib/docker/overlay2# ls
5133225a2d01506a3a31fb208558bdbfcda5182de2a0183dd68c6ddc736cf167  e8f35bcc06019821c3190d9917fe059ac6c47e171c7b0ba0950265e21605013e
75243b2352cdb55ef1e8b98c120d37e503ee7d1f5fe3efc3d6ebeb4eec926756  ea95fd2b56914016e4accbe69b1bb21e53ee66615a03f1201e7637f649f51951
a7c59acd65ce8d7091098ad19198620c1cf50d330e217849f718816284a1ffc3  l


root@ubuntu:/var/lib/docker/overlay2# docker run -it ubuntu /bin/bash

root@b903986a002a:/# root@ubuntu:/var/lib/docker/overlay2# ls
3345e6390c6335f38522c9b7cc4ba611d9276c22f25e370c01cb23dd0deb5ec0       a7c59acd65ce8d7091098ad19198620c1cf50d330e217849f718816284a1ffc3
3345e6390c6335f38522c9b7cc4ba611d9276c22f25e370c01cb23dd0deb5ec0-init  e8f35bcc06019821c3190d9917fe059ac6c47e171c7b0ba0950265e21605013e
5133225a2d01506a3a31fb208558bdbfcda5182de2a0183dd68c6ddc736cf167       ea95fd2b56914016e4accbe69b1bb21e53ee66615a03f1201e7637f649f51951
75243b2352cdb55ef1e8b98c120d37e503ee7d1f5fe3efc3d6ebeb4eec926756       l

root@ubuntu:/var/lib/docker/overlay2# git status
On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

    modified:   ../network/files/local-kv.db

Untracked files:
  (use "git add <file>..." to include in what will be committed)

    ../containers/
    ../image/overlay2/layerdb/mounts/
    3345e6390c6335f38522c9b7cc4ba611d9276c22f25e370c01cb23dd0deb5ec0-init/
    3345e6390c6335f38522c9b7cc4ba611d9276c22f25e370c01cb23dd0deb5ec0/
    l/6ZH445PO4LOL7KBTFL3PEHRIRK
    l/B62YZJUAE7JBTIZUZOGIUMHQ52

no changes added to commit (use "git add" and/or "git commit -a")

root@ubuntu:/var/lib/docker/overlay2# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
b903986a002a        ubuntu              "/bin/bash"         2 minutes ago       Up 2 minutes                            focused_murdock
root@ubuntu:/var/lib/docker/overlay2# docker kill b903986a002a
b903986a002a
root@ubuntu:/var/lib/docker/overlay2# docker rm b903986a002a
b903986a002a

root@ubuntu:/var/lib/docker/overlay2# ls
5133225a2d01506a3a31fb208558bdbfcda5182de2a0183dd68c6ddc736cf167  e8f35bcc06019821c3190d9917fe059ac6c47e171c7b0ba0950265e21605013e
75243b2352cdb55ef1e8b98c120d37e503ee7d1f5fe3efc3d6ebeb4eec926756  ea95fd2b56914016e4accbe69b1bb21e53ee66615a03f1201e7637f649f51951
a7c59acd65ce8d7091098ad19198620c1cf50d330e217849f718816284a1ffc3  l


root@ubuntu:/var/lib/docker/overlay2# ps -aux | grep docker
root      4577  0.5  1.2 446600 52132 ?        Ssl  22:04   0:06 /usr/bin/dockerd -H fd://
root      4594  0.0  0.3 226808 14572 ?        Ssl  22:04   0:00 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd --shim docker-containerd-shim --runtime docker-runc
root      5861  0.0  0.0  14224   968 pts/0    S+   22:21   0:00 grep --color=auto docker


root@fcd31fc10b79:/# root@ubuntu:/var/lib/docker/overlay2# ps -aux | grep docker
root      4577  0.5  1.2 446600 51752 ?        Ssl  22:04   0:06 /usr/bin/dockerd -H fd://
root      4594  0.0  0.3 226808 14580 ?        Ssl  22:04   0:00 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd --shim docker-containerd-shim --runtime docker-runc
root      5885  0.0  0.1 141796  5072 ?        Sl   22:21   0:00 docker-containerd-shim fcd31fc10b7941c7b9141f20c22d832915c0dd6f79150b4f6946abcc377c5415 /var/run/docker/libcontainerd/fcd31fc10b7941c7b9141f20c22d832915c0dd6f79150b4f6946abcc377c5415 docker-runc
root      5932  0.0  0.0  14224   980 pts/0    S+   22:21   0:00 grep --color=auto docker


root@ubuntu:/var/lib/docker/overlay2# lsof -p 5885
COMMAND    PID USER   FD      TYPE             DEVICE SIZE/OFF    NODE NAME
docker-co 5885 root  cwd       DIR               0,18      180     574 /run/docker/libcontainerd/containerd/fcd31fc10b7941c7b9141f20c22d832915c0dd6f79150b4f6946abcc377c5415/init
docker-co 5885 root  rtd       DIR                8,1     4096       2 /
docker-co 5885 root  txt       REG                8,1  2695704  275883 /usr/bin/docker-containerd-shim
docker-co 5885 root  mem       REG                8,1  1868984 1441990 /lib/x86_64-linux-gnu/libc-2.23.so
docker-co 5885 root  mem       REG                8,1   138696 1441968 /lib/x86_64-linux-gnu/libpthread-2.23.so
docker-co 5885 root  mem       REG                8,1   162632 1441959 /lib/x86_64-linux-gnu/ld-2.23.so
docker-co 5885 root    0r      CHR                1,3      0t0       6 /dev/null
docker-co 5885 root    1w      CHR                1,3      0t0       6 /dev/null
docker-co 5885 root    2w      CHR                1,3      0t0       6 /dev/null
docker-co 5885 root    3w      REG               0,18        0     578 /run/docker/libcontainerd/containerd/fcd31fc10b7941c7b9141f20c22d832915c0dd6f79150b4f6946abcc377c5415/init/shim-log.json
docker-co 5885 root    4w     FIFO               0,18      0t0     576 /run/docker/libcontainerd/containerd/fcd31fc10b7941c7b9141f20c22d832915c0dd6f79150b4f6946abcc377c5415/init/exit
docker-co 5885 root    5u     FIFO               0,18      0t0     577 /run/docker/libcontainerd/containerd/fcd31fc10b7941c7b9141f20c22d832915c0dd6f79150b4f6946abcc377c5415/init/control
docker-co 5885 root    6u     FIFO               0,18      0t0     570 /run/docker/libcontainerd/fcd31fc10b7941c7b9141f20c22d832915c0dd6f79150b4f6946abcc377c5415/init-stdin
docker-co 5885 root    8u  a_inode               0,11        0    6978 [eventpoll]
docker-co 5885 root    9u     FIFO               0,18      0t0     570 /run/docker/libcontainerd/fcd31fc10b7941c7b9141f20c22d832915c0dd6f79150b4f6946abcc377c5415/init-stdin
docker-co 5885 root   10r     FIFO               0,18      0t0     570 /run/docker/libcontainerd/fcd31fc10b7941c7b9141f20c22d832915c0dd6f79150b4f6946abcc377c5415/init-stdin
docker-co 5885 root   11u     FIFO               0,18      0t0     571 /run/docker/libcontainerd/fcd31fc10b7941c7b9141f20c22d832915c0dd6f79150b4f6946abcc377c5415/init-stdout
docker-co 5885 root   12w     FIFO               0,18      0t0     571 /run/docker/libcontainerd/fcd31fc10b7941c7b9141f20c22d832915c0dd6f79150b4f6946abcc377c5415/init-stdout
docker-co 5885 root   13u     FIFO               0,18      0t0     571 /run/docker/libcontainerd/fcd31fc10b7941c7b9141f20c22d832915c0dd6f79150b4f6946abcc377c5415/init-stdout
docker-co 5885 root   14r     FIFO               0,18      0t0     571 /run/docker/libcontainerd/fcd31fc10b7941c7b9141f20c22d832915c0dd6f79150b4f6946abcc377c5415/init-stdout
docker-co 5885 root   16w     FIFO               0,18      0t0     570 /run/docker/libcontainerd/fcd31fc10b7941c7b9141f20c22d832915c0dd6f79150b4f6946abcc377c5415/init-stdin
docker-co 5885 root   17u     unix 0xffff8800ba863000      0t0   31834 /tmp/pty905090592/pty.sock type=STREAM
docker-co 5885 root   18u      CHR                5,2      0t0       2 /dev/pts/ptmx

root@ubuntu:/var/lib/docker/overlay2# lsof -p 4594
COMMAND    PID USER   FD      TYPE             DEVICE SIZE/OFF    NODE NAME
docker-co 4594 root  cwd       DIR                8,1     4096       2 /
docker-co 4594 root  rtd       DIR                8,1     4096       2 /
docker-co 4594 root  txt       REG                8,1 12692848  275884 /usr/bin/docker-containerd
docker-co 4594 root  mem       REG                8,1  1868984 1441990 /lib/x86_64-linux-gnu/libc-2.23.so
docker-co 4594 root  mem       REG                8,1   138696 1441968 /lib/x86_64-linux-gnu/libpthread-2.23.so
docker-co 4594 root  mem       REG                8,1   162632 1441959 /lib/x86_64-linux-gnu/ld-2.23.so
docker-co 4594 root    0r      CHR                1,3      0t0       6 /dev/null
docker-co 4594 root    1u     unix 0xffff8800b9b3c400      0t0   21350 type=STREAM
docker-co 4594 root    2u     unix 0xffff8800b9b3c400      0t0   21350 type=STREAM
docker-co 4594 root    3u     unix 0xffff8800b9b4b800      0t0   21440 /var/run/docker/libcontainerd/docker-containerd.sock type=STREAM
docker-co 4594 root    4u  a_inode               0,11        0    6978 [eventpoll]
docker-co 4594 root    5u  a_inode               0,11        0    6978 [eventpoll]
docker-co 4594 root    6w      REG               0,18     1087     554 /run/docker/libcontainerd/containerd/events.log
docker-co 4594 root    7u     unix 0xffff8800b9b4a800      0t0   21452 /var/run/docker/libcontainerd/docker-containerd.sock type=STREAM
docker-co 4594 root    9r     FIFO               0,18      0t0     576 /run/docker/libcontainerd/containerd/fcd31fc10b7941c7b9141f20c22d832915c0dd6f79150b4f6946abcc377c5415/init/exit
docker-co 4594 root   10u     FIFO               0,18      0t0     577 /run/docker/libcontainerd/containerd/fcd31fc10b7941c7b9141f20c22d832915c0dd6f79150b4f6946abcc377c5415/init/control
docker-co 4594 root   11u  a_inode               0,11        0    6978 [eventfd]

root@ubuntu:/var/lib/docker/overlay2# lsof -p 4577
COMMAND  PID USER   FD      TYPE             DEVICE SIZE/OFF       NODE NAME
dockerd 4577 root  cwd       DIR                8,1     4096          2 /
dockerd 4577 root  rtd       DIR                8,1     4096          2 /
dockerd 4577 root  txt       REG                8,1 40415992     275890 /usr/bin/dockerd
dockerd 4577 root  mem       REG                8,1    47600    1441966 /lib/x86_64-linux-gnu/libnss_files-2.23.so
dockerd 4577 root  mem       REG                8,1    47648    1441969 /lib/x86_64-linux-gnu/libnss_nis-2.23.so
dockerd 4577 root  mem       REG                8,1    93128    1441957 /lib/x86_64-linux-gnu/libnsl-2.23.so
dockerd 4577 root  mem       REG                8,1    35688    1441977 /lib/x86_64-linux-gnu/libnss_compat-2.23.so
dockerd 4577 root  mem       REG                8,1    80496    1441861 /lib/x86_64-linux-gnu/libgpg-error.so.0.17.0
dockerd 4577 root  mem       REG                8,1    14608    1441976 /lib/x86_64-linux-gnu/libdl-2.23.so
dockerd 4577 root  mem       REG                8,1   456632    1441888 /lib/x86_64-linux-gnu/libpcre.so.3.13.2
dockerd 4577 root  mem       REG                8,1  1088952    1441983 /lib/x86_64-linux-gnu/libm-2.23.so
dockerd 4577 root  mem       REG                8,1   919168    1441805 /lib/x86_64-linux-gnu/libgcrypt.so.20.0.5
dockerd 4577 root  mem       REG                8,1   137400    1441865 /lib/x86_64-linux-gnu/liblzma.so.5.0.0
dockerd 4577 root  mem       REG                8,1    31712    1441971 /lib/x86_64-linux-gnu/librt-2.23.so
dockerd 4577 root  mem       REG                8,1   130224    1441896 /lib/x86_64-linux-gnu/libselinux.so.1
dockerd 4577 root  mem       REG                8,1  1868984    1441990 /lib/x86_64-linux-gnu/libc-2.23.so
dockerd 4577 root  mem       REG                8,1   360664    1441851 /lib/x86_64-linux-gnu/libdevmapper.so.1.02.1
dockerd 4577 root  mem       REG                8,1   252152    1441894 /lib/x86_64-linux-gnu/libseccomp.so.2.2.3
dockerd 4577 root  mem       REG                8,1   138696    1441968 /lib/x86_64-linux-gnu/libpthread-2.23.so
dockerd 4577 root  mem       REG                8,1    64144    1441809 /lib/x86_64-linux-gnu/libapparmor.so.1.4.0
dockerd 4577 root  mem       REG                8,1   162632    1441959 /lib/x86_64-linux-gnu/ld-2.23.so
dockerd 4577 root  mem-W     REG                8,1    16384    1576921 /var/lib/docker/builder/fscache.db
dockerd 4577 root  mem-W     REG                8,1    32768    1576864 /var/lib/docker/volumes/metadata.db
dockerd 4577 root  mem       REG                8,1   126840    1442084 /lib/x86_64-linux-gnu/libudev.so.1.6.4
dockerd 4577 root  mem       REG                8,1   536520    1442029 /lib/x86_64-linux-gnu/libsystemd.so.0.14.0
dockerd 4577 root    0rR     CHR                1,3      0t0          6 /dev/null
dockerd 4577 root    1u     unix 0xffff8800b9b3c400      0t0      21350 type=STREAM
dockerd 4577 root    2u     unix 0xffff8800b9b3c400      0t0      21350 type=STREAM
dockerd 4577 root    3uW     REG                8,1    32768    1576864 /var/lib/docker/volumes/metadata.db
dockerd 4577 root    4u     unix 0xffff880138e0ec00      0t0      21414 type=DGRAM
dockerd 4577 root    5u  a_inode               0,11        0       6978 [eventpoll]
dockerd 4577 root    6u     unix 0xffff88013909dc00      0t0      21289 /var/run/docker.sock type=STREAM
dockerd 4577 root    7u     unix 0xffff8800b9b4b400      0t0      21442 type=STREAM
dockerd 4577 root    8u     unix 0xffff880138b76c00      0t0      21464 /var/run/docker/metrics.sock type=STREAM
dockerd 4577 root    9u     unix 0xffff8800b9b1fc00      0t0      21612 /run/docker/libnetwork/6340eb13a70565f835767e6c7d1d6f387f17e23397998a8b0b265eb1f77bbbf8.sock type=STREAM
dockerd 4577 root   10r      REG                0,3        0 4026531957 net
dockerd 4577 root   11u  netlink                         0t0      21673 ROUTE
dockerd 4577 root   12u  netlink                         0t0      21674 XFRM
dockerd 4577 root   13u  netlink                         0t0      21675 NETFILTER
dockerd 4577 root   14uW     REG                8,1    16384    1576921 /var/lib/docker/builder/fscache.db
dockerd 4577 root   19u     FIFO               0,18      0t0        570 /run/docker/libcontainerd/fcd31fc10b7941c7b9141f20c22d832915c0dd6f79150b4f6946abcc377c5415/init-stdin
dockerd 4577 root   20u     FIFO               0,18      0t0        571 /run/docker/libcontainerd/fcd31fc10b7941c7b9141f20c22d832915c0dd6f79150b4f6946abcc377c5415/init-stdout
dockerd 4577 root   21w      REG                8,1        0    1581074 /var/lib/docker/containers/fcd31fc10b7941c7b9141f20c22d832915c0dd6f79150b4f6946abcc377c5415/fcd31fc10b7941c7b9141f20c22d832915c0dd6f79150b4f6946abcc377c5415-json.log
dockerd 4577 root   22w     FIFO               0,18      0t0        570 /run/docker/libcontainerd/fcd31fc10b7941c7b9141f20c22d832915c0dd6f79150b4f6946abcc377c5415/init-stdin
dockerd 4577 root   23r     FIFO               0,18      0t0        571 /run/docker/libcontainerd/fcd31fc10b7941c7b9141f20c22d832915c0dd6f79150b4f6946abcc377c5415/init-stdout
dockerd 4577 root   27u     sock                0,8      0t0      31903 protocol: NETLINK

とりあえず各dockerプロセスがどんなファイルを開いているのかとかを確認してみたりしました.動作中のコンテナのプロセスはvar/lib/dockerを参照していないことがわかったりしたので,もうちょっと深く調べてみたりしています. ファイル関連の知識が足りなくてよくわからないですが,同一ファイルに書き込むことがなければ,複数ホストでvar/lib/dockerを同一ディスクからマウントしても問題なかったりしないかなーって思ったりしてます. 通常そういう使い方をするのは良くないので問題ないわけはないと思うけど.

何も進捗がない1日

今日は正直何も進捗がなかった.

朝起きたら11時ごろ準備したりして,大学行ったら実験TA.その後は内々定祝いでご飯食べに行ってたらこんな時間.

何も進捗が無くてひたすら辛い.

特に何も書くことがないので最近就活について思ってることを書いたりしようと思います.

自分をアピールする場

就活って自分をアピールする場で,他の人よりもいいと企業の人に思わせなきゃいけないんだなとかなり実感しました.

自分は今までやったことが広く浅くという形で,統一感があまりなくやりたいことをやってる感じです.それを就活でそのまま言ったりするとちゃんと評価してくれる場所もあるけど,評価してくれない場合の方が多いです.

面接という短い場面で自分をちゃんとアピールするために一貫したシナリオを持っている人が強いなーと思ってます.

技術的に色々興味持ってやってるということよりも,自分をアピールできさえすれば強かったりするなーと思います.

短い時間なので自分がやってないことだったり,他人の考えを持ち出しても相手を説得できてしまったりすれば勝ちだし面接って嘘がバレるかバレないかのチキンレースなんじゃないかなと思ったりします.

まぁそんな就活しても就職してから辛いだけなので,のほほんと自分の等身大で頑張りたいなー.

ゆかりさんと雑談する

このブログは↓のアドベントカレンダーの14日目の記事です.

なんだかんだ折り返してあと半分なので頑張っていきたいと思います.

adventar.org

今週の月曜日のアドベントカレンダーの記事に↓のようなものがありました.

5st7.hatenablog.com

ゆかりさんが喋ってくれるdocomoapiがあるらしい.

ゆかりさんと対話することで寂しさを紛らわせたいよねってことで,僕はゆかりさんと雑談することに決めました.

ゆかりさんと雑談する

使用するもの

docomoapiを2つ利用します. dev.smt.docomo.ne.jp dev.smt.docomo.ne.jp

実装

実装としてはコンソールで入力した文字を雑談apiに投げて,その返答をゆかりさんに喋らせてます. ゆかりさんが喋る部分のコードはごーなんちゃらさんのコードを参考にしてます.

require 'uri'
require 'openssl'
require 'net/http'
require 'json'

APIKEY = 'YOUR_APIKEY'
speach_uri = URI.parse("https://api.apigw.smt.docomo.ne.jp/aiTalk/v1/textToSpeech?APIKEY=#{APIKEY}")
speach_http = Net::HTTP.new(speach_uri.host, speach_uri.port)
speach_http.use_ssl = true

chat_uri = URI.parse("https://api.apigw.smt.docomo.ne.jp/dialogue/v1/dialogue?APIKEY=#{APIKEY}")
chat_http = Net::HTTP.new(chat_uri.host, chat_uri.port)
chat_http.use_ssl = true


chat_body = {}

loop do
  chat_body['utt'] = gets

  chat_request = Net::HTTP::Post.new(chat_uri.request_uri, {'Content-Type' =>'application/json'})
  chat_request.body = chat_body.to_json
  chat_response = nil
  chat_http.start do |h|
    resp = h.request(chat_request)
    chat_response = JSON.parse(resp.body)
  end
  chat_body['context'] = chat_response['context']
  chat_body['mode'] = chat_response['mode']

  speach_request = Net::HTTP::Post.new(speach_uri.request_uri, {'Content-Type': 'application/ssml+xml','Accept': 'audio/L16'})
  speach_request.body = "<?xml version='1.0' encoding='utf-8' ?>
    <speak version='1.1'>
    <voice name='sumire'>
      #{chat_response['utt']}
    </voice>
    </speak>
  "

  speach_response = nil
  speach_http.start do |h|
    resp = h.request(speach_request)
    speach_response = resp.body
  end

  
  File.open("tmp.raw", "w") do |f| 
    f.puts(speach_response)
  end
  
  system('sox -t raw -r 16k -e signed -b 16 -B -c 1  tmp.raw output.wav')
  system('afplay output.wav')

end

いい感じに対話してるのを撮りたかったのですが,いい感じに録画する方法がなかったのでとりあえずコードだけ貼っておきます.

しりとりとかもできるので,ゆかりさんとの楽しい雑談で暇な時間をつぶせます.

APIの登録ちょっとめんどくさいですが,いろいろ試して遊べるので是非試してみてください.

明日はかのんくんです,

雑談APIにののしってとお願いするとゆかりさんにたまに罵ってもらえます.実装したdocomoの人神かよ

インフラエンジニアの教科書を読んだ

電車移動で読んでた本が読み終わったので,読んでた本を紹介しようと思います.

インフラエンジニアの教科書 

インフラエンジニアの教科書

インフラエンジニアの教科書

LINEのインフラエンジニアの人が書いている本です.

最近インフラエンジニア向けの本だと,SREとかコード書いたりする本が流行ってますが,この本はそういう本ではないです.

インフラエンジニアがインフラの構成を勉強するのに役立つ本だと思います.

RAIDの話があったり,ルーターの話があったり,クラウドとオンプレの比較があったりする本です.

正直RAID10とか知らなかったので結構ためになりました.

研究室の環境をRAID6で組んでたりしましたが,あまり使われてなかったり,仕様が確定されてなかったりする話とかあって驚きました.

僕みたいにインフラの知識ないけど,インフラ環境触ってたりする人はふわふわした知識が少し固まるのでオススメです.

〇〇の教科書系あんまり役立たないと思ってた時期ありましたが,そんなことなかったです.

インフラエンジニアの教科書2も出てるので読もうかなと思います.

kindleだとワンクリックで即座に本が買えてしまうので良くないなー.

今日やってたこと

まぁ明日アドベントカレンダーの担当なので,書くことないし準備するかーって感じでdocomoapi触ってたりしました.

エラー処理ガバガバでエラーに気づかなかったりしたので,そういうコードからはさすがに卒業したいですね.

ROSはバージョン移行うまくいってると思ってたら,うまくいってなかったというオチで辛かった.