I think there's a lot here that even as an experienced engineer I hate to start doing from scratch. Now combine that with time to focus on the business
* Where to deploy?
* Where to store the code?
* Which library to send emails with?
* Which 3rd service to send emails with?
A long time ago I spent 2-3 weeks building something to do all the above. After completion, I started going to customers and realised those 2/3wks were basically wasted time because I could have just put a google form and would've done just as good a job. Except now you get something a bit better than that.
If you can solve your issues with a google form then use a google form. I would never start a simple project as an app. All my coded projects are more complex than that. Some might be able to be done with no code tools but it would definitely be a pita to execute.
I wrote an article[1] about this. It's aimed towards intermediate CSS peeps trying to understand how to organize CSS. It focuses on BEM mostly but still offers a decent look into managing CSS
How do you find Sapiens? I started reading it (about pg. 50 now) but I find it too full conclusions/statements that are not really founded on data. Basically, it tends sets up two or more premises and then somehow draws a conclusion that isn't in anyway related to the original premises (i.e: almost pseudoscience).
I am nearly finished now and really enjoyed reading it. The book leaves me with more questions than it answers, I appreciate this in a book though.
It provides just enough information to interest you in a subject, then offers a few common theories with a reasoned most likely case (this is especially prevelant in the beginning of the book due to the lack of information available about humanity tens of thousands of years ago). Most of the assumptions made though are not the author's and there are references in the Notes section at the back if you do want to pursue these further.
This is hands down the best book I read about node. As long as you're already comfortable with JS, this should be more than enough to have you write your own Node apps. Best thing about it: it doesn't limit your to writing node servers like most other intro books. You start seeing node as JS removed away from the browser to a standalone language and not just a way to write javascript web servers.
When I went through it, it was all in es5. So, like I said, if you're comfortable with JS - this shouldn't be a turn-off
In other languages (such as PHP), the same thing can sometimes be achieved by using "break N" / "continue N", where N is the number of loop you wish to break/continue.
I find most people who have gripes with JS prototypes are the ones who are used to classical inheritance. Overall, the more I understand JS, the more I'm convinces most issues raised are personal preferences.
The idea of protypical object-systems is for a large part coming out of the Lisp community (and the Smalltalk community) and was used long before Self or Javascript.
Check the works of Henry Lieberman. The Self developers got the idea of 'delegation' from him. Object Lisp was a prototype-based object system used in LMI's Lisp Machine OS and in Macintosh Common Lisp (until it was replaced by the then developed standard CLOS). Various Lisp-based systems were developed in the 'knowledge representation' domain, which are supporting 'prototypes'. Apple for example developed a system called Sk8 in Macintosh Common Lisp, which made extensive use of prototypes for multimedia UI tool development.
With the advent of CLOS those were not used for typical OO programming in Lisp - not because people don't like it, but because another standard system was provided.
You become exceptional by being curious and never satisfied. I don't think you can teach that. I mean, you can blurt it out to people all day but it takes intrinsic motivation to stay awake until 2am because you want to chase some random thing down the rabbit hole.
"motivation to stay awake until 2am because you want to chase some random thing down the rabbit hole."
Agree. Obsession and curiousity is important. To me you either have that or you don't have that. (Edit: Of course it depends on the subject for sure. You can be curious about one thing but "phone it in" about something else.)
I'm not a programmer but I can write some things that are helpful to me. The other day I made some tea and I then thought "hmm I will buy a timer on Amazon". Then I though "no let me write something that I can use from the shell to tell me when N time period is up and what it is up for". [1] I then probably spent the next hour or so writing this little routine when all I had done was getup to make tea. Because even though I am not a programmer I decided it was more interesting than what I was working on at the time (which is also pretty interesting).
Back to something that I do know about (negotiation and strategy) I go with your first sentence for sure.
[1] In other words instead of using the iphone timer or any number of other ways to do the same exact thing I just decided it was more fun to write something to do what I wanted. And it was fun. And when I showed it to my wife that evening (as an example of why I think our 10 year old should do programming) she couldn't understand why I thought what I did was fun to do.
This is exactly how I felt when working with OSS. I wanted to increase my rep by contributing to OSS projects but most times I was looking for a problem that fits my solution. I was barely useful to a project as a result. Later on, I was working on a friends app (testing it) and I noticed bugs here and there. Fixed them and kept finding bugs on other projects that I was actually interested in.
* Where to deploy? * Where to store the code? * Which library to send emails with? * Which 3rd service to send emails with?
A long time ago I spent 2-3 weeks building something to do all the above. After completion, I started going to customers and realised those 2/3wks were basically wasted time because I could have just put a google form and would've done just as good a job. Except now you get something a bit better than that.