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

Keep your experiments separate #96

Open
1 task
nelsonic opened this issue Jun 11, 2022 · 0 comments
Open
1 task

Keep your experiments separate #96

nelsonic opened this issue Jun 11, 2022 · 0 comments
Labels
discuss Share your constructive thoughts on how to make progress with this issue enhancement New feature or enhancement of existing functionality

Comments

@nelsonic
Copy link
Member

Fellow dwyler Jessica Kerr @jessitron recently published this excellent post jessitron.com/2022/06/07/keep-your-experiments-separate/ [5 min read] that superbly summarises the reason we have "so many" example, tutorial and demo apps @dwyl ...

The gist is: "keep it simple, to focus on each new concept or experiment."

"Keep your experiments separate." ~ Eric Evans

"Eric forks the repository each time, and adds the new feature to the base game.
That way, the learning is not complicated by feature interaction.
"

In other words each time Eric adds a feature to his game he isolates it as its' own experiment.
That way the interaction of features can be tested one "variable" at a time instead of trying to observe

Obviously there are always people on HackerNews who haven't quite understood the benefits of simplicity and the scientific method:
https://news.ycombinator.com/item?id=31702975 🙄 these are the same people who claim that [automated] "Testing is too hard".

The world is full of people who skipped learning about science and the scientific method.
Why? because it's more difficult in the short-term to adopt the more rigorous approach.

Any intelligent fool can make things bigger, more complex, and more violent.
It takes a touch of genius — and a lot of courage to move in the opposite direction
.”
~ E.F. Schumacher

By isolating the individual element of a technology, tool, technique or feature we are trying to understand/experiment with we better understand what is going on and can explain it to others.

We have individual "learn-xyz" repositories for each element of our technology stack.
These are beginner-focussed ("your first hour with X tech") notes
When we build a module ourselves e.g: elixir-auth-google, we create the corresponding demo App: dwyl/elixir-auth-google-demo
Finally we assemble the component elements into an example apps, e.g: dwyl/phoenix-chat-example

I increasingly feel like I should just short-cut everything and do exactly/whatever Jessica ❤️ says and will save myself a heap of effort! 😜

Todo

  • Write this up better and publish it.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discuss Share your constructive thoughts on how to make progress with this issue enhancement New feature or enhancement of existing functionality
Projects
None yet
Development

No branches or pull requests

1 participant