読者です 読者をやめる 読者になる 読者になる

隙あらば寝る

うぇぶのかいしゃではたらくえんじにあがかいています

Google Cloud Spanner

cloudplatform.googleblog.com

最近発表されたGoogle Cloudの新サービスSpanner。

SQLが使えるデータベースで、どうもCAP定理を打ち破ったらしい。

CAP定理自体は昔からよく言われるもので、すごくざっくり言うとDBのクラスタ

一貫性©/可用性(A)/分断耐性(P)

どれかを犠牲にしないといけないという話。

CAP定理 - Wikipedia

で、カタログスペックで見るとSpannerはすべてを満たしているようだ。

詳細の説明は

https://reearch.google.com/pubs/pub45855.html

のpdfで解説されているようだが、どうもGoogle Cloudで作り込まれたネットワークを利用することで

分断に対するリスクを減らしているということだと理解した。

たしかに分断を経験することはあまりないし、SDN(死語?)で見事なネットワーク冗長化をしていればなおさらだろう。

ただ簡単に真似できるものではない。予算が許すのであればぜひ使いたいと思う。

実際使ってみればいろいろと不満もあるのかもしれないが、このカタログスペックはもはや別次元。

なんとなく感じていたが、インフラは積極的にクラウドに載せたほうがいいかもしれない。

gaierror

python

pythonコードでgaierrorというのが出て、どうもエラー詳細から見ると名前解決のエラーのようだった。

 

gaiってなんぞ?と調べたところ、どうも getaddrinfo の頭をとってgaiらしい。

 

わかれば納得だが、非省略だとダメだったのかな。。。長いからダメということかな。

TODO管理を実装するとしたら

TODO管理については様々なツールが既にある。

ただ、こういう自己管理系のツールは結局好みになるので、満足いくものというのはなかなか見つけにくい。

個人的には

あたりが理想なのでちょっと作ってみると仮定して考えてみた。

管理はそれほど難しくないが、一番難しそうなのは入力。

特に日付の入力が面倒。

たぶんnext mondayとかゆるい感じで入力できるのが良いと思うが、細かい時間の入力はやはり面倒になると思う。

コマンドラインから使うのを条件としているので、curses的なCUIで選択できるのが良いだろうか。

このあたりの発想は最近流行ってたwuzz

github.com

を見て、CUIの可能性がまだまだあるなと感じていたというのが大きい。

で、wuzzはどうやって実装しているんだろうかと見ていると

gocuiというライブラリを使っているようだった。

github.com

似たようなものにgo-termbox等が昔からあるが、gocuiはテキスト編集のコンポーネントもあって使いやすそうだった。

ただ、軽く使ってみた感じでは今は非ASCII文字の扱いが上手くできないようだ(時期バージョンでサポートするような宣言のあるissueは見かけた)

このあたりを使いこなして好みのUIが作れると面白いなと思う。

他にも、昨日紹介したようなshellのような発想もあるので、todo編集に特化したreplのようなものも面白いかもしれない。

この場合python-prompt-toolkitのようなライブラリを使うと良さそうだ。

github.com

と、まだ何もしていないがライブラリを眺めて色々妄想していた。

こういう時間もなかなか楽しい。

ergonomica

GitHub - ergonomica/ergonomica: A Bash alternative written in Python.

 

pythonで実装されたshell。

 

デモがすごい、最初の補完で度肝を抜かれるので是非リンク先の動画を見た方が良い。

 

こういう方向に進化したshellを使ってみたい。

 

tmuxとかの機能もshellに統合されてたりすると嬉しい。

 

shellはいつか手を出してみたいな。

初期ドラゴンボール

最近山手線でスタンプラリーをやっていたり、

 

ジョージアのキャンペーンをやっていたり、

 

ドラゴンボールの露出が多いように感じる。

 

なにかきっかけでもあったのかな?

 

先日見始めたNetflixドラゴンボールも今天下一武道会なので楽しく見ている。

 

今年はすでにぎっくり腰と派手な首の寝違えを1回ずつやってしまったので、しばらくは安静にしよう。

 

寝違え

首をやってしまった。。。

 

今朝ピキッという感じで首の筋を違えふる感じがあり、そのまま動作停止。

 

痛みがひどく、向けないとかいうレベルではなく起き上がれない。。。

 

こういう時はPCじゃなくスマホあってよかったという感じだが、スマホは入力がつらい。

 

いい感じの入力方法が確立されたらPCは廃れそうだなぁと思いながら横たわっていた。

バグいろいろ

プログラムを書いていてなにか動作がおかしいと、

printデバッグなんかをしてみるが、

 

なぜか仕込んだ途端に再現しなくなるような嫌なバグがあったりする。

 

こういうバグをハイゼンバグというらしい。

 

特異なバグ - Wikipedia

 

詳細はリンク先を見てもらうとして、なかなか厄介なバグである。

 

というかみんな困っていてわざわざ呼び名までつけられていたんだなと感心する。

 

バグはソフトウェアを作る以上は必ず存在するし、

 

なるほど研究の1分野として成立するような気もする。

 

他にも面白いバグはないかと調べていたら、

 

以下のサイトも見つけた。

 

Stack Overflow発 プログラミングの隠語(ジャーゴン)30選 | A-Listers

 

個人的には怒ったガールフレンドバグがツボ。

 

こういうのあるよなーと一人で頷いてしまった。