$30 off During Our Annual Pro Sale. View details »

Acme、其はPerlのユグドラシル

3.2k

 Acme、其はPerlのユグドラシル

Makamaka Hannyaharamitu

March 05, 2022
Tweet

Transcript

  1. まかまか般若波羅蜜 YAPC::Japan Online 2022 Acme、其は Perlの ユグドラシル

  2. ※タイトルはtreeです ←ユグドラシル(世界樹) Wikipedia 「ユグドラシル」の項より

  3. 前口上 ←Discord のルーム見ながら喋ります

  4. 前口上 ←Discord のルーム見ながら喋ります トーク中、質問やツッコミがあれば 出来る限りレスしながら進めたいと 思います。

  5. 前口上 ←Discord のルーム見ながら喋ります 寒いギャクが出るかもしれません そんなときは遠慮せず 「おー寒っ!」って書き込んでください

  6. 前口上 綴りはこんな感じで Awesome!

  7. 自己紹介 • 名前 • まかまか般若波羅蜜(makamaka) • 所属 ・株式会社ネコトーストラボ ・Hachioji.pm ・どんぞこ楽屋

  8. 自己紹介 • 名前 • まかまか般若波羅蜜(makamaka) • 所属 ・株式会社ネコトーストラボ ・Hachioji.pm ・どんぞこ楽屋

  9. None
  10. 主な事業はYAPCのノベルティに光る棒を送り付けること

  11. 自己紹介 • 名前 • まかまか般若波羅蜜(makamaka) • 所属 ・株式会社ネコトーストラボ ・Hachioji.pm ・どんぞこ楽屋

  12. 自己紹介 • 名前 • まかまか般若波羅蜜(makamaka) • 所属 ・株式会社ネコトーストラボ ・Hachioji.pm ・どんぞこ楽屋

  13. どんぞこ楽屋 • Perlの同人サークル • だいたい2008年から活動~2021年 • 『Acme大全』という同人誌を毎年発行 • http://www.donzoko.net/gakuya/ •

    https://donzoko.booth.pm/
  14. どんぞこ楽屋 • Perlの同人サークル • だいたい2008年から活動~2021年 • 『Acme大全』という同人誌を毎年発行 • http://www.donzoko.net/gakuya/ •

    https://donzoko.booth.pm/
  15. • なお、他にPerlの同人活動としては • kaz hiramatsuさん 『雅なPerl入門』(第3版) • https://miyabi-perl.booth.pm/ がとても素晴らしいです(在庫切れらしい)

  16. 最初に確認

  17. YAPC::Japan (あるいは YAPC::Asia )に 参加したことがありますか。

  18. A. YAPC::Asia Tokyo 2006~2015 から B. YAPC::Japan 2016~ から SAPPORO(2016)

    OSAKA(2017) HAKATA(2017) ONNASON(2018) Tokyo(2019) C. 初めての参加
  19. Acmeモジュールが何か 知っていますか? A. 知ってる B. 知らない

  20. 『Acme大全』が何か 知っていますか? A. 知ってる B. 知らない

  21. なるほど

  22. このトークについて • Acmeモジュールの紹介に命を懸けた10 数年間を振り返ります • 『Acme大全』の制作にまつわる話 • 同人活動に一段落をつけた今後について

  23. つまりエモい話

  24. つまりエモい話 ではなく えーもういいょ……って話

  25. 本日のアジェンダ • Acmeの扉 • 必要はAcmeの母 • 少々Acmeウゼェナ • 星のAcme

  26. 本日のアジェンダ • Acmeの扉 • 必要はAcmeの母 • 少々Acmeウゼェナ • 星のAcme ↑プロポーザルに上記で出して通ったので、

    そのままの章立てでいきます……
  27. None
  28. Acmeの扉

  29. None
  30. Acmeモジュールとは ・Acmeは冗談モジュール用の名前空間 ・Damian Conway の Bleach に端を発す (2001年)

  31. # hello.pl use Acme::Bleach; say "Hello YAPC::Japan"; # このスクリプトを実行すると >

    perl hello.pl
  32. # hello.pl use Acme::Bleach; > cat hello.pl # Acme::Bleachを残して消えるが、動作する >

    perl hello.pl > Hello YAPC::Japan
  33. # source/DCONWAY/Acme-Bleach-1.150/lib/Acme/Bleach.pm package Acme::Bleach; our $VERSION = '1.150'; my $tie

    = " ¥t"x8; sub whiten { local $_ = unpack "b*", pop; tr/01/ ¥t/; s/(.{9})/$1¥n/g; $tie.$_ } sub brighten { local $_ = pop; s/^$tie|[^ ¥t]//g; tr/ ¥t/01/; pack "b*", $_ } sub dirty { $_[0] =~ /¥S/ } sub dress { $_[0] =~ /^$tie/ } open 0 or print "Can't rebleach '$0'¥n" and exit; (my $shirt = join "", <0>) =~ s/(.*)^¥s*use¥s+Acme::Bleach¥s*;¥n//sm; my $coat = $1; my $pressed = '#line ' . ("$coat¥n" =~ tr/¥n/¥n/) . ' ' . (caller)[1] . "¥n"; local $SIG{__WARN__} = ¥&dirty; do {eval $coat . brighten $shirt; print STDERR $@ if $@; exit} unless dirty $shirt && not dress $shirt; open 0, ">$0" or print "Cannot bleach '$0'¥n" and exit; print {0} "${coat}use Acme::Bleach;¥n", whiten $pressed.$shirt and exit; __END__
  34. local $_ = unpack "b*", pop; tr/01/ ¥t/; open 0,

    ">$0"; print {0}; tr/ ¥t/01/; pack "b*", $_; 初回実行すると…… use Acme::Bleach されたスクリプト自身を読み込む use Acme::Bleach から後の行の文字列を2進数にして0ならスペース、1ならTABに変換 use Acme::Bleach されたスクリプト自身に書き出す 再度実行したときは元に戻して eval
  35. Acme誕生の歴史 • 下記あたりを参照 • https://www.perlmonks.org/?node_id=410774 • https://www.perlmonks.org/?node_id=967004

  36. このような冗談モジュールを Acmeモジュールと呼んでいます。

  37. 同人活動

  38. 同人活動 太古代 • 2004年~2005年 自分の日記サイト

  39. 同人活動 太古代 • cf. 海外でのAcmeの紹介例(2006年) • https://www.perlmonks.org/?node_id=558220

  40. 同人活動 原生代 • 2006年~2007年 • 評論系サークルの冊子に間借り数ページ • コミケに出展

  41. 同人活動 原生代 • 2006年冬コミ • 『マルチ中毒』

  42. 同人活動 原生代 • 2006年冬コミ • 『マルチ中毒』 翌年のYAPC::Asia Tokyo 2007でなぜか Perlの部分だけ抜き出して緊急頒布!

  43. 同人活動 原生代 • 2006年冬コミ • 『マルチ中毒』 翌年のYAPC::Asia Tokyo 2007でなぜか Perlの部分だけ抜き出して緊急頒布!

    ↓ nipotan に「マークパンサー?」って言われる
  44. 同人活動 原生代 • 2006年冬コミ • 『マルチ中毒』 翌年のYAPC::Asia Tokyo 2007でなぜか Perlの部分だけ抜き出して緊急頒布!

    ↓ 表紙を見て買った人に 「中にイラストないじゃん!」って言われる
  45. 同人活動 原生代 • 2006年冬コミ • 『マルチ中毒』 • 記事「美しいPerl」

  46. 同人活動 原生代 • 2006年冬コミ • 『マルチ中毒』 • 記事「美しいPerl」 • 政治風刺的な内容

  47. 同人活動 原生代 • 2007年夏コミ • 『マルチ中毒 vol.2』

  48. 同人活動 原生代 • 2007年夏コミ • 『マルチ中毒 vol.2』 • 記事「年金問題とPerl」

  49. 同人活動 原生代 • 2007年夏コミ • 『マルチ中毒 vol.2』 • 記事「年金問題とPerl」 ↑年金問題は全く出てこない

  50. 同人活動 原生代 • 2007年夏コミ • 『マルチ中毒 vol.2』 • 記事「年金問題とPerl」 •

    美しいPerl 2.0 夏割
  51. 同人活動 原生代 • 2007年夏コミ • 『マルチ中毒 vol.2』 • 他の執筆者が「文化批評への断層」とか 「電脳コイルは▪▪▪の夢を見るか」など

    真面目に書いているというのに……
  52. 同人活動 原生代 • 2007年冬コミ • 『マルチ中毒 vol.3』 • Acme::rion ……創聖のアクエリオン

    ED「オムナ マグニ」っぽいコードに変換 する Acme::Bleach系モジュール
  53. 同人活動 原生代 • 2007年冬コミ • 『マルチ中毒 vol.3』 • 他の執筆者が「論考談義 洞爺湖G8サミット」

    とか「ありがとう天元突破グレンラガン」など 真面目に書いているというのに……
  54. やっぱり間借りでなく、 ちゃんと同人誌書きたい……

  55. (独り)サークル立ち上げ!

  56. 同人活動 顕生代 古生代 • 2008年夏コミ • サークル名「どんぞこ駱駝」 • 初の同人誌『 Python

    & Perlmons 』 • コピー誌
  57. None
  58. Python & Perlmons • Perl Monger になりきる TRPG • P&P……元ネタは

    D&D や T&T
  59. Python & Perlmons • Perl Monger になりきる TRPG • P&P……元ネタは

    D&D や T&T
  60. Python & Perlmons • Perl Monger になりきる TRPG • P&P……元ネタは

    D&D や T&T • Python 全く関係ない
  61. Python & Perlmons • Perl Monger になりきる TRPG • P&P……元ネタは

    D&D や T&T • Python 全く関係ない • D&Dにおけるゲームマスター =DM(ダンジョンマスター) • P&PではDM(ダン ザ マッチョ)
  62. None
  63. 各都市のPM 参考: https://www.pm.org/groups/

  64. None
  65. 同人活動 顕生代 古生代 • 2008年冬コミ • サークル名「どんぞこ楽屋」に変更

  66. 同人活動 顕生代 古生代 • 2008年冬コミ • サークル名「どんぞこ楽屋」に変更 ↑ラクダの使用はオライリーに許可とる べきという指摘を受け、連絡してみるも 返事なしだったため、以後同人誌内でイ

    ラスト、画像は使わないように
  67. 同人活動 顕生代 中生代 • 2008年冬コミ • サークル名「どんぞこ楽屋」 • 同人誌『本日のAcme』 •

    コピー誌
  68. None
  69. 同人活動 顕生代 中生代 • 2008年冬コミ • サークル名「どんぞこ楽屋」 • 同人誌『本日のAcme』 •

    コピー誌
  70. 同人活動 顕生代 中生代 • 2008年冬コミ • サークル名「どんぞこ楽屋」 • 同人誌『本日のAcme』 •

    コピー誌
  71. 同人活動 顕生代 中生代 • 2008年冬コミ • サークル名「どんぞこ楽屋」 • 同人誌『本日のAcme』 •

    コピー誌
  72. 本日のAcme • 四季折々の重要なイベントに相応しい Acmeモジュールの紹介と解説 • 人生の中で直面する様々な苦難に際して指 針となるようなAcmeモジュールのリスト →計30有余のモジュール

  73. 本日のAcme あとがき

  74. 本日のAcme あとがき 売れた

  75. Acme大全 へ

  76. 同人活動 顕生代 新生代 • 2009年夏コミ • 『Acme大全2009』

  77. 『Acme大全2009』

  78. 『Acme大全2009』 動 物 名 「 だ ら く 」

  79. 『Acme大全2009』 私 で す

  80. 『Acme大全2009』 • CPAN上のAcmeを含んだ名前が掲載対象 • 全て掲載することをモットーに • 2009年7月7日時点でのデータ利用 • 以後、毎年 7月7日のデータで

  81. 『Acme大全2009』 • YAPC::Asia Tokyo 2009 で出展 • 以降、代々のYAPC::Asiaで頒布 ~ YAPC::Asia

    Tokyo 2015
  82. 突然ですが 『Acme大全』の作り方

  83. 『Acme大全』の作り方 • 02packages.details.txt(.gz) • https://www.cpan.org/

  84. 『Acme大全』の作り方

  85. 『Acme大全』の作り方 • Acmeを含んだディストリビューション

  86. 『Acme大全』の作り方 • Acmeを含んだディストリビューション • 前年と差分を取る

  87. 『Acme大全』の作り方 • Acmeを含んだディストリビューション • 前年と差分を取る • Acmeモジュールはインデックスされてな いものも結構あった (ex. Acme::Nada)

    ※わざとインデックスされない実験なども
  88. 『Acme大全』の作り方 • なので、 search.cpan.org で検索 • 目 grep も必要だった

  89. 『Acme大全』の作り方 • 巻末のモジュールの作者一覧

  90. 『Acme大全』の作り方 • 巻末のモジュールの作者一覧 • 01mailrc.txt

  91. 『Acme大全』の作り方

  92. このようにして 『Acme大全』 は作られています

  93. 同人活動 顕生代 新生代 • 2009年冬コミ • 『逆引きAcme大全 夢幻編』 逆引きできる!

  94. 『逆引きAcme大全 夢幻編』

  95. 『逆引きAcme大全 夢幻編』 • Acmeモジュールの逆引き……

  96. 『逆引きAcme大全 夢幻編』 use strict してないスクリプトを削除したい → Acme::Code::Police

  97. 『逆引きAcme大全 夢幻編』 use strict してないスクリプトを削除する Acmeモジュールを阻止したい → Acme::Code::FreedomFighter

  98. None
  99. None
  100. とにもかくにも、 『Acme大全』は順調に 毎年夏コミに出せました。

  101. 『Acme大全2009』 最 初 の 大 全

  102. 『Acme大全2010』 す こ し 厚 み が

  103. 『Acme大全2011』 背 表 紙 が 大 分 立 派 に

  104. 『Acme大全2012』 表 紙 の 人 物 が 変 わ る

  105. 『Acme大全2013』 姉 者 登 場

  106. 『Acme大全2014』 同 時 に 登 場

  107. 『Acme大全2015』 電 子 版 を 出 そ う と

  108. 『Acme大全2016』 す る も 出 な い ……

  109. 『Acme大全2017』 電 子 版 も 出 た

  110. 『Acme大全2018』 最 後 の 紙 版 ( カ バ ー

    付 )
  111. 『Acme大全2018』カバー

  112. 2018の「発酵事件」 2009年以来、奥付に「発行」ではなく 「発酵」を使ってきた

  113. 2018の「発酵事件」

  114. 2018の「発酵事件」 最初の2年ぐらいは印刷所から確認の 電話がきて、そのたびに意図したもの であることを伝えていた

  115. 2018の「発酵事件」 ながらく何も言わなくても そのまま通るようになった

  116. 2018の「発酵事件」 ながらく何も言わなくても そのまま通るようになった しかし2018では印刷所が勝手に 「発行」に修正して印刷…… → 奥付の「発酵」が初めて「発行」に

  117. 最後の製本版『Acme大全』に相応しい 思い出深いものに

  118. 『Acme大全2019』 電子版のみ

  119. 『Acme大全2021』 電子版のみ

  120. 同人活動で決めていたこと

  121. 同人活動の継続性 • 継続して活動できるよう、持ち出しになら ないようにする • 印刷代…… • 小部数なら捌けるが印刷単価アップ • 大部数だと印刷単価下がるが捌けない

  122. 同人活動とYAPC • YAPC::Asia で出展できたおかげで印刷部 数の調整が効いた • 余剰も発生 →コミュニティに還元

  123. シールで

  124. 2010

  125. 2011

  126. 2012

  127. 2013

  128. 2014

  129. 2015

  130. 2013年まで シール作成に気合が入っていた

  131. 理由:仕事がなくて暇だった

  132. 2014年から転機があって 同人活動に若干専念しづらくなった

  133. さらに 別の理由で 『Acme大全』作成のモチベ が下がる。 それはまた後ほど……

  134. 必要はAcmeの母

  135. 怒涛のAcmeモジュール紹介

  136. と思ったが

  137. この10年さんざんやってきた

  138. 自分のサイトで

  139. アドベントカレンダーで 2010年 Acmeトラック https://perl-users.jp/articles/advent-calendar/2010/acme/ 2011年 Acmeトラック https://perl-users.jp/articles/advent-calendar/2011/acme/

  140. None
  141. None
  142. ※本家も当然大昔からAcmeモジュールを扱ってる https://perladvent.org/2002/17th/ - Acme::Intrawe https://perladvent.org/2003/19th/ - Acme::Code::FreedomFighter

  143. Perl Hackers Hub で 第19回 Acmeで広がるPerlの世界―CPAN は愉快なジョークモジュールの宝庫 https://gihyo.jp/dev/serial/01/perl-hackers-hub/001901 https://gihyo.jp/dev/serial/01/perl-hackers-hub/001902

  144. 紹介したかった Acmeモジュールは ほぼ紹介し尽くしてる

  145. なので『Acme大全』制作過程で 思い出深かったモジュールに 絞って紹介

  146. その前に、 ここでお詫びです

  147. お詫び 『Acme大全』にSongmuさんの Acme::BeerSushi (2014年リリース) が掲載されていませんでした……

  148. お詫び 02packages.details.txt になかったため 気づかず、かつ確認作業を怠った結果 取りこぼしてました。 まことに申し訳ございませんでした!

  149. 発覚の経緯 CPANにビールのモジュールがあったはず だと "acme beer metacpan" で検索した結果

  150. 発覚の経緯 CPANにビールのモジュールがあったはず だと "acme beer metacpan" で検索した結果 「お、Acme大全に収録した覚えのない Acmeモジュールが……」

  151. 発覚の経緯 なお、検索したかったCPANモジュールは

  152. ore::Beer Jonathan Leto

  153. $ perl -More::Beer # ってコマンド打ってもエラーにならなくなる

  154. 話を戻します

  155. Acme::LifeUniverseEverything Mike Rosulek

  156. None
  157. 6 * 9 = 42 になるモジュール

  158. None
  159. みんな大好き overload

  160. package Acme::LifeUniverseEverything; use overload; my %ops; $ops{'0+'} = $ops{'""'} =

    sub { ${ $_[0] } }; $ops{'*'} = sub { my $val = (($_[0]==6 && $_[1]==9) || ($_[0]==9 && $_[1]==6)) ? 42 : ("$_[0]" * $_[1]); Acme::LifeUniverseEverything->new($val); };
  161. 『Acme大全』では 42ページ目に42の 説明があったが、掲 載項目が増えた結果、 長らくページがずれ た。 2021年版で数年ぶ りに戻った。

  162. Acme::Pi Acme::Tau Karen Etheridge thrig

  163. $ perl -Mutf8 -MAcme::Pi -E"say π" 3.14159265358979

  164. None
  165. $ perl -MAcme::Tau -E"say Acme::Tau->VERSION" 6.28318530717958

  166. なんとなくτが印象残ったので

  167. Acme::Colour Acme::Orange Acme::Octarine Léon Brocard Nicholas Clark Nicholas Clark

  168. # 光の三原色 $c = Acme::Colour->new("black"); $colour = $c->colour; # black

    $c->add("red"); # red $c->add("green"); # yellow # 絵具の三原色 $c = Acme::Colour->new("white"); $c->mix("cyan"); # cyan $c->mix("magenta"); # blue
  169. # Acme::Orange $colour = $c->colour("pink"); # orange $c->add("blue"); # orange

    # なにやってもオレンジにしかならない # London.pm のシンボルカラー
  170. use Acme::Octarine; # (架空の)octarine 色が使える use Acme::Colour; $c = Acme::Colour->new("octarine");

    # black # ついでに new するたびにランダムに # Acmeモジュールがインストールされる
  171. # Acme::Octarine # エグいハック(コピペ良くないという理由) use B::Deparse; use PadWalker 'closed_over'; my

    $deparse = B::Deparse->new("-sC"); my $body = $deparse ->coderef2text( ¥&Acme::Colour::new ); my $r = closed_over(¥&Acme::Colour::new)->{'%r'};
  172. 「ディスクワールド」シリーズを 読むきっかけになったので

  173. Acme::ComeFrom ☻ 唐鳳 ☺

  174. comefrom - goto の逆

  175. goto LABEL -> LABEL goto &sub -> sub LABEL ->

    comefrom LABEL sub() -> comefrom &sub comefrom が複数あると fork されて実行
  176. use 5.010; use Acme::ComeFrom; sub func { say @_ }

    func("Start"); # 実行されると comefrom func 行にジャンプ say "ここは表示されない"; # 上の func() で下の comefrom func に飛んだので comefrom &func; say "Branch 1"; exit; comefrom &func; say "Branch 2"; # 片方は exit して終了、もう一方は処理続行 (forkされる) LABEL: say "ここも表示されない"; # comefrom label へ comefrom LABEL; say "Branch 3"; exit; comefrom LABEL; say "Branch 4"; # 片方は exit して終了、もう一方は処理続行 (forkされる) EXPR0: say "ONE"; exit; # 実行されて下の行にジャンプするかもしれないし、しないかもしれない comefrom 'EXPR' . int(rand(2)); say "ZERO"; # ランダムに EXPR0 か EXPR1 になる # EXPR0 なら say "ONE"; exit; が飛ばされ say "ZERO"; に。EXPR1 なら存在しないので say "ONE"; exit; が実行される
  177. None
  178. シンプルにして画期的で印象深い

  179. Acme::Manekineko Greg McCarroll

  180. None
  181. 猫が好きなので

  182. Acme::Undead Likkradyus Winston

  183. die , sleep が無効になる bless で die する

  184. None
  185. 実行プロセスが死なない

  186. してやられた

  187. Amce::CNA Ricardo SIGNES

  188. a moer tolernat verison of mehtod location メッソド確定の より かよんうな

    バジョーン
  189. Amce::CNA -> Acme::CAN

  190. package Acme::Taizen; use Amce::CNA; sub hello_world { return 'Hello World!';

    }
  191. use Acme::Taizen; say Acme::Taizen->heoll_wolrd(); # ちゃんとhello_worldする

  192. これを収録するかどうか悩んだが 結局Acmeモジュールとみなした

  193. 以上、思い出深い Acmeモジュールでした

  194. 念のため

  195. お前、他人のモジュールばかりで 自分でAcmeモジュールアップしないの?

  196. と思った方もおられるかもなので

  197. Acme::Oil Makamaka Hannyaharamitu

  198. 変数をオイルに浸すことで 値を代入しくくしたり、 取り出しにくくする。 あと "fire" という文字列を代入す ると値が undef になる。

  199. Acme::BeyondPerl::ToSQL Makamaka Hannyaharamitu

  200. Perlの代わりに データベースに 計算させる。

  201. use Acme::BeyondPerl::ToSQL ("dbi:SQLite:dbname=acme_db","",""); my $value = 5; print 2 +

    $value , "¥n"; # 7 print 1.2 - 0.2 , "¥n"; # 1 print 9 / 2 , "¥n"; # 4.5 # DEBUG MODE # use Acme::BeyondPerl::ToSQL ({ # dbi => ["dbi:SQLite:dbname=acme_db","",""], debug => 1, # }); # # SELECT 2.0 + 5.0 # SELECT 1.2000000000000000 - 0.2000000000000000 # SELECT 9.0 / 2.0
  202. use Acme::BeyondPerl::ToSQL ("dbi:Pg:dbname=$dbname;host=$host", $user, $pas,"",""); my $value = 5; print

    2 + $value , "¥n"; # 7 print 1.2 - 0.2 , "¥n"; # 1 print 9 / 2 , "¥n"; # 4.5 # DEBUG MODE # use Acme::BeyondPerl::ToSQL ({ # dbi => ["dbi:Pg:dbname=$dbname;host=$host", $user, $pass], debug => 1, # }); # # SELECT CAST(2 AS double precision) + CAST(5 AS double precision) # SELECT CAST(1.2 AS double precision) - CAST(0.2 AS double precision) # SELECT CAST(9 AS double precision) / CAST(2 AS double precision)
  203. それはそれとして

  204. CPAN 以外にも

  205. 世界にはたくさんの Acmeモジュールであふれています

  206. Acme::MineChan Yoshinori TAKESAKO

  207. 幕間

  208. Acme::Godot Salve J. Nilsen

  209. None
  210. 少々Acmeウゼェナ

  211. 問題を含んだAcmeモジュール

  212. 冗談モジュールという性格上 差別的・侮蔑的なものも 現れやすくなる

  213. • 身体的特徴をネタにしている 掲載するべきかどうか 特定の個人を ネタにしたモジュール

  214. • 身体的特徴をネタにしている 掲載するべきかどうか → ポリシー(全て載せる)通り掲載 → 注釈欄で批判 特定の個人を ネタにしたモジュール

  215. • 某大統領の発言の拙さをネタにしたモ ジュール 特定の個人を ネタにしたモジュール

  216. • 某大統領の発言の拙さをネタにしたモ ジュール → 公人に対する風刺であると判断 特定の個人を ネタにしたモジュール

  217. • 本来はコミュニティを盛り上げるためのもの 特定の集団を 扱ったモジュール

  218. • 本来はコミュニティを盛り上げるためのもの ↑ ↓ • 属性をとりあげることは極めてセンシティブ 特定の集団を 扱ったモジュール

  219. • 女性のCPAN Author をリスト化したモ ジュール 特定の集団を 扱ったモジュール

  220. • 女性のCPAN Author をリスト化したモ ジュール → 批判を受けCPANから削除された 特定の集団を 扱ったモジュール

  221. Michael G Schwern "How Not To Highlight Women In Perl"

    特定の集団を 扱ったモジュール
  222. Michael G Schwern "How Not To Highlight Women In Perl"

    → 翻訳をAcme大全の付録として掲載 特定の集団を 扱ったモジュール
  223. Michael G Schwern "How Not To Highlight Women In Perl"

    → 翻訳をAcme大全の付録として掲載 パワーバランスが対等でない状況では 慎重にならなければならない 特定の集団を 扱ったモジュール
  224. • イタリアのCPAN Author をリスト化したモ ジュール • イシューを受けCPANから削除された 特定の集団を 扱ったモジュール

  225. Acme::Playmate 事件 • これは直接モジュールの問題ではないけど

  226. Acme::Playmate 事件 • PLAYBOYのカバーガール(プレイメイ ト)のデータを取ってくるモジュール

  227. Acme::Playmate 事件 • PLAYBOYのカバーガール(プレイメイ ト)のデータを取ってくるモジュール • テックカンファレンスのLTで実演

  228. Acme::Playmate 事件 • PLAYBOYのカバーガール(プレイメイ ト)のデータを取ってくるモジュール • テックカンファレンスのLTで実演 • その際にプレイメイトの写真が写った

  229. Acme::Playmate 事件 • PLAYBOYのカバーガール(プレイメイ ト)のデータを取ってくるモジュール • テックカンファレンスのLTで実演 • その際にプレイメイトの写真が写った •

    セッション長と登壇者は謝罪
  230. モジュールを公開する際も、 トーク(同人誌公開 etc.)する際も、 問題がないか 一旦立ち止まることを心掛けたい(自戒)

  231. 近年のAcmeモジュール界隈

  232. 特定の作者が大量アップ • 近年(2016年~)一人の CPAN Author が大量にAcmeモジュールをアップするよ うに

  233. 特定の作者が大量アップ • 近年(2016年~)一人の CPAN Author が大量にAcmeモジュールをアップするよ うに • 直近(2019~)は 新規の7~8割

  234. 特定の作者が大量アップ • そのほとんどが機械的に取得したデータの 「リスト」のようなもの

  235. 特定の作者が大量アップ • そのほとんどが機械的に取得したデータの 「リスト」のようなもの • 紹介するのが辛い……

  236. 特定の作者が大量アップ • 2019年版からその作者のモジュールにつ いては収録するが解説つけないことに……

  237. None
  238. 特定の作者が大量アップ • 2019年版からその作者のモジュールにつ いては収録するが解説つけないことに…… 全て掲載するポリシーとしては敗北

  239. Acme敗戦

  240. こうして私の『Acme大全』作成に関する 同人活動はいったん幕を下ろしました

  241. 星のAcme

  242. 星の手向け 陰暦七月七日に、牽牛・織女をまつること。 また、その供え物。(コトバンクより)

  243. 顧みるに

  244. 自分の人生の 1/4 近くを Acmeモジュールの紹介に 費やしていた

  245. フリー素材ぱくたそ(www.pakutaso.com) うわっ…私の偏執、 高すぎ…? (4x歳Mさんの場合)

  246. しかし

  247. 同人活動を通じて 多くの出会いがあった

  248. 仕事の無い時期に、 同人活動は支えとなった

  249. 連絡をちゃんとしないと奥付の発酵 が発行になってしまうとか、人生で とても大事なことが学べた

  250. コミュニティに十分還元でき たとはいえないけれども

  251. ありがとうございます

  252. 今年中に『Acme大全』を オープンソース化する予定です

  253. どんぞこ楽屋は アナログゲーム方向にシフトします

  254. また会いましょう

  255. None
  256. ありがとうございます

  257. None