2013/11/27

git diff を単語レベルで

これ探し求めとったやつや・・・。TortoiseGitのdiffは単語レベルで表示できてたから、git diffのオプションかな?と思って調べたけど、できなくて諦めてた。

さっそく設定したが、満足である。

2013/11/21

シェルスクリプト総合 その22

((--i)) でiが0になる時、返り値1なんだ。 
iが負の値になる時でも返り値0なのに、0になる時だけ特別なんですね。

へぇー!こうか。

% i=10; while ; echo $i; ((--i)) && sleep 1s ; do; done;
10
9
8
7
6
5
4
3
2
1
27 :名無しさん@お腹いっぱい。:2013/11/20(水) 19:52:35.18
一定時間、何度か繰り返しコマンドを実行したくて、

for i in `seq 1 10`
do
 何かのコマンド
 sleep 1h
done
echo "finished" | write username

といったスクリプトを書いているのですが、このやり方だと
最後にコマンドを実行してから一時間、無駄に sleep してしまいます。
最後の sleep だけ実行しない方法はないでしょうか。

28 :名無しさん@お腹いっぱい。:2013/11/20(水) 19:58:50.00
再編集の時が恐いけど
変数 i<=9 のときにsleep 1h

i/=10の時に sleep 1h

29 :名無しさん@お腹いっぱい。:2013/11/20(水) 20:00:40.20
>>27

i=10
while
 何かのコマンド
 ((--i)) &amp;&amp; sleep 1h
do :; done
echo "finished" | write username

30 :27:2013/11/20(水) 20:07:56.43
おお! 素早い回答、ありがとうございます。
ですが、たびたびすいません。

実際に使っているスクリプトだと、ループの実行回数が不定な場合があるのです。
(行数が特定できないファイルからの読み込みとか)
最後のループでは sleep しない、という手段はあるでしょうか。

31 :27:2013/11/20(水) 20:19:58.58
よく考えたらファイルからの読み込みも終了判定できますね。
何とか工夫すれば、判定できないループってないかも……。
どうもお騒がせしました。

32 :名無しさん@お腹いっぱい。:2013/11/20(水) 23:30:36.92
>>29
((--i)) でiが0になる時、返り値1なんだ。
iが負の値になる時でも返り値0なのに、0になる時だけ特別なんですね。

2013/11/17

「巨人たちの星」を読んだ時のメモ

を読んだ時のメモが面白かったので載っけとく。2011年5月のメモから一部抜粋。

P.252
技術革新が人類の富を増大し、一人当たりの収入をどれだけ伸ばしても、結局、何かが剰余分を吸い取って、一般大衆は終生あくせく働くしかない。生産性がどんなに向上しても、労働の質が変わるだけで、人が労働そのものから解放されることはない。一般大衆が自分たちの労働の成果である富と自由を与えられないとしたら、いったいその収穫は誰が持ち去っているのだろうか?
P.278
形態の如何を問わずすべて圧制者にとって、知識は敵なのだよ。知識は歴史を通じて、いかなるイデオロギーや信仰にもまして多くの人間を貧困と抑圧から解放した。
P.246
「ひたすら働かせろ。目的に殉じる気持にさせろ。ただし、考える閑は与えるな、か。え?」

ふはは。太字のところ、IT業界の話みたいだな(笑)ITって楽をするための手段なはずなのに、当のIT業界の人々は死ぬほど働いてるってホントどうしてこうなった。

はたらけど はたらけど猶 わが生活(くらし) 楽にならざり ぢつと手を見る --石川啄木:一握の砂

貧困大国アメリカシリーズ

3冊目が出てるんですね!1と2がすごく面白かったので、これも超期待で買ったった。1,2を読んだのが3年前っぽいので復習しとくか。

文章を書く

もっと文章を書こう。書かずにうまくなるってことはないだろう。なんでも構わない。書くことを恐れずに、思ったことを素直に書いていきたい。

2010年夏、上記のようなことを書いている。文章が上手くなるに越したことはないよな。だけど、できるだけ上手く書こうと意識すればするほど、どんどん書けなくなってしまうんだよなー。書くこと自体が億劫になっていく。だから、書きたいことを書いて、ついでに上手くなったら儲け、みたいなスタンスがいいのかな。(こんなスタンスだからうまくならないんだろうなw)

2013/11/14

「影響力の武器」と「プロパガンダ」と交渉の話

経緯

例えば、他者とのスケジュール調整や、納期の話し合い、入居/退去時の不動産屋とのやり取り、ご近所トラブル、勧誘、買い物、転職、打ち合わせ、プレゼン、どれも実は交渉や説得なんだな。日常の中で交渉力がものを言う場面は多い。交渉力があれば味合わずに済んだ苦い経験、結構あるわ。

交渉力があると人生もっと捗りそうなイメージ。例えば、弊社社長、交渉力が高いから一緒に仕事すると案件が終始めっちゃスムーズ。社長や上司の交渉力が高いお陰でデスマにならないし、残業も発生しない。毎日定時退社。ソフトウェアベンダーとしては珍しいと思う。普段から社長や上司を観察してるけど、なかなか真似できない。経験の差ってのはわかってるんだが。

一応書いておくと、交渉によって目指す結果はwinwin。言いくるめたり、無闇にゴネたり、強引に押し切るって話じゃない。それは交渉ではないと思う。理想はこちらの要求を叶えつつ、相手が「得をした」「良い結果を勝ち取った」というような感想を持って自らYesと言うこと。難しければ、最低限、双方にとって不本意な結果を避けるようにしたい。

自分は営業ではない。プログラマであり、SEなんだけど、営業的なことをやる機会もあるし、お客さんや他社と調整するし、サポートで現地に行って人とやり取りするしで、結局は「楽するために交渉力が欲しい」のだった。

本題

で、掲題の本の話。両方ともとても有名な本。影響力の武器は、これまでに何度か読んでいるんだけど、先日もう一度読み直した。その後、プロパガンダを買って読んでいる。両方とも「業務で営業やマーケティングをやっているなかでも意識高い系の人」が読んでそう。でも内容は別に意識高い系ではなく、とてもまとも。無用な煽りなどはない。

プロパガンダは、評判通り影響力の武器と内容かぶりまくり。かぶりまくりなのにすごく面白い。お互いがお互いを補っていて、これはペアで読んだ方が良いと思う。「あ!これ、影響力の武器で言ってた一貫性の話だ!」みたいな。交渉や説得に興味なくても、防御のために読む価値がある。

どんな本なのかは、この辺をみるとわかると思う。

とにかく僕らは簡単に影響を受けてしまうわけだ。簡単に説得されちゃう。

われわれは「正しい持ち物」を購入することによって、お気に入りの著名人のように「なる」。そうすることで、自分自身の自我を強化し、自分の不完全さを合理化するのである。 --プロパガンダ P.107

さて、本の構成としては、影響力の武器の方が各章末にまとめがあって嬉しい。プロパガンダは、影響力の武器より読みやすい。両方とも事例(実験とか統計とか)がたくさん乗っていて、そこが特に面白い。ただ両方ともなかなか分厚い。

余談

実は、評判が良かったので、この本も読んでみた。

結構参考になったんだけど、上の2冊に比べるとすごくライトな本。よく見るとアマゾンのレビューも評価は高いけど、なんかアレな感じ。前半は基本的なことの説明で少しクドい。なかなか退屈。ただし、例題は面白い。退去費用の交渉の話とか、近所の工事現場に対する苦情の話とか。

前半読んでると、もう読むのやめようかなーと思えてくる。我慢して読むと、前半の内容を踏まえての後半が面白い。とくに三章「こんなとき、どうするか」がすごく面白い。目次を抜粋。

  • 相手の方が強かったらどうするか
  • 相手が話しに乗って来なかったらどうするか
  • 相手が強硬に主張したとき
  • 相手が汚い手口を使ってきたらどうするか

これはこれで読んでよかったかなと思う。

余談2

先日読んだ、言葉と思考って本も少し関連があると言えばある。

ほんで、プロパガンダの次はこれを読もう、と思って買っといたのがこれ。

プロパガンダと一緒に買ったんだけど、プロパガンダ読んでたら引用されてて笑った。

結論

こういう本を読んだからといって、すぐに交渉力は上がらない。間違いない(体験)。ただ、実際の交渉の現場に居るときに、今何が起こっているのかがわかるようになる。なぜ相手がみるみる説得されているのかがわかるようになる。それに、過去に自分が行った交渉の問題点に気づくことができる。これ多分すごい重要。

なぜうまくいかなかったのか、どうすればよかったのか。なぜ自分は不本意な説得に応じてしまったのか。もっと交渉の余地があったんだ、って。

以上、けっこう真面目に書いたけど、読んで面白いから暇つぶしにオススメ。

transpose コマンド(tsv/csvの行列転置)

行列転置したいことは結構あるのに、shellでやろうと思うとちょっと面倒くさい。普段はExcelで「形式を指定して貼り付け」しているけど悔しい。

ので、簡単なコマンドにした。以前作ったcsv2sqlをコピってちょっと書き換えただけ。

ソースはこちら。

2013/11/07

トイレ本の候補

今は、上の日記で書いたようにへんないきもの (新潮文庫)を読んでいるけど、もうすぐ読み終わりそう。すごく面白かったので、次は同じ著者のカッコいいほとけを買ってみようかな。期待。

2013/11/06

体力、気力、能力のピラミッド

Tumblrでこんな画像を見かけた。

睡眠不足の話もそうだけど、30歳ともなると身に染みる話である。体力、睡眠、食事、どれもコンディションに影響ダイレクトなんだぜ。

睡眠不足オレオレ指標

  1. かなり睡眠不足
    • 仕事ができない
    • 前フリなしで一瞬気絶する
    • 運転中に一瞬気絶する
    • 信号待ちで一瞬気絶する
    • 朝起きれない
    =====超えられない壁=====
  2. 睡眠不足
    • 仕事中にまぶたが落ちてくる
    • プログラミング中に眠くなる
    • 湯船で眠くなる
    • 車を運転している時に眠気を感じる
    • 飛行機に乗ってる間中寝てる
    • 朝起きるのがとてもつらい
  3. 少し睡眠不足
    • 仕事中にあくびが出る
    • プログラミング中にあくびが出る
    • 読書中にあくびが出る
    • 高速道路運転中に眠くなる
    • 飛行機に乗ると眠くなる
    • 朝起きるのが少しつらい
  4. 睡眠不足ではない理想の状態
    • 仕事中にあくびすらでない
    • 高速道路を運転しても眠くならない
    • 飛行機に乗っても眠くならない
    • 目覚ましが鳴る前に目が覚める

新卒で入った会社でデスマって、残業しまくり45連勤とかそういう悲しい理由で、一度だけ超えられない壁を超えたことがある。当時は、1〜2週間で回復したように思っていたけど、今振り返ってみると数ヶ月くらいダメージを引きずっていたように思う。

最近は少し睡眠不足気味になることもあるけれど、目覚まし前に目が覚めるような日も増えていていい感じである。やっぱたくさん寝た方がいいと思うの。

2013/11/05

面接法って本

先日「面接法」っていう全然オレ得じゃない本読んだんだけど面白かった。薄いし簡潔な文章なのに密度すごかった。面接法ってかカウンセリング法って内容。初心者が書いたケース記録をベテランのアドバイスを基に何度も書きなおすところは、文章を書くことについてとても参考になった。

カウンセラー向けの本なんだろうな。面白かったよー。

2013/11/04

議事録

会議や打ち合わせの後に議事録をまとめる機会がある。ノートにとったメモや、PCでテキストに記録したものをベースにする。難易度の高い込み入った打ち合わせの場合は、録音した音声を聴きながらテキストに起こし、それをベースにすることもある。

通常、聞きとった内容を聞きとった順に羅列しただけのテキストはとても散らかっている。この状態では読んで内容を理解することは難しい。整理する必要がある。

同じ意味で表記の違う単語を統一する。意味のない部分を削除、冗長な内容を簡潔に書きなおす。あちこちに散在する関連した話題をひとまとめにする。読みなおして重複する部分を削り、主語を明示的に付け足し、隠れた文脈を書き起こす。手順を示す部分には番号を振り、列挙しているところは箇条書きにし、話のまとまりごとに見出しを付けて構造化する。(発言をそのまま会話形式で記録する議事録もあるが)

議事録を作成する目的は、お互いの認識をすり合わせることにある。現状の把握、誰がいつ何をするか、今後の見通しと課題、懸案事項などを明らかにする。「言った、言わない論争」を避けるためでもある。自分たちの備忘のためでもある。完成した議事録を相手に渡し、お互いの訂正を経て完成する。新たな問題点が明らかになり、次回の打ち合わせへと続く。この作業を通して自分の脳内も整理される。

本題

実はここからが本題だったんだけど、疲れたのでまた後日書くことにする。

余談

議事録の作成にはgitを使っているんだけど、相手との訂正のやり取りはMicrosoft Wordの「変更の記録」が便利だと最近知った。これは捗る。