C83お疲れ様でした!そして有難うございますとごめんなさい

もふもふ。皆さんC83お疲れ様でした。
今回も多くの人にスペースに来ていただけて、
とても嬉しく思っています。

報告

C83では当方のスペースに多くの方にお越しいただき、
「きつねさんとおぼえるLLVM
は11時過ぎに完売という結果になりました。
本当に有難うございました。
また、今回も完売後に来てくださった方が多くいたことに関して
大変申し訳ありませんでした。
取り置き関連でごたごたして途中一旦頒布停止など、
こちらの不手際でお待たせしてしまったことも申し訳なく思っています。

謝罪

今回は取り置きも導入してみたし、
夏の加筆修正版だし、
晦日だし、
と色んな状況を考えて120部であれば十分だろう
(むしろ残るだろうなー)
ぐらいに考えていたのですが、
今回も約1時間で完売となり、、
多くの方にお渡しできないことになってしまいました。
大変申し訳ありませんでした。

複数の人から120部は少ない等々言われたのですが、
私はもともと80部程度の予定だったのを
風薬に120部に引き上げられたわけで、
正直そんなにもう売れないでしょう・・・
と思っていたわけで
需要がどれくらいか読むのは難しいよ!
というのが言い訳です。
はい、言い訳です。ごめんなさい。

一般参加者だったころは
「もっと刷ればいいのに」
とか考えていたわけですが、
実際サークル参加してみるとその辺の
ラインの見極めってほんとに難しいです。
(また言い訳)

お願い

購入していただけた方に今回もお願いがあります。
今回の狐本について,こういう情報があった方がわかりやすい,ここの説明はわかりにくい
などの感想や
ここおかしいよ?、これはこっちの方がうまくいくよ!
といったコメントなど、
何かありましたら些細な事でも構いませんので連絡して頂きたいです。
いただいたコメントは出来る限り今後の活動に反映していきますので、
是非よろしくお願いいたします。

今後について

当日スペースで一部の方にはお伝えしましたが、
私も風薬も電子書籍等で今回の本を出したいな
という事は考えています。
現在はまだ調整中という段階ですが、
今後何か正式にお伝えできることが出来たら都度報告します。

また、今後のサークル参加の予定に関してはまだ検討中です。
(LLVMの初心者向け解説本は今回で一区切りとしたいので
次のネタを探している、という段階です。)
とは言え継続的に何かをやっていきたいので、
夏は出来れば参加したいねー
という方向で話を進めています。
増刷や委託も今すぐには考えていませんが、
少なくとも夏参加したら少し刷って持っていくかと・・・

唐突に感想とか

今回C83に出てみて改めて
サークル参加は楽しいなぁ
と思いました。
色んな人と出会えてお話できて
色んな本と巡り合える。
(まぁ、一般参加でも出来る事だけど密度が違うので。)
今回お隣だったYUHAの方々や、
前回参加時から少しお話させて頂いている@xhl_kogitsune さん(もとい参照透明な海を守る会の方々)、
LLVM解説本を購入してくださった方々などなど
今回も色んな人とお話できて本当に楽しいひと時でした・・・

新年だし今年の抱負をね

今のところLLVM解説本はありがたい事に
多くの人から一定の関心を持ってもらえているわけですが、
それはLLVM 自体の勢いだったり、周りで支持してくれている人のおかげ
という部分が大きいよなーと思います。
何と言いますか、LLVM解説本を購入してくださっている方や
近隣サークルの方々に圧倒的に技術的に負けていて
私も頑張っていかないと!という焦りの様な気持ちで一杯な感じです。
(というか同人ソフトの人はすごい人が多すぎなの!)
今年こそは皆さんからの注目に見合う程度の人間に成長したいと思います。
付け加えるならこんな僕でも時間をかければ
何とか解説本を作成して頒布することができるわけですので、
何か興味なることやネタを持っている人はどんどんサークル参加すべきだと思います。

というわけで今後も頑張って元気に活動していきますので、
皆様今年もよろしくお願いします!

【〆ました】【C83】きつねさんとおぼえるLLVM 取り置き関連エントリ

※12月31日 1時24分をもって受付を〆ました


C83 で頒布する“きつねさんとおぼえるLLVM
の取り置き専用エントリになります.

宣伝用エントリにも書きましたが,
取り置きのルールは下記のとおりです.

  • 取り置き専用エントリ(本エントリ)のコメントにて名前と必要な部数を申請してください
  • C83 当日は専用エントリに記入した名前をスペースでつげてください
  • 取り置きは最大14時頃までとし,14時までにいらっしゃらなかった場合は販売分にまわします

というわけですので,
取り置きを希望される方は本エントリにコメントを残してください.


※一応今のところ取り置きにも部数制限をかけるつもりはありませんが,
当日分があまりに少なくなるのも考え物なので合計60部ぐらいまで
伸びるような事があったら一旦受付をとめるかもです.



※追記で確認の返信をした方々を書いています。
 部数等にお間違いがないか確認をお願いいたします。(2012/12/30)

【現在当方で取り置きを把握している方々】
finalfusionさん:2部
repeatedlyさん:1部
みみっく さん:1部
mikさん:1部
akita_morokosiさん:1部
extさん:1部
tbofficeさん:1部
flatstoneさん:1部
nullkal さん:1部
ねこざわ さん:1部
hayamizさん:1部
shiroさん:1部
スケ さん:1部
tell さん:2部
Dryadさん:1部
hatune さん:1部
lycoris@じと目スキーさん:1部
yamaoka さん:1部
k32ruさん:1部
ねこなべ さん:1部
wakadannacom さん:1部
mnruさん:1部
カツーン さん:1部
sakai さん:4部
hayabusa333 さん:4部
FA さん:1部
時雨羊羮さん:2部
dmikurubeさん:1部
sunohoさん:1部
n_kane さん:1部
YY さん:1部
tkraliaさん:1部
彦根萌々んさん:1部
ara さん:2部
toru_inoue さん:1部
clear さん:1部
c-yan さん:2部
godai_0519さん:1部
ezureさん:1部
USE-K さん:1部
iwadonさん:1部
kona_8bit さん:1部
山田さん:2部
suu-gさん:1部
Nullh0ge(なるほげ)さん:1部

【宣伝】C83にてLLVM解説本を頒布します(取り置き関連の情報も)【三日目東Y03a】






風ちゃんのエントリが人気なのでわざわざやらなくてもいいかもしれないけど
それはそれで何だか残念な気分になるので宣伝です.
一応取り置きに関する情報も書いているので最後まで読んでもらえると嬉しいです.

C83 頒布の本について

冬のコミックマーケット(C83) にてC82に引き続きLLVM解説本を頒布します.
タイトルは“きつねさんとおぼえるLLVM”で,
夏に頒布した“3日で出来るLLVM”の加筆修正版になります.
総ページ数は224ページになりました.

基本的な内容は夏と同様で,
LLVMの概要とLLVMを使用したコンパイラの作り方です.
LLVMを使用したコンパイラの作り方を順を追って説明し,
LLVMへの理解を深めてもらおうというのが一応のコンセプトみたいなものです.
担当部分も前回と変わらず,私がフロントエンド,最適化(Pass)で,
風薬(id:sabottenda)がバックエンド,矢上さん(web)が表紙です.

一応私が担当した部分の加筆部分に説明しておきます.
今回私が追加した内容で大きな部分は

  • Metadata の簡単な説明.
  • JIT コンパイルの実装の説明
  • Metadata の生成・付与方法の説明
  • CommandLine ライブラリの使用方法の説明
  • 簡単なPass の実装方法の説明

となっています.
とりあえず今回で一区切りつけるというのが目標だったので
頑張ってわかる範囲でつめこんでみました.
風ちゃん担当分については具体的に〜〜を追加した,というのは
聞いていないのですが,実際に呼んでみた感触としては
C82 時のものよりも整理されて読みやすくなっています.
バックエンド側の知識がほぼほぼ欠如している私が
何となくわかった気になれる程度には読めます.

※ただし今回も相変わらず趣味でLLVM 触っている二人による同人誌なので
内容のすべてが正しいという保障はできないです.
本書片手に“この本の間違い探してやるぜ!”ぐらいの感覚で
実際にLLVM を触ってみて頂くのがベストだと思います.


なお,頒布情報は下記のとおりです.

会場:東京ビッグサイト
日程:2012年12月31日
スペース番号:東Y03a
頒布物:きつねさんとおぼえるLLVM
価格:1部 1200円
※部数制限なし

取り置きについて

C82 では予想以上の反響を頂き,
開始一時間ほどで完売となりました.
非常に嬉しかった一方で,完売後に来てくださった方には
非常に申し訳ないことになってしまったので,
今回は試験的に取り置きをやってみようと思います.
取り置きのルールは下記のとおりです.

  • 取り置き専用エントリ(こちら)にて名前と必要な部数を申請してください
  • C83 当日は専用エントリに記入した名前をスペースでつげてください
  • 取り置きは最大14時頃までとし,14時までにいらっしゃらなかった場合は販売分にまわします

一応今のところ取り置きにも部数制限をかけるつもりはありませんが,
当日分があまりに少なくなるのも考え物なので合計60部ぐらいまで
伸びるような事があったら一旦受付をとめるかもです.

3日で出来るLLVMの訂正箇所

C82にて頒布したLLVM 本、「3日で出来るLLVM」について読者の方から頂いたコメントと筆者の方で確認した誤字等を記載します.


P.8:9行目
(誤)ObjectiveC (正)Objective-C

P.8:2.2.3 clang
(誤)Objevtive-C (正)Objective-C

P.9:2.2.6 compiler-rt
(誤)lilbgcc (正)libgcc
(誤)X86-64 (正)x86-64

p12:表3.3 ビルドに必要なパッケージ
(誤)TeXinfo (正)Texinfo

p14:Debugビルドに失敗する場合
(誤)Debugでも問題なビルドできる (正)Debugでも問題なくビルドできる

p15 過去のLLVMをインストールする場合の注意点
(誤)Ocaml (正)OCaml

P.16:3.3.2 lli
(誤)distable-lazy (正)disable-lazy

p17:3.3.4 llc
(誤)-marchオプションで指定できますが, を指定しない場合は (正)-marchオプションで指定できますが, 指定しない場合は

p19:
(誤)ビットコードと呼んでいたのもで (正)ビットコードと呼んでいたもので

p26:
(誤)HellowWorld (正)HelloWorld

p27:
(誤)17行目はprintf関数の宣言 (正)15行目はprintf関数の宣言

p33:4行目
(誤)for.cond ,for.body ,for.end の3 つのブロック (正)for.cond ,for.body ,for.inc の3 つのブロック

p41:表5.1 TokenSetのメンバ変数、最終行
(誤)std::vector TokenSet (正)std::vector Tokens
(誤)TokenSetベクタ (正)Tokensベクタ

p54:■publicなメソッド
(誤)doParser (正)doParse

p58:list5.16 内
(誤)@param 勘数名 (正)関数名

p82:
(誤)加算、減算、積算、除算 (正)加算、減算、乗算、除算

p102:6.2.4 LoopPass
(誤)do Initializat ion (正)doInitialization
(誤)Functipn (正)Function

p107:
(誤)ddPreserved (正)addPreserved

4章全体
(誤)浮動少数 (正)浮動小数

全体
(誤)アライメント (正)アラインメント


他にもあったはずなんですが・・・
思い出したら書きます.

C82:報告と感謝と謝罪とお願いと今後について

皆様C82お疲れ様でした.
沢山の方にスペースに足を運んでいただき,大変感謝しております.
(夏コミ終了から既に数日経過していますし,今更感もありますが)

報告と感謝と謝罪

C82 二日目で頒布したLLVM 解説本,「3日で出来るLLVM」は有難い事に60部完売という結果に終わることが出来ました.
本当に有難うございました.
また,折角来て下さったのにお渡しできなかった方が多くいらっしゃったことに関して,この場を借りてお詫びいたします.
申し訳ありませんでした.

事前のツイッター等の反応を見ていて午前中に完売もあり得るかもとは思っていたのですが,一時間というのは流石に予想していませんでした.
これだけ注目して頂けたという事に驚きつつ,とても嬉しく思っています.
元々30〜50部程度を予定していたので,60部という数字は我ながら強気に出たなと思っていたのですが・・・
改めてLLVM の勢いというものを味わった様な気がします.

お願い

購入していただいた方に1点お願いしたいことがあります.
今回の本について,もっとこういう情報が欲しい,こうした方がいいなど感想やコメント等がありましたら,
些細なことでも構いませんので(どんな形でも良いので)言っていただきたいのです.
いただいたコメントは私の能力で対応できる限りは今後の活動に反映したいと考えていますので,よろしければお願いします.

今後について

ツイッターや風薬(id:sabottenda)のエントリで通販や電子書籍についての希望をいただいていることは筆者二人とも認識しています.
当日のスペースでも,増刷や電子書籍化について多々質問を受けました.
これについては素直に嬉しく思っています.
(特に達人出版会さんについてはお待ちしていますとの言伝までいただいてあわわわ状態)
しかし大変申し訳ないのですが,今回頒布した本をそのままの形で増刷や電子書籍化するということは考えていません.
当日ご質問いただいた方にはお伝えしたのですが,
今回の本には説明が不十分な点や,曖昧な情報が含まれており,増刷や電子書籍は少なくともこういった点を取り除いてからと考えています.
特に,誤った情報が含まれているかもしれないという点を危惧しており,もう少し時間を貰いたいというのが今の心境です.
とりあえずC83の申し込み手続きは進めているので,冬に加筆修正版を頒布する予定ではいます.
その他の方向性についてもある程度目処が立った段階で報告しようと思っています.

その他

既に数人の方から今回の本についてコメントをいただいており,また私の方でも再度読み直して幾つか修正点を発見しました.
これらについては纏まり次第改めて報告します.

C82:最後の告知




いよいよC82の2日目がやってきます.
9日に印刷所から本が届きまして,本日小銭やらキャリーカートやらも準備しました.
現在訂正と補足を書いたB4紙を全力で準備してますが,それが終われば後は祈って待つだけです.
そんなわけで最後の最後にもう一度宣伝をば.
C82 にてLLVM 解説本を出します.
スペース等は下記の通りです.

サークル名:MotiPizza
日程:2日目 (8月11日)
スペース番号:西し39a
価格:800円
持込部数:60部

本の詳細の方は過去のエントリをご確認ください.
なお,釣銭の準備はしていますが可能な限りお釣りが出ないように払って頂けると助かります.
初のサークル参加なので色々と不手際もあるかもしれませんが,よろしくお願いします.


ちなみに記念にタペストリーなんて物も作ってみました.
当日もって行く予定はないですがなかなか良い物です.

C82:LLVM解説本の補足

風薬(id:sabottenda)の方の宣伝記事に予想以上の反響があったようなのですが、
今反応してくださってる人がどういった層の方なのか把握できていません.
「買ってみたけど期待してた内容と違う」なんてことになったらお互い不幸なので
C82で発行予定のLLVM 解説本について,特に私が書いた前半部分に関して少し補足をしておきます.

概要とターゲット層について.

今回の本の主題は"LLVM を使用したコンパイラの作成方法の解説"です.
LLVM の使用方法を書くのか,LLVM について深く掘り下げるのか
ということは風薬(id:sabottenda)と何度か話し合ったのですが,
私には現時点で後者を説明するだけの能力がないと感じており,最終的に上記の内容にしました.
また,今回の本は初心者をターゲットにしています.
これは基本的に趣味レベルでLLVM を触っている人間による本なので,中・上級者向けの内容は難しいという判断です.


その他,今回触れていない話や突込みどころも多々あります.

2章(コンパイラLLVM)

2章でLLVMLLVM のサブプロジェクトの解説をしているのですが,サブプロジェクトについては簡単な紹介程度に留めています.
サブプロジェクトの方は私自身あまり使い込んでいないので深い解説が出来ないというのが実情です.
解説できる程度に勉強したら今後追加されるかもしれません.
(次があれば)

4章(LLVM IR)

4章ではLLVM IR の解説を行っていますが,説明できていないことが多々あります.
これは全て説明しようとすると膨大な量になることなどから,
"LLVM IR を理解するための最低限の情報"
という所を目標にしたため,
また私の理解が足りてない部分があるためです.
記載している内容としては,
LLVM IR の構成の簡単な説明,
DataLayout とLLVM IR の命令(一部の命令は省略),
実例(HelloWorld,if-else,for,アグリゲート型へのアクセス) を用いた解説
などです.
それ以外の項目,例えばMetaData やIntrinsic Functions には触れていません.

5章(フロントエンドを作る)

今回の本は約150ページなのですが,そのうちのかなりの割合がこの5章にはいっています.
その中で字句解析〜意味解析までは一般的な話なのでLLVM はほぼ絡んでこないのですが,その説明についてもそれなりのページ数を割いています.
この点は純粋にLLVM についてのみ知りたい方には不満かもしれません.
LLVM IR の生成方法さえわかればあとはわかりますよね?で終わりとしてもいいかもしれない部分ですが,
(実際そこに焦点をあてている記事もよくあるけども)
私としては今回は"コンパイラを作る"という話を一貫してしたかったので上記内容にもある程度のページを割きました.
初心者向けという最初の前提もありますしね.
あとC言語のサブセットを題材としてフロントエンドの作成を説明していますが,Clang のライブラリを使用していません.
これは私があまりClang の方は詳しくないというのと,特定の言語に寄った説明にしたくはなかったからです.
そういう意味でC言語のサブセットというのはあまり良い例ではなかったかもしれないです.
なお,JIT の実装についても今回は見送っています.
これは単純に時間的に間に合わなかったせいなので,次があれば追加したいと考えています.

その他

LLVM の解説なのにgccコンパイルするの?とか
作業ディレクトリの場所おかしくない?とか
細々とした突込み所は色々あります。
この辺は半分直し忘れで半分私の悪しき慣習です.

今後について

今後のことは夏コミが終わって落ち着いたらちゃんと考えますが,
上記の通り筆者として色々と内容に心残りがあるので,次があるのであればもっと内容を充実させて完全版的な位置づけのものにしたいなと考えています.
一人でやってることではないので要相談ですが.



前回記事に価格情報を載せてなかったので,最後に改めてその辺りの情報を.

サークル名:MotiPizza
日程:2日目 (8月11日)
スペース番号:西し39a
価格:800円
持込部数:60部