Share
Embed
How to create better speaker proposals
Talked at JJUG CCC 2024 Fall
Akihiro Nishikawa
October 27, 2024
Transcript
51 slides
-
Scope of talk 話すこと(話せること) • speaker proposalを記載する上で 注意すべきこと • 採択側、参加者に選んでもらうための、
経験に基づくTips 話さないこと(話せないこと) • 特定のイベントで採択される基準 -
Conferenceに参加するには 1. 通常の参加者として参加 • 日本だと無料が多い • 海外は有償が基本 • 例えばDevoxx Belgiumだと、€975
(VAT込みで€1,179.75、19万円超!!) 2. 登壇者として参加 • Conferenceへの参加費用は無料 (!!) • speaker dinnerやspeaker tripなどのappreciation event • 登壇謝礼や宿泊費、flight ticket補助、特別なswagがある場合も -
トークのテーマ 1. Organizerから指定がある • アブストラクト、タイトルは指定されたテーマ、話す内容に沿っていれば問題ない • スポンサーセッションでは、自社製品やサービスの売り込みをしてもかまわない (聞き手が受け入れるかどうかは別) 2. 自分で決める
• Call for Proposal/Paper (CfP) の要領に従って提出 • Conferenceのルールに従う必要がある -
実際の フォームを 見てみよう ① JJUG CCC 2024 Fall ② JavaOne
2025 ③ JConf Europe 2025 ④ VoxxedDays 2025 CERN -
共通する項目 • タイトル (title) とアブストラクト (description) • タイムテーブルに掲載される項目 • カテゴリ
(track/category) • Core Java、Enterprise Java、Monitoring & Management、Culture & Community、Architecture など • セッション形式 (session format) • Workshop、General Session、Keynote (!!) • トーク内容・聴講者のレベル (audience levelもしくはlevel) • Beginner/Intermediate/Advanced -
主として海外Conferenceに存在する項目 • 過去に類似のトークをしたときの動画・スライドへのリンク • JavaZone、Devoxx、Jfokus、JCConfなど、ほとんどで要求される • Presentation outline • トークのスコープ、アジェンダ案など
• Elevator pitch • なぜこのトークを採択すべきか、Organizerに売り込むためのキラーフレーズ • トークで使う言語 • 英語がメインでない環境では、言語を選択する場合がある (台湾やノルウェー、モロッコなどは英語がメインではない) -
最先端のテーマを 扱いたい 様々なテーマを カバーしたい 著名人に 登壇してほしい Organizerの思い • でも、流行りものばかりをそろえたくない •
Conferenceの趣旨に沿うことが大前提 • 様々な視点のトークがほしい • 他Conferenceで高評価を得たトークや登 壇者なら、自Conferenceでも歓迎される (はず)なので採択したい -
タイトルとアブストラクト • そのセッションが自身にとって有用なものになり得るか否かを知る手がかり • 何を話すか、話さないか • 聞き手がセッション聴講後どういう状態になっていると期待されるか (Speakerからすると、聞き手がどういう状態に到達するはずか) • わかりやすく、読みやすく記述
• 特に海外Conferenceのアブストラクトは読みやすく書く (例えば平易な単語を使い、段落分けする、など) -
タイトルは重要だが • キャッチーでもいいが、コンテンツとリンクしているタイトルであること • 目を引くだけで「は?」というようなものは採択されない • 煽るだけのやつはあかん... • 映画やテレビ番組のタイトルや台詞をもじったものはウケがいいが、採択さ れる確率があがるとは限らない
• “May the force be with you!” • “Catch Me If You Can” • “◦◦で3倍高速” -
Presentation outline • トーク内容や構成を把握し、参加者にウケそうか、タイトルやアブストラクト とのずれが無いか、興味深い内容かどうかを吟味するための手がかり • アブストラクトに記述できないトークの詳細 (Agenda、カバー範囲など) • そのトークをそのConferenceでやるべき理由
• そのトークを自身が実施しなければならない理由 • 具体的な記述が求められる • 抽象的だったり、曖昧だったりすると採択されづらい -
• 「別のConferenceで高評価(4.88/5)を得た」 (人気のセッションだったから、呼ばないと損するよ、と思わせる) • 「このトークでは、 ◦◦についてCommitterとして知り得る内部構造 まで話す」 (ユニークな内容・視点の発表であることを印象づける) • 適当なでっち上げ(論外ですね)
• 「JavaScriptのvarとJavaのvarの違いについて語らせたら右に出るも のはいない」(?) • 「このテクノロジーは今後重要になることがリサーチ会社からのレポート にも上がっているから」 (正しい場合は、Outlineなどを読んで判断、うそなら...) -
提出 • 問題ない状態で提出するのが基本 • 一応締め切りまでは、何度でも書き直しできる(ことになっている) • アップデートもできるし、適切な表現に修正もできる • もちろん取り下げ (withdraw)
もできる • (Conferenceによっては) 先着順で選定作業に入る場合がある • 過去のJavaOne、CodeOne(来年のJavaOneはわからん) -
Create your own super simple JIT Compiler with JVMCI Koichi
Sakata // Oracle CodeOne 2018 (original) JVMCI means "JVM compiler interface". We can use JVMCI's interfaces to write a JIT compiler in Java. Such compiler already exists, called Graal. Graal was introduced in Java 10. But I tried to write my own super simple JIT compiler for learning purpose. JVM passes byte array of hot method to the interface. So we need to translate that into Java bytecodes. After that we make machine code from Java bytecodes. Machine code is cpu-specific, so I made machine code only for Intel 64 bit CPU. There are so many optimization techniques, so I used only a few techniques. In this session I will talk about what a JIT compiler is, specification of JVMCI interfaces, how to write implementations and how to run an application with your own compiler. -
Create your own super simple JIT Compiler with JVMCI Koichi
Sakata // Oracle CodeOne 2018 (modified) JVMCI stands for "JVM Compiler Interface". We can use JVMCI to write a JIT compiler in Java, an example of which is Graal, which was introduced in Java 10. In my talk I will share my experiences writing a super-simple JIT compiler. JVM passes byte array of hot method to the interface. So we need to translate that into Java bytecodes. After that we make machine code from Java bytecodes. Machine code is cpu-specific, so I made machine code only for Intel 64 bit CPU. There are so many optimization techniques, so I used only a few techniques. In this session I will talk about what a JIT compiler is, specification of JVMCI interfaces, how to write implementations and how to run an application with your own compiler. -
どこがよくなった? • 実は記載内容に違いはほとんどない • 読みやすく、わかりやすく • 平易な英語 • 段落分け •
トークのモチベーション、スコープ • Originalは少々見えづらい • 修正後はわかりやすくなった -
“No collector” approach to monitor GraalVM Native Image applications Akihiro
Nishikawa // JavaZone 2024 This session will demonstrate how to collect signals from GraalVM Native Image applications with OpenTelemetry in a "no collector" approach, providing valuable insights for those seeking to optimise their data collection processes. Furthermore, I will share insights and benefits on the technical aspects, based on my experience of supporting several customers in real-world scenarios. GraalVM Native Image is an excellent technology for reducing the time taken to start up, the potential for attack and the amount of memory required by Java applications, offering significant benefits to customers. From an observability standpoint, however, the typical monitoring agent is not the optimal choice for native image applications, as they do not require a standard JVM to run. To address this challenge, the "no collector" approach is emerging as the preferred solution for Java-based microservices, including GraalVM Native Image. This approach is gradually being supported by various observability solutions and development frameworks. Attendees will gain the knowledge to effectively use the no-collector approach for monitoring GraalVM Native Image applications. -
ポイント • 聞き手が知りたいことをまとめる • なぜこのトークなのか(課題提起、モチベーション) • 伝えたいこと(話の主題) • セッション参加後に聴講者が得られること(持ち帰ることができるもの) •
Outline • Agendaを明記 • Elevator pitch • なぜ自分がSpeakerでなければならないのか、過去のトークの評価などを記載 -
採択されなさそうな例 Javaのパフォーマンス神話を検証する! Javaのパフォーマンスは本当に優れているのでしょうか?このセッションでは、Javaのパフォー マンスに関する一般的な神話を検証し、実際のパフォーマンスチューニングテクニックを紹 介します。『Javaのパフォーマンス神話を検証する!』というキャッチフレーズを掲げ、具体 的なコード例を交えながら、パフォーマンス向上のためのベストプラクティスを学びます。参 加者には、Javaアプリケーションのパフォーマンスを最適化するための最新ツールとテクニッ クを提供します。 神話って何? 「実際の」とは?
煽ってるけど だいじょうぶ? 45分ですべてのベストプラクティスを説明できるの? ベストプラクティスって条件付きじゃないの? すべての条件下で有効なの? 提供?売り込み? どの観点のパフォーマンス? -
全体として • わかりづらい • Speakerの課題感、登壇理由(モチベーション) • トークの主題(パフォーマンスには様々な観点があるはず) • 商売っ気が見える •
売り込み?Sponsor sessionなの? • 煽り気味 • そんな神話ありましたっけ? -
ネタについて 自分しか話せない内容だとbetter • Qiitaの「やってみた」レベルでは... • 「LLMでRAGを構成してみた」ってトークをtech conferenceで聞きたいですか? • 隙間を攻めると採択の可能性は上がるが、加減と需要次第 •
最近だとAIは食傷気味(人気ありますけど) • Springなどの開発フレームワーク、Core Javaの最新情報に関する話をす る場合、本家[*]の人が類似のセッションを実施していたらどうする? [*] Spring BootだったらSpring Projectの人たち、JavaだったらOracle Java Platform Group の人たち、その他オープンソースだったらCommitterの人たち、など。 -
マサカリ飛んでくるの怖いんです... • 可能性は大いにあるが、気にしてはいけない • 胸を張って発表する • 採択されたということは、「あなたの視点・課題感が聞き手にとって有益だろう」「興 味深いテーマ」と判断されたから • 十分に準備
• “楽観的に構想し、悲観的に計画し、楽観的に実行する” • マサカリ飛んできたら謙虚に学べばいい -
Genderで採択の有利不利はありますか? • ない。トークの内容次第 • この業界は男性が多いので、女性だと採択されやすいように見える可能性はある • 最近は女性のadvocateが増えており、露出が増えているのは確か • Lize Raes
(Naboo、LangChain4Jの人) • Alina Yurenko (Oracle、GraalVMの人) • Ana Maria Mihalceanu (Oracle、EUのJava Advocate) • Holly Cummins (Red Hat) • Grace Jansen (IBM) • Sandra Ahlgrimm (Microsoft) ... -
著名人なら採択されやすいんじゃないの? • トーク内容次第 • Java Championだからといって採択されるとは限らない • ただ、採択されやすい傾向はある(Conference次第) • Organizerが登壇を期待している著名人であれば、余計に採択されやすい
(そういう人は大抵スポンサーだったりする) • 前回の登壇で良好なフィードバックがあった場合や過去の登壇で実績がわかってい る場合、採択されやすい -
スポンサーセッションなら問題ないですよね • 「参加者にとって有意義な内容を提供してくれそう」と判断できる情報を 提示できなければ、参加者から選択されない可能性が高い • 「Speakerが著名人だから大丈夫ですよ」 • あ、そうですか • でも、それで期待とのギャップが出たとき、どうするんですか?
• 良いフィードバックがないかもしれませんよ(フィードバック0件の可能性も) -
海外登壇時の注意点 • 音節 (Syllable) と強勢 (Stress) に注意 • クセつよな英語でも文句が出ないのは、聞き手がその英語を理解できるから •
「自分は俳優だ、演技しているのだ!」ぐらいのつもりで • ネイティブっぽく話さなくてもよい • ゆっくりでもいい • Monotoneにならないよう、口先だけで話さない • 抑揚大きく -
まとめ • 採択者、参加者に選んでもらうために書く • 話したいことだけ書かない • 聴講した結果、聞き手にどういう状態になってほしいか、何を持ち帰ることができる のか、を明確に書く • 良好なフィードバックがあれば、次回の採択のハードルが下がる可能性
• もし海外Conferenceに提出する場合は • 書き方や書くべき内容は決まっている • Typoや文法、表現の間違いはそれだけで採択されなくなるので注意 (Grammary、DeepL、etc.)