How I Made This Site

I have been trying to make a website for 5 years now, but have constantly gotten distracted by the fact 90% of my programming knowledge is self taught and I've had to spend more time learning than doing. Finally, after having a job in the software industry for a year and getting exposed to a product changing to a web stack I've had the base to go on my own. The first full web stack I was exposed to was using ASP.NET for the web server; however, I have never not run a server that was *nix based, so this proved to be a problem unless I wanted to resort to the watered down (but getting better), open source alternative, mono. Through my years of learning to program by Google I've seen and tried plenty of languages and starting at the time I did, saw Ruby on Rails thrown around plenty, but always was under the impression that it was just a fad. Needless to say, when I finally came around to web development several years later looking for an alternative to ASP.NET on *nix based servers I found RoR was still very much in the game. This just meant learning a whole new set of languages and tools. To begin, I primed myself in Ruby and Rails using Codecademy. Even with their more heavily pushed pay structure now, I've found it to be an excellent resource. After doing a little bit of experimenting with a test app I read through the Rails doctrine, and really thought the principles would create a conducive environment for a simple approach to complex web development. Getting started with a Rails project is as simple as typing: rails new {appname} Rails makes it extremely easy to generate the components needed for a basic MVC website: A new model can be created with: rails generate model {model} A new view can be created with: rails generate view {view name} And as you might guess, a controller can be created with: rails generate controller {plural form of model} At first I was skeptical of these generators as these types of things typically hide a bunch of the gritty details you need to understand how an application works. However, as the Rails doctrine points out through it's "omaske" principle that it is simply making it incredibly easy to create a dynamic website that follows RESTful paradigms using these generators, and the documentation is very well detailed and explains at how to get the technical granularity required for your project's needs. Overall, Rails does exactly what it sets out to do by making it easier, and sometimes even fun, to create a responsive website in as little time as possible. In later posts I will talk about how I use specific pieces of Rails and Ruby gems to serve the content I want to host, moving to a better development to production workflow, and general musings and frustrations in keeping this site working.