Category技術

IntelliJ+LaTeXで本を書く✍🏻

デレステのルームを模様替えしたら尊い空間が生まれた今日このごろ、皆様いかがお過ごしでしょうか。

息抜きだからね?

土曜は技術書典に出る知人とともに、ブース準備会+もくもく会をやったりしてました。

ブース出す練習、テンションが上がるし当日テンパる可能性を減らせるのでお勧めです。

✒ 技術書典4

📆 カウンティング

前回の記事でサークル配置について書きましたが、技術書典4にサークル参加します。

一応カレンダーは気にしてるのですが、もうちょい切実な感じのアレが欲しいなーと思って、はてなカウンティングを使って技術書典4までのカウントダウンを作りました。
この記事を書いている時点で残り42日だそうです。

余裕そうに見えて、入稿〆切考えると1ヶ月ちょっとしかないので結構アレですね。
よければご活用下さい。

📕 頒布予定

情報ガールの続刊で、チャーチ=チューリングのテーゼをテーマにした本を頒布する予定です。
ちなみに既刊はBOOTHで電子版を頒布してますので、よければ覗いてみて下さい。

あと、オマージュ元の数学ガールもぜひ。
4月には久々の本編新刊、数学ガール/ポアンカレ予想も出ますよ!

数学ガール
数学ガール結城 浩

SBクリエイティブ 2007-06-26
売り上げランキング : 2705

Amazonで詳しく見る by G-Tools

✍🏻 LaTeX環境

技術書典3で頒布したいろんな言語でライフゲームRe:VIEWで書いたのですが、その前に出した情報ガールはLaTeXで書いていました。

今回の「情報ガール チャーチ=チューリングのテーゼ」は、オートマトンを書くのにtikzを使いたいこともあり、また前作とフォーマットを揃えることも考えてLaTeXで書いています。

TeXworks

前作を書くときに使っていた環境はTeXworksです。
TeXインストーラ 3を使うとTeX本体と一緒に導入されて楽なんですよね。

ただしファイルエクスプローラーがないので、subfilesなどを使ってファイル分割するとファイル間移動がかなりしづらいです。
メニューバーから切り替えればいいっちゃいいんですが、やっぱりタブが欲しくなってきますよね……

あと、キー設定を弄れないのも地味にストレスです。
普段はEmacsキーバインドに慣れてるので、うっかりC-nして新しいウィンドウが開くとぐぬぬってなります。

IntelliJ

というわけで、今回は執筆環境をIntelliJ IDEAに移しました。
ハイライトやインデントはTeXiFy-IDEAを入れればバッチリです。

またPDFプレビューにはSumatraPDFを使っています。
タブで複数ファイルを開ける+PDF変更時にオートリロードできるので、subfilesとの相性が完璧でした。

執筆時はこんな感じで、画面の左2/3くらいをIntelliJ、残りをSumatraPDFに割り当てています。
40インチモニタのおかげで、これでもエディタ部分は相当広いです。

また仮想デスクトップを使って3デスクトップを使い、IntelliJ+SumatraPDF、調査などで使うブラウザ、キャラ設定や前作PDFなどの資料をキーボードショートカットで切り替えられるようにしています。

ビルドショートカット

IntelliJでtexファイルを編集すると、いま編集しているtexをPDFで確認したくなってきます。
このために、自分はIntelliJのExternal Toolsを以下のように設定しています。

ポイントはArgumentsのbin/build $FileName$で、これにより現在編集中のファイルを元にコマンドを実行できます。
bin/buildの中はdocker-composeを叩いているだけです。
この辺はlatex-scaffoldからそんなに変えてないはず。

あとはこのコマンドにKeymapから適当なショートカットを割り当てれば、

 作業が一段落したタイミングでショートカットキーを押す
→編集中のファイルからPDFが作られる
→PDFが更新されたことでSumatraPDFでリロードされる
→出力を確認して編集を続ける

が簡単にできるようになります。
快適!

無視ファイル設定

LaTeXでビルドすると、副産物のファイルが沢山吐き出されます。
cleanすればいいって話ではあるんですが、毎回cleanするのも効率が悪そうなのでIntelliJのFile TypesからIgnore Filesに指定して、ファイルツリーに表示されないようにしています。

こんな感じで*.auxなどをひたすら入れると、texファイルとpdfだけが隣に表示されるようになって非常に分かりやすくなります。
ついでに.gitignoreにはこれらの一時ファイルに加えて*.pdfも入れておけば、texファイルだけをコミットできるのでdiffも綺麗に。

🏁 まとめ

IntelliJは万能でした。
みんなIntelliJ使おう。

Android+Wearでポモドーロ🍅

はやくも3月ですね。
もうそろそろ桜の頃、といった感じです。

✒ 技術書典4

📍 サークル配置

さて、技術書典4の配置が決まりました。
い-16、入って直進した左手側という大変分かりやすい場所になっております。

というかこれ、思いっきり壁では……?
まぁ知名度が上がったとかではなく当たり運っぽいですが、いい場所をいただけたので素直に嬉しいです。
見てもらいやすくなるはずなので、前回まで以上に気合を入れて準備をしていきたいと思います。

📕 頒布予定

技術書典4に向けて、原稿も進めてます。
前回の記事で触れたとおり、情報ガールの続編でチャーチ=チューリングのテーゼをテーマにした本になる予定です。

プロット立てたらボリュームがえらいことになっております。
ちゃんと書き上がるか不安になってきましたが、削るとストーリーラインが破綻するので頑張って書ききらねば……

🍅 ポモドーロしてる話

そんなわけでなんとか原稿の時間を捻出しないといけないんですが、どうにもグダりがちでプライベートの時間を管理できない性分なのでポモドーロ・テクニックを試しています。
SOFT SKILLSなんかで有名ですね。

SOFT SKILLS ソフトウェア開発者の人生マニュアル
SOFT SKILLS ソフトウェア開発者の人生マニュアルジョン・ソンメズ 長尾 高弘

日経BP社 2016-05-21
売り上げランキング : 16312

Amazonで詳しく見る by G-Tools

要は25分作業+5分休憩を作業単位にしてタスクに集中する、というテクニックです。
このブログ記事であれば2ポモドーロくらいで書く予定で、現時点で2ポモドーロに入ったところです。

⏱ ポモドーロタイマー

ポモドーロ・テクニックにはタイマーがあれば十分なんですが、普通のタイマーをいちいち25分、5分……と交互にかけるのは結構面倒です。
もちろん考えることは皆同じで、ポモドーロタイマーで検索するといくらでも使いやすいツールが出てきます。
一昨年ごろにも一度ポモドーロを試していた時期があって、そのときはChrome拡張で使えるMarinaraを使っていたと思います。

🤔 PCタイマーの問題点

しかしながら、ポモドーロタイマーをPCで運用してると作業時間や休憩時間の終わりを見逃すんですね。
アラーム音を鳴らすのは好みじゃないので画面通知だけにしてるんですが、気づくと作業時間がすっかり過ぎてる、みたいなことがよくありました。
これではポモドーロの意味がないなーと、そのときは数日試しただけで止めてしまった記憶があります。

⌚ +Android Wear

で、時は過ぎて、去年末のサイバーマンデーセールでHuawei Watch(リンク先より安い旧型のやつ)を買いました。

普段はこんな感じで星座早見のウォッチフェイスにしています。
正直これだけでもアストロデアに憧れてた人間としては満足感高いです。

その他には通知確認と睡眠トラッキングくらいにしか使っていなかったんですが、「もしかしてこれにポモドーロの区切りを通知してくれれば捗るのでは?」と思ってアプリを探してみました。
で、Clockwork Tomatoというアプリがドンピシャ。

こんな感じで、スマホ側では残り時間や作業時間の履歴が分かりやすく表示されます。
そしてAndroid Wear側にも通知アプリを入れておけば……

こんな風に残り時間が表示されます。。
もちろん、ポモドーロの区切りでは振動で通知してくれます。

この「腕時計の振動で通知」というのがミソで、全画面で作業に集中していても、逆にPCから離れて気分転換にストレッチしていても、触覚からフィードバックが来るのでいい感じに頭が切り替わるんですね。
個人的には視覚や音声よりも自分に合ってる感じがしています。

🏁 まとめ

というわけでポモドーロ🍅なかなかいいぞ、ついでにスマートウォッチと組み合わせるともっといいぞ、という話でした。
ちなみにこの記事は2🍅では終わりきらず、推敲含めて3🍅くらいで書き上がりそうです。
書きたいことは決まってたのでスラスラ書けるかと思ったんですが、写真準備したりリンクを探してきたりするのと、見出しにいい感じの絵文字を選ぶのとで手間取ってますね。
こういうのがわかるのもポモドーロのいいところかと思います。

技術書典4に当選しました

前回の記事で「ブログを週に1回更新する」という目標を入れたのに、既に年が明けてから1ヶ月過ぎててびっくりしました。
もっと雑に書いていきたい。

ちなみに2月のカレンダーは歌鈴ちゃんです。

✒ 技術書典4

タイトルの通り、技術書典4に当選しました。

前回までは落選したというツイートをあまり見なかった気がするのですが、今回は知り合いでも落ちたという人がちらほら……
検索をかけてみた感じ、現時点でも10サークル以上は落選サークルがあるようです。
それだけ盛り上がっているということだとは思いますが、次回はもっと多くのサークルが参加できる会場になるといいですね。

📕 書く予定の本について

今回は技術書典2で頒布した情報ガールの続きとして、チャーチ=チューリングのテーゼをテーマにした本を頒布する予定です。
続きとは言ってもキャラクターと世界観を引き継ぐだけで、単独で読める本になると思います。

以下のような内容を盛り込もうと考えていますが、ボリュームや書く日数の関係でいくつかの要素は削ることになると思います。

  • オートマトンとチューリングマシンの基礎
  • ラムダ計算の基礎
  • チューリングマシンとラムダ計算の関係
  • ノイマン型コンピュータとチューリングマシンの関係
  • プログラム言語と計算モデルの関係

毎回ギリギリになって推敲やレビューの時間がほとんど取れていないので、今回こそは余裕を持ってスケジュールを引こう……
そんなわけで、4月22日は技術書典4へぜひお越し下さい!

技術書を支える技術

この記事は第2のドワンゴ Advent Calendar 2017の15日目です。
14日目の担当はkusumotoaさんの1分で分かるDependency Injection in Swiftでした。

DST(Dwango Standard Time)ならまだ15日なのでセーフってことでお願いします。

📗 技術同人誌について

ここ1年ちょっと、技術同人誌を書くのがマイブームです。

これまでに書いたのは以下の4冊です。

だいぶ薄い本も入ってますが1年と少しの間に4冊の技術同人誌を書くことができました。(ダイレクトマーケティング)

なお年末のコミケでは新刊はないものの、昨年末に続きなのくろと一緒に開発しているにゃんぱす!というサービス関連の何らかの頒布を行います。
既刊も持っていくので、よかったら遊びに来てくださいね。(ダイレクトマーケティング)

そんなわけで、今回は技術書を書いた感想や知見などをつらつらと書いていきます。

Continue reading

Google Homeからつらいときに挙げる札を挙げる

この記事はMisoca Advent Calendar 2017の10日目です。
昨日の記事は@toyoshi開発以外の仕事でやってるちょっとした自動化の紹介でした。

今日はもともと時報ボットについて書くつもりだったんですが、急にGoogle Home半額セールが来た結果、いろいろ遊んだのでそっちに変えました。

先に結論から話すと、このツイートが全てです。

Continue reading