Mailing lists, IRC channels, Slack channels, and various channels of the stack you're using. i.e: language and other components and dependencies of your project. StackExchange network works, too. (i.e: StackOverflow, ServerFault, etc.)
I read the code of of my project's dependencies and learn from it. I receive the RSS feed of the GitHub repositories in my email client, read the change log, and very often I'll see a commit fixing a bug or implementing a feature and go check how it was done.
This makes coming up with good solutions a lot easier, as sometimes instead of implementing the solution in your code, you either submit a pull request or extend the dependency, especially if it has a plugin architecture and solve the problem upstream so that the downstream part (i.e: your client code) isn't too crazy. i.e: instead of the solution being maritime and going around a continent, you fix the geography and dig a canal so that the downstream solution is elegant.
You can have the IRC channels in your email client, such as Thunderbird. The Python IRC channel and mailing lists are great: top notch people will go above and beyond to help you. Case in point, here's a question I posted to the mailing list https://mail.python.org/pipermail/tutor/2015-April/thread.ht... (Good Taste Question: Using SQLite3 in Python).
The people who replied were nice, informative, and patient.
Refine with every remark these generous members made about the board, assimilate the concept, and practice. My second board for a project was way better, but submitted nonetheless for critique again: https://www.electro-tech-online.com/threads/first-pcb-steppe...
For quick, real-time conversations, IRC and Slack channels. For longer, deeper, conversations: mailing lists or forums.
The point is: put something out into the world, and let the world poke holes in it.
Comments
Mailing lists, IRC channels, Slack channels, and various channels of the stack you're using. i.e: language and other components and dependencies of your project. StackExchange network works, too. (i.e: StackOverflow, ServerFault, etc.)
I read the code of of my project's dependencies and learn from it. I receive the RSS feed of the GitHub repositories in my email client, read the change log, and very often I'll see a commit fixing a bug or implementing a feature and go check how it was done.
This makes coming up with good solutions a lot easier, as sometimes instead of implementing the solution in your code, you either submit a pull request or extend the dependency, especially if it has a plugin architecture and solve the problem upstream so that the downstream part (i.e: your client code) isn't too crazy. i.e: instead of the solution being maritime and going around a continent, you fix the geography and dig a canal so that the downstream solution is elegant.
You can have the IRC channels in your email client, such as Thunderbird. The Python IRC channel and mailing lists are great: top notch people will go above and beyond to help you. Case in point, here's a question I posted to the mailing list https://mail.python.org/pipermail/tutor/2015-April/thread.ht... (Good Taste Question: Using SQLite3 in Python).
The people who replied were nice, informative, and patient.
Look at that yours truly douche trying to learn PCB design: https://www.electro-tech-online.com/threads/my-begginnings-w...
Refine with every remark these generous members made about the board, assimilate the concept, and practice. My second board for a project was way better, but submitted nonetheless for critique again: https://www.electro-tech-online.com/threads/first-pcb-steppe...
For quick, real-time conversations, IRC and Slack channels. For longer, deeper, conversations: mailing lists or forums.
The point is: put something out into the world, and let the world poke holes in it.