思ってることってこんなもんだよ
2013

今年も残すところあと数時間。僕にとっての2013年は、激動というか、良い意味で大きな変化があった年となりました。 長女誕生 とにかくこれに尽きます。10月16日7時23分に、3252gの無事元気な女の子が誕生しました。 今年の初めから妻の妊娠生活が始まり、今日2ヶ月半くらいですが既に体重は6000gを超えています。ここまでこれたのは「妻の頑張り」の一言です。いくら感謝しても感謝しきれません。 とにかくミルクをよく飲みます。ぐびぐび飲みます。太ももは既にお相撲さんです。ここから縦に伸びて...

Chromeのstable 29から、OAuth2を拡張機能内で扱うためのAPIが搭載されました。APIリファレンスを和訳してみましたので、興味のある方は参考にしてください。 Original: http://developer.chrome.com/extensions/identity.html chrome.identity 説明: OAuth2アクセストークンの取得のためにchrome.identity APIを使います。 利用可能環境: Chrome 29 安定版以降 権限: "...

昨日、家に帰ってきてネットでぶらぶらしてたら、突然自宅サーバのSMTPサービスからエラーメールが次々と送信されてきた。そのメールの中身を注意深く見てみると、 "Insufficient system storage" と書かれてる。あれ?vmのファイルイメージ壊れた?と一瞬思ったけど、Postfixを動かしてるvmのOSやPostfix自体は動作してるわけで、HDD障害ってわけでもなさそう。でも、storageって言ってるので、何かファイル関連の話かなぁ、と調査を開始。 わかってみれば、ど...

16日の朝7時23分、我が家に家族が増えました。3252gの女の子が誕生しました!15日が終わって16日に変わる深夜に陣痛が始まり、約8時間後に産まれました。安産、なのかな。 その日は「10年に1度」と言われた台風が来ていて、「暴風雨の時に陣痛来たら大変だねー」なんて職場で話していたんですけど、まさにそれが現実になってしまいました。僕自身は午前2時前くらいに病院に到着して、出産の直前まで妻の隣にいたのですが、確かに風の音はすごかった気もするけど、台風が来てるなんて意識はどっかに吹っ飛んで...

既に「Chrome Packaged Apps」として開発者に知られていましたが、遂にGoogleはそれを「Chrome Apps(Chromeアプリ)」という名前で正式公開しました。今まではPackagedアプリを作ってChromeウェブストアに公開しても、検索にヒットせず、カテゴライズもされていませんでした(URLを直接知らないと見つけられなかった)。現在は、Windows向けのChromeウェブストアで「PC向け」としてPackagedアプリがいくつか公開されています。 以下、Ch...

emacs24以前では、auto-installなどの外部elispを使って、パッケージをインストールしていました。emacs24からは、package.elというパッケージ管理機能(ELPAと呼ばれています)が標準で搭載されるようになり、機能拡張がより簡単になっています。M-x list-packagesとすれば、インストール可能なパッケージの一覧が表示され、その中からインストールしたいパッケージで"i"をタイプし、"x"でインストールを実行できます。ホントに簡単です。 package....

OLYMPUSのE-P5レンズキットについてきた17mm F1.8レンズは、単焦点なので撮りたい画角に自分が移動しなければなりません。それはわかっていたのですが、やはりズームレンズも1本持っておきたいな、と思い、買ってみました。 M.ZUIKO DIGITAL ED 40-150mm F4.0-5.6 R こんな感じのレンズです。 望遠側にすると、にゅいぃーんと伸びます。 僕の家の庭には、今背の高いひまわりが咲いています。これを17mm F1.8のレンズで狙うには、脚立に登って撮らない...

たまに「何か新しいAPIが登場してないかなぁ」とChrome extensionのAPIリファレンスを眺めに行きます。今日も眺めていたら、見慣れないAPIがリストに追加されているのに気がつきました。 その名は、「chrome.system.cpu」です。 http://developer.chrome.com/extensions/system_cpu.html これはCPUに関するメタ情報を得るためのAPIです。まだソースコードのtrunkにしかなく、自分でビルドしないとこのAPIを試す...

僕はFreeNASの8.0.3からのユーザですが、RAIDZ2で快適ファイルサーバ生活を続けています。途中1回のHDD交換を経験し、OSのバージョンも8.2.0p1まで順調に上げてきていました。 世の中はもう8.3.1まで来ていて、すでに9.1のRC版まで公開されています。ファイルサーバという性質上、バージョンを上げたことによってものすごいメリットを得られるかというと、そんなことはありません。しかし、新しもの好きの僕としては、例えば体感できないけどファイル転送スピードがほんのちょっと上がる...

この前買ったOLYMPUS PEN E-P5と17mm F1.8レンズの組み合わせで、写真を撮りまくってます。背景をボケさせるためのコツがだんだんわかってきました。かなり満足いってます。 で、この明るいレンズは夜景も得意なんだというレポートがネットに結構多く載ってます。試しに、庭を撮ってみました。 (ISO 1600 17mm -0.3EV F1.8 1/1) この写真、20時過ぎに撮ったものです。肉眼では、もう真っ暗。庭のランプがなければ、足下も見えない感じです。上の写真を撮るために、...

自分で綺麗に撮れた写真を600x450にリサイズしてブログに投稿してみる。 ここからわかることは、僕は撮りたい被写体を右下でピント合わせて、左上に向かってぼかして奥行きを見せる、っていう構図が好きなんだ、ということですね。

7月5日に発売開始になったChrom本を探しに近くの本屋に行ってみました。 ぱっと見ても平積みはされてなく、ちょっと探していると、OpenSocial本が見つかりました。 そして隣の棚には、mixiアプリ本も発見。 でも、いくら探してもChrome本は見つかりません。本を探すための端末があったので、キーワードを「著者名: たなかよういちろう」で検索するも、なぜかヒットせず。その端末はどうも平仮名しかキーワードに入れられない模様。もしかして・・・と思って、キーワードとして「著者名: あ...

今までコンデジ&iPhoneで適当に写真を撮ってきましたが、最近無性に「良いカメラ」が欲しくなって、ついに買ってしまいました。 OLYMPUS マイクロ一眼 PEN E-P5 17mm F1.8 レンズキット(ビューファインダー VF-4セット) シルバー E-P5 17mm F1.8 LKIT SLV OLYMPUS PEN E-P5という先月に発売されたばかりのミラーレスカメラです。10万ちょいの一眼レフを買おうと最初思ってたんですけど、カメラ小僧が多いGoogle Develope...

Chromeを担当しているGoogle Developers Expert達と、Chromeに関する書籍を執筆しました。7月5日に発売予定です。 この本は、3つの章から構成されています。 Chrome API Chromeウェブストア デベロッパーツール 僕はChromeウェブストアの章を担当しました。ウェブストアの掲載内容、アプリや拡張機能をウェブストアに公開するための手順、そして課金APIやウェブストアにアプリを有料で販売するためのマネタイズ手法について書いています。アプリや拡張...

ちょっと前に僕がリリースしている拡張機能をバージョンアップしようとして、Chromeデベロッパーダッシュボードを開きました。そこには見慣れないリンク「詳細」がありました。 押してみると、アイテムIDや公開鍵が表示されました。 ここで「おぉ、なんと便利な!」と思った方は、下を読まなくてもいいです。僕は最初「え、公開鍵なんて表示されても、何に使うんだ?利用用途ないだろおい」と思ってしまいました。でも、理由なく単に「特に意味ないけど出してみました、てへっ」なんてことはないと思うので、G+のコ...

「操作はしていないけれど、画面を表示しっぱなしにしておきたい」という場面があります。例えば、プレゼンテーションの真っ最中とか、電子書籍を読んでいる時などです。そのような種類のアプリや拡張機能をChrome向けに作った際に、chrome.power APIを使うことで、一時的に省電力に入ることを抑制することが可能です。 Chrome 27から、アプリと拡張機能の両方でchrome.power APIを使うことができます。そのAPI Referenceを和訳してみましたので、下に掲載します。 ...

そろそろStableになるんじゃないかと思って、Chromeの拡張機能で利用可能になる予定のDownload APIのリファレンスを和訳してみました。Chrome Canaryでは実際に試すことができます。Download APIは、ファイルダウンロードをプログラムから制御可能にするAPIであり、chrome://downloads/ ページ相当の機能をプログラムで実現可能というものです。 結構このAPIを待っていた人は多いと思います。Stableに入るまでに、ぜひAPIの使い方をマスター...

Chrome拡張機能を久々にバージョンアップしようとして、Chromeデベロッパーダッシュボードに行ってみると、何やら新しい機能を発見!それは、 「段階的に新しいバージョンの利用ユーザを増やしていける機能」 です。Chrome拡張機能のzipファイルをアップロードすると、以下のようなUIが出てくるようになりました。 つまり、ここで入力した割合で限定されたユーザ数にのみ、このバージョンを利用してもらうということが可能になります。例えば、新しい機能の評判を徐々に見ていくとか、新しい機能による...

今年は残念ながら参加できなかったGoogle I/O。しかし、Google Developers Expertとして、Google I/O報告会でレポートしなくちゃいけないという、なんとも嬉しいんだか悲しいんだかな感じで、しっかりとレポートをしてきました。今年も全国をHangoutsでつないで、各地で盛り上がりを見せた報告会になりました。昨年は東京会場でしたが、今年は名古屋会場にお邪魔してきました。 名古屋会場の場所は、名古屋ルーセントタワー32階にある株式会社エイチームの会議室でした。 ...

とある事情で、夕飯をほぼ毎日外食しなくちゃいけない時期が先月あって、食べたものの写真を撮っていたことを今思い出しました。ここでどんなものを食べていたのかを振り返ってみたいと思います。 まずはカレー。野菜、牛しゃぶ、ハンバーグをトッピングしてます。 次もカレー。野菜、牛しゃぶ、とんかつをトッピングしてます。 次は松屋。サラダ、牛めし、豚汁変更です。 そしてまたカレー。野菜、豚しゃぶ、とんかつトッピングです。 次の日は、なぜかコンビニのざるそば。 日高屋のチャーハンと餃子。 ...

FreeNAS8のHDD交換エントリで紹介した通り、FreeNAS8で故障したHDDの交換をしてました。replaceを開始して、残り6,7時間と表示され、気を長くして待っていると見せかけて、寝てました。 朝になっても終わってなかったのですが、replaceは何とか終わった模様。状況を確認してみます。 [bash gutter="false"] # zpool status pool: tobu state: DEGRADED scrub: resilver completed a...

FreeNAS8で運用してきたNASのHDDが1つ遂にお亡くなりになってしまいました。SMARTの値もどんどん酷くなっていたんだけど、ある日気がつくとHDDが認識されてなくて、プールのステータスもDEGRADEDに。 RAID-Z2で作ってあったために、もう1台壊れても大丈夫。焦ることはありません。ダメになったHDDを特定し、予め買ってあった新しいHDDに交換します。 その後電源を入れてプールの状況を見ると、以下のような感じに。 [bash gutter="false"] # zpool ...

ちょうど昨年の今日に、Image collector extensionをリリースしました。画像の一括ダウンロードという機能が欲しくて自分用に作った拡張機能でしたが、おかげさまで今日Developer Dashboardを見たら、1週間のユーザ数が2万人を超えることができました。 Google Analyticsの測定でも、訪問数が2万を超えているのがわかります。 拡張機能側は最近手を入れてなくて、もっぱらサーバ側の調整をしてます。ホントはクラウドサービスを使って負荷分散とか冗長構成と...

前職を辞めて、2週間弱のぷー生活があと30分ちょいで終わろうとしています。この休みにやったことと言えば・・・ ある書籍の執筆作業。 Google Developers Expert meetingへの参加。 次の職場の人と飲み。 本の購入と自炊作業。 試してみたかった技術的な興味の検証。 CSでやってた「風雲たけし城」を見ること。 って感じ。ほとんど執筆で終わっちゃったかな。予定通りでした。 さぁ、明日から社会復帰です。さすがにドキドキです。でも、ワクワクです。 そういえば、さっきCh...

その答えが今日発表されました。結局、App Activitiesという新しい機能に統合されました。 App Activities - Google+ Platform Google Moments PreviewというGoogle Groupがあったのですが、そこに今日投稿された内容を翻訳したものが以下になります。 こんにちは、 Google+ Historyの開発者向けプレビュープログラムの貴重なメンバーとして、あなたにGoogle+の今後の方針のプレビューをお伝えします。今日、私たち...

時代はそろそろ「オフラインファースト」になる模様ですが、そのためにはブラウザが情報をオフラインで扱うことを可能にする機能が充実してくれないといけません。いろんなAPIを組み合わせて駆使していけば、現状でもできないことはないです。しかし、もちろん僕らは手軽にオフライン対応Webアプリを作りたいですよね?同期処理や競合など、自分で面倒見たくは誰しもないはずです。 SyncFileSystem APIはそんな僕らの要求に応えてくれるかもしれないと考えています。まだChrome Canaryでしか...

Image Collector extension、2月10日にやらかしてしまった結果、多くのユーザが休眠状態になってしまいました。何をしてしまったかは、「Chrome拡張機能でパーミッションを追加して再リリースすると何が起きるのか」のエントリをご覧ください。 その後、徐々に復活してきてます。ホントに徐々にですけど。休眠してたユーザが再び使い始めてくれているってことでしょうか。 もどってこーい!そして再び使ってくれー!

昨日の夜は、月1で行われているGoogle API Experts meetingでした。そこで、話題のChromebook Pixelの実機を触ってきました。 Chromebook Pixel 「ディスプレイの背面にロゴがなく、ヒンジのところに書かれてる」っていうことは知っていたのですが、その通りでした。小さめに「Chrome」って書かれてます。 重さはとっても軽いです。adamrockerが不自然な姿勢で持っても、とっても軽そうに見えます。 2回くらい前のGoogle I/Oでもら...

昨日の朝に、「ミクシィ社を退職しました」っていうエントリを出しました。その反響はすごく、Twitter、Facebook、Google+などで多くの方からいろいろなコメントをいただくことができました。今後も精進せなあかんな、と思った次第です。皆さま、ありがとうございます。 このブログは、僕の自宅にあるサーバで運用しています。最近muninというサーバの稼働状況をグラフでモニタリングできるソフトウェアを入れて、各サーバ、各VMの状況を見れるようにしていました。昨日のエントリに対する状況ももち...

3年と10ヶ月ちょい勤務したミクシィ社を退職しました。正確には今月末までですが、余ってた有給休暇を2週間ほど使うので、最終出社日としては先週の金曜日でした。 「退社」というか「退職」というかを調べていたのですが、「退職」という方が正確っぽいですね。退社だと「勤務を終えて家に帰ったこと」も意味として含まれるらしいです。確かに「退社願」は書かずに「退職願」を書きますよね。つまりはそういうことです。 入社からずっと一貫して「mixi Platform」の構築に従事してきました。mixi Deve...

開発者は常に新しい価値をユーザに提供したいと考えています。自分の技術的興味が、結果としてユーザを幸せにすることを切に願っています。新しい機能を提供するということは、時にユーザの持ち物をプログラムから更にアクセスできるようにならないと実現しません。勝手に持ち物に触ることは、現実世界ではやってはいけないことですし、もちろんChromeの中においても同じです。ユーザに許可を得て初めて、プログラムはユーザの持ち物に触れる権利を得られるのです。 全てのユーザが「うん、いいよ」と言ってくれれば話は楽で...

ちょっと前に「Event pageを複数回取ろうとしたときの罠」というエントリをしました。これは、以下のようなコードを実行した時に、Event pageのwindowオブジェクトを最初の1回しか取得できない、っていう現象を報告したものでした。 chrome.runtime.getBackgroundPage(function(backgroundPage) { console.log("1: " + backgroundPage); }); chrome.ru...

自分が作って公開しているChrome拡張機能をEvent page対応したことは前のエントリで紹介しました。一般的にはそのエントリの内容で十分であり、Chrome拡張機能の動作自体は問題なかったのですが、思わぬところで落とし穴が一つありました。 それは、Ajax通信によるバックエンドサーバとの通信料の増加、でした。 Image Collector extensionでは、Dropboxなどのクラウドストレージサーバに画像をアップロードする機能を、Chrome拡張機能内ではなく、僕の自宅で動...

【追記: 2013/02/08】以下の挙動はChromeのバグっぽいので、バグレポートを提出しています。 Chrome拡張機能を作っていて、最近はまったことをここで紹介したいと思います。それは、「複数回Event pageを取得しようとしたときの挙動」についてです。常駐しないエコタイプのBackground pageである「Event page」ですが、これをポップアップウィンドウなどから取得する際には、以下のように記述します。非同期な感じです。 chrome.runtime.getBa...

いくつかChrome拡張機能を作ってChromeウェブストアに公開しているのですが、それを最初に公開したときはmanifest.jsonファイルのバージョンがまだ最初の頃でした。現在ではバージョン2が主流であり、そろそろ古いバージョンの拡張機能は撲滅される予定になっています。そのため、開発者はそろそろ急いで新しいバージョンに変更すべく、せっせと移行作業を進めなければなりません。これは何もGoogleの開発者いじめではなく、ちゃんとした理由があります。その理由は、どれも開発者およびユーザへの...

今までGoogle Developers Expert(=API Expert)のSocial担当として活動をしてきましたが、この度Chrome担当に変更となりました。Google Developer Relations Japan Blogでもそのことが正式に触れられています。 [Google API Expert ミーティング 1 月を開催しました] http://googledevjp.blogspot.jp/2013/02/google-api-expert-1.html 最近はC...

昨日、Image Collector extensionの新しいバージョンをリリースしました。そのバージョンは、”スライドショーモード”という名前の新しい機能をサポートしています。きっとその機能は、ネットサーフィンをより楽しくしてくれると思っています。 この拡張機能のボタンをクリックしてポップアップを開いたとき、スライドショーモードを開始するための新しいリンクを見つけることができます。 そのリンクをクリックすると、スライドショーモードが開始されます。今見ていたWe...

昨日は毎月やっているGoogle Developers Expert meetingでした。そこでもらったのが「Google Developers法被」。法被と書いて「はっぴ」って読みます。 表はこんな感じ。 そして裏はこんな感じ。 着てみました。似合ってますかねー? これからイベントとかあれば、着ていこうと思います。

昨日1月24日の夜に、Chrome+HTML5 Developers Live Japan #1でChrome extensionの話をしてきました。その時の模様は以下で見れます。7分過ぎくらいから音量が大きくなりますので、それまではVolume MAXでお願いします。 使ったスライドは以下です。 内容としては、ちょっと前に書いた「僕が考えたChrome拡張機能を作るときのデザインパターン」の内容をベースに、Chrome拡張機能のHello, worldを作るための方法や、拡張機能でで...

Chrome拡張機能として提供しているImage Collector extensionの中で、今までWebKitBlobBuilderを使っていました。使ってた箇所は、画像を一気にダウンロードするコマンドが列挙されたスクリプトファイルを作る箇所。以下のようにしてました。 var script = "..."; var blobBuilder = new WebKitBlobBuilder(); blobBuilder.append(script); var link...

今年はzshを使うぞ!と意気込んで、身近にあるシェル環境を片っ端からzshに強制移行してます。もちろん形から入りたいので、oh-my-zshをまずはインストール。かっこいいテーマはないかなぁ、と物色してると、良さそうなのがあるじゃないですか。"wedisagree"というテーマが気に入りました。 このテーマ、プロンプトの右に、現在いるディレクトリのgitの状況がアイコン表示されます。現在のブランチ名とかも出て、かなり素敵。しかし、アイコンの意味がわからない。このままでは「ただキラキラして...

普段、会社にて開発のためにUbuntu 12.04を使っています。3Dを有効にできるだけのグラフィックチップの性能がないため特殊効果の恩恵は得てないのですが、Unityを使っています。これがホントに使いづらい。変にリッチすぎて、希望の操作を行うまでいちいち遠いなぁ、と思いながら使い続けています。他のデスクトップ環境を使いたくていろいろ入れるも、環境を壊したくもないので保守的にならざるを得ず、結局Unityに戻ってきて我慢してきた感じです。 PCのデスクトップでUnityはもーホントなんとか...

Tizen OSのEmulatorを先ほどは動かしてみたのですが、インストールされたのは実行環境だけではなく、IDEも入っています。Emulatorの起動に引き続いて、Tizen IDEを使って自分で作ったアプリをそのEmulatorで動かしてみました。 やってみた結果の感想は、とにかくIDEがバギーです。落ちる落ちる。「アプリを動かす」というゴールまではたどり着きましたが、IDEとして使えるかというと、全くだめなレベルですね。今後に期待です。 Tizen IDEは、Androidと同じく...

ひょんなことから、Tizen OSを動かしてみることになり、せっかくなのでブログに残しておきます。 インストールしたのは、以下のものたち。ホントはUbuntuで最初やったんだけど、グラフィックのチップセットが貧弱なせいかEmulatorが起動せず、それなりのスペック&ドライバがちゃんと入ってるWindows機で試してみました。 Oracle Java 7 SDK Install Manager(for Windows 32bit) tizen-sdk-2.0-windows32.exe ...

あけまして、おめでとうございます。2013年も、よろしくお願いいたします。 というわけで、今年のソーシャルWebがどうなっていくのか、昨年末に考えてみました。gihyo.jpに掲載されていますので、ぜひお読みください。 新春特別企画 2013年のソーシャルWeb - gihyo.jp ちょっと長くなってますが、いろいろとトレンドなどを予測してます。