毎週木曜日、おやつの時間の頃に大学堂が来る。
うちのオフィスで買った人を一人もみたことがなかったところへ、同僚が一歩踏み出した。
味は普通らしい。200円。 「社長deドッグ」とか食ってみたい。
本日秋葉原にヨドバシカメラ マルチメディアAkibaがオープン。 4年近く前から待ちわびておりましたよ。
オープンセールの特価品を狙うつもりも特になかったし、これからいつでも帰りに寄れるようになるから無理に今日は行く必要はなかったんだけれど、やっぱり縁起物(というか様子見たさ)ということで。
いやぁ、混んでいる混んでいる。エスカレータのまわりとかは非常に危険な状態。 こんな中で買い物してもストレスがたまって楽しくなさそう。
しばらくして落ちつくのを待つしかないかな。
3Fのフィルムカメラコーナーは淋しいかぎり。 しかし、中判フィルムカメラコーナーは広めにとってありデモ機も他店に比べて多いと感じた。 これからは中判か?
天気が悪くなるという予報だった連休だが、昨日・今日と晴れ間をのぞかせている。 ウチにいるとクサクサしそうなので、どこかで出掛けようということになった。
家でも最近酢を飲んでおり一度黒酢バーも体験してみたいという妻と出掛けることにした。 しかしただ酢を飲んで帰るだけではあまりにも寂しいので、1駅隣りの浜松町で降りてぶらぶらと散歩。
コース:
休日なので閑散としているかなと思ったら、レジにちょっとした列ができるぐらい繁盛していてびっくり。
寒い季節になったらどうなるのかな。ホットメニューができるのだろうか。
オンラインストレージサービスの Dropbox が一般公開された。 Windows や Mac OS X だけでなく Linux でも使えるというのでインストールしてみた。
こちらは特筆することなし。ソフトウェアをダウンロードしてインストール。 プリファレンスで Dropbox ディレクトリを c:\home\naney\var\Dropbox に変更したぐらい。
Ubuntsu 用のバイナリはあるのだが、ソースも公開されているので今回はビルドしてインストールしてみる。 以下の手順で Debian パッケージ化してインストール。
sudo apt-get install libnautilus-extension-dev libnotify-dev tar jxvf nautilus-dropbox-0.4.1.tar.bz2 cd nautilus-dropbox-0.4.1 dh_make --createorig fakeroot dpkg-buildpackage sudo dpkg --install ../nautilus-dropbox_0.4.1-1_i386.deb
以上で Nautilus 拡張がインストールされる。Nautilus が起動しているなら killall nautilus で一旦止めてから、Nautilus を起動しなおす。 ターミナルから Nautilus を起動すると
downloading dropbox from http://www.getdropbox.com/download?plat=lnx.x86 downloading dropbox from http://dl-web.getdropbox.com/u/17/dropbox-lnx.x86-0.6.382.tar.gz dropboxd: どのプロセスもkillされませんでした
と出力される。
クローズドソースの dropboxd が ~/.dropbox-dist 以下に自動的にダウンロードされて実行される。
個人的な設定としてプリファレンスで Dropbox ディレクトリを ~/Dropbox から ~/var/Dropbox に変更しておいた。
あとは普通に Dropbox ディレクトリ上にファイルをコピーしたり修正したりすると、自動的にサーバ側と同期される。 最初 Nautilus というのをみたとき「Nautilus 上での処理しか反映されないのかなあ」と思ったのだが、別にそんなことはないようだ。
ちょっとだけだが使ってみて、多くの人が絶賛する理由がなんとなく感じられた。 クールだ。 オフラインでの同期・高速な同期・リビジョン管理は便利そうである。
一方、PC 上の1ユーザで、Dropbox 複数アカウントの切り換えはちょっと面倒そう。 自前で退避させるしかないのかな。
また同期する PC によっては Subversion で特定のサブディレクトリのみチェックアウトできるように、一部のサブディレクトリのみ同期対象とできるといいなと思うのだがそういう機能はみあたらない。
完全に自分が占有している PC が複数台あって、セキュリティなどにあまり気をつかわなくてよく全部同期をかけても問題ない場合が、いちばんマッチしている利用パターンだな。
iPod touch を買ったので Day One を使い始めている。Android 版が出ることを期待してるんだけれど、それまで iPod touch (と iPad 2) からだけだと使わなくなりそうな予感。Mac 使ってないしね。
Dropbox 同期なのでもしかしたら Linux からちょっとは編集できるんじゃないかなと思ったら、データ形式がシンプルで簡単にできるということがわかった。
Day One のサイトにデータ形式などが説明されているのが非常に好感が持てる。 あー、なんとなく人気な理由がわかった気がする。
Dropbox で同期していると
Day One/Journal.dayone/entries/<UUID>.doentry
という構成で1エントリ毎に1ファイルが作られる。XML プロパティリスト (plist) 形式で、普通に XML ファイルとして編集できる。Linux 側で編集すると、わりとすぐに iPod touch の Day One で表示しているエントリにも定期的に反映される。いい感じ。
ということで既存のものなら普通に Emacs で編集しちゃえばOK。
UUID を生成してファイルを作る必要があるので簡易的に以下のようなスクリプトを作った。
実行すると note と書かれたエントリファイルを作成した後 emacsclient -n でそのファイルをオープンする。Creator のところはいじっても良さそうだけれど、良くないかもしれないのでとりえあえず iPod touch で生成したのと同じままで。
#!/usr/bin/perl use strict; use warnings; use File::Spec; my $DIR = '/path/to/Dropbox/Apps/Day One/Journal.dayone/entries'; my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = gmtime(time); my $date = sprintf( "%04d-%02d-%02dT%02d:%02d:%02dZ", $year + 1900, $mon + 1, $mday, $hour, $min, $sec ); my $file_name; my $uuid; while (1) { $uuid = `uuidgen`; chomp $uuid; $uuid =~ s/-//g; $uuid = uc($uuid); $file_name = File::Spec->catfile($DIR, "$uuid.doentry"); last unless -e $file_name; } my $plist =<<__ENDSTR__; <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Creation Date</key> <date>$date</date> <key>Creator</key> <dict> <key>Device Agent</key> <string>iPod touch/iPod5,1</string> <key>Generation Date</key> <date>$date</date> <key>Host Name</key> <string>オレのiPod touch</string> <key>OS Agent</key> <string>iOS/6.1.3</string> <key>Software Agent</key> <string>Day One (iOS)/1.11.3</string> </dict> <key>Entry Text</key> <string>note</string> <key>Starred</key> <false/> <key>Time Zone</key> <string>Asia/Tokyo</string> <key>UUID</key> <string>$uuid</string> </dict> </plist> __ENDSTR__ open my $file, '>', $file_name or die $!; print $file $plist; close $file; exec "emacsclient -n '$file_name'";
Linux 用で UI をもつ clone 見つからなかったので、とりあえず howm の検索パスに前述のディレクトリを追加して、howm から検索できるようにした。これでワードがわかれば最低限さっとエントリファイルを Emacs で開ける。
Plack::App::Directory::Markdown をベースにちょっと手を入れた Markdown ビューアを使っている(記事)んだけれど、閲覧要認証なシチュエーションが出てきた。
自分のみ閲覧のものは builder で Plack::Middleware::Auth::Digest を enable にして Digest 認証をかけ、htdigest コマンドでパスワード管理とかで済ませているのだけれど、複数人に閲覧してもらうのにこれは嫌だ。人のパスワード管理はしたくない。
OAuth で Google アカウントとかの認証を使うというのもあるけれどキーとか面倒くさいので、せっかくだし mixi OpenID を使うことにした。Perl モジュールは Net::OpenID::Consumer::Lite を使用。
とりあえずやっつけで以下のような感じ。いきなり mixi OpenID 認証させるしエラー・キャンセル処理もほとんどないし、call の中にネジこんだりしてあるので、まだまだダメダメだけれどとりあえず認証はできた。後で整理する。
$app = builder { enable 'Session', store => 'File'; $app; };
my $session = $env->{'psgix.session'}; my $request = Plack::Request->new($env); unless ($session->{openid}) { unless ($request->parameters->{'openid.mode'}) { my $check_url = Net::OpenID::Consumer::Lite->check_url( 'https://mixi.jp/openid_server.pl', $request->uri); return [302, ['Location' => $check_url], []]; } return Net::OpenID::Consumer::Lite->handle_server_response( $request->parameters => ( not_openid => sub { return [503, [], []]; }, setup_required => sub { my $setup_url = shift; return [302, ['Location' => $setup_url], []]; }, cancelled => sub { return [403, [], []]; }, verified => sub { my $vident = shift; my $identity = $vident->{identity}; # %member に閲覧 OK の OpenID を入れてある。 if (exists $member{$identity}) { $session->{openid} = $identity; return [302, ['Location' => $vident->{return_to}], []]; } else { return [403, [], []]; } }, error => sub { my $err = shift; return [503, [], []]; }, ) ); } # 以下は認証済みの場合の処理を書く。
[ Naney と mixi ]
8月中旬に入られたインターンのパソラーさんが今日最終日でした。
Foursquare の弊社のメイヤーをいつの間にか私から奪っていたのが今回のハイライトでした。昨日の成果発表会でババーンとスクリーンショットを見せつけられて歯ぎしりしました。
「CS 開発でインターンシップをしていただく事が決まった方へ (2015年夏版)」(要ログイン)でのお願いをさっそく実行してくれてブログを書いてくださりありがとうございます(日記・ブログを書くまでがインターンシップです)。
本番システムの開発を担当していただくことで
自分の仕事が mixi に反映されるのはやっぱり感動します。
と楽しさを感じてもらえて良かったです。また、今回担当させてもらったチューターについて
他のインターン生の話を聞く限り、1番いい人に当たったと思います。
と評価していただいたのも光栄です(チューターさん良かったですね)。 パソラーさんは吸収が早く、またバランス感覚に長けている方だなと思いました。開発チームの雰囲気にも合っていたのも今回ハッピーだったと思います。
あと今夏のインターンの方お2人とも「無限コーヒー」をえらく気に入ってくれていたので、無限コーヒーは重要なようです。
では、また機会があればよろしくお願いいたします。メイヤーは速やかに再奪取いたしますね。
一昨日からつぶやかないでmixi日記を書くことにした流れで、今日は朝に WIP (Work In Progress) なmixi日記エントリを作って追記・編集するスタイルで更新してみました。
やはり今の仕組みでは書き上げてから投稿した方が良いです。
デスクトップ版「Google ドライブ」アプリが2017年12月11日にサポート終了、2018年3月12日に完全停止となるということで「バックアップと同期 (Backup and Sync)」に移行することにしました。
移行は簡単。「Google ドライブ」がインストール & 実行されている状態で「バックアップと同期」アプリをインストールすると自動的に移行してくれました。
「バックアップと同期」アプリでは「Google ドライブ」フォルダだけでなく、任意のフォルダをバックアップ・同期対象にできるので、Dropbox フォルダの中にあるテキストファイル群がある notebook フォルダを指定してみました。15,000 超のテキストファイルを同期すると Google ドライブアプリでは CPU がずっと 100% になるという現象に過去当たったのですが、今回は問題無し。数が多くても大丈夫のようです。
Dropbox と Google ドライブに同時に同期をかけておけるようになり、これで Android デバイスの Google ドライブアプリからノートテキストファイルを全文検索できるようになるぞと思ったのですが、そういえば拡張子 md の Markdown ファイルは検索対象外だったのを忘れていました(一度 txt にしたけれど戻した経緯あり)。あー、惜しい。
[ ノート・日記はテキストファイルに ]
三連休2日目。今月はいろいろ出掛けてお金を使う・使っているので、今日はあまりお金をかけずに楽しもうと公共の施設に行くことにした。選んだのは品川区立品川歴史館。品川宿や大森貝塚などについての展示などがメインの博物館である。
一般観覧料が100円とリーズナブルなので収集資料の展示程度なのかなと思ってそれほど期待していかなかったのだけれど、綺麗な展示室に品川宿の宿並模型があったりとしっかり楽しめる展示になっていて期待以上でびっくりだった。昔の道具に触れられる体験コーナーもあったりして、いろいろ学べるよい施設だな。
空いているし、茶室「松滴庵」が残されているちょっとした庭園もあるしで、ゆったりとした気分に浸れて満足満足。
3連休2日目。午前中に品川歴史館に行き、そのまま足をのばしてイトーヨーカドー 大森店へ。2017年12月8日にコメダ珈琲店やカルディコーヒーファームが開店するなどリニューアルしている。お昼ご飯は HEART BREAD ANTIQUE で。
大井町回だった昨日の出没!アド街ック天国を夜に観た。予想はしていたけれど半分以上飲食店関連。「焼肉激戦区」というのは知らなかった。常連向けの小さい飲み屋などが紹介されても行けないので、もうちょっと飲食店以外の「これは知らなかった」みたいなスポットを紹介して欲しかったな。
それから9月14日(金)に再放送が始まったドラマ 東京ラブストーリーの第1話も今晩視聴。今観てもあっという間に惹き込まれてドキドキしたわー。ファッションとかは時の流れを感じるけどストーリーや演出は全然色褪せていない。
第1話放送は1991年1月7日で高校3年の冬。受験真っ只中だったのでこの頃は夜のアルバイトは休んでいて観られる状況ではあったと思うんだけれども、さすがに生で観ていたのか録画して観ていたのか再放送で観たのかまではっきり覚えてないなぁ。
あのガラスの壁のカンチの部屋とか、社会人になって一人暮らしするとああいう部屋に住むのかなと想像とかしていた。
20代は仕事も大切だけれど悔いのないように恋愛しておく期間だよなぁ。
PC で閲覧した時のフォントサイズを 18px に、また行の高さを 2.0 にと、今どきっぽく大きく広くしてみた。
幅はいじると影響範囲が大きいのでそのままで。
夜ご飯の後のデザートとしてララクラッシュ メロン味を一口食べた瞬間に、子供の頃に使っていたプラスチックモデル用接着剤の記憶がよみがえってきた。四角いビンにハケ付きキャップの。タミヤセメント。
有名な渡り廊下#photography
— Naney (@Naney) September 15, 2022
RICOH GR IIIx #GR #GRIIIx #GR3x pic.twitter.com/QttBKUU1yK
Naney (なにい) です。株式会社MIXIで SNS 事業の部長をしています。
※本サイトの内容は個人的見解であり所属組織とは関係ありません。