SlideShare a Scribd company logo
Raspberry Piで日本の子供たちに

プログラミングのパッションを
伝えよう!
Let’s use Raspberry Pi

to share our passion of programming

with kids of Japan!
September 21-22, 2016
Antoine Choppin
@japonophile
ショパン アントワン
the World
世界
the story of a kid

who discovered programming...
Let's use Raspberry Pi to share our passion of programming with kids of Japan
Let's use Raspberry Pi to share our passion of programming with kids of Japan
Let's use Raspberry Pi to share our passion of programming with kids of Japan
a little about me
@japonophile
japonophile
from: Belgium, living in Japan
work: software engineer in Healthcare
hobby: neural nets, robots …
langs: (Java / C#), Clojure, Python, JS …
kids: 2 daughters (ES 5th and 2nd grade)
Antoine Choppin
agenda
Recipe to share our passion of programming with kids
Small
Fun
Story
Language
Friends
Steve
Jobs
Eben Upton
Let's use Raspberry Pi to share our passion of programming with kids of Japan
Small
Alex Klein
Let's use Raspberry Pi to share our passion of programming with kids of Japan
Let's use Raspberry Pi to share our passion of programming with kids of Japan
Small
Fun
Computer kit

OS

Apps & Games

Community
Kano
Kano OS
Make Minecraft
Terminal Quest
Make Art
Let's use Raspberry Pi to share our passion of programming with kids of Japan
Community

Enjoy programming with friends
Small
Story
Fun
Bonjour, comment va?
Apprenons a programmer
Connaissez-vous Kano?
Je m’appelle Jean
Que voudrais-tu fabriquer?
Jouons a un jeu!
Je vais te raconter une histoire
Translate Kano Apps
What is i18n?
= internationalization
modify a program to make it
possible to support other languages
l11n = localization
add support for a foreign language to a program
translation + ...
gettext intro
...
print _(“Hello, my name is Kano”)
...
Program: myapp-main.py
...
src/myapp-main.py
...
PYPOTFILES: List of files
to be processed by xgettext
#: src/myapp-main.py:36
msgid "Hello, my name is Kano"
msgstr ""
Translation template: messages.pot
#: src/myapp-main.py:36
msgid "Hello, my name is Kano"
msgstr "こんにちは、Kanoと言います。"
Japanese translation: ja.po
#: src/myapp-main.py:36
msgid "Hello, my name is Kano"
msgstr "Bonjour, je m’appelle Kano"
French translation: fr.po
00111010011011110101000100001010111
01000101001010101000101011101010111
01001010100100010101001000101010111
locales/ja/LC_MESSAGES/myapp.mo
00001010111010001010010101010001010
11101010111010010101110011101001101
11101010001010101001000101010010001
locales/fr/LC_MESSAGES/myapp.mo
i18n tips
● Use .format instead of %s, %d
● Use named params instead of

positional params:
_(“Today is {} {}”)
_(“Today is {month} {day}”)
● Write comments for the translators
● Do not split sentences:
_(“this is a “) + car.color + _(“car”)
_(“this is a {color} car”).format(color=car.color)
● Avoid including HTML in strings:
_(“<em>Welcome!</em>”)
u”<em>” + _(“Welcome!”) + u”</em>”
https://www.youtube.com/watch?v=UOOMFGURr5I
Overview of Terminal Quest
StoryBook Terminal
Terminal.py
challenge1.py
challenge2.py
ASCII
art
socket transm
ission
I18n of Terminal Quest
● Mark UI visible strings
● Update format (parameters etc)
● Copy ASCII art folder for each language
● Typewriter
○ Fix width computation (for wide characters)
○ Fix word-wrapping algorithm (for lg with no space)
● Adjust buffer size (for multi-byte strings)
Internationalisation is not just translation!
I18n of Terminal Quest
I18n of Make Light
● Python UI using gtk
● Content (challenges) in JSON format
How to switch Kano (RPi)

to Japanese
$ sudo dpkg-reconfigure locales
en_GB.UTF-8 UTF-8
ja_JP.EUC-JP EUC-JP
* ja_JP.UTF-8 UTF-8
$ apt-get install ttf-kochi-gothic xfonts-intl-
japanese xfonts-intl-japanese-big xfonts-kaname
Demo
Kano i18n status
   i18n done    PR merged
terminal-quest ⃝ ⃝
make-art ⃝ ⃝
make-snake ⃝ ⃝
make-light ⃝ ×
make-adventure × ×
make-minecraft × ×
kano-profile ⃝ ×
kano-settings △ ×
kano-updater ⃝ ⃝
kano-vnc ⃝ ⃝
kano-apps ⃝ ⃝
kano-greeter ⃝ ⃝
Open issues for Japanese
support in Kano
• IME (support Japanese input)
• i18n support for apps not (yet) open source
• Translation timing vs release timing
• Translation of community site
Small
Language
Story
Fun
Ready for

Beta Testing!
“Penguin”

Programming Club
- For elementary school kids, parents welcome
- One Saturday morning every month
- Make programs (games etc) with our friends
- Use Kano or bring you own PC
- Mostly block-based language (like Scratch)
Let's use Raspberry Pi to share our passion of programming with kids of Japan
Let's use Raspberry Pi to share our passion of programming with kids of Japan
Let's use Raspberry Pi to share our passion of programming with kids of Japan
Topics
blocks vs code
Kano vs own PC
assignment vs free
learn from teacher vs friends
logic/math vs creativity
Small
Friends
Language
Story
Fun
Let’s share our passion of
programming with kids
Summary
- Raspberry Pi is a great platform to learn programming
- It is more fun to learn with friends
- Let’s go beyond frontiers and i18nalize our apps
- Let’s contribute to Open Source
Bonus
Questions?
Fin
https://www.raspberrypi.org/
https://kano.me/
https://github.com/KanoComputing

https://www.gnu.org/software/gettext/

https://art.kano.me

https://chopp.in/penguin/

More Related Content

ODP
Python Games
FahadAlH
 
PPTX
Raspberry pi Part 3
Techvilla
 
PDF
CS101-INTRODUCTION TO COMPUTER SCIENCE I
dboyko1971
 
PDF
62005883 289 3
Ivaniko Perezito
 
DOCX
Shankar
Shankar P
 
PDF
TRANSKIP NILAI REAL
Lucky Lucky
 
DOCX
Nijin Resume-2016
Nijin Gopinadh
 
DOC
Rohit_resume_cc (1)
Rohit sharma
 
Python Games
FahadAlH
 
Raspberry pi Part 3
Techvilla
 
CS101-INTRODUCTION TO COMPUTER SCIENCE I
dboyko1971
 
62005883 289 3
Ivaniko Perezito
 
Shankar
Shankar P
 
TRANSKIP NILAI REAL
Lucky Lucky
 
Nijin Resume-2016
Nijin Gopinadh
 
Rohit_resume_cc (1)
Rohit sharma
 

Viewers also liked (8)

PDF
A Neuroscientific View of the Effect of Vestibular Dysfunction on Bodily Self...
Nathan Dugan, PT, DPT, COQS
 
PPTX
Rotationplasty
Nathan Dugan, PT, DPT, COQS
 
PPTX
Demand analysis group presentation
akshth
 
PPT
Acupuntura dr. sandy cadena
SANDY cadena
 
PDF
Vestibular rehabilitation susan o'sullivan
Humaira Khan
 
PPTX
Mensurando os lucros
Felipe Pontes
 
PPTX
JSUMC Inservice
Steven Ferro
 
PPTX
3.7 Creating LGBT safe spaces and LGBT allies
Solent Learning and Teaching Institute
 
A Neuroscientific View of the Effect of Vestibular Dysfunction on Bodily Self...
Nathan Dugan, PT, DPT, COQS
 
Demand analysis group presentation
akshth
 
Acupuntura dr. sandy cadena
SANDY cadena
 
Vestibular rehabilitation susan o'sullivan
Humaira Khan
 
Mensurando os lucros
Felipe Pontes
 
JSUMC Inservice
Steven Ferro
 
3.7 Creating LGBT safe spaces and LGBT allies
Solent Learning and Teaching Institute
 
Ad

Similar to Let's use Raspberry Pi to share our passion of programming with kids of Japan (20)

PDF
Project list
Violet Armendariz
 
PPT
Python @ PiTech - March 2009
tudorprodan
 
PPT
project on snake game in c language
Ashutosh Kumar
 
PPT
1-ppt-python.ppt
ssusera99a83
 
PDF
Introduction to ipython notebook
Go Asgard
 
PDF
Python Experience in KKBOX Group
Shuen-Huei Guan
 
PPTX
POWER OF PYTHON PROGRAMMING LANGUAGE
teachersduniya.com
 
PPTX
python unit2.pptx
GEETHAS668001
 
PDF
Corporate Perl in Recruit, OpenSocial and Emoji‎ - YAPC::Asia 2009 Tokyo
Yusuke Kawasaki
 
PDF
How To Build And Launch A Successful Globalized App From Day One Or All The ...
agileware
 
PPT
Python for students step by step guidance
MantoshKumar79
 
PDF
Ubiquitous Content Symposium 2009
Shigeru Kobayashi
 
PDF
CSC 395 - Bebop.me
Frances Coronel
 
PPT
Python Intro For Managers
Atul Shridhar
 
PDF
Pythonanditsapplications 161121160425
Sapna Tyagi
 
PPTX
Python and its Applications
Abhijeet Singh
 
ODP
OpenOffice Application with Python
imacat .
 
PDF
Why learn python in 2017?
Karolis Ramanauskas
 
KEY
PyCon JP 2011 Lightning Talk No.10 in English
Yoji Takeuchi
 
PDF
Intro to the raspberry pi board
Thierry Gayet
 
Project list
Violet Armendariz
 
Python @ PiTech - March 2009
tudorprodan
 
project on snake game in c language
Ashutosh Kumar
 
1-ppt-python.ppt
ssusera99a83
 
Introduction to ipython notebook
Go Asgard
 
Python Experience in KKBOX Group
Shuen-Huei Guan
 
POWER OF PYTHON PROGRAMMING LANGUAGE
teachersduniya.com
 
python unit2.pptx
GEETHAS668001
 
Corporate Perl in Recruit, OpenSocial and Emoji‎ - YAPC::Asia 2009 Tokyo
Yusuke Kawasaki
 
How To Build And Launch A Successful Globalized App From Day One Or All The ...
agileware
 
Python for students step by step guidance
MantoshKumar79
 
Ubiquitous Content Symposium 2009
Shigeru Kobayashi
 
CSC 395 - Bebop.me
Frances Coronel
 
Python Intro For Managers
Atul Shridhar
 
Pythonanditsapplications 161121160425
Sapna Tyagi
 
Python and its Applications
Abhijeet Singh
 
OpenOffice Application with Python
imacat .
 
Why learn python in 2017?
Karolis Ramanauskas
 
PyCon JP 2011 Lightning Talk No.10 in English
Yoji Takeuchi
 
Intro to the raspberry pi board
Thierry Gayet
 
Ad

Recently uploaded (20)

PPTX
An introduction to Prepositions for beginners.pptx
drsiddhantnagine
 
PPTX
Care of patients with elImination deviation.pptx
AneetaSharma15
 
PPTX
Information Texts_Infographic on Forgetting Curve.pptx
Tata Sevilla
 
PPTX
Kanban Cards _ Mass Action in Odoo 18.2 - Odoo Slides
Celine George
 
PPTX
Artificial Intelligence in Gastroentrology: Advancements and Future Presprec...
AyanHossain
 
PPTX
HISTORY COLLECTION FOR PSYCHIATRIC PATIENTS.pptx
PoojaSen20
 
PPTX
Introduction to pediatric nursing in 5th Sem..pptx
AneetaSharma15
 
PDF
What is CFA?? Complete Guide to the Chartered Financial Analyst Program
sp4989653
 
PPTX
Applications of matrices In Real Life_20250724_091307_0000.pptx
gehlotkrish03
 
PPTX
How to Close Subscription in Odoo 18 - Odoo Slides
Celine George
 
PPTX
Sonnet 130_ My Mistress’ Eyes Are Nothing Like the Sun By William Shakespear...
DhatriParmar
 
PPTX
CARE OF UNCONSCIOUS PATIENTS .pptx
AneetaSharma15
 
PDF
Antianginal agents, Definition, Classification, MOA.pdf
Prerana Jadhav
 
PPTX
How to Apply for a Job From Odoo 18 Website
Celine George
 
PPTX
Dakar Framework Education For All- 2000(Act)
santoshmohalik1
 
PDF
BÀI TẬP TEST BỔ TRỢ THEO TỪNG CHỦ ĐỀ CỦA TỪNG UNIT KÈM BÀI TẬP NGHE - TIẾNG A...
Nguyen Thanh Tu Collection
 
PPTX
Artificial-Intelligence-in-Drug-Discovery by R D Jawarkar.pptx
Rahul Jawarkar
 
DOCX
SAROCES Action-Plan FOR ARAL PROGRAM IN DEPED
Levenmartlacuna1
 
PPTX
20250924 Navigating the Future: How to tell the difference between an emergen...
McGuinness Institute
 
PPTX
CDH. pptx
AneetaSharma15
 
An introduction to Prepositions for beginners.pptx
drsiddhantnagine
 
Care of patients with elImination deviation.pptx
AneetaSharma15
 
Information Texts_Infographic on Forgetting Curve.pptx
Tata Sevilla
 
Kanban Cards _ Mass Action in Odoo 18.2 - Odoo Slides
Celine George
 
Artificial Intelligence in Gastroentrology: Advancements and Future Presprec...
AyanHossain
 
HISTORY COLLECTION FOR PSYCHIATRIC PATIENTS.pptx
PoojaSen20
 
Introduction to pediatric nursing in 5th Sem..pptx
AneetaSharma15
 
What is CFA?? Complete Guide to the Chartered Financial Analyst Program
sp4989653
 
Applications of matrices In Real Life_20250724_091307_0000.pptx
gehlotkrish03
 
How to Close Subscription in Odoo 18 - Odoo Slides
Celine George
 
Sonnet 130_ My Mistress’ Eyes Are Nothing Like the Sun By William Shakespear...
DhatriParmar
 
CARE OF UNCONSCIOUS PATIENTS .pptx
AneetaSharma15
 
Antianginal agents, Definition, Classification, MOA.pdf
Prerana Jadhav
 
How to Apply for a Job From Odoo 18 Website
Celine George
 
Dakar Framework Education For All- 2000(Act)
santoshmohalik1
 
BÀI TẬP TEST BỔ TRỢ THEO TỪNG CHỦ ĐỀ CỦA TỪNG UNIT KÈM BÀI TẬP NGHE - TIẾNG A...
Nguyen Thanh Tu Collection
 
Artificial-Intelligence-in-Drug-Discovery by R D Jawarkar.pptx
Rahul Jawarkar
 
SAROCES Action-Plan FOR ARAL PROGRAM IN DEPED
Levenmartlacuna1
 
20250924 Navigating the Future: How to tell the difference between an emergen...
McGuinness Institute
 
CDH. pptx
AneetaSharma15
 

Let's use Raspberry Pi to share our passion of programming with kids of Japan