ソンブレロ鍋

鍋メモ

技術書典 6 のサークルチェックを楽にする

まとめ

技術書典6のサークルチェックを楽にしたい.技術書典サークルチェッカー (https://seasidelab.github.io/tbf-circle/ ) というのがあった.
技術書典サークルチェッカーでつけたスターを,技術書典公式ページに反映したい.したいのでする.

内容

  1. 技術書典サークルチェッカーを使ってサークルの概要をチェックする,気に入ったサークルにスターを付ける
  2. 技術書典サークルチェッカーでスターを付けたサークル一覧データを得る
  3. 一覧を技術書典の公式ページから入力する

上記処理の 2, 3 をブラウザのコンソールで実行できるようにした.

// サークルチェッカーのページで実行する https://seasidelab.github.io/tbf-circle/
//
// サークルチェッカーでスターを付けたサークル一覧を取得
// => "{\"12345678\":\"12345678\",\"98765432\":\"98765432\"}"
localStorage.getItem("star"); // これで取得した文字列を使う

サークルチェッカーで得た文字列をコピペする.

// 技術書典6のページでログインしてから実行する https://techbookfest.org/event/tbf06/circle
//
// 処理する時に使う wait ヘルパー
let wait = function sleep(milliseconds) {  return new Promise(resolve => setTimeout(resolve, milliseconds)); }

(async function(){
  // サークルチェッカーのページで取得してきたサークル一覧を入力する(Pasteする)
  let starList = Object.keys(JSON.parse(XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX));

  console.log("start");
  // 全サークルを取得
  Array.prototype.slice.call(document.getElementsByClassName("circle-list-item-link"))
  // スターリストに入れているサークルだけ取得
  .filter(circle => starList.includes(circle.getAttribute("href").split('/').slice(-1)[0]))
  // 技術書典のサークルチェックリストに入れるボタンを取得
  .map(
    circle =>
      circle
        .getElementsByClassName("circle-list-item-name")[0]
        .getElementsByTagName("button")[0])
  // 既にスターを付けてるボタンを押すと toggle されてスターが外れるので,"追加"できるサークルだけにする
  .filter(
    btn =>
      btn.getAttribute("mattooltip").includes("追加")
  )
  // スターボタンを押す
  // 一応ちょっと wait 入れる
  .forEach(btn => { btn.click(); await wait(200); });
  console.log("end")
})();

Firefox 65.0.1 で実行した.
なお, wait 入れたりしてから動作確認してないので動くか不明

振り返りには色々ある(PDCA, KPT, YWTなど)

最近知った振り返りの色々をメモする.

振り返りの手法として KPT, YWT などがある.

KPT は Keep, Problem, Try の頭文字をとったもので,それぞれ「 Keep したい良かった行為」「発生した問題」「Keep を発展・継続するために Try すること, Problem を避ける・解決するために Try すること」を書き出していく手法である.

YWT は Yatta, Wakatta, Tsugiyaru の頭文字をとったもので,それぞれ「やったこと」「わかったこと」「つぎやること」を書き出していく手法である.

 

振り返り単独の手法ではないけれど,近いものに PDCA や PDSA, PDS, PPDAC などもある.

それぞれ, PDCA は Plan-Do-Check-Act, PDSA は Plan-Do-Study-Act, PDS は Plan-Do-See, PPDAC は Problem-Plan-Do-Analysis-Conclusion の頭文字をとったものである. PPDAC だけが「まず問題があってそれを解決する」という立ち位置を明確にしているけれど,他は大体同じだと思っている.

 

これらの使い分けについて考える.

まず KPT と YWT について使い分けることを考える. YWT の方が KPT よりも使える期間の幅が広いと思う.

短期間で振り返りをする場合, Keep できることがなかったという可能性があるけれど,何もしなかったということはないので YWT の Yatta は出しやすい. (短期では YWT の方がやりやすそう)

中期間で振り返りをする場合,なにかいいことはあるべきだし多分あるだろうと思うので Keep は出せる. Yatta ことは粒度を調整するのに苦労するだろう,粒度が細かいと大量の Yatta が出てきて整理が難しくなりやすい.(中期では KPT の方がやりやすそう)

こうしてみると,短期間は YWT で中期間は KPT となるように見えるけれど,短期間の YWT をまとめつつ中期間の YWT をするということも可能であり,振り返りとして各 YWT の内容を見返していくのは思い出しも兼ねて良いと思う.一方で,短期間の KPT を見返しながら中期間の KPT をおこなうのは少し難しい,なぜなら途中の各 KPT における Problem はすでに Try によって解決されて既に Problem ではなくなっている可能性があるからだ.(過去に Yatta, Wakatta ことはいつまで経っても過去に Yatta, Wakatta ことのままだけれど,過去に Keep, Problem だったことが今でも Keep, Problem である保証はない)

そして,長期間の振り返りは, KPT でも YWT でもなく PDCA 系の行為でおこなわれるのが良いと思う.長期間の活動が「特に計画もなくとりあえずやってみるか」という Do 先行で始まることは良くないからだ.長期の活動は (解決する Problem を定めて) Plan を立て,指標を定めてから始めて, Check/Study/See/Analysis できるようにするのが良い.長期間の活動は「問題 → 目的 → 目標 → 計画 → 行動 → 解析 → 計画」という流れでおこなわれ,その部分部分で KPT や YWT が使われるという形態になるだろう.

メモメモ….

耳栓をつけて寝る

ライブ・コンサート用耳栓を買ってみた.買ってからコンサートには行ってないのでコンサートでの効果はわからないけれど,普段遣いではエアコン・冷蔵庫・加湿器などの動作音が小さくなるくらいの効果なのでインターホンの音を聞き逃すことはないしちょうど良い.

百円のスポンジ耳栓を付けて寝るのは以前にやったけれど,サイズが合ってなかったのだろう,耳の中が圧迫されるような感覚があってやめてしまった.

今回買った耳栓はシリコン製のもので,中空構造というか隙間があるのでそこまで圧迫感がなくて長時間も向いてそう.

 

ブログに何か書く程度のことをやるのが,何か物を買った時くらいしかない.もっと活動していかねば.

Mac で定期的に TimeMachine にバックアップを取るように設定した

TimeMachine の設定を ON にしておくと毎時バックアップとるけれど,そんな頻度は必要ないし作業してないときにだけバックアップを作成してほしかった.

tmutil を使って以下のように cron 設定した

2 3 */3 * * tmutil startbackup --auto

Mac で TLS ハンドシェイクがタイムアウトして Web ページを見れない

結論

セキュリティソフトによるウェブブラウジングプロテクションによる挙動によるものと推測したので,該当する機能を無効にした.(アンチウイルス機能のみ使う目的だったため)

 

経緯

Mac でウェブブラウジングしていて,急に Web ページを読み込まなくなった.

ブラウザの読み込みステータスとして「 TLS ハンドシェイクを確認しています」と表示されているが一向に進む気配がない.ブラウザは Firefox を使っているが,同時に使用していた Vivaldi でも同じ症状になった.( TweetDeck は通信し続けてツイートもできるしタイムラインも見れる)

同じ回線を使用しているスマートフォンではブラウジングができるため, PC 側の何かの設定が悪いのだろうと思って検索したところ,次の Web ページを見つけた.( Mac の TweetDeck で "TLS ハンドシェイク 遅い" と検索してヒットしたツイートから飛んだけれどブラウザで読み込まず読めなかったためスマートフォンで読んだ)

smithfield.jp

Mac では Sophos Anti-Virus を使っており, Web Protection 機能の「 Web サイトの悪意のあるファイルのダウンロードをブロックします。これにより、難読化された、ポリモーフィック型のゼロデイ脅威がブラウザに到達する前に Mac を保護します。」が有効になっていたので無効にしたところ解決した.

この間にルーターの再起動などもおこなったので本当に確実にセキュリティソフトによるものかどうかはわかっていない.

 

ついでに,江添さんの記事も読んだけれど,過去に読んだはずなのに原因に思い当たらなくて悔しい気持ちになった.

cpplover.blogspot.com

Helix, Fortitude60 キーボードを作った.

Helix と Fortitude60 という USB 接続キーボードを作った.

Helix キーボードキット | 遊舎工房

GitHub - Pekaso/fortitude60

 

Helix は 2017 年 12 月頃に共同購入の募集があったので参加してキットを購入, Fortitude60 は作者の Pekaso さんがコミケ(C94)で頒布した余りを Booth で出していたので購入した.

 

Helix はロープロファイルスイッチ・ロープロファイルキーキャップで作ったため非常に薄く,メインで使っているキーボードと比較すると下の画像のように半分ほどの厚みとなった.

f:id:zfhrp7:20180819203226j:plain

 

Fortitude60 は Kailh Speed Switch の Copper で作った.このスイッチは,よく言われる茶軸がベースで入力点が浅めになったスイッチだ.

普段使っている ErgoDox は赤軸だが,実は茶軸が好みなのでしばらく使って感触を確かめたい.

Fortitude60 にはまだキーキャップをつけてないので下の画像のようになっている.

f:id:zfhrp7:20180819203644j:plain

 

どのキーボードを使うにしても傾斜は必要だと思うので下のような感じか?

f:id:zfhrp7:20180819203918j:plain

 

作ってる最中にニッパーとワイヤストリッパーがないことに気づいたのでニッパーとワイヤストリッパーを買った.

 

ベッセル(VESSEL) ワイヤーストリッパー No.3500E-1

ベッセル(VESSEL) ワイヤーストリッパー No.3500E-1

 

Subsonic で音楽ストリーミング再生

Subsonic というアプリケーションとスマートフォンを使って,音楽ファイルを持ち歩かずに自由に再生することを目的とした.この際,通信量が大きく増えてしまうことは考えていない.

また,低速で通信量の制限がない回線を考慮して,低ビットレートでまともに再生できるよう Opus コーデックというものを採用した.

Opus コーデックについては以下を参照

Opusフォーマットで音楽を聴く--音質と圧縮速度を両立

音楽ファイルが96kbpsになる日――Opus音声コーデックの実力 - Qiita

Subsonic については公式を参照(省略)

インストール方法は以下

http://www.subsonic.org/pages/installation.jsp

 

今回は stand-alone を使用した.java, ffmpeg がインストールされていれば使えると思う.

 

FLAC の再生に問題があるらしいので ArchWiki の記述に従って修正する.この時, flac, lame が必要になる.

Subsonic - ArchWiki

また, flac, lame は, stand-alone な Subosnic を伸張した場所に transcode ディレクトリを作成して, transcode ディレクトリ内に実行ファイルを置くか実行ファイルへのシンボリックリンクを置く必要がある.

 

これで, FLAC ファイルを (wav ファイルへのデコードを経由して) mp3 に圧縮してストリーミング再生できるようになった.

ここで, Opus コーデックという低ビットレートに強い音声コーデックがあることを知ったのでさらに設定を変更した.

具体的には, ArchWiki に従って変更した内容

flac --silent --decode --stdout %s lame --silent -h -b %b -

opusenc --quiet --vbr --bitrate %b -

に変更した.

 

-- 2019-04-13 追記

input format: flac

output format: opus

opusenc --quiet --bitrate %b --downmix-stereo --title %t --album %l --artist %a %s -

--

 

ビットレートの設定は,再生するアプリケーション (つまりスマートフォン側) の設定にあるので,そこで低いビットレートにすることで通信帯域を節約できる.(再生アプリケーションの設定を無視する形になるので良くないけれど楽な設定としては, opusenc --quiet --vbr --bitrate 92 - を設定するなど)

 

92kbps くらいなら 200kbps の低速回線でも途切れ途切れにならずに再生できた.