Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Katas #15

Open
OleMchls opened this issue Apr 29, 2016 · 15 comments
Open

Katas #15

OleMchls opened this issue Apr 29, 2016 · 15 comments
Labels

Comments

@OleMchls
Copy link
Member

OleMchls commented Apr 29, 2016

Idea

A kata is a self-contained coding problem in one GitHub repository. In the past, we have used katas as a great group non-talk activity. The feedback always have been very positive, so we would like to do more.

How to prepare a kata

A kata is a self-contained coding problem in one GitHub repository. Preferably in the hh-ex namespace (ask organizers for permissions, you can also move repos laters, start right away!).

The ideal meetup coding kata problem...

  • has little to no business logic, so it can be understood with little context as possible.
  • can be solved by all skill levels within 60 to 90 minutes
  • can be solved in iterations rather than a big a big bang release
  • has no external network dependencies
  • can easily be tested

Each kata should contain a readme describing the problem including some examples. It also has some general code setup, like a running elixir project, incl Mixfile, and the usual folder structure, so that attendees can start implementing code right away.

Ideally, a kata also provides failing specs. If it has specs, set up PR tests any CI tool of your choice, so when we are comparing results we will see if a solution passes the tests.

And if you are lacking a good kata idea, take a look here: http://rosettacode.org/wiki/Category:Programming_Tasks

How to run a Kata

In addition to the usual rules on how to make a meetup great for everyone, make it open and inclusive, etc. Katas works best when we pair up the group into teams. These teams are formed best when assigning team members at random (shuffle).

A nice way to shuffle group members was introduced to us by @pierrebeitz, by ripping apart a zine page and make attendees find their corresponding mates by finding the same page parts.

Past Katas

Topic Wishlist

  • General Elixir concepts (special data structs, processes, GenServers)
@KlausTrainer

This comment has been minimized.

@h4cc

This comment has been minimized.

@h4cc

This comment has been minimized.

@KlausTrainer

This comment has been minimized.

@KlausTrainer

This comment has been minimized.

@h4cc

This comment has been minimized.

@KlausTrainer

This comment has been minimized.

@KlausTrainer

This comment has been minimized.

@KlausTrainer

This comment has been minimized.

@OleMchls

This comment has been minimized.

@KlausTrainer

This comment has been minimized.

@h4cc

This comment has been minimized.

@OleMchls

This comment has been minimized.

@h4cc
Copy link
Member

h4cc commented Oct 30, 2018

Idea for a simple Kata: http://www.99-bottles-of-beer.net/

This was referenced Nov 27, 2019
@benjaminweb
Copy link

17c6bd5

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants