MacPortsで古いやつを削除してupgradeする

ユーザーズガイド(MacPorts Guide)に書いてあるけど、備忘録として残しておく。
outdatedだったやつを全部アップグレードするときに、"-u"オプションを使えばよい。

sudo port -u upgrade outdated

とか、個別にやりたければ

sudo port -u upgrade portname

こうすると、port installedで表示させたときの「portname @xx.xx_xx」みたいな使ってないやつは増えない。

けど、上記のガイドの注では、-uを普段使うのはオススメされてなくて(万が一動かなくなったときにversionを戻せなくなるから?かな?)、しばらくの間は"-u"オプションなしでupgradeしておいて、ときどき

sudo port uninstall inactive

をやれば、@xx.xx_xxみたいな古いversionは一気に削除することができるとのこと。


ちなみにuninstall inactiveで消えるのは、例えばpython27とかpython34とか複数入っていて、

$ port select --list python                                                  [~]
Available versions for python:
	none
	python25
	python25-apple
	python26
	python26-apple
	python27 (active)
	python27-apple
	python34

とかで表示されるときの(active)以外のやつが消えるという意味ではないぽよ。

まくら

 まくらを買い替えた。使っていた枕は、大学入学で一人暮らしを始めるときに買ったものだ。かれこれ10年近く(以上?)使っていた。さすがにへたってしまってて、低すぎてあんまりよくないなーと思い続けてずっと使ってたわけですが、重い腰をあげて、買い替えました。
 ニトリとか無印とか、安そうなところで調べると、まくらって、安いやつだと1000円前後ぐらいで買えることって知って、もっと早く買い替えればよかった思ったぐらいです。この機会に、いい枕に買い替える案も検討しましたが、まくらが合わなくて寝れないタイプの人間じゃなかったので、まぁ安いのでいいやと思いました。
 無印週間だし、無印のまくらを調べると、「羽根まくら」の口コミのところに

7月から仕様変更して羽が300g減ったらしい…

と書かれていました。詰め物重量0.7kg。
 で、行ったお店に在庫がなくって、ディスプレイ用におかれてたやつが、同じサイズで古い型のまくらでした。たしかに詰め物重量1.0kg。しかも、値段は、300円安い、900円でした(ディスプレイ用だったやつをあまり買いたくなかったのですが、無印にいくのも大変な田舎に住んでるので、また来るのが億劫羽だった・・・)。

 詰め物重量が減って、価格が上がったのかーと、昨今の経済事情を垣間みました。

 0時をまわって、今日仕事だ。それは別に大丈夫だ。最近、ちょっとダメだなと思うことがいろいろでてきた。予想外に生じた出来事に困ってしまったり、予想どおりのことが起こったけれども自分が変わってしまってたので不都合が生じていたり、そして、自分の年齢に対するものだったりだ。どうすることもできないほどは追いつめられてはいないのだけれども、このままでいいのかなどうなんだろうと考えているうちに、どんどん時間に流されていって、さらに状況が変えられなくなっていくような気がする。
 明日は5時起きだ・・・。おやすみなさい。

大小を比較して代入

 この前(といってもかなり前)、SRMの問題で人のソースコード読んでたら、あーなるほどと思ったので、書いておく。内容は、大したことない。

 変数x1に最初に値(例えば10)を代入しておいて、それとは別にある値(x2)を計算して(fとする)、そっちの値の方が小さかったら、x1を代入するみたいなことを書くとする。順番に書いていくと、

x1 = 10
x2 = f(hoge, piyo)
if x1 >= x2:
    x1 = x2

みたいな感じになる。で、なるほどーと思ったコードは、

x1 = min(10,f(hoge,piyo))

という1行。当たり前だけど、なるほどってちょっと発見。

自動車の燃費のお話

 「ファスト&スロー(下巻)」にこんな話がでてきた。

 なお、MPGはマイル/ガロンの略である。
・アダムは、一二MPGというガソリン喰いの大型車から、いくらかましな一四MGPの車に買い替えました。
・環境意識の高いベスは、三〇MPGという燃費のよい車から、さらによい四〇MGPの車に買い換えました。
 アダムもベスも年間走行距離は同じだとしたら、この買い換えで、より大幅なコスト削減を達成できたのはどちらだろうか。

 ここで"なんとなく"(ファスト&スロー的にはシステム1で)考えると、ベスの方がより削減できると思ってしまう。しかし、この文のあとに書いてあるように、距離/リットルのフレームワークで考えているとダメで、逆数で考えるべきだと。
 つまり

名前 はじめ あと
アダム 8.33 G/100M 7.14 G/100M -1.19 G/100M
ベス 3.33 G/100M 2.5 G/100M -0.83 G/100M

となる。

 ということで、見慣れたkm/lをl/100kmに変換してみる。

km/l l/100km 20km/lからの差
10km/l 10.0l/100km 5.00l/100km
15km/l 6.67l/100km 1.57l/100km
20km/l 5.00l/100km -
25km/l 4.00l/100km -1.00l/100km
30km/l 3.33l/100km -1.67l/100km

※なお、最近の自動車だと、プリウスの燃費は32.6km/L、ヴィッツの燃費は21.6km/Lとからしいです。

じっくりと計算してみると(システム2を使うと)、なるほどなーと実感した。

2014年4月スタート

 引越に関してはいろいろハプニングもあったけど、なんとか無事搬入も終えて、新しい部屋と新しい職場で新しい生活が始まった。2年間過ごした仙台を去って、ほんの少しだけ寂しい気持ちになった。2年も住んだのに、少しっていうのが意外で、あんまり馴染めなかったんだろうなと思う。で、新天地。田舎で、国道沿いにお店が並んで、車社会だし、ここまで田舎に住むのは初めてだ。Amazonがあるから、身近にスーパーがあればどこでもいいよと思っていたけれども、実際そうなると意外に不安を感じる。今のところ困ってないけど。
 折角、新しいところに来たので、この1年で新たにやりたいことを書いておこうと思う。たぶん1年後ぐらいに見返したときに、こんなこと書いてたのかって笑ってしまうと思うけど。

  • ものを捨てる

 また1年後に引越なんですよw まじで憂鬱。来たときよりもスリムになって出てゆきたい。

  • 弁当作り始めてみたい

 続かないかもしれないけど、4月後半ぐらいからは始めたいなぁー。

  • 身体の歪みを治す

 そのためになにかするってわけではないですが、姿勢を意識するだけ。ここ5年以上ずっとショルダーバッグを使ってましたが、使うのをやめて、通勤で片方の肩だけに重みをかけるのはやめる。

 学生のときに一時期参加して、色すらつかなかったのですが、http://shnya.jp/blog/?p=446とかに触発されて、もう一度がんばってみようかなと。Python使えるようになってたので、Pythonを書く機会も増やせそうだし。

ほかにもいろいろあるけど、ブログに書くのはここまで。

極座標グラフを、12時から時計回りで使う。

Developer's guide for creating scales and transformations — Matplotlib 3.0.2 documentation
のPolarAxesに書いてあるとおりだとは思うのですが、備忘録。

import numpy as np
import matplotlib.pyplot as plt

ps = plt.subplot(polar=True) #極座標でfigure(1)とsubplot(111)を作って
ps.axes.set_theta_direction(-1) #デフォルトは反時計回りなので、時計回り(-1)に変えて
ps.axes.set_theta_zero_location('N') #上を0にする。(NはNorthの意味)。
#ps.axes.set_theta_offset(0.5 * np.pi)でも可。
#引数はラジアンで、普通の極座標形と一緒。0.5*piで上ってこと。

#座標軸のラベルとかを変えたければ、
#ps.axes.set_rgrids()
#ps.axes.set_thetagrids()とかで、指定する。
ps.axes.set_thetagrids(np.arange(8)*45.,['N','NW','E','SE','S','SW','W','NW'])
#ラジアンじゃなくて度らしい。

#適当にデータ(thetaとrの100組)を作る
theta = np.arange(0.,2.*np.pi,2.*np.pi/100)
r = np.arange(0.,10.,10./100.)

#でプロットする
plt.plot(theta,r)