スイミング始めました

こんなにかっこよくないですが。
いらすとや

はじめに

スイミングに通い始めました。オッサンですけど。
小学生時代からずっとカナヅチだったので、一念発起してがんばろうというわけです。

自己流で

小学生の子どもがスイミングに通っているので、そのレッスンの様子をじっとみておぼえて、それをやってみる、というのをがんばっています。

初心者向けコースでただひたすらバタ足とクロールを「ああでもない、こうでもない」ともがきながらやっている感じです。
うまくできた!と感じる瞬間もあれば、ダメだな〜という瞬間もあり、一進一退という感じでした。

一つわかったのは、姿勢がとても大事だということでした。
姿勢良く泳げたときは泳いだ感があり、姿勢が悪いときは溺れた感がありましたね。

レッスン受けてみる

平日に休みがとれたので、コーチのレッスンを受けてみました。ちょうどピッタリのコースがあったので、良かったです。受けてみて思ったのが、スイミングのコーチの教えはすごい!ということでした。

コーチの教えのとおりにやると、たしかに上達する気がします。足りないのは気合と根性ではなかったのですね。
ちゃんとしたやり方で、ちゃんと練習積めば、上達できるんだな〜と感じ始めました。あと、下手な人(つまり私)に対しても、褒めてくれるのがうれしいです。

大人になってやってみると、誰も笑わないし(笑われてもいいけど)、褒めてくれるし(お世辞でもうれしい)、自分のペースで取り組めるし、楽しいな〜と思います。

おわりに

子どもの頃は水泳の時間が嫌いで、やりたくない気持ちが強かったです。今、別に泳げるようになってはいませんが、スイミングは楽しいです。楽しいと前向きに取り組めるし、楽しいって大事ですね。

ペグソリティアを解く

はじめに

夏休みの旅行中に、うちの子がペグソリティアをやっているのを見て、 「これ解けたらドヤ顔できるな」と思ってチャレンジしたものの、意外に大変でした、というお話です。

解いてみる

チャレンジしたのは33ペグのやつです。
https://ja.wikipedia.org/wiki/%E3%83%9A%E3%82%B0%E3%83%BB%E3%82%BD%E3%83%AA%E3%83%86%E3%83%BC%E3%83%AB

いろんなパターンがあるようですが、一番スタンダードっぽいやつということで。

最初は、何回かチャレンジしてれば解けるやろ、と思っていたが全然できないです。 マジですか??ヤバイという気持ちになり、PCに解いてもらおうと考えたわけです。

プログラミングする

しかし、これも意外に難しい。というか全然意外ではなく、難しいことが知られていたらしいです。 私が知らないだけでした。

こういうのとか(英語なので半分も読めてないですけど)、こういうのとか見ると、現実的な時間で解の全部を解くことはかなり困難そうだ、という印象を受けました。

がんばりました

とはいえ、仕事のあとでちょびちょびやるだけだとそこまでのエネルギーは ないというわけで、とりあえず、簡単な感じで書いてみました。

https://github.com/HideoYukutake/puzzle

なんと!時間はものすごーくかかったものの、一応、解の一つが得られました。 夜寝る前に走らせて、翌朝には解けていたので、とりあえず良しとします。
(時間を計測するのを仕込むのを忘れてしまったのが残念。)

このあとは、性能を改善するのみ!現実的な時間でちゃんと解けるようになりたいなぁ。

2019/9/22追記

あのあとも少し工夫を続けた結果、解の一つであれば、数分で得られるようになりました。7時間くらい雨後し続けると50,000超の解を得ることができましたが、まだまだ探索空間が広すぎて全体を把握できていないようです。

対称性や回転で同一となるペグの配置ができたら解決済みとする、とかの工夫が必要だなぁと思いつつ、まだ解決できていません。

読書通帳

読んだ本

・アンダークラス ─新たな下層階級の出現
http://www.chikumashobo.co.jp/product/9784480071873

感想

新書だったので、割と気楽に読めると思っていたのですが、意外にしっかりした本でした。
内容がしっかりしているのは当然ですが、計量的なデータを用いながら階級社会の構造と動態を記述しようとしていて、気楽に読むという本ではないな、というのが感想です。

引用するデータは、主として2015年のSSM調査(「社会階層と社会移動全国調査」というそうです。)と、2016年首都圏調査(著者を中心とするグループによって実施された調査)でした。しっかりとデータを取って、そこをベースに議論する、というのは大事なことですね。

後半で、アンダークラスやその周辺のメンバの政治的な傾向などについての考察もありました。
議論のあるところだろうと思いますが、所得の再分配のあり方や、社会のあり方を考えていく上で、示唆に富む内容だと思いました。

Exponential Backoff And Jitterの勉強

はじめに

AWSの勉強をしていて、リトライについて書かれている記事を読みました。
https://codezine.jp/article/detail/10739

この中で説明されていたExponential Backoff And Jitterのコードを読んで、
試してみたので記録しておこうと思います。

シミュレータの実行

python backoff_simulator.py

でcsvを作成しました。
なお、PCのスペックが貧弱(Thinkpad x61s)なのもありますが、結構な時間がかかりました。それから、csvのデータ尾を、gnuplotでグラフにしてみました。Call数をグラフにしたのがこれです。 もとのサイトのグラフとほぼ一致していますね。

全リクエストの処理が完了するまでの総所要時間のグラフがこちらです。

傾向としてだいたい同じになりました。

バックオフのロジックを工夫することで、処理時間を節約することができるのですね。
TCPの輻輳制御も面白そうだなと思ったので、TCP技術入門も読んでみたくなりました。
https://gihyo.jp/book/2019/978-4-297-10623-2

参考URL

https://codezine.jp/article/detail/10739

あと、gnuplotを使うのは初めてだったので、参考になりました。
http://nalab.mind.meiji.ac.jp/~mk/labo/howto/intro-gnuplot/intro-gnuplot.html

Goに入門

gopherfiveyears
The Go gopher was designed by Renee French.

はじめに

pythonrubyで書き、Cを読むことが多かったのですが、Goで書かれているプロダクトが増えてきた気がするので、Goに入門しようと思います。 自分の担当がインフラ周りだからかもしれないです。

参考書

この本を買いました。

入門Goプログラミング(NathanYoungman RogerPeppé 吉川邦夫)|翔泳社の本

インストール

まずは、インストール。 Go Playground でもOKとは書いてありましたが、なんとなくインストールしたいので 公式のページの案内のとおりにインストールしました。

vim-go の準備

エディタはvimを使っているので、vim-goをインストールすることにしました。

GitHub – fatih/vim-go: Go development plugin for Vim

上記URLのとおりにインストールしたつもりでしたが、guruがなんとかというエラーが 出たので、とりあえず、guruなどもインストールしました。 (エラーのキャプチャとかを取っておけばよかったです。)

go get -u golang.org/x/lint/golint
go get -u golang.org/x/tools/cmd/goimports
go get golang.org/x/tools/cmd/godoc
go get -u golang.org/x/tools/cmd/gorename
go get golang.org/x/tools/cmd/guru
go get -u github.com/nsf/gocode
go get -u github.com/rogpeppe/godef

再度、vimを開い :PlugInstall で無事にインストールできたみたいでした。

これから

参考書の各章の練習問題を解いていこうと思います。

KVMのインストール

はじめに

これは、2018/2/3のときの記事です。

自宅のDebian jessieでKVMを試してみたメモです。

HW等の確認

BIOSの設定確認は忘れました。 cpuinfoは以下のとおりでした。

grep vmx /proc/cpuinfo
flags     : fpu vme de psetsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon pebs bts aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm lahf_lm ida dtherm tpr_shadow vnmi flexpriority

KVMのインストール

lsmod | grep kvm
kvm_intel    133524  0
kvm             338605 1 kvm_intel

仮想マシンの起動

起動しようとしたら、network “default” is not activeと怒られました。以下のコマンドでネットワークを起動してから仮想マシンを起動しました。

$ virsh net-start default

さくらでブログはじめました

はじめに

ブログを始めました。広告が出るのが嫌だったので、さくらのレンタルサーバを使うことにしました。

なぜさくら?

Kubernetesの調べものなどで、さくらのナレッジでお世話になっていて、せっかくレンタルサーバ使うなら、ということでさくらさんにしました。

これから

少しずつ、別のところで書いていたものも移行していこうと思います。