[雑記]GLONASSとは/ディジタル作法/アンティキテラ 古代ギリシアのコンピュータ など

Updated:

最近,気になったことなどのメモです。


GLONASS とは - ケータイ Watch

旧ソ連時代から運用されているロシア版GPSのGLONASSの紹介。「なぜ『ケータイ用語の基礎知識』にこんな記事があるの?」と思いましたが,最近は,GPSに加え,GLONASSでも測位するスマホがあるのですね。iPhoneやXperiaもサポートしているとのこと。

この記事http://bit.ly/14UF021 には,(GLONASSは)「現在はロシアの宇宙軍が運用しています」って書いてあります。「ええっ,宇宙軍!?」と思い,記事で紹介されているサイトhttp://www.glonass-ianc.rsa.ru/en/を見てみると,組識の英語名がFederal Space Agencyとなっています。Agencyだから「局」が妥当な訳語だと思います。WikiPediaにもRussian Federal Space Agencyというエントリがあり,日本語版では「ロシア連邦宇宙局」となっています。


ディジタル作法 -カーニハン先生の「情報」教室

ちょっと前に話題になっていた,あのカーニハンさんの新作"D is for Digital - What a well-informed person should know about computers and communications"の邦訳「ディジタル作法 -カーニハン先生の「情報」教室」を注文しました。出ると知った時に,「絶対読む」と思ったのに,注文するのを忘れていたのでした。


アンティキテラ 古代ギリシアのコンピュータ (文春文庫): ジョー マーチャント

「デジタル作法」を買う際にお薦めされた本です。内容紹介にいわく:

1901年、ギリシアの海底から奇妙な機械の破片が引き上げられた。小さな箱に多くの歯車を組み込む洗練された設計と技術。はじめは紀元前1世紀のものとは誰も信じなかった。いったいこれはなんのために創られたのか?百年にわたった謎解きを研究者たちのドラマとともに描く、興奮の科学ノンフィクション。

何か,ちょっとトンデモっぽいと感じもします。でも,あのアーサー・C・クラークが推薦しているのでまともな本なはず。ということで,これも注文してみました。


気になった本

コンピュータや科学技術以外で,ネットサーフィンで書評を読んで,読みたいと思った本です。

PerlCasual #05に行ってきました

Updated:

3/29(金)に開催されたPerlCasual #05に参加しました。

会場は,渋谷ヒカリエにあるNHN Japanさんのカフェスペース。実はヒカリエに行くのは始めてでした。新しいビルっていいですね。とてもオシャレで,その上リア充的な感じです。

会場に着くのが遅れてしまい,後半から参加しました。

@sugyanさんのライブコーディングは,持ち時間30分間で,「Amon2を利用した掲示板的なウェブアプリをHerokuにデプロイして動かす」という,かなり欲ばりな内容でした。モジュールのインストールに意外に時間がかかり,ちょっとハラハラドキドキしました。ライブコーディングは,ほかの人が使っている環境(@sugyanさんはEmacs使いでした),コマンド,ツールなどを知ることができるので,見ていて楽しいし,とても勉強になります。

LTは,冒頭の3人が連続して「Perl使ってません」という話だったりして,意外性もあり,カジュアルな感じで面白かったです。@yusukebeさんの人選の妙技です。

@kenjiskywalkerさんの「OSS Community初心者がPerl Communityから学んだ1年」は,良い話でした。自分も,勉強会やイベントなどのコミュニュティに積極的に参加していこうと思いました。

@bayashiさんの「The one-liner for a stats in Perl」は,アクセスログを集計するワンライナーをもとに,集計コマンドを作ったよという話でした。このようなちょっとした作業を行なうプログラムをさくっと書けるのも,Perlの便利なところなんですよね。

懇親会では,@koba04さん,@kenjiskywalkerさんを始め,いろいろな方といろいろなお話をさせていただきました。とても楽しい時間を過ごせました。

主催者の@yusukebeさん,運営をしてくださった方々,発表者のみなさん,参加者のみなさん,ありがとうございました。

(トークの内容については,PerlCasual #05のスライド・感想ブログまとめ by @__papix__さんをご覧ください。)

マウスの寿命の話

Updated:

デスクトップPCで使っているワイヤレスマウスの右クリックが効かなくなりました。ドライバの問題かと思い,いろいろと調べてみましたが,ソフトウェア側には異状がありませんでした。試しに,別のマウスをつなぐと,右クリックが効くので,右ボタンが物理的に壊れてしまったようです。

調べてみると,このマウス(Microsoft Wireless Optical Mouse 5000)は2006年8月に買ったものでした。その後,2009年12月にボタンが引っかかるようになりましたが,保証期間が5年(!)だったので,無償で交換してもらいました。

結局,買ってから3年3か月間で新品に交換してもらい,さらに3年間強使ったので,合わせて6年半使ったことになります。かなり長生きといえます。

故障したマウス

買った時には,自作のマシンでWindows XPを使っていました。(ちなみに,Windows Vistaは,2007年1月30日発売です。) その後,デスクトップをDellのマシン(Windows Vista)にリプレースしましたが,マウスは今まで使ってきました。ご存知のように,Windows自体は,Vistaの後にWindows 7とWindows 8が登場しています。

こうして考えてみると,OSやその他のソフトウェアと比較して,メカニカルな部品から構成されるマウスの寿命が意外に長いことに驚かされます。

もう保証期間(5年)は過ぎたので,これで引退ということで,ちょっぴり感傷的な気分です。長い間ありがとう。

Dropboxの容量が48GB増えた話

Updated:

突然"Dropbox bonus space received!"というタイトルのメールが届きました。

文言は次のようなものです。

Congrats on becoming a Dropbox Guru! We've awarded you
48 GB of bonus space for the next 24 months! You now
have 72 GB on Dropbox.

つまり,「おめでとうございます!あなたはDropbox Guruになりました。今後24か月にわたり48GBのボーナス容量を贈呈します。あなたの総容量は72GBです」という内容です。

何かとってもうさんくさい感じですね。From:フィールドは Dropbox <no-reply@dropbox.com>となっていて,もっともらしいですが,何となく怪しい。

しかも,最初の「Congrats on becoming a Dropbox Guru!」のDropbox Guruがリンクになっていて,罠っぽさ全開です。

SPAMくさいなあ,と思って検索してみたところ,SamsungのスマホにプリインストールされているDropboxで,最初にログインしたアカウントに対して,容量を2年間48GB増量してくれる,というキャンペーンをやっていることがわかりました。

Dropboxの公式サイトのIs my Samsung phone or tablet eligible for the free space promotion?というページに説明されていました。

そういえば,その前日に,Galaxy S IIIのDropboxを初めて使ってログインしたのでした。

というわけで,ウェブサイトhttp://dropbox.comにログインして確認すると,確かに容量が72GBになっていました。(増量前は容量が24GBでした。)

次に,PCのDropboxクライアントで,容量を確認すると24GBのままです。何か謎です。

たぶん,ファイルを転送するタイミングで,Dropboxクライアントの容量の情報も更新されるのだろうと思い,Dropboxのフォルダにファイルを作ったら,PCのクライアントでも72GBと表示してくれました。

というわけで,今後はDropbox Guruと呼んで下さい2年間にわたって,Dropboxの容量が48GB増えることになりました。

Galaxy S IIIのユーザで,プリインストールされたDropboxクライアントをまだ使ったことがない人は,使ってみましょう。

<追記> Dropboxの説明ページにあるように,ドコモはこのキャンペーンの対象になっていないようです。

RVMを使ってRuby on RailsをUbuntu 12.04LTSにインストールする

Updated:

Ubuntu 12.04LTSが動いているマシンに、Ruby on Railsをインストールしました。Ubuntuでは、Ruby言語も、Ruby on Railsも、パッケージを使って簡単にインストールできます。しかし、パッケージからインストールした場合、利用できるバージョンが制約されることが多いので、今回は自前でインストールすることにしました。

RVM(Ruby enVironment Manager)を使ってRubyをインストールして、その上にRailsを入れることにしました。RVMを使ってRubyをインストールすれば、複数のバージョンを共存させることができます。

まずは、(RVMとは干渉しないようですが)念のために、Ubuntuのパッケージでインストールしたruby1.9.1をアンインストールしておきます。

インストールしたバージョンは、Rubyが1.9.3系列の最新版、Railsが3.2系の最新版です。

ステップ 1. RVMをインストールする

次のコマンドを実行すると、RVMのソースを取得してインストールしてくれます。(curlが必要です。入っていなければ、curlパッケージをインストールしてください。)

$ curl -L https://get.rvm.io | bash -s stable

RVMは、ディレクトリ~/.rvmの下にインストールされます。また、RVMを使って、インストールしたRubyやgemも、~/.rvmの下に置かれます。

実行結果:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
$ curl -L https://get.rvm.io | bash -s stable
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   185  100   185    0     0    123      0  0:00:01  0:00:01 --:--:--   178
100 10956  100 10956    0     0   4125      0  0:00:02  0:00:02 --:--:-- 12686
Downloading RVM from wayneeseguin branch stable
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   131  100   131    0     0    151      0 --:--:-- --:--:-- --:--:--   208
100 1244k  100 1244k    0     0   193k      0  0:00:06  0:00:06 --:--:--  273k
 
Installing RVM to /home/cond/.rvm/
    Adding rvm PATH line to /home/cond/.bashrc /home/cond/.zshrc.
    Adding rvm loading line to /home/cond/.bash_profile /home/cond/.zprofile.
 
# RVM:  Shell scripts enabling management of multiple ruby environments.
# RTFM: https://rvm.io/
# HELP: http://webchat.freenode.net/?channels=rvm (#rvm on irc.freenode.net)
# Cheatsheet: http://cheat.errtheblog.com/s/rvm/
# Screencast: http://screencasts.org/episodes/how-to-use-rvm
 
# In case of any issues read output of 'rvm requirements' and/or 'rvm notes'
 
Installation of RVM in /home/cond/.rvm/ is almost complete:
 
  * To start using RVM you need to run `source /home/cond/.rvm/scripts/rvm`
    in all your open shell windows, in rare cases you need to reopen all shell windows.
 
# Yoshiyuki Kondo,
#
#   Thank you for using RVM!
#   I sincerely hope that RVM helps to make your life easier and
#   more enjoyable!!!
#
# ~Wayne
 
$

インストールが完了したら、rvmを有効にするために、次のコマンドを実行します。(実行結果の26〜27行目にTo start using RVM you need to run `source /home/cond/.rvm/scripts/rvm`と表示されています。)

$ source ~/.rvm/scripts/rvm

次のsource文を~/.bashrcに追加しておけば、いちいち手でsource文を実行しなくても、ログインすればすぐにrubyを使えるようになります。

source $HOME/.rvm/scripts/rvm

ステップ 2. Rubyのビルドに必要なパッケージをインストールする

次に、Rubyをビルドするために必要なパッケージをインストールしておきます。

rvm requirementsコマンドを実行すると、どのパッケージをインストールすべきかを表示してくれます。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
$ rvm requirements
 
Requirements for Linux "Ubuntu 12.04.1 LTS"
 
NOTE: 'ruby' represents Matz's Ruby Interpreter (MRI) (1.8.X, 1.9.X)
             This is the *original* / standard Ruby Language Interpreter
      'ree'  represents Ruby Enterprise Edition
      'rbx'  represents Rubinius
 
bash >= 4.1 required
curl is required
git is required (>= 1.7 for ruby-head)
patch is required (for 1.8 rubies and some ruby-head's).
 
To install rbx and/or Ruby 1.9 head (MRI) (eg. 1.9.2-head),
then you must install and use rvm 1.8.7 first.
 
Additional Dependencies:
# For Ruby / Ruby HEAD (MRI, Rubinius, & REE), install the following:
  ruby: /usr/bin/apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion pkg-config
 
# For JRuby, install the following:
  jruby: /usr/bin/apt-get install curl g++ openjdk-6-jre-headless
  jruby-head: /usr/bin/apt-get install ant openjdk-6-jdk
 
# For IronRuby, install the following:
  ironruby: /usr/bin/apt-get install curl mono-2.0-devel
 
# For Opal, install the following:
  opal: /usr/bin/apt-get install nodejs npm

普通のRubyをインストールする場合には、19から20行目に表示されているパッケージが必要になります。

次のように、apt-get installコマンドでパッケージをインストールしておきます。

$ sudo apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion pkg-config

ステップ3. Rubyをインストールする

rvmコマンドを使って、Ruby 1.9.3をインストールします(かなり時間がかかります)。

$ rvm install 1.9.3

rvmコマンドが完了したら、イントールされたRubyのバージョンを確認しましょう。

$ ruby -v
ruby 1.9.3p362 (2012-12-25 revision 38607) [i686-linux]

whichコマンドを使えば、rubyが~/.rvmの下にインストールされていることがわかります。

$ which ruby
/home/cond/.rvm/rubies/ruby-1.9.3-p362/bin/ruby

rvmを使って複数バージョンのRubyをインストールしている場合には、rvm listにより、インストールされているRuby処理系の一覧が表示されます。

$ rvm list
 
rvm rubies
 
=* ruby-1.9.3-p362 [ i686 ]
 
# => - current
# =* - current && default
#  * - default
 

この例では、1つのバージョン(1.9.3-p362)だけがインストールされていることがわかります。

複数バージョンがインストールされている場合には、rvm useコマンドを使って、使用するRubyを切り替えることができます。

$ rvm use 1.8.7

また、--defaultオプションを指定すれば、そのバージョンがデフォルトになります。

$ rvm use 1.9.3 --default
Using /home/cond/.rvm/gems/ruby-1.9.3-p362

ステップ4 RubyGemsをインストールする

rvmコマンドを使って、RubyGemをインストールします。

$ rvm rubygems current

インストールされたgemのバージョンを確認します。

$ gem -v
1.8.24

ステップ4 Railsをインストールする

gemコマンドを使ってRailsをインストールします(結構時間がかかります。)

$ gem install rails

gemコマンドが終わったら、railがインストールされていることを確認しましょう。

$ rails -v
Rails 3.2.11

これで、Ruby on Railの環境が構築できました。