タダでコンテンツを入手、楽しむということに慣れている世代

お金払わずタダでなんでも手に入るという意識を小さい頃に持ってしまうと今後いろんな場所で
タダで手に入れる方が得という間違った認識を持ってしまって万引きなどの窃盗犯罪に抵抗感なくなってしまうのだと思うのですよね
実際に本屋さんなどでも小学生の万引きも増えている時代ですし
小さい頃だからこそなんとかしないとゲーム業界よりも社会のルールが乱れてしまいそうです


以前ですと 犯罪ですと言われるとそのまま帰られる親子さんが多かったのですが・・・
ちょっと辛いというか・・・寂しいですね


小学校低学年の親世代に多いのはおそらく20代後半〜30代前半だと思われるが

これらのいずれかをしたこと、ないしは話に聞いたことくらいはあるだろう。
そしてこれらが流行ったのはちょうど彼ら、彼女らが高校〜大学時代のはずだ。


こういう世代は子どもから「マジコンが欲しい」と言われてどういうものかを聞いたとしても
「へー、いまはそういうのを使ってタダでゲームができるのね」くらいにしか思わないのではないだろうか。
特にWinMXエミュレータを使っていた親たちに罪の意識はなさそうだ(偏見)。


それでも当時はある程度の知識だとかなんだとかが無いと使えなかった(= 年齢がある程度高くないといけない)ものが
いまはインターネットの普及によって小学校低学年でもマジコンの存在を知り、使えてしまう。


冒頭で引用したように、善悪の区別がろくにつかないうちに「タダで手に入れる」ことを知ってしまうのは
教育上よろしくないのだが、親がそれを止め、注意をしないことにも問題がある。


また、ゲーム中に住所、氏名、年齢、性別などの個人情報を問い合わせ、その内容を
どこかのサイトに送信するウィルスやトロイの木馬を仕込んだROM がアップロードされる
危険性などはないのだろうか。
「ゲームを続けるには名前と住所を入力してね」とかなんとか。


個人的には善悪の区別がつくようになっている(はずの)高校生や大学生が
あんなことやこんなことをしていた(している)ことのほうが問題だと思うが別の話。


何年か前に「アップロードした人だけではなく、それを知りつつダウンロードした人も
罪になる」とかいう話があったが、いまはどうなったのだろうか……。

root 権限の必要なディレクトリに対してrsync する

CentOSApache でDocumentRoot とされている/var/www/html をサーバ間で同期するために

% rsync -avz -e ssh --delete /var/www/html foo@example.com:/var/www/html

rsync を実行しても、foo に/var/www/html への書き込み権限がないため成功しない。
# PermitRootLogin yes な方は勝手にどうぞ。


NFS が使えれば手っ取り早いのだが、一つの解決策として
example.com に以下のスクリプトを置き(/home/foo/rsync.sh とする)

#!/bin/sh

/usr/bin/sudo /usr/bin/rsync $*

visudo で

foo ALL=(ALL) NOPASSWD: /usr/bin/rsync

と設定しておく。


あとはrsync コマンドに --rsync-path をつけて実行することで

% rsync -avz -e ssh --delete --rsync-path="/home/foo/rsync.sh" /var/www/html foo@example.com:/var/www/html

example.com 側ではsudo したrsync が走り、/var/www/html 以下に書き込みができる。


深夜に相談に乗ってくれたhasegaw blog の中の人に感謝。

Plagger でAWS の課金情報を取得

Web::ScraperでCustomFeed-Script/amazon_s3.plに期待→Plaggerで料金レポートを取得する


はてなブックマーク - (otsune) ポール・マッカートニー取調室 - 2008年8月6日


Notify-IRC 向け。

#!/usr/bin/perl
use strict;
use warnings;
use DateTime;
use DateTime::Format::W3CDTF;
use WWW::Mechanize;
use Web::Scraper;
use YAML;

my $url = "https://aws-portal.amazon.com/gp/aws/developer/account/index.html";
my $mail = '';
my $pass = '';

my $mech = WWW::Mechanize->new();
my $response = $mech->get($url);

$mech->form_number(1);
$mech->set_fields('email' => $mail, 'password' => $pass);
$response = $mech->submit;

my $aws = scraper {
    process '//td[@class="bordgreybot txtxsm"]', 'descriptions[]' => 'TEXT';
    process '//td[@class="bordgreybot txtxsm alignrt"]', 'prices[]' => 'TEXT';
    result qw/descriptions prices/
}->scrape($response->decoded_content);

my $output = {
    title => 'Summary of This Month\'s Activity',
    entry => []
};

my $date = DateTime->now(time_zone => 'Asia/Tokyo');

for (my $i = 0; $i <= $#{$aws->{'prices'}}; $i++) {
    push @{$output->{entry}}, {
        title => $aws->{'descriptions'}[$i*2]." ".$aws->{'descriptions'}[$i*2+1]." => ".$aws->{'prices'}[$i],
        date  => DateTime::Format::W3CDTF->format_datetime($date->add(seconds => $i)), # 時間ずらさないとダメぽい
    };
}

binmode STDOUT, ":utf8";
print YAML::Dump $output;


使い方。

 - module: Subscription::Config
   config:
     feed:
       - script:///path/to/assets/plugins/CustomFeed-Script/aws.pl
 - module: CustomFeed::Script


CustomFeed::Script の場合は無理にPerl で書く必要が無いのね……。
誰かかっこよく添削してください。

お手軽にHadoop on EC2 を試す(ときにはまるコト)

EC2 Command-Line Tools はインストール済み、Hadoop 0.17.x であること前提。


AmazonEC2 - Hadoop Wiki にしたがって
クラスタの起動 〜 マスタへのログインを行い

% bin/hadoop-ec2 launch-cluster test-cluster 2
% bin/hadoop-ec2 login test-cluster

ログイン先で以下のコマンドを叩いてみても

# cd /usr/local/hadoop-*
# bin/hadoop jar hadoop-*-examples.jar pi 10 10000000

エラーが発生して動かすことができない。
これは、起動用のスクリプトではHDFS やJobTracker に必要な
ポートの解放を行っていないことが原因である。


EC2 Command-Line Tools に戻って以下のコマンドを叩き数分待つ。

% ec2-authorize test-cluster-master -p 50001
% ec2-authorize test-cluster-master -p 50002
% ec2-authorize test-cluster -p 50010

あらためて、マスタから以下のコマンド。

# cd /usr/local/hadoop-*
# bin/hadoop jar hadoop-*-examples.jar pi 10 10000000

これで無事にサンプルプログラムを起動できたはずである。
なお、デフォルトで使われるAMI 内の hadoop-site.xml
サンプル実行以外は使わないほうが吉。


終了するときはEC2 Command-Line Tools から

% bin/hadoop-ec2 terminate-cluster test-cluster


ポート設定などもすべて破棄したい場合は

% bin/destroy-hadoop-cluster test-cluster

EC2 へのSSH 接続

% ssh -i <鍵ファイル名> root@ec2-xxx-xxx-xxx-xxx.compute-1.amazonaws.com

EC2 Command-Line Tools 自分用まとめ(随時更新)

Amazon のサポートするイメージ一覧

% ec2-describe-images -o amazon


全イメージ一覧

% ec2-describe-images -x all


鍵の作成

% ec2-add-keypair <鍵名> | sed -e "1d" > <鍵ファイル名>


インスタンスの確認

% ec2-describe-instances


インスタンス起動

% ec2-run-instances <イメージID> -k <鍵名>


インスタンス停止

% ec2-terminate-instances <インスタンスID>


ポートの解放状況の確認

% ec2-describe-group


ポートの解放

% ec2-authorize <グループ名> -p <ポート番号>


ポートの解放中止

% ec2-revoke <グループ名> -p <ポート番号>


固定IPアドレスの確認

% ec2-describe-addresses


固定IPアドレスの確保

% ec2-allocate-address


固定IPアドレスの解放

% ec2-release-address 


固定IPアドレスの割当

% ec2-associate-address -i <インスタンスID> 


固定IPアドレスの割当解除

% ec2-disassociate-address 

EC2 Elastic IP Addresses の料金

Elastic IP Addresses

No cost for Elastic IP addresses while in use
$0.01 per non-attached Elastic IP address per complete hour
$0.00 per Elastic IP address remap - first 100 remaps / month
$0.10 per Elastic IP address remap - additional remap / month over 100


Amazon Elastic Compute Cloud (Amazon EC2)