I've been working on Arraymancer for 6 months now with ups and downs. This is 
my first big project (and actual the first time I'm developing "for real") and 
I would like to know how do you keep your energy for the long run.

In my case, I seem to alternate between various modes:

  * "The algorithm/macros rabbit hole": There is some shiny thing I want to 
implement well, from scratch, and I spent hours trying different stuff, for 
example using Nim macros to replicate Numpy-like multi-dimensional slicing or 
implementing state-of-the-art parallel matrix multiplication.
  * "The benchmark-er": Let's do benchmark of that new shiny toy, 
Anandtech-style, and see how many `genericReset` I trigger per second.


  * "The lazy wrapper-er": Wow, the rabbit hole led somewhere, now I'm 
exhausted and I want "easy" stuff, let's wrap a library, say from Nvidia.


  * "The showman": Usually at one point, I feel like I need to release and show 
something so I go deep into "examples" and "documentation".



And then there are some times when:

  * I just don't want to do anything (took 1.5 months off code in July)
  * Nim seems to have an axe to grind with you, looking at you `static[T]` and 
`C++ codegen`



So what keep you going ?

Reply via email to