たまに18歳未満の人や心臓の弱い人にはお勧めできない情報が含まれることもあるかもしれない、甘くなくて酸っぱくてしょっぱいチラシの裏。RSSによる簡単な更新情報を利用したりすると、ハッピーになるかも知れませんしそうでないかも知れません。
の動向はもえじら組ブログで。
宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。 以下の特設サイトにて、単行本まんがでわかるLinux シス管系女子の試し読みが可能!
1ヵ月ほど前の話になりますが、11月6日に行われたCROSS Party 2020という(オンライン)イベントにおいて、「90分、ITマンガ家に学ぶ技術の伝え方〜これであなたもマンガ家になれるかも?〜」というタイトルの枠で、わかばちゃんと学ぶシリーズの湊川あいさん、インフラ女子の日常のなつよさん、モデレータのゆうこりんさんとご一緒させて頂きました。丸一日のイベントを取り仕切られた運営の皆様、たいへんお疲れ様でした!
当日の様子はセッションの配信内容のYouTube Liveアーカイブ(の4:42:15頃から90分)でフルでご覧頂けます。
ちなみに、この時間の直前の枠はotsune氏を含むお三方による、SNSでの炎上をテーマとしたパネルトークでした(アーカイブを90分ほど巻き戻すとその様子を見れます)。自分のセッションの準備のために途中までしか見られなかったので、後で見ようと思っていたものの、まだ見られていません。
リアルタイムでご覧になられた方の感想も拝読しております。皆さま、長時間お付き合い頂きありがとうございます!
元々はゆうこりんさん→湊川さん→僕 と話が回ってきて、さらに以前から交流があってお声がけしやすかったなつよさんが加わって、この面子になりました。「ITでマンガ」というと他にも有名な方がたくさんおられるので、次回以降また人が入れ替わって開催されると面白そうだなあ、と思っています。
話が回ってきた時点ではセッションの趣旨はまだ決まっておらず、異なる立場を代表する話者でのパネルディスカッション(議論)にするのか、議論形式でなく座談会のようにするのか、などのことを打ち合わせで喧々諤々した結果、イベントの視聴者層がITエンジニアであること、3人とも現役ITエンジニア業をしながらマンガを描いていること、イベント自体のテーマが「明日の自分を今日変える」であることを踏まえて、「セッションを見た人に、マンガを描くノウハウや、技術を絵で解説するノウハウを紹介して、自分もITでマンガをやってみようとか、普段の仕事に取り入れてみようとかの気持ちを持ち帰ってもらおう」という方向のパネルトークセッションになりました。各人がそれぞれの「マンガの描き方」「技術の話をマンガに持って行くまでの流れ」を語っているので、まだ誰もマンガで描いていない分野に皆さんが切り込んでいく上での参考になるのではないかと思います。なるといいなあ。
僕以外の登壇者お三方は皆アバター登壇で、僕だけ顔出しだったのですが、これは僕がLive2Dとかの技術についてけてないロートルおじさんだからです。白壁の前に移動して3000円くらいのLEDリングライトで顔を照らすという、アナログ極まりない方法で登壇しています。美容院の予約が間に合わず、半年くらい伸ばしっぱなしの髪のまま出ましたが、その2日後にバッサリ切ったので、今はだいぶ短くなっています。
タイムテーブルに「懇親会」とあったのですが、オンラインでどうやるんだ?と思っていたら、Zoomのビデオチャットに全員一斉参加した後、ランダムに複数人ずつブレイクアウトルームに割り振られて、ルーム間の移動は各自に任せる、という形になっていました。この形態は、同じルームの人と話す分にはいいのですが、
という難があり、やはりオフラインで行われる懇親会とは質が異なっていて完全な代替にはならないな、と感じました。僕と同じルームになってしまわれた人は、僕のヨッパライ独演会に付き合わされた形になってしまったのではないかと思います。
オンラインでのイベント参加は、自分はこれの他にはOSS GateワークショップでDiscordのボイスチャット・ビデオチャットを使ったことがありますが、上記の問題は共通しているように思いました。オンラインイベントには「廊下」が無いという声を何度か観測していますが、「廊下」の方で話されている話題に混ざりたくても(共通の「廊下」が無いためにその存在を把握できず)混ざれない、というのも似た問題のように感じています。「他のルーム」や「廊下」で話されている内容がリアルタイムに文字起こしされて流れるテキストチャンネルでもあれば少しはマシになるのではないか、という気がするのですが、誰かやってくれませんかね……
IQが20違うと会話が成立しない、みたいな話は昔からよく聞くけど、そもそも「自分自身が一般よりIQが高い天才です、一般人と会話が通じなくて困ってます」って当事者になってることがあんまり無いと思うので、実際そうなのか?ってのはよく分からない人の方が多いんじゃないかと思うんですよね。僕もそのクチで。
ツイッターみてたら、そういう場面において、一般よりもIQが高く「ギフテッド」と呼ばれる人の側が当事者として実際どう感じているのか、をご自身の体験から詳しく説明されている記事が流れてきて、読んでみたら、前々から「きっとこういうことなんだろうなあ」と考えてた事とわりと合致する話が書かれてたんですよ。
というのも、これって「自分がアニオタで、アニメにまったく興味がない人に話が通じない」みたいな場面にすごく似てるなって思ったんですよね。
こういうの、すごく身に覚えがあるんですよね。「オタク知識」の話でなくても、社会人だったら自分の業務分野・専門分野の知識とか、自分は滅茶苦茶詳しくてお客さんは全然詳しくないので説明に苦労するってのはすごくありふれた話だと思うんです。自分も今まさに、テクニカルサポートの業務でお客さんに説明する場面でそういう事はよくあるし、Linuxのシェルコマンドの解説漫画を描く上で大変な事もまさにそういう事だし。
で、「自分側が知識がありすぎて、知識が無い側の人に話が通じなかった」体験をそういう風に想起できる一方で、「自分側の知識レベルや頭の回転速度が低過ぎて、有能な相手がする話の内容がまるで理解できなかった」体験もまた、自分には想起できるんですよね。学校で先生の言う話が分からなくて授業についていけないとか、仕事の上で先輩の話しに全然ついていけないとか。むしろこっちの方が多いくらい。
なので、自分としては「IQが20も違うと会話が成立しない」という話の両方の当事者の感覚を想像しながら、先の記事を読んだんです。
それで思ったのが、「この記事を書かれた方(ギフテッドの人)には、もしかして、自分の話を相手に理解してもらえなかった経験はあっても、相手の話が自分には理解できなかった経験が無かったりするんだろうか?」という事で。
そもそも記事自体が「IQが高い側の弁明」という体裁だから敢えてそう書いたのかもしれないんですが、「やばい、相手の言ってることがまるで自分には理解できない。どんなに説明されてもチンプンカンプンだ」という感覚が、あまりその記事からは感じられないような気がして。
シェル芸アドベントカレンダー2019に空きがあったので、最近やったシェルの話で参加させていただきます。
自分は日経Linux誌でシス管系女子というシェルの解説記事(マンガ)を連載させていただいてます。その2020年1月号掲載分の回において、「劇中の架空の会社で、アダムズ方式を使って各部署から代表者を何名かずつランダム且つ公平な感じで選ぶシェルスクリプトを作る」という話をやっています。
アダムズ方式では、前の計算の結果を使って次の計算を行うというステップが何度か出てきます。今までは「1画面分だけの画面出力」が必要なケースが多かったので都度てきとうにその場の気分で偽の画面をデッチ上げていたものの、こう複雑な話になってくると、それぞれの画面間で数字に矛盾が無いようデッチ上げるのはなかなか大変です。なので、実際にそれっぽい「社員名簿」のダミーデータのCSVを作って、その処理結果をそのまま使うことにしました。
こういう場面でのダミーデータの作り方はいろいろあると思いますが、描いているのがシェルの解説なので、シェルでやってみました。というのがこの記事の内容です。
彼氏と東京旅行をするので沢山歩くことを想定しスニーカーで行ったら、ヒールを履いてほしかった彼氏がブーブー…そこで彼女の取った行動とは?という話題がバズってたのと近いタイミングでみんとちゃんの靴をイメージした靴を作ったので、シス管系女子作中でのヒールの話を書きます。
みんとちゃんは作中で何種類かの靴を履いていますが、一番登場回数が多いであろうこの靴は、ウェッジソールでヒール部分は6~7cmの高さがあるだろうという想定です。モチーフにした靴はパンプス風のスニーカーで、みんとちゃんの靴もそれに倣っている(踵の所にプルストラップが付いているのはそのせい)のですが、絵の質感が完全にパンプスのそれになってしまっているので、再現靴として改めて作った物はウェッジソールのパンプスをベースにしています。
これは実用ではなく完全にコスプレ・撮影用と割り切っていて、ヒールの高さは11cmあります。ただしつま先側(フォーム)も4cmある厚底なので、踵がつま先よりどれだけ高くなるかという点で言えば実質ヒール高は7cmです。
こちらは上記の靴に次いで登場回数の多いサンダルの再現ですが、これもウェッジソールでヒールは7cmほどです。元々のモチーフになっていたサンダル(手放してしまった)も確か同じくらいだったと思います。
設定上は、みんとちゃんは脚が綺麗に見える靴が好きなのでヒールの高い靴を好んで履いており、ただしある程度安定感があって歩きやすい事からウェッジソールを選んでいる、という事にしています。
実際の所は、元々自分はハイヒールの形はピンヒールやチャンキーヒールくらいしか知らなくて、というかそういう様々な分類がある事すらも知らなかったのですが、妻がかつて普段履いていた靴が「かわいいデザインの、ヒールが高めの、でも歩きやすい(本人談)ウェッジソールのスニーカー」で、「そんなのがあるんだ!」「かわいいのに歩きやすいなんて一挙両得じゃないか!」「見た目のかわいさと実用性って排他じゃないんだ!」と強く衝撃を受けた事から、自分の中で「実用性を諦めない、したたかな『カワイイ』の象徴」として刷り込まれているという部分が大きいのだと思います。
一方の大野先輩については特にこういったこだわりは設定しておらず、それこそテンプレ的な「オシャレなOLが日常的にはいていそうなイメージの、4cmくらいのヒールのパンプス」をはいてもらっているつもりの事が多いです(それより高いヒールに見える絵は単なる作画崩壊です……)。
4cmは一般的にはぎりぎりローヒールに分類される高さだと聞いたので、まあこんなもんじゃないのかなあ、みたいな。
とはいえ、彼女らはメタな発言をしがちなので、先輩ももしかしたら「今日はシス管系女子の連載回の撮影があるからちょっとヒールのある靴でオシャレしていこう」と考えてこの靴を履いてきているだけで、普段はもっと低いヒールのぺたんこ靴や普通のスニーカーを履いているのかもしれませんね。
バズッた話題の方では女性が男性からハイヒールを強制される事への恨み辛みが多く語られていますが、シス管系女子の作中世界に関しては、少なくとも服装規定でそうなっているとか、周囲からの圧力があってというようなことは無いです。
ところで、冒頭の靴とサンダルで丸一日写真撮影をこなしたモデルさんは翌日激しい筋肉痛に襲われたそうだという事をここにご報告しておきます。普段からこれを履いて過ごしているみんとちゃんは相当足腰が鍛えられているのでしょう……
「SIerのSEからWeb系エンジニアに転職したんだが楽しくて仕方がないラジオ」略して「しがないラジオ」というネットラジオ(Podcast)があり、マンガでわかるGit等で知られる湊川さんが出演されていたことで僕はその存在を知った(というか「Tech系Podcast」という物の存在自体この時知った)のですが、その後「インフラガール」で知られるナツヨさんも出演されたと知って、(マンガのペン入れなどの言語野を使わない)作業の時にBGM代わりに聞くようになり、いいなあ自分もこういう所に出てみたいなあと思いながらチラチラと感想ツイートを繰り返すなどの小賢しい消極的アピールを続けていた所に、シス管系女子3の発売というタイミングが重なりまして、「それで今日は何かお知らせがあるということで?」「はい、実は最近こういう本を出しまして……」みたいな定番のアレをやるなら今しかないと思って「出たい!」と自己申告し、押しかけでゲスト出演させていただきました。
自分はFirefoxやThunderbirdの法人サポートを業務でやっていますが、エンドユーザーからの問い合わせを直接受けるのではなく、SIerの方やBtoB/BtoC企業のシステム管理部門の社内SEの方がエンドユーザーから受けた問い合わせのエスカレーション先として回答する立場で、Podcastのタイトルからすると脱出を図られる方の分野に近しい所にいると言えます。IT業界への就職や転職を考えている方でSIerかウェブ系かという二者択一で考える人は結構多い印象がありますが、その二者択一に含まれない選択肢もあるんですよ、そんなにキラキラしてないIT業界でも命を磨り減らさずに自分にできる事で生きていく例はあるんですよ、という事を前半では話してみたつもりです。
(Show Noteの注記にあるとおり、クリアコードの立ち上げ時のメンバーは、Podcast中で言っている「3人」ではなく「4人」です。よりにもよって社長をカウントし忘れておりました。直前のタイミングで実施した社内ミーティング(社長欠席)の様子を思い浮かべながら話していたので……事前に準備していない話題をふられると弱いという事が露呈していますね。)
後半では、OSSにコントリビュートするってそんな難しい事じゃないし、やると得られる物がいろいろありますよ、OSS Gateに来て挑戦してみてね、という話や、シス管系女子を制作する時に心がけている事、分かりやすく説明するためのコツやその逆の「べからず」について、あと、自分が(技術のコミュニティ等で)老害にならないためにはどういう事に気をつけたらいいんだろうね、というような事を話しています。とりとめのない話を思いつくままにしているようで、それらの話題が根底では繋がっている、という事が最後まで聞くと明らかになる構成に図らずもなっていて、結構面白い話になっているのではないかと思います。
パーソナリティのgamiさんとzuckeyさんは僕より10歳くらい若くて、過去の出演者陣の中でも僕(35)は最高齢一歩手前なのだそうです。クリアコードは全員合わせても10人しかいないという零細なので特に「昇進」のような概念が無く、「上司」然として部下を率いるような立場になった事が無いので、いつまでも下っ端気分で若いつもりでいてしまいがちなのですが、こうしてはっきり数字で見えてしまうとドキッとしますね。自分が26とかの頃を思うと、10歳とか離れてる上の人は「大先輩のおじさん」みたいな感覚で、緊張して思うように喋れなかったものです。後編では「老害にならないためには」みたいな話をしていますが、いつまでも若いつもりでコミュニティに居座り続けて(経験の差から)俺TUEEEEEして悦に浸るというのもまた老害の別の形ではあると思うので、重々気をつけねばいけないという思いを新たにしました……
自分の声を聞く事はあまりないので、終始「ドュフフフフwwww」みたいな感じだったらどうしようと戦々恐々としていたのですが、いい録音機材で録っていただいたお陰なのか、音質調整が巧みなのか、そこまで赤面する事も無く安心して「いやーいい事言ってるなあこの人。誰だ。あっ僕だ」と新鮮な気持ちで聞き返す事ができました。パーソナリティのお二人にうまく誘導していただいた事もあり、終始気持ちよく喋らせていただいて、気付けば朝の集合から4時間近く喋り通しでした。調子に乗ってマウンティングじみた俺TUEEEEE話をペラペラ喋るという、これはこれでまた老害っぽさがものすごい事になっていないか心配だったりもしますが、楽しい時間を過ごさせていただき、自分は大いに満足しております。改めて、この機会を頂きありがとうございます。
去る2018年4月22日、東京・秋葉原UDXにて開催された技術同人誌オンリーイベント技術書典4に、サークル「シス管系女子会」として参加してきました。無駄にパトロン枠での参加でした。
毎度、シス管系女子の草の根的な営業活動とファンサービス、あと〆切を設けることで何か新作を作るモチベーションにするという目的で参加していますが、今回も結果のほどを記しておこうと思います。なお、技術書典、技術書典2の結果、および技術書典3の結果は過去記事をご参照下さい。
今回の数字は以下の通りでした。一般的な技術同人誌のサークルというよりも、一般書店で購入可能な商業出版物メインの企業参加者の例という感じで見て頂いた方が良いと思います(申し込みは自分が個人的にやっていますが、商業出版物は日経BPの委託販売という形で、売り上げもそっくりそのまま渡しています)。
技術書典2の時に作成した、サンプルを兼ねたチラシ形式のリーフレットも持ち込んではいました。ただ、こちらは前回に引き続き今回も積極的にばらまかなかったので、数としてはほとんど出ていないと思います。
今回特筆すべきは、本の持ち込み分が早々に完売してしまったという事です。特に「シス管系女子3」は、当初持ち込み分60部は11時の開場から12時50分頃までの間に払底してしまい、途中で日経Linux編集部にあったという19部を急遽追加してもらいましたが、14時30分の頒布再開後14時58頃までの間になくなってしまいました。本が無くなって以後も何度か「3を……えっもうないの」的な反応を頂いていて、数だけは多く用意できるはずの商業出版物であるにも関わらず、せっかく来ていただいたのに申し訳ない限りです。一応、Amazon等の通販や書泉ブックタワー等会場近くの書店でも普通に入手できる旨は案内させていただきましたが……
シス管系女子3、技術書典4会場持ち込み分完売してしまいました……本自体はヨドバシの上の書店や書泉ブックタワー等でお買い求め頂けます〜 pic.twitter.com/27pYMf4fN7
- Piro/Linuxコマンド操作漫画連載中 (@piro_or) 2018年4月22日
持ち込み部数は前回までの実績を踏まえて検討した結果だったのですが、晴天に恵まれてのべ参加者数が倍増した事と、今回の新刊である「シス管系女子3」が4月19日発売でこれ目当てに来て下さった方が相当数いらっしゃったようだという事から、全く想定外の売れ行きとなりました。新刊が多めに出るのは想定の範囲内でしたが、既刊も前回参加時より多く出ており、全ての本が15時台にはなくなってしまいました。やはり天候の効果は大きかったようです。グッズも、ステッカーは頒布価格が高めだったので10〜20ほど出ればいいくらいかなと思っていたのですが、気がつくと半分程なくなっていました。タイツは……元々あしピタが本命の物なので、まあこちらは想定の範囲内ですね。
今回は商業誌3冊に加えてグッズも並べる必要があったのですが、今までのやり方だと確実に場所が足りなくなるので、どうにか縦方向にディスプレイする方向で工夫してみました。
スペースできた pic.twitter.com/Qspx06BDMS
- Piro/Linuxコマンド操作漫画連載中 (@piro_or) 2018年4月22日
まず本を縦にディスプレイする方法ですが、既製のイベント展示用の雛壇を調達しました。できれば何度も使える耐久性の高いプラスチックや金属や木の物を調達したかったのですが、ちょうど良さそうな物は品切れだったり、微妙にサイズが合わなかったりしてなかなか良い物が見つからず、最終的に選んだのはIGARASHI PROというメーカーの段ボール製組み立て式雛壇でした。本来はイベント毎に使い捨て前提の製品のようですが、それは勿体ないので、両面テープで固定する部分をマジックテープで置き換えてバラして持って帰れるように改造しました。また、結構奥行きがあってこれを置くと平積みのスペースを確保できないため、一番手前の段を潰すことにしました。
調達したダンボール製陳列棚。平積みと併用したいけど机の奥行きが足りないので、一番手前の一段を潰して平積み用のスペースを確保しようかなと。切らずに折ってるだけなので一応元の形(4段)にも戻せる……はず。 pic.twitter.com/IHTelNY87y
- Piro/Linuxコマンド操作漫画連載中 (@piro_or) 2018年4月18日
タイツは普通に置くと滑り落ちて危ないので、普通の店舗でワゴンセールになってる物のように縦にしてケース(たまたま家にあった未使用の不織布製収納グッズ。ある程度の柔軟性がある)に詰めて、その後ろに背の高いディスプレイでサンプルを展示する形にしました。高さを出すための物は最初は段ボール工作を考えていたのですが、もえじら組の最初のイベント参加の時に買ったスチレンボードの残りが出土された(10年以上前の物……)ので、それを切り貼りして適当に作りました。
スチレンボード工作のこれは……なんと言えばいいんだ……? タイツ四種を貼り付けて縦にディスプレイしようかなと。 pic.twitter.com/ni7zaXnGeV
- Piro/Linuxコマンド操作漫画連載中 (@piro_or) 2018年4月18日
後ろ側は紙製の簡易スタンド(同人誌の見本や値札を立てかけるために使われるような物)ですが、高さがある分倒れやすいので、後ろの方に足を延長してバランスを取ってみました。
トップヘビーになって倒れてしまったので、足だけちょっと延長してる(ホチキス使用) pic.twitter.com/giSxH6G8rN
- Piro/Linuxコマンド操作漫画連載中 (@piro_or) 2018年4月19日
POPは、タイツがネタグッズなのでそれに合わせる形でヴィレヴァン風POPの作り方を参考にそれらしい物を作ってみました。手書きでやる自信が無かったので、青地の部分をたぬき油性マジック、それ以外の部分をふい字Pで「手書き風」にしました。ロゴは、フォントの形状がヴィレヴァンのロゴの物に似ているとして紹介されていたHelvetica Ultra Compressedベースで作成しています。
本物のヴィレヴァンPOPには値段は書かれていないようですが、今回は値段も一緒に入れてしまっています。
「完売しました」のお知らせをその場で書いたりするのに、何も書かれていない白紙の状態の物も用意しておけばよかったなあ……と思いましたが、後の祭りでした。
技術書典への参加目的の1つは何か作る事へのモチベーションを高めるという事なのですが、今回はちょうど「シス管系女子3」の作業とタイミングが重なったため、これをモチベーションに作業を進めていました。
元々は、この1週間後くらいの発売予定で作業スケジュールが組まれていたのですが、そうなると技術書典の直前くらいは作業の大詰めで何も他の事ができそうになく、技術書典合わせの何かコピー本を用意するという事ができない&「シス管系女子3」も間に合わないという最悪の事態になってしまう事が予想されたため、〆切を早めてもらって発売日をイベントの前に変更、イベントにも新刊として持ち込むことができました。冒頭のプロローグの構成をギリギリで変更する事になったり、目立つ所では裏表紙の大野先輩のスカートのテクスチャが抜けた状態になってしまっているなど詰めの甘い箇所が残ってしまったりと、心残りもいくつかありますが、本来の価値である技術の本としては申し分ない物にできたのではないか……と自画自賛しています。
また、〆切が手前にずれた関係でイベント直前に2週間ほどの余裕が生まれ、コピー本は無理でしたがグッズを用意することができました。
なお、グッズ類は現在BOOTHで通販もしています。会場に来られなかった方や、会場で見落とされていた方は、こちらからご注文いただければと思います(あんしんBOOTHパック利用のため、こちらに個人情報が伝わる事はありません)。グッズがなければBOOTHを使ってみる事もなかったので、これも技術書典がきっかけで活動の幅が広がったという事だと言えそうです。今後は、過去に少数だけ生産したブックエンドもラインナップに加えられたらなあと思っています。
毎度書いている気がしますが、会場では読者の方に何度もお声がけをいただき、大変ありがたかったです。紙媒体の商業出版物でしか読めない連載ということもあってか普段あまり感想を見聞きする機会が無く、こういう場で「1も2も持ってます」「3をずっと待ってました」のようなありがたいお言葉を頂けると、大変励みになります。
また会場外でも、今回の「シス管系女子3」についてはWeb上、というかTwitter上で今までにない量の反応を頂けている印象があります。2年前にWebサイトやTwitterアカウントの運用を開始して以降、自分にできる範囲で地道なプロモーションとも言えないようなプロモーションを続けてきましたが、その間湊川さんや沢渡あまねさん、ビタワンさん、ナツヨさん(※今回イラスト内のキャラクターの使用許可を頂いた方々)、他にも数多くのフォロワーの方々に度々告知やアピール文を拡散していただけていて、その影響がこうして目に見える形で表れてきたという事なのではないかと思っています。皆さんのご厚意に感謝するばかりです。
正業の傍らでの短いページ数の連載、しかも掲載媒体の日経Linux誌が月刊から隔月刊になったということで、今まで以上にページ数が溜まるスピードが落ちる事が予想され、次の本が出るとしたら一体どのくらい先になってしまうのか全く見えない状況ではありますが、今のこの気持ちを忘れないで、腐らず歪まず続けていければと思っております。皆さん本当にありがとうございます。(……と感謝の意を激しく表明すると「最終回」っぽさが漂ってしまいますが、別にそんな事はなく実際これから次の回の作業に入らなくてはいけないので、今後とも見守っていただけましたら幸いです。)
どういう訳か、スペースにお越しの方に「マンガで分かるGitのスペースはどこですか」と訊かれてしまいました。それは僕じゃなくて湊川さんなんです……タイトル似てますが別作品です……
まんがでわかるLinux シス管系女子の74ページで、仮想端末(本編中ではtmux)の使用時に複数の画面間でコマンド履歴が共有されない問題の解決策として~/.bashrc
にこういう記述を追加すると良いという話を書きました。
function share_history {
# 最後に実行したコマンドを履歴ファイルに追記
history -a
# メモリ上のコマンド履歴を消去
history -c
# 履歴ファイルからメモリへコマンド履歴を読み込む
history -r
}
# 上記の一連の処理を、プロンプト表示前に(=何かコマンドを実行することに)実行する
PROMPT_COMMAND='share_history'
# bashのプロセスを終了する時に、メモリ上の履歴を履歴ファイルに追記する、という動作を停止する
# (history -aによって代替されるため)
shopt -u histappend
ところが、これを使用しているとコマンド履歴に同じ項目がどんどん溜まっていくという問題が起こるようになります。自分の場合だと、git commit -p
してからgit push
するとか、その前にgit pull
するとかいう操作が多く、コミットの粒度も細かくするようにしているので、コマンド履歴があっという間にこれらのコマンド列で埋まってしまいます。
Ubuntuの場合だと~/.bashrc
には最初からHISTCONTROL=ignoreboth
という記述がありますが、この指定は「直前のコマンド列と同じコマンド列の実行時にはコマンド履歴を残さない」という物です(正確には、これはHISTCONTROL=ignorespace:ignoredups
の省略形で、重複を記録しないという動作はignoredups
の効果です)。似た指定でHISTCONTROL=erasedups
という指定もあり、こちらは直前のコマンド列に限らずコマンド履歴全体の中で重複を排除する物です。しかしどちらを指定しても、上記の設定と組み合わせると期待通りの結果を得られません。何故なのでしょうか。
これは、HISTCONTROL
の指定が一体何に対して作用するのかという事を考えると分かります。GNUのbashのバージョン4.4.18のソースコードを見てみると、ignoreboth
やerasedups
はどちらもメモリ上のコマンド履歴に対して、新しい項目を追加する時にメンテナンスを実行するようになっています。しかし、上記の設定を使用している場合、せっかくそのようにメンテナンスしたコマンド履歴はhistory -c
で消去されてしまって、その後、重複を含んだままの履歴ファイルからhistory -r
で履歴を読み込み直しています。これではignoreboth
もerasedups
も全く効果を得られなくて当たり前です。
ではどうすればよいかという話なのですが、とりあえずの解決策としてはこういう方法があります。
function share_history {
history -a
tac ~/.bash_history | awk '!a[$0]++' | tac > ~/.bash_history.tmp
[ -f ~/.bash_history.tmp ] &&
mv ~/.bash_history{.tmp,} &&
history -c &&
history -r
}
PROMPT_COMMAND='share_history'
shopt -u histappend
tac
コマンドというのは、cat
の逆で最後の行から最初の行に向かってファイルの内容を出力するコマンドです。これを使ってファイルを逆順出力してから、重複行の最初の1行目を残して残りを削除して、それをまた逆順にして出力し直した後、出力結果で~/.bash_history
を置き換えています(1行の中でそのままリダイレクトでファイルを置換しようとすると元ファイルが消えてしまうので要注意!)。[ -f ~/.bash_history.tmp ]
で一時ファイルがちゃんと作成されていることを確認して(何らかのエラーで一時ファイルが作成されなかった場合、そのまま続行するとコマンド履歴が消失して終わりになってしまいます!)、history -c
でメモリ上のコマンド履歴を消去してhistory -r
で読み込み直すようにするわけです。
これにより、同じコマンド列を何度も実行しても最新の1つだけが履歴に残るようになります。やりましたね!
もっとスマートなやり方もあるんだろうとは思いますが(例えば、BashではなくZshを使えば最初からこういう挙動になっているそうです)、自分がパッと思いつく解決策はこういう物でした、ということで主にシス管系女子読者の方向けの3年越しのフォローアップ記事として公開しておきます。
tac
の代用tac
はGNU coreutilsのコマンドの一つなのですが、macOSなどのBSD系の環境だとコマンドが存在しません。そのためtail -r
で代替する必要があります。
WindowsでのFirefoxのビルドに使用するMozillaBuildだと、tac
もtail -r
もどちらも使えません。このような環境では、sed
での代替実装を使って以下のようにtac
コマンドの代わりの関数を定義しておくとよいでしょう。
function tac {
exec sed '1!G;h;$!d' ${@+"$@"}
}
去る2017年10月22日、東京・秋葉原UDXにて開催された技術同人誌オンリーイベント技術書典3に、企業サークル「シス管系女子会」として参加してきました。
シス管系女子の草の根的な営業活動とファンサービス、あと〆切を設けることで何か新作を作るモチベーションにするという目的での参加でしたが、結果のほどを記しておこうと思います。なお、技術書典、技術書典2の結果は過去記事をご参照下さい。
今回の数字は以下の通りでした。
ポスター等は前回の使い回しなので、今回新たにかかった費用はイベント参加費(企業扱い)と新刊コピー本の費用くらいです。
当日は台風直撃かつ衆議院議員選挙とも重なるという、前回・前々回を上回る悪条件でしたが、主催者発表によると来場者数は2700人ほどだったとのことで、来場者数に対するムックの販売実績としては前回を上回る比率となったと言えます。
前回の技術書典2では積極的に声かけを行い、サンプル代わりのリーフレットをチラシのように積極的にばらまいていましたが、今回はそこまでの積極的な声かけはせず、スペース前で足を止めて下さった方に「よかったらこちら無料なのでどうぞお持ち帰り下さい」と勧める程度に留めました。これは、リーフレットを増産していなかったためばらまいていると足りなくなると思ったのと、技術書典2までに参加した人にまた配ってもウザイだけだろうと思ったのとが理由です。
新刊が間に合うかどうかすら危うかったので事前のアピールをほとんどしておらず、会場内でもほとんどずっと座ったままだったので、数字は前回からかなり後退するのではと考えていたのですが、商業出版物と新刊の頒布数的には全然そんなことありませんでした(コピー本に至っては昼過ぎになくなってしまいました)。 近くにキンコーズがあるので追加で刷ってこようかとも思ったのですが、宣伝活動と考えたときにこれ以上お金をかける意味があるのかよく分からなくなってしまったため、そのまま増産無しで閉会まで居座っておりました。
今回、技術書典3というイベント自体の新たな試みとして「立ち読み専用スペース」「戦利品確認用スペース」という物が用意されており(自分は行かずじまい)、サークル参加者は見本誌とは別に本を立ち読み用に提出することでそちらにも置いてもらえるようになっていました。
どれくらい効果があるのか?については未知数の状態でとりあえず提出してみましたが、会場内でスペースまで足を運んで頂いて本をお買い上げ下さった方の中に、「上の立ち読みスペースで読んで気になったので」とおっしゃって下さった方がいらしたので、まったく効果無しということはないようです。
今回のイベント参加に当たり、元々はシス管系女子BEGINSの0.3話として新作を用意しようと思っていたのですが、
ということで、突貫作業でWSLの紹介の特別編を制作し、新刊としてリリースしました。 元々、イベントが終わったら公開するつもりだったのですが、昼過ぎの時点で頒布物の在庫が無くなりそうということが見えてきたため、早々に会場内からTwitterにも投稿しました。
ただいま技術書典3参加中❢ 新作特別編の無料コピー本では、なんとあたしがWindowsでLinuxコマンドを使っちゃう⁉「まんがでわかるWindows Subsystem for Linux シス管系女子」全編をここで公開しちゃいます✨ pic.twitter.com/x8pFX3uW0o
- 利奈みんとbot/マンガでLinux! (@sysadgirl_mint) 2017年10月22日
「まんがでわかるWindows Subsystem for Linux シス管系女子」の続き❗ これでWindowsユーザーのあなたも本編中の便利テクニックを活用できちゃう⁉ (※技術的に不正確な部分があったのを訂正しました💦) pic.twitter.com/bU7CQf3KM9
- 利奈みんとbot/マンガでLinux! (@sysadgirl_mint) 2017年10月22日
コピー本として頒布したバージョンと最初に公開したバージョンでは、最後のページでWSLのことを「準仮想化」と表現していたのですが、Twitter上でご指摘を受け、冷静に考えると間に挟まるレイヤーが薄いという点では準仮想化に似ているけれども仮想マシンがいるわけではないのだから「仮想化」と言うのは間違いだったと思い至り、帰宅後に最終ページの内容を大幅に更新してTwitterに再投稿しました。 結果として、前半4ページ分と後半4ページ分のそれぞれのツイートのうち後半の方が多くRTされるというヘンテコな状況が発生してしまいましたが、それだけWSLと他の競合技術との違い・使い分けに皆さん関心があるということなのでしょう。
また、まったくの副作用として、この話を描くにあたって色々調べ直したことで自分自身のWSLへの理解が深まりました。一応Cygwin・MinGW(とMSYS/MSYS2)・PowerShell・仮想マシンとの違いは何となく分かっていたつもりではあったのですが、漫画にするにあたって「どういう絵にすればより適切な表現になるのか?」を考えたことで、今までよりもそれぞれの違いをより具体的に言い表せるようになったと思っています。技術発表や紹介記事はそれを読むだけよりも自分で書く方が勉強になる、ということを改めて実感しました。
例によってTogetterの当日のまとめ等も見てみたのですが、戦利品報告として写真を公開されている方の戦利品ラインナップを見ると「ものすごいディープな内容・商業誌では扱われていないような内容の技術同人誌」が主で、今回のコピー本が写り込んでいる物はほとんどありませんでした。シス管系女子のような「解説対象が枯れた技術で、且つ、ものすごく技術的に高度な事をやっているわけではない、初級者向け(中級者以上へのステップアップ用)の内容」というのは、やはり、技術書典というイベントに台風の中わざわざ足を運んで戦利品報告までするようなアグレッシブな方にとっては魅力的ではないということなのだと思います。
宣伝活動としては、直接会場でリーチできる層以外に、その外側・イベント外にも拡散されるような場を選ぶのが効率的なのですが、「シス管系女子」というコンテンツにとってのそういう場所は一体どこにあるのか、そもそも「ある」のかどうか、むしろ拡散されるに足るコンテンツとしての価値は本当にあるのか、まだ答えは見つかっていない感じです。
以上の通り、商業出版物の広報活動としては今回もあまりパッとしない結果に終わってしまいましたが、上記のような悪条件下にも関わらず多くの方が来場して下さり、また、シス管系女子会のスペースまでお越し下さり、暖かい声援の言葉をおかけ頂けました。普段Webではあまり感想・反応を見かけないため、このように直接「ちゃんと読まれている」ということを実感できる機会は自分にとって非常に大きな意義があり、他の何にも代えられない喜びです。お声がけ頂いた皆様、本当にありがとうございます。
今回、事前の準備を疎かにしていたため頒布物は無料のコピー本だけだったのですが、次回以降の参加に際してはファンサービス的な面にもっと注力し、グッズ類の制作にも手を広げていきたいと思っております。
ということで、技術書典3のご報告でした。
技術書典2で隣のスペースだったマンガでわかるWebデザインとかGitとかの湊川さんが第113回 PHP勉強会@東京で発表されるということでPHP勉強会の運営の方がご挨拶にこられていて、その時になんやかやでお声がけを頂いて発表の機会を頂く運びとなりました。じぶんPHP使ってないんですけど!?(ずっと以前に案件でPHPを使う物があったのでちょっとだけ触ったきり)と戸惑ったのですが会的には全然アリだとのことだったので、第114回 PHP勉強会@東京にて思いっきり漫画の話に振った内容でプレゼンをさせて頂きました。資料はSpeaker Deckで公開済みで、画像の解像度を落としたソースも公開してます。当日の様子の一端はTogetterのまとめをご覧頂くと伝わるかもしれません。
当初は20分の枠でお話を伺っていたのですが、ここは語っておきたいという内容を詰め込んでいるうちにどんどん分量が膨らんでしまい(実は会場で自己紹介が進行してる間にも何枚か足してました……)、第2セッションの枠が空いていたのをいい事に結局2枠分の時間を使わせて頂きました。時間に余裕が生まれた分、ちょっとゆとりを持って話せたと思うのですが、人前での発表自体が結構久しぶりだったので、大変緊張しました。
発表内容は見ての通り解説漫画の描き方の解説というメタな話ですが、前半部分のプロットやシナリオの話はテキストで解説を書く時や人に何かを紹介する時に共通して言える事のように思いますので、新人教育とかそういう場面で知見を生かして頂けたらなあと思っています(なので、Speaker Deckのスライドのカテゴリも図々しいことにEducationとしています)。
スライドに書いてないことで当日会場で話した事のうち、覚えてる話ではこんな話題があったような気がします。
あと、質問を受けたこと以外でこんな事も話したなあという話題。
自分の発表が終わった後は開放感からアルコールを飲んでしまったため、LTの方はほとんど頭に入っていませんでした。ごめんなさい。でもBlackfireというプロファイラ的な事のできるサービスがあるという事と、WAF(Web Application Firewall, アクセスのパターンを識別して攻撃っぽい物を見つけたら遮断する)が有効だという話はうっすら記憶に残っています。
久しぶりにたくさん喋ったので翌日は声がおかしくなっていたのが自分で分かりました。こういう発表の機会が無いと自分が思っていることを整理してまとめる事も無いため、今回はそのいい機会になったと思います。発表の機会を与えて下さった勉強会運営の皆様、会場までお越し下さった皆様、ありがとうございます!
発売から2年経ってニュース性がなくなっており、新規にレビューされることももはやなさそうなので、自分で読者の気持ちになってレビューしてみようという謎企画です。ダイマです。露骨ですね。それではいってみましょう。
本書は端的に言えば、「Linuxサーバーをコマンドで操作する事はあるが、決まりきったコマンド以外は使えずにいて、他にどんな事ができるのかわからないでいる人」「コマンド操作の訳の分からなさに挫折して、すっかり敬遠するようになってしまった人」のための本と言えます。
タイトルに「入門」とありますし、「マンガで分かる何々」と言うと全くの初心者向けの本という印象を受けますが、本書はむしろ全くの初心者にはハードルが高いくらいかもしれません。初心者から中級者へステップアップしようとしている人、ステップアップの仕方が分からず躓いている人向けのケーススタディ集というのが、本書の適切な位置付けでしょう。
世の中の「マンガでわかる何々」な本には大きく分けて2つの種類があります。1つは直前にレビューしたわかばちゃんシリーズのような、初心者の抵抗感を減じる導入・緩衝材としてマンガを使う物。もう1つは学研の「~のひみつ」シリーズや「マンガで分かる心療内科」のように、解説そのものがマンガになっている、解説のための表現手法としてマンガを使う物。実用書では前者のタイプが多いですが、本書は後者です。
本書はLinux初心者の「みんとちゃん」を主人公に立てて、みんとちゃんが遭遇する様々なトラブルや困った事態に対する解決策をメンターの「大野先輩」に教わる、という形でLinuxのコマンド操作を解説する構成になっています。前の話で紹介されたコマンドを後の話で使うという事はありますが、カリキュラム通りに学んでいくレッスン形式ではなく個別のケーススタディ形式で、マンガとしても4~8ページごとに1話完結のオムニバスとなっています。
それ故に本書は構成上のゴールが無く、スタイルとしては「技術雑誌の連載マンガの単行本」と言った方が適切でしょう(実際、本書は月刊誌である日経Linuxでの連載の最初の2年分をまとめた物で、次の2年分をまとめた物が続刊として出ています)。「1冊の技術書として通読することで何かを達成する、という性質の本」ではないことを把握しないまま読むと、尻切れトンボな最後で面食らってしまうかもしれません。
絵柄や絵の巧拙については、好みもある話なのでなんとも言えませんが、「これは何の事を描いているのか?」が分かる・解説として読む妨げにならない程度の水準は満たしているのではないかと思います。
本書で解説されている話題は、sshによるリモート操作からシェルスクリプトの基本までというLinuxの一般的な操作についてです。舞台設定やタイトルは「システム管理」を想起させますが、Webサービスの運用や組み込み機器の開発など、Linuxをコマンドで操作する際には共通して必要になる範囲の知識と言えます。コマンド操作を使い始めた頃に躓きがちな「あるある」な場面が多く、各トピックはいずれも実践的です。
また、紹介されているコマンドやツールは古くから今に至るまで現役で使われ続けている物がほとんどで、発売から2年が経過(※2017年現在)したものの、内容は陳腐化していません。一度読み込んでおけば、その後長く役に立つ知識が身に付くタイプの本と言えるでしょう。
ただ、本書の知識が長く役立つと言える理由は、単に解説されているツールが伝統的な物だからだけではありません。
コマンド操作が敬遠される理由の1つに、「覚えるのが辛い」というのがあります。コマンドの数は無数にあり、またそのそれぞれが多数のオプション指定を受け付けるため、組み合わせは膨大な数になり、とても覚えきれるものではありません。しかし実際には、中・上級者でもコマンドやオプションをすべて丸暗記しているわけではなく、よく使うコマンドがどのように作用し・どう相互に連携して・どんな結果になるのか、ということを頭の中で想像して適宜組み合わせて目的を達成している場合の方が多いです。
本書ではコマンドやファイルといった「登場人物」達を擬人化し、時にはナビゲーターであるみんとちゃん達自身をその図の中に飛び込ませることで、熟達した人達が頭の中で思い浮かべている主観的な「コマンド操作の向こうで起こっている事」のイメージをマンガとして描いています。文章での説明や抽象的な図よりもずっと生の感覚に近い「(擬似的な)映像体験」を得て、「そうか、先輩達にはコマンド操作の世界がこう見えているんだ!」と思うことができれば、抵抗感も薄れるのではないでしょうか。
全体を通して解説が24トピックというのは少ないように見えるかもしれませんが、個々の話題を丁寧に描いているので情報量自体は多く、実際に読むと物足りなさは感じないと思います(というか、自分は通読してものすごく頭が疲れました)。
誉めるべき所がある一方で、技術解説の書籍としての本書には難点もあります。
まず前述した通り、「入門」というタイトルとは裏腹に、本書には基本的なファイル操作のコマンドなどに対する説明が含まれていないため、そのレベルでLinuxの知識が無い人には本書はおすすめできません。事前に最低限、cd
やls
、cp
、rm
といったファイル操作の基本コマンドの使い方は把握している必要があります。
(ちなみに、Web上で無料公開されている特別編ではその辺りの基本知識が解説されています。いまいち自信が無い場合は、本書を読む前にまずそこから目を通しておくと良いでしょう。)
文字を読む印刷物として、スクリーンショットの中で文字の色がグレーになっていて背景との判読が難しい箇所があるのも地味に辛いです。読みやすいように文字の色を調整したり、文字はすべてフォントで入れなおしたりといった工夫が欲しかった所です。
また、根本的な所で、手元のPCがWindowsである場合の事が全く考慮されていないというのも、初心者を対象とした本と考えると重大な問題です。Linuxのデスクトップ環境やmacOSであればターミナルからの操作で問題無いのですが、Windowsの場合は、Windows 10の開発者向けの機能であるUbuntu on Windowsや、MSYSやCygwin、もしくは仮想マシンにLinuxをインストールするといった準備をしないと、本書の内容そのままの実践はできません。Tera Termなどのシェル環境一式を伴わない端末エミュレータを使う場合は、本書の内容をすべてサーバー間の話(Tera Termからの接続先が本書中の「みんとちゃんの手元のPC」に相当する)として読み替える必要があります。これは恐らく、連載の掲載誌である日経Linux誌が「Windows XPからUbuntuへの移行」といった記事を多く扱っており、Linuxのデスクトップ環境を使うのが当たり前という雰囲気があることから、それに引きずられたのでしょう……
上記のような難点はあるものの、本書にユニークな価値があるのは確かです。
クラウド、SaaS、DevOpsといった最近の技術的な潮流では、サーバーを操作するために自分でLinuxのコマンドを操作するという場面は減っていっています。しかし、障害発生時のトラブルシューティングや、サービス開発時のデプロイ手順の確立など、シェル上でのコマンド操作の知識が必要な場面は依然としてあります。
丸暗記でもコマンド操作は使えるには使えますが、コマンドや構文の意味を理解していないままだと応用が利かず、パターンから外れた途端にお手上げになります。また、コマンドの使い方をその都度検索しても、やりたい事に合致する例がすぐに見つかるとは限りませんし、最悪の場合、闇雲に実行したコマンドでファイルが消えてしまったなんて事も起こります。でも「自分が今何をしようとしているのか」を正確にイメージできるようになれれば、自信を持ってコマンドを組み合わせて、時には組み合わせを変えて、自在に使えるようになるはずです。本書は、そのようなレベルに自分自身を引き上げて、コマンドリファレンスなどの網羅性の高い情報ソースを活用できるようになるための、手がかりとなる1冊と言えるでしょう。
ということで、読者目線でのセルフレビューでした。
直前に読んだのがパッケージとして非常にまとまりの良いわかばちゃんのGit本だったので、それと読み比べると「シス管系女子」のパッケージとしての不完全さがどうしても目についてしまい、気が付くと「ここがダメ、そこがダメ」という事ばかり書きたくなってしまうのが辛い所です。でも、書評は駄目な所をあげつらうだけの物ではなく、その本の持つ価値を必要としている人のもとにちゃんと届くよう補助線を引く物でないといけないと思い、実用書としての評価をするよう努めてみました。
本書を薦められた人が「馬鹿にされた」と感じて拒絶してしまうという話を見ると、ああやっぱりピンクとオレンジがまずかったのかなあとか、タイトルがチャラそうなのが良くなかったのかなあとか、もっと成年誌っぽい絵柄だったらよかったかなあとか、詮無い事をつい色々考えてしまいます。レビュー内ではその辺りの事にあまり触れなかったのですが、実際どのくらい評価に影響するものなのでしょうか。気になります。