2013年4月29日月曜日

カルト化した「ケータイ」産業

 先週のことなのだが、講義が1コマ空いていたので教科書を買いに行こうとしたところ、大学の敷地内に出店してるソフトバンク代理店の若者(以降「店員」と表記)に「iPhone に変えないか」と声をかけられた。

 しつこいので話を聞いてみたのだが、どうも店員の言うことが面白おかしく、ちょうどスマートフォンの購入を検討していたところだったので、色々質問してみることにした。

 面倒くさいし阿呆くさいので、やりとりの全てを逐一細かく書くのは割愛するが、店員の話を総合すると、以下のようになる。

  • 「解約金を支払ってあげるのはウチだけ」
  • 「Android は電池パックが外せるから壊れやすい」
  • 「iPhone は電池パックが奥深くにあるから落としても壊れない」
  • 「iPhone5 はデジタルな電波を発するため、アナログ電波を発する 4S よりも通信速度が早い」
  • 「Android の一般的な容量(ストレージのことを言いたかったらしい)は 500MB」
  • 「ストレージって何?」
  • 「bps って何?」
  • 「Android の通信速度は『2ギガ』」
  • 「Windows7 には iTunes が標準搭載されており、 iPhone アプリが開発できる」
  • 「iTunes から自作アプリがインストールできる」

 強いて言うなら、Android には Xperia arc ( SO-03C 等) という機種があったらしく、この機種はストレージ自体の容量が本当に 500MB 程度だったらしい。だがしかし、これは一般的なストレージ容量ではないし、店員は「ストレージ」という言葉も知らなかった。

 とりわけご苦労なことに、私が「その壊れやすい電池パックは、iPhone の場合どこにあるのか」と訊ねると、首を捻りながら苦し紛れに「中の方のちょっと左下の側、奥深くにあるんですよ」と、デタラメな話まで聞かせてくれた。

 彼は「知らない」と自分の無知を認めることは無く、私が矛盾点に対して質問を重ねる度に、彼は嘘を塗り重ねていき、次第に苦しそうに喋るようになった。

 こんな知ったかぶりを言う人は初めて見たので、正直驚いている。一体全体、どうして店員の口からこんな発言が飛びでたのか。

 よく言われる話だが、日本人の携帯電話普及率は総務省のサイトにも書いてあるとおり、既に加入率 100% を超えている。つまり、日本人 1 人あたり 1 台以上の携帯電話を持っている計算になり、キャリアは既存の顧客を奪い合う形となっているわけだ。いわゆる「 2 年縛り」のシステムを見ても分かるように、中途解約に違約金を課すことで顧客を引き止めようとするが、それに対抗して別のキャリアが「乗り換えなら違約金を支払う」と言い、顧客の激しい奪い合いが展開されている。

 私は店員に「LTE はめっちゃ早いっすよ…(>_<)」って言われたので、「通信速度はどれぐらいか」と訊いたところ「3G だとサイトを開くのに 3 秒ぐらい待つんですけど、LTE はホント一瞬っすね」と答えをいただいた。通信速度の単位も知らず、個体差の激しい例を出して抽象的な表現で答えられても、何の説得力も感じない。

 彼らは顧客の獲得(奪取)に必死になるあまり、このように「とにかく契約さえ出来れば、その場しのぎでも何でも良い」という代理店まで登場した。契約にこぎつけるまでに必要な「マニュアル的知識」だけを一生懸命丸暗記している店員にとって、客に嘘・デタラメを言うことは罪悪ではなく、契約が全てなのかもしれない。「知らない」と無知を告白して顧客を逃がすことを恐れていたのだろう。

 このように苦し紛れに嘘を塗り重ねつつも強引に契約しようとする代理店の姿を見て、カルトの勧誘に似たものを感じざるを得なかった。このようなケータイ産業の構図について遺憾の意を表明したいという思いもあったが、ケータイ産業に「従事」する側である店員にそのようなことを言っても何かが変わるわけでもない。その上、次の講義の時間も迫っていたので、私はやむなく退散することにした。

 当然、私がこの代理店と iPhone の契約をすることは無かった。

 なんとも虚しい話だが、このような激しい顧客の奪い合いにおいて、「高度な情報機器」である携帯電話は、押し売り販売じみた商売の「道具」にされている印象すらある。ケータイ産業にとって顧客が「大量消費時代の商売のコマ」でなく「高品質な通信機器を提供する相手」になることを切に願いたい。

 余談だが、このような常軌を逸した虚偽を吹聴する代理店に場所を提供する大学側もいかがなものだろうか。



2013年4月13日土曜日

userstreamジェムをインストールした

 Ruby の userstream ジェムをインストールしようとしたら詰まって、ちょっと面倒くさかった。
qb@qb:~$ sudo gem install userstream
[sudo] password for qb: 
Fetching: oauth-0.4.7.gem (100%)
Fetching: yajl-ruby-1.1.0.gem (100%)
Building native extensions.  This could take a while...
ERROR:  Error installing userstream:
 ERROR: Failed to build gem native extension.

        /usr/bin/ruby1.9.1 extconf.rb
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- mkmf (LoadError)
 from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
 from extconf.rb:1:in `<main>'


Gem files will remain installed in /var/lib/gems/1.9.1/gems/yajl-ruby-1.1.0 for inspection.
Results logged to /var/lib/gems/1.9.1/gems/yajl-ruby-1.1.0/ext/yajl/gem_make.out
どうやら、 mkmf というライブラリが無いのが原因らしい。 mkmf を使うには ruby-dev というものが必要らしいので、 ruby-dev をインストールすることにした。
qb@qb:~$ sudo aptitude install ruby1.9.1-dev
sudo: aptitude: コマンドが見つかりません
すると今度は、ruby-dev をインストールするために使おうとした aptitude コマンドが無いことが発覚。
qb@qb:~$ sudo apt-get install aptitude
aptitude コマンドを使えるようにした。気を取り直して ruby-dev をインストールする。
qb@qb:~$ sudo aptitude install ruby1.9.1-dev
無事に ruby-dev のインストールが終わったので、 userstream ジェムのインストールを再開する。
qb@qb:~$ sudo gem install userstream
Building native extensions.  This could take a while...
Fetching: hashie-1.2.0.gem (100%)
Fetching: userstream-1.3.0.gem (100%)
Successfully installed yajl-ruby-1.1.0
Successfully installed hashie-1.2.0
Successfully installed userstream-1.3.0
3 gems installed
Installing ri documentation for yajl-ruby-1.1.0...
Installing ri documentation for hashie-1.2.0...
Installing ri documentation for userstream-1.3.0...
Installing RDoc documentation for yajl-ruby-1.1.0...
Installing RDoc documentation for hashie-1.2.0...
Installing RDoc documentation for userstream-1.3.0...
こうして、無事に userstream ジェムのインストールが完了した。
 mkmf については Ruby のリファレンスマニュアルに書いてある。エラーにも出てたように、拡張ライブラリを使うために実行される extconf.rb が require "mkmf" してるらしい。

 別件だが、そろそろ Ruby 2.0.0 にアップデートしたいものだ。

2013年4月11日木曜日

UbuntuでTeX環境を整えた

参考:Linux/Ubuntu - TeX Wiki

どうやら、最近は簡単に TeX 環境が整えられるようだ。
$ sudo apt-get install texlive-lang-cjk texlive-fonts-recommended xdvik-ja
パッケージのインストール自体はこれで終わり。
\documentclass{jsarticle}
\begin{document}
  HelloWorld!!
\end{document}
あとは、上の HelloWorld 文書を記述して、helloworld.tex と名付けて保存した。
$ platex helloworld.tex
$ dvipdfmx helloworld.dvi
$ evince helloworld.pdf
1行目が dvi ファイルの生成、2行目が pdf ファイルの生成、3行目が pdf ファイルの閲覧をするためのコマンドである。

2013年4月7日日曜日

Ubuntuで開発環境を整えている

 連日いろいろと必要不可欠なツール等をインストールして、環境を整えている。

VIM

sudo apt-get install vim

Heroku

公式サイトの指示にしたがってコマンドを打つだけ。ログインは後日やりたい。
wget -q0- https://toolbelt.heroku.com/install-ubuntu.sh | sh

Dropbox

公式サイト の指示にしたがってパッケージ取得のコマンドを打つ。私の Ubuntu は 32bit なので、以下のように打った。
$ cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86" | tar xzf -
$ ~/.dropbox-dist/dropboxd

Chrome

ソフトウェアセンターからインストール。

Skype

公式サイトからパッケージをダウンロードして、ダウンロードしたディレクトリに移動。
パッケージ(~~.deb)をダブルクリックすると、ソフトウェアセンターが開いてインストールが始まる。
インストールが終わったらコンピュータを再起動すれば、Skype は使える。

日本語入力 (Mozc)

まずはインストールするためにコマンドを打つ。
sudo apt-get install ibus-mozc
再起動して iBus の設定を開く。[インプットメソッド]タブの[インプットメソッドを選択]をクリックして、[日本語] > [mozc] を選択して [追加]。
これで Mozc が追加されたはずなので、あとは自由に切り替えられる。
邪魔なので私は Anthy を削除した。

2013年4月6日土曜日

Ubuntuでプリンタをセットアップした


 プリンタは Brother の DCPJ515N を持っているので、さっそく Ubuntu でセットアップした。

Dash ホームから [アプリケーション] > [プリンタ] でセットアップする方法を試みたのだが、メーカーのドライバを使わない方法では上手くいかなかったので、 Brother が用意してくれた「簡易インストール」を使うことにした。リンク先の説明を読めば猿でもセットアップできる。

 参考までに、私がコマンドラインで作業した形跡を以下に貼り付けておく。
qb@qb:~$ pwd
/home/qb
qb@qb:~$ sudo su
[sudo] password for qb:
root@qb:/home/qb# cd ダウンロード
root@qb:/home/qb/ダウンロード# ls
linux-brjprinter-installer-1.0.4-1.gz
root@qb:/home/qb/ダウンロード# gunzip linux-brjprinter-installer-1.0.4-1.gz
root@qb:/home/qb/ダウンロード# bash linux-brjprinter-installer-1.0.4-1 DCPJ515N

wget http://solutions.brother.co.jp/support/os/linux/lpr_printer/driver.html
wget http://solutions.brother.co.jp/support/os/linux/cups_printer/driver_cupswrapper.html
以下のパッケージが見付かりました。
   dcpj515nlpr-1.1.3-1.i386.deb
   dcpj515ncupswrapper-1.1.3-1.i386.deb
インストールしますか? [y/N] ->y
■■ 中略 ■■
上記使用許諾に同意しますか? [Y/n] ->y
■■ 中略 ■■
上記使用許諾に同意しますか? [Y/n] ->y
■■ 中略 ■■
Device URIを指定しますか? [y/N] ->n

テスト印刷を実行しますか? [y/N] ->y

wait 5s.
lpr -P DCPJ515N /usr/share/cups/data/testprint
root@qb:/home/qb/ダウンロード#
とまあ、こんな感じでセットアップした。私は有線でプリンタにつないでいるので Device URI は指定しなかった。

2013年4月5日金曜日

ブログ開設の経緯

 初回の記事で、新生活をスタートするにあたって Ubuntu に引っ越した、みたいなことを書いた気がする (最近は痴呆が激しいのであまり覚えていないが)。

 気づけば、ウェブ開発(笑)に手を出して、もうすぐ3年になる。当初は、ただ単純に「発信さえ出来れば良い」と思い、HTMLだけを使ってチマチマサイトを作っていたが、やがて満足できなくなり、気づいたときにはウェブ開発に没頭するあまり、「発信」という活動が疎かになりつつあった。

 もちろんウェブ開発は楽しいし、とても有意義なのだが、元来の私の「情報発信」という目的を考えると、いささか本末転倒のような気がしなくもなかった。そこで、今回の引越しを機にして、今まで作り続けてきたウェブサイトでの情報発信も続けつつ、今後はウェブ開発をしている過程で発見したことや気づいたことなども「ウェブ開発の話題」という情報として発信していきたいと思い、このブログを開設することにした。

 怠惰な管理人の思いつきなので、せいぜい3日坊主にならないことを祈るぐらいである。

Bloggerでコードを表示できるようにした

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace Hello {
    class Program {
        static void Main(string[] args) {
            // 典型的な HelloWorld 厨
            System.Console.WriteLine("HelloWorld!!");
        }
    }
}
↑こんな感じで、 Google Code Prettify というものを使って、Bloggerのブログ記事でコードをきれいに表示できるようにした。

 何かコードを書いたときはGitHubのgistをそのまま貼り付ける予定なので、あまり使わないかもしれない。ちょっとしたshellコマンドを見せたいときとかに使えれば良いと思う。

やり方

  1. <script src="https://google-code-prettify.googlecode.com/svn/loader/run_prettify.js"></script>
    をヘッダに埋め込む。
  2. <pre class="prettyprint">
      alert("Hello!"); // preタグの中に、表示させたいソースコードをそのまま書く
    </pre>
    
    みたいな感じのタグでコードを挟む。
手順はこれだけ。言語の指定をしなくても勝手に推測して色分けしてくれるという優れもの。どこのサイトやブログにコードを埋め込むにしても、とりあえずこれで使えるはず。細かいことは Google Code Prettify のページにアクセスして確認してみると良いかも。

Ubuntuに引っ越した

何をどう間違ったのか、こんな私でも大学生になることができた。

 まぁとにかく無計画で怠惰な人間なので新年度の抱負等は特には無いものの、とりあえず新生活を始めるにあたって、 Ubuntu に引っ越すことにした。

 今までは Windows 7 に VirtualBox をインストールして、仮想の Ubuntu をときどき使う程度で、あくまでも作業のほとんどは Windows 7 でやっていた。しかしながら、最近本格的に Windows 7 に愛想が尽きてきたので、引越しを決断した次第である。

※注意※ ここから先は、私がパソコンをごちゃごちゃいじってデュアルブートでUbuntuをインストールした体験をテキトーに書き残したものです。以下のことを鵜呑みにして実践した結果、大事なデータを失ったり、パソコンが再起不能になったり、HDDから火が吹いたり、鼻からカルボナーラを食べさせられたりしても、管理人は一切の責任を負いかねます。

方針

  • ゴチャゴチャやる前に必ずバックアップを取る
  • デュアルブート
  • USB メモリからインストールする (手元にCD-ROMが無かったので)
  • Ubuntu 12.10 (ブログ執筆時の最新版)

手順

  1.  Windows でバックアップを取る。
  2.  Ubuntuのサイト から日本語版のRemixイメージ(~~.iso)を拾ってくる。
  3.  UNetbootin の Windows 向けを拾ってくる。
  4.  落としてきた UNetbootin の exe ファイルを Windows 7 で起動する。
  5.  ディストリビューション(今回の場合は Ubuntu 12.10)を指定して、ディスクイメージ(手順1で拾ってきた "~~.iso" っていうファイル)を指定して、書き込むドライブ(今回の場合は USB メモリ)を指定する。
  6.  書き込みが終わったら USB メモリを差しっ放しで再起動する。このとき、Windowsが起動する前にBIOSの設定に入る。
  7.  BIOS設定で、起動の優先順位を USBメモリ>HDDにする。(BIOS設定への入り方はマシンによって色々違うと思うのでggrks)
  8.  USB メモリから起動すると、Ubuntuが起動するはずなので、後は適宜指示にしたがう。
 とまぁ、ざっとこんな感じだった。パーティションの配分とかよく分からないけど、とりあえずUbuntu側に70GBぐらい配分してみた。そのうち後悔するかもしれないけど、今は気にしてない。

 新年度早々、こんな感じでテキトーに新居(Ubuntu環境)を作ってみた。冒頭に貼り付けた画像が、現在の私のデスクトップである。
 少しずつ、データの引越しとかもしていきつつ、カルボナーラは口から食べたいと思う。