My Development Environment
Sun Jan 20 2019
Disclaimer: I apologize in advance as my writing style will be "stream-of-thought-with-not-much-editing-for-clarity". My focus is on the technology and not so much the writing. So, please forgive my loosey goosey style.

Update: What have I been doing?

So, I've been working on a bunch of stuff lately. I had an HTPC go on the fritz so I was working with getting Ultimate Boot CD so I can troubleshoot the hardware. I've been reading "The Pragmatic Programmer" by Andrew Hunt and David Thomas. I just purchased "Practical Vim" by Drew Neil as inspired by "The Pragmatic Programmer" In Pragmatic Programmer, the authors make the analogy of Woodworking compared to Programming. One of the points they make are the tools that woodworkers use and the tools that programmers use.

What really inspired me, (as I do have a mostly fully stocked woodworking shop with most all the basic tools and some advanced tools, hand and power wise) was this snippet, "Spend time learning to use these tools, and at some point you'll be surprised to discover your fingers moving over the keyboard, manipulating text without concious thought. The tools will have become extensions of your hands." So I am really looking forward to that day!

With that being said, let's look at my stack? IDE methods? Programming configurations? I am not sure what to call it. But I would like to describe how I am working on my developing.

My Development Environment

My development environment. That's what I'll call it. I guess the best place to start is my mindset for learning and developing. The way I want to learn is by building a solid, well-rounded foundation before I start specializing in, whatever it is I will eventually be inspired to do. Right now the inspiration is in Data Science. As I was saying, solid, well-rounded foundation; I want to learn the basics. I started with HTML, CSS and JavaScript. Hence this web journal. I stayed away as much as I could from frameworks and generators as much as possible so I would not get dependent on them.

As I started working with data persistence, the course I was taking, "The Web Developer Bootcamp" by Colt Steele", we used MongoDB. I liked the idea of using one language for front-end development and back-end development. In the course I was also introduced to Node and Express. So my first language I am going be expert in will be JavaScript. I figure if I learn JS super well, that will be a great foundation as I will have learned one language to rule them all. Front-end and back-end wise.

As far as actual development tools, Vim is what I want to excel in. I am very comfortable working from the command line. I really enjoy the simplicity of it and the performance is awesome to boot! The company I work for gives us free server instances to play with, so when I started this journal I figured I would just use Vim to create my text files and such. I didn't realize it at the time but, I was setting up my development environment in the cloud!

Speaking of the cloud and server instances, for my development back-end, I have one instance I do the developing on. It has a local MongoDB server for the database and Vim for creation of stuff. For production, I have an NGINX server working as a reverse proxy. I'll be serving up other sites in the future. And I have a separate MongoDB instance. The node apps from the NGINX server connect securely to the MongoDB instance. That was a fun project, learning how to secure a MongoDB and also securely connect to it.

Well, that's it for now. In writing this post I realize I'll need a disclaimer. Something along the lines of "I know the writing is 'not the best'. This is really just a stream of conciousness I am doing as being a husband and father of two, I simply do not have the time to edit and make this look good, so please excuse the 'not the best' writing." Something like that.

Postscript: I will do spell checking and as I am inspired to use Vim for as much stuff as I can, I write these posts, in the cloud, using Vim. Spell checking is pretty cool as you get used to it. Vim has a ton of suggestions for you when you are looking up the spelling of a word. Anyways, here is my cheat sheet

Vim Spell Check Cheat Sheet
Command Description
:set spell turn on spell check
:set nospell turn off spell check
]s go to next misspelled word
[s go to previous misspelled word
zg add word under cursor to spellfile
z= suggest correct spelling

Vim Documentation on Spell