YAPC::Japan::Online 2022に参加した

何年ぶり? というほど久しぶりにYAPC::Japanに参加しました。2018年の沖縄、2019年の東京に続いて3回目。YAPC::Asiaを含めると2013年から数えて6回目。

yapcjapan.org

今回はコロナ渦での開催ということもあり、オンライン。これが2,000円ぐらいの破格だったので迷う間もなく申し込みましたが、当初分はきっちり完売したようで何よりでした。

ではざっくり、振り返ります!



DAY1 (2022/03/04)

スタートはたしか18:50で、最初の乾杯が19:25ぐらいでしたが、この日は珍しく日中の仕事がかなり立て込んでしまったのでオープニングには間に合わず、乾杯直前にようやくログイン(Discordに)。YouTube Live見ながら乾杯しながら、その数時間前に届いていたperlbrewを飲みました。

今回はノベルティも飲食物も自宅に宅配される仕組みで、最高でしたね・・感染リスク、ほぼゼロ! ライス入りのスパイシーな丸ごとチキンは大変おいしく、何種類もあったオードブルやシチューもいい感じでした。とくにオードブル(というかおしゃれなツマミ)はビールが進みましたね・・今回はラムネとビールを1本ずつにしたので(ラムネ珍しかったので)、「ビール2本でも良かった・・」と思いましたが、まあ自宅なので普通に常備しているものを2本目として飲みました。

ゲスト対談

最初のゲスト対談、前半は見れなかったですが、それでもすごく良かったです。とくに昔語りをするわけでもなく、今この時の話をしているのに、空気だけはなんだかやけに懐かしい(笑)。うずらさんの喋り回し(というのか)はいつも通りで一気に「YAPCに帰ってきた!」(自分が)という感じになりました。

トーク

トーク編では@dankogaiさんの正規表現トークを聞けたのがよかったです。副音声のPerl入学式チームによる解説もあり、とくに@xtetsujiさんは正規表現や数学に大変詳しいので、その辺の相性も良かった気がします。

www.slideshare.net

懇親会・アンカンファレンス

トーク編の後は懇親会。すでに結構飲んで気分良くなってしまっていたので、最初は「懇親会の前につぶれるんじゃないか・・」とやや不安でしたが、実際はあまり飲みすぎることもなく各アトラクションを堪能しました。たぶん、オフラインだったらもっと周りの勢いに乗って飲んでしまっていたかな・・と。

Perl入学式主催のクイズ大会、充実していてよかったです。ぼくが回答するなら1問につき45分ぐらいほしかったと思いますが(笑)。参加者さん出題者さん、おつかれさまでした。

アンカンファレンス部屋もちょいちょい覗いて、ここでも久しぶりのYAPC感。まったり技術の話をしているのを良い距離感で聞けて、しかもオンラインなので資料も音声も明瞭。途中入退出が他の人の邪魔にならないのも良い感じでした。

ぜんぶ見終わり飲み食い終わり、オフラインだとその後に宿まで帰る手間がありますが、それもなく即自宅なのもオンラインの良いところ。沢山の知らない人たちと直接会って喋って得られる鮮烈な体験や、記憶への焼きつき方は薄れますが、それでもオンラインならではの良さを実感しました。

DAY2 (2022/03/05)

通常、連日開催する系のITカンファレンスだと2日目のスタートは午前からで、前日の懇親会で飲みすぎてキツい・・となりがちですが、この2日目は13:30からのスタートで大変助かりました。

しかし前夜、「あんまり飲まずに済んだ」などと思っていましたがじつは結構な二日酔いになっており(笑)、やはりお祭りだけあって普段に比べたらしっかり飲んでいたんだな・・と。オフラインだったらどうなっていたか・・。

トーク

2日目は結果的に、ずっとA会場のトークを聴いていました。といってもがっつりライブを見るという感じではなくて、リアルタイムの発表と裏トーク会場を行き来しながら自宅のタスク(家事とか)をしたりという感じ。オンラインでなければできない所業。

白方さんのコアモジュールの話はPerlっぽくてとてもよかったです。副音声のてつじさん、@shironekoさんによる話も聞きながら、より楽しめました。
argrath.ub32.org

その裏トーク、野球の解説なんかと違って解説も本編もどっちも「喋り」なので、両方同時に聞くというのはなかなか難しいですが、それでもこういった「メインの発表以外の場」が用意されているのは良い感じだと思いました。トーク後に登壇者自身の補足みたいのが聞けるのもいいですね。

続いてアナグラさんの発表、スタートと同時にピザが届いた(アナグラさん宅に)のはウケました。しかしそれを見越して「ピザ受け取り中」のスライド&コードも用意しているのがさらにすごい(笑)。

ちょうど同じ頃にウチにもピザが到着して、ほんとに来た(笑)と驚きました。宅配ピザなんてもう何年も自分では頼んだことがなかったですが、久しぶりに食べたらかなり満足。「特うまプルコギ」というメニューでした。

ちなみに、ピザハットの「ハット」はHatではなくHutだと初めて知りましたね・・(LTスポンサートークでの小ネタ)。何十年もHatだと思っていましたが。さらにちなみに、このピザハットさんのLTも最初は長めの公式CMが流れ出して、もしかしてこれだけで終わり・・? と思ってしまいましたが、その後の発表も良い雰囲気で結構熱心に聞きました。

話を戻して、アナグラさんの発表は自分にはレベルが高くて、雰囲気でやることすらできなそうなので資料を見て勉強したいと思います。
speakerdeck.com

ベストトークを取ったまかまかさんのトーク、よかったです。40分が短く感じました。あのサクサクしたテンポを保ちつつ、Acme大全の制作に関わる部分では叙情的な展開もあり、しかし湿った感じに染まるわけでもなく懐かしさと乾いたユーモアみたいなものが横溢した良い時間だったと思います。
speakerdeck.com

具体的なところだと、初期の一升瓶ラッパ飲みの表紙イラストのモデルがまかまかさんだったという話があって、「へえ〜!」と思ったり。こういう一つひとつのディテールが刺さるというか。
「この頃は年金問題が流行ったので・・その流行りを取り入れて」とかでもその都度ウケました。あと、「マルチ中毒」の元ネタはわかりましたが(昔出した自分の本の版元が「マルチチュード」とかをやっているところだったので)、「Acme::rion」は元ネタを知らず、わからず・・でも、Discordではそこがかなり盛り上がっていたので結局面白かったですね。

この「元ネタを知らないのに面白い」というのがすごくて、ハイコンテキストなのにコンテキストを共有していない人にもちゃんと面白さが届いているのが不思議です。YAPCのLTだと周りの人たちの反応がヴィヴィッドにわかるので、余計にこういう現象が起きるのかもしれないですが、オンラインでも同様にそれが体験できたのでそれもまた不思議な面白さでした。(発表者に反応が届きづらいのはつらいところですが)

あと、元々は批評系の同人サークルに間借りしていたという話も案外Acme大全の本質に触れるところのように思われ、Acme大全には真面目な批評的な観点の記事も欠かせない要素としてあるので、そういう何というかまかまかさんの批評的な物の見方というか、社会に対する論理的な意思表明のあり方みたいなものがAcme大全に表れているのかもしれないなあ、なんてことを思ったりもしました。

キーノート

本編最後のSongmuさんのキーノート。ご自身の経歴とともにこれまでのPerlYAPCとの関わりを振り返りつつ、現在の仕事を踏まえて今後を見据えるような内容でした。とくに、Launchableに関わる川口さんとの話などは新鮮なところが多くて、この発表の核心になっていると思いました。落ち着いた雰囲気で過去と未来を提示する、まさにキーノートという感じでしたね。
junkyard.song.mu

LT

LTはどれも「さすがYAPCのLT!」という感じでよかったですが、個人的には「Perl詩」(Perl Poem)が大変味わい深くてよかったです。
speakerdeck.com

深さと重さ、軽さと広がり、これらが同居してしまうのが文学の面白さで、紹介されたいくつかのPerl詩はたしかにその域に達していましたね。「プールでひと休み」の意外すぎる作者改題も必見。
たぶん、ベストLTはこれが最後まで競ったのでは? と思いましたが、実際のベストLTになったgugodさんの発表も非常に面白かったので、納得。こちらも笑いあり、頓知あり。考えたこともないことを考える時間でした。
github.com

配信のすごさ

見聞きした発表は以上ですが、今回非常に印象的だったのはとにかくオンライン開催ならではの配信で、そのクオリティがすごかったことですね。登壇者はみな遠隔地からそれぞれ参加していたと思いますが、同じ会場で発表しているのかと思うぐらいスムーズで、これは本当にスタッフの皆さんに脱帽でした。発表者が喋っている表情(動画)が画面右上に入ったり、Twitterハッシュタグ付きツイートが下の方に流れてきたり、という仕掛けもすごい仕上がり、かつ安定感。最後のLTなんてオフラインの方がよほどトラブルがあるのでは(笑)と思うぐらいスムーズな進行で驚きました。

配信については以下に関連ブログがありました。ありがとうございました。
godan09.hatenablog.com

アフターショー

終わってからしばらく裏トークAチャンネルPerl入学式を中心とした感想戦をまったり聴いていたら、いろいろ昔のことを思い出したのと、ちょうど話もひと段落したような感じだったので挙手してスピーカーに入れてもらって、あれこれ感想を述べました。この時間、自分にはとても貴重で、なぜならもうこんなふうに界隈の皆さんと直接声を交わせる機会なんて、次はいつ来るかまったくわからないので。

Perl入学式10周年

そこでも話題に出ましたが、考えてみたらPerl入学式って今年で立ち上げから10周年。すごい! ぼくが初参加したのは2年目の2013年で、趣味のプログラミングを本格的に始めたのもその年から。となると、ぼくの趣味プログラミングも来年で10周年! といっても、ぼくの場合は10年続けたというよりは単に「やめないままそろそろ10年経ってしまいそう」というだけですが・・。

Perl入学式やYAPCでは、これがなければまったく接点がなかったような人たちとの出会いがあり、その人たちは当時から今に至るまでずっと楽しそうに(もちろん見えないところでは大変な苦難も多くあるだろうけど)生き続けていて、それを見ていたら自分もやはり同じように精力的に活動したいと思うのが必然で、結果的にカンファレンスにも参加するし、自分用のプログラムを書いてみたりもするし、という。それで気づいたら10年経ってましたね。

YAPCらしさ

あと、裏トークAチャンネルで感想を話しているときに、「オンラインでもやっぱりYAPCだと思った」という話をしたら、「そのYAPCらしさってなんでしょうね」と聞かれ、ん〜、あの最初っからまったりした感じというか、「水曜どうでしょう」を見てるときみたいな、友達の家で深夜まで飲みながらダラダラ結論の出ない話をしているような心地よさもあれば、逆に技術トークを聴いてるときのあのついていけない感じ、知らない話を体全体で浴び続けるその刺激が「自由」とか「未来」への期待を感じさせたりもするっていうところかなあ・・みたいなことを言いました。

後から思うと、それはそれで全部本当なんだけど、もう少し簡潔に言ったらやっぱり「人」というか、月並みかもしれないですが、その会場(オンラインでも)で出会ったり、面識はないけど勝手に知っているその人を見かけたり、あるいはその勝手に知ってる人が別の有名な人と言葉を交わしている、その何でもないような会話をしばらく近くで聞いてみるとか、そういう一人ひとりの「人」や「場所」、そういう魅力がデカいというか、うわ〜こんな人が、こんな考え方が世の中にはあるのか〜・・という驚き、音もなく、目にも見えないけど明らかに感じる不可逆なショックというか、やっぱりそういう場がもたらす何かっていうのが「YAPCらしさ」なのかなあ、という気もします。(ぜんぜん簡潔じゃなかった!)

いや〜それにしても、おかげでまた一気にプログラミングのモチベーションが高まりました。今までもそんなにモチベーションが落ちていたわけではなく、機会があればいろいろ作ってはいましたが(最近は自分用のブックマークレットばっかりですが)、さらにグッと一段階、気持ちが高まった感じです。自由への志向が強まったというか・・やっぱりプログラミングは自由への道。やりたいこと、やれることの選択肢を増やす道。もっと時間を注ぎたい・・。

なんて落ち着いたところで、今回もこのような機会を実現してくれたスタッフの皆さん、登壇者・参加者・スポンサーの皆さん、ありがとうございました。また会いましょう!

command not found: sed というエラー

command not found: というエラー表示は時々見るが、この前ターミナル操作をしていたら、

command not found: sed

というエラーが出てきた。

sedが見つからない? ・・どういうこと?

いやいや、でも普通に sed --h と打ち込んだり man sed などとしてもきちんと表示されるので、sedコマンドがない、などということはなさそう。

しかし同じ操作をすると、やっぱり何度でも安心感を持ってそのエラーが再現される。

・・どういうこと?

具体的に何をしていたのかと言ったら、かつて .bashrc に書いていた、そして今は .zshrc に書いてある、短いシェルスクリプトの関数をターミナルから呼び出して動かしていたのだけど、たしかにというか、そのコードの中の sed の段階になるとエラーで落ちてしまっている状況だった。

それは自分にとってはかなり有用な関数(というかツール)だったので、とりあえずはどんな手を使ってでも動いてほしく、もうその部分だけでもなんとか応急手当できないかと試行錯誤する中で which sed をしたら /usr/bin/sed だというから、その関数の中のsedを全部 /usr/bin/sed に置き換えたらとりあえず動いた。 なんでやねん・・。

と思って、一旦その作業が落ち着いてからTwitterになんでやねん・・という感じのことを書いたら、詳しい方がこのようなことを教えてくれた。

え、ローカル変数・・おおお、たしかに! 思いっきり使っていた、変数名で path

で、とりあえずそれを path2 みたいにすると、あっさり消えた(普通に動いた)。なんという・・

本当にありがとうございましたありがとうございました。助かりました。🙏

で、今回 command not found: sed でいくら検索してもこれにつながる情報が一向に出てこなかったので、とりあえずここに書いておいた。同じハマり方をする人が今後出てこないとも限らないので・・。

それでふと思い出したけど、以前にもほとんど同じようなNG変数名によるハマり方をしていたんだっけ・・。(このときはfi

note103.hateblo.jp

もう5年前!

続・Scrapboxの日記にWebページをブックマークするためのブックマークレット

以下のアップデート版。

note103.hateblo.jp

コードはこんな感じで。

javascript:(function(){var input = window.prompt('Bookmark to Scrapbox','[' + document.title + ' ' + window.location.href + ']');
if (input==null) return;

var dt = new Date();
var dty = dt.getFullYear();
var dtm = dt.getMonth()+1;
var dtd = dt.getDate();
if (dtm < 10) { dtm = '0'+dtm };
if (dtd < 10) { dtd = '0'+dtd };
var today = dty+'-'+dtm+'-'+dtd;

var dh = dt.getHours();
var dm = dt.getMinutes();
var ds = dt.getSeconds();
if (dh < 10) {dh = '0' + dh};
if (dm < 10) {dm = '0' + dm};
if (ds < 10) {ds = '0' + ds};
var time = dh + ':' + dm + ':' + ds;

var data=window.prompt('Date',today);
if (data==null) return;
str = data;
elems = str.split('-');
dateYear = (elems[0]);
dateMonth = ((elems[1])-1);
dateDate = (elems[2]);
dt = new Date(dateYear, dateMonth, dateDate);
dy = dt.getFullYear();
dtm = dt.getMonth()+1;
dtd = dt.getDate();
if (dtm < 10) { dtm = '0'+dtm };
if (dtd < 10) { dtd = '0'+dtd };
var date = dy+'-'+dtm+'-'+dtd;

if (date == today) {time = ' ' + time} else {time = ' [' + today + '] ' + time};

var link = '[' + document.title + ' ' + window.location.href + ']';
var lines = [];
if (input == link) { lines.push(link + time) } else { lines.push(input + time + "\n" + '  ' + link) };
var quote = window.getSelection().toString();
if (quote.trim()) lines = lines.concat(quote.split(/\n/g).map(function(line){ if (line !== '') { return '  > ' + line } }));

var lines_and_quotes = [];
for (var i = 0; i < lines.length; ++i) { if (lines[i] !== undefined) { lines_and_quotes.push(lines[i])}};
var body = encodeURIComponent(lines_and_quotes.join('\n'));

window.open('https://scrapbox.io/***/' + date + '?body= ' + body)})()

最後の「***」にページのIDを入れる感じ。GIF動画は今回はパス。

もう1年ぐらいはずっとこれを使っていたんだけど、ブログで紹介していたのはその前のバージョンだったので、ひとまず現在のものをシェア、ということで。

前バージョンとの違いとしては、前の方だと当日のページに追記することしかできなかったけど、これだと日付を変えられる。その分、日付を確定するためのプロンプトが1つ増えてしまうんだけど、そんなに気にはならない。というかそれで慣れてしまった。

その他の機能については、冒頭リンクから前回の記事をご参照。

毎日使っているので、便利と言える。ブックマークがそのまま日記になるという感じ。プログラミング最高。

最近よく使っている自作ブックマークレット

ブックマークレットをよく作っては使っている。こんなのあったら便利では、と思ったらとりあえず作ってみて、使いながらだんだん出てくるさらなる希望に応じて機能を追加したり変更したり、それを延々とやっている。いつまででもできる。

このブログでは以前から時々そういうブックマークレットを紹介しているが、久しぶりに最近よく使っているものを紹介しておく。

選択した英語を日本語に翻訳

使用例はこんな感じ。

f:id:note103:20210411122513g:plain

コードは以下。

javascript:(function(){var quote = window.getSelection().toString();window.open('https://translate.google.co.jp/?hl=ja&sl=en&tl=ja&text=' + quote + '&op=translate')})()

Google翻訳を使ってるんだけど、翻訳元の文章に応じたURLにアクセスしているのだとふと気づいて、それを使ってみた感じ。

選択した韓国語を日本語に翻訳

使用例。

f:id:note103:20210411025355g:plain

コードは以下。

javascript:(function(){var quote = window.getSelection().toString();window.open('https://papago.naver.com/?sk=ko&tk=ja&hn=0&st=' + quote)})()

原理は同じだけど、Google翻訳の韓日版は今イチに思われることがあり、それでPapagoを使っている。仕組みが同様で助かった。

選択した部分をググる

使用例。

f:id:note103:20210411025506g:plain

コードは以下。

javascript:(function(){var quote = window.getSelection().toString();window.open('https://www.google.com/search?q=' + quote)})()

これも原理は同様。ここでは英単語をググっているけど、直訳ではなく用例を知りたいときとか、あるいは人名とか、もちろん日本語を含めてちょっと知りたいフレーズが出てきたら即ググるボタン、みたいな感じ。

いずれもコード自体は何のひねりもないシンプルなものだけど、ワンクリックで翻訳・検索されてくれるので毎日のように使っている。(とくに英語のやつ)

エンジニアでもなければ30代後半までプログラミングにかすりすらしてこなかった自分が何か思いつくたびにこのようなことをできるようになったのは、ひとえにPerl入学式で丁寧にプログラミングを教えてくれた皆さんのおかげなので、本当に感謝しています。

www.perl-entrance.org

ターミナルからScrapboxにメモを投稿するbashの関数

タイトルのとおりですが。

gist.github.com

`***` と書いてある部分にプロジェクト名を入れます。

使い方は、こんな感じ。↓

gyazo.com

パッと思いついたことをサッとどこかにメモしておきたい、というときに使っています。

ちなみに、if文の中の変数($msg)をダブルクオートで囲ってないと、上記サンプルのような2語以上に分かれるメッセージ(スペース区切りの内容)を入れられない。それで結構ハマった・・。

カレントディレクトリのファイルの中身をざらっとcatする

プログラミングの練習問題的に少し考えてみた。

catを使うのでシェルスクリプトでサラッと書ければよいのだろうけど、大変そうなのでいつものようにPerlのお力を借り・・

*実行の様子は最後に入れます。

Perlのコードのはこのような感じで。

#!/usr/bin/env perl
use strict;
use warnings;
use feature 'say';

my $arg = $ARGV[0] // '';
my @files;

if ($arg =~ /-[al]/) {
    @files = glob "* .*"; # 不可視ファイルも対象
    if ($arg eq '-l') {
        for (@files) {
            say $_ if -f; # ファイル一覧だけ表示
        }
        exit;
    }
}
else {
    @files = glob "*"; # 不可視ファイル外す
}

my %cats;
for (@files) {
    $cats{$_} = `cat $_` if -f;
}

say for (sort keys %cats);
say "===\n";

for (sort keys %cats) {
    say $_;
    say '---';
    say $cats{$_};
}

しかしこれだけだと、ターミナルに出力するだけで、行数が多いときに不便なのでlessで出すようにしたい。ということでPerlだけでは済まず、.bashrcに以下みたいなのを書く。

# .bashrcに入れる。パスは環境に応じて。
# 当該ファイルは cats.pl とする。

function cats {
    local arg="$1"
    perl path/to/cats.pl $arg | less
}

で、結果はこんな感じ。

gyazo.com

コマンド名catsを入れると、カレントディレクトリ内のファイルを全部対象にしてcatしていく。

最初にファイル名が列記されて、それに各ファイ名+中身が続いていく感じ。

オプションで -a を入れると不可視ファイルも対象にする。

lessを使わなければ、bashrcでは関数にしなくてもエイリアスだけで行けるんだけど、自分的にはlessは必須なので・・という感じ。

この機能は以前からたびたび欲しいと思っていたので、今後少しでも快適になればよいのだけど。

*別環境でも使えるようにGitHubにも上げておきました。
GitHub - note103/cats

EpisoPassを使ってみた

GyazoやScrapboxでお馴染みの増井俊之さんによるEpisoPassの存在は以前から知っていたけど、

episopass.com

基本的な仕組み自体はわかるものの、どうしてこれが安全なのか、数点の疑問がどうしても解けなかった。

ご本人に聞いてしまえば早かったのだと思うけど、そこまで急いでいるわけでもなく、たぶん数年そのままだったのだけど、ようやく理解できた気がするのでメモをかねて書いておく。

EpisoPass全体については、以下のScrapboxをご参照。

scrapbox.io

簡単に言うと、質問&正答のいわば「なぞなぞ」を作っておいて、それに正解したらパスワードフレーズが出てくる、みたいな感じ。

特徴的なのは、そのパスワードと正答はどこにも保管されておらず、とくに「正答」は自分の頭の中にしかナイので(というかそういうなぞなぞを事前に作っておくので)、仮に運営者のサーバ等からすべてのデータが抜き取られても、パスワードが漏洩することはないということ。

もう少し具体的な仕組みとしては、一意のパスワードを作るには以下の要素が必要になる。

  1. ID(URLのこと)
  2. Seed(パスワードの長さ等を指定するキーワード)
  3. なぞなぞの質問
  4. なぞなぞの正答

2番めのSeedというのが少しわかりづらいが、これがたぶんこのシステムのキモで、おそらく質問・回答の選択肢・正答・URLの組み合わせだけでもそれなりに複雑な(他人には破られづらい)仕組みにはなるだろうが、そこにSeedが絡むことでより複雑性が高まるのだと思われる。

その上で、EpisoPassには「編集ページ」と「利用ページ」があり、前者ではなぞなぞやSeedなど各種の設定を行い、後者ではそれによって出来上がったなぞなぞを解く。

で、それらのページはどちらも全世界に公開されている。

たとえば、増井さんが使用例として公開している、ご自身のTwitterのEpisoPass利用ページを見てみると、こんな感じ。

https://episopass.com/Twitter_masui@pitecan.com.html

で、その編集ページを見るとこんな感じ。(最後の「.html」をトルだけ)

https://episopass.com/Twitter_masui@pitecan.com

あれ、Seedもパスワードも見れてしまってる・・というのが、じつはつい最近までまったく意味がわからなかったところ。
パスワード、見えちゃってるんじゃないの?という。

しかし実際には、第一にこの画面内のSeedは利用者が使っているものとは限らず、試しに他のSeedを入れてみると、それに応じてパスワードも変わる。
また、アクセスした時点ではすべての回答候補の最初(左端)の選択肢が選択されているので、どれが正答かは本人以外にはわからない。
つまり、これらの変数が存在することにより、この編集ページを見られても実質的な問題はない。

*増井さんはご自身の使用例では「Seedを公開している*1」と言っているけど、本当に上記アクセス先のSeedを使っているかはもちろん誰にもわからない。

ぼくは上記後者の、「編集ページにアクセスした時点ではすべて回答候補の左端が選択されている」という前提をわかっていなかったので、編集ページが知られたら自動的にパスワードもバレるのでは・・と思っていた。

もしそうなら、編集ページはなぞなぞページのURLから推測(というか)できるのだから、そもそもなぞなぞの意味ないのでは・・と思っていたのだけど、そうではないことがわかったので、その記念にこうしてブログにメモをしている。

その他、この仕組みに関するよくある質問は以下。想定可能な疑問点はだいたい網羅されているのでは。

scrapbox.io

ちなみに、今回久しぶりにEpisoPassについて調べてみようと思ったのは、増井さんの以下の直近ブログ記事を読んだから。

scrapbox.io

先日仕事でChromebookに触る機会があり、たしかにあのログインは大変!と思っていたので、用途として非常に興味を持ったという。
(まあ実際には、まだ仕事でこれを使うことはできないが・・)

ひとまずは、自分が趣味で使っている&他への影響が考えづらいサービスで小さく試し始めているところ。

なお、Chrome拡張機能を入れてみたけど、これはなぜか上手く動いてくれない。

scrapbox.io

もしかしたら、すでに別のパスワード管理サービスのアドオンを入れているせいかも。

ちなみに、増井さんはご自身でも解説されているように、

解説スライド - EpisoPass

以前にパスワードの使い回しでちょっとした話題になったことがあり、しかしこれは逆に言うと、どんなかたちであれパスワード自体を登録・保存せざるを得ない既存のパスワード管理サービスの欠点を明らかにしたものでもあったと思う。

EpisoPassにはそれはそれで、「なぞなぞを作るのが面倒」等の問題はありそうなものの(人によりそうだが)上記の根本的な問題は含んでいないから、その点からも期待できるところがあるなあ、と思っている。アルゴリズムなど、システムの仕組み部分もシンプルかつ公開されているようだし。(FAQをざっと見た感想)

*1:FAQにて。その上で、通常は公開する必要はないし、安全を期するためにはSeedも非公開にした方が良いだろうと言っている。