3 ms·
Thank you for the respones. Do you find that your side projects are mainly guided by general interest mixed with utility? Taking an example from myself, I find
by keyboard_user_2 2y ago
Thank you for the respones. Do you find that your side projects are mainly guided by general interest mixed with utility? Taking an example from myself, I find Sudoku pretty interesting. By interesting I mean that I find them fun to do and I am pretty sure that generating them is an interesting challenge that _seems_ like I could accomplish it, in some form.
Now at this stage, I'll end up doing some preliminary research on Sudoku solving and generation programmatically. I'll realize this is a by and large solved problem and someone has already written a program that will do anything I would do in every programming language under the sun. I start to wonder - Is this worth my time to do? It's that question that starts to cast doubt. Also partially if there is so much literature on the topic I wonder if I am just "copying" or if I really am doing something valuable/learning.
Your comment on learning budget is insightful and appreaciated, I can already think of examples that I can apply that to, so thank you.
- PaulHoule 2y agoI think it is. So far as solvers you can make one pretty simply by trying combinations exhaustively. The trick is that you have to start with the ones that have a low number of possibilities (ideally just one) I think you could also hack a solver into being a generator. See also https://en.wikipedia.org/wiki/Satisfiability_modulo_theories https://en.wikipedia.org/wiki/Satisfiability_modulo_theories an SMT solver is a generalized solver and it is designed to make this kind of thing easy. It is a super-valuable skill to be able to look something up in the literature and implement so you can learn from other people's experience. If somebody studied computer science in school that would be the most valuable skill they could get, I think. The last problem in the Python course for Hackerrank for instance involves a string search problem that has to be completed with impossible speed. The solution I know is to use https://en.wikipedia.org/wiki/Suffix_tree https://en.wikipedia.org/wiki/Suffix_tree which looks like a magic trick. There are several things you need to pay attention to to get it to run in O(N), if you knew it was possible you might figure it out after a lot of work but if you look in the literature you'll find exactly what those are. In the case of chess I didn't really understand the importance of different things and how they fit together until I tried it. Book learning + practical experience = usable knowledge.