tomabouの日記

勉強したことなどを書いていきます

ボルダリングを趣味にしたほうが良い5つの理由

もしあなたが、 ボルダリングなんか人生の無駄だ! と考えているのだったら、

今日だけはこのブログを ちゃんと読んだほうがいい。

あと、アナタがクライマーだったら この記事が検索エンジンの上位に 表示されるように、

ソーシャルボタンをガンガンに 押しまくった方がいい。

続きを読む

ボルダリング初心者が買うと良いもの

はじめに

ボルダリングはオリンピックの影響もあり流行っています

ボルダリングを始めた初心者が買うと良いものを紹介したいと思います

ボルダリングにおいてシューズは非常に重要です

レンタルシューズに比べて摩擦力が高くなり、つま先により力を加える事ができるため、より難しい課題に対応することができます

続きを読む

HP Z420のCPUクーラーを換装する

はじめに

HPのZ420というワークステーションを改造して家で使用しています。 CPUはIvy bridgeXeon E5-1620 v2 というCPUで、大体第三世代core i7と同じくらいの性能です。core i7 3770とかだと思っておけば良いでしょう。 業務用に使われていたワークステーションが中古市場に流れてくるので安価に入手することが出来ます。 メモリも信頼性が高いものを使用しておりかなりコスパは良いです。

CPUクーラー交換

交換理由

HPのZ420は空冷のものと簡易水冷のものがありますが、私の持っているものは簡易水冷です。 その簡易水冷が異音を発するようになって来たため空冷のものに換装することにしました。

続きを読む

Twitter

Twitterによって得られるものは、少し考えると大きく分けて娯楽(精神の安定)、情報、社会関係資本に大別されると考える

娯楽としては、ちょっと有用そうな情報が延々と垂れ流されるタイムラインというのはそこそこ心地良いものである

情報源としても質の低いものが多すぎて時間帯効果はかなり低いであろう。しかしTwitterにしか出てこない情報というのも多種にわたって存在する。

Twitter社会関係資本としてはかなり弱いものであろう

そんなわけでTwitterをやめたいなぁと思ってみたりしているわけである

ジェンガの必勝法

ジェンガは先手必勝か後手必勝なのかというのが控室で話題になった。

結果としては段数がmod3で1のときは後手必勝 そうでなければ先手必勝である。

ジェンガは、3本残っている段(ooo)、端を抜いた段(oox)、もう取れない段(oxo,xox)、最上段の本数で状態が定まるので、 もう取れない段を無視して( Z Z Z/3Z)の組で表現できる。その上でgrundy数を計算させれば良い。するとmod3で周期的になることが分かる。

実際のジェンガは18段であるので先手必勝なわけだ やったね

GitHub - tomabou/jenga

五月祭 工学博覧会

五月祭の工学部の企画で情報理論に関するちょっとした学生講演をした。

直前まで何もしなかったため、4日前に内容を決めて(既にタイトルは決まっていた)、2日前にスライドを作って発表してフィードバックを貰い、当日修正してどうにか間に合わせた。もっとギリギリにならないように出来たら良いが、なかなか難しいものである。

内容はアナログとデジタルの違いをフックに符号を導入して、誤り訂正符号やら通信路符号化定理を紹介して最先端の符号の話をした。発表自体は結構しっかり聞いてくれていた中高生の集団やら、質問してくれた男性も居て楽しかった。

発表スライドを作るのに手間取って萎えた経験が結構あるので、スライドを効率よく作れるようになりたいというのが最近の願いだが、今回のスライド作成はそこそこスムーズにできた。やはり、内容を決めた日にとりあえず無理矢理即興で仮発表をしたことが良かった。とりあえず喋ると喋ってる間に話したい話が纏まることを実感したので、今後も活用していきたい

情報の捉え方 - Google スライド

brainf*ckインタプリタ

はじめに

brainf*ckインタプリタは一瞬で作ることが出来るので、気晴らしに最適であると知られています[tomabou, 2019]

せっかく作ったのでブログに書いておきます

https://github.com/tomabou/brainf-ck/tree/master

HelloWorldしてFizzBuzz出来たのでちょっと満足しました。

ちょっとした感想

brainf*ckインタプリタでただ一つちょっと注意しないとイケナイところは、括弧の対応を取るところです。 括弧の対応を取るのは正規言語ではダメで、文脈自由文法が必要なので、スタックをどこかに用意する必要があります。

しかしC言語の場合、関数呼び出しをすると勝手にスタックを用意してくれるため、何も頭を使うところはありません。 FPGA上で実装したりbrainf*ck自身でbrainf*ck処理系を作ったりするときは、関数呼び出しという高級な機能がないのでスタックの実装についてちょっと考える必要があるかもしれませんね。