Why do we make things more complex than they really are?
Eckhart Tolle would say it’s because we create expectations in the future based on the past and thus detract energy and joy from the present moment. I’ve noticed that I tend to create mental visions or expectations of activities I have or want to do. And these expectations usually result in taking away enjoyment or energy from the planned activity or postponement of the whole activity itself. It’s amazing how much better things are when we don’t have expectations, when we just act in spontaneity and enjoy what we are doing in the moment. I’ve realized that I created the expectation that programming was very difficult. But you know, expectations suck.
C.R.U.D. (Create. Read. Update. Delete) is the basis of nearly 99% of all web applications. This week we created a Ruby on Rails app that allows visitors to upload pictures and GIFs to an index page (home page). Create an image and caption on the page by adding the url and desired caption, Read the image on the index page or on the picture id page (single picture page), Update the image or caption in the edit page, and Delete the image. Almost every application uses the actions: create, read, update, delete; so it’s, great to get practice and post absurd GIFs at the same time! We all created our own version of this.
I thought it was tough memorizing all of the Ruby syntax, but Rails is a whole new beast! As our instructor Raghu says to us everyday, “You Gotta Toast It,” or as Mike Land would say, “Tear down, rebuild, tear down, and rebuild again.” You may have kept the amazing notes with every command, method, and concept known to RoR, but the only way to really “ingrain the code in your muscle memory” is to open up a blank rails app, start going through the RCAV (Route. Controller. Action. View.), and let the errors guide your next step. Error-driven development is essentially where the computer tells you what is broken in your program. As a programmer, you have to tell the computer exactly what to do. If there is a problem in your code, the computer will run the program until it encounters the error, and then it will report the error on the browser page. It’s funny to recall my experience with computer errors before I was a programmer: usually when an error came up in Windows or an application, I would become enraged and curse at the monitor without even trying to read the error message.
On week two we accessed the facebook API and pulled out data from our news feeds. It’s amazing how a little amount of code can pull data from giant databases so easily. I’m really starting to visualize how creating web apps is possible! It’s a great feeling. We also created a “flashcard app” that pulls data from the Starter League Portal and lists/posts the names, pictures, twitter handles, and section of all the students in the AM web development class. On day one of the Starter League, Raghu told us we would be creating a flashcard app to help us memorize all of the names of our class mates. At the time, I had absolutely no idea how we would do this. And here we are at the end of week two with the complete flashcard app. Now all we need is a little CSS (cascading style sheets) to make it look nice. :)
I’m learning that programming and web application development is challenging. It’s not a walk in the park and it takes focus and hard work, but it’s definitely something that everyone can learn. My friend used to tell me every time we would study, “Learn by Doing.” I’m just now starting to realize what he was trying to communicate. Until next week.
Full-speed ahead and enjoy the moment