/etc/sudoers の syntax erro が起こったら、
どのユーザでも sudo できなくなって危なかった。
以下解決策 (Ubuntu 12.04)
1. Recovery Mode で再起動
再起動中にShift を押し続ける
2. root mode を選択
3. mount -o remount /
で書き込みを可能なように再マウント
4. visudo で編集。
5. resume で戻る
mzmttks's blog for my memorandum の略で mzrandum. Topics are: python, book review, and my hobbies.
2013年4月29日月曜日
2013年4月21日日曜日
Sublime Text 2 パッケージ
備忘録
All Complete
AutoFileName
ConvertToUTF8
HTML5
HTML Attributes
IMESupport
JavaScript console
Python PEP8 Lint
Sass
SFTP
SVN
IndentGuides
SublimeCodeIntel
jQuery
All Complete
AutoFileName
ConvertToUTF8
HTML5
HTML Attributes
IMESupport
JavaScript console
Python PEP8 Lint
Sass
SFTP
SVN
IndentGuides
SublimeCodeIntel
jQuery
ラベル:
tips
SSH経由でリモートドライブをマウント [windows]
http://www.eldos.com/sftp-net-drive/download-release.php
激しく便利なフリーソフト。
Windows でsshサーバとのファイルをやりとりしたいときにつかう。
WinSCP とかは専用のウィンドウがたちあがるが、
こちらはネットワークドライブとしてマウントされる。
公開鍵認証にも対応。すばらしい
フリー版には
IPアドレスとかの設定に名前をつけられないという制限があるが、
べつに気にしないならそのまま使用可能
激しく便利なフリーソフト。
Windows でsshサーバとのファイルをやりとりしたいときにつかう。
WinSCP とかは専用のウィンドウがたちあがるが、
こちらはネットワークドライブとしてマウントされる。
公開鍵認証にも対応。すばらしい
フリー版には
IPアドレスとかの設定に名前をつけられないという制限があるが、
べつに気にしないならそのまま使用可能
ラベル:
tips
2013年2月19日火曜日
Python: 多次元 array の argmax
多次元の numpy.array の argmax を求めたい時は以下のようにする。
import numpy
x = [numpy.array object]
numpy.unravel_index(x.argmax(), x.shape)
なぜ?
x.argmax() は、1次元行列に変換した時の位置を返す。
numpy.unravel_index は一次元に変換した時の位置と行列の次元からその行列でいうとどの位置かを計算する。
これらを組み合わせると、もとの行列の何行何列目に最大値があるのかが分かる。
import numpy
x = [numpy.array object]
numpy.unravel_index(x.argmax(), x.shape)
なぜ?
x.argmax() は、1次元行列に変換した時の位置を返す。
numpy.unravel_index は一次元に変換した時の位置と行列の次元からその行列でいうとどの位置かを計算する。
これらを組み合わせると、もとの行列の何行何列目に最大値があるのかが分かる。
ラベル:
python
2013年2月14日木曜日
parallel で並列処理
ちょっと必要になったので並列処理してみた。
たとえば、
find で処理するためには、よくこんな感じで処理してました。
短い場合はこれでいいんですが、ファイル数が多いなどの時間がかかる場合は
並列処理したくなります。
そこで parallel.
上と同じことを 10 並列でする場合は、以下のような感じ
たとえば、
html ディレクトリ以下のすべての .html 拡張子を持つファイルの行数を表示する。
ただし、行数を表示するたびに1秒待つ (重い処理を想定)
find で処理するためには、よくこんな感じで処理してました。
find html -name "*.html" -printf "wc -l %p; sleep 1" | shfind コマンドが、以下のようなスクリプトを生成してくれるので、
wc -l html/aaa.html; sleep 1それをパイプで sh に渡します。
wc -l html/bbb.html; sleep 2
...
短い場合はこれでいいんですが、ファイル数が多いなどの時間がかかる場合は
並列処理したくなります。
そこで parallel.
上と同じことを 10 並列でする場合は、以下のような感じ
parallel -j 10 -i sh -c "wc -l {}; sleep 1" -- `find html -name "*.tex"`-- 以下のリストを順番に {} に代入して、並列で実行してくれます。
ラベル:
tips
2013年2月7日木曜日
内輪ネタ
下書き。要推敲
あるコミュニティ内では通じるが、外では語彙 (jargon) とかエピソードのことを
内輪ネタと定義します。
で、自分がそのコミュニティに入ったときから何発話目で
そのコミュニティの内輪ネタを理解し、話せるようになるかというのは
結構いろんなところで役立つんじゃないかと思います。
という話。
早く内輪ネタを理解し、話せるようになる効用は次の通りな気がします。
1. コミュニティに馴染むのが早くなる
2. 内輪ネタの階層化
その内輪ネタがそのコミュニティ特有なのか、より一般的なのかが分かる。
3. 人の話の理解が早い
最も小さいコミュニティを個人と定義すると、相手個人の内輪ネタがわかれば
内容理解にリソースを割ける。
4. 本を読む時の理解が早い
著者の使う表現や語彙に適応できるので、内容理解にリソースを割ける。
5. 別コミュニティの内輪ネタとの類推が可能
そのコミュニティの性質がわかるかも。
受けそうな内輪ネタを作れる。
6. 自分の「常識」が本当は違うことが理解できる
当然知ってるべき「常識」は単なる内輪ネタだったりするかも
これができるためには、
1. 周りの人の会話から「理解できない語・表現」を見つけ出すこと
2. その語の用法と意味を文脈から理解すること
3. その語がコミュニティで通じているのか否かを判断すること
が必要です。
さらに、できるだけ早く内輪ネタを使い始めるには、
いちいち意味を尋ねることなく会話から判断できたい。
これって、「技術は盗め」という教訓と似ている気がしています。
いちいち教わることなく重要そうなことを抽出して身につける能力だからです。
じゃあどうすればいいか?
わからん。
あるコミュニティ内では通じるが、外では語彙 (jargon) とかエピソードのことを
内輪ネタと定義します。
で、自分がそのコミュニティに入ったときから何発話目で
そのコミュニティの内輪ネタを理解し、話せるようになるかというのは
結構いろんなところで役立つんじゃないかと思います。
という話。
早く内輪ネタを理解し、話せるようになる効用は次の通りな気がします。
1. コミュニティに馴染むのが早くなる
2. 内輪ネタの階層化
その内輪ネタがそのコミュニティ特有なのか、より一般的なのかが分かる。
3. 人の話の理解が早い
最も小さいコミュニティを個人と定義すると、相手個人の内輪ネタがわかれば
内容理解にリソースを割ける。
4. 本を読む時の理解が早い
著者の使う表現や語彙に適応できるので、内容理解にリソースを割ける。
5. 別コミュニティの内輪ネタとの類推が可能
そのコミュニティの性質がわかるかも。
受けそうな内輪ネタを作れる。
6. 自分の「常識」が本当は違うことが理解できる
当然知ってるべき「常識」は単なる内輪ネタだったりするかも
これができるためには、
1. 周りの人の会話から「理解できない語・表現」を見つけ出すこと
2. その語の用法と意味を文脈から理解すること
3. その語がコミュニティで通じているのか否かを判断すること
が必要です。
さらに、できるだけ早く内輪ネタを使い始めるには、
いちいち意味を尋ねることなく会話から判断できたい。
これって、「技術は盗め」という教訓と似ている気がしています。
いちいち教わることなく重要そうなことを抽出して身につける能力だからです。
じゃあどうすればいいか?
わからん。
ラベル:
discussion
登録:
投稿 (Atom)