2年ほどさかのぼりまして、AppBank のメディア事業部というところでアプリ開発者として1年ほど、そこから独立したapprimeという子会社で1年ほど働いてました。apprimeでは社長の小川さん(ぇ)という人の忠実なしもべとして頑張って会社を盛り立ててました。多分盛り立ってたんじゃないかな。わかんないけど。少なくともありがたいことに小川さんことspring_maoさんには高く評価していただけてました。
AppBankはグループ全体として見てもエンジニアはあまり多くなかったのですが、エンジニア仲間はみな真面目で熱心だったので新しい技術についてすぐに聞くことができたり、自分とは守備範囲が違うことをしてる人ばかりだったということもあって勉強になる機会が多かったです。みんな元気にやってっかな。
spring_maoさんとは2年間がっつりご一緒させてもらいましたが、この人は本当にすごい人でスピード感についていくのが大変でした。なんていうか、脇目もふらずゴールに向かって一直線みたいな。無駄がないんです。論理的で筋が通ってるから議論にも説得力があって良い刺激を受けながら開発ができました。そういえば社外で勉強会をやった時にちょっとイジったら「部下からうんざり呆れられてる」みたいな捉え方をされてたっぽいんですよw んなアホなww 他にもこの手の勘違いエピソードは山程あるんですけど、最後の機会なので言っておきますが自分は尊敬してるし、この人がいたからこそ良いものを作ることに集中できたと思ってます。そもそも仕事ができる人だから他の人からもかなり信頼されていたんじゃないかなと。転職活動もいい感じに成功させてたしね。さらなるご活躍に注目しています。
話が逸れた。
apprimeでの最後の仕事は 仲間をさがそうHIROBA というゲームユーザ向けのSNSサービスの開発でした。パズドラやモンストをやってる人はぜひ使って欲しいです。開発はすっごく大変でしたけどとても楽しかったです(小並感)。
今年のはじめにapprimeを退職して個人の活動にもどったものの、まだ少なくともあと何年かは会社員として組織で働いてみたかったのと、せっかくの機会だったので就職活動というやつをしてみたく、色々話を聞かせてもらったり紹介してもらったりと活動し、ついにZaimという会社で働き始めました。ぱんぱかぱーん。
Zaimは名前そのものの Zaim というオンライン家計簿のサービスを開発している会社です。社長の閑歳さんがZaimのもともとの開発者でいまもバリバリコード書いてるっていうのもあってかメンバーは技術をよくわかってる人が多く、採用もかなり慎重にやってるみたいでレベルも高いです。
自分は新人のぺーぺーなもんですから「社内で自分が一番雑魚」な状態になったので、ここからまた少しずつステップアップしていかないとなと思います。とりあえずはやくReactiveCocoaとMVVMをマスターしないと雑魚中の雑魚から抜け出せなくてヤバイです。しぬ。
職場自体もまわりのメンバーも、自分の性格と求める条件から見てめちゃくちゃいい環境なのですごく快適で早くも幸せです。あとはこの素晴らしい状況に対してどれだけ貢献して返していけるかしかないので、そこはもうしっかり社内外含めて自分に期待してるいろんな人をガッカリさせないように全力をだすしかないですね。これからの高山に期待…(プレッシャーが!)
Zaimに興味があるかたはぜひご応募くださいまし。
* 株式会社 Zaim・エンジニア/デザイナー/経営戦略担当を積極採用中!
ではまた…次は何年後…とかにならないようにしたい…。
]]>Kindle Paperwhite はもちろん、iPhoneのKindleアプリでも読めるのでなかなか快適です。
ちなみに Calibre っていうソフトウェアを使っても似たようなことができるみたいで、しかもCalibreはGUIのアプリケーションだから使い始めるのも簡単そうなんだけど、ウォール・ストリート・ジャーナルの有料版に対応してるのか良くわかんなかったのと、Kindlier Backendを使ったほうが面白そうじゃんって思ったので不採用としました。
Kindlizer Backendは導入方法も書いてあるので、herokuを使ったことがあればすぐ使えると思います(そこが重要だけどw)。一個だけわかんなくて困ったのは、メールを配信するためにはSendGrid Starterていうアドオンのセットアップみたいなプロセスが必要なことでした。herokuでKindlizer Backend用に作ったアプリの管理画面にSendGrid Starterっていうのが出来てるので、それをクリックするとアカウントの情報が出てきて、なにやら承認的なボタンを押してくれよって感じになっていて、そこを進めないと使うことはできませんでした。どんな画面だったのかは忘れましたけど、とにかくそういうのがありました。
あと、nikkei-paidで有料版を読みたい場合、日経新聞のユーザ名やIDは環境変数で指定します。
$ heroku config:add NIKKEI_ID=[your id] NIKKEI_PW=[your pw]
メール以外にもDropboxにファイルも転送できるようで、Dropboxでアプリを追加して各種キー類をこれまた環境変数で指定すると使えるようになりました。
Dropboxのキーを取得するのはやることが色々あって、最初に App Console からPlatformを「Core」にしてアプリを作ります。App folderとFull Dropboxとありますけど、App folderを選択しました。Fullだとフルアクセスできるんで怖いよね…。ただし、App folderにすると lib/kindlizer/backend/task.rb のDropboxClientのインスタンスを作る部分のコードをいじる必要があります。
client = DropboxClient.new(session, :dropbox) ↓ client = DropboxClient.new(session, :app_folder)
アプリを作ったら、リクエスト用のトークンを取得します。以下のページのコードを使うと、リクエストトークンとアクセストークンと一通りの必要な情報を修得できます。
そんな感じでした。
Kindlizer Backendを使ってる人ってどのくらいいるんですかね。これなかなか便利です。ウォール・ストリート・ジャーナル有料版もだいたいできて微調整してるところなので、もうちょっと様子を見たらフォークしてプルリクエストしようと思います。→ しました
スクレイピングするのは問題ないのか規約もチェックしてるんですけど、禁止されてる感じではないという印象かなあ…。このいうのは解釈が難しいですね。
]]>(iii) 私的利用の目的で本サービスの記事をダウンロード、保存及びアーカイブすることができます。会員は、私的利用の範囲内で数名の個人にアーカイブへのアクセ スを許すことは構いません。
これまでは Mondo Rescue っていうのを使って定期的にイメージを生成して、適当なタイミングでダウンロードっていう運用でした。Mondo Rescue で作ったイメージを使うと、管理画面からそのまま復元できるらしいのでお手軽です。万一消えた時に再構築する手間がほとんどかからないっぽい雰囲気でステキですね。
でまあ「適当にダウンロード」と書いた通りに不定期で手元にダウンロードする運用だからわりと期間が空くわけでバックアップとしては微妙なんです。なので、せっかく容量が豊富な Copy をゲットしたので頼ってみることにしました。
まだ登録してない方はここからどうぞ!!
15GBに加えて、紹介者と双方に5GBのボーナスもらえますので20GB使えます。Twitterとリンクすると、さらに2GBもらえます!すげえ!
さて、実際のバックアップですが、Copy の信頼性がいまひとつわからないので暗号化したデータを転送するようにしました。
EncFS という暗号化ファイルシステムがあるので、それを使います。今回環境構築するにあたって以下のページを参考にしました。
バックアップの運用はこんな感じで考えています。
さくらでISOイメージを使って復元する場合、複数のイメージファイルは使えず、さらに5GBまでといったファイル制限があるという噂なので、/home とそれ以外とでバックアップを分けています。/home 以外は変更が少ないしそれほど重要でないのでこうしました。Copy では1つのファイルは1.5GBまでしか転送できないので、ISO イメージを作ったあとに分割します。
うちは Ubuntu で運用してるので、必要なものは APT で入りました。
$ aptitude install mondo encfs
Copy の Linux 版をダウンロードしてきたら、実行してみます。x86 ディレクトリにバイナリがあるので、それを使いました。
$ sudo mkdir -p /drive/copy $ sudo ./CopyConsole -username=email@example.com -root=/drive/copy
多分パスワードを聞かれて同期が開始されることだと思います。適当なファイルを作って同期されるか確認してみましょう。ちなみにこれだとバックグラウンドで実行できないので、設定がうまくいったらデーモンモードで起動しましょう。
$ sudo ./CopyConsole -username=email@example.com -root=/drive/copy -daemon &
次は EncFS をセットアップします。ルートディレクトリ・マウントポイントの順で指定します。
$ sudo encfs /drive/copy/encfs/ /mnt/encfs/ ディレクトリ "/drive/copy/encfs/" が存在しません。作成しますか? (y,n) y ディレクトリ "/mnt/encfs/" が存在しません。作成しますか? (y,n) y 新しい暗号化ボリュームを作成します。 Please choose from one of the following options: enter "x" for expert configuration mode, enter "p" for pre-configured paranoia mode, anything else, or an empty line will select standard mode. ?> Standard configuration selected. 設定が完了しました。以下のプロパティのファイルシステムが 作成されます: ファイルシステム暗号アルゴリズム: "ssl/aes", バージョン 2:2:1 Filename encoding: "nameio/block", version 3:0:1 鍵サイズ: 192 ビット Block Size: 1024 bytes Each file contains 8 byte header with unique IV data. Filenames encoded using IV chaining mode. File holes passed through to ciphertext. Now you will need to enter a password for your filesystem. You will need to remember this password, as there is absolutely no recovery mechanism. However, the password can be changed later using encfsctl. 新しい Encfs パスワード: Encfs パスワードの確認:
適当なファイルを作ってみると、/drive/copy/encfs 内に自動的に暗号化されたファイルが生成されます。/drive/copy 以下は Copy の同期ディレクトリになっているので、自動的にサーバに転送されますね。これで準備完了です。
$ sudo touch /mnt/encfs/IhaveApen $ ls /drive/copy/encfs/ .encfs6.xml EI33ZIyxOCbSJ6cKmOizrWWg
ここまできたらあとはまあ適当なスクリプトなりなんなりを書いて、/mnt/encfs にファイルを突っ込むだけです。ホームディレクトリはこんな感じにしています。
#! /bin/sh if [ -x "/mnt/encfs/home" ] then rsync -pa --delete /home /mnt/encfs fi
Mondo Rescue はこんな感じにしました。
#! /bin/sh BKDIR=/drive/mondo SyncDIR=/mnt/encfs if ! [ -x "$SyncDIR/mondo" ] then exit fi rm -f ${BKDIR}/* mkdir -p $BKDIR mondoarchive -Oi -L -N -s 4200m -S /tmp -d $BKDIR -E "/drive /home /mnt" cd $BKDIR split --bytes 800m mondorescue-1.iso rsync -pa --exclude '*.iso' --delete $BKDIR $SyncDIR
データベース使ってる場合は、ダンプしたデータを /mnt/encfs 以下に定期的に出力するとより安心かもしれないですね。
]]><![CDATA[]]> が使えなくなったのでその対応とか、検索バーの位置を変更する機能の一部が動いてない部分があったので消したり、辞書の初回ダウンロードとハイライトを動くようにしたくらいかな。自分はあんまり変わった設定で使ってなくてウェブページで migemo 検索できれば満足なので、他にも動いてない部分もあったりするかもしれませんごめんなさい。
オリジナルの 0.13.6 に以下の2つのパッチをあてて自分で作ることも可能です。
全部できてコード公開しようかなと思った後に、なんと github に piro さんのコードが上がってるのを見つけてしまってビックリ。先に調べろって話だよね…。更新もされてるみたいなんだけど、make して出来上がった xpi ファイルを Firefox にインストールしようとしてもうまくいかなかったので、同じように困ってる方がいるかもしれないから自分のやつを公開した次第です。あとで github のやつも調べてうまいことやりたいな。
[2013.04.10追記]
上記 github のコードが動かなかったのは、Mac だったかららしくて修正してもらいました。xpi になったものは以下から取得できるようです。こっち使った方が良いと思います。
]]>ローカルネットワーク間でのSSH、具体的には MacBook 同士で接続開始するまでが長いので、以下の2つのファイルに設定を追加した
なによりも便利だなと思ったのが、ノンブルを自動で認識して除去してくれる機能。Kindlizer の場合は自分でカットする領域を決めないといけないから、スティーブ・ジョブズ名語録 みたいに通常の本文が入るページと、合間に入るコラムでサイズが違うような場合に調整するのがめんどくさいということ。
ちなみにこんな感じです。左がコラムのページで右側が名言が書いてあるページ。
ChainLP だとカットする領域を自動で認識してくれるみたいでこういう悩みからは開放されそう。Windows なソフトなので、Mac のみで変換したいっていう願いは結局かなわないけど、5分もかからず変換できるほど早いしとにかく楽なのでむしろプラスだという事でここはひとつ。
というわけで色々と試してみて、設定は以下に落ち着いたのでメモ。
あと、スキャンについては ScanSnap 使って以下の設定でやってます。
諸々やって Kindle に転送するとこんな感じ。参考までに 青空キンドル で変換したやつも。左がScanSnap+ChainLP、右が青空キンドル。とてもスキャンしたデータには見えないほど綺麗に描画されます。
]]>そんでもって、ログとか見てたら思ったより利用者が多いんですよね。というわけで、前回の集計 からだいぶ経ってるし中途半端な数値ですが、改めて集計をしてみました。
まさか1日に1,000回近くダウンロードされるサービスになってるとは…。Sonyのとかiriverのやつとか、Kindleユーザ以外の方も結構いらっしゃるみたいですね。
2010年3月7日からは、独自のテキストを入力してPDF変換する機能も提供しているのですが、こちらは71,364回と、青空文庫の変換と比べて10%程度の利用数でした。1日の変換数は約123回ですが、慣れないと1回で満足な変換結果を得られないんでちょっと少なめに見た方がいい数値ではあります。それでも割りと多いような気がしますけどね。変換したいテキストとかって、そんなあるわけじゃないだろうし。
最後に、1000回以上変換された作品のランキングを載せておきますので、どんな作品を読めばいいか迷ったかたは参考にしてください。
相変わらず夏目漱石の人気は圧倒的ですね。
]]>ソフトバンクとかアップルのAppleCareとかでも何かしら(盗難は知らないけど)保証してくれるサービスがあるようですが、そういうのは一切加入してないのでここでは話題に出ません。
まずは、昨日の記事を読んでない方のために何が起きたか三行で説明しておきます。事前準備はこれでオーケー!
さて、犯人が捕まるわけもないのでトボトボ日本に帰ってきました。しかしこんな時のために海外旅行保険がついてるクレジットカードを使っているので、さっそく請求してみようと思い立つわけです。今回お世話になったカードは JALカードSuica CLUB-A っていうやつ。1旅行で50万円までの携行品損害の保険がついてます。
保険の種類 が書いてあるページを見てると、資料についてはメンバーズルームって所で見れるらしいので、さっそく登録して確認。東京海上日動火災保険っていう会社に連絡するといいらしいので電話してみると、とても丁寧で感じのよい女性の方が担当してくれました。
ざっと事故の状況やらカード番号などを確認したら、必要書類を送ってくれるということ。特に問題なければ30日程度で支払われるらしい。お怪我はありませんでしたかとか、優しい言葉をかけて頂きました。
待つこと約一週間。封書が届きました。クレジットカード番号や事故の詳細、振込先口座や被害金額などを書いて、パスポートの入出国欄のコピーと、そして重要なのが事故証明書の添付。僕の場合は、サンフランシスコ警察の人にCase Numberっていう番号が書いたレポートを貰っていたので、それを添付しました。
さらに商品購入時の領収書が必要なのでこれも添付。今回被害にあったのは、iPhone4とそして一緒につけていたカバーです。iPhone4は一括払いで買っていたので、その時の領収書を。カバーの方は領収書を取っていなかったので、ダメ元でGmailに来てた購入確認メールを印刷して添付しました。せこい話ですが、やっぱり気に入って使ってた 浜崎あゆみのカバー だったので(笑)
あとは、他に旅行保険付帯のクレジットカードを持っていたらその情報も必要ということで、それについてもカード番号を記入しておきました。ぐぐったら、自損分が賄われたりするらしいんですが、今のところいまいちハッキリしないので効果の程はわからず。
書類をまとめて、さっさと投函してさらに待つこと数日。事故受付の連絡という紙切れが一枚届きました。受付番号が発行されたので、問い合わせする場合はこれを使えばいいんでしょう。
そしてさらに待つこと数日…ついに「保険金お支払いのご案内」というハガキが届いてその日に振り込みが確認できました!やった!今夜は祝杯だ!
という感じですんなり行き過ぎてあまり語ることもないんですが、こんなところです。振り込みの金額は…携帯電話だと減価償却されるらしいですが、10%引かれていました。本体+カバーの購入金額の90%が返ってきてとても嬉しいです。
最初の連絡から2週間ちょっとで振り込まれました。思ったより速かったですね。最初に電話した以外は、特に直接話すことはなかったです。
6月11日土曜日14:20分頃のことです。ユニオンスクエアのAppleStoreの近くでiPhoneを構えて写真撮影をしていたところ、死角からこうガバッとiPhoneを捕まれて、犯人のお兄さんはそのまま地下鉄のほうへ逃げてゆかれました。頑張って追いかけてみましたが、本職の泥棒に適うわけもなく、まんまと逃げられてしまいました。
行ったことある人はわかると思いますが、あの辺は人も割と多くてね、完璧油断してました。どんな感じかは ストリートビュー をご覧いただくとなんか想像つくかも。
幸いなことに、追いかけっこを目撃していた女性の方が鉄道警察に通報してくれて、すぐにBart(あっちの地下鉄)の警備員さんが来てくれました。事件発生現場は地上だったので管轄が違うらしく、サンフランシスコ警察を呼んでくれたりとか、俺英語あんまりしゃべれないから日本語わかる人探してくれて、何故かAppleStoreの従業員の方が出てきたりとかのイベントがあったんだけど、まあどうでもいいんで割愛。
残念ながらFind My iPhoneは使ってないので、その辺りの探索体験できませんでした。どっちにしろすぐ電源切ってたっぽいんですけどね。なんかどうも盗難事件が多発していたらしいんですよ。自分の場合は触れられてすらいないので、怪我も何もなく無事に日本に帰ってきました。
会場前の行列ではiPhoneを使わないに警察から指示が。
というのもiPhoneの盗難が多発しているとのこと。たんにひったくられるだけじゃなく、ひどい場合は通話中に殴られて奪われるパターンもあった様子。><
で、ケーサツの方に名前やら連絡先やらを聞かれて解散したところで本題の、この後なにをやったか。
まずはソフトバンクへ電話して電話回線を止めてもらう。海外専用窓口に電話して、電話番号と名前とパスワードですぐ止めてくれました。
そしてiPhoneの対応。iPhoneにはパスコードロックをかけていましたが、未操作のあと何分後(1時間かな)みたいな設定だったので、念のためiPhoneからアクセスできるウェブサービスのパスワードなどを変更していきました。手元にiPod touchが複数台あったため、色々状況をシミュレートしながら設定変更をためすことができ、なかなか興味深い結果になったので、代表的なサービスについて、各アカウントで行なった対策とその結果どうなるかをまとめました。
Googleのアカウントには「他のセッションをログアウト」という項目があるので、パスワードを変更してからこれを選択することで、iPhoneの「メール」アプリからのアクセスをシャットアウトできます。ただ普通にキャッシュは残ってるだろうから、最近見たメールなんかは読まれる可能性はありますね。
カレンダーは個人的に「CalenGoo」というアプリを使っていますが、オフラインの状態では取得済の予定はすべて見れます。オンラインになると、自動的にログイン画面に戻ったので、新しい予定は表示できなくなります。他のアプリでは試していないのでわかりません。
Gmailには「アカウントのアクティビティ」という画面で利用IPアドレスの履歴を表示できます。これを見ると不正アクセスがあったかどうかすぐわかります。あまり使ってないアカウントがあれば、そのアカウントのパスワードを変更しないでおくというのも手かなとか思いました。実際に不正アクセスが発生したかどうかを確認出来る可能性がぐっと上がります。
最初にパスワードを変更し、次にアプリケーションの接続を遮断します。
iPhoneのTwitterクライアントはOAuth/XAuthで認証を行なっているので、基本的にパスワードを変更したとしてもアカウント情報へのアクセスは可能です。http://twitter.com/settings/applications にアクセスして、表示されるアプリケーションを一通りremoveしていくと、これらの接続を切ることができます。これで、いままで使っていたiPhoneから不正にアクセスされることはなくなります。
ほとんどのクライアントは、オンラインだろうがオフラインだろうがアクセスができなかった場合にその旨のアラートを表示するだけなので、過去に表示したDMなどは見えてしまいます。これは防ぎようがありませんので、秘密情報が含まれていないかは十分確認したほうがいいでしょう。使ってるアカウント名ももろに表示されてしまうので、監視される可能性も考慮して、少しの間だけつぶやきは非公開にしておきました。
新しいiPhoneなどを入手したあと、クライアントアプリで改めて認証をした場合、OAuth/XAuthのトークンが新しくなるので盗難iPhoneからアクセスされる心配はありません。
Facebookのパスワードを変更すると、iPhoneアプリは自動的にログアウトされて強制的にログイン画面に戻ります。すばらしいアプリです。オフラインだとほとんど操作できないので、Facebookは早々に安全だと判断できました。
ただし、Facebookのコネクションを利用してログインするタイプのアプリの場合は、そうはいきません。たとえばBelugaです。
Belugaのログイン認証は端末毎にセッションを作っているようなので、どこかでログアウトをしても他の端末には影響がありません。Podを見れないようにするためにLeave Podを実行すると、Leaveを実行した端末とWebからは該当のpodへアクセスできなくなります。が、すでにログを表示済の端末、つまり紛失した端末上では過去ログの参照ができてしまいます(投稿はできません)。当然新しいPodを作るとすべての端末に内容が同期されます。アカウント消すこともできないし、なんかどうしようもないっぽいのでひとまずBelugaを使のはやめにしました。
パスワードを変更した上で、端末毎のリンクを解除します。
リンクを解除された端末でDropboxアプリを立ち上げると、パスワード入力のプロンプトが表示されます。ただし、このプロンプトをキャンセルしてファイルにアクセスすることが可能です。じっくり検証したわけではりませんが、キャッシュされているファイルは表示できるようです。
サードパーティ製のアプリケーションとの接続を切る機能がありますが、これを実行してもすでに認証済のアプリケーションには影響がないようです。
前に使っていたiPhone3GSを持っているので、これをソフトバンクショップに持っていったところ、機種変更の扱いでSIMを発行してもらえました。約2000円の事務手数料のみです。
出発前に取っていたバックアップから復元したので、データ的な損害は大したことありませんでした。
海外旅行保険はいつも入ってません。クレジットカード付帯の盗難保険がついてるので、そこに保険金の請求をします。というか、請求してもうすでに振り込まれました。これについては後日まとめます。→ まとめました 海外で盗難にあったiPhoneを保証してもらった件について
実際、データの盗難が目的だったらパスコードロックかかってない時点でほぼ死亡なのよね。いまのところ不正にアクセスされた形跡はないので本当に良かった。
必要なこと
あと、開発者として気付いたこと
ミドルクリックすれば、従来通りにカレントタブで開きます。
oretab.xul をいじって以下の js ファイルを読み込まないようにすれば、要らない機能が省けます。
ダイヤモンド社の電子書籍が手軽に読める、iPhone/iPad 向けのアプリケーションです。
上のサイトの動画とか良く出来ていて、一通りの使い方やらを体験できます。使ってみたくなりますね。アプリのアイコンも結構おもしろく、なんていうか立体的なんですよ。3Dなアイコンはあまり見かけないので、目をひきます。
とまあ、宣伝だけだと残念な感じなので、これってどのくらいの期間で作ったのか?っていうのに興味ある方もいらっしゃるかもしれないので、ちょっと書いてみます。
確か8月くらいからダイヤモンド社の電子書籍チームのみなさんとデザインを考えはじめて、あーだこーだこうなってないとおかしいやらなんやら言いあって、だいたい9月頭頃からプログラムを触りはじめました。
約1ヶ月でiPhone版のプロトタイプがほぼ出来上がって、そのままiPad対応のユニバーサル化へ。ユニバーサル化は予想より大分時間がかかった感じだけど、2週間強でほぼiPhoneと同じように動くように。
その後、課金サービス(これは外部のASPサービスを利用)の方で機能を追加してもらったり、試し読みとか絶対無いと不便だよね〜、と機能を追加したり、ブラッシュアップを重ねて12月の頭に申請して20日にリリースとなりましたとさ。
いまは機能追加とかは少し休んでますが、落ち着いたらさらなるバージョンアップへ向けて動き出します。いろいろ要望もたまってますしね。昨日は、電子書籍の有名人(?)とも会ったりして楽しい話を聞けたりしました。色々コラボ出来たりすると面白いよなあとか思いながら、来年へ向けてこの勢いを衰えさせないように頑張っていきたいと思います。
]]>週二回くらい持ち運ぶ感じなので、そこまで軽くなくてもいいでしょうと13インチを選択。メモリとかスペックはマックス構成にしましたよ。イェーイ!
いや〜、それにしても薄くていいっすねー。バッテリもすごいもつし。あとは黒縁でアンチグレアな液晶のタイプがあればなーと思わずにいられません。
Thinkpadのトラックポイント超便利で大好きです。VaioC1の頃から考えると、もうかれこれ10年くらいはお世話になってるんですね。お陰で他メーカーのマシンに移行する気がまったく起きなくて…。特に重要なのは、第三ボタンの存在。ターミナル上で第三ボタンを押すとペーストされるのがずごい便利で文字選択のヤンクと組み合わせて最高な環境だと思ってます。
なので、この部分が一番障害だよなーと心配だったわけですけども、まあ結構慣れましたよトラックパッド。ジェスチャと慣性スクロールがいいですね。Thinkpadだとマウス無しはキツイナーって感じでしたが、Macだとトラックパッドだけでほぼ問題ないから外で作業するのもわりと快適。
いままでJISキーボードを使っていましたが、今回なんとなくノリでUSキーボードにチャレンジしてみることにしました。vimを使ってる時間がかなり長いわけですが、英語圏で開発されたソフトなので、やっぱUSキーボードの方が使いやすいんだろうなーと前から漠然と思っていたので挑戦です。
……記号の位置が全然違うので、まだあんまり慣れていません。* とか ^ とかよく使うのに遠くなって正直不便。
あとreturnキーが近くて良いって聞くけど、使う前は「そんな変わらんでしょ、しかも小さいし」とか思ってましたゴメンナサイ。これはね、大分違いますな。いまJISキーボード触るとreturnが遠くてビビる。今のところよくなったと感じるのはそのくらいかなあ。コロンがどうしても使いにくいのでKeyRemap4MacBookで : と ' をスワップしちゃいました。へたれですまん。
デュアルディスプレイがさ、ちょっと使いにくいんじゃないかと思うんですよ。サブディスプレイ上でFinderのファイルコピーする時に、上書き確認のダイアログがメインディスプレイに出た時はなんじゃこれと思いましたね。メニューも基本的にウィンドウから離れたどっか遠くにあるし。DejaMenuとかまだ使ってないけどこれで解決するかな。
UbuntuかX Window Systemかウィンドウマネージャかよくわかんないけど、ALTドラッグでウィンドウを移動して、ALT右ドラッグでウィンドウサイズを変更出来るって言う革命的に便利な機能があるんですよ。これの代替手段になりそうなのが見付からないのよね。2年前からちょくちょく探してるんだけど、満足いくものが見付からない。Zooom ってのがよさそうな感じだったんだけど、確か前に試した時はリサイズがスムーズじゃなかったような気がした。また試してみようかな。
最後に、Spotlightからのショートカットがすごい便利なんだけど、この中にVMWareの中のソフトが紛れてることがあって、間違えて選択するとVMWareが立ち上がってうざいのなんのって…。これリストから外す方法ないのかな。
こんなの使ってますよーってことで。
MacPortsからは、gitとかcoreutilsとか。最初、ターミナルの操作でmvやcpコマンドの動きがだいぶ違う感じでフォルダをmvしてるのに、中身が出ちゃったりとかよくわかんない感じだったんだけど、coreutilsを入れてgmvとかgcpとかをエイリアスしたら意図通りに動くようになりました。
Macいいっすなー。液晶がすごいキレイだよね。もともと初めて買ったコンピュータはMacの…LC630っていう懐かしい機種だったりして、そうそう6色iMacが出たときはマックワールドエキスポ行ったりもしたし、Macは好きなので戻ってこれて嬉しいですね。特にiPhoneとかと連携するソフトウェアとか、いままではさっぱり使えなかったけど、これからは世界が広がるのが期待出来ますなー。手始めに1Passwordを使えるようにしないとね。
]]>最近どんなことをやってますかというと、iPhoneの電子書籍色々やってます。
色々っていうの嘘、ダイヤモンド社から出てるだけですけど。というわけで、完全に時期を逸した感がありありですが、iPhone/iPad向けにダイヤモンド社から出てる電子書籍アプリ、もしドラ とか 適当日記 とかのリーダアプリの開発をやらせてもらっています。現在進行形でバージョンアップ作業中。
こんな記事にまでなってたりとか。
あとなんか大体こんな感じ。
]]>iPhone アプリ開発のお供に。
Trac界隈で有名な 広部さん と、iPhoneアプリ開発勉強会で知り合った 松浦さん と一緒になって、iPhone アプリの開発に便利そうなサンプルコード集といった体の解説書を一ヶ月ほど前に出しました。
アプリの作り方や Objective-C の概要はわかったけど、この後どうすりゃいいのかわからん?!というレベルの方を対象にしています。秀和システムさんのサイトの 書籍紹介 が詳しいので、これは?!と思った項目があったら即ゲットしましょう。なにげにコラムな内容が充実しています。
あと…デカくて高い開発本ばかりなのが気にくわなかったので、コンパクトなA5版でお値段もお願いして安くしてもらいました。コラム頑張ったのも、移動中に読んで楽しめるようにと考えてのことです。
書籍内で紹介しているコードに関しては、以下の github から取得することが出来るようになりました。
いつもながら秀和システムさまのK氏には本当にお世話になりました。広部さんも松浦さんも無茶なスケジュールに文句も言わずコツコツやってくださり、本当に助かりました。ありがとうございました。
]]>もしかしたら開発者じゃない人には UIWebView の事ってあんまり知られてないんじゃないかなあと思ったので書いてみます。
PCとかのソフトでもそうなんでしょうけど、野良ブラウザアプリを使ってる場合は、いま見てるページが本物かどうかを見分ける方法は無いです。
iPhoneアプリの中には URL を入力してウェブページを表示するいわゆるブラウザアプリが多くありますが、ブラウザアプリに限らず、ウェブページを表示する場合は UIWebView というUIコンポーネントを利用してまして、Safari と同じような表示が簡単に出来ます。この UIWebView には単にHTMLページを表示するだけの機能しかなく、表示中のページの URL を画面に表示する機能は存在しません。
なもんで、アプリ内にアドレスバーっぽいものが出てても、それが本当に正しいのかを知る方法がありません。もちろん鍵マークなんて出ません。つまり、野良ブラウザアプリを使って銀行のサイトにログインしようとしたら、偽サイトに繋がってましたって事が、普通に起こります。この辺、実際は単にアプリ提供ベンダーの信頼性の話なもんで、ウェブアクセスに限った話じゃないんですけどね。
はてなブックマークのアプリのようにアクセス先の URL が表示されないのはそれ以前の問題で、当該アプリの利用者を狙って第三者が攻撃することが考えられるので、開発者においては自分の信頼性とは別にアドレスバーは作っておいた方が良いですよ。
まあ iPhoneのサファリ自体もイマイチなもんで SSL の発行者情報とか確認出来ない…ですよね? EV-SSL には対応してるらしくて、そっちは表示されるけど、なんだかなあって思う。
]]>