ターミナルでタブを開きすぎて作業内容がわからなくなるのを防ぐ方法

なにかの作業をするときはできるだけ作業毎にウインドウやタブをわけています
しかしターミナルではタブやウインドウに名前が付かず 時間が経つとそれぞれが一体なにをしていたものなのか不明になってきてしまいます
忘れるということは重要ではなかったのだと思いますが なんとなくもったいない気もしていました
最近 作業内容が不明 → タブの全消しの流れに嫌気が差してきたのでタブに名前がつけられる方法を探してみました

HOWTO

Shift + Command + i

f:id:trss:20140302163910p:plain

とても簡単なので活用していきたいです
ちなみにウインドウのタイトルはタブごとに設定が変わるようなのでイジらないほうが楽だと思います

cf.

http://wayohoo.com/mac/tips/how-to-change-the-name-of-the-tab-of-the-terminal.html

Python のイースターエッグ

いろいろあるの知ったので

>>> import this
The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
>>> import __hello__
Hello world!
>>> import __phello__
Hello world!
>>> from __future__ import braces
  File "<stdin>", line 1
SyntaxError: not a chance
>>> import antigravity
>>> love = this
>>> this is love
True
>>> love is True
False
>>> love is False
False
>>> love is not True or False
True

this は有名ですね
__hello____phello__ は C から Python のモジュールを使うときの確認でつかうそうです
braces は語気が強すぎて笑える
antigravityPython の作者の Guido 氏が Google の App Engine チームで働いていて定義されている fly( ) に関連してとのことです マニアック
結果↓
xkcd.com/353/
最後のはよくできてんなーって感じです

cf.

roman-numerals

roman-numerals

アラビア数字をローマ数字に変換するという問題
以下で 0 ~ 9 まで作ります
規則は桁が変わっても同じ

def make_rn(i, v, x):
    rn = [i*n for n in range(4)]  # 0, 1, 2, 3,
    rn.append(i+v)  # 4
    rn.append(v)  # 5
    rn += [v+i*n for n in range(1,4)]  # 6, 7, 8
    rn.append(i+x)  # 9
    return rn

3999 までなので M は MMM まで
int と str を行き来してるのがツラい

Check IO x-o-referee

x-o-referee

解説いれてきます
マルバツゲームの判定を書く問題で 単純に 縦、横、斜め でパターンがあるのかっていうのを見ればいいなっていう感じで

r = gr  # 横 
r += ["".join(v) for v in zip(*gr)]  # 縦
r += [gr[0][0] + gr[1][1] + gr[2][2],  # 斜め
      gr[0][2] + gr[1][1] + gr[2][0]]

でこのあとパターンを確認して True ならそれを戻します
まあ X O が同数っていうのは現実的じゃないんですけど一応

Python 環境構築メモ

2014-03-13 22:54

~ %brew install python
~ %pyvenv venv
~ %source venv/bin/activate
(venv) ~ %cd venv/lib/python3.3/site-packages/
(venv) ~ %sudo curl -O https://raw.github.com/pypa/pip/master/contrib/get-pip.py
(venv) ~ %python get-pip.py
(venv) ~ %pip3 install spam
(venv) ~ %python -m spam
Hello, I am spam!

get-pip.py の実行を書き漏れてたのと pip3 にするのを忘れていたようです
pip3 -V するとどこの pip をつかうのかわかるっぽい

2014-03-09 11:09

前のでイケたとおもったんですけど どうもうまくいかなかった

~ %brew install python
~ %sudo curl -O https://raw.github.com/pypa/pip/master/contrib/get-pip.py
~ %pyvenv venv
~ %source venv/bin/activate
(venv) ~ %pip install -t venv/lib/python3.3/site-packages/ spam
(venv) ~ %python -m spam
Hello, I am spam!

2014-02-20 20:27

~ %brew install python
~ %pyvenv venv
~ %source venv/bin/activate
(venv) ~ %sudo curl -O https://raw.github.com/pypa/pip/master/contrib/get-pip.py
(venv) ~ %pip install spam
(venv) ~ %python -m spam
Hello, I am spam!

2014-03-08 23:44 訂正 sudo -> sudo curl

speech module

speech module

ほかの人のはだいたい辞書とかリストつくってそこから拾うみたいなのが多かった

def checkio(number):
    a = []
    if number == 0:
        return FIRST_TEN[0]
         
    if number >= 100:
        a.append(FIRST_TEN[int(number / 100)])
        a.append(HUNDRED)
        number %= 100
         
    if number >= 20:
        a.append(OTHER_TENS[int(number / 10) - 2])
        number %= 10
         
    if number >= 10:
        a.append(SECOND_TEN[number - 10])
        number = 0
         
    if number >= 1:
        a.append(FIRST_TEN[number])
 
    return ' '.join(a)

http://www.checkio.org/mission/speechmodule/publications/matuyuji/python-3/first/