SlideShare une entreprise Scribd logo
1  sur  25
Télécharger pour lire hors ligne
History of Japanese Ruby reference
manual, and future
Kazuhiro NISHIYAMA
株式会社Ruby開発
RubyKaigi 2022
2022-09-10
Powered by Rabbit 3.0.1
self.introduction
Kazuhiro NISHIYAMA
One of Ruby committers
One of owners of https://github.com/rurema
Today’s topic
Ruby Development Inc.
one of Silver Sponsors
jimlock (one of TRICK 2022 winner) is my coworker
Twitter, GitHub: @znz
1/24
Agenda
What is rurema?
History of Japanese Ruby reference manual
Before rurema
Recent changes
Future plans
Short term plans
Medium term plans
Long term plans
2/24
What is rurema (るりま)?
Japanese Ruby reference manual
Rubyリファレンスマニュアル刷新計画
https://github.com/rurema
rurema/doctree
documents
rurema/bitclust
original system
3/24
るりま != るびま
Rubyist Magazine
https://magazine.rubyist.net/
https://github.com/rubima
a similar name, but not related
in FAQ (rubima exist since that time)
Q. るびま、って「ネギま!」のぱくりですか?
A. 違います。多分。「るびま」を考えた人たちは「ネギま!」
を知りませんでした (または、言われるまで気付かなかった)。
4/24
Before rurema
Before Ruby 1.4.6
https://ftp.ruby-lang.org/pub/ruby/doc/
Documents written in RD
English: ruby-man-1.4.6.tar.gz
Japanese: ruby-man-1.4.6-jp.tar.gz
(HTML files encoding is iso-2022-jp)
Ruby 1.6 to 1.8 era
Edit documents on RWiki
RWiki is a Wiki using RD + some extensions
5/24
Starting rurema
In Ruby 1.8 era
Started rurema (Rubyリファレンスマニュアル刷新計画)
bitclust supports RD based original syntax
bitclust does not use RDtool (https://rubygems.org/gems/rdtool)
Import documents from RWiki
6/24
License of documents
License exists in the edit form of RWiki with
license can be changed if there is an agreement on ML (rubyist ML on
freeml. it already removed, and freeml service ended)
License changed to Creative Commons — Attribution 3.0
Unported
https://github.com/rurema/doctree/blob/master/refm/doc/
license.rd
7/24
System improvements in bitclust era
Convert documents from EUC-JP to UTF-8
Support code colorize (#@samplecode)
#@ is prefix of pre-processors
Output as chm, ePub too
may not work now
if it does not work, contribution chance!
default: static html (used on docs.ruby-lang.org)
8/24
Project current status
Documentation improvement sub-projects
Support new versions of Ruby
https://rurema-review.connpass.com/
9/24
Documentation improvement sub-
projects
Add executable sample codes
https://github.com/rurema/doctree/issues/433
コピペ可能なサンプルコードを整備する
Colorize sample codes
→ stalled (maybe almost done?)
10/24
Support new versions of Ruby
Well supported
Method changes (new, changed arguments or functionality, removed)
Insufficient supported
Syntax changes (pattern match, &., …)
Changes are not clear where to write
11/24
rurema-review
https://rurema-review.connpass.com/
every Tuesday night
るりまレビュー会 → るりまもくもく会
after 鹿児島Ruby会議01
Many pull requests merged
→ inactive
12/24
Help wanted
Help wanted to check current statuses
Coordinator is also wanted
Contact us on GitHub issues or #rurema channel of ruby-jp slack
https://github.com/rurema/doctree/issues
https://ruby-jp.github.io/
13/24
Future plans
Short term plans
Medium term plans
Long term plans
14/24
RD based → Markdown based
Most important biggest short term plan
Markdown is more familiar for many users
It makes more contributions
I am investigating how to convert from current syntax
15/24
Current syntax
#@ lines are bitclust pre-processors
--- line is MethodList of RD
#@since 3.1
--- intersect?(other) -> bool
other と共通の要素が少なくとも1個あれば true を、なければ false を返します。
#@samplecode 例
a = [ 1, 2, 3 ]
b = [ 3, 4, 5 ] 16/24
Convert pre-processors
Version branching, include, …
I care about
Editors support what extensions
Do not break Markdown processor which does not support extensions (e.g.
GitHub.com)
17/24
MethodList
What is alternative of MethodList
Current syntax is based on def m(args)
Blocks have notation fluctuations
{|x| ... }, {|x| block }, or &block
Return types are not used effectively
18/24
Other syntax
#@samplecode → code block
links and references → ? (thinking)
link from [[ref:m17n_prog]] to ===[a:m17n_prog] M17N プログラミングの
基本 in the same file
link from [[ref:c:GC#tuning_gc]] to ====[a:tuning_gc] チューニングのた
めの環境変数 in the other file
19/24
Other short term plans and problems
Clean up unused files, old files
ChangeLog, setup.rb, …
Not sure if tools are still usable
Lack of usage documentation
This is most important for contributors
Reproducible build
in container? devcontainer?
20/24
Medium term plans with other
software
Cooperation with RBS
e.g. Check signatures
Cooperation with IRB
Support to show rurema instead of rdoc
21/24
Medium term plans for documents
Executable sample code using WASM
hanachin already tried https://github.com/hanachin/bitclust/commit/
1ae60bfabd09c0d241e6966a6800e27a797ce175 and will discuss at https://
github.com/rurema/doctree/issues/2730
Clean up unbundled libraries and old documents
Some documents moved to https://github.com/rurema/historical-documents
22/24
Long term plans
I18n support
Hard to merge rdoc, so rurema will continue separately
gettext based?
or something else based?
It should be based on English, so unlikely to come true
23/24
end
Short term most important plans to increase contributions
RD based → Markdown based
Improve usage documentation
Middle term plans: Improve for users
Resolve many historical problems progressively
Contribution welcome!
Contact us on GitHub or #rurema channel of ruby-jp slack
24/24
Powered by Rabbit 3.0.1

Contenu connexe

Similaire à rubykaigi2022-rurema-history-and-future.pdf

Ractor's speed is not light-speed
Ractor's speed is not light-speedRactor's speed is not light-speed
Ractor's speed is not light-speedSATOSHI TAGOMORI
 
The story of language development
The story of language developmentThe story of language development
The story of language developmentHiroshi SHIBATA
 
Best practices for DuraMat software dissemination
Best practices for DuraMat software disseminationBest practices for DuraMat software dissemination
Best practices for DuraMat software disseminationAnubhav Jain
 
Workflows using Git GitHub | Edureka
Workflows using Git GitHub | EdurekaWorkflows using Git GitHub | Edureka
Workflows using Git GitHub | EdurekaEdureka!
 
Lightweight APIs in mRuby (Михаил Бортник)
Lightweight APIs in mRuby (Михаил Бортник)Lightweight APIs in mRuby (Михаил Бортник)
Lightweight APIs in mRuby (Михаил Бортник)Fwdays
 
Lightweight APIs in mRuby
Lightweight APIs in mRubyLightweight APIs in mRuby
Lightweight APIs in mRubyPivorak MeetUp
 
P4 P Update January 2009
P4 P Update January 2009P4 P Update January 2009
P4 P Update January 2009vsainteluce
 
Getting Started with ROS.pptx
Getting Started with ROS.pptxGetting Started with ROS.pptx
Getting Started with ROS.pptxRavi Joshi
 
Data Analysis and Visualization: R Workflow
Data Analysis and Visualization: R WorkflowData Analysis and Visualization: R Workflow
Data Analysis and Visualization: R WorkflowOlga Scrivner
 
Best practices for DuraMat software dissemination
Best practices for DuraMat software disseminationBest practices for DuraMat software dissemination
Best practices for DuraMat software disseminationAnubhav Jain
 
Git Educated About Git - 20 Essential Commands
Git Educated About Git - 20 Essential CommandsGit Educated About Git - 20 Essential Commands
Git Educated About Git - 20 Essential CommandsJeremy Lindblom
 
Open Source Community Metrics: LinuxCon Barcelona
Open Source Community Metrics: LinuxCon BarcelonaOpen Source Community Metrics: LinuxCon Barcelona
Open Source Community Metrics: LinuxCon BarcelonaDawn Foster
 
Roadmap for RubyGems 4 and Bundler 3
Roadmap for RubyGems 4 and Bundler 3Roadmap for RubyGems 4 and Bundler 3
Roadmap for RubyGems 4 and Bundler 3Hiroshi SHIBATA
 

Similaire à rubykaigi2022-rurema-history-and-future.pdf (20)

Ractor's speed is not light-speed
Ractor's speed is not light-speedRactor's speed is not light-speed
Ractor's speed is not light-speed
 
Final Algos
Final AlgosFinal Algos
Final Algos
 
Mono Repo
Mono RepoMono Repo
Mono Repo
 
Rust meetup delhi nov 18
Rust meetup delhi nov 18Rust meetup delhi nov 18
Rust meetup delhi nov 18
 
The story of language development
The story of language developmentThe story of language development
The story of language development
 
Best practices for DuraMat software dissemination
Best practices for DuraMat software disseminationBest practices for DuraMat software dissemination
Best practices for DuraMat software dissemination
 
Workflows using Git GitHub | Edureka
Workflows using Git GitHub | EdurekaWorkflows using Git GitHub | Edureka
Workflows using Git GitHub | Edureka
 
Lightweight APIs in mRuby (Михаил Бортник)
Lightweight APIs in mRuby (Михаил Бортник)Lightweight APIs in mRuby (Михаил Бортник)
Lightweight APIs in mRuby (Михаил Бортник)
 
Lightweight APIs in mRuby
Lightweight APIs in mRubyLightweight APIs in mRuby
Lightweight APIs in mRuby
 
P4 P Update January 2009
P4 P Update January 2009P4 P Update January 2009
P4 P Update January 2009
 
Ebay News 2000 10 19 Earnings
Ebay News 2000 10 19 EarningsEbay News 2000 10 19 Earnings
Ebay News 2000 10 19 Earnings
 
Ebay News 2001 4 19 Earnings
Ebay News 2001 4 19 EarningsEbay News 2001 4 19 Earnings
Ebay News 2001 4 19 Earnings
 
Getting Started with ROS.pptx
Getting Started with ROS.pptxGetting Started with ROS.pptx
Getting Started with ROS.pptx
 
Data Analysis and Visualization: R Workflow
Data Analysis and Visualization: R WorkflowData Analysis and Visualization: R Workflow
Data Analysis and Visualization: R Workflow
 
Best practices for DuraMat software dissemination
Best practices for DuraMat software disseminationBest practices for DuraMat software dissemination
Best practices for DuraMat software dissemination
 
Design Pattern Automation
Design Pattern AutomationDesign Pattern Automation
Design Pattern Automation
 
Git Educated About Git - 20 Essential Commands
Git Educated About Git - 20 Essential CommandsGit Educated About Git - 20 Essential Commands
Git Educated About Git - 20 Essential Commands
 
Open Source Community Metrics: LinuxCon Barcelona
Open Source Community Metrics: LinuxCon BarcelonaOpen Source Community Metrics: LinuxCon Barcelona
Open Source Community Metrics: LinuxCon Barcelona
 
Go at Skroutz
Go at SkroutzGo at Skroutz
Go at Skroutz
 
Roadmap for RubyGems 4 and Bundler 3
Roadmap for RubyGems 4 and Bundler 3Roadmap for RubyGems 4 and Bundler 3
Roadmap for RubyGems 4 and Bundler 3
 

Plus de Kazuhiro Nishiyama

Ubuntuのriscv64版をqemuで動かした at LILO&東海道らぐオフラインミーティング 2024-04-27
Ubuntuのriscv64版をqemuで動かした at LILO&東海道らぐオフラインミーティング 2024-04-27Ubuntuのriscv64版をqemuで動かした at LILO&東海道らぐオフラインミーティング 2024-04-27
Ubuntuのriscv64版をqemuで動かした at LILO&東海道らぐオフラインミーティング 2024-04-27Kazuhiro Nishiyama
 
lilo.linux.or.jp を buster から bullseye に上げた
lilo.linux.or.jp を buster から bullseye に上げたlilo.linux.or.jp を buster から bullseye に上げた
lilo.linux.or.jp を buster から bullseye に上げたKazuhiro Nishiyama
 
小規模個人アプリをRails 7.xにバージョンアップした話
小規模個人アプリをRails 7.xにバージョンアップした話小規模個人アプリをRails 7.xにバージョンアップした話
小規模個人アプリをRails 7.xにバージョンアップした話Kazuhiro Nishiyama
 
Ruby リファレンスマニュアル改善計画 2022 進捗報告
Ruby リファレンスマニュアル改善計画 2022 進捗報告Ruby リファレンスマニュアル改善計画 2022 進捗報告
Ruby リファレンスマニュアル改善計画 2022 進捗報告Kazuhiro Nishiyama
 
fukuoka03-rubima-reboot-rubyist-magazine-reboot.pdf
fukuoka03-rubima-reboot-rubyist-magazine-reboot.pdffukuoka03-rubima-reboot-rubyist-magazine-reboot.pdf
fukuoka03-rubima-reboot-rubyist-magazine-reboot.pdfKazuhiro Nishiyama
 
qemuのriscv64にDebianを入れてみた
qemuのriscv64にDebianを入れてみたqemuのriscv64にDebianを入れてみた
qemuのriscv64にDebianを入れてみたKazuhiro Nishiyama
 
workflow,job,step の使い分けの基準を考える
workflow,job,step の使い分けの基準を考えるworkflow,job,step の使い分けの基準を考える
workflow,job,step の使い分けの基準を考えるKazuhiro Nishiyama
 
あまり知られていないRubyの便利機能
あまり知られていないRubyの便利機能あまり知られていないRubyの便利機能
あまり知られていないRubyの便利機能Kazuhiro Nishiyama
 
Dockerのオフィシャルrubyイメージとは?
Dockerのオフィシャルrubyイメージとは?Dockerのオフィシャルrubyイメージとは?
Dockerのオフィシャルrubyイメージとは?Kazuhiro Nishiyama
 
チャットボットのススメ
チャットボットのススメチャットボットのススメ
チャットボットのススメKazuhiro Nishiyama
 
Action Cableで簡易チャットを作ってみた
Action Cableで簡易チャットを作ってみたAction Cableで簡易チャットを作ってみた
Action Cableで簡易チャットを作ってみたKazuhiro Nishiyama
 
最近のrubyのインストール方法
最近のrubyのインストール方法最近のrubyのインストール方法
最近のrubyのインストール方法Kazuhiro Nishiyama
 

Plus de Kazuhiro Nishiyama (20)

Ubuntuのriscv64版をqemuで動かした at LILO&東海道らぐオフラインミーティング 2024-04-27
Ubuntuのriscv64版をqemuで動かした at LILO&東海道らぐオフラインミーティング 2024-04-27Ubuntuのriscv64版をqemuで動かした at LILO&東海道らぐオフラインミーティング 2024-04-27
Ubuntuのriscv64版をqemuで動かした at LILO&東海道らぐオフラインミーティング 2024-04-27
 
lilo.linux.or.jp を buster から bullseye に上げた
lilo.linux.or.jp を buster から bullseye に上げたlilo.linux.or.jp を buster から bullseye に上げた
lilo.linux.or.jp を buster から bullseye に上げた
 
小規模個人アプリをRails 7.xにバージョンアップした話
小規模個人アプリをRails 7.xにバージョンアップした話小規模個人アプリをRails 7.xにバージョンアップした話
小規模個人アプリをRails 7.xにバージョンアップした話
 
Ruby リファレンスマニュアル改善計画 2022 進捗報告
Ruby リファレンスマニュアル改善計画 2022 進捗報告Ruby リファレンスマニュアル改善計画 2022 進捗報告
Ruby リファレンスマニュアル改善計画 2022 進捗報告
 
fukuoka03-rubima-reboot-rubyist-magazine-reboot.pdf
fukuoka03-rubima-reboot-rubyist-magazine-reboot.pdffukuoka03-rubima-reboot-rubyist-magazine-reboot.pdf
fukuoka03-rubima-reboot-rubyist-magazine-reboot.pdf
 
qemuのriscv64にDebianを入れてみた
qemuのriscv64にDebianを入れてみたqemuのriscv64にDebianを入れてみた
qemuのriscv64にDebianを入れてみた
 
systemd 再入門
systemd 再入門systemd 再入門
systemd 再入門
 
Ruby 3.0.0 コネタ集
Ruby 3.0.0 コネタ集Ruby 3.0.0 コネタ集
Ruby 3.0.0 コネタ集
 
livedoor天気API終了対応
livedoor天気API終了対応livedoor天気API終了対応
livedoor天気API終了対応
 
Wireguard 実践入門
Wireguard 実践入門Wireguard 実践入門
Wireguard 実践入門
 
workflow,job,step の使い分けの基準を考える
workflow,job,step の使い分けの基準を考えるworkflow,job,step の使い分けの基準を考える
workflow,job,step の使い分けの基準を考える
 
あまり知られていないRubyの便利機能
あまり知られていないRubyの便利機能あまり知られていないRubyの便利機能
あまり知られていないRubyの便利機能
 
Dockerのオフィシャルrubyイメージとは?
Dockerのオフィシャルrubyイメージとは?Dockerのオフィシャルrubyイメージとは?
Dockerのオフィシャルrubyイメージとは?
 
チャットボットのススメ
チャットボットのススメチャットボットのススメ
チャットボットのススメ
 
Dokku の紹介
Dokku の紹介Dokku の紹介
Dokku の紹介
 
Action Cableで簡易チャットを作ってみた
Action Cableで簡易チャットを作ってみたAction Cableで簡易チャットを作ってみた
Action Cableで簡易チャットを作ってみた
 
Ruby svn to git
Ruby svn to gitRuby svn to git
Ruby svn to git
 
Ruby 2.6 Update
Ruby 2.6 UpdateRuby 2.6 Update
Ruby 2.6 Update
 
最近のrubyのインストール方法
最近のrubyのインストール方法最近のrubyのインストール方法
最近のrubyのインストール方法
 
Language update 2018 - ruby
Language update 2018 - rubyLanguage update 2018 - ruby
Language update 2018 - ruby
 

Dernier

Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 

Dernier (20)

Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 

rubykaigi2022-rurema-history-and-future.pdf

  • 1. History of Japanese Ruby reference manual, and future Kazuhiro NISHIYAMA 株式会社Ruby開発 RubyKaigi 2022 2022-09-10 Powered by Rabbit 3.0.1
  • 2. self.introduction Kazuhiro NISHIYAMA One of Ruby committers One of owners of https://github.com/rurema Today’s topic Ruby Development Inc. one of Silver Sponsors jimlock (one of TRICK 2022 winner) is my coworker Twitter, GitHub: @znz 1/24
  • 3. Agenda What is rurema? History of Japanese Ruby reference manual Before rurema Recent changes Future plans Short term plans Medium term plans Long term plans 2/24
  • 4. What is rurema (るりま)? Japanese Ruby reference manual Rubyリファレンスマニュアル刷新計画 https://github.com/rurema rurema/doctree documents rurema/bitclust original system 3/24
  • 5. るりま != るびま Rubyist Magazine https://magazine.rubyist.net/ https://github.com/rubima a similar name, but not related in FAQ (rubima exist since that time) Q. るびま、って「ネギま!」のぱくりですか? A. 違います。多分。「るびま」を考えた人たちは「ネギま!」 を知りませんでした (または、言われるまで気付かなかった)。 4/24
  • 6. Before rurema Before Ruby 1.4.6 https://ftp.ruby-lang.org/pub/ruby/doc/ Documents written in RD English: ruby-man-1.4.6.tar.gz Japanese: ruby-man-1.4.6-jp.tar.gz (HTML files encoding is iso-2022-jp) Ruby 1.6 to 1.8 era Edit documents on RWiki RWiki is a Wiki using RD + some extensions 5/24
  • 7. Starting rurema In Ruby 1.8 era Started rurema (Rubyリファレンスマニュアル刷新計画) bitclust supports RD based original syntax bitclust does not use RDtool (https://rubygems.org/gems/rdtool) Import documents from RWiki 6/24
  • 8. License of documents License exists in the edit form of RWiki with license can be changed if there is an agreement on ML (rubyist ML on freeml. it already removed, and freeml service ended) License changed to Creative Commons — Attribution 3.0 Unported https://github.com/rurema/doctree/blob/master/refm/doc/ license.rd 7/24
  • 9. System improvements in bitclust era Convert documents from EUC-JP to UTF-8 Support code colorize (#@samplecode) #@ is prefix of pre-processors Output as chm, ePub too may not work now if it does not work, contribution chance! default: static html (used on docs.ruby-lang.org) 8/24
  • 10. Project current status Documentation improvement sub-projects Support new versions of Ruby https://rurema-review.connpass.com/ 9/24
  • 11. Documentation improvement sub- projects Add executable sample codes https://github.com/rurema/doctree/issues/433 コピペ可能なサンプルコードを整備する Colorize sample codes → stalled (maybe almost done?) 10/24
  • 12. Support new versions of Ruby Well supported Method changes (new, changed arguments or functionality, removed) Insufficient supported Syntax changes (pattern match, &., …) Changes are not clear where to write 11/24
  • 13. rurema-review https://rurema-review.connpass.com/ every Tuesday night るりまレビュー会 → るりまもくもく会 after 鹿児島Ruby会議01 Many pull requests merged → inactive 12/24
  • 14. Help wanted Help wanted to check current statuses Coordinator is also wanted Contact us on GitHub issues or #rurema channel of ruby-jp slack https://github.com/rurema/doctree/issues https://ruby-jp.github.io/ 13/24
  • 15. Future plans Short term plans Medium term plans Long term plans 14/24
  • 16. RD based → Markdown based Most important biggest short term plan Markdown is more familiar for many users It makes more contributions I am investigating how to convert from current syntax 15/24
  • 17. Current syntax #@ lines are bitclust pre-processors --- line is MethodList of RD #@since 3.1 --- intersect?(other) -> bool other と共通の要素が少なくとも1個あれば true を、なければ false を返します。 #@samplecode 例 a = [ 1, 2, 3 ] b = [ 3, 4, 5 ] 16/24
  • 18. Convert pre-processors Version branching, include, … I care about Editors support what extensions Do not break Markdown processor which does not support extensions (e.g. GitHub.com) 17/24
  • 19. MethodList What is alternative of MethodList Current syntax is based on def m(args) Blocks have notation fluctuations {|x| ... }, {|x| block }, or &block Return types are not used effectively 18/24
  • 20. Other syntax #@samplecode → code block links and references → ? (thinking) link from [[ref:m17n_prog]] to ===[a:m17n_prog] M17N プログラミングの 基本 in the same file link from [[ref:c:GC#tuning_gc]] to ====[a:tuning_gc] チューニングのた めの環境変数 in the other file 19/24
  • 21. Other short term plans and problems Clean up unused files, old files ChangeLog, setup.rb, … Not sure if tools are still usable Lack of usage documentation This is most important for contributors Reproducible build in container? devcontainer? 20/24
  • 22. Medium term plans with other software Cooperation with RBS e.g. Check signatures Cooperation with IRB Support to show rurema instead of rdoc 21/24
  • 23. Medium term plans for documents Executable sample code using WASM hanachin already tried https://github.com/hanachin/bitclust/commit/ 1ae60bfabd09c0d241e6966a6800e27a797ce175 and will discuss at https:// github.com/rurema/doctree/issues/2730 Clean up unbundled libraries and old documents Some documents moved to https://github.com/rurema/historical-documents 22/24
  • 24. Long term plans I18n support Hard to merge rdoc, so rurema will continue separately gettext based? or something else based? It should be based on English, so unlikely to come true 23/24
  • 25. end Short term most important plans to increase contributions RD based → Markdown based Improve usage documentation Middle term plans: Improve for users Resolve many historical problems progressively Contribution welcome! Contact us on GitHub or #rurema channel of ruby-jp slack 24/24 Powered by Rabbit 3.0.1