2010-08-28

パス名の途中に空白があると make test に失敗する (ruby-1.9.2-p0)

解決はできていないんだが、とりあえず現象だけを記録しておく。

現象はこの記事のタイトルどおり。 Ruby 1.9.2 をビルドする際に、パッケージを展開したディレクトリのパス名に空白が入っていると make test で失敗する。

「Macintosh HD 2」という名前に空白がふくまれていた

以下に失敗する際の実行結果を示す。ここで ~/tools というディレクトリはシンボリックリンクで、実際の場所は /Volumes/Macintosh HD 2/Users/mnbi/tools だ。「Macintosh HD 2」に空白文字がふくまれている。

[imac] mnbi% cd ruby-1.9.2-p0                                  [~/tools]
[imac] mnbi% ./configure --enable-shared --enable-pthread
checking build system type... i386-apple-darwin10.4.1
checking host system type... i386-apple-darwin10.4.1
checking target system type... i386-apple-darwin10.4.1
checking for gcc... gcc
[...snip...]

Generating RI...

Files:       515
Classes:    1088 (  654 undocumented)
Constants:  1364 ( 1141 undocumented)
Modules:     251 (  147 undocumented)
Methods:    7645 ( 2873 undocumented)
 53.47% documented

Elapsed: 44.6s
[imac] mnbi% make test                          [~/tools/ruby-1.9.2-p0]
./tool/rubytest.rb:19:in ``': No such file or directory - \
/Volumes/Macintosh HD 2/Users/mnbi/tools/ruby-1.9.2-p0/ruby \
/Volumes/Macintosh HD 2/Users/mnbi/tools/ruby-1.9.2-p0/sample/test.rb \
(Errno::ENOENT)
 from ./tool/rubytest.rb:19:in `<main>'
make: *** [yes-test-sample] Error 1

この「Macintosh HD 2」というのは、SDD + HDD という iMac の構成の HDD の側に付けられているボリューム名だ。これが、そのままマウントポイントにもなっているため、パス名に空白文字が現れることになる。

tool/rubytest.rb に問題があるようだ

エラーメッセージからわかるとおり、原因の1つは tool/rubytest.rb にある。

(ruby-1.9.2-p0/tool/rubytest.rb より)
18: srcdir = File.expand_path('..', File.dirname(__FILE__))
19: `#{ruby} #{srcdir}/sample/test.rb`.each_line do |line|
20:   if line =~ /^end of test/

19 行目のバッククォートによる外部コマンド呼び出しで、パス中の空白文字がシェルに対してエスケープされないまま渡ることでエラーが起きる。

バッククォートの中の 2 つの要素をそれぞれシングルクォートで挟んでみれば、ある程度は通るものの、途中からエラーが出る。エラーの原因はやはりパス名中の空白によりファイルを見つけられないことで起きている。まだ、どこか他にも問題が残っているらしい。

以下がその実行結果。test_attr.rb 以降のテストはすべてエラーになってしまう。

[imac] mnbi% make test                          [~/tools/ruby-1.9.2-p0]

sample/test.rb:assignment ............................................\
......................................................................\
......................................................................\
......................................................................\
......................................................................\
................................................
sample/test.rb:condition ..
sample/test.rb:if/unless ...
sample/test.rb:case .....
sample/test.rb:while/until ........
sample/test.rb:exception ..........
sample/test.rb:array .......................................
sample/test.rb:hash ...........................
sample/test.rb:iterator ..............................................\
.................................................................
sample/test.rb:float .................................................\
...............................
sample/test.rb:bignum ...............................
sample/test.rb:string & char .........................................\
.....................
sample/test.rb:assignment ..........
sample/test.rb:call ......
sample/test.rb:proc .........
sample/test.rb:signal ..
sample/test.rb:eval .............................
sample/test.rb:system .........
sample/test.rb:const .....
sample/test.rb:clone .....
sample/test.rb:marshal ....
sample/test.rb:pack ....
sample/test.rb:math ..
sample/test.rb:struct ......
sample/test.rb:variable ...........
sample/test.rb:trace ...
sample/test.rb:defined? ............
sample/test.rb:alias ......
sample/test.rb:path .......................
sample/test.rb:gc ....
test succeeded

test_attr.rb EE
test_autoload.rb EEEEEEEEEEE
test_block.rb EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
[...snip...]
#1 test_attr.rb:1:in `<top (required)>': No such file or directory \
- /Volumes/Macintosh HD 2/Users/mnbi/tools/ruby-1.9.2-p0/ruby \
-I/Volumes/Macintosh HD 2/Users/mnbi/tools/ruby-1.9.2-p0/lib -W0 \
 bootstraptest.tmp.rb  [ruby-core:14641]
[...snip...]

と、今日はここまで。パス名に空白文字のふくまれない場所でビルドすればテストもすべて通るから大きな問題ではない。だから、この先を解析することはないかも。

ちなみに、ruby-1.8.7-p302 ではこの現象は起きない。テストの仕組みが変わったようだ。

関連リンク

関連記事

2010-08-27

MacPorts を 1.8.x から 1.9.x へアップグレードした場合の注意点

port がアンインストールできない

きっかけは、Ruby 1.9.2p0 のインストール(とアンインストール)。ターゲットマシンは Mac mini と iMac だ。

どちらの Mac でも ports を使ったインストールには問題なかった。ちょっと試したいことがあったため、mini の方から一度アンインストールすることにした。ところが、ここでつまづいた。アンインストールが失敗したのだ(↓)。

[mini] mnbiwa% sudo port uninstall ruby19                           [~]
--->  Deactivating ruby19 @1.9.2-p0_1+mactk
--->  Uninstalling ruby19 @1.9.2-p0_1+mactk
Error: port uninstall failed: list element in braces followed by \
"/cdesc-dig" instead of space

同じことを iMac でやってみると、不思議なことにこちらは成功する。Mac mini と iMac になんの違いがあるのか? どちらも、Snow Leopard だし、ports のバージョンも同じ 1.9.1 だ。違いと言えば、iMac は最近使い始めたマシンだということぐらい。

実は、そこに答えが隠れていた。

原因は MacPorts のアップグレードが完全じゃなかったため

あれこれと試すうち、/opt/local/var/macports/receipts に違いがありそうだとわかってきた。というのも、mini ではこのディレクトリにはインストールずみの port の情報が記録されているのだが、iMac ではディレクトリが空なのだ。

このディレクトリを頼りにググってみたところ、答え(↓)を見つけた。

(談話室 - MacPorts-JP にある「1.9.0 リリース時のChangeLog の抄訳」より)
sqlite ベースの registry2.0 コードが統合されました。macports.conf 中の portdbformat 変数を 'sqlite' に設定することで有効になります。既存のフラットな レシートは、充分な権限下にて初回 port(1) が実行された際に変換されます。 オリジナルのコードは sfiera によるもので、r63398 以降 jmr によって修正・統合 されました。#13054 (dependencies from old port versions stick around across upgrades) や #14123 (files whose paths differ only in case are left behind when uninstalling) といった、古いフォーマットで悩まされていた問題の多くは、 新しいフォーマットでは発生しません。

同じ場所に、この抄訳の訳者による注意書きもあった。曰く、selfupdate しただけでは registry 2.0 の恩恵を受けられないため手動で macports.conf を更新すると良い、と。まったく、その通りだった。「たちゃな」さん(ChangeLog の訳者の人)、感謝します。

twitter より (2010-08-26)

  • 07:53  新 iPod touch が良いなあ。白い iPhone 4 が出てこないから、iPod で Retina ディスプレイを体験したい。 → http://ipodtouchlab.com/2010/08/apple-special-event-fall-2010.html
  • 19:54  つーか、これは写真を公開するアプリの方が気を付けるべきことだな。GPS情報を取り除くかどうかを選べるようにすべきだろう。 → http://bit.ly/9I7M89
  • 20:14  あるいは、カメラの側でメタ情報を暗号化するとか。
  • 20:16  画像ビューアなんかも、メタ情報があるならきちんと表示するようにした方が良いのかもな。そんなものがあるなんて知らない人もいるだろうし。
  • 20:20  デジタルな世界での暗号化って、金庫というよりむしろ家の鍵ぐらいのカジュアルなものであるべきなのかも。だとしたら、もっと手軽に扱えるべきだね。もちろん、暗号自体は、家の鍵なんかと違って堅牢なものでないと困るけど。
Powered by twtr2src.

2010-08-26

角が丸いのは Mac の伝統!

ちょっと長いけど、二人のやり取りがおもしろいので引用する。引用中、Steve はもちろん Steve Jobs、Bill は QuickDrawHyperCard を書いたことで知られる Bill Atkinson だ。ちなみに、この記事(原文)を書いたのは Andy Hertzfeld (オリジナル Macintosh の開発者の一人で、Folklore.org の製作者)。

(レボリューション・イン・ザ・バレー; p.60「角丸長方形だらけ!」より)
しかし、ここで何かが Steve Jobs の頭に浮かんだ。 「まあ、円と楕円はよくできてたな。でも角の丸い長方形はどうだ? それも今できるのか?」。

「いや、そんなことはできませんよ」と Bill は食ってかかった。 [...snip...]

「角の丸い長方形なんて、そこら中にあるだろ! この部屋を見回してみろ!」。確かに、たくさんあった。 [...snip...]

[...snip...] 「OK。参りました」と Bill は認めた。 「思っているほど難しいかどうか、やってみますよ」。 [...snip...]

翌日の午後、Bill は満面の笑みを浮かべて Texaco Towers に戻ってきた。 彼のデモは、見事に角の丸い長方形を、ほとんど普通の長方形と変わりない、猛烈な速さで描くようになった。 彼はその新しい命令を [...snip...]「RoundRects」と名付けた。 次の 2、3 ヶ月の間に、RoundRects はユーザーインターフェースのさまざまな部分に浸透し、まもなく必要不可欠なものとなった。

正直言って、技術者ではない Jobs が Macintosh (初代) の開発に直接的に貢献したとは思えないんだけど、こういう話を聞くと、なるほど Jobs がいなかったら Mac はこうなっていなかったんだな、とわかる。この「角の丸い長方形」の話なんて、Mac どころかその後の GUI の発展にも影響しかねないものだ。もし、あのとき Jobs の頭に「角の丸い長方形」が浮かばなかったら……、もし、Bill が Jobs との議論に勝っていたら……。

ウェブページでも角を丸く

角の丸い長方形は、今も初代 Macintosh の子孫たちに受け継がれている。Mac OS X のウィンドウたちは、たいてい四隅が(少なくとも上部の二つの隅は)丸い。iPhone のアプリアイコンも角が丸い。標準のボタンやリストもやはり角が丸い。改めて見回せば、丸い角はデジタルなモノの中にあふれている。まるで、角の丸いことがデジタルなモノの特性であるかのようだ。デジタルな道具に遺伝子があるなら、そこには「角は丸い」と書かれているにちがいない。

ならば、ウェブページでも角は丸くあるべきだろう。かつてのように、背景画像と table 要素を組み合わせて作らなければならなかった時代ならともかく、今では CSS3 だけで簡単に記述できる。もう、角を丸くしない理由がないじゃないか。Mac の伝統なんだよ。デジタルな遺伝子に書き込まれているんだよ。

twitter より (2010-08-25)

Powered by twtr2src.

2010-08-25

ウェブページのスタイルを iPad に最適化する方法

増えたデバイス

かつては、Mac (や PC) だけがウェブブラウザだった。今では iPhone に加えて、iPad が「普段使いのブラウザ」として加わった。Mac 向けに作ったページをそのまま開くこともできるけど、やはりデバイスに最適化されたデザインのページは見やすい。このブログも iPhone や iPad ですっきりと表示させたい。多少の手間はかかるけど、やるだけの価値はある。

iPad はウェブブラウザのリファレンスプラットフォームだ

以前にも、このブログを iPhone 対応させたことがあった(テンプレートを変えたために今ではその効果は失われている)。あのときは、単にサイドバーを非表示にしただけだった。今回は、レイアウト全体を見直してみよう。

iPad で見ることを前提に、幅を 768 ピクセル、および 1024 ピクセルで、レイアウト(メインとサブの 2 列構成)をデザインする。1024px仕様を手直しすることで、Mac 用のデザインを仕上げる。iPhone 用のものは、768px仕様からサイドバーを非表示にすることで作る。こうすることで、iPhone、iPad、そして Mac の 3 つのデバイスで、ほぼ同じ見た目にすることができる。

ともあれ、3 種類のデバイスに対応するのだから、デバイスごとにスタイルを指定しなければならない。まずはその方法を(前の iPhone 対応のときより少し詳しく)調べてみた。

デバイスごとにスタイルを指定する

CSS2 には、画面や印刷といった「表示の媒体」(メディア)に合わせてスタイルを指定する機能がある。 CSS3 では、これが拡張され、媒体(メディア)ごとの特性(幅、高さなど)に応じてスタイルを指定できるようになっている。 これがメディアクエリーと呼ばれる機能だ。 Mac 用の Safari はもちろん、iPhone/iPad 用のものもメディアクエリーをサポートしている。 このため、CSS スタイルを適切に記述してやれば、ひとつのウェブページを、開くデバイスに合わせて見た目が切り替わるようにすることができる。

デバイスを識別する

メディアクエリーを使いスタイルを切り替える場合、識別の鍵になるのは画面の幅だ。iPhone なら画面の最大幅が 480 ピクセル(横向きにしたとき)、iPad なら 1024 ピクセル(同じく横向き)になる。

通常、画面幅を鍵にして 2 つのデバイスごとにスタイルを指定する場合、以下のようになる。

(画面幅で切り替え; 2 デバイス)
@media only screen and (max-device-width: 480px) { ... }
@media only screen and (min-device-width: 481px) { ... }

前が画面幅が小さいデバイス(例: iPhone)向けのスタイル、後がそれ以外のデバイス向けになる。

デバイスが 3 つならどうなるか?

(画面幅で切り替え; 3 デバイス)
@media only screen and (max-device-width: 480px) { ... }
@media only screen and (min-device-width: 481px) and (max-device-width: 1024px) { ... }
@media only screen and (min-device-width: 1025px) { ... }

only というキーワードは、(メディアクエリーを知らない)古いブラウザに、この記述全体を無視させるための仕掛け。メディアクエリーをサポートしているブラウザは単に only を無視するので付けたところで影響はないが、(古いブラウザを使う人がまだいるかもしれないので)付けておく方が安全だ。

参考までに、iPhone 3G/3GS、iPad の画面幅についてまとめておく。

機種
iPhone 3G/3GS 320 480
iPad 768 1024
iPhone 4 640 960

iPhone 4 のピクセル数は 3G/3GS の 4 倍(縦横が2倍)だが、(iPhone 4 の Safari は)画面幅のメディアクエリーに関して旧機種と同様に振る舞うらしい。このため、iPhone 4 を 3G/3GS と区別するためには、画面幅ではなく -webkit-device-pixel-ratio という特性を使うようだ(→ 詳細は「iPhone 4 の CSS を切り替える方法」を参照)。いかんせん、iPhone 4 をまだ手に入れていないから試しようがない。

2010-08-24

Google Font API を使ったフォントの表示

(Google Font API - Google Code より)
The Google Font Directory provides high-quality web fonts that you can include in your pages using the Google Font API.

しばらく前になるが、Google がフォントの提供を始めた(今のところ、まだ beta 扱い)。フォントファイルを提供するだけではなく、ウェブページからリンクするサービスを用意することで、ページの表示時にブラウザがフォントを動的にダウンロードできるようにしたのだ。

使い方

ウェブページ用に使う方法

公式ドキュメント( "Getting Started - Google Font API" ) に書かれている方法は、HTML 中の LINK 要素を使い、Google Font API の URL に対してフォント名を指定するというものだ。以下の記述を HTML の HEAD 要素の中に記述する。

<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Tangerine">

スタイルの定義では、他のフォントと同じように扱うことができる。

font-family: "Neuton", Verdana, "HiraMaruProN-W4", serif;

このように指定すれば、英数字の部分については、Google Font API の Neuton または (Google Font API が使えないなどの場合は) Verdana が使われ、日本語部分に対しては「ヒラギノ丸ゴ ProN」が使われる。もし、3 つとも使えないなら、デフォルトの serif フォント(ひげつき) が使われる。

Mac 上の Safari で試すと、こんな風になる。英字部分には Tangerine、日本語部分には「ヒラギノ丸ゴ ProN」が使われていることがわかるだろう。「Making ...」の部分には影がかかっているけど、これは CSS の text-shadow で付けたのであって、Google Font API とは関係ない。

では、外部 CSS を使っている場合はどうすれば良いのか? その場合は、@import で Google Font API の URL を(フォント名とともに)指定すれば良い。具体的には、CSS ファイルの先頭に以下のように記述する。

(外部 CSS の場合の記述例)
 1: /* Google Font API ( http://code.google.com/apis/webfonts/ ) */
 2: @import url('http://fonts.googleapis.com/css?family=Lobster');
 3: @import url('http://fonts.googleapis.com/css?family=Neuton');
 4: @import url('http://fonts.googleapis.com/css?family=Droid+Sans+Mono:regular');

この例では Lobster、Neuton、および Droid Sans Mono の 3 つのフォントが利用可能になる。

iPhone で表示させたサンプル

Google Font API の 公式FAQ には iPhone、iPad、iPod、それに Android はサポートしていない、と明記されている。しかし、今回試してみた限りでは問題なく表示できた。試したのは iPhone 3GS (iOS 4.0.2) と iPad (iPhone OS 3.2.2) だ。

これ(→)は、iPhone で iMac の Apache 経由でページを開いた状態でスクショにしたものだ。

ブログタイトルの部分が Lobster フォント、記事のタイトル(「iPhone 対応」の iPhone という文字)が Neuton フォントによる表示になっている。

twitter より (2010-08-23)

  • 17:13  Monaco がお気に入りなのは言うまでもない。それ以前は Andale Mono だったか。昨日、Droid Sans Mono を Google Font Directory で見つけた。記事にあるようにゼロだけが弱点だな。 → http://bit.ly/dTD5L
  • 17:36  いま、ふと気付いたんだけど、TrackPad を操作する指は、1. 中指、2. 薬指、3. 人差し指、になってる。小指と親指は使わない。順番は指を増やすときの優先順位。つまり、1本のときは1、2本のときは1+2、3本のときは1+2+3、ってこと。
  • 17:37  あ、親指はクリックで使っていたわ。
  • 17:40  クリックについても意識して使ってみると、シングルは親指。ダブルは 中指+薬指だった。あと、4本指のスワイプ(デフォルトでは Expose) のときは流石に小指を使ってた。
  • 17:45  あと、2本指でのピンチのオープンとクローズは、中指+親指だった。指を開くジェスチャは親指との組み合わせでないと、やりにくいからな。
  • 17:53  中指を多用するようになったのは、単に一番長い指だからっていう気がしてきた。というのも、TrackPadの特性上(複数指のタップを検出する)、1 本指での操作中、他の指は浮かせておかなきゃならない。短い指を使うと、他の長い指がジャマになる。必然的に一番浮かせにくい指が選ばれた、と。
  • 17:59  iPhone は片手で持って(その手の親指で)操作することが多いから気付かなかったけど、iPad になるとやはり中指が大活躍する。ただし、iPad の場合は左手で本体を持って、右手(の指)で操作するから、左手で操作するTrackPadとは(同じ中指でも)違う指なんだよな。
Powered by twtr2src.

2010-08-23

port で aria2 をインストール

以下が、port からのインストールの様子。

[imac] mnbi% time sudo port install aria2                         [~]
--->  Computing dependencies for aria2
--->  Dependencies to be installed: gnutls libtasn1 lzo autoconf \
      help2man p5-locale-gettext m4 automake libtool opencdk \
      libgcrypt libgpg-error readline libxml2
[...snip...]
--->  Verifying checksum(s) for aria2
--->  Extracting aria2
--->  Configuring aria2
--->  Building aria2
--->  Staging aria2 into destroot
--->  Installing aria2 @1.10.0_0
--->  Activating aria2 @1.10.0_0
--->  Cleaning aria2
sudo port install aria2  481.04s user 138.41s system 161% \
cpu 6:23.26 total
[imac] mnbi% rehash                                               [~]
[imac] mnbi% which aria2c                                         [~]
/opt/local/bin/aria2c
[imac] mnbi% aria2c -v                                            [~]
aria2 バージョン 1.10.0
Copyright (C) 2006, 2010 Tatsuhiro Tsujikawa

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

** Configuration **
Enabled Features: BitTorrent, Firefox3 Cookie, GZip, HTTPS, \
Message Digest, Metalink, XML-RPC
Hash Algorithms: md5, sha-1, sha-256

バグレポートはこちらへ: t-tujikawa@users.sourceforge.net
Visit http://aria2.sourceforge.net/

aria2 のコマンド名は aria2c になっている。

aria2c の実行結果を以下に示す(長い行は適宜バックスラッシュのところで折り返し、長い URI やファイル名は省略してある)。ダウンロードしたのは Sage という数学ソフトウェア。先にブラウザから落としてあった metalink ファイルを指定している。

[imac] mnbi% aria2c -d ~/Downloads ~/Downloads/sage[...snip...].metalink

2010-08-21 10:35:48.516462 WARN - HTTPS サーバーの証明証検証エラー\
が発生するかもしれません. 詳しくは --ca-certificate と \
--check-certificate オプションを参照してください.

2010-08-21 10:35:49.366867 NOTICE - ダウンロード完了: [...snip...].torrent

2010-08-21 10:35:49.367686 ERROR - Exception caught while loading \
DHT routing table from /Users/mnbi/.aria2/dht.dat
Exception: [DHTSetup.cc:106] Could not open file

2010-08-21 10:35:49.367812 NOTICE - DHT: listening to port 6897
[#2 SIZE:0B/407.5MiB(0%) CN:0 SEED:0 SPD:0Bs] [FileAlloc:#2 0B/407.5MiB(0%)]    
2010-08-21 10:35:52.717943 NOTICE - BitTorrent: listening to port 6949
[#2 SIZE:0B/407.5MiB(0%) CN:5 SEED:0 SPD:0Bs]                                   
2010-08-21 10:35:54.848347 ERROR - CUID#20 - Download aborted. \
URI=http://mirrors.[...snip...].dmg
Exception: [AbstractCommand.cc:265] \
URI=http://mirrors.[...snip...].dmg
  -> [HttpSkipResponseCommand.cc:180] リソースが見つかりませんでした

2010-08-21 10:35:55.072457 ERROR - CUID#23 - Download aborted. \
URI=http://mirror.[...snip...].dmg
Exception: [AbstractCommand.cc:265] \
URI=http://mirror.[...snip...].dmg
  -> [HttpSkipResponseCommand.cc:180] リソースが見つかりませんでした
 *** Download Progress Summary as of Sat Aug 21 10:36:48 2010 ***               
================================================================================
[#2 SIZE:280.2MiB/407.5MiB(68%) CN:5 SEED:0 SPD:5.4MiBs ETA:23s]
FILE: /Users/mnbi/Downloads/sage-4.5.2-OSX-64bit-10.6-i386-Darwin.dmg
--------------------------------------------------------------------------------

[...snip...]
 *** Download Progress Summary as of Sat Aug 21 10:38:49 2010 ***               
================================================================================
[#2 SIZE:395.2MiB/407.5MiB(96%) CN:1 SEED:0 SPD:213.7KiBs ETA:59s]
FILE: /Users/mnbi/Downloads/sage-4.5.2-OSX-64bit-10.6-i386-Darwin.dmg
--------------------------------------------------------------------------------

 *** Download Progress Summary as of Sat Aug 21 10:39:50 2010 ***               
================================================================================
[#2 SEEDING(ratio:0.0) CN:0 SEED:0]
FILE: /Users/mnbi/Downloads/sage-4.5.2-OSX-64bit-10.6-i386-Darwin.dmg
--------------------------------------------------------------------------------

[...snip...]
[#2 SEEDING(ratio:0.0) CN:0 SEED:0]                                             
2010-08-21 10:45:20.927224 NOTICE - シャットダウン中です... \
緊急時に即座にシャットダウンしたい場合は Ctrl-C をもう一度押してください.
[#2 SEEDING(ratio:0.0) CN:0 SEED:0]                                             
ダウンロード結果:
gid|stat|avg speed  |path/URI
===+====+===========+===========================================================
  1|  OK|  36.3KiB/s|[MEMORY]sage-4.5.2-OSX-64bit-10.6-i386-Darwin.dmg.torrent
  2|  OK|   1.9MiB/s|/Users/mnbi/Downloads/sage-4.5.2-OSX-64bit-10.6-i386-Darwin.dmg

凡例:
 (OK):download completed.

ダウンロードが終わっても aria2 の実行が終了しなかったのは、BitTorrent で共有状態が始まっていたからか? ↑のログで SEEDING となっているところ。しばらく放置していたが何も起きなかったので、Ctrl + C を叩いたところ、「シャットダウン中です...」となり、ダウンロード結果が表示されて終了した。

関連リンク

  • aria2 project (SourceForge.net)
  • Sage (オープンソースな数学ソフトウェア)

関連記事

twitter より (2010-08-22)

  • 11:58  RT @deltam: @higepon 新言語を覚えるのにHello World以外の「お約束的」な課題ってありますか? 私はエラトステネスの篩、GUIがあればライフゲーム、WebアプリできるならTropyは必ずやってますが。自分の成長に見合った適切な課題を見つけるのっ ...
  • 14:54  4 つ目。
  • 16:01  Safariで複数のタブを開きながら、あちこちのサイトを見て回っているとする。いま、あるページを見終わったのでタブを閉じたとしよう。すると、どのタブがアクティブになるだろうか?
  • 16:03  答え: 閉じるタブの右側にタブがあるときは、すぐ右のタブ。閉じるタブが最右のときはすぐ左のタブ。簡単に試したところ、こうなった。少なくとも一貫性はあるとわかって少し安心した。
  • 16:07  残るタブのうち、一番後に開いたものがアクティブになるってことだね。でも、欲しいのはこういう動きじゃない。最後に開いたものじゃなくて、最後に見ていたタブ(つまり閉じるタブの前に見ていたもの)をアクティブにして欲しいんだよ。そんなに難しいことじゃないと思うんだけど。
  • 16:09  いっそのこと、アクティブなタブが常に一番右側(左側でも良いゾ)に来るっていうのはどうだろう。Alt + Tab のアプリ切り替えみたいな動きだ。タブの並びが開いた順序じゃなく、見ていた順序になる。そういう拡張機能はないものか。
  • 16:14  ちなみに、タブの開き方(Alt + クリックでリンクを新規タブで開いたときの開く場所)や閉じた後にどれがアクティブになるかは、ブラウザで違っていたりする。少なくとも Firefox は Safari や Chrome とはかなり違う。
Powered by twtr2src.

2010-08-22

twitter より (2010-08-21)

  • 08:04  数式には入力をどうする、っていう問題がずっとつきまとっているけど、少なくとも表示に関しては改善されつつある。 → http://sourceforge.jp/magazine/10/08/20/0444201
  • 08:06  今では当たり前になりすぎて、たいていの人の意識にものぼらないけど、漢字の入力そして表示も、それができなかった当時は難しい問題だったはず。とくに入力は。「かな漢字変換」はタイプライター的発想では思いつかないものだよねえ。
  • 08:09  漢字の入力・表示問題が解決できて、数式とか楽譜に関してはいまだに解決できていない(決定的な解決策がない)のはなぜなんだろう?
  • 08:16  情熱の不足かな。ビジネス的に採算が取れないからかな。前者ならさびしい。後者なら…みんな、そんなに数式が嫌いかい? まあ、日常生活の中で数式に触れることは、まずないっていうのも事実だけど。
  • 08:50  時代に逆行している? ただのノスタルジー? いやいや、これこそ、マイコンやパソコンに憧れた少年少女の原体験だ。この感覚、なくしたくないなあ → http://bit.ly/aFchOr
  • 10:06  「歴史から学ぼう」(11枚目)が良い。 RT @yukihiro_matz: 言語の設計判断: http://bit.ly/9rfDvb
  • 23:40  iPhone 3G/3GS と 4 を区別できるようだ。→ http://blog.fonland.net/2010/07/iphone-4-css.html
Powered by twtr2src.