Skip to content
This repository has been archived by the owner on Sep 27, 2024. It is now read-only.

dailymotion/puzzles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 

Repository files navigation

puzzles

Why am I here?

You're here either because you're lost or because you're curious. If you're lost, click back in your browser until you see something familiar and stop right there.

If you're still here then it means you're curious and it's a very good news for you because curiosity is the path to knowledge. You're about to learn a lot by staying around so hold on tight.

About us, developers

We are developers and as such we should always be on the edge of latest techs, frameworks, dev paradigms, etc. But staying up-to-date in our perpetually evolving environment is a hard task. Most of us subscribed to techs newsletter, RSS feeds, popular Twitter devs, go to conferences and keep reading about the lastest brand new thing that is most awesome than the previous week's awesomeness.

While this actually helps us to keep an open mind about what's out in the wild dev world, we rarely push our curiosity further (lacking time, motivation, guidelines). This, results in a lot of devs having only a very approximative knowledge, based on what someone else wrote or said about a tech, and no personal experience at all.

The main consequence of having such non-persistent knowledge is that, when facing a problem that would require some tech we've read about, we don't really know how to use it and instead, google it to get a code snippet to copy paste it. We've almost learn nothing doing so and yet, we consider ourselves as mastering it just because we copy/pasted some code from someone else.

What we really need is a one-on-one with a tech to solve a specific problem (a specific puzzle). Only after we've succeded, can we considered that we've actually learned something.

How does it work?

Puzzles could be about anything, from JS (browser or node), CSS1/2/3, HTML5 APIs, python, ruby, shell, mongo, sql, algorithmics, etc. to whatever you'd like to share with your fellow developers.

You're either here to solve a puzzle or to publish one. In either case, there are rules to follow to ensure the best experience to everyone.

Puzzle guidelines

  • keep it simple and minimalist (no more than 200 lines of code)
  • Try to focus your puzzle on one precise concept / method / discovery (the easier, the most solvers will remember it and learn from it)
  • Provide all the documentation required to solve the puzzle (devs should not need to use other docs than the ones provided)

Rules for puzzle solvers

All code produced should be pushed under the branch named after you, in a dedicated directory named after the puzzle name. This will allow everyone to see your way of solving any puzzle.

Ex:

Puzzle name: node-server
Your name: John Doe
When you've solved the puzzle, push your code under branch "john-doe" in a directory called "node-server"

Rules for puzzle builders

Info: Building a puzzle is harder than solving one but, it's extremely gratifying and allows you to learn a lot more.

  1. Ideally we'd like to have no more than one puzzle / week.
  2. When a new puzzle is proposed, announce if you want to be the next one to propose one (via mail reply-all)
  3. Add your puzzle to the puzzles list on the last day of the current puzzle period
  4. The puzzle should be doable in less than 2 hours following your guidelines (provided via a howto)
  5. You must do the puzzle too and push your code on the first day of your puzzle's period (this will allow you to validate the feasibility and check that the guidelines and the constraints you specified in your puzzle are correct and sufficient)

Happy puzzling!