ささきしき

チラシ

オフ会(≒レセプション)開催に係る、QoR向上のススメ

Quality of Reception.

オフ会って言うと極端な話、ネットで知り合った人間2人がペアチケ当ててライブに出向くのも該当するけれど、そうではなく、「十数人~数十人の人間が、集団として何らかの目的を持って、有志によって開催されたイベントに参加する」くらいの規模のレセプション・パーティーについて語っていると思ってくだしあ。 いまいち想像がつかない方は、そうだなぁ、アニメやマンガで見るような「立食パーティー」ってイメージの、もっと小規模な寄合っぽい、なんかそういうものを想像してみてください。多分。

というわけで、そういうレセプションのスタッフ(ホスト)として参加したときに、何に注意したらより良いものになるのか(なりそうなのか)、という意見を、思いつく限りメモしておこうと思います。

箇条書き結論

  • 連絡方法は1つだけ用意する
  • 会場を下見して、イベント時の人の流れを大まかに把握する
  • 名簿は確実に用意する
  • 金銭の話をするときに「とりあえず」は厳禁
  • 現地機材の徹底確認(できる限り下見しろ)
  • 環境依存性の高いデータは用意しない
  • 私はお前じゃないし、お前は私じゃない
  • 必ずしも参加者全員が味方ではない
  • 必ずしも参加者全員は味方ではない
  • 参加を断る権利も、参加しない権利もある

おわりに・免責

いろいろ思いつくままに書き連ねましたが、あくまで私個人の意見感想であり、所属する企業・団体、ホスティングサーバーの運営企業とは関係なく、特定の政治的思想、宗教的価値観を奨励・批判するものでもありません。また一部明示した箇所を除き、特定の企業・団体や個人、イベント等について言及されたものではありません(お定まりの定型句)。 あくまで「私がホスト側でイベントを興すならこれくらいしたいし、できれば他人がホストになったときにもしていて欲しいけれど、まァ理想論ね。理想論。」という程度の話です。

この文章を大真面目に肯定的に捉えて実践しようとしなくていいし、この文章を大真面目に批判的に捉えて義憤に駆られなくていいです。

以下本旨

続きを読む

日記 30 Sep, 2018

なんとか今月も更新できた(突然の目標宣言)

7月から溜まってたカードゲームのやりこみ報告です。

f:id:sota_n:20180930230959p:plain

f:id:sota_n:20180930231016p:plain

f:id:sota_n:20180930231028p:plain

だんだん達成率が悪くなってるの良くないですね。10月期はがんばるぞい。

…っていうか今見返したら9月分だけトリミング位置間違えてますね。なんだそれ。

【化石】複数PDFのページ数だけを調べてtxt出力

とりあえずWindows環境限定です。

ぱっと検索したかぎり「VBAでやる」とか「アプリケーションを使う」とかいろいろあったんですが、クソ面倒なのばっか『複数の』PDFファイルを調べて『TXTで出力』するのはお目にかかれず、結局パッチワークでなんとかしてしまった、という話。備忘録。

準備するもの

  • Node
    • fs, path, child_process モジュールを使いますので、つまりそういう感じ。
  • PDFtk

実際のコード

c:\binにファイルを置いて動かしていますので、パス回しとかそんな感じになります。

//list.txt

folder/pdf1.pdf
folder/pdf2.pdf
folder/pdf3.pdf
folder/pdf4.pdf
:
//NumberOfPages.js

const execSync = require('child_process').execSync;
const fs = require('fs');
const path = require('path');

const list = fs.readFileSync(path.resolve(__dirname, 'list.txt'), 'utf8').trim().split(/\r?\n/);
const allIndex = list.length;
let currentIndex = 0;

const parentDir = path.resolve('path/to/pdf-dir/');
const pdftk = path.resolve('../Program Files (x86)/PDFtk/bin/pdftk.exe');
const output = path.resolve(__dirname, 'output.txt');
fs.writeFileSync(output, '', 'utf8');

let result = '';

list.forEach(file => {
    const filePath = path.join(parentDir, file);
    const execResult = execSync(`"${pdftk}" "${filePath}" dump_data | findstr NumberOfPages`).toString();

    const NumberOfPages = execResult.match(/NumberOfPages: (\d{1,})/)[1];

    result += `${file}\t${NumberOfPages}\r\n`
    console.log(`${++currentIndex}/${allIndex}`);
});

fs.writeFileSync(output, result, 'utf8');
# cmd

C:¥bin> node NumberOfPages.js
// (example)_output.txt

folder/pdf1.pdf 9
folder/pdf2.pdf 11
folder/pdf3.pdf 10
folder/pdf4.pdf 22
:

補足

シングルプロセスで同期処理なので遅いっちゃ遅い。 マルチプロセスに非同期で飛ばせば所要時間は減るかもしれんが、そこまでして攻めたい話でもないので富豪プログラミングである。 適当にexec周り差し替えれば他の環境でも動くでしょ(てきとう)。

<!-- 他にも何かあったら書く -->