mthr blog

あれやこれを書いたり

技術書典18 に参加しています

技術書典18が 5/31(土)〜 6/15(日)まで開催されています。その中でも 6/1(日)は池袋サンシャインシティでオフライン開催されました。

techbookfest.org

私は、会社有志の執筆サークル「ゆめみ大技林執筆委員会」として、また個人サークル「余暇時間」として、技術書典18 に参加しています。6/1 のオフライン会場にも参加しました。

タイトルも含め、いまも技術書典18は開催されているので「参加しています」としました。ただ、オフライン開催の視点だと「参加しました」となるので、言葉選択が難しいです。

ゆめみ大技林執筆委員会

社内でも恒例?になった半期に一度のイベントです。今回は「ゆめみ大技林 '25」 を頒布しました。

techbookfest.org

今回は参加人数が多く、過去最大のページ数になりました。実物を手に取った時、その厚さに驚きました。表紙製作の作業で背幅を計算していたので、事前に知ってたんですが、実際に見るとヤバいです。

紙の本はいつもよりちょっと多めに印刷しましたが、予定数すべてを頒布することが出来ました。今後開催される 技書博 などで、紙の本を頒布する予定です。今回、紙の本が入手出来なかった人は別イベントをチェックしてくださいね。

執筆テンプレートの公開

弊委員会は Vivliostyle組版に採用しています。それを組み込んだテンプレート整備しています。テンプレート自体も日々更新して、執筆や編集において、不要な作業が極力発生しないように自動化を整備してきました。前回からの変更点として、GitHub Actions を使って PR で PDF を自動生成するようにしました。

このテンプレートは GitHub で公開にしているので、どなたでもご利用することができます。

github.com

ちなみに npm で vivliostyle-theme キーワードで ダウンロード数 (2025 年 5 月確認)を見たら、このテンプレートで利用している自作テーマが公式テーマについでダウンロードされていました。すごいですね(Actions の CI で依存パッケージを新規ダウンロードしているので、その影響もありそうです)。

協賛もしました

株式会社ゆめみ として協賛もしました。ゆめみの協賛は、技術書典13 から 3 年ぶりです。その協賛を行った頃は、私はゆめみに入社して間もなかったので、すごいことをしてるなあと見ていました。

今回は、運営と会社の協賛に関する窓口として動いてました。通常の開発業務をしつつ、ゆめみ執筆委員会の執筆と編集、後述する個人サークルの執筆・編集・その他作業諸々の執筆関連作業をしていて、さらに窓口業務と忙しい日々でした。

また、オフライン開催のあと、非公式の懇親会イベントを行いました。これは他社内メンバーが企画・運営しました。私は運営に開催可否の相談メールをしたぐらいです。その後、虎の穴ラボ さんも加わりました。懇親会はサークルさんなどもご参加されて、とて楽しかったです。あと、運営から mhidaka さんが顔出ししてくれました。本当にありがとうございました。

オフラインイベント終わったので、肩の荷が降りた…はず。何々、次の 19 も開催予定されてる、あぁ、締切≪キラキラ≫が見える。

余暇時間

私の個人サークルです。私が興味・関心あること、会社サークル本では出しにくいネタや技術スタックを取り扱っています。

前回は サーマルプリンターというニッチな本 を書きました。今回は真面目に React Native のフレームワークで有名な(今は標準になっている)Expo が提供するルーティングライブラリ Expo Router の公式ドキュメントの副読本を目指して書きました。私がちょうど Expo Router を理解するタイミングだったので、執筆駆動学習にしたら捗るのでは?と本を書き進めました…のはずでした。

執筆途中で電子ペーパーにハマりました。Expo Router の話が落ち着いたので、電子ペーパーの開発キット M5PaperS3 の開発環境の話を書き始めました。

内容はそれぞれ独立しています。分ける程でもなかったので、前半が Expo Router、後半はM5PaperS3 の話になっています。

techbookfest.org

私のサークル来られた人は、Expo Router ではなく、電子ペーパーに興味を持たれた方が多かったと思います(多いというか、ほぼ全員?)。また、Expo Router で電子ペーパー実装?と聞かれる方も多かったので、もっと見せ方を考えた方がよかったと思いました。改善点ですね。

ただ、Expo の方に興味を持たれた方がいなかったのが心残りですねえ。

頒布数

下世話な話になるかもなので具体数は伏せますが、予想より多くの人に手に取ってもらいました。内容や構成が特殊なので、今回は前回より印刷数を減らしましたが、半数ほどの頒布が出来ました。印刷費を無事に回収できたので満足です。また、既刊も数冊出ました。

支出を抑える(赤字にさせない)ため、強い意志で紙の本は増刷しないです。もし興味あれば、お早めに手に取ってください。

ブース

電子ペーパーのデモをいくつか持ち込みました。まず、値札を電子ペーパー作りました。これに興味ある方が多かったです。SDカードに保存した画像を動的に表示できるので、実装例としてよかったです。ただ、持ち込んだ3つの電子ペーパー中2つの内蔵電池が切れたため、デモが出来たのは一部だけでした。しかし、電池が切れても表示できるという電子ペーパーの強みが見せれました。

オフラインイベントの開催の数週間前から、電子ペーパーの開発キットを販売する会社が取り扱うローカルLLM を使って、売り子AI アシスタントが出来ないかと試行錯誤していました。当初はどうしても正常に動作しない不具合があったものの無事に解決したので、展示しようかと思いました。しかし、AI が売り子に耐えられなかったため、断念しました(遠征参加なので荷物は少しでも減らしたかったというのもあります)。もしかしたら、この売り子AI アシスタントが今年後半のネタなるかもしれません(ならないかもしれません)。

技術書典の感想

技術書典はやっぱり面白いですね。いろんな技術や、SNSなどで交流ある人たちと出会える場所は最高ですね。

ブースで人が来ない時は購入した本を読んでました。同人誌だと、著者それぞれの文章や組版があるので、楽しいです。本を製作する側になったので、単に読むだけではなく、本の作りにも興味が湧きました。まだ読んでない本が多くあるので、当分の間は飽きないですね。

紙の本を読みつつ、電子版を Google Play Books や Kindle ドキュメントに転送して読んでいきます。個人的に、紙の本と電子版の印象の違い(著者の表現力)を見るのが好きでたまらないです。

妖怪ダンボール増やし

事前に、サークルで頒布する既刊誌とブース用荷物を入れたダンボール1つを送りました。余った在庫や会場で買った本も入れる予定だったので、少し大きめ箱を選びました。最近のアマゾンがダンボールを詰めてくるチリ紙を再利用して、空きスペースを埋めて発送しました。

オフラインイベントが終了して、いざ在庫とブース荷物と買った本を送り返す時、何と不思議なことにダンボールは2つになっていました。在庫は予定数以上に頒布出来てたのに、いやあー、不思議なことって起こるんですね。

オフライン会場で購入した本、そしてイベント後にオフラインマーケットで購入した本を冷静に数えると 20 冊程でした。書影の画像を貼りたいところですが、遠隔地組ゆえに送り返したダンボールが届くのは明日でしょう。

納本

今回も国立国会図書館に納本して来ました。同人誌も納本出来るんですよ。まだ納本されてない方、納本しましょう。

後書き

この文章のアウトラインは、帰りの飛行機を待つロビーで書いています。いつもは端っこの搭乗口なのですが、今回は保安検査場を出たところでした。人通り多くて落ち着かないですね。

あと、飛んでる飛行機の中でも書こうとしましたが、フライトモードだと下書き保存はされないようです。飛ぶ前に確認してよかった。記事も飛ぶところでした。

技術書典17に参加しました。そして、今回の表紙作成で得た知見も話しましょう。 #技術書典

技術書典17 に会社有志メンバーで技術同人誌を頒布しました。さらに今回は個人サークルを作って、初めて個人でも参加しました。

ゆめみ大技林 '24 (2)

弊社から9人の有志が集まって書きました。私は、iOS アプリ内で JavaScript のライブラリを動かす話を書きました。趣味として遊んでいた領域で、しっかりと使うシーンがあり、記事として書きました。

techbookfest.org

私は自身の個人サークルにいたので詳しい様子は把握してないですが、去年よりも頒布頻度が高くて早々に予定頒布数に達していました。記事は各人の色で執筆しているのでとても面白い本だと自負しているので、まだ手に入れられてない方は電子版をダウンロードしてください(無料です)。また、紙の本は来年1月の技書博、当選していたら今年12月の冬コミケで再び頒布予定です。

サーマルプリンター制御アプリの開発入門

個人開発でサーマルプリンターを取り扱った開発をしています。その集大成?として、本を書きました。これは以前出版した合同誌やカンファレンス寄稿記事を再編集して、出版後に開発や調査して新たに分かった内容を加筆した改訂版になります。これからサーマルプリンターを取り扱う方は参考になると思います。SDK を利用しない開発を説明してるので、より詳しくなると思います。

techbookfest.org

ブースではサーマルプリンターの開発をすでに取り組まれる方、そしてサーマルプリンターを知らない方も手にとっていただきました。アプリの動作原理を説明して興味を持たれた方もいたのでブースを出して良かったです。またサーマルプリンターとニッチなテーマでしたが、私のサークルを含めて3サークルが取り扱ってました。予想外のブーム!?で驚きました。電子版のほか、技術書典17開催中は紙の本があるので興味ある方はぜひどうぞ。

イベントの感想

ブログ記事を映えさせる写真を撮ってなかったのでテキストだけで感想を書きます。

開催前に台風(熱帯低気圧)が近づいたため、飛行機が飛ぶか不安でした。幸いなことに飛行機は多少の遅れはあったぐらいで予定通りに飛びました。

2019年の技術書典7の一般参加、そして2023年5月の技術書典14からは毎回ブースとして現地参加してきました。今回は個人ブースとして参加しました。

いつか技術同人誌を書きたいと思いつつ、ここ数回は会社有志サークルで活動してきました。原稿作成や印刷所入稿と一通りのやり方を覚えて、ちょうど単独誌としてネタが揃ったので、個人サークルに挑戦しました。すべて1人出するので大変でしたが、本作りブース運営ととても面白かったです。またネタが溜まったら、個人サークルをしたいと思います。

今回購入した本は技術書典サイトやブースで見て、コレは面白そうと思った本を買いました。ブースで見本誌はほとんど見てないです。このブログを書いてる時点で、20冊ほど購入していました。技術書典17開催終了するまで、まだ数冊は増えると思います。さっそく読みたいです(このブログは空港のロビーで書いてて、本は宅配便で送っているので手元にないです。電子版はファイル管理が出来てないので家に返ってから)。

例年はオフラインイベントの翌日に国会図書館へ納品してましたが、今回はその翌日が休日なので家に帰ってからから郵送しようと思います。今回の納品で、単独誌を納品するという実績をアンロックです✨️

最後に技術書典はいいぞ。みんな執筆しよう。

(おまけ)表紙作りの知見

個人サークルに関しては、私一人だけなので、表紙も私が作成しました。絵心がなく、とても大変でしたが、これまでの経験を活用してなんとか作成しました。参加した感想を書くだけでなく、表紙作りで得た知見も紹介します。

表紙のセーフエリアを意識する

表紙のセーフエリアを意識するのが重要です。極端な例ですが、セーフエリアを無視して、画面一杯に要素を配置した表紙を作ったとします。これを閲覧アプリで表示させると、端末のノッチやダイナミックアイランド、さらにディスプレイの角丸に重なり、意味のある情報が欠落します。また、デザインとしても、ネガティブな印象を与えてしまいます。これは表紙に限らず、一般のアプリ開発の UI 設計においても同様です。

そこで、私はセーフエリアを意識して作りましたが、新たな問題に陥りました。ここで、次の画像のように、セーフエリアを茶色エリアとして、そのハマった問題を紹介します。

セーフエリアは、上下左右に設定しました。ここのエリアが適切に表示されてなくても問題ないようにしました(具体的には背景色を設定しただけ)。電子版で端末のノッチや角丸に重なっても、紙版の製本作業で裁断されても、必要な情報は欠落することないので安心です。

さて、表紙が出来たので、表表紙・背表紙・裏表紙の3つを結合して、印刷所に入稿する表紙データを作成しました(次の画像)。この表紙が印刷されて、サイズに合わして裁断(画像中の赤線)して、本文と糊付けされたら完成です。

ん?おや?!!紙版の表紙に、のど(背表紙側)のセーフエリアが残ってる!!!!!

たまに同人誌で中央揃えの(ように見える)デザインだけど、なぜか中央線がズレている本を見かけたことがありました。これが原因だったのか。表紙作成者が意図した中心線が実際の本では異なるので、デザインが異なった意図で伝わってしまいます。また、セーフエリアで目立たない・裁断されると油断したところがしっかり見えます。

表紙作りが大変なので、入稿データは結合すればええやろと気を抜いてしまうと、紙版で悲しい結果になってしまいます。最後まで注意が必要です。 対応として、のど側のセーフエリアを取り除いて、結合しました。

実際の作業として、次のようなことを行いました。

  • 電子版向けのセーフエリア(左右上下)あり表紙を作成した(上画像だと、青いエリア内にもセーフエリアが含まれる)
  • 紙版向けとして、表紙背景と同色のレイヤー(上画像だと茶色いエリア)を最背景に入れて、紙版のセーフエリア(裁断エリア)を追加した

今回の表紙は背景ベタ塗りだった、かつ、中央に文字と画像を置いた簡単なものだったから、これで済みました。表紙デザインが複雑だったら、本当に電子版表紙から、紙版向けにトリミングする作業も必要になるかもしれません。

また、今回は印刷所の入稿データのファイルフォーマットのため、Photoshop を利用しました。いったん入稿用に画像結合すると、修正対応が大変です。私は、編集可能な状態のファイルと、その状態から画像結合したファイルの2つで管理しています。整合性が取りづらく、表紙作成のプロの方々には頭が下がりました。

これらを注意して作った本の表紙は実際どうなの?と気になった方はぜひ紙の本ご購入ください。

iOSDC Japan 2024 にポスターセッション&パンフレット記事寄稿で参加しました

iOSDC Japan 2024 に行ってきたぞ

2024年8月22日 〜 24日 に開催された iOSDC Japan 2024 に参加しました。ポスターセッション&パンフレット記事寄稿、ブース運営、そして気になるセッションを聴きにました!

iosdc.jp

採択されたぞ

今回は幸いなことに、ポスターセッションとパンフレット記事の2つが採択されました。

それぞれ、サーマルプリンターを iOS アプリから制御する方法についてまとめました。ここ最近はサーマルプリンター付きの Android スマホで遊んでいます。これは Android だから iOS 関連のイベントでは発表できない!と思う日々でした。そんな中、サーマルプリンター向けアプリをメンテナンスする過程で、いろいろドキュメントを見ていたところ、サーマルプリンター単体を iOS から制御できると知って、早速 CfP を出しました。無事に採択され、開催中はサーマルプリンターを持って参加しました。なお、このサーマルプリンターの開発は仕事ではなく、完全に趣味です。

ポスターセッションについて

A0ポスターに憧れがあるものの、作るのは大変とA4用紙10枚で提出しました。思いのほか、現場で貼られたポスターは用紙間の隙間が大きく、後半ページは下の方にあり、しゃがまないと見れない状態でした。おじさんは頻繁な屈伸はつらいです。

去年のポスターセッションに参加された方のブログを見ると 𝕏 などで呼び出しがされなかったというのを見て、もっと簡単なら呼ばれるのでは?と呼び出しWebアプリを自作していきました。単純にボタンをタップしたら、私の iPhone に通知が飛ぶだけの単純なアプリです。この Web アプリの URL を QR コードと NFC タグを自前のサーマルプリンターで印刷して貼ってましたが、利用されずでした(この呼び出しアプリを知っている身内が試しに動かしてくれました)。うむ、残念。時間の許す限り、ポスター会場にいた方がよいですね。ただ立ちっぱなしもキツい(去年は椅子があったような?)。

内容に関しては、サーマルプリンター自体を知らない人もいたので、導入部分の説明をもっと手厚くすればよかったです。サーマルプリンターを知らなくても、コンビニのレジで印刷されるレシートと伝えると、理解されたので、例を加えたい。サーマルプリンター開発はほとんどの方が知らない中、レシート印刷の経験がある方がおられて、面白かったです。

サーマルプリンターを、AC出力できるモバイルバッテリーと一緒に持ち込みました。多くはないですが、何回かは印刷デモを行いました。ポスターセッションは机や椅子などがないので、機器を準備してデモするのは大変でした。

パンフレットについて

ポスターセッションと同内容のサーマルプリンター対応アプリの実装編を執筆しました。この記事で最低限の実装ができる内容を目指しました。また、サーマルプリンター開発における問題点とその解決方法も執筆しました。執筆内容は iOSDC のパンフレットの他に、私の GitHub で公開しています。

github.com

その他に、パンフレット用のテンプレートを作成しました。私が去年投稿した 2023 年の記事から、フォントと余白のサイズを再調整したものをテンプレートとして GitHub に公開しました。文字配置やコードブロックの色味を重点に、読みやすいレイアウト(組版)を意識して作りました。来年もパンフレットがあるか分からない・同じレイアウトとも限らないですが、来年もパンフレット記事の応募があった場合にご利用ください。パンフレット記事に応募したいが、組版が分からなくて応募できないのは、もったいないです。組版が執筆者それぞれで異なるのが、合同誌の醍醐味ですが、ある程度の質は担保したいですね。

github.com

ポスターセッションで会話した内容と、パンフレット記事をよりフラッシュアップしたものを次の 技術書典17 で出版する予定です。サーマルプリンターに興味ある方、お楽しみに。

ブース運営とトーク

ブースの中の人でも参加しました。去年は暑かった記憶が鮮明に残ってますが、今年は暑いが暑くない。ポスターセッションと行き来して疲れて、ブースで座ったりとトークをニコ生越しで見ることも多かったです。ブースもしたいが、トークも聞きたい、さらにポスターも行きたい、はさすがに疲れました。見逃したトークも多くあるので、これからニコ生のタイムシフトで見ていきます。

さいごに

次回開催は白紙と言われてましたが、次回は10年目の記念会ですね。第一回の練馬から参加してるので、ぜひ次回も参加したい!

サーマルプリンター印刷アプリ「さまぷり」

iPhone向けサーマルプリンター印刷アプリです!Bluetooth BLE 対応のサーマルプリンターと接続して、テキストや画像を自由に印刷することができます。

ストア

App Store で無料配布しています。

さまぷり

さまぷり

  • Mitsuharu Emoto
  • ユーティリティ
  • 無料
apps.apple.com

対応機種

このアプリは、ESPONとSUNMIの一部のサーマルプリンターをサポートしています。動作確認済みのサーマルプリンターは次の通りです

ESPON

  • レシートプリンター TM-P20Ⅱ

SUNMI

  • SUNMI 58mm Cloud Printer / SUNMI-TRP58-UWB
  • SUNMI 80mm Kitchen Cloud Printer / SUNMI-TRP80-ULWB

※ 製品名称は各社の商標または登録商標です。™ や ® などの表記は省略しています

プライバシーポリシー

本アプリは広告や解析ツールなどのツールを導入しておらず、ユーザー情報を収集しません。 ※ご不明な点があれば,お気軽にお問い合わせください.

iOSDC Japan 2023 に参加しました #iosdc

「参加します」記事はこちらから。 mthr.hatenablog.com

今年も iOSDC に参加してきました。今回は久しぶりの現地参加です。 ホテルから新大久保の道を通って、会場の早稲田大学に向かう道は懐かしかったです。 会期中は毎日楽しい話が聞けました。 また、フルリモートで各地で働く仲間や、前職のメンバーとも会えたりと、 コミュニケーションの場として、とてもよかったです。

毎回参加してきましたが、今回は初めてのこともありました。

パンフレット記事に寄稿した

これまで参加するだけ・見るだけでしたが、今回はパンフレット記事を寄稿しました。 最近は執筆沼に入りこんでいるので、すぐさま応募しました。

fortee.jp

パンフレットで投稿した記事は GitHub でも公開しています。 また、組版は Vivliostyle で行いました。 その設定も一緒に上げているので、次回寄稿を考えている人は利用してみてください。

github.com

なお、記事で紹介したコードはいま OSS として公開できるように修正・開発中です。 次回の技術書典で完全版として記事を書く予定なので、興味あればどうぞー。

github.com

ブースに立った

声優さんに社名を読み上げてもらう実績は去年達成したので、あとはブースをやってみたい。 ということで、ブースに立ちました。 ブースに遊びに来てくれた方々とお話ができてよかったです。

作成協力した「大喜利本」も配り切れたので安堵しました。

ブースと発表部屋の移動で温度差のダメージを受けたのは、予想外でした。 また、立ち仕事や移動で疲れました。 最近のオンラインで忘れてましたが、カンファレンスはスポーツです。

休憩を多くとることになって、いくつか発表を見に行けなかったので、 ニコ動プレミアムに入って、見ようと思います。

まとめ

ということで、楽しかった三日間でした!ありがとうございます! 来年も参加します。

残念だったこと

昼休みを効率的にする

昼休みのキッチンカーが混んでたので、余裕はあまりなかったです。 昼食を先に用意して来た方がよかったですね。これはミスった。 ピークを避けるために、13時からの発表を諦めて、空いてるときに食べてました。

マスクを着けて…

マスク着用が必須だったのに、マスクを着けていない方を見かけたこと。 うーん、我々はガイドラインに従って開発しているのに、カンファレンスのガイドラインを守れない人がいるのはとても残念でした。 そういえば、今回はイエローカード制度はなかったのかな。

iOSDC Japan 2023 に参加します #iosdc

今年は、久々に iOSDC Japan 2023 にオフラインで現地参加します。一緒にわいわいしましょう。

ゆめみのブースに居たりするので、気軽に遊びに来てください。 弊社が 𝕏 でやっていた大喜利を本にしたので、ぜひ貰ってください。 この本の作成に携わっていたのですが、良い本ができたと自負しています。

また、今回は初めてパンフレットに記事を寄稿しました。 個人的に進めていた開発に目処がついたので、それをまとめて投稿しました。 執筆は会社で技術書典に参加した経験が役に立ちました。ありがとう弊社。

fortee.jp

実際に印刷されたパンフレットを手に取るまで、 色味や余白などが適切か不安でしたが、完璧な仕上がりで安心しました。 ただ、文字の大きさはもっと小さくてもよかったですね。 PDF で確認したときはこのサイズでよいと思っていたのですが、これは実際に印刷されたものを見ないとわからない…。

記事は GitHub にも置いているので、興味があればどうぞ。 記事中のコードで誤りを見つけたので、issueを立てています。 コメントなどあれば、どうぞ。

github.com

なお、開発検証のプロジェクトはこちらです。 github.com

執筆内容とプロジェクトを整理して、 次の技術書典15で完全版の出版を予定しています。

github.com

そちらもよろしくお願いします。

「YUMEMI.grow 技術同人誌を支える技術」で発表しました

8/23のYUMEMI.grow 技術同人誌を支える技術で発表しました。 yumemi.connpass.com

最近、執筆の沼に入りかけているので、執筆関連の勉強会を企画しました。 私自身は国立国会図書館納本制度を紹介しました。 speakerdeck.com