TODO管理を実装するとしたら
TODO管理については様々なツールが既にある。
ただ、こういう自己管理系のツールは結局好みになるので、満足いくものというのはなかなか見つけにくい。
個人的には
- コマンドラインで使える
- データはテキストになる
- 期限を管理できる
あたりが理想なのでちょっと作ってみると仮定して考えてみた。
管理はそれほど難しくないが、一番難しそうなのは入力。
特に日付の入力が面倒。
たぶんnext monday
とかゆるい感じで入力できるのが良いと思うが、細かい時間の入力はやはり面倒になると思う。
コマンドラインから使うのを条件としているので、curses的なCUIで選択できるのが良いだろうか。
このあたりの発想は最近流行ってたwuzz
を見て、CUIの可能性がまだまだあるなと感じていたというのが大きい。
で、wuzzはどうやって実装しているんだろうかと見ていると
gocuiというライブラリを使っているようだった。
似たようなものにgo-termbox等が昔からあるが、gocuiはテキスト編集のコンポーネントもあって使いやすそうだった。
ただ、軽く使ってみた感じでは今は非ASCII文字の扱いが上手くできないようだ(時期バージョンでサポートするような宣言のあるissueは見かけた)
このあたりを使いこなして好みのUIが作れると面白いなと思う。
他にも、昨日紹介したようなshellのような発想もあるので、todo編集に特化したreplのようなものも面白いかもしれない。
この場合python-prompt-toolkitのようなライブラリを使うと良さそうだ。
と、まだ何もしていないがライブラリを眺めて色々妄想していた。
こういう時間もなかなか楽しい。
ergonomica
GitHub - ergonomica/ergonomica: A Bash alternative written in Python.
pythonで実装されたshell。
デモがすごい、最初の補完で度肝を抜かれるので是非リンク先の動画を見た方が良い。
こういう方向に進化したshellを使ってみたい。
tmuxとかの機能もshellに統合されてたりすると嬉しい。
shellはいつか手を出してみたいな。
バグいろいろ
プログラムを書いていてなにか動作がおかしいと、
printデバッグなんかをしてみるが、
なぜか仕込んだ途端に再現しなくなるような嫌なバグがあったりする。
こういうバグをハイゼンバグというらしい。
詳細はリンク先を見てもらうとして、なかなか厄介なバグである。
というかみんな困っていてわざわざ呼び名までつけられていたんだなと感心する。
バグはソフトウェアを作る以上は必ず存在するし、
なるほど研究の1分野として成立するような気もする。
他にも面白いバグはないかと調べていたら、
以下のサイトも見つけた。
Stack Overflow発 プログラミングの隠語(ジャーゴン)30選 | A-Listers
個人的には怒ったガールフレンドバグがツボ。
こういうのあるよなーと一人で頷いてしまった。
Intel製品のバグと低レイヤーへのあこがれ
IntelのAtom C2000シリーズに不具合、最悪システムが起動しなくなる可能性 | スラド ハードウェア
インテルのプロセッサにバグがあって、しばらく使うと壊れてしまうらしい。
AtomなのでPCとかは関係ないと思うが、リンク先にもある通りCISCOの機械が該当しているのでは?と言われている。
なかなか厳しいバグなので該当すると辛いなーという感想と、最近はCISCOの機械もAtomプロセッサなんだという別方向での学びがあった。
(そもそも昔はどのプロセッサだったのかも知らないけど)
それにしてもプロセッサやチップの知識はどうやったら身につくんだろうか。
他にもルータとかのネットワーク機能とか、あのあたりのノウハウも自分には無い。
このニュースを見てそのようなことを考えていた。
下のレイヤの知識がある人は総じて強い印象があるので憧れる。
rethinkdb
RethinkDB joins The Linux Foundation - RethinkDB
先日開発停止が宣言されたrethinkdbだが、linux foundationが引き取ることになったらしい。
個人的には全く使ったこともなく存在自体を開発停止のタイミングで知ったようなレベルだったが、
紆余曲折あって開発が続くことになったということは価値のあるプロジェクトだったんだろうと感じた。
ここからシェアを増やすのは大変だと思うが、開発体制が変わっていい方向に転がるというのも普通にあり得ると思うので、
たまに思い出して情報を拾っていきたいところ。