読者です 読者をやめる 読者になる 読者になる

xxxcaqui.log

ツッコミお待ちしています

ネットで1,000円を確実に3,000円にする方法【実践編】

追記

12月14日にPayPalから以下のようなメールが届きました。

f:id:xxxcaqui:20131225144300p:plain

したがって、以下の方法はログとして残しておきますが、役に立たないようです。

元エントリ

ネットで1,000円を確実に3,000円にする方法に感化されたエントリです。

はじめに

詳しくは上記リンク先を読んで頂きたいのですが、フィリピンの物価は日本のおよそ1/3とのこと。だいたい、1000円で米が10kg買えるイメージ。 だから、1000円募金すると我々にとって3000円相当の物資として役立つよ、みたいな。

リンク先のエントリを読んで、偽善者として寄付することにしました。

なお、これは個人的に行ったことのメモです。 内容の正誤などは保証できませんし、もっと良い方法があるかもしれません。

考えたこと

寄付しようと思い、どこに寄付するか考えてみました。

その結果、「どうせ寄付するなら、現地に近い組織に寄付した方が早く役立つのではないか」と思いました。

そこで、上記エントリでも紹介されていたフィリピン赤十字(Philippine Red Cross)を寄付先に選びました。

起きた問題

フィリピン赤十字のページに貼られているPayPalへのリンクをクリックし、PayPalから500PHP*1(500フィリピン・ペソ)を支払おうとしました。

f:id:xxxcaqui:20131113180830p:plain

すると、日本からの支払いは出来ないというエラーが吐かれました*2

f:id:xxxcaqui:20131113181748p:plain

解決方法

PayPalに普通にログインして、メニューからSend Money*3を選びます。

そして、送金先のメールアドレスとして「prc@redcross.org.ph」*4を入力し、金額を指定します。

f:id:xxxcaqui:20131113182424p:plain

あとは、順次手続きを進めていけば送金が完了し、送金完了メールがPayPalから送られてきます。

最後に

今まで、ネット上での寄付なんてWikipediaにちょっとしたことがあるくらいだったので、いろいろと戸惑いました。 「寄付」や「募金」の違いもよくわかってません。

そして、今回フィリピン赤十字に寄付するにあたり、いろんな団体をさくっと調べてみたのですが、怪しいと言われている団体が多すぎる気がします。

実態がどうなのかは知りませんが、このあたりの透明性確保とかどうにかならんのだろうか。

*1:言語ではありません。

*2:未確認ですが、PayPalアカウントにUSDの残高があったりすると支払えるかもしれません。

*3:たしか日本語だと「支払い」だったと思います。

*4:このメールアドレスは http://www.redcross.org.ph/donate の最下部に記載されています。

新しいKindle Paperwhiteを使ってみた。

Kindle ハードウェア

先日発売された新しいKindle Paperwhiteを数日間使ってみた感想です。
写真が汚いのは仕様ですのでご了承ください。

開封の儀

梱包は従来と同じです。

f:id:xxxcaqui:20131023233406j:plain:w240:leftf:id:xxxcaqui:20131023233741j:plain:w240

同梱物も

だけと、変わりありませんでした。

新旧比較

左が新型、右が旧型です。

外観

前面

f:id:xxxcaqui:20131023233830j:plain:w600

背面

f:id:xxxcaqui:20131023233858j:plain:w600

旧モデルでは背面に「kindle」と地味に刻印されていましたが、新モデルは「amazon」ロゴがツヤありで刻印されています。個人的には、ちょっとだけ改悪ポイント。

Paperwhiteディスプレイ

f:id:xxxcaqui:20131023235136j:plain:w600

「白」

旧モデルの白が青みがかっているのに対し、新モデルの方が白は黄みがかってクリーム色っぽいです。
僕はこの色味がわりと気に入ってますが、クッキリ感を重視する人は旧モデルの方が良いかもしれません。

スペック上は「212ppi 16階調グレースケール」のままで変化がないはずなんですが、グレーの階調表現が綺麗になっている気がします。
あと、漫画のセリフについている小さいルビなんかも読みやすくなっている気がします*1

ライト

旧モデルでは内蔵ライトを最弱まで絞ってもライトがOFFにはなりませんでした。しかし、新モデルでは光量を0まで絞ることができます。
寝る前に電気を消してベッドで読書する身としては、これはかなり嬉しい改良です。

操作性

ページめくり

かなり高速化してます。
漫画などの重いコンテンツを開くと特に顕著です。
旧モデルとの最大の差異といっても良いと思います。

UI

上の画像で「ハイライト」「メモを追加」「シェア」の位置が移動しています。
他にも、設定画面などの配置が入れ替わっている箇所があります。
大した違いではありませんが、慣れるまでは戸惑うかもしれません。

Page Flip

ざくっと見る分には、非常に使いやすいです。
ただ、紙の本をパラパラする感覚を期待してると肩透かしを食らうと思います。
「パラパラする」よりかなり粒度が大きく、ざくっとした感じです。

その他

内蔵フォント

旧モデルは「明朝」「ゴシック」の2フォントでしたが、新モデルはその2つに加えて「筑紫明朝」が加わりました!
まあ、大半の人にとってはどうでもいいと思います。

重量

スペック上は7gほど軽量化してるはずなんですが、新モデルの方が少しだけ重く感じます。たぶん気のせいですが。

最後に

全体的にかなり「買い」だと思います。
為替の影響(?)で旧モデルより2000円ほど値上がりしてますが、今なら1980円分のクーポンがついてきますし*2

現時点で非常に満足度の高い商品ですが、個人的な要望をあげるとすると、

  • 操作のさらなる高速化(ページめくりなど)
  • ベゼルを細くして同じサイズで7インチに

って感じですかね。

ちなみに、旧モデルと区別して新モデルを指したいときはなんと呼べば良いんでしょう。
Paperwhite 2Gって書いちゃうと次の世代が出た時に困りそうなので、第2世代Kindle Paperwhiteとでも書けばいいんですかね?*3

*1:新モデルを買って浮かれているだけかもしれません。話半分で聞いてください。

*2:しかも、amazon.comでは$139です。日本のほうが安い?

*3:そもそも、Kindle端末自体はアメリカでもっと世代重ねてるけど、KindleとPaperwhiteは別ってことでいいんですよね?

TDD Boot Camp 横浜に行ってきました!

TDD 勉強会

昨日、横浜で行われた「TCC Boot Camp 横浜」に行ってきたので、そこでの感想などを書いてみようと思います。

基調講演

やっとむさん(@yattom)による基調講演でTDDBCがスタート。

基調講演のスライドは http://www.slideshare.net/yattom/tddbc3rd にあるのですが、その中でも個人的には、

  • TDDのサイクル(RedGreenRefactoring)を小さく速く回す。
  • 心の平穏のためにテストを書く。

あたりが印象に残りました。

サイクルを小さく回す

この「サイクルを小さく回す」というのはデモの中などでもかなり強調されていて、日頃、どうしてもサイクルを大きくして回しがちな自分には結構刺さりました。

サイクルを小さく保つには

  • メソッドを小さくする
  • 簡単なことから始める
  • 一度に複数のことをしない

といったことが重要になってくるのかなと思います。

心の平穏のためのテスト

自分がTDDを始めたとき、最大のモチベーションは「開発効率」とか「良い設計」のような高い意識ではなく、ごくごく単純に「バグ怖い」でした*1
その点、「TDDの目的は健康」「不安をテストする」というのはかなり納得がいくというか、動機に対する裏付けのようなものを得られて嬉しかったです。

昼食とグリーンバンド

基調講演後、昼食になりました。*2

昼食時にグリーンバンドの実費配布があったので買ってみました。

グリーンバンドには「acts_as_professional」と書かれています。
プロならテストを書けってことですね。

参加者の大半がこれを着けた状態で午後のペアプロに臨んでました。

ペアプログラミングによるTDD実践

午後からは言語別に別れて、ペアプロをしながらTDDを実践していきました。
僕はRubyで参加し、@m2agucさんとペアになりました。

TDD

TDD自体は「サイクルを小さく回す」という点以外は、普段自分が行っているTDDと大きな違いがなかったので、自己流のTDDもそんなに間違ってはいなかったということがわかって安心できました。
これからはサイクルを小さく保つことに注意しながらTDDを続けていこうと思います。

ペアプロ

一方、ペアプロは初めてだったので、結構緊張して臨みました。

というか、「足を引っ張ったら……」とか「どうやってコミュニケーションを取れば……」とか考えて結構怖かったんですが、やってみるとすぐに夢中になってそんなことは忘れてました*3

ペアプロをやっていると、

  • 「この部分、もう少し綺麗に書けないですかねー」「こんな感じとかどうっすか?」
  • 「あ、そこはこのメソッド使えば楽ですよ」「そんなメソッドあったんですか!」

みたいなことが結構あって、カジュアルに相談できるたり知識を共有できたりするのが良かったです。

TDDとペアプロ両方に言えること

TDDもペアプロも非常に良いものですが、やってみないとその良さがわからないと思います。少なくとも僕はそうでした。

その点、TDDBCのように実際に手を動かす勉強会というのは魅力が伝わりやすくて非常に良いと思いました。

KPT

TDD実践後、参加者それぞれがKPTを書きました。

Keepの付箋が溢れてるのがこの勉強会の良さを表していると思います。
ペアプロ楽しかった!」っていうのもかなりありました。

そして懇親会へ

TDDの実践後は懇親会がありました。
懇親会で行われたLTではTDDと言いつつも、徐々に各LTerの宗教(GroovyやVimなど)を布教するといった様相を呈しかなりカオスにw


あと、@joker1007さんのLTを聞いて、Vim力上げないといけないと思いました。

TDDBCのスケーラビリティについて

冒頭でも書きましたが、今回の基調講演はいつもの@t_wadaさんではなく、@yattomさんによるものでした。
僕も申し込みをしたときからちょっと気になっていたのですが、これはTDDBCのスケーラビリティを考えた結果とのことです。

  • TDDをもっと広めていくためにはTDDBCをスケールさせていかないといけない。
  • 基調講演を@t_wadaさんに依存している限り、TDDBCがスケールしない。
  • @t_wadaさん以外にも基調講演をできる人が必要。

これは僕自身も参加前から気になっていたことで、今回の参加に至るまでの間に

  • TDDBCに参加してみたい。
  • しかし、近所でなかなか開催されない。
  • ぐぬぬ。

という期間が結構ありました。

今回のTDDBCにしても、募集枠は追加枠も含めて全部埋まった上でキャンセル待ちが出ていましたし、Twitterを見ていると

みたいなツイートもあったので、TDDBCのスケールというのは重要なんだと思いました。

じゃあ、どうするの?

TDDBCをスケールさせていくためには、TAの人数も増やさないといけないので、

「TAにしてください! 僕をこのTDDBCのTAにしてください! 」
「何故ここにいる?」
「僕は、僕はTDDBC3rdの卒業生サードチルドレン、@xxxcaquiです!!」

とか言えればカッコいい(?)んですが、TAはちょっと技術的にアレなので、「懇親会のビールを買いに行く係」とか「KPTの模造紙を作る係」とかで参加させて頂けるなら参加してみたいと思います。

まとめ

ダラダラと書いてしまいましたが、

expect( 俺.acts_as_profesional? ).to be_true
expected: true value
but: false

これをGreenにしていかないとダメってことですね。

*1:意識高い系のモチベーションも無いわけではなかったし、TDDはその点に関しても有用だと思います。

*2:昼食の弁当・お茶がついて参加費1000円っていうのは本当にすごい。ありがとうございます。

*3:忘れてるだけで、実際には足引っ張ったりコミュニケートできてなかったりしたら、もう平謝りするしか無いですがw

Kindle Paperwhiteを買いました。

ハードウェア Kindle

今までスマホでKindleアプリを使って電子書籍お試しライフを送っていたのですが、ついにAmazonでKindle Paperwhiteをポチりました。

  • スマホからPaperwhiteに乗り換える過程で考えたこと
  • 実際にPaperwhiteを使ってみて感じたこと

などをちょっと書いてみようと思います。

そもそも、Kindleは便利なのか

結論から言うと、ものすごく便利です。

近年の電子書籍の隆盛を眺めながらも「紙の本が好き」派だったので、「イマイチだったらやめる。スマホ使えば初期投資も少ないし」という懐疑的な態度でKindleアプリを使い始めたんですが、Kindleは想像以上に便利でした。

Kindleのメリット・デメリットなんて既に語り尽くされていると思いますが、僕が感じたことを簡単に書いておきます。

メリット

本棚の肥大を気にすることなく本を買える

紙の書籍は嵩張りますし、積まれた本に虫が湧いてくるかもしれません。
しかし、Kindleならそんな心配はありません*1

最速の24時間配送

いくら近年の物流網がすごくても、配送まで最短でも半日はかかります。
しかし、Kindleの場合、注文後、遅くとも数分程度で読み始めることができます*2

受け取りが楽

Amazonで紙の本を買って配送してもらう場合、配達時に家に居たりコンビニまで取りに行ったりする必要があります*3
しかし、Kindleなら読みたい端末まで自動的に届けてくれます。さらば不在通知!

ライトがある

多くの電子書籍端末やスマホには光源がついているため、部屋の電気を消してベッドに寝転がりながら本を読むことができます。
そして、本を読んでいる途中に眠くなったら、そのまま寝られます*4

デメリット

読みやすさは紙の本には及ばない

わずかではありますが、やはり紙の本の方が読みやすいです。
僕の場合、漫画やちょっとした小説を読む分には電子書籍でも全く気になりませんが、大判の技術書などを電子書籍で読むのは今のところあまり気が進みません。

ワンクリック注文の魔力

先ほど書いた「続刊を注文してすぐに読める」という特長のせいで、気をつけないとクレジットカードの請求額が大変なことに……w

その他

本棚を持ち歩くということ

iPodが「ジュークボックスを持ち歩く」製品だったなら、電子書籍リーダーは「本棚を持ち歩く」製品だと思います。
しかし、Paperwhiteの場合、ストレージが2GB(システム使用分含む)な上、SDカードなどにも非対応なので、好きな本を片っ端から入れておくといった使い方はできません。

スマホとかだと大容量のSDを挿すことによってある程度なんとかなりますが、大量の本を上手く整理する方法がKindleアプリにはないため、使い勝手はイマイチです。
このあたりは改善を期待したいところです。

Kindle Paperwhiteを買おうと思ったきっかけ

ここまで長々と書いたように魅力的なKindleですが、スマホで使用しているとやはり不満な点も出てきました。

主なものとしては、

  • 画面が小さい
  • 寝る前に読んでいるとバックライトが眩しい

という2点です。

これらの2点を解決するために、Kindle Paperwhiteの購入を検討し始めました。

購入前に考えたこと

Paperwhiteの画面は本当に"大きい"のか

今までKidnleアプリを使用していたGalaxy S4(SC-04E)の液晶が5インチ*5なので、6インチのPaperwhiteに変更すると確実に画面サイズはアップします。

とはいえ、5インチから6インチへの変更ってそんなに大差ないのでは? と思ったので、もう少し詳しく検討してみました。

スペック

まずは両機のスペックです。

Galaxy S4 Kindle Paperwhite
画面サイズ 5.0" 6.0"
画面解像度 1920x1080 1024x768
アスペクト比 16:9 4:3

パッと見た感じ、画面解像度の差が気になりますが、これはS4の画素密度が441ppiという異常な値*6になっているせいであって、Paperwhiteも212dpiという充分な画素密度を持っているため問題ないと思います*7

それよりも気になるのがアスペクト比で、S4がFullHDディスプレイを採用しているために16:9というかなり縦長な画面になっています。一方、Paperwhiteは4:3というクラシカルな比率。

何を表示するのか

僕個人の使用用途に限れば、Kindleで表示するコンテンツは大きく分けて3つあります。

  1. 小説などテキスト主体のコンテンツ
  2. B6版などの漫画(青年誌系)
  3. 新書版などの漫画(少年誌系)

これらのうち、テキスト主体のものは可変レイアウトが採用されているので、画面の縦横比に関わらず画面いっぱいに表示できます。
しかし、漫画などの画像系コンテンツは版型によって縦横比が異なってくるので、画面上に「表示に使えない領域」が発生してきます*8

そこで、その領域を除いた「実効ディスプレイサイズ」を考えることにします。

実効ディスプレイサイズの検討

各版型と端末のアスペクト比をまとめるとこんな感じ。

横:縦
漫画(B6版など) 1:1.41*9
漫画(新書版) 1:1.65*10
Paperwhite(6") 1:1.33
Galaxy S4 1:1.78

これらの値から実効ディスプレイサイズを算出すると、次のようになりました。

B6版 新書版
Paperwhite(6") 5.85"(97.5%) 5.61"(93.5%)
Galaxy S4(5") 4.23"(84.6%) 4.72"(94.4%)

()内は実ディスプレイサイズに対する実効ディスプレイサイズの割合です。

新書版を表示したときの実効ディスプレイサイズは0.89"の違いなので実際の差の1"と同じような差ですが、B6版は1.62"(≒41mm)も違います。

これだけの差があれば「Paperwhiteの画面はスマホより大きい」と言えそうだと判断しました。

Kindle paperwhiteの画面は本当に"眩しくない"のか

Paperwhiteはバックライトによる透過光ではなくフロントライトによる反射光で画面を照らしているため、液晶ディスプレイより目が疲れにくいとのことでした。

こればかりは実物を見てみないとなんとも言えなかったんですが、ネット上のレビューやSonyのReaderの実機などを見る限り、確かに液晶より目に優しそうな感じがしました。

Paperwhiteの購入

以上2点の検討を行った結果、Paperwhiteをポチりました。
PaperwhiteはWi-Fiモデルなら7980円とお手頃なのも購入に至った大きな要因です。

使用してみて感じたこと

画面の大きさには満足

心配していたディスプレイの大きさですが、思ってたよりも大きかったです。
文庫版より一回り小さいくらいの画面サイズです。

画面の眩しさも軽減

画面の眩しさはかなり軽減されました。もはや全然気にならないレベル。
寝る前のベッド読書がより一層捗ります。

e-inkディスプレイは読みやすい

Paperwhiteに採用されているe-inkディスプレイは想像以上に読みやすいです。これは嬉しい誤算。
画面更新時に明暗が反転するのも僕の場合はすぐに慣れました。

思ってたより重い

ページめくりや選択した本を開くときの動作が思っていたよりも遅いです。
ただ、我慢できないレベルではないので、バッテリーライフとのトレードオフと考えれば納得できます。

また、物理的な重量も思っていたよりは重いです。
こちらも普段は気にならないのですが、寝転がって仰向けで読んでいるときなどは「もう少し軽ければなー」と思います。

結論

以上、簡単なレビューでした。

Kindleは便利なので、スマホアプリでいいので試してみるべきだと思います*11

スマホで試用した結果、もっと便利にKindleを使いたくなったらPaperwhiteを買えばいいと思います。Paperwhiteを電子書籍専用端末として正しく割り切れる人なら、非常に良い買い物になると思います*12

*1:Kindle製品にbugが潜んでいる可能性はありますが。

*2:深夜に漫画を読んでいるときに、次巻がすぐに届く便利さはすごいです。睡眠不足必至。

*3:宅配BOX欲しい……。

*4:想像以上に怠惰ライフが捗ります。

*5:厳密には4.99インチ

*6:Macbook Pro with Retinaが220ppi。

*7:根本的な原理から違うので単純比較はできませんが。

*8:いわゆる「レターボックス」や「額縁放送」といった状態。

*9:≒1:√2の白銀比

*10:≒1:1.618の白銀比

*11:アプリは無料。コンテンツも無料のものが結構あるし、有料コンテンツも試し読みできる。

*12:逆に言うと、万能端末が欲しい人は黙ってiPad miniとか買えばいいと思う。

Amazon Linuxの中心でyumを叫んだけもの。

AWS

意味不明なタイトルですが、深い意味はありません。

AWSで使用できるAmazon Linuxはわりと最小構成な感じなので、必要なパッケージは自分で入れる必要があります。

個人的によく入れるのは以下のような感じ。
(随時更新していきます)

全般

GCC

$ sudo yum install -y gcc gcc-c++

Curl

$ sudo yum install -y libcurl-devel

OpenSSL

$ sudo yum install -y openssl-devel

Git

$ sudo yum install -y git

Ruby

rbenv

$ sudo yum install -y gcc git openssl-devel
$ git clone git://github.com/sstephenson/rbenv.git ~/.rbenv
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
$ exec $SHELL -l
$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
$ rbenv install 2.0.0-p0
$ rbenv global 2.0.0-p0

Web/Appサーバ

Apache HTTP Server

$ sudo yum install -y httpd httpd-devel gcc-c++ libcurl-devel mod_ssl
$ sudo /sbin/chkconfig httpd on

Phusion Passenger

$ gem install passenger
$ source ~/.bash_profile
$ passenger-install-apache2-module

DB

PostgreSQL$ sudo service httpd start

$ sudo yum install -y postgresql postgresql-devel postgresql-server postgresql-libs
$ sudo service postgresql initdb
$ sudo /sbin/chkconfig postgresql on
$ sudo service postgresql start

その他

Nokogiriの依存関係

$ sudo yum install -y libxml2 libxml2-devel libxslt libxslt-devel