2013/05/26

UbuntuにOracle JDKをインストール

Oracle のJDKをインストールする手順について説明します。

リポジトリを追加します。

$ sudo add-apt-repository ppa:webupd8team/java
[sudo] password for shin:
以下のPPAをシステムに追加しようとしています:
 Oracle Java (JDK) Installer (automatically downloads and installs Oracle JDK6 / JDK7 / JDK8). There are no actual Java files in this PPA. More info: http://www.webupd8.org/2012/01/install-oracle-java-jdk-7-in-ubuntu-via.html
 詳しい情報: https://launchpad.net/~webupd8team/+archive/java
[ENTER] を押すと続行します。ctrl-c で追加をキャンセルできます
gpg: 鍵輪「/tmp/tmp50epnt/secring.gpg」ができました
gpg: 鍵輪「/tmp/tmp50epnt/pubring.gpg」ができました
gpg: 鍵EEA14886をhkpからサーバーkeyserver.ubuntu.comに要求
gpg: /tmp/tmp50epnt/trustdb.gpg: 信用データベースができました
gpg: 鍵EEA14886: 公開鍵“Launchpad VLC”を読み込みました
gpg: 処理数の合計: 1
gpg:               読込み: 1  (RSA: 1)
OK
$ sudo apt-get update
$ sudo apt-get install oracle-java6-installer
$ sudo apt-get install oracle-java7-installer
$ sudo update-alternatives --config java

2013/05/14

みなとみらい

今日はいい天気でしたので「みなとみらい」に行ってきました。

グランドセントラルテラスの1Fにあるモスカフェで昼食をとりランドマーク方面にぶらぶらっと。

美術館前を抜ける道は天気がいい日は気持ちいいです。(夏は噴水も涼しげですしまた格別ですね。)






もうかなり前から工事してた美術館前の土地にはすっかり建物ができあがってました。どうやら大型のショッピングモールみたいですね。6月にオープン予定みたいです。



横浜ワールドポーターズとか赤煉瓦方面へいかない人が増えそうな気がします。オープンしたら行ってみようと思います。

2013/05/12

Android向け無音カメラアプリ

HTC Jに無音カメラを入れようと思い探していたらいいの見つけました。

かなり前に無音カメラをいくつか試してみましたが、画質が落ちるのと動きがもっさりしていたのが気になって結局使わなくなりそのまま放置していました。Android 4 の標準カメラアプリがすばらしくよいものだった(特にリレーズタイムラグが速い)ので、無音に執着することもないかと。
携帯カメラの使い方は人によって違うと思いますが、私は日常生活の中で思い立ったときにつかうって感じなのでやっぱり音が気になる。イベントなんかいかにもみんな写真撮りますって雰囲気じゃないので。

思い立ち改めて探してみたところ見つけたのがCamera ICSです。特徴はなんといってもAndroid標準のカメラアプリに拡張機能を組み込む方式をとっているって点です。無音化する機能は、この拡張機能の1つとして内包されています。つまり、満足している標準カメラアプリの良さはそのまま残り、ほしかった無音化機能を取り入れられるということでさっそくインストールしました。

使ってみたところ画質やリレーズタイムラグなど劣化するといった印象はありません。機能は標準カメラアプリのものを継承しているのでまったく問題はないですが、コントロールの配置がいろいろ変っています。これは慣れの問題なのでそれほど気にしていませんが、1つ問題があります。広告が表示される位置です。操作部の端などではなく写真のエリアに表示されておりかなりウザイ感じです。これも慣れれば気にならなくなる(?)ことを期待してしばらく使ってみようと思います。
Camera ICS
Camera ICS - Google Play
なお、広告が気になるという方は有料版のCamera ICS+をどうぞ。

2013/05/05

Shuttle製ベアボーン比較 Part 1

2013/05/05時点で発売されているShuttle製ベアボーンの比較です。Shuttle製ベアボーンに関してはShuttle XS35GT V2をベースにすでに1台持っているのですが、結構気に入っているしコストも低いことから2台目を検討しようと思い立ちました。

現時点でShuttleのサイトで掲載されているプロダクトは以下の通りです。
スペックの概要を比較してみます。
製品名 CPU チップセット 対応メモリ サイズ 64bit対応 価格
XS35GSV3L Intel Atom D2550(2.13GHz) Intel NM10チップセット DDR3-1066 SO-DIMM ×2 38.5(幅) x 252(奥行) x 162(高さ) 21,580
XS35V3L Intel Atom D2550(1.86GHz) Intel NM10チップセット DDR3-1066 SO-DIMM ×2 38.5(幅) x 252(奥行) x 162(高さ) × 16,640
XS36VL Intel Atom D2550(1.86GHz) Intel NM10チップセット DDR3-1066 SO-DIMM ×2 36(幅) x 220(奥行) x 160(高さ) × 16,640
XS35GS V2 Intel Atom D525(1.8GHz) Intel NM10チップセット DDR3-1333 SO-DIMM×1 38.5(幅) x 252(奥行) x 162(高さ) 21,405
XS36V Intel Atom D2700(2.13GHz) Intel NM10チップセット DDR3-1066 SO-DIMM ×2 36(幅) x 220(奥行) x 160(高さ) × -
XS35GS V3 Intel Atom D2700(2.13GHz) Intel NM10チップセット DDR3-1066 SO-DIMM ×2 38.5(幅) x 252(奥行) x 162(高さ) 21,580
XS35 V3 Intel Atom D2700(2.13GHz) Intel NM10チップセット DDR3-1066 SO-DIMM ×2 38.5(幅) x 252(奥行) x 162(高さ) × -
XS35 V2 Intel Atom D525(1.8GHz) Intel NM10チップセット DDR3-1333 SO-DIMM×1 38.5(幅) x 252(奥行) x 162(高さ) 16,647
価格は2013/05/05時点のAmazon上の最安値です。

Blueprint

Blueprintとは

BlueprintとはCSS FrameworkにカテゴライズされるOSSです。メタ言語環境やアセット管理といったのものとは異なり、デザインにかかわる作業を支援するものです。

参考情報


2013/05/03

シェルで乱数を扱う

私はシェル上で乱数をあまり使うことはないのですが、そもそもUNIX機を中心に使っていた時代には簡単に扱えませんでした。シェル上で乱数を扱うには実は2つの方法があります。1つはLinuxでbashを前提とした環境依存の方法です。もう1つの方法はシェルに依存しない方法です。

シェル変数RANDOM

まずはbash上でのみ利用できる方法です。前段にてLinuxという条件を記載しましたが、シェルスクリプトを実装する際は、/bin/shで動くことを前提に通常は実装すると思いますのでLinuxを前提という条件を加えています。ご存知の方も多いと思いますが、Linxuでは/bin/shはbashのシンボリックリンクになっている点に基づいています。
bashでは、シェル変数としてRANDOMが容易されています。このRANDOM変数には0~32767までの整数がランダムに格納されます。実行例は以下の通りです。

 $ echo $RANDOM
 31129
 foo=$RANDOM
 ech $foo
 25999
シェル変数を利用するだけなので、非常に簡単に乱数を扱えるのがお分かり頂けたかと思います。

乱数疑似デバイスファイル

続いてはシェルに依存しない方法を紹介します。
疑似デバイスファイル(/dev/nullなどのことです。)の中に/dev/randomがあります。これを利用して乱数を生成します。この疑似デバイスファイルを使って乱数を生成するには、odコマンドを利用します。od(Octal Dump)コマンドはファイルや標準入力のデータを 8進数・10進数・16進数で表示するコマンドです。デフォルトは 8進数ダンプでダンプを行います。実行例は以下の通りです。

 $ od -An -N4 -tu$ 
odコマンドのオプションをいくつか指定しています。まず桁数についてですが、「-N」オプションが入力のバイト数、「-t」が出力のバイト数をそれぞれ指定しています。これらオプションに続く数値は合わせておく必要があります。なお、-N4以上を指定しても残念ながら桁数をふやすことはできないので注意して下さい。また「-t」オプションに続く「u」はunsigned decimalです。
「-A」オプションは表示するオフセットの基数を指定するオプションです。dが10進数、oが8進数、xが16進数、nがオフセット非表示を表します。乱数を取得したいのでオフセットを表示する必要はないため「n」を指定しています。

2013/05/02

コマンドラインでの移動制御

CUI環境でシェルが提供する移動制御機能を扱います。前提とするシェルは、Linux標準のbashです。
移動制御ですが、これはカーソルの移動制御のことです。bashでは初期状態でキー・バインディングが設定されていて、キー操作によるカーソルの移動制御を行うことができます。今では十字キーでカーソル動かしている方を多々見かけますが、キー操作で制御した方が早くて楽です。
主なキー操作は下表の通りです。

キー操作 移動制御動作
Ctrl+f カーソルを右に移動します。
Ctrl+b カーソルを左に移動します。
Ctrl+d カーソル位置の文字を削除します。
Ctrl+a カーソルを行の先頭に移動します。
Ctrl+b カーソルを行の末尾に移動します。
Ctrl+k カーソル位置から行の末尾までの文字を削除します。
Ctrl+u カーソル位置から行の先頭までの文字を削除します。
Ctrl+w カーソル行の直前のワードを削除します。
Ctrl+l カーソル行より上をクリアします。
Esc+f カーソルを直後のワードに移動します。
Esc+b カーソルを直前のワードに移動します。
Esc+d カーソル位置からワードの末尾までを削除します。

2013/05/01

Linuxの/bin/sh

概要

Linuxの/bin/shはBourneシェルかと思いきや、実はBashへのシンボリックリンクになっています。Bashはshの上位互換のシェルなので基本的には問題ないらしいです。ちなみにshとして起動した場合は、sh互換モードというモードで起動するようです。

 $ ls -l `which sh`

 lrwxrwxrwx. 1 root root 4 10月  8 12:04 2012 /bin/sh -> bash

sh互換モード

bashのsh互換モードについての説明です。

シェルオプションの違い

bashで起動した場合とshで起動した場合のシェルオプションを比較してみます。

$ sh
$ set -o
allexport       off
braceexpand     on
emacs           on
errexit         off
errtrace        off
functrace       off
hashall         on
histexpand      on
history         on
ignoreeof       off
interactive-comments    on
keyword         off
monitor         on
noclobber       off
noexec          off
noglob          off
nolog           off
notify          off
nounset         off
onecmd          off
physical        off
pipefail        off
posix           on
privileged      off
verbose         off
vi              off
xtrace          off

$ bash
$ set -o
allexport       off
braceexpand     on
emacs           on
errexit         off
errtrace        off
functrace       off
hashall         on
histexpand      on
history         on
ignoreeof       off
interactive-comments    on
keyword         off
monitor         on
noclobber       off
noexec          off
noglob          off
nolog           off
notify          off
nounset         off
onecmd          off
physical        off
pipefail        off
posix           off
privileged      off
verbose         off
vi              off
xtrace          off

上記の結果を見ると分かると思いますが、shで起動した場合シェルオプションの25行目の「posix」が有効になっているのが分かります。このオプションの有効/無効の違いによってbashがBourneシェルに近い動作をするように切り替えています。