積んだ本を晒す2023

これはKMC Advent Calendar 2023 4日目の記事です。昨日の記事はpollenJPさんのansible-lint のカスタムルールを利用して Ansible 内での変数命名規則を縛ってみた話でした。

adventar.org

KMC2年目のtrdrです。色々なものに興味を持っては飽きを繰り返していますが、最近は『詳解 Rustアトミック操作とロック』などを読みながら並行処理関係の分野を勉強していることが多いです。

去年も積んだ本を晒すという記事を書いたのですが、そこで紹介した積読についてその後の読書状況を記していきます。また、今年も積読を晒しながら1年を振り返っていきます。

去年積まれていた本について

去年の積んだ本を晒すでは以下の4冊の本を紹介しました。

  1. 世界の名建築解剖図鑑 新装版
  2. ユリイカ2020年12月号 特集=偽書の世界
  3. 数学から創るジェネラティブアート
  4. 計算理論の基礎 原著第2版

これらの本について、読書の状況は以下のようになりました。

  • 『世界の名建築解剖図鑑 新装版』
    • さらっと全体的に目を通した。
  • ユリイカ2020年12月号 特集=偽書の世界』
    • 気になる部分を中心に半分くらいつまみ食いした。
  • 『数学から創るジェネラティブアート』
    • さらっと全体的に目を通した。
  • 『計算理論の基礎 原著第2版』
    • 授業の教科書として指定されていたのでそこそこ真面目に読んだ。

去年の記事で扱っていなければ棚の奥に眠ったままになっていたと考えられるので、それに比べるとかなり読むことができた、記事を書いた意義があったと言えそうです。「少しでも読めばプラス」という考えが自分の中にしっかり根付いてきたのもよかったと思っています。

今年積まれた本について

本を買うスピードは読むスピードを上回り続けているため、今年に入って積まれた本も数多く存在しています。その一部を紹介していきます。全て読みたいと思っていますが、なかなか着手に至らないという状態です。

1. コンピュータサイエンスにおける様相論理

大学の授業で様相論理に触れたり、モデル検査について興味を持ったりする中で見つけた。TLA+を触ってみたりなどをしていた結果、この本を読むのが後回しになった。

2. 「きめ方」の論理 ─社会的決定理論への招待

文庫本ということで持ち歩いて移動中などに読む本にしようとしたが、そのような環境で読むには難しい内容から「時間があるときにちゃんと読もう」となった。そのまま先送りにされて年末になってしまった。

3. データ解析におけるプライバシー保護

去年のセキュリティ・キャンプに参加した際、プライバシー保護にも技術的・理論的に面白いところはあるということを知って興味を持った。しばらくそのことを忘れていたが、偶然この本を見つけた際に思い出したので勉強するきっかけを作りたいということもあり購入することにした。

統計学を大学の授業である程度勉強してからの方がよいかなと思ったところで読む手が止まり、放置されている。まさに今統計学の授業を取っているところが、再開のめどはたっていない。

4. すごいErlangゆかいに学ぼう!

並行処理や分散処理について勉強するなかでErlangを知り、日本語の資料としてよさそうなものを探していたところ発見した。達人出版会でPDF版(すごいErlangゆかいに学ぼう!【委託】 - 達人出版会)を買うことができたので、普段はあまり選ばない電子版を買った。

Elixirの方が触りやすそうに見えた結果、少し読んだところでそちらに流れ、中断された。

去年からの改善点: 積読の管理について

本を積んだという事実そのものを忘れてしまうことがあるので、買った本と日付を全て記録することにしました。具体的には、入手した本についてScrapboxのページを作成し、そこに入手日を記録しておくという方法で管理を試みました。以前からScrapboxに読書メモを書いていたこともあり、この方法は簡単に導入することができました。レシートを処分する際に記録をすれば、(物理本に関しては)記録に漏れがないのがうれしい点です。

この方法により、積まれた本を忘れて本を買い足しに行くということは防がれました。しかし問題も残っており、例えば、全ての情報を同一のScrapboxプロジェクトに入れているため、本の入手記録が他のページに埋もれて忘れられてしまうということは起こってしまいます。また、以前から所有している本についてもページを作ることは面倒で、それを自分が行うとはとても考えられないため、それ以前に入手した積読を思い出させる効果はありません。

記録がより手軽に行えるように、本についているバーコードからISBNを取って自動的に本を記録しておくアプリを作ってみようと思っていますが、このタスクは途中になったまま積まれています。

おわりに

今年も積読を晒しながら1年の活動を振り返ることができました。積読は今年も増えましたが、去年よりは「買ったっきり放置されている」という状態の本は減らせたと感じています。色々な本を飛び回った結果最後まで読み切った本が少ないのは問題だと思っているので、来年は色々な本をかじりつつもいくつかの本について腰を据えて読む経験をしたいです。

また、「やりたいなとは思っているけどそのままになっている」というものは本に限らず沢山あるので、それを公開していきたいです。これを書きながら、KMCには「作ろうとしたが挫折したこととわからないことを並べたリスト」というものが存在していることを思い出しました。私のように怠惰な人間にとって、自分の活動を直視することはつらさを伴いますが、この機会にこの壁を越えていきたいところです。

明日は進捗ゼミさんの『仏像をぶつぞう!!!!(迫真)』です。お楽しみに!!!!(迫真)

積んだ本を晒す

これはKMC Advent Calendar 2022 7日目の記事です。昨日(6日目)の記事はwassさんのzshでミスってCtrl-Cをして、空っぽになった入力を取り戻すでした。明日(8日目)の記事はcrashRTさんのAfter Effects おすすめチュートリアルです。

adventar.org

目次

はじめに

KMC1回生のitoooak、あるいはtrdrです。初めまして。こんにちは。最近はコンパイラを書いていたりプログラミング言語の勉強をしていたり京都をふらふら歩きまわったりしています。

この記事では、私の積読の中から面白そうな本・読みたい本を4冊紹介します。以下に挙げるのは私の積読のごく一部であり、精鋭たちです。色々な理由で積んでしまっているものの、良い本であると思っているものです。

これから紹介するそれぞれの本について、主に以下の内容を書いていきます。

  • 本の内容(の推測)
  • 何で買ったか
  • 何で積んだか

きちんと読んでいない人が書いているので、ためになる情報もネタバレもほぼありません。いくつかの本と雑なポップを見るようなイメージで読んでください。

積読の紹介

1. 世界の名建築解剖図鑑 新装版

複数の時代・地域の建築を実例として、建築の様式や建築物の一部分などに関する概念を紹介・解説している本のはず。写真や図面があり、それについて説明を入れていく形式で書かれている。図鑑のような種類の本は「読んだ」という判断が難しいが、読んでいないと断言できる程度には読んでいない。

建物を見るのが前から好きだったが、建築に関する知識があると色々な見方ができてさらに楽しそうだと思ったため購入した。本屋で手に取ったとき、煉瓦の置き方や積み方が書かれているページを見てやられてしまった。

買ったのが受験期であったこと、本のサイズが大きく持ち歩いて読むことは困難であることなどが積まれてしまった主な理由だと思う。この記事を書くまで積読の山に埋もれていたため、大学入学後も発掘されることがなかった。

www.xknowledge.co.jp

2. ユリイカ2020年12月号 特集=偽書の世界

偽書」を歴史や文学、神話などの観点から解説している本のはず。主題である偽書について、偽書とは何かということがはっきりと理解できていない程度には読んでいない。

明らかに誤った情報を(悪意の有無にかかわらず)含みながらもそれが誤りであることが明記されていない文書のことを偽書と呼ぶと私は理解している。架空〇〇というような創作、現実に寄せてあるフィクションが私は好み1であり、大学の生協になぜかこの本が並んでいたときに買ってしまった。

大学生が思ったより忙しかったため積んでしまった。大学生をなめていた。他の理由としては、今までこのようなジャンルの本を読んだ経験に乏しいために、読むのに時間がかかってしまったということが挙げられる。

www.seidosha.co.jp

3. 数学から創るジェネラティブアート

色々な数学のトピックに触れながら、Processing2で絵を描いていく本のはず。ここでの"絵を描く"とは、ペンで線を引いて色を塗っていくことではなく、プログラムでルールを定めて絵を生成(generate)することを指している。何度かパラパラと目を通す機会はあったが、サンプルプログラムをダウンロードするところで止まっている。

数学・プログラミングと自分の興味のある分野の掛け合わせであることに加え、本の見た目がよいため買った。本屋や図書館で是非見てほしいが、本の外側も内側も楽しい見た目をしている。

サンプルプログラムを実行するだけではつまらないので自分でコードを色々書いてみようと思ったが、序盤で疲れてしまった。まずは軽く全体に目を通す方がよかったかもしれない。

gihyo.jp

4. 計算理論の基礎 原著第2版

形式言語やらオートマトンやらを扱う、計算理論のやさしめな(威圧感のない)教科書のはず。文脈自由言語の章の頭くらいまで軽く目を通した記憶はあるが、最後まで到達していない&きちんとは読めていない。

白と黒のとびら』という本を読み、形式言語オートマトンの理論に興味を持ったため買った。

ちゃんと読むのには時間が必要だが、大学での勉強に加えて手を動かす時間を取るのはなかなか厳しく、積まれている。長期の休みで読めればよかったが、寝ていたら休みが明けていた。

www.kyoritsu-pub.co.jp

おわりに

書いているうちに「自分の積読を見ながらここ1年を振り返る」みたいな内容になってしまいましたが、興味の惹かれる本はあったでしょうか。本の内容が気になった方はリンクを張っているので目次をぜひ見てみてください。

そして、皆さんも積読をほんの一部でもよいので公開してみませんか?

勧め

  • 読んでいない本について堂々と語る方法』という本があるのですが、面白いです。読んでいなかったら上のリストに間違いなく入れていたのですが、私は読んでしまいました。積読として紹介すればこの記事の収まりがよかった気がする。もったいない3 。読んでも読まなくても面白いので皆さんも手にしてみてはいかが?

  • 皆さんも積読(の一部)を晒しましょう。私は積読を紹介することに以下のメリットがあると考えています。

    • 自分が積んだ本を確認することができ、これから読み始めていくきっかけになる
    • 実際に読んだ人が見つかって、おすすめの読み進め方などを教えてもらえるかもしれない
    • 自分の行った積読の紹介が、他の人が新しい分野を知るきっかけになるかもしれない
    • 積読を公開する記事を書くことで、のちに読んだ/読まなかったどちらの場合もネタにできる
    • ほかの人のおすすめの本を知ることができて私がうれしい

  1. 虚構新聞や空想地図(cf)など。最近だと、ChatGPTが生成する見た目はそれっぽいが中身がめちゃくちゃである文章が好き。
  2. グラフィック機能を売りにしたプログラミング言語
  3. あまりにももったいないので、記事を書く際に参考にしました。読んでいなかったらそもそもこのような記事を公開する気にならなかった可能性もあります。

Seccamp'22 参加記 お気持ち編

itoooakと申します。初めまして。 自己紹介は別の記事として書くつもりです。

概要

セキュリティ・キャンプ全国大会2022 オンライン(以下Seccamp)に参加する機会を頂いた。応募前から期間終了後までの記録を私が感じたこと中心に公開する。

私はY3: 故障を乗り越えて動くシステムのための分散合意ゼミに参加した。

意図

技術力に自信のない人でも興味とやる気があるなら応募してみるといいかも?という考えを持つ人が増えてほしいという意図がある。私自身、こういうイベントは既に素晴らしい結果を残している人だけが参加しているものであり、自分は応募に値しないと誤解していた。

また、期間を通しての到達点は人によって様々であり、課題を残したまま終える人もいて(こちらが多数派である気がする)、そういう人にとっても充実したイベントであることが伝わればよいと思っている。

おことわり

  • 技術的な話はない。私自身が期間中に感じたことを書く。
    • 専門講義の詳しい内容については、知識を整理し実装を進めてから書くつもり
  • 期間最終日の夜に書いているので疲れと眠気から雑になっていそう
  • 不正確であったり誤っている記述があるかも

    • 見つけたら教えていただけるとありがたい
  • 気分が悪くなったらすぐに服用を中止してください

    • 多くの人に不快に感じる表現がみられるようならこれも教えていただきたい

Y3: 分散合意ゼミの概要

分散システムにおいて主要な課題である分散合意について、Raftというアルゴリズムの一部をGo言語で実装しながら理解することを目標とする。Leader ElectionとLog Replicationとよばれるステップについて実装することを目指し、私自身は前者の実装は(多分)できたが後者の実装は間に合わなかった。

Raftについての説明は

raft.github.io

を見てみるとよさそう。どうやって動くかを視覚化してくれている。

まだ勉強中なのでこの記事で詳細な説明はしない。

参加記

応募前

  • 応募期間にSeccampが猛烈に宣伝されているのを見て応募を決断した。それまでは自分が要求されるであろうレベルに達していないと思っていたため、本年度のSeccampに応募することを全く考えていなかった。
    • 自分が選考を通過するかどうか、通過した場合に講義についていけるかどうかといった点に全く自信がなかった。応募課題を解くだけでも十分勉強になると思ったので、とりあえずやってみることにした。
  • 3つのゼミに関して課題を提出するつもりだったが、大学生活との両立が難しかったためY3ゼミの課題のみに注力した。やる気が伝わるように頑張って書いた。

選考結果発表直後

  • 選考を通過できるとは思っていなかったため、ずっと驚いていた。
    • 実際、応募課題を解きながら「来年頑張ろう」と言っていた。
  • "#seccamp"でTwitter上を検索すると出てくる他の参加者にビビり散らかしていた。せっかく機会を得られたので、卑下することに時間を使わず楽しみながら色々と吸収していこうという考えになった。

6/10

  • この参加記をつけ始める。これ以前の記録は6/10以降に振り返って書いたもの。

7/8

  • 事前講義が始まったので、また思い出して記録をつけ始める。
  • 要求される知識を自学している期間。全く触ったことのないGo言語とDockerを勉強し始めた。
  • Cコンパイラゼミをのぞいてみたりしていた。

7/22

  • 3回の事前講義が一通り終わり、いよいよゼミへ意識が向き始める。
  • 大学の期末があり、Seccamp関係にあまり時間と気力を割くことができなかった。

8/4

  • 大学の授業がひと段落した。専門講義が近づいてそわそわしていた。

8/8

  • 本期間が始まる。二度寝したが午後からなのでセーフ。生活習慣は整えておくべきだった。
  • LTを見てもう一度ビビる。それぞれのLTについて色々メモを取っていた。発表できる自信と内容を手に入れようと思った。
  • 人とつながる大切さを説かれた。受講生同士の交流の機会を頑張って作ろうとしてくれているのを感じつつ、自分はコミュ障を発揮していた。積極性をもって参加するべきだった。

8/9

  • 専門の講義が始まる。起床には成功。デッドロックなどにはまり続ける。助けに頼りながらコードを書いていた。
  • 分からない部分の質問は早くするべきだったと感じた。ただ、本当に詰まっているときは分からない部分が分からないという話はあるが...

8/10

  • 専門講義2日目。時間はかかったがLeader Electionが実装できた。
  • 企業のお話を聞く機会があり、LayerX社のPrivacyTech事業が面白そうだと感じた。プライバシーの話を技術と絡めて考えたことがなかったので新鮮だった。
  • 実装が終わらないのではないかと思い始める。完成しないのではないかという不安が頭をよぎる(完成を目標にはしていないと講師に言われていたが)。

8/11

  • 専門講義最終日。結局目標通りにはいかず実装できていない部分を残してしまった。幸いなことに理論に関する理解はある程度できていた(と自分では思っている)ので、悲観的な考えに陥らずにすんだ。
  • 専門講義が終わってみて、改めて充実したイベントであると感じた。直接的・間接的問わず関わってくださった方々に感謝。

8/12

  • 期間最終日。他の参加者の発表を聞いていた。
    • 当たり前のことではあるが、期間中にやったことやその成果は人によって様々であることを実感した。

感想

  • 専門講義の内容は難しかったが、期待していたふるまいをしたときにはとても達成感があった。
  • 期間中に専門講義に限らず興味深い話をたくさん聞けたのもよかった。やりたいことが色々増えたので、これからの動機にしていきたい。
  • 貴重な機会を頂けたことに感謝。この経験を還元したいとぼんやり思った。