Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Perth Code Dojo 5
Search
William Webster
November 27, 2014
Technology
55
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Perth Code Dojo 5
William Webster
November 27, 2014
More Decks by William Webster
See All by William Webster
Building_Highly_Engaged_Teams.pdf
burlistic
0
120
Quantum Encryption - Advances In Data Security
burlistic
0
67
Perth Code Dojo 12
burlistic
0
97
Perth Code Dojo 11
burlistic
0
77
Introducing Agile to Enterprise
burlistic
0
84
Perth Code Dojo 6 - Decoupling the UI
burlistic
0
69
Perth Code Dojo 4
burlistic
0
59
Perth Code Dojo 3
burlistic
0
98
Perth Code Dojo 2
burlistic
0
110
Other Decks in Technology
See All in Technology
AgentCoreで実践するハーネスエンジニアリング
yakumo
1
260
『GOエコノミー 』(相乗りサービス) におけるスペック駆動開発
mot_techtalk
1
260
インバスケット試験対策アプリを 作って見えたAIエージェント構築 ナレッジ2選
shichijoyuhi
1
110
顧客の成果創出とプロダクトの成長を 両立するためのFDE
sansantech
PRO
0
640
2026-09-26 Platform Engineering Kaigi 2026 インフラとアプリの境界線と委譲の設計 / Drawing the Infra and App Line
masasuzu
0
610
Databricksメトリクスビューはじめてのもくもく会
taka_aki
0
180
HacobuにおけるFDEとは/登壇資料(戸井田 裕貴)
hacobu
PRO
1
730
[2026 Oracle Technical Deep Dive] オンプレミスDBのCloud移行アプローチ:移行計画に基づくメソッドとツールの選択 (2026年9月17日開催)
oracle4engineer
PRO
0
110
生成AIと進める探索的データ分析(2026.10.03 第122回Tokyo.R勉強会)
tatamiya
2
1.3k
KanaAI
shreyas1009
0
140
IoTデバイスを繋げるプロトコルMatterをAndroidで使用する方法
harutiro
0
100
[2026 Oracle Technical Deep Dive] AI時代のアプリケーションを支えるCloud NativeとJava EEモダナイゼーション (2026年9月17日開催)
oracle4engineer
PRO
0
110
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.9k
Paper Plane
katiecoart
PRO
4
53k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
720
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.9k
Tell your own story through comics
letsgokoyo
1
1.1k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Navigating Team Friction
lara
192
16k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.9k
Docker and Python
trallard
47
4.2k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Exploring anti-patterns in Rails
aemeredith
4
520
Transcript
Perth Code Dojo 5 @willwebst #CodeDojo
Check-In ➔ Your name ➔ What do you want for
Christmas? ➔ Do you believe in Santa?
Code Dojo Format A Coding Dojo is a coding session
centered around a programming challenge. The dojo provides a safe place to learn and experiment away from the pressures of business delivery. All programmers of varying skill levels meet as equals to learn and share.
Software Craftsmanship “Deliberate practice is closely related to the attained
level of performance of many types of experts” - Dr. K. Anders Ericsson
Dojo Rules ➔ Paired Programming ➔ Simple Design ➔ Test
Driven Development ➔ Refactoring
XP Practices ➔ Test Driven Design ◆ Red - Green
- Refactor ◆ Keep the unit small ◆ DESIGN / Design by contract ◆ Flow
XP Practises ➔ Benefits ◆ More extensible and maintainable solutions
◆ Quality improvements / cost of defects ◆ Automated builds ◆ Peer reviews / pairing ◆ Confidence to refactor ◆ Coverage ◆ Legacy code
XP Practises ➔ Disadvantages / challenges ◆ Requires buy in
◆ Learning curve ◆ Purest approach ◆ Overly loose coupling ◆ Not always productive ◆ Potential overconfidence ◆ Tests require maintenance / refactoring
Pomodoro ➔ Pomodoro Technique ◆ 25 mins on, 5 mins
off ◆ http://tomatoi.st/perthcodedojo ➔ Four iterations
Retro & Pizza Closing with Pizza and a mini retrospective
➔ Share solutions on the big screen ➔ Discuss challenge / approach ➔ Feedback on the dojo
Polite Notice Please respect each others commitment. During a Pomodoro.
➔ No Facebook ➔ Mobile phones ➔ Etc.
Have Fun! Most importantly have fun! ➔ Drinks are available
- help yourselves
Objective Given a word list, containing one word per line.
Find all the combinations of each word which are anagrams.
Objective Examples: Webster - bestrew Software - forwaste
Objective Think about the algorithm approach • Simplest • Fastest
Test First!
Find Anagrams http://codekata.com/data/wordlist.txt Find all the anagrams contained within the
list for each word
Begin! 25 mins
Stop! 5 mins
Remove Acronyms Remove any non-words • ACB • BBSes •
BMW's
Begin! 25 mins
Stop! 5 mins
Remove Non-English Remove any words which contain non-UFT8 characters •
étagères • Ångströms • Österreich's Remove an names - starting with uppercase
Begin! 25 mins
Stop! 5 mins
Thank You - Dave Thomas Credit goes to @PragDave /
Ruby community for this Katak Check out - http://codekata.com/ Great source for Code Katas.
Thank you sponsors! Code - http://github.com/burlistic Slides - http://speakerdeck.com/burlistic @willwebst
Mini Retro How did everyone find the exercise? Small break
for Christmas. See you in 2015! Next up - Decoupling Logic from the UI