ThinkPad T410i 落手

晴。
音楽を聴く。■バッハ:ブランデンブルク協奏曲第四番 BWV1049、第三番 BWV1048 (クイケン参照)。清潔な演奏で、じつに気持ちがよい。
昨晩は遅くまで『プログラマ脳を鍛える数学パズル』でプログラミング遊びをしていたが、今日はプロジェクト・オイラー。問74が解けてよかったが、このあたり問66, 70, 72, 73, 75 などは、計算可能な時間内に解く方法がわからない。どうしても時間がかかる方法しか思いつけないのだ。うーむ。
 問69のコードを改善した。求めるのに0.2秒。自画自賛したい。

require 'prime'

class Integer
  def totient
    a = 0
    1.upto(self - 1) {|i| a += 1 if gcd(i) == 1}
    a.to_f
  end
end

num = 1
max = [0, 0]
Prime.each do |pr|
  num *= pr
  break if num > 100_0000
  a = num / num.totient
  p max = [a, num] if max[0] < a
end
puts max[1]    #=>510510

夕方、図書館。

ヤフオクで落札した ThinkPad T410i 落手。思ったよりきれいで汚れていない。OS無しという条件だったが、電源を入れると一応 Windows 7 が立ち上がる。たぶん、プロダクトキーが付いていないソフトなのだろう。HDD 250GB を GParted で 120GB, 50GB, 50GB に切っていき、最初の 120GB のパーティションLinux Mint 18 Xfce beta 64bit を入れる。残りのパーティションは別のディストリビューションを入れてトリプルブートするつもりなのだ。Windows(らしきもの)は削除。インストールは簡単で、特にトラブルというほどのものはなく終った。
 あとは色いろ設定。日本語化はインストール時にされたもので充分のようである。日本語入力は最初から Fcitx-Mozc で、これも問題なし。Google Chrome のインストール。rbenv を使ってRuby 2.3.1 のインストール。これが結構面倒で、一度ビルドエラーが出た。Mint 18 ではそのままだとパッケージが足りないようで、"apt-get install -y libssl-dev libreadline-dev zlib1g-dev" をやれと出てくる。そのとおりにしてもう一度 "rbenv install 2.3.1" でインストール終了。次に Gem の管理に Bundler を入れる。
 Ruby のインストールはむずかしくなかったのだが、実行環境の設定に苦戦する。ターミナルがこれまでの Linux とちがうので、同じ方法が使えない。色いろ試行錯誤してみて、結局多少面倒な方法でやるしかないという結論に達する。まあ rbenv を使うから仕方がない。
 もう遅い時間になったのだが、入れようと決めていたもうひとつの Linux である、BunsenLabs をインストールする。日本では知名度があまりないが、Debian ベースで、ヨーロッパではかなり使われているらしい。インストールはここを参考にして、すべて日本語で行うことができるが、設定はすべて英語なので注意。この設定が手順どおりにやっていくだけとは云え、かなり時間がかかる。しかしね、この BunsenLabs というデストリビューション、見かけが非常にカッコいいですよ。実際それで人気があるらしい。立ち上げも軽いし、気に入った。なおブートローダーだが、Mint 18 は MBR に入れ、BunsenLabs はそのパーティションに入れたので、このままではあとに入れた方が GRUB2 に反映されないため、Grub Customizer で修正する。