SlideShare ist ein Scribd-Unternehmen logo
1 von 57
Downloaden Sie, um offline zu lesen
Organise a Python
                    Code Dojo!
                                  Nicholas H.Tollervey
                                    ntoll@ntoll.org




Who am I? I was a musician and teacher before becoming a developer.

This talk is introductory in nature

Please interrupt and ask questions

Tell you about experiences organising the London Python Code Dojo

Encourage *you* to organise a dojo...
Organise a what..?
                            (http://codingdojo.org/)




What is a code-dojo?

Dojo = safe place to practice. A place to make mistakes and learn.

Terminology borrowed from martial arts / Zen Buddhism.
Invented here




                             http://www.flickr.com/photos/anirudhkoul/3483995761/




Started by French dudes in Paris around December 2004
“Acquiring coding skills
    should be a continuous
          process...”
                                                  http://codingdojo.org/


Very simple philosophy.

I’d add that improving existing skills is also important.
http://www.flickr.com/photos/19884852@N00/318274014/




                  Code Dojo =
                Deliberate Practice
To improve one needs to practice...
These are old ideas...
ὁ δὲ ἀνεξέταστος βίος
          οὐ βιωτὸς ἀνθρώπῳ




                                             http://en.wikiquote.org/wiki/File:Socrates_Louvre.jpg




                 Socrates (469-399 BCE)
The father of Western philosophy... (2500 years ago)
The unexamined life is not
             worth living.




                                             http://en.wikiquote.org/wiki/File:Socrates_Louvre.jpg




                 Socrates (469-399 BCE)
i.e. it’s good to be in a continuous process of examination and re-examination
ί
       ό      ἔ          ὐ
              ά




                             http://en.wikiquote.org/wiki/File:Heraclitus,_Johannes_Moreelse.jpg




           Heraclitus (c.535 - 475 BCE)


The original grumpy old man of ancient Greek philosophy...
Much learning
      does not teach
      understanding.




                           http://en.wikiquote.org/wiki/File:Heraclitus,_Johannes_Moreelse.jpg




            Heraclitus (c.535 - 475 BCE)


in other words... don’t just read the book. Go *do* something (practice!)
Parisian Dojo Rules
         start
                                                   2mins: organise next dojo

                                                   30mins: retrospective on last dojo


                                                   10mins: decide the topic for this dojo
       dojo




                                                   40mins: code (either “prepared” or “randori”
                                                   kata)

                                                   10mins: half time break


                                                   40mins: code


         end
                                   (not to scale)
What happens at a dojo?

codingdojo.org sets out detailed rules for timing and conduct...
http://www.flickr.com/photos/renfield/351557228/




                                     Kata..?
Kata - martial arts term meaning “forms”

pre-specified / choreographed steps to be practiced again and again. Improves muscle
memory.
Also think scales, arpeggios or Etude that musicians practice (again and again).

Can be graded in difficulty and focus on particular “aspects” of a practice.

Important to practice correctly - reflect with the aim of autonomy.

In the code-dojo context we mean small, self-contained programming puzzles.

Two mechanisms for doing Kata in the dojo...
Prepared Kata




                http://www.flickr.com/photos/foundphotoslj/466713478/




•   A presenter shows how to solve the problem using TDD
    and BabySteps™

•   Each step must make sense to everyone present

•   Only interrupt if you don’t understand what’s going on
Randori Kata
                            pilot



                                                             co-pilot
                             happy to volunteer


              •   Public pair programming using TDD

              •   Each pair has a time slot

              •   At the end the pilot returns to the audience, the co-
                  pilot becomes the new pilot and a new co-pilot
                  volunteers from the audience
Randori means “chaos taking” - something like freestyle.

Audience mustn’t interrupt - only co-pilot.

Pilot gives a running commentary of their thought process.
What happened in
                    London..?


We’ve learned about the theory. What happened in practice..?
!"#$
                      #"%"

Last August pub meet to organise a “randori” style dojo.

Decided create a graphical representation of a social network based on data from Twitter.
Geeks actually socialising!




          Coding fuel


Fry-IT provided free pizza and beer + location.
Code




                                                       Good turnout

About 25 people turned up.

The rule for a time slot was 10 minutes or a passing unit test for each pair.

This worked quite well...
But we didn’t know what
we were doing and didn’t
   stick to the rules!
We only had Emacs or Vim available...

                                          vs

                ...and didn’t have a standard keyboard.




        The Twitter based kata sucked (too complex) :-(



                Only 6-7 people got a chance to pilot.
Things we should have thought of in advance... :-(
We got it to work!
Other stuff that wasn’t
supposed to happen...
Spontaneous applause for working code

       Audience participation

       Lots of discussion & debate

       A generally noisy time


The original rules for a code-dojo are formal and limit the possibility of the audience from
disturbing the pilot and co-pilot.
(actually, that was good stuff)
In the discussion at the end we actually thought interaction was a positive aspect of the
evening.

We continued doing Randori based dojo until...
I want to do a
                          presentation and get your
                                 feedback...




                 Dave’s great idea...
Dave had a great idea.
Wouldn’t it
                be great if we split into
                 small groups to code
                      together..?




               Ciarán’s great idea...
Lightning struck twice

Ciaran had a good idea too.

He didn’t like the fact that only 6-7 people got a chance to code.

Also, some of us didn’t want to code in front of everyone but were happy to code in smaller
groups.
Two new dojo formats!
#1 Show and Tell Dojo
Rene setting up a demo for PyGame...
More like a seminar
               than presentation.


Interrupt, ask questions, debate, code along, point out problems and generally don’t just sit
there...
Participation expected
#2 Team Dojo
(                                  &                                            )
                                      +
                                       =
A bit like the classic TV programme “The Great Egg Race” or Scrapheap challenge... teams
complete a task with Python.
Suggest / vote on a topic
Task ideas written on the white-board during the pizza and beer bit at the start.

We then vote and split into teams.
Teams do the same task
This takes about 1.5 hours.
Show, tell, review & questions
This takes about 1/2 hour and is usually the best part of the evening (for me).

Often the task will have been solved in some interesting ways or in ways *you* might not
have imagined.

Also, presenting and explaining code as well as telling us about design decisions is a good
thing to practice.
Long term-projects...
After Christmas the London dojo decided to write an “old skool” text Adventure game. Each
element being a task for the dojo.
Select a topic from project



                          Groups solve the same topic



                           Demo, review and evaluate



                  Bless a “winner” as start for next time

The general modus operandi.

“Refactoring” dojo using the Randori method was a disaster (boring as hell).
Adventure Topics
           Create a game world

           Represent game state

               Make a parser

             Generate puzzles

       Multi-user or client / server




Here’s what we did.
Try my MSUD!
    (Multi-Single User
        Dungeon)




telnet gautier.fry-it.com 2300
So, the end result after several dojos was a working adventure game. Actually Gautier has
made it available to play on the Internet... go try it! It’s fun!
Gautier’s server :-)




                              http://www.flickr.com/photos/7969902@N07/511103951/


            telnet gautier.fry-it.com 2300
Where is French Polynesia? This is a picture of the French army blowing it up in 1970. Licorne
2.
In the dojo we...
               • Teach one another
               • Explain and present code to one another
               • Explore each other’s solutions
               • Work together
               • Build a community
The educational benefits of taking part in a these sorts of Dojo are pretty obvious (I hope).

You get to practice all sorts of things...

Not the original dojo format.

We “forked” the concept - stole the ideas we liked and adapted it to our own group’s
dynamics...
Dynamism
... what a dynamic bunch we all are.

Actually, I missed off one of the most important outcomes...
It’s FUN!
It’s easier to learn when you’re having a good time.
And now a word from
              our sponsors...


Other considerations for making the dojo a success...

Community building was an aim in addition to learning
Nerds




              Nerd bait


The pizza and beer = important means of community building.

Share “war” stories, demo stuff and generally have a good time.
It’s just like IRC but
                you’re actually IRL!
People relax and look forward to the coding aspect of the dojo.

For open source developers community is important.
More nerd bait...
We also spoke to O’Reilly who provide us with a book every month. You might have noticed
we wear name-badges. Not only because we can never remember each other’s names but
also because it makes it easy to do a “prize draw” at the end of the evening.
and finally...
mmMMmm...
                                                                backwards talk
                                                                rubbish do I
                      How to be a
                      Jedi Hacker




A personal opinion - people like me who want to learn and improve are often looking for
teachers - but beware people who offer themselves as gurus, who promote a “system” or
offer pithy aphorisms.
WTF?




                            To be an über-Hacker is to
                           “grok” the source completely




It’s tempting to be impressed and follow / listen to them

I encourage you to be cynical and ask questions of them (just like we do of each other in the
dojo)

Learn to practice learning (rather than following) by learning in a dojo - yeah I know that’s a
pithy aphorism. Bite me! ;-)
ἓν οἶδα ὅτι οὐδὲν οἶδα




                                  http://en.wikiquote.org/wiki/File:Socrates_Louvre.jpg




                   Socrates (469-399 BCE)
I’m with Socrates...
The only real wisdom is
           knowing you know
                  nothing.




                                             http://en.wikiquote.org/wiki/File:Socrates_Louvre.jpg




                 Socrates (469-399 BCE)
don’t just blindly follow what other people say... make up your own mind.
Just get stuck in...



Please...
Organise a dojo!



Adapt it to your needs, experiment, expect to get things wrong but please HAVE FUN, learn,
practice and improve!
If you’re ever in London
           come along and say hi!
I advertise it on the Python-UK mailing list. I’ll eventually get round to doing a website.
Questions..?


Binary beer bottles :-)

Weitere ähnliche Inhalte

Was ist angesagt?

[B22] PostgresPlus Advanced Server の Oracle Database 互換機能検証 by Noriyoshi Shinoda
[B22] PostgresPlus Advanced Server の Oracle Database 互換機能検証 by Noriyoshi Shinoda[B22] PostgresPlus Advanced Server の Oracle Database 互換機能検証 by Noriyoshi Shinoda
[B22] PostgresPlus Advanced Server の Oracle Database 互換機能検証 by Noriyoshi ShinodaInsight Technology, Inc.
 
MesonでPostgreSQLをビルドしてみよう!(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
MesonでPostgreSQLをビルドしてみよう!(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)MesonでPostgreSQLをビルドしてみよう!(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
MesonでPostgreSQLをビルドしてみよう!(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
正規言語と代数と論理の対応:An Introduction to Eilenberg’s Variety Theorem
正規言語と代数と論理の対応:An Introduction to Eilenberg’s Variety Theorem正規言語と代数と論理の対応:An Introduction to Eilenberg’s Variety Theorem
正規言語と代数と論理の対応:An Introduction to Eilenberg’s Variety TheoremRyoma Sin'ya
 
What's new in Spring Batch 5
What's new in Spring Batch 5What's new in Spring Batch 5
What's new in Spring Batch 5ikeyat
 
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)Satoshi Yamada
 
goで末尾再帰最適化は使えるか?
goで末尾再帰最適化は使えるか?goで末尾再帰最適化は使えるか?
goで末尾再帰最適化は使えるか?mori takuma
 
クリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #phpconokinawa
クリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #phpconokinawaクリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #phpconokinawa
クリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #phpconokinawaShohei Okada
 
PostgreSQL監査
PostgreSQL監査PostgreSQL監査
PostgreSQL監査Ayumi Ishii
 
MySQL Casual Talks Vol.4 「MySQL-5.6で始める全文検索 〜InnoDB FTS編〜」
MySQL Casual Talks Vol.4 「MySQL-5.6で始める全文検索 〜InnoDB FTS編〜」MySQL Casual Talks Vol.4 「MySQL-5.6で始める全文検索 〜InnoDB FTS編〜」
MySQL Casual Talks Vol.4 「MySQL-5.6で始める全文検索 〜InnoDB FTS編〜」Kentaro Yoshida
 
PostgreSQLの関数属性を知ろう
PostgreSQLの関数属性を知ろうPostgreSQLの関数属性を知ろう
PostgreSQLの関数属性を知ろうkasaharatt
 
[B23] PostgreSQLのインデックス・チューニング by Tomonari Katsumata
[B23] PostgreSQLのインデックス・チューニング by Tomonari Katsumata[B23] PostgreSQLのインデックス・チューニング by Tomonari Katsumata
[B23] PostgreSQLのインデックス・チューニング by Tomonari KatsumataInsight Technology, Inc.
 
Dbts2013 特濃jpoug log_file_sync
Dbts2013 特濃jpoug log_file_syncDbts2013 特濃jpoug log_file_sync
Dbts2013 特濃jpoug log_file_syncKoji Shinkubo
 
Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)
Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)
Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)Keisuke Takahashi
 
Apache Kafka on Herokuを活用したイベント駆動アーキテクチャの設計と実装
Apache Kafka on Herokuを活用したイベント駆動アーキテクチャの設計と実装Apache Kafka on Herokuを活用したイベント駆動アーキテクチャの設計と実装
Apache Kafka on Herokuを活用したイベント駆動アーキテクチャの設計と実装Salesforce Developers Japan
 
Clean Architectureで設計してRxJSを使った話
Clean Architectureで設計してRxJSを使った話Clean Architectureで設計してRxJSを使った話
Clean Architectureで設計してRxJSを使った話_kondei
 
NuGetの社内利用のススメ
NuGetの社内利用のススメNuGetの社内利用のススメ
NuGetの社内利用のススメNarami Kiyokura
 
Map Reduce 〜入門編:仕組みの理解とアルゴリズムデザイン〜
Map Reduce 〜入門編:仕組みの理解とアルゴリズムデザイン〜Map Reduce 〜入門編:仕組みの理解とアルゴリズムデザイン〜
Map Reduce 〜入門編:仕組みの理解とアルゴリズムデザイン〜Takahiro Inoue
 
MongoDB very basic (Japanese) / MongoDB基礎の基礎
MongoDB very basic (Japanese) / MongoDB基礎の基礎MongoDB very basic (Japanese) / MongoDB基礎の基礎
MongoDB very basic (Japanese) / MongoDB基礎の基礎Naruhiko Ogasawara
 

Was ist angesagt? (20)

[B22] PostgresPlus Advanced Server の Oracle Database 互換機能検証 by Noriyoshi Shinoda
[B22] PostgresPlus Advanced Server の Oracle Database 互換機能検証 by Noriyoshi Shinoda[B22] PostgresPlus Advanced Server の Oracle Database 互換機能検証 by Noriyoshi Shinoda
[B22] PostgresPlus Advanced Server の Oracle Database 互換機能検証 by Noriyoshi Shinoda
 
MesonでPostgreSQLをビルドしてみよう!(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
MesonでPostgreSQLをビルドしてみよう!(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)MesonでPostgreSQLをビルドしてみよう!(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
MesonでPostgreSQLをビルドしてみよう!(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
XAMLで業務アプリがこんなに変わる!デザイン志向による業務アプリの事例紹介
XAMLで業務アプリがこんなに変わる!デザイン志向による業務アプリの事例紹介XAMLで業務アプリがこんなに変わる!デザイン志向による業務アプリの事例紹介
XAMLで業務アプリがこんなに変わる!デザイン志向による業務アプリの事例紹介
 
正規言語と代数と論理の対応:An Introduction to Eilenberg’s Variety Theorem
正規言語と代数と論理の対応:An Introduction to Eilenberg’s Variety Theorem正規言語と代数と論理の対応:An Introduction to Eilenberg’s Variety Theorem
正規言語と代数と論理の対応:An Introduction to Eilenberg’s Variety Theorem
 
What's new in Spring Batch 5
What's new in Spring Batch 5What's new in Spring Batch 5
What's new in Spring Batch 5
 
pg_bigmを用いた全文検索のしくみ(前編)
pg_bigmを用いた全文検索のしくみ(前編)pg_bigmを用いた全文検索のしくみ(前編)
pg_bigmを用いた全文検索のしくみ(前編)
 
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)
 
goで末尾再帰最適化は使えるか?
goで末尾再帰最適化は使えるか?goで末尾再帰最適化は使えるか?
goで末尾再帰最適化は使えるか?
 
クリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #phpconokinawa
クリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #phpconokinawaクリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #phpconokinawa
クリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #phpconokinawa
 
PostgreSQL監査
PostgreSQL監査PostgreSQL監査
PostgreSQL監査
 
MySQL Casual Talks Vol.4 「MySQL-5.6で始める全文検索 〜InnoDB FTS編〜」
MySQL Casual Talks Vol.4 「MySQL-5.6で始める全文検索 〜InnoDB FTS編〜」MySQL Casual Talks Vol.4 「MySQL-5.6で始める全文検索 〜InnoDB FTS編〜」
MySQL Casual Talks Vol.4 「MySQL-5.6で始める全文検索 〜InnoDB FTS編〜」
 
PostgreSQLの関数属性を知ろう
PostgreSQLの関数属性を知ろうPostgreSQLの関数属性を知ろう
PostgreSQLの関数属性を知ろう
 
[B23] PostgreSQLのインデックス・チューニング by Tomonari Katsumata
[B23] PostgreSQLのインデックス・チューニング by Tomonari Katsumata[B23] PostgreSQLのインデックス・チューニング by Tomonari Katsumata
[B23] PostgreSQLのインデックス・チューニング by Tomonari Katsumata
 
Dbts2013 特濃jpoug log_file_sync
Dbts2013 特濃jpoug log_file_syncDbts2013 特濃jpoug log_file_sync
Dbts2013 特濃jpoug log_file_sync
 
Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)
Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)
Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)
 
Apache Kafka on Herokuを活用したイベント駆動アーキテクチャの設計と実装
Apache Kafka on Herokuを活用したイベント駆動アーキテクチャの設計と実装Apache Kafka on Herokuを活用したイベント駆動アーキテクチャの設計と実装
Apache Kafka on Herokuを活用したイベント駆動アーキテクチャの設計と実装
 
Clean Architectureで設計してRxJSを使った話
Clean Architectureで設計してRxJSを使った話Clean Architectureで設計してRxJSを使った話
Clean Architectureで設計してRxJSを使った話
 
NuGetの社内利用のススメ
NuGetの社内利用のススメNuGetの社内利用のススメ
NuGetの社内利用のススメ
 
Map Reduce 〜入門編:仕組みの理解とアルゴリズムデザイン〜
Map Reduce 〜入門編:仕組みの理解とアルゴリズムデザイン〜Map Reduce 〜入門編:仕組みの理解とアルゴリズムデザイン〜
Map Reduce 〜入門編:仕組みの理解とアルゴリズムデザイン〜
 
MongoDB very basic (Japanese) / MongoDB基礎の基礎
MongoDB very basic (Japanese) / MongoDB基礎の基礎MongoDB very basic (Japanese) / MongoDB基礎の基礎
MongoDB very basic (Japanese) / MongoDB基礎の基礎
 

Ähnlich wie Organise a Code Dojo!

The London Python Code Dojo - An Education in Developer Education
The London Python Code Dojo - An Education in Developer EducationThe London Python Code Dojo - An Education in Developer Education
The London Python Code Dojo - An Education in Developer EducationNicholas Tollervey
 
Digital storytelling for language classrooms
Digital storytelling for language classroomsDigital storytelling for language classrooms
Digital storytelling for language classroomsTom Walton
 
Coding Dojo - PyCon Br 2008 - EN
Coding Dojo - PyCon Br 2008 - ENCoding Dojo - PyCon Br 2008 - EN
Coding Dojo - PyCon Br 2008 - ENHugo Corbucci
 
Design and Evolution of cyber-dojo
Design and Evolution of cyber-dojoDesign and Evolution of cyber-dojo
Design and Evolution of cyber-dojoJon Jagger
 
Demola deep avatars simple robots 20130121
Demola deep avatars simple robots 20130121Demola deep avatars simple robots 20130121
Demola deep avatars simple robots 20130121Rod Walsh
 
Coding dojo
Coding dojoCoding dojo
Coding dojovietnt84
 
Scottish Ruby Conference 2014
Scottish Ruby Conference  2014Scottish Ruby Conference  2014
Scottish Ruby Conference 2014michaelag1971
 
How to Start and Run a Dojo in Western Australia
How to Start and Run a Dojo in Western AustraliaHow to Start and Run a Dojo in Western Australia
How to Start and Run a Dojo in Western AustraliaCoderDojoWA
 
Design For Non-Designers
Design For Non-DesignersDesign For Non-Designers
Design For Non-DesignersDaniel Stillman
 
Designing with the Body: Learning to Physically Prototype
Designing with the Body: Learning to Physically PrototypeDesigning with the Body: Learning to Physically Prototype
Designing with the Body: Learning to Physically PrototypeDavid Sherwin
 
Future Of Play - Keynote MIT 2010 - Sandbox Summit
Future Of Play - Keynote  MIT 2010 - Sandbox SummitFuture Of Play - Keynote  MIT 2010 - Sandbox Summit
Future Of Play - Keynote MIT 2010 - Sandbox Summitfrog
 
Future Of Play (Keynote:MIT:2010:Sandbox Summit)
Future Of Play (Keynote:MIT:2010:Sandbox Summit)Future Of Play (Keynote:MIT:2010:Sandbox Summit)
Future Of Play (Keynote:MIT:2010:Sandbox Summit)Laura Seargeant Richardson
 
OpenStack Upstream Training Report
OpenStack Upstream Training ReportOpenStack Upstream Training Report
OpenStack Upstream Training ReportRakuten Group, Inc.
 
Interaction12 Redux Nico Druif
Interaction12 Redux Nico DruifInteraction12 Redux Nico Druif
Interaction12 Redux Nico DruifNico Druif
 
Hacker Dojo Origins
Hacker Dojo OriginsHacker Dojo Origins
Hacker Dojo OriginsJeff Lindsay
 
Introduction to CoderDojo | 4th “STEAM at the gymnasium” International Summer...
Introduction to CoderDojo | 4th “STEAM at the gymnasium” International Summer...Introduction to CoderDojo | 4th “STEAM at the gymnasium” International Summer...
Introduction to CoderDojo | 4th “STEAM at the gymnasium” International Summer...Asociatia Techsoup Romania
 
Monday Night, March 3rd, Visual Rhetoric
Monday Night, March 3rd, Visual RhetoricMonday Night, March 3rd, Visual Rhetoric
Monday Night, March 3rd, Visual RhetoricMiami University
 
An Introduction to Community Coding Clubs - CoderDojo WA
An Introduction to Community Coding Clubs - CoderDojo WAAn Introduction to Community Coding Clubs - CoderDojo WA
An Introduction to Community Coding Clubs - CoderDojo WACoderDojoWA
 
Make your Life Easier with Scripting - Nick Ruffilo (Aer.io) - ebookcraft 2019
Make your Life Easier with Scripting - Nick Ruffilo (Aer.io) - ebookcraft 2019Make your Life Easier with Scripting - Nick Ruffilo (Aer.io) - ebookcraft 2019
Make your Life Easier with Scripting - Nick Ruffilo (Aer.io) - ebookcraft 2019BookNet Canada
 

Ähnlich wie Organise a Code Dojo! (20)

The London Python Code Dojo - An Education in Developer Education
The London Python Code Dojo - An Education in Developer EducationThe London Python Code Dojo - An Education in Developer Education
The London Python Code Dojo - An Education in Developer Education
 
Digital storytelling for language classrooms
Digital storytelling for language classroomsDigital storytelling for language classrooms
Digital storytelling for language classrooms
 
Coding Dojo - PyCon Br 2008 - EN
Coding Dojo - PyCon Br 2008 - ENCoding Dojo - PyCon Br 2008 - EN
Coding Dojo - PyCon Br 2008 - EN
 
Dojo intro PyCon
Dojo intro PyConDojo intro PyCon
Dojo intro PyCon
 
Design and Evolution of cyber-dojo
Design and Evolution of cyber-dojoDesign and Evolution of cyber-dojo
Design and Evolution of cyber-dojo
 
Demola deep avatars simple robots 20130121
Demola deep avatars simple robots 20130121Demola deep avatars simple robots 20130121
Demola deep avatars simple robots 20130121
 
Coding dojo
Coding dojoCoding dojo
Coding dojo
 
Scottish Ruby Conference 2014
Scottish Ruby Conference  2014Scottish Ruby Conference  2014
Scottish Ruby Conference 2014
 
How to Start and Run a Dojo in Western Australia
How to Start and Run a Dojo in Western AustraliaHow to Start and Run a Dojo in Western Australia
How to Start and Run a Dojo in Western Australia
 
Design For Non-Designers
Design For Non-DesignersDesign For Non-Designers
Design For Non-Designers
 
Designing with the Body: Learning to Physically Prototype
Designing with the Body: Learning to Physically PrototypeDesigning with the Body: Learning to Physically Prototype
Designing with the Body: Learning to Physically Prototype
 
Future Of Play - Keynote MIT 2010 - Sandbox Summit
Future Of Play - Keynote  MIT 2010 - Sandbox SummitFuture Of Play - Keynote  MIT 2010 - Sandbox Summit
Future Of Play - Keynote MIT 2010 - Sandbox Summit
 
Future Of Play (Keynote:MIT:2010:Sandbox Summit)
Future Of Play (Keynote:MIT:2010:Sandbox Summit)Future Of Play (Keynote:MIT:2010:Sandbox Summit)
Future Of Play (Keynote:MIT:2010:Sandbox Summit)
 
OpenStack Upstream Training Report
OpenStack Upstream Training ReportOpenStack Upstream Training Report
OpenStack Upstream Training Report
 
Interaction12 Redux Nico Druif
Interaction12 Redux Nico DruifInteraction12 Redux Nico Druif
Interaction12 Redux Nico Druif
 
Hacker Dojo Origins
Hacker Dojo OriginsHacker Dojo Origins
Hacker Dojo Origins
 
Introduction to CoderDojo | 4th “STEAM at the gymnasium” International Summer...
Introduction to CoderDojo | 4th “STEAM at the gymnasium” International Summer...Introduction to CoderDojo | 4th “STEAM at the gymnasium” International Summer...
Introduction to CoderDojo | 4th “STEAM at the gymnasium” International Summer...
 
Monday Night, March 3rd, Visual Rhetoric
Monday Night, March 3rd, Visual RhetoricMonday Night, March 3rd, Visual Rhetoric
Monday Night, March 3rd, Visual Rhetoric
 
An Introduction to Community Coding Clubs - CoderDojo WA
An Introduction to Community Coding Clubs - CoderDojo WAAn Introduction to Community Coding Clubs - CoderDojo WA
An Introduction to Community Coding Clubs - CoderDojo WA
 
Make your Life Easier with Scripting - Nick Ruffilo (Aer.io) - ebookcraft 2019
Make your Life Easier with Scripting - Nick Ruffilo (Aer.io) - ebookcraft 2019Make your Life Easier with Scripting - Nick Ruffilo (Aer.io) - ebookcraft 2019
Make your Life Easier with Scripting - Nick Ruffilo (Aer.io) - ebookcraft 2019
 

Mehr von Nicholas Tollervey

Mehr von Nicholas Tollervey (7)

An (Inaccurate) Introduction to Python
An (Inaccurate) Introduction to PythonAn (Inaccurate) Introduction to Python
An (Inaccurate) Introduction to Python
 
FluidDB in a Nutshell
FluidDB in a NutshellFluidDB in a Nutshell
FluidDB in a Nutshell
 
FluidDB in a nutshell
FluidDB in a nutshellFluidDB in a nutshell
FluidDB in a nutshell
 
Using FluidDB with Django
Using FluidDB with DjangoUsing FluidDB with Django
Using FluidDB with Django
 
An Introduction to FluidDB
An Introduction to FluidDBAn Introduction to FluidDB
An Introduction to FluidDB
 
FluidDB for Dummies
FluidDB for DummiesFluidDB for Dummies
FluidDB for Dummies
 
An Introduction To FluidDB - a social database in the cloud
An Introduction To FluidDB - a social database in the cloudAn Introduction To FluidDB - a social database in the cloud
An Introduction To FluidDB - a social database in the cloud
 

Kürzlich hochgeladen

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
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
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise 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
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
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
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
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
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
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
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
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
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
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
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
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
 

Kürzlich hochgeladen (20)

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
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
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
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
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
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...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
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
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
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
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
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
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
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
 

Organise a Code Dojo!

  • 1. Organise a Python Code Dojo! Nicholas H.Tollervey ntoll@ntoll.org Who am I? I was a musician and teacher before becoming a developer. This talk is introductory in nature Please interrupt and ask questions Tell you about experiences organising the London Python Code Dojo Encourage *you* to organise a dojo...
  • 2. Organise a what..? (http://codingdojo.org/) What is a code-dojo? Dojo = safe place to practice. A place to make mistakes and learn. Terminology borrowed from martial arts / Zen Buddhism.
  • 3. Invented here http://www.flickr.com/photos/anirudhkoul/3483995761/ Started by French dudes in Paris around December 2004
  • 4. “Acquiring coding skills should be a continuous process...” http://codingdojo.org/ Very simple philosophy. I’d add that improving existing skills is also important.
  • 5. http://www.flickr.com/photos/19884852@N00/318274014/ Code Dojo = Deliberate Practice To improve one needs to practice...
  • 6. These are old ideas...
  • 7. ὁ δὲ ἀνεξέταστος βίος οὐ βιωτὸς ἀνθρώπῳ http://en.wikiquote.org/wiki/File:Socrates_Louvre.jpg Socrates (469-399 BCE) The father of Western philosophy... (2500 years ago)
  • 8. The unexamined life is not worth living. http://en.wikiquote.org/wiki/File:Socrates_Louvre.jpg Socrates (469-399 BCE) i.e. it’s good to be in a continuous process of examination and re-examination
  • 9. ί ό ἔ ὐ ά http://en.wikiquote.org/wiki/File:Heraclitus,_Johannes_Moreelse.jpg Heraclitus (c.535 - 475 BCE) The original grumpy old man of ancient Greek philosophy...
  • 10. Much learning does not teach understanding. http://en.wikiquote.org/wiki/File:Heraclitus,_Johannes_Moreelse.jpg Heraclitus (c.535 - 475 BCE) in other words... don’t just read the book. Go *do* something (practice!)
  • 11. Parisian Dojo Rules start 2mins: organise next dojo 30mins: retrospective on last dojo 10mins: decide the topic for this dojo dojo 40mins: code (either “prepared” or “randori” kata) 10mins: half time break 40mins: code end (not to scale) What happens at a dojo? codingdojo.org sets out detailed rules for timing and conduct...
  • 12. http://www.flickr.com/photos/renfield/351557228/ Kata..? Kata - martial arts term meaning “forms” pre-specified / choreographed steps to be practiced again and again. Improves muscle memory.
  • 13. Also think scales, arpeggios or Etude that musicians practice (again and again). Can be graded in difficulty and focus on particular “aspects” of a practice. Important to practice correctly - reflect with the aim of autonomy. In the code-dojo context we mean small, self-contained programming puzzles. Two mechanisms for doing Kata in the dojo...
  • 14. Prepared Kata http://www.flickr.com/photos/foundphotoslj/466713478/ • A presenter shows how to solve the problem using TDD and BabySteps™ • Each step must make sense to everyone present • Only interrupt if you don’t understand what’s going on
  • 15. Randori Kata pilot co-pilot happy to volunteer • Public pair programming using TDD • Each pair has a time slot • At the end the pilot returns to the audience, the co- pilot becomes the new pilot and a new co-pilot volunteers from the audience Randori means “chaos taking” - something like freestyle. Audience mustn’t interrupt - only co-pilot. Pilot gives a running commentary of their thought process.
  • 16. What happened in London..? We’ve learned about the theory. What happened in practice..?
  • 17. !"#$ #"%" Last August pub meet to organise a “randori” style dojo. Decided create a graphical representation of a social network based on data from Twitter.
  • 18. Geeks actually socialising! Coding fuel Fry-IT provided free pizza and beer + location.
  • 19. Code Good turnout About 25 people turned up. The rule for a time slot was 10 minutes or a passing unit test for each pair. This worked quite well...
  • 20. But we didn’t know what we were doing and didn’t stick to the rules!
  • 21. We only had Emacs or Vim available... vs ...and didn’t have a standard keyboard. The Twitter based kata sucked (too complex) :-( Only 6-7 people got a chance to pilot. Things we should have thought of in advance... :-(
  • 22. We got it to work!
  • 23. Other stuff that wasn’t supposed to happen...
  • 24. Spontaneous applause for working code Audience participation Lots of discussion & debate A generally noisy time The original rules for a code-dojo are formal and limit the possibility of the audience from disturbing the pilot and co-pilot.
  • 25. (actually, that was good stuff) In the discussion at the end we actually thought interaction was a positive aspect of the evening. We continued doing Randori based dojo until...
  • 26. I want to do a presentation and get your feedback... Dave’s great idea... Dave had a great idea.
  • 27. Wouldn’t it be great if we split into small groups to code together..? Ciarán’s great idea... Lightning struck twice Ciaran had a good idea too. He didn’t like the fact that only 6-7 people got a chance to code. Also, some of us didn’t want to code in front of everyone but were happy to code in smaller groups.
  • 28. Two new dojo formats!
  • 29. #1 Show and Tell Dojo Rene setting up a demo for PyGame...
  • 30. More like a seminar than presentation. Interrupt, ask questions, debate, code along, point out problems and generally don’t just sit there...
  • 33. ( & ) + = A bit like the classic TV programme “The Great Egg Race” or Scrapheap challenge... teams complete a task with Python.
  • 34. Suggest / vote on a topic Task ideas written on the white-board during the pizza and beer bit at the start. We then vote and split into teams.
  • 35. Teams do the same task This takes about 1.5 hours.
  • 36. Show, tell, review & questions This takes about 1/2 hour and is usually the best part of the evening (for me). Often the task will have been solved in some interesting ways or in ways *you* might not have imagined. Also, presenting and explaining code as well as telling us about design decisions is a good thing to practice.
  • 37. Long term-projects... After Christmas the London dojo decided to write an “old skool” text Adventure game. Each element being a task for the dojo.
  • 38. Select a topic from project Groups solve the same topic Demo, review and evaluate Bless a “winner” as start for next time The general modus operandi. “Refactoring” dojo using the Randori method was a disaster (boring as hell).
  • 39. Adventure Topics Create a game world Represent game state Make a parser Generate puzzles Multi-user or client / server Here’s what we did.
  • 40. Try my MSUD! (Multi-Single User Dungeon) telnet gautier.fry-it.com 2300 So, the end result after several dojos was a working adventure game. Actually Gautier has made it available to play on the Internet... go try it! It’s fun!
  • 41. Gautier’s server :-) http://www.flickr.com/photos/7969902@N07/511103951/ telnet gautier.fry-it.com 2300 Where is French Polynesia? This is a picture of the French army blowing it up in 1970. Licorne 2.
  • 42. In the dojo we... • Teach one another • Explain and present code to one another • Explore each other’s solutions • Work together • Build a community The educational benefits of taking part in a these sorts of Dojo are pretty obvious (I hope). You get to practice all sorts of things... Not the original dojo format. We “forked” the concept - stole the ideas we liked and adapted it to our own group’s dynamics...
  • 43. Dynamism ... what a dynamic bunch we all are. Actually, I missed off one of the most important outcomes...
  • 44. It’s FUN! It’s easier to learn when you’re having a good time.
  • 45. And now a word from our sponsors... Other considerations for making the dojo a success... Community building was an aim in addition to learning
  • 46. Nerds Nerd bait The pizza and beer = important means of community building. Share “war” stories, demo stuff and generally have a good time.
  • 47. It’s just like IRC but you’re actually IRL! People relax and look forward to the coding aspect of the dojo. For open source developers community is important.
  • 48. More nerd bait... We also spoke to O’Reilly who provide us with a book every month. You might have noticed we wear name-badges. Not only because we can never remember each other’s names but also because it makes it easy to do a “prize draw” at the end of the evening.
  • 50. mmMMmm... backwards talk rubbish do I How to be a Jedi Hacker A personal opinion - people like me who want to learn and improve are often looking for teachers - but beware people who offer themselves as gurus, who promote a “system” or offer pithy aphorisms.
  • 51. WTF? To be an über-Hacker is to “grok” the source completely It’s tempting to be impressed and follow / listen to them I encourage you to be cynical and ask questions of them (just like we do of each other in the dojo) Learn to practice learning (rather than following) by learning in a dojo - yeah I know that’s a pithy aphorism. Bite me! ;-)
  • 52. ἓν οἶδα ὅτι οὐδὲν οἶδα http://en.wikiquote.org/wiki/File:Socrates_Louvre.jpg Socrates (469-399 BCE) I’m with Socrates...
  • 53. The only real wisdom is knowing you know nothing. http://en.wikiquote.org/wiki/File:Socrates_Louvre.jpg Socrates (469-399 BCE) don’t just blindly follow what other people say... make up your own mind.
  • 54. Just get stuck in... Please...
  • 55. Organise a dojo! Adapt it to your needs, experiment, expect to get things wrong but please HAVE FUN, learn, practice and improve!
  • 56. If you’re ever in London come along and say hi! I advertise it on the Python-UK mailing list. I’ll eventually get round to doing a website.