11月 2011 | 忘れたらググればいい

2011年11月29日火曜日

BloggerでLispのコードにも色をつける

SyntaxHilighterはLispに対応していない

以前導入したSyntaxHilighterはLispに対応していないようだ.しかし,.emacsソースを載せたい.

CodePrettifyを使う

↓のページからCodePrretifyのウィジェットを追加.

クリボウの Blogger Tips: コードをハイライトする「Code Prettify」ウィジェット

その際,lisp用のjsを追加.


プロジェクトページを見ると,Lispの他にも追加jsで,Clojure, CSS, Go, Haskell, Lua, OCAML, SML, F#, Nemerle, Protocol Buffers, Scala, SQL, TeX, LaTeX, VHDL, Visual Basic, WikiText, XQuery, YAML に対応するらしい.

LISPy languages are supported via an extension: lang-lisp.js.

And similarly for Clojure, CSS, Go, Haskell, Lua, OCAML, SML, F#, Nemerle, Protocol Buffers, Scala, SQL, TeX, LaTeX, VHDL, Visual Basic, WikiText, XQuery, and YAML. If you'd like to add an extension for your favorite language, please look at src/lang-lisp.js and file an issue including your language extension, and a testcase.

Javascript code prettifier

使い方

preタグでclassに"prettyprint lang-lisp"を指定すると,

; comment
(setq a b)
のように表示される.

2011年11月18日金曜日

Twitter Tokyo Developer Teatime に行ってきた

Twitterの開発者イベント

11/17にTwitterの開発者イベントに行ってきた.

Tokyo Dev Teatime | Twitter Developers

Twitterブログ: Tokyo Developer Teatime のプログラム #teatimeTKY

内容としては,最新の状況報告と,Twitter関連サービスの紹介といったところ.個人的には Bootstrap の話も聞きたかった.最近お世話になっているので.

残念だったのは,会場のWiFiが細すぎて,(PCでは) まったく実況できなかったこと.Twitterのイベントなので,ぜひともTwitterで実況したかった... あと,ボールペンもらってない!どこで配ってた?

そういえば,イベントの後半の間,会場の画面のTLにこのツイートが出っぱなしでちょっとハズかしかった (笑)

bit.lyの情報をコピってきて貯めてるようなイメージ? #teatimeTKY2011年11月17日 20:0 via ついっぷる for iPhone

ustream録画 (追記 (2011.11.19))

以下,メモ

Twitter × Enterpriseの可能性 (SCSK株式会社 武田 元さん (@アカウント秘密))

  • 喜怒哀楽を読む。
  • ツイッターは感情を共有するツール→解析の対象.いろんなことに使える?
  • 業務でコミュニケーションツールとして使うところも→Morgan Stanley

The first Wall Street firm to allow brokers to tweet is playing it very safe - Financial Adviser - WSJ
とりあえず探してみた記事.

基調講演 State of the platform (Twitter @jasoncosta)

  • 750,000 developers
  • 15B API req/day
  • 1.1M registered application
  • Twitterはエコシステムに投資してきた.
  • Quoraでは,1ページに対して,Twitter経由で30ページビューのアクセスがあった.
  • フォローボタンとかツイートボタンも活用されている.ツイートボタンでアクセス7倍になったサイトも.

iOS5のインテグレーションについて (Twitter @theSeanCook)

  • iOS5でOSレベルで管理してくれるようになったので,アカウントの管理が簡単になった
  • 開発者としての利点
    • One Click single sign-on.
      • アバターとか,screenname,ソーシャルグラフとか取れますよ.
      • 1回で認証できますよ
    • Instant personalization
    • Massive distribution
      • コンテンツ,ユーザの広がり,拡散.

10分で理解するトゥギャッター (トゥギャッター株式会社 @yositosi)

トゥゲッターを3分で説明

  • 最初は少なかったけど,孫さんが使い出したあたりから増加.
  • 海外版
  • イベントもやった

7分で技術的側面について

  • 実はあんまりAPIつかってない. statues, users など
  • 画像展開をがんばっている.
  • t.co問題(!) の解決のために,元URLをAPI中から取得.
  • bit.lyも展開する.それ用に内部にTOLS(Togetter Open Link System)を作った.

新サービス発表

  • プロフィール交換サービス miica
  • HTML5/CSS3で作ったからOSは選ばない.iOSでもAndroidでもOK.

トゥギャッター名作劇場

現代洋子先生の「女体盛り事件」まとめ - Togetter
そういや,会場の画面に写っていたTLはこの話のちょっと前あたりで止まってたなぁ.これが原因か (笑) そりゃあんな画像出してたらねぇ.会場もちょっと引いてたし (笑)

土管としてのTwitter (株式会社giftee @i7a16k)

  • gifteeとは? ちょっとしたありがとうを贈る。贈られたもの・サービスは店舗でうけとる。
  • 使い方。アカウント認証→贈る人選ぶ→モノ・サービスを選ぶ→メッセージをつける。メッセージはツイートもされる。→金額確認。支払い支払いはカードのみ?→完了。
  • 受け取った人は? ギフトカードへのリンク→アカウント認証→店頭で聞いたパスコード入力→画面見せる→もらう。
  • Twitterは"透明"な土管→他人から別の他人へのツイートも見えるので,他の人も商品への興味を持つ.
  • mentionのツイートだけだと (受取側に) 気づいてもらえない可能性がある… →分かりやすい文章?,再送,リマインド?などが必要.
  • クジラが土管を塞ぐときは? → タダで使ってるものだし,しょうがない.運用で逃げる.
  • Facebookの「いいね」だと,いろんなページで「いいね」を押した友達の一覧が表示される→友達が何に対して興味を持っているのか分かるので,プレゼントも選びやすい.
  • Twitterにも他のユーザの興味を解析する機能を期待.

giftee - Send a Small Thank You.
知らなかったサービスだけど,結構いいかも.

デベロッパーコミュニティについて (Twitter @yusukey)

  • (他の地域とは違う?) 日本の特徴
    • 非常に大きなマーケット
    • 独自のtwitter文化 #日本語ハッシュタグ
    • 豊富なクライアント
  • これまでの問題
    • API doc が英語
    • 公式コミュニティが英語
  • デベロッパーコミュニティ

Q&A

Q. APIで過去ツイート全部取れる?
A. やりたいけど,すぐはできない.
Q. iOS5のインテグレーションはあったけどAndroidは?
A. 計画にはある.早ければ来年2012年の1Q
Q. 採用情報を教えて.フロントエンドとバックエンドの.@nokuno
A. 今年の夏から日本のサポートを厚くしている.フロントエンド,バックエンド,両方採用を進めている.いろんな方面でエンジニアいる.日本語処理,検索,モバイル関係 (ガラケー/スマホ),デスクトップ,webなど.サンフランシスコでも東京でも.
Q. 日本語URLが入ってるとうまくいかない.対応の予定は?
A. 今は国際化が遅れている.今,対処中.(URLの最後にスペースなしで) 日本語が混ざった場合の処理が難しい..
Q. ローンチパートナーになる基準とかある?
A. サンフランシスコは近いから多いけど,基本的に誰でもオープン.日本にもいいアプリがあるのはよく知っている.

TwitterとiOS 5
ローンチパートナーってのは,ここにあるアプリかな?

Q. UserStream に抜けとかある時があるけど? 解消する方法ある?
A. 問題は認識している.改善に向けてがんばります.
Q. twitter の公式 anyalize (一部向け公開?) が日本で使えるようになるのはいつ?
A. 最近backtypeという会社を買収してanalyticsの画面を提供.将来的には公開したいけど,まだ予定は決まってない.

BackType
買収されたせいか,休止中?

Q. APIコールの制限に対して有料化で対処したりする?
A. APIの有料化は予定はなし.今の制限で十分だと考えている.
Q. Activity の API の公開予定は?
A 予定は,あります....時期は未定.

2011年11月11日金曜日

iOS5の各種設定画面へのリンクをホーム画面に作る

各種設定画面がURLスキームに対応したらしい

いろんなサイトで取り上げられていた.

iOS5でWi-Fiなどの設定画面を一発で開けるアイコンを作れることが判明 : iPhoneちゃんねる

[N] 【iOS 5】WiFiやGPSなどの設定を直接呼び出すショートカットアイコンを作成可能に!!

リンクタグで指定しただけじゃ登録できん...

というわけで,リンクの一覧を作っておけば登録が楽だ! と思い,HTMLでaタグのhrefにurlを入れただけのリンクを作ってみたが,これだけではbookmarkを登録できない.どうしたものかと,いろいろ探してみると,dataスキームURIにHTMLページを埋めこんで,そのHTMLから設定URLを叩くという方法で解決するらしい.

dolpen.net:text:iOS5で設定画面を開けるリンクが作れるらしい

こんなHTMLをdataURL化したリンクを作るだけです。タイトルはブクマ時のデフォルトタイトル、画像はアイコン(URLでもbase64でもいい。ここでは後者)、リンクはprefs:なんとかみたいなURLスキーム。本当は自動でこれを作るjavascriptも書いたのだけれど、dataURL化するときにescapeとか使って手抜きしているので、日本語の変換が微妙になってる。

dolpen.net:text:iOS5で設定画面を開けるリンクが作れるらしい

アイコンを自分で指定するバージョンを作ってみた

上記サイトを参考に,ホーム画面に各種設定へのリンクを追加するサービスを作ってみた.アイコン画像のURL (たぶんbase64も可) を指定して,作成ボタンを押すと真っ白なページが表示される.表示されたページで「ホーム画面に追加」すると,ホーム画面にリンクができる.アイコンURLのデフォルトのiPhoneの「設定」のアイコンにしてみたけど,イマイチ.....

アイコン画像を指定してホーム画面に追加

設定項目:
アイコンurl:

2011年11月4日金曜日

Google Developer Day 2011 の入口にあったやつ

世界地図?

昨日書いた記事の画像を見ていて,ふと思った. これって世界地図か? ぱっと見で世界地図上に今年の開催都市の位置に印が付けられているんだろう,と勝手に解釈していたが,よく見たら世界地図になってない... もしかしたら展開図? でも,面が多すぎて,頭の中だけだと,組み立てるだけでも難しいのに,各印の位置を覚えつつ脳内シミュレーションなど到底無理....

百聞は一デモに如かず

と,あれこれ考えるより作っちゃった方が早いって,基調講演でも言ってたな,ってことでウチにあったダンボール持ってきて写真の通りに線を引き,切り出す (この時点でAM2:00.何やってんだよ...).

で,各線に沿って組み立ててみたら...

正二十面体できたー!

で,できた正二十面体と各都市の位置を照らし合わせてみると,↑の写真の右端が東京 (横浜) で,左にあるのが,テルアビブ,プラハ,ベルリン,モスクワです.

で,この右下がシドニー.

サンパウロとブエノスアイレス...? なんか位置関係がおかしい気がするけど,まあ合ってるだろう.

どこがどこだったか?

最初の写真に戻って考えると,展開図の各印はこういう対応だったということが分かった.

頭で考えてるだけだったら,ずっと分からずじまいだったな! まさに百聞は一デモに如かず! あーすっきりした.寝よ... (現在AM4:25)

2011年11月3日木曜日

他サイトを引用するためのbookmarklet

前提

Blogger向けの引用スタイルは以下を参考にした.

引用(blockquote)を格好よく表示する | 象と散歩:統計とマーケティングを考える

このスタイルだとHTMLに↓のように書くと,

blockquote(引用)がカッコよいサイトが多いので真似してみようと思いましたが、自分にはスタイルシートを変更する能力もないので、参考になるサイトを探してみました。

引用(blockquote)を格好よく表示する | 象と散歩:統計とマーケティングを考える

↓のように表示される.

blockquote(引用)がカッコよいサイトが多いので真似してみようと思いましたが、自分にはスタイルシートを変更する能力もないので、参考になるサイトを探してみました。

引用(blockquote)を格好よく表示する | 象と散歩:統計とマーケティングを考える

コード

というわけで,引用したい部分を選択して実行すると貼り付け用HTMLを出してくれるbookmarkletを作った.ChromeとSafariで動作確認.他は知らない.Firefoxはたぶん動くけど,IEは動かない.

javascript:(
function(){
  var c=window.getSelection().toString(),
  u=document.location,
  t=document.title.toString();

  var o='

'+c +'

'+t +'

'; window.prompt('copy this html',o); })();
実際のbookmarkletはこちら→選択文字列を引用

Google Developer Day 2011 に行ってきた

開発者向けイベント

11/1にGoogle Developer Day 2011に行ってきた.Google Developer Dayは,主にアプリやサイトを作る開発者向けのイベントで,Googleの技術を紹介するイベント.今回は Chrome, Android, HTML5 がメインの話題だった.

東京 - Google Developer Day 2011
Google Developer Day は、Google のプラットフォームやサービスに関する技術情報を紹介するイベントです。 ...
Google Developer Day は、Google のプラットフォームやサービスに関する技術情報を紹介するイベントです。

スライド,まとめなど

とりあえず見つかったものなど.

「gdd11jp」のまとめ - Togetter

おみやげ

過去にはAndroid端末も配られたこともあったから,ちょっとは期待していたけど,事前の参加案内メールの時点でさすがにそれはないことが宣言されていた.

■ その他
・充電コーナー(電源タップ)を用意しています。数に限りがございますので譲り合ってご使用ください。 なお、アダプタの用意はございませんので、各自にて必要なものをお持ちください。
・本イベントでは、高額なプレゼントをご用意しておりませんので、予めご了承ください。
・イベントの最新情報などは、Google Developer Day 2011 Japan ホームページ や Developer Relations Japan Blog、Twitter などにて随時更新していきますので是非ご覧ください。

でも,やっぱりGoogleさんは太っ腹.おみやげいっぱいもらった.

  • Tシャツ (もらいに行くのが遅くてSサイズしかなかった...)
  • Zeemote JS1 H (右上).箱もなにもなかったので,プレゼンとかで使うワイヤレスマウスかな? と思ったが,Android端末向けゲームコントローラーらしい.ネットで調べたかんじだと3000〜4000円くらいするぞ...
  • 3Dメガネ.「どこで使ったんだろう?」という声が多数.一応YouTubeには3Dチャンネルはあります.
  • 出展会社が並行してやっていたNFC QUESTで使うカード.裏にIDmがどうとか書いてあったのでたぶんFeliCaカードだろう.中は何か書いてあるのかな?
  • ストラップ付き名札入れ
  • バッジ.同じ種類のバッジ10個をもらい,参加者間で交換して3種類 (Android, HTML5, Google+) のうち2種類×5個集めるイベントがあったので,AndroidとHTML5がちょっとずつ手元に残った.
  • +1シール.面白かった展示やセッションで貼るためのものだったけど,もったいなかったのでそのまま持って帰ってきてしまった.
  • Doodle 4 Googleのステッカー.以前話題になったPAC-MANバージョン.
  • Chrome金太郎飴.各セッションの入口で配ってた.いちご味かと勝手に思ってたけど,袋には水飴としか書いてなかった...

弁当+お茶 (写真は崎陽軒の中華弁当) も出たし,最後のセッションではお酒 (ビール,チューハイ) も出た.

会場入りは余裕を持って...

10:00開始だから9:40ごろに着けばいいや,と思って行ってみたが,基調講演を行うMAIN HALLはすでに満席で,3Fでパブリックビューイング方式で見ることになった.せっかく会場に来たのに,別室で生中継を見るというのはちょっと盛り上がりに欠けた... しかも,受付がギリギリだったせいもあって,おみやげの受取が遅れ,TシャツがSサイズしか選べなかった.

基調講演は Android 4.0, AppEngine, ChromeとHTML5の新機能のお話がメインだった.あとで分かったけど,どの話題もこの後のセッションでそれぞれ詳しく話されていた.大事なところだけとりあげた感じ.

Three More Things

講演の最後にGoogleの徳生健太郎氏から,Googleの文化を "Three More Things" として紹介された.会社で研究開発する際の心得としてとっても大事だと思うので,僕の感想とともに紹介.

  1. 「なにごともエンジニアありき」(実際にモノ (Googleだとソフトウェアだけど) を作るエンジニアがいないと何も始まらない)
    • 開発時は当たり前だけど,企画や営業とかにも中身まで詳しく知ってるエンジニアが入っていかないと,本当に価値のあるモノは作り出せないということだろうか.モノを作ったことがない人だけで企画しても,現実味のない・役に立たないモノができることが多いし,中身を一番よく知っているエンジニアがセールスポイントも一番よく知っているはず.
  2. 「百聞は一デモに如かず」(まず作る.作って提案する方が話が進みやすい.)
    • これはいつも思う.作る前にあーだこーだ議論ばかりしてて話が進まないことはよくある.最悪の場合,議論の期間が長すぎて自然消滅とかまである.新しいモノを作ろうとして始まった議論なのに,自然消滅なんかしたらもったいない.だから,とりあえずデモを作って目の前で動かしながら議論した方が,イメージも膨らむので (進めるにしてもやめるにしても) 話が早い.特にモノを作ったことがない (もしくは久しくない) 人に対しては,見栄えのするデモを短期間で作って見せるとウケがいいし,技術力もアピールできるので話が進みやすい (と個人的には感じる).
    • ただ,デモを作るのに時間がかかりすぎると,できた頃には企画自体が自然消滅,なんてことがあるので,デモはいかに早く作るか,何を作って何は作らないか (何を見せるか),が大事だと思う.それに備える意味でも,いざという時にさっと実装できるように,日頃から幅広く技術を磨いておくように心がけている (つもり).
  3. 「日本で『イケる!』と思ったら、世界のみんなも同感するかも」(日本にいても世界に通用するモノは作れる)
    • 「かも」がポイントかも.現状では,日本でイケるモノは作れたけど,世界で通用するか試してすらいないモノが多いということじゃないかな? とりあえず世界で試すことを考えて,できれば日本語+英語で作った方がいいかもな.いいモノができれば他の言語へは自分でやらなくても誰かがやってくれるはず.

セッション感想

メモとか取ってないので,ちょっとずつ.

Androidの最新情報 (Tim Bray)

Ice Cream Sandwich (ICS) の話題.個人的には端末間通信が気になった.近距離だとNFCでの端末間通信のAndroid Beam,もうちょっと離れた距離だとWiFi Direct.連絡先の交換や,今見ているページを共有するのに使われる.あと,個人情報へのアクセスが大幅に強化される印象.カレンダーとかソーシャル系サービス (twitterとかlinkedinとか) へのAPIが用意されてた.今のパーミッションの仕組みで大丈夫かな,とちょっと思う.

デベロッパーツールのティップス・アンド・トリックス (Eiji Kitamura)

タイトルだけだと開発ツール一般か? と思っていたが,Chromeのdeveloper toolsの話.特に新機能だけじゃなく,あんまり知られていないtipsなども紹介されていて面白かった.詳しいのはChart Sheetにある.

Google Chrome Cheat Sheets | DevCheatSheet.com
機能ごとにPDFなどにまとめられている.

CSSのパラメータ補完
「このパラメータってどんな値あったけ?」って時には,CSSの要素の変更で↑↓キーで候補が出てくる.もういちいちググらなくてもよし (覚えろよ).
javascript展開
圧縮,難読化されているソースも左下の「{}」ボタンを押せば一発展開! ある程度ソースは追いやすくなる.前からあったぽいけど,会場でも「おぉ」と声が上がっていた.
Break on Subtree Modification
DOMの子孫要素が変更されたころでbreakをかける.メニューを見ると,attribute変更やノードを消した時にもかけられるみたい.
リモートデバッグ
--remote-debugging-port=PORT で起動すると http://起動したマシン:PORT/ で遠隔でデバッグできる.何に使うんだろうか? と思っていたが,将来的にはモバイル機器にも実装してモバイルアプリケーションのデバッグに使えるようにしたいとのこと.納得.WebKitベースだからAndroidだけじゃなく,iOSにも期待できる.
ショートカットキー
"?"を押すとショートカットキーが出る

HTML5 のオフライン機能 (Eiji Kitamura)

文字通り.いろいろありすぎて書くの大変だし,資料も公開されてるので書かんでもいいか.IE...

Google+ ウェブ アプリの構築 (Timothy Jordan, Julia Ferraioli)

知らないtipsやアプリの紹介などあるかな,と思っていたけど,普通のアプリ作成紹介で,以前ちょっと調べた時点とあまり変わってはいなかった.いまだに投稿用APIがない.早くできないかな?

Google+ API - Google+ Platform — Google Developers

Google のエンジニアの日常 (Yugui Sonada)

この3月に入社されたばかりということで,新入社員としての立場で話された.

社内ではソースはひとつのレポジトリで管理されていて,全エンジニアが参照可能とのこと.二重に作ることも防げるし,コラボも生まれやすそうと思った.また,当たり前だけどコミュニケーションは大事.F2F,テレビ会議,Chatなどでコミュニケーション取るのは普通の企業と同じだな,と思った.ウチの会社ではいまだにメール中心で,Chatは全然普及しないけど (というか知らないんだろうな) .それから,コードレビューはかなりしっかりやる.あ,あとGoogleでは新入社員はNooglerって言うっぽい.

イグナイト ( ライトニングトーク )

Igniteっていうのは,簡単に言えば1枚15秒×20枚の制限付きライトニングトーク. あんまり堅い話はなかった.お酒も配られていたので,ほとんど最後のお祭みたいなかんじ. 途中でスライドが出なくなるハプニングがあったけど,間をつなぐフリートークが意外によかった. 次回はああいったフリートークを別に設けてもいいと思うくらい.

Ignite とは、「Enlighten us, but make it quick(啓発活動は手短に)」をスローガンとし、発表者は 15 秒間隔で自動的に切り替えられる 20 枚のスライドを使用して、計 5 分間、その思いを語るイベントです。Ignite の詳細は http://www.igniteshow.com をご覧ください。

GDD 2011 Japan Ignite (ライトニングトーク)スピーカーの募集について

Googlerによるこんなパフォーマンスもありました.楽しい会社だなぁ.

また行きたい

今回初参加だったけど,技術的な内容は充実してたし,最新技術に直接触れられて (ICSとか) 楽しいんだけど,何よりレベルの高い (少なくともDevQuizは突破した) 技術者がいっぱい集まっている,という雰囲気だけでモチベーションが高まる! また明日から精進しよう,という気になれただけで十分意味のあるイベントでした.