“
ニンニク、生姜をみじん切りにして炒める。
細目に切った玉葱を大量に投入
鶏のモモ肉を投入
ブツ切りのオクラ、サイの目切りのトマト、みじん切りのピーマン、
水煮大豆を適宜投入
ココナッツミルク、水、牛乳投入
市販のカレールゥ投入
完成 ”
“今日のトリビア:昔のアメコミの印刷で使えたCMYKの濃度は20%・50%・100%だけであり、この限定された色使いが独特のポップさにつながっていた”
5 Tips for Organizing Dresser Drawers | Apartment Therapy Chicago
1. Every few months, take everything out of your drawers and refold them. It’s not a very fun job but it will keep your drawers tidy and organized. Plus, it’s a good time to pull out stained or torn clothing.
2. Rather than stacking T-shirts, try “filing” them. As you can see in the after photo, I filed my color T-shirts so I can easily assess which one I want. When items are stacked it’s invariably the one of the bottom that you want and getting to that one involves disrupting all the others…and that’s what leads to a messy drawer.
3. Use containers in your drawers to hold the small stuff. In my drawer I’ve used a few containers. There’s a small bank where I stow my collection of wheat pennies and other old money, a jewelry box for watches and necklaces, plus a large bowl to hold my bow ties.
4. If you have a particularly large drawer, consider picking up dividers or organizers. You can find organizers at stores like The Container Store which will help you keep things tidy by creating sections in the drawers.
5. Keep your drawer smelling fresh by storing candles in it. Whether it’s a new or even just a little nub of a mostly burned one, a candle placed in your drawer will keep your clothes smelling lovely. You could also use bars of soap.
「水野美紀 Miki Mizuno Official Website」は女優の水野美紀の公式サイト。
7月28日に公式サイトがリニューアルされたとのことで、公式Tumblrアカウントにとどまらず、portas Inc. - 株式会社ポルタスと同様にTumblrベースで公式サイトが提供されているめずらしい事例。「ブログのカスタマイズ」の以下のような機能も使ってきちんと作りこまれている感じ。
- 「独自ドメインの使用」を設定し、mikimizuno.comがTumblrのドメインになっている。
- 「デザイン設定」でSINGLE Aテーマを設定した上で、「カスタムHTMLテーマの作成」で必要なカスタマイズを加えている。
- 「ページ追加」で静的ページとしてプロフィール、link、お問い合わせといったページを設けている。
- 「Google Analyticsによるアクセス解析」を設定し、アクセス解析を可能にしている。
セレブリティの公式Tumblrという事例は増えてきていて、最近ではLADY GAGAの「AMEN†FASHION」が話題になった。藤岡みなみの「M!nam!!!!!!!!!」(だったけど、今はサイト名も「藤岡みなみ」になっている)の時に書いたように「リパブリッシュ・ニーズが高いコンテンツがリパブリッシュ上等(暗黙にOK)な場にポストされる」ことは、インプレッションを高めたいこうしたケースではTumblrの利用は理に適っていると思う。
ブログのカスタマイズ機能をしっかり使った「Tumblrでの公式サイトの作り方」として、また「インプレッション≠ページビュー」などの考えかたが実地で試されているという点で、個人的にとても気になる事例。
(via plasticdreams)
“仕事人、価値工場、世話組織
Fjeldstat によると、ビジネスモデルには三つの発展段階があります。(上手い訳語が見つかりませんでした。。。)
- Solution shops (仕事人) : お医者さんや職人さんのように技術を直接提供します。
- Value-adding process (価値工場) : 工場やレストランチェーン店のように儲かる仕組みを使います。
- Facilitiated networks (世話組織) : 保険会社や通信のように顧客同士のネットワークを使います。
私思ったんですけど、最古のビジネスである宗教の例を考えると分かりやすいと思います。最初教祖個人の奇蹟で始まり(仕事人)、教団を作り後継を育てる事で教祖が死んでもサービスを続ける(価値工場)、そのうち信者が自主的にイベントを開くようになり教団の役割はその調停になる(世話組織)。
クリステンセンの考えでは、現在の基礎教育は価値工場の段階にあります。教師の質にバラツキがあっても一定の確率でそれなりの教育が受けられる優れた仕組みです。しかし、多様な社会のニーズに答えるために、価値工場から世話組織の段階に向かう必要があります。そこでは教育機関の役割は教師から生徒へ知識を流し込むのでは無く、コンピュータを使って生徒同士が教え合う場を提供するものになります。これは既存の教育組織では対応出来ない破壊的イノベーションです。破壊的イノベーションの性質から、コンピュータ教育は教師では対応出来ないニッチな科目で始まり、次第に既存の教育を侵蝕して行くはずです。
”
“”Tumblr APIの使い方を勝手に和訳したもの
和訳について
これは僕がTumblr APIのリファレンスを許可を得ずに勝手に和訳したものです。
英語の原文は、こちらにあります。
http://www.tumblr.com/docs/api
概要
Tumblr APIは一般的なHTTPのリクエストを実行します。ですから、様々なアプリケーションからWebを通じてTumblrを使うことができます。
/api/read
Tumblrのデータを読むのは簡単です。http://(you).tumblr.com/api/read からXML形式のデータを取ってくることができます。以下にデータの例を示します。
<tumblr version="1.0"> <tumblelog ... > ... <feeds> <feed ... /> <feed ... /> ... </feeds> </tumblelog> <posts> <post type="regular" ... > <regular-title>...</regular-title> <regular-body>...</regular-body> </post> <post type="link" ... > <link-text>...</link-text> <link-url>...</link-url> </post> <post type="quote" ... > <quote-text>...</quote-text> <quote-source>...</quote-source> </post> <post type="photo" ... > <photo-caption>...</photo-caption> <photo-url max-width="500">...</photo-url> <photo-url max-width="400">...</photo-url> ... </post> <post type="conversation" ... > <conversation-title>...</conversation-title> <conversation-text>...</conversation-text> <conversation> <line name="..." label="...">...</line> <line name="..." label="...">...</line> ... </conversation> </post> <post type="video" ... > <video-caption>...</video-caption> <video-source>...</video-source> <video-player>...</video-player> </post> <post type="audio" ... > <audio-caption>...</audio-caption> <audio-player>...</audio-player> </post> ... </posts> </tumblr>デフォルトでは20のポストです。GETパラメータを用いることで、取得するデータをいろいろ変えることができます。GETパラメータは以下の通りです。
- start - 何番目のポストから取ってくるか指定できます。デフォルト値は0。
- num - いくつのポストを取ってくるか指定できます。デフォルトでは20で、最大で50です。
- type - 取ってくるポストの種類を指定できます。指定しなかったり空値だったりすると、すべての型のポストを取得します。
ポストの種類は、text, quote, photo, link, chat, video, audioのうちから選んでください。- id - 特定のIDのポストを指定します。startやnum, typeの代わりに使うことができます。
- filter - textコンテンツに対してフィルターをかけます。以下の二種類のフィルタがあります。
- tagged - 日付順に逆順にソートして、タグを付加してポストを取得します。(新しい順になるということ)
古い順にソートしたい場合はchrono=1とするとよい。- search - ポストを検索することができます。
- state (Authenticated read(後述)が要求されます) - draft, queue, submissionのうちひとつを指定することができます。それぞれの状態にあるポストのリストを作成することができます。
詳細なサンプルを、Marco.orgやthe demo blogでご覧になれます。Firefoxのような今時のブラウザはXMLをきれいに構造化して表示してくれるでしょう。
JSON output
/api/readの代わりに/api/read/jsonを取得に使うと、 アウトプットはJSONとしてJavascriptの変数に割り当てられます。上記に述べたポスト取得用のパラメータはすべて使うことができます。また、追加としてcallbackを使えます。
例:
<script type="text/javascript" src="http://(you).tumblr.com/api/read/json"></script> <script type="text/javascript"> // The variable "tumblr_api_read" is now set. document.write( '<a href="' + tumblr_api_read[1][0]['@url'] + '">Most recent Tumblr post</a>' ); </script>debug=1というGETパラメータを付加することで、人間の読みやすい形で構造を見ることができます。アウトプットはPHPのprint_r()関数のようなものになります。
Authenticated read
/api/readでプライベートのポストを取得するためには、アカウント認証からemailとpasswordのパラメータを取得する必要があります。これによってDashboardを取得できます。詳しくは/api/writeで後述します。
<post>ノードの中で private=”True” とXMLで指定された場合にプライベートなポストが可視になります。
Dashboardを読む: /api/dashboard
http://www.tumblr.com/api/dashboard に対してAuthenticated readでしたようにポストを読むことができます。使用できるパラメータは以下の通りです。
- email - アカウントのメールアドレス
- password - アカウントのパスワード
- start, num, type, filter(オプション) - /api/readと同じです。startの最大値は250です。
アウトプットはXML形式です。
Dashboardをキャッシュに大量に読み込むことがあるでしょう。リクエストは10秒ごとにしか実行できないことに注意してください。
もし限度を超えた大量の読み込みを行った場合、503エラーが返るかもしれません。あまり読み込みにがっつかないでください。
/api/write
Write APIは非常にシンプルなHTTPのインタフェースです。ポストを投稿するためには、以下に示すようなパラメータとともに http://www.tumblr.com/api/write にリクエストを投げるだけ済みます。
- email - アカウントのメールアドレス。
- password - アカウントのパスワード。
- type - ポストのパラメータです。
- (content parameters) - ポストのタイプによって変化するパラメータ。
- generator(オプション) - アプリケーションが付加することのできる64文字以下の短い説明です。例えば、”John’s Widget 1.0”のようなものです。
- date(オプション) - 投稿日時を指定することができます。日時のフォーマットは曖昧性のない表記なら大抵のものが使えます。例えば、’2007-12-01 14:50:02’のようなものです。未来の日時を指定することはできません。
- private(オプション) - 1か0で指定します。プライベートのポストはダッシュボードと認証されたリンクにしか表示されません。ブログのメインページには表示されません。
- tags(オプション) - カンマで区切ってポストにタグを付加することができます。オプションとして、タグはダブルクオートで囲むことができます。
- format(オプション) - htmlかmarkdown。
- group(オプション) - アカウントの二つ目のブログにポストします。つまり、
mygroup.tumblr.com(パブリックなグループのみ)- slug(オプション) - 以下のようにURLをカスタマイズできます。
myblog.tumblr.com/post/123456/this-string-right-here
最大で55文字です。- state(オプション) - 以下のうちでひとつを指定することができます。
ポストの作成後にポストの状態を変更したい場合(例えばdraftをpublishedにしたり)、”ポストを編集する“を御覧下さい。いくつかの追加パラメータを指定することで、ポストを変更することができます。
Note : もしすでに存在するdraftやqueueのポストをpublishedに変更する場合などは、初めて状態をpublishedにしたときにIDが割り当てられます。
- send-to-twitter (オプション、投稿後にこの属性を変更することはできません) - TwitterとTumblrの連携を設定しているときに、Twitterに投稿するかどうかを以下のパラメータを用いて指定することができます。
このパラメータが設定されていない場合、TumblrのCustomizeスクリーンで”Send my Tumblr posts to Twitter“にチェックが入っているかどうかでTwitterに投稿されるかどうかが判定されます。
ポストのタイプ
有効なポストのタイプを、それらがサポートするパラメータと共に示します。
- regular - 以下のうちのどちらかが必要
- title
- body(HTMLが使用できる)
- photo - sourceかdataのどちらかを使用します。どちらも使用した場合、souceが優先されます。
- quote
- quote
- source (オプション)
- link
- conversation
- title (オプション)
- conversation
- video - embedとdataのどちらかを利用してください。どちらも利用することはできません。
- audio
ファイルのアップロードについて
上記に述べたような特定のパラメータを使用して、データをアップロードできます。アップロードの方式には、以下の二つの方式があります。
- multipart/form-data method。この方式はWebからデータをアップロードするときによく用いられる方式です。最大のサイズは、
- videoは50MB
- photoは10MB
- audioは10MB
オーバーヘッドの少ない方式ですので、こちらの方式をオススメします。
返り値
各種のリクエストに対して、標準的なHTTPのステータス値を返します。
- 201 Created - 成功です。作成されたポストのIDが返ってきます。
- 403 Forbidden - メールアドレスかパスワードが間違っています。
- 400 Bad Request - 少なくとも1つのエラーが発生しています。エラーはプレーンテキストで返ります。
PHPのサンプルコード
<?php // Authorization info $tumblr_email = 'info@davidville.com'; $tumblr_password = 'secret'; // Data for new record $post_type = 'regular'; $post_title = 'The post title'; $post_body = 'This is the body of the post.'; // Prepare POST request $request_data = http_build_query( array( 'email' => $tumblr_email, 'password' => $tumblr_password, 'type' => $post_type, 'title' => $post_title, 'body' => $post_body, 'generator' => 'API example' ) ); // Send the POST request (with cURL) $c = curl_init('http://www.tumblr.com/api/write'); curl_setopt($c, CURLOPT_POST, true); curl_setopt($c, CURLOPT_POSTFIELDS, $request_data); curl_setopt($c, CURLOPT_RETURNTRANSFER, true); $result = curl_exec($c); $status = curl_getinfo($c, CURLINFO_HTTP_CODE); curl_close($c); // Check for success if ($status == 201) { echo "Success! The new post ID is $result.\n"; } else if ($status == 403) { echo 'Bad email or password'; } else { echo "Error: $result\n"; } ?>もしなにかトラブルが発生したら、まずPOSTのパラメータのエンコーディングを疑ってください。それでも解決しない問題等ありましたら、support@tumblr.comまでどうぞ。
ポストを編集する
ポストを編集するには、すでに述べた/api/writeリクエストを用います。以下のPOSTパラメータを付加することにより、ポストを編集することができます。
- post-id - 編集したいポストのIDを整数型で。
- type, private, format - これらの値は無視されます。省略してください。これらの値はポストの作成時に決めた値から変更することはできません。
- tags, generator, date - これらの値はオプションです。もし指定されていたら、もとの値を上書きします。省略された場合、これらの値は変更されません。
ポストの削除
ポストを編集するためには、 /api/write の認証済みのポストを作成してください。しかしポストは http://www.tumblr.com/api/delete に投げる必要があります。次のPOSTパラメータを付加してください。
- post-id - 削除したいポストのIDを整数型で。
すべてのコンテンツにかんするパラメータは無視されます。認証用のパラメータとポストのIDのみが必要です。
/api/authenticate
http://www.tumblr.com/api/authenticateにメールアドレスとパスワードのパラメータのみ含まれたポストを投げることにより、認証を行い、ユーザ制限やブログといったアカウント情報を得ることができます。
アウトプットはXML形式です。ルート要素の<tumblr>は<user>ノードをひとつ含みます。また、<tumblelog>要素をブログのメンバーシップひとつにつきひとつ含みます。(ユーザのデフォルトのブログを含みます)
<user>に属するもの :
- can-upload-audio : “1” ユーザはMP3ファイルをアップロードすることができる。
- can-upload-aiff : “1” ユーザはAIFFの音楽ファイルをアップロードできる。
- can-upload-video : “1” ユーザはビデオをアップロードできる。アップロードされたビデオはTumblrを通じてvimeoにアップロードされる。
- max-video-bytes-uploaded : ユーザがアップロードできるビデオファイルの上限サイズ。ユーザはTumblrを通じてVimeoにログインすることになります。
<tumblelog>に属するもの
- title
- type : publicかprivateか
- private-id (private blogのみ) : プライベートブログのID。/api/writeグループのパラメータを使用します。
- name (public blogのみ)
- url (public blogのみ)
- avatar-url (public blogのみ)
- is-primary : yes ユーザのデフォルトブログだった場合。
非推奨の機能
以下の機能は近い将来破棄される可能性があるため使用を推奨しません。
- list-tumblelogs
- check-vimeo
- check-audio
これらの機能は/api/authenticateに含まれています。
iPhone
iPhoneアプリでユーザのDashboardが表示したい場合、Tumblrは既にiPhoneに最適化されたウェブサイトを表示することができます。http://www.tumblr.com/iphone
もしTumblrの外部にユーザのログイン情報を格納して、そこからログインしたいという場合、 http://www.tumblr.com/login にログインのHTTP POSTを投げることで実現できます。以下のパラメータが必要です。
Cocoaでの例を以下に示します。
NSString *email = @"example@email.com"; NSString *password = @"password"; NSString *destination_url = @"/iphone"; NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:@"http://www.tumblr.com/login"] ]; [request setHTTPMethod:@"POST"]; NSString *request_body = [NSString stringWithFormat:@"email=%@&password=%@&redirect_to=%@", [email stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding], [password stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding], [destination_url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding] ]; [request setHTTPBody:[request_body dataUsingEncoding:NSUTF8StringEncoding]]; /* Load the request here with an NDA-covered iPhone component that can view the web. */ [request release];Tumblrのログインシステム
ほとんどのアプリケーションで、ポストの作成、編集、読み込みを行うためにTumblrのブラウザベースのログインシステム http://www.tumblr.com/login を使う必要があることはありません。
もし作成しようとしているアプリケーションが /api/read や /api/write のみを使うようなものだった場合、coockieやログイン制限について心配する必要はまったくありません。
もしも http://www.tumblr.com/login を使用するのであれば、以下のようなことに気をつけてください。
- Coockieは思わぬところで無効になったり、期限切れになったりします。それは保証がきかない機能なのです。無効なログインCoockieを使用すると、 http://www.tumblr.com/login にリダイレクトされます。
- ログインCookieが無効であった場合、Coockieのログイン制限にひっかかっているかもしれません。ログインCoockieを使い果たさないように注意してください。特に、リクエストで保持し続けることはやめてください。普通のブラウザベースのログインをする際に頻繁にログアウトしてしまう原因になります。
- http://www.tumblr.com/login を使ってログインし、ポストを投げるアプリケーションを作成する場合、そのCoockieが複製であるかどうかの判定はなされません。
/api/read や /api/write で事足りる場合、http://www.tumblr.com/login は使用しないでください。
http://www.tumblr.com/login のシステムは告知なく変更されることがあります。
変更