✖
✖
責任をとる価値があることは積極的にとっていったほうが結果的に得をするということになんとなく気付いた。
✖
最近「ランゲルハンス島」が流行っているので
を買ってみた。まだ届いていないので楽しみ。
✖
こんな時代なので日記サイトのリンク集をつくりたい。
✖
がおいしいくて無限に食べてしまってランゲルハンス島が沈みそう。
✖
写真は Google 検索にもっとヒットして欲しい感じだけど、写真のSEOはどうしたらいいんだろう……
✖
✖
✖
各エントリの右上に Share on Tumblr をつけてみた。各エントリのパーマリンクには Facebook Like やら Google +1 やらが置いてあるのだれど、これら結構重いのでリスト表示時には置く気がしないのと、デザインが邪魔くさいのであまり繰替えし出したく思わない。
スマフォとかで面倒なので一旦さげた…
500px
「海外の写真コミュニティサイトって何があるんだろう」とツイートをしてみたら「500px?」と教えてもらったので登録してちょっと使ってみた。
アップロードした写真がユーザーページとポートフォリオに反映されるので、厳選しようという気になるのと、Fresh とかを結構いろんな人が見ているっぽくて、すぐ評価やコメントが付いて面白い。デザインがうまくいってる感じがする。
マリオカート7
マリオカート7を買った。3DS を購入したのがそもそもマリオカートをやりたかったからだったけど、発売日とかを全く把握していなかった。
発売日翌日で、ヨドバシカメラに行ったら完売しており「ないだろうなー」と思いつつ近くのビックカメラにも行ってみたら、そこには普通にあって買えた。良かった。
やっていてあらためて、Wii 版のマリオカートがよくできていたなあと思い出した。コースも良かったし、操作もしやすかった。3DS はちょっとボタンを押しにくいのでしんどい。ただ、3D のおかげかコースが把握しやすい気がする。
✖
✖
理に適ってないことをすると自分だけじゃなくていろんな人が損をするので絶対にやらないようにしよう。
✖
他人に対してイライラすることが多々あるけど、いい大人に何か言っても意味がないので、単に必要な手段を講じるのが良いと思う。一番よくないのは、納得がいってないのになあなあにすることだ。人の意見を聞かない人でも、不利益をちゃんと感じてもらえば、それこそいい大人なんだから頭使って何が悪いのかに気付くはずだ。そういう頭の使いかたをできない人だとしたら、コミュニケーションする意味がないので、単に遠ざかればいいだけだ。
✖
技術的なことももっとこっちに書いていこう。サブテクは最終的なまとめエントリーだけ置く感じにしよう。悩んでいる過程を省くのは良くない。
✖
来年のテーマは「原点回帰」かなあ。
✖
上の世代の人のこととか、心底どうでもいい……
✖
頑張ったぶんだけ損したとか、頑張らなければ良かったと思わないようにしたい。これらはモチベーションコントロールの観点からいって、絶対にあってはならない。
僕はある種の理不尽さを一切許容できない。ある種の、というのは特に人の手によって起きるもののことを言っている。例えば、責任は裁量を持った人が確実にとらなければならない。
Googleプロフィールにウェブサイトを関連付ける
500 Can't connect to hail2u.net:443 を見て、そんなことできたのかと思いやってみたら見事にハマった。
やりたかったことは以下の通り
- http://www.lowreal.net/ を author ページにして、Googleプロフィールと関連付ける
- http://lowreal.net/ の author を上記にする
で、まず http://lowreal.net/ 以下のページで
<link rel="author" href="http://www.lowreal.net/"/>
をつけた。これで Structured Data Testing Tool | Google Developers を確認すると、linked author profile = http://www.lowreal.net/
になる。この時点ではまだ Google プロフィールとは関連づいていないので、Error: Author profile page does not have a rel=me link to a Google Profile
とでた。
ついで、http://www.lowreal.net/ に
<a rel="me" href="https://plus.google.com/114431815111528304586">Google+</a>
を追加してみたが、これがうまく行かず。profiles.google.com じゃないといけないのか? とかいろいろやってみたけれど、変化がなく、Error: Author profile page does not have a rel=me link to a Google Profile
が出続けた。
諦めようかなーと思いはじめたが、なんとなく vcard あたりの解釈と衝突している気がしたので、フッタにリンクを移したら、めでたく Verified: Authorship markup is correct for this page
になった。よかったよかった。
http://www.google.com/webmasters/tools/richsnippets?url=lowreal.net 見るとメタデータたくさんあって気持ちいいですね。
フォトライフ記法
写真を貼るときにはてなフォトライフの記法を使って貼っているが、せっかくなので microdata で Photograph として認識されるように展開フォーマットを変えた。Google が解釈するようになるといいなー
<span itemscope itemtype="http://schema.org/Photograph">
<a href="/2011/12/03/1" class="hatena-fotolife" itemprop="url">
<img src="http://cdn-ak.f.st-hatena.com/images/fotolife/c/cho45/20111127/20111127131949.jpg" alt="photo" class="hatena-fotolife" itemprop="image">
</a>
</span>
こんな感じにしてある。author については url の先に rel="author" があるので勝手に認識してほしい。
✖
✖
神聖なウェブサービスに投稿したら怒られたので、こわくなって退会してしまった…… 空気読めないせいでサポートコストがかかって訴訟起こされたら死ぬしかない……
✖
✖
他人に対する信用というものが実感としてほとんどない割には、微妙なところで「このぐらいなら信じても良いだろう」と思い、その度にことごとく裏切られるので、余計他人が信用できなくなるという悪循環がある。これは単に自分が「信用する」という判断のしかたが間違っていることに他ならないんだけど、どうしたらいいのか全く分からない。
全く信用しないで生きていこう、というのは社会的には無理だ。どこかで線をひいて「ここまでは信用しても良いだろう」というのを自分の中で他人一人一人について見つけなければならない。例えば「技術的には信用できるが、人間的には信用できない」というのはありえるし「センスは信用できるが、技術的には信用ができない」とか「成果物は信用できるけど、言動は良く変わって信用できない」とか、いろいろある。
人を見る目というのは、誰かに頼ることのできないもの (だってその誰かを信用できるかなんてわからないからだ) で、自分でどうにかするしかないのだけれども、それを鍛える方法を発見することができない。
✖
✖
✖
✖
漠然と、いろいろ上手くいってないみたいな感じがしている。よくある。
✖
自分は自分の判断を正しいと思っているが (あたりまえだ)、一方メタな視点で自分を信じていない自分もいるのだ。
✖
✖
写真にもっとメタデータを書いておかないといけないんだろうけど、面倒くさくて無理なんだよなあ…… なんか簡単にできればいいのかな
✖
「餡の雲」で検索するといつのまにやら知らない人が出てくるようになっていて、なんか嫌な感じだし、それなりに愛着はあるけど、それほどこだわりもないしサイト名を変えたい…… 。でもいい名前が思いつかない。
✖
いろいろやって、ページのロード速度を改善してみた。
✖
サイト名を「氾濫原」に変えた。他人にとってあまり意味がない言葉で、かつ自分にとってある程度意味がある言葉、というのにしたくていろいろ悩んだ。
microdata を適当に抜き出す Perl スクリプト
あんまり仕様書読みこめてないけど書くだけ書いてみた。CPAN にあるのは依存がひどいし、別に HTML::Parser 的なもの一個の依存で JSON 返すようなのでいいじゃんと思った。やる気があればテスト書いて CPAN にあげたりしたいけど、あんまりやる気わかない。
結局 HTML::Parser ではなく HTML::TreeBuilder::LibXML にしたけど、普通に入るモジュールなのでよさそう。
レポジトリをつくってテストを書いた。
https://github.com/cho45/HTML-Microdata/blob/master/lib/HTML/Microdata.pm
use v5.12;
use LWP::Simple qw($ua);
use URI;
use JSON::XS;
my $uri = URI->new('http://www.lowreal.net/');
my $res = $ua->get($uri);
my $microdata = HTML::Microdata->parse($res->content);
say encode_json $microdata->items->{cho45}->{properties};
package HTML::Microdata;
use HTML::TreeBuilder::LibXML;
use Scalar::Util qw(refaddr);
use Hash::MultiValue;
sub new {
my ($class, $args) = @_;
bless {
items => {},
}, $class;
}
sub parse {
my ($class, $content, $opts) = @_;
my $self = $class->new($opts);
$self->_parse($content);
$self
}
sub items {
my ($self) = @_;
$self->{items};
}
sub _parse {
my ($self, $content) = @_;
my $tree = HTML::TreeBuilder::LibXML->new_from_content($content);
my $scopes = $tree->findnodes('//*[@itemscope]');
my $number = 0;
for my $scope (@$scopes) {
my $type = $scope->attr('itemtype');
my $id = $scope->attr('itemid');
unless ($scope->id) {
$scope->id($number++);
}
if (my $refs = $scope->attr('itemref')) {
my $ids = [ split /\s+/, $refs ];
for my $id (@$ids) {
my $props = $tree->findnodes('//*[\@id="' . $id . '"]//*[\@itemprop]');
for my $prop (@$props) {
my $name = $prop->attr('itemprop');
my $value = $self->extract_value($prop);
$self->{items}->{ $scope->id }->add($name => $value);
}
}
}
$self->{items}->{ $scope->id } = {
($id ? (id => $id) : ()),
type => $type,
properties => Hash::MultiValue->new,
};
}
my $props = $tree->findnodes('//*[@itemprop]');
for my $prop (@$props) {
my $name = $prop->attr('itemprop');
my $value = $self->extract_value($prop);
my $scope = $prop->findnodes('./ancestor::*[@itemscope]')->[-1];
$self->{items}->{ $scope->id }->{properties}->add($name => $value);
}
for my $key (keys %{ $self->{items} }) {
my $item = $self->{items}->{$key};
$item->{properties} = $item->{properties}->multi;
}
}
sub extract_value {
my ($self, $prop) = @_;
my $value;
if (defined $prop->attr('itemscope')) {
$value = $self->{items}->{ $prop->id };
} elsif ($prop->tag eq 'meta') {
$value = $prop->attr('content');
} elsif ($prop->tag =~ m{^audio|embed|iframe|img|source|video$}) {
$value = $prop->attr('src');
} elsif ($prop->tag =~ m{^a|area|link$}) {
$value = $prop->attr('href');
} elsif ($prop->tag eq 'object') {
$value = $prop->attr('data');
} elsif ($prop->tag eq 'time' && $prop->attr('datetime')) {
$value = $prop->attr('datetime');
} else {
$value = $prop->findvalue('normalize-space(.)');
}
$value;
}
✖
Picasa web の画像
Picasa web の画像って直接貼れるんだなあ。あと URL 中の s700 とかを s1920 とか s280 に変えると自由な画像サイズになる。でも恒久的なURLである根拠がないので、安心してはる感じにはならない…… と思って根拠をさがした。
<img src="/images/entry/IMG_7521-1920.jpg"/>
https://picasaweb.google.com/114431815111528304586/2011128#5683411105636128482
一通りさがして、ないなーと思ったけど、アルバムのページには「HTML を貼り付けてウェブサイトに埋め込む」というのがあって、この中の img は上記のような形式のURLになっているので、不変と思ってよさそうな気がする。
FAQ には
と書いてあって、800px までなら自由に貼れるように読める。たぶん 800px ってのは Google+ が出る前の基準な気がするので (根拠なし)、今は 2048px まで貼れるのかな…… 一応、安全にウェブサイトに貼れるのは 800px までっぽい。
画像ストレージ再考
自分のサーバーに画像を置くのは厳しい。
- 容量的
- 借りているサーバーのネットワークスピード
とかがあるので、できればウェブサービスに置いておきたいという要求があり、今のところはてなフォトライフを使っている。はてなフォトライフは無料でも30MB/月で十分だろうというのと、CDN (アカマイ) を経由していて、画像サイズに制限がないのもよい。
Picasa も昔検討したことがあって、そのときは 800px までしか無料でアップロードできず諦めたのだけれど、Google+ のリリースにより 2048px までは容量にカウントされない、すなわち実質的容量無制限になったので、候補にあがってきた。ネットワーク的にも Google の配信なので信頼がおける。
Picasa を使うとして
しかし Picasa はインターフェイス的に僕にはちょっと使いにくい感じなのと、画像を簡単に貼りつけられる方法がないのがネックになっている。前者はたぶん慣れれば大丈夫なので、後者は実装で解決してみたい。
アップロードとかは Picasa 側でやるので、最新のアップロード画像から貼りつけるインターフェイスだけ実装することを考えたが、Picasa がユーザーの最新画像のフィードを吐いていないようなので、それをなんとかして作るところからになった。
写真一覧のフィードは調べていたら普通にあった…
撮った時刻でソートするようにした
そもそも PIcasa 側で JSONP に対応していることがわかった
404 Not Found に普通に書いてあった。リファレンスの読みかたがよくわかっていなかった…
✖
✖
✖
✖
やっと全クラスで★★★になった。なんかもう運なので、とにかく試行回数を増やして頑張ってみた。
✖
- MacBook Air 11インチ
- 1.6GHz Intel Core i5
- 4GB メモリ
- SSD 128MB
をポチった。
✖
microdata の itemref の解釈
microdata の itemref の解釈がよくわからない。
itemref で指定した ID を持つ要素の下もまた、そのアイテムのプロパティとして加える的なことが書いてあるが、じゃあ itemref で指定した ID を持つ要素が、別の itemscope の中にあったらどうなるのか?というのがよくわからない。
たぶんどちらにも属するプロパティになる?ような気がするけど、うまく仕様を読めていない。
たぶんこの辺なんだけど、英語が難しくて正確に理解できないので書きながら理解することを試みる……
All itemref attributes in a Document must be such
はいいとして、そのあとの区切りがどこに入ってるのか…
こう読むのかなあ。文意としては「どんな場合でも循環参照がおきてはならない」で、事例が書いてあると思う、のでそれぞれ訳したい感じだけど、うまく訳せない……
しかし、ここは単に循環参照に言及しているだけで、1つの itemprop が複数のアイテムに属するかどうかとは関係ないか…
✖
日曜日に鎌倉に行ったけど、明月院が良かった。うさぎがいた。奥の庭がかなり広かったのと、結構紅葉が残っていたのがよかった。
✖
✖
これ欲しい。
✖
無印の耐熱ガラスポットを買って最近使っているけど、軽いし、ガラスなので汚れ見えやすくて良いです。
あと一緒にストレーナーも買って、家で余っていたお茶葉を消費してる。
✖
買ったものとか欲しいものとかもできるだけ記録しておきたい。
✖
ステンレスの箸立ても買ったのだった。今まで普通のコップを箸立てとして使っていたけど、水がきれないせいで不潔感があった。
皿とか水きりするバスケットも、今はプラスチックのだけど、ステンレスのものにしていきたい。
ユースキン
花粉症で安いティッシュで鼻をかみまくっていると、鼻の下がヒリヒリして泣きそうになるわけですが、一日の終わりにユースキン塗って寝ると翌日は全快するので、本当にありがたく使っている。効きすぎてびっくりするレベル。
ロングセラーな商品で、自分も子供のころから使っていたので、安心感があるし、あらためてネットで評判を見てみても評価が高い。
✖
書けることが特にない日が続く。
いろいろイライラすることが多くて、めんどうくさい。特に僕は遅れて思い出しながらイライラすることが多いのだけれども、イライラすることを想起させる行動を繰り返しされるとだいぶしんどくなる。
✖
自分にコミュニケーション能力がないことによって、かえってコミュニケーションの重要性について実感できるのは良い。伝えるべきこともあるし、伝えるべきでないこともある。
伝えるべきことを伝えるようとすることは、決しておろそかにしてはいけない。人間と人間の間の問題のほとんどはコミュニケーション不足によって発生している。一方の理解力のなさであったり、一方の伝達力のなさであったりする。コミュニケーションする場合、おたがいに相手の理解力や伝達力に甘えてはいけない。最大限理解しようとし、最大限伝達しようとしなければならない。
どちらの立場であっても、想像力が働く必要がある。結局何もかもが想像力に帰着する。全ての問題は想像力の欠如にある。
✖
自分の責務を全うしている人に憧れる。自分がそのようになるためには、自分の責務を全うしている人に囲まれて生活をする必要があるだろう。周囲の影響というのははかりしれなくて、みんながやっていることなら自分もできる、という心持ちになれることはすごく重要だ。
✖
✖
しばらく手をつけていなかった箱の中身を整理したり、長らく使っていた不良品のスピーカーを捨てたりした。
✖
僕が日記を書くのに必要な機能は全部実装してしまった感じがする。
✖
キーボード (HHKB Pro2) がだいぶ汚れてしまっていたので、頑張ってマイナスドライバーで全部キーをはずして掃除をした。綺麗になるとすごく気持ちよくて、今とてもキーボードを打ちまくりたい気分になり、このエントリを書いている。
実際のところ、外付けキーボードは最近あまり使っておらず、MacBook のキーボードで直接タイピングしていることが多いんだけど、たまに HHKB とかさわると非常に気持ちいい。
✖
✖
自分にはホントに仲間というものがいないなと、しばしば思う。その「ああ仲間いないな」と心底から思うときの絶望感には、寒けがして凍りついてしまう。黙りこくって、ひたすら孤独感に耐えなければならない。そしてどんな内容も外にはでず、何かあったということだけが残る。誰も、どこにも味方はいない。
適切に状況を説明して理解してくれる人間なんてのはそうそういない。利害関係にない人間であればなおさらいない。利害関係にある人は味方でも敵でも彼らの言葉に意味がないので、説明する意味がない。何の意味もない。
✖
ウェブエンジニアなので、設計のときは安全方向にする。フェイルセーフを重視する。性悪説的な考えかたを強要されている。
✖
手を動かすのを止めた人はダメになる一方だな、と深く思った。
安心感が敵という価値観
小さい子どものときからずっと安心感が敵だなんて思っていたわけではなくて (僕は本来どちらかといえば楽観主義で、性善説が好きである)、いろいろなことに影響されて、徐々にそう思うようになってきていると思う。徐々に変化していっているために、自分でも何が原点になってそのようなことを思い出したのかは全くよくわからない、すなわち決定的な何かしらの出来事というのは思いあたらない。
思いつくところをあげれば、お金を稼げない恐怖 (自分の無能さに対する恐怖) すなわち生活の恐怖から発生する、成長していないことや没個性への危機感というのは高校のころから生活の中にあって、これはそういった考えに至る一つの要素になっているように思う。
また「安心感は敵」というフレーズに関しては
や、
あたりがたぶん原典になっている。
✖
しばらく写真なしです (撮っていないので…)
✖
まともな日記を書いていないようだ。ちゃんと事実を記録しないといけない。
✖
昨日ははこべさんの家で会社の人達数名と牡蠣パーティだった。牡蠣を食べまくったのと、聖☆おにいさんを読んだのと、まどかマギカ最終話を見たのと、スタードライバー10話(マリノ回)を見たのと、スタードライバー最終回を見たのと、ITホワイトボックスを見ながらあーだこーだ言ったりした。何も考えずに楽しんだ。
✖
注文していた MacBook Air 11inch が届いたのでセットアップした。Time Machine のバックアップから復元するだけでほぼ完全に環境が再現されて、すごいなあと思った。特に、アプリケーションまで復元されるとは思っていなくて「ドライブないし、Lightroom 入れなおすの面倒だなー」とか「Chemr セットアップするの面倒だなー」と気が重かった部分がなんなく終わって良かった。
Xcode と Dropbox はセットアップしなおす必要があった。Dropbox については、Dropbox ディレクトリをバックアップする設定にしてなかったので、最初からやりなおしただけ。Xcode もバックアップはされていたので、Install Xcode しただけ。
会社の NDA 含みそうなディレクトリもバックアップしてないので、それらと同じディレクトリに入れてる OSS のレポジトリが一切なくなっているのが多少不便だけど、オンデマンドで clone すればいいのでまぁいいかという感じです。
✖
自転車を処分した。自転車屋に持っていったら、無料なのでそこ置いといて、という感じだったので拍子抜けした。1500円ぐらい取られるんじゃないかと思っていた。
✖
初個展やります:祈りの原風景 - 神と仏の混じりあう国 - - From 243 を見てきた。普段から読んでいる写真日記で、神社仏閣をとっていて、京都在住っぽいので勝手に親近感を持っていて、フィードリーダーに個展のエントリが上がってきたときカレンダーに入れてあったのだった。
行ってみたらご本人がいらっしゃったので少しお話させてもらった。いろいろ撮って回っているみたいでいいなあと思った。完全デジタルで機材も現像ソフトもだいたい自分と一緒だったのと、写真撮ってる人と写真の話を殆どしないので興味深い感じだった。
✖
正しく日記を書く、というのは難しくて、なぜかと言えば、たいてい自分の生活には色がない、書くことがないと思い込んでいるからなのだ。実際には1日生きて行動したことがあり、何もないなんてことはありえない。ずっと寝て過ごしたかもしれないし、ずっと本を読んでいたかもしれないが、それらを書かない理由はない。
何も情報がないことよりは、どのように何もしなかったという情報があったほうが遥かにマシである。
✖
✖
自宅の光回線を解約した。EVO WiMAX 付属の WiMAX + テザリングだけでどんぐらい生きていけるか試してみます。
課題
- Windows 機の Wi-Fi の調子が悪い
- PS3 がネットワークに繋らない
PS3 に関してはイーサネットコンバーターを買おうかと思っている……
はこべさんに「え、PS3 無線LAN ついてますよ?」って言われて、いやーそんなはずは…… と言ってしまったが、無線LAN機能は普通についていて、普通に接続できた。
✖
「氾濫原」でググったとき4位に表示されるようになっていた。このドメイン意外と強いんだろうか…
無印の商品を大量に買っている……
株式会社はてなを退職
はてなに入社しました | Wed, Apr 1. 2009 - 氾濫原 から2年9ヶ月ぐらい経った。
新しい職場は決まっているけれど、うまく働けるか心配だ。
神奈川県に引越したので、たくさんのアニメが最速になった。
これからもよろしくお願い致します。
✖
来年の目標は初心忘るべからずという意味を込めて、原点回帰にしようと思っている。モノ造りに関して徹底的に原点回帰したい。コーディングにしても写真にしてもだ。
✖
「おっさん化」したくないなとしばしば思うが、自分の中の「嫌なおっさん像」がいまいちよくわかってないかもしれない。書き出す。
- 説教くさい
- 安心している
- 下の世代に偉そうにする (年齢だけによって傲っている)
一方で、かっこいい「おっさん」というのはどういうものか考える。
- 若い人の意見を最大限訊く
- 前線に立ち続ける
- 目がキラキラしている
- 好きなことについて熱く語れる
- 好奇心が無限にある
- 環境の変化に強い
- 責任をとる
✖
ハードディスクがまだまだ高いけど、2TBの外付けHDDを2個買った。1つは写真のバックアップ用に、もう1つはテレビに繋いで録画用にする。
今使っている外付けHDDは、起動後にシークがなかなかうまくいかないみたいな挙動をして不安になってる。写真のバックアップはそのHDDにしかないので、背に腹は変えられず、多少高くても購入に踏み切った。
✖
引越しの際に家具を殆ど捨てたので、新しく買っている。ローテーブルと本棚がまだ足りない。
ローテーブルは良いのが見つからない。
本棚に関しては普通の引き出し棚を注文したけど、届くのがだいぶ先になりそう。