2012年7月28日土曜日

Clean Hard Drive: Linux(CentOS) dd Commands

PCを中古屋に売るときや、廃棄するときにPCに入っているデータを消したいと思うのであるが、
ハードディスクドライブ(HDD)内のデータは、ただフォーマットをしただけでは完全に消去できない。

データリカバリ(復元)ソフトを使うことで、データを見られてしまうことがある。

そこで、できるだけ復元が困難になるようにすることが必要となる。


CentOSなどのLinux OSでは、ddというコマンドを使うことで、HDDの完全消去やデタラメなデータを書き込むことができる。


使い方:

以下のコマンドはrootで行う

ハードディスクにゼロ(0)を書き込む
# dd if=/dev/zero of=/dev/hda

デタラメ(ランダム)なデータを書き込む
# dd if=/dev/urandom of=/dev/hda



オプションで書き込むデータのブロックサイズの指定することができる。

何も指定しないときは、デフォルトの 512Byte で書き込みを行う。

ブロックサイズが小さいと時間がかかるので、ブロックサイズを大きくして書き込むと時間が短縮できる。

例えば、ブロックサイズ 10MB でゼロを書き込む場合
# dd if=/dev/zero of=/dev/hda bs=10MB



一度ゼロで書き込むだけでは不安なときは、最初にランダムに書き込んだ後にゼロにすると安心である。

2012年7月17日火曜日

Remove GPT Partition

Windows XPなど古いWindowsではGPTパーティションは利用できないので、GPTパーティションを削除する方法

使用環境:
Windows XP


ステップ1
 コマンドプロンプトでdiskpartを起動する

> diskpart



ステップ2
list diskと入力してディスク一覧を取得する

DISKPART> list disk



ステップ3
GPTパーティションを削除したいディスクを選択する

DISKPART> select disk 1



ステップ4
選択されているディスクを確認し、GPTパーティションを削除する

DISKPART> list partition
DISKPART> clean

2012年7月4日水曜日

Apple iTunes "Error 3212" issues

iTunesでサインインやコンピュータの認証をする時にエラー(-3212)が発生した場合の対処法

エラーメッセージ
iTunesは、iTunes Storeに接続できませんでした。不明なエラーが発生しました(-3212)ネットワークの接続を確認するか、後でもう一度実行して下さい


解決法:
セキュリティーソフトやファイアーウォールでAppleとの通信を遮断していないかをチェックする

参考のページではMcAfee製品について書いてあるが他の製品でも同様の操作で解決できる


参考:
アップルサポート
http://support.apple.com/kb/TS1485?viewlocale=ja_JP

2012年6月30日土曜日

Using Google Text-to-Speech

Googleのテキスト読み上げapiのText-to-Speechを使って、
文字列から音声ファイル(mp3)を作成する


http://translate.google.com/translate_tts?tl=ja&q=おはようございます。気持ちのよい朝ですね。

↑のURLにアクセスすると、mp3形式で返ってくるので、ブラウザにmp3再生プラグインが入っていればテキストを読み上げてくれる。
(URLをブラウザのアドレスバーをコピーしてアクセスしてもよい)


パラメータは、次のようになっている。


tl・・・言語の指定(日本語 ja、英語 en、中国語 zh-CN、フランス語 fr、ドイツ語 de、ロシア語 ruなど)

q・・・読み上げるテキスト(最大100文字)





試しにPythonでURLにアクセスして帰ってきたmp3をファイルに保存するようにしてみた。
実行すると、sample.mp3ファイルが作成される。

#!/usr/bin/python
# -*- coding: utf-8 -*-

import urllib2

text = 'むかしむかしあるところにおじいさんとおばあさんがいました。'

opener = urllib2.build_opener()
opener.addheaders = [('User-agent', 'Mozilla/5.0')]
url = 'http://translate.google.com/translate_tts?tl=ja&q=' + text
mp3data = opener.open(url).read()

f = open("sample.mp3","wb")
f.write(mp3data)
f.close


適当なUser-agentを付けないと、403エラーが返ってくるので注意

VLC Media Player Installation on Centos 6

CentOS 6.2にVLCメディアプレーヤーをインストールする方法




ステップ1
リポジトリを追加する




32ビットの場合


# rpm -Uvh http://dl.atrpms.net/el6-i386/atrpms/stable/atrpms-repo-6-5.el6.i686.rpm




64ビットの場合

# rpm -Uvh http://dl.atrpms.net/el6-x86_64/atrpms/stable/atrpms-repo-6-5.el6.x86_64.rpm











ステップ2
VLCをインストールする


# yum --enablerepo=atrpms-testing install vlc




もしも、epelリポジトリを先に追加していた場合は、epelをdisableにする


# yum --disablerepo=epel --enablerepo=atrpms-testing install vlc












使い方


メニューの[Applications] - [Sound & Video] - [VLC media player]から起動する

2012年6月27日水曜日

Schedule Tasks on Windows XP without a window

Linuxにある定期的実行するcrontabのようなことをWindowsで設定する方法

batファイルを定期実行するとウィンドウが表示されてしまうので、
ウィンドウが表示されないように設定したい場合



環境:
Windows XP SP3



ステップ1
メモ帳などのテキストエディタを使用して、batファイルを作成する


例、batファイルを定期実行し、実行時の日付をexample.logに追加書き込みする場合


example.bat ↓ファイルの中身


echo %DATE% %TIME% >> C:\example.log




ステップ2
ステップ3で作成したbatファイルをタスク定期実行すると、一瞬コマンドプロンプトのウィンドウが表示されてしまう

ウィンドウ非表示で実行したいので、batファイルと同じくテキストエディタでvbsファイルを作り、vbsをタスクで定期実行する

 
example.vbs ↓ファイルの中身


CreateObject("WScript.Shell").Run "C:\example.bat",0


batファイル、vbsファイルは、どちらもテキストファイルの拡張子を変えただけのもの







ステップ3
[スタートメニュー] - [アクセサリ] - [システム ツール] を順にポイントし、[タスク]をクリックする
 ([コントロールパネル] - [パフォーマンスとメンテナンス] - [タスク]でもよい)




ステップ4
[スケジュールされたタスクの追加]をダブルクリックしてタスク設定のウィザードを開始する

[次へ]をクリックする

Figure1: タスク ウィザード開始ウィンドウ













 次に定期実行したいアプリケーションを選択する
(参照をクリックしてステップ2で作成したvbsファイルを選択する)


そして、タスクを実行する日時や間隔などを設定する





2012年6月26日火曜日

Cloning a Repository from GitHub

GitHubレポジトリのクローンを作成する方法



環境:
CentOS 6.2


ステップ1
Gitがインストールされてない場合は、Gitをインストールする

$ yum install git-core




ステップ2
適当な場所に移動して、クローンディレクトリを作成する

例. /sample/sample.gitのクローンの場合
$ git clone http://github.com/sample/sample.git


これで、GitHub上の公開ソースなどをローカル環境に持ってこれる。


2012年6月24日日曜日

Installing Ruby on Rails on CentOS 6.2

CentOS 6.2 に Ruby on Rails をインストール

ローカル環境:
CentOS 6.2
Ruby 1.8.7
SQLite(データベース)



ステップ1
yumでRuby関連パッケージをまとめてインストール

# yum install ruby ruby-devel ruby-docs ruby-irb ruby-libs ruby-mode ruby-rdoc ruby-tcltk



 
ステップ2
RubyGems(Ruby標準パッケージ管理システム)のインストール

http://rubyforge.org/frs/?group_id=126から、
2012年5月22日現在の最新版
rubygems-1.8.24.tgzをダウンロードする
ファイルを展開してインストールする

# tar xvzf rubygems-1.8.24.tgz
# cd rubygems-1.8.24
# ruby setup.rb



ステップ3
Railsのインストール

# gem install rails

サーバーの混み具合や通信環境によって時間がかかる場合があるので、しばらく待つ。
反応がないように見えるかもしれないが、我慢強く待つこと。



ステップ4(オプション)
mongrel(Webサーバー)のインストール

# gem install mongrel




ステップ5
SQLiteのインストール

# yum install sqlite-devel
# gem install sqlite3-ruby





動作確認:
railsディレクトリを新規作成し、その下にmyappを作成

$ mkdir rails
$ cd rails
$ rails myapp
$ cd myapp
$ rails new myapp


$ rails server

で起動しようとしたら、いろいろ必要なモノが無いよと言われたので、gemでインストールする

# gem install uglifier
# gem install execjs


$ vi Gemfile      ← 作成したmyappディレクトリにあるGemfileを編集する
gem 'execjs'          ← 追加する
gem 'therubyracer'      ← 追加する
$ bundle install         ← 必要なgemをインストール
$ rails server     ← サーバーを起動




必要なモノは環境によって変わると思うので、適宜インストールすること。


ブラウザで、http://localhost:3000/にアクセスする。
うまく起動できていれば、この様に表示される。

Figure1: Ruby on Railsの起動成功画面













アプリケーションを終了するには、ターミナルで Ctrl-C を入力する。

2012年6月23日土曜日

URL Redirect | An Introduction to Redirecting URLs on an Apache

Apacheの設定でURLリダイレクト(転送)する方法

例えば、http://www.example.com/foo.html にアクセスがあった場合に、
http://www.example.com/bar.htmlにリダイレクトしたい場合

httpd.confファイルに以下の行を追加する。

Redirect /foo.html /bar.html 


UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe5 in position 0: ordinal not in range(128)

UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe5 in position 0: ordinal not in range(128)

pythonプログラムを実行して、上記のようなエラーが発生するときは、
python のデフォルトエンコードをasciiからutf-8に変更する。

python-install-path/lib/site-packages/ディレトリ下(python-install-pathは自分の環境に合わせる)に、sitecustomize.pyという名前でファイルを作成し、utf-8を指定する内容を書いて保存する。


例えば、sitecustomize.pyのパスがこのようなとき、
/usr/lib/python2.6/site-package/sitecustomize.py

次のように書いて保存する。

import sys
sys.setdefaultencoding("utf-8")

Install BlueGriffon on CentOS 6.2


WYSIWYGで操作できるHTMLエディター BlueGriffonのインストール方法


環境;
CentOS 6.2 64bits



ステップ1

BlueGriffonのホームページにアクセスする

Figure1: BlueGriffon公式ホームページ












ステップ2

ダウンロードページにあるversion 1.0のページへ行き、 rpmx86_64 for Fedora 13 のリンクをクリックする
Figure2-1:ダウンロードページ























Figure2-2: BlueGriffon 1.0 ダウンロードページ





























ステップ3

次のようなダイアログが表示されるので、デフォルトのインストーラでダウンロード先を開く
Figure3-1: rpmファイルのインストール

















インストールの確認を聞かれるのでInstallをクリック

Figure3-2: インストールの確認









インストールの途中で追加で必要なライブラリのインストールについて聞かれるので、それらもインストールする(使用環境により必要なライブラリが異なるため省略)








使い方

メニューから[Applications] - [Internet] - [BlueGriffon]を選択して、起動する



Taking Screenshots with CentOS

CentOS でスクリーンショットを撮る方法

ディスプレイ全体のスクリーンショットを撮る場合

Print Screen キー (MACキーボードではF13キー)を押す


アクティブウィンドウのスクリーンショットを撮る場合

Alt + Print Screen (MACキーボードではalt[option] + F13キー)を押す



上記キーを押すとシャッター音と共にスクリーンショットの保存ウィンドウが表示されるので、
画像ファイルを保存するかクリップボードにコピーすることができる。

ただし、以上の方法ではプルダウンメニューを表示している状態のスクリーンショットが撮れないので、ksnapshotを使ってスクリーンショットを取得する。

ksnapshotは[System] – [Administration] – [Add/Remove Software]で、
ksnapshotで検索して、K Desktop Enviroment – Graphics Applications をインストールする。


Figure1:パッケージインストール画面












ksnapshotの使い方

ksnapshotを起動して、Snapshot delay に適当な時間(5秒くらい)を選択する。

New Snapshotボタンを押して、撮りたいところを表示して指定時間まで待機すると、
スクリーンショットを保存するかどうかウィンドウが表示されるので、
目的に合わせてファイル保存したり、クリップボードにコピーする。

Figure2: Ksnapshot

2012年6月22日金曜日

Web API Library

マッシュアップアプリケーションを作成する際に、
現在どんなWeb API(application programming interface)があるか探したい場合、

ProgrammableWeb

で検索することができる。

Figure1: ProgrammableWeb トップページ





















2012年6月現在、6000を越えるWeb APIが登録されている。

マッシュアップアプリケーションも登録されており、どのWeb APIを使用して作成したのかが分かる。

どんなものがあるか軽く覗いた感じでは、やはり一番多いのはGoogle Mapsを利用したものみたいである。



日本国内なら、
Yahoo!デベロッパーネットワーク
が有名だろう。

Figure2: Yahoo!デベロッパーネットワーク




















利用するには、が必要となる。


2012年6月21日木曜日

Configure php.ini settings for twitteroauth

PHPでTwitter api OAuth認証利用のために準備する
環境:
Windows XP SP3
XAMPP 1.7.7



下記の場所から必要なファイルをダウンロードしてくる
(twitteroauthフォルダの下にある2ファイル)


github - twitteroauth
https://github.com/abraham/twitteroauth

OAuth.php
twitteroauth.php
これら2つのファイルをPEARフォルダ以下の適当な場所に置く

例.XAMPPのインストール場所がC:\xamppで、php\PEARフォルダの下にTwitterフォルダを新しく作って置く場合のパス

C:\xampp\php\PEAR\Twitter\OAuth.php
C:\xampp\php\PEAR\Twitter\twitteroauth.php



続いて、twitteroauth.phpがcurlを利用するためにphp.iniファイルの950行目あたりにあるコメントアウトをはずす(セミコロンを削除)


変更前

;extension=php_curl.dll


変更後

extension=php_curl.dll





使い方
require_onceで外部phpを読み込む

require_once 'Twitter/twitteroauth.php';

UnicodeDecodeError: 'shift_jis' codec can't decode bytes in position xxx-xxx: illegal multibyte sequence

Pythonで日本語をあつかう時に注意すること

shift_jisのファイルを読み込むと次のようなエラーが発生する場合

UnicodeDecodeError: 'shift_jis' codec can't decode bytes in position xxx-xxx: illegal multibyte sequence

(xxxには数字が入ります)




解決方法



string = '何らかの機種依存文字'

通常shift_jisの時は下記のようにするところを

string.encode('shift_jis')



このように変更する

string.encode('cp932')



このcp932というのは、
Microsoft コードページ 932(以下 CP932)は、マイクロソフト及び、MS-DOSOEM ベンダが Shift JIS を独自に拡張した文字コードである。また同時に、CP932 は Shift_JIS の Windows アプリケーションにおける「実装」を指す用語であるとも言える。
(Wikipediaより引用: Microsoftコードページ932 - Wikipedia
だそうです。

Choosing Web Page Editors

HTMLエディタの選択


WYSIWYG (What You See Is What You Get: 見た通りのものが得られるの意) で作業が行えるものがよい


市販では
  • Adobe Dreamweaver
  • Microsoft Expression Web

など、



フリーソフトでは

  • Blue Griffon
  • Amaya


などがある

2012年6月20日水曜日

Find the best Text Editor for Programming

テキストエディタの選択


主にプログラミング用


複数のファイルを頻繁に切り替えながら作業するのでそれなりに高機能であることが求められる。

  • Linuxでは標準のviではなく、Emacsがよい。
  • Mac OS XならTextMateがよさそう。
  • Windows上ではTextPadやUltraEditなどがある。
 
これらテキストエディタは慣れてくるとキーボードから手を離さずに済むので効率よく作業が行える。

R 2.15.0 Installation on CentOS 6.2

統計解析ソフト R をインストール

ローカル環境(OS: CentOS6.2)
2012年6月20日現在ソフトウェアの最新バージョン
R 2.15.0



リポジトリを追加する

# vim /etc/yum.repos.d/R.repo

以下の内容をR.repoファイルに追加する

[CRAN]
name=http://cran.md.tsukuba.ac.jp/
baseurl=http://cran.md.tsukuba.ac.jp/bin/linux/redhat/el5/i386/
enabled=1
gpgcheck=0


続いてR本体のインストール
# yum install R

使い方
Rの起動
$ R

終了方法
> q()



環境により必要なライブラリを入れなければいけないことがあるかもしれないが、その都度インストールする

Tesseract OCR 3.01 and Leptonica 1.68 Installation on CentOS 6.2

googleのオープンソース文字認識ソフト Tesseract OCR をインストールする。

ローカル環境(OS: CentOS6.2) 2012年6月20日現在ソフトウェアの最新バージョン
Tesseract OCR 3.01
Leptonica 1.68