Saturday, November 30, 2013

The Depot -- My plan for world domination

It is Saturday, and I'm on Thanksgiving break from Launch Academy.  I took Thursday and Friday completely off; and didn't look at a single line of code.  48 hours is too long to be away from Ruby, I'm in love with the language and I'm in love with learning.
  My breakable toy is a notepad, which I talk about in detail in a previous blog post.  However, my real expertise is e-commerce.  In a previous life, the life before committing 100+ hours a week to learning ruby and rails, I owned a company that built extensions and did custom development for the Magento platform.  I helped a lot of businesses ( 300+ ) take their online stores to the next level.  I managed projects ranging from installing an extension all the way to integrating a custom developed ERP into Magento with multi retail store support using geolocating API's like MaxMind and, later in the project, if (navigator.geolocation) { }, switched to HTML5 geolocation for more accurate results.
  My thought process is that I'd like to build a lot of open source extensions for the spree e-com framework, to give back to the community and to help improve my skill set at the same time.  To get to that point, though, I need to take a step back and focus on learning rails.  The program at Launch Academy is only 10 weeks so in order to build two breakable toys I'm going to need to stay ahead of the assignment workload.
  I've picked up Agile Web Development With Rails 4 and I will start building a simple e-commerce system in rails today called "The Depot". I'm already 150 pages in and I finally get to start building the application in the book.  I plan to challenge myself by starting the application with zurb foundation so that I can make it look nice.  Throughout the process of building this application, I'll make a few blog posts with hurdles I run into or things I've accomplished that are outside the scope of the book.
  After I finish the ecommerce application, I'm going to dive straight into spree and start contributing.  Already at first glance, I see a lot of room for improvement when comparing spree to a more established, better funded alternative such as Magento.

Thanks for taking the time to read my rants.  I like to blog now to keep my thoughts organized, and perhaps someday, I'll make my freshman college english professor proud by taking the time to write well thought out paragraphs.  Until then, though, I'm back to coding!






Monday, November 25, 2013

Persistance is the key.


This past week at Launch Academy taught me a lot about coding; hashes, arrays, and a lot of other critical topics in computer programming.  One of the main assignments this week was a cash register program that reads products from a csv file, and allows the user to run reports on the data.  This was quite a challenge for me.  Instead of approaching the topic with the techniques we have already learned, I decided to try to build the whole program using OOP ( Object Oriented Programming).  Launch Academy has a tight schedule on assignments so I'm not awarded the luxury of taking my sweet time with a project.  With that in mind, I set myself a personal deadline where I would halt my work using the OOP design.  Unfortunately, I hit my deadline and only had a half working program.  However, I learned quite a few OOP techniques along the way, and felt strongly that if I had a little more time, I could've finished out the cash register.

With my deadline passed, and only 24 hours to finish the assignment, I knew I needed a creative way to solve the problem.  Most of my classmates were using hashes and arrays to store the data, but I wanted to use only a CSV file to store all of the data, and then use the csv file to run reports from.

I went straight to work and was able to tackle a real world programming problem within just a few hours, and it felt amazing!  In a few short weeks, Launch Academy took me from knowing almost nothing to building a completely functioning program on my own.  I can't wait to see what the next 8 weeks bring.

Until next time, adios!


Wednesday, November 20, 2013

My Breakable Toy Project

Today I picked my "Breakable Toy", which is a project I'll use to demonstrate the skills I learned during my time at Launch Academy.  I chose to work on a notepad-like application to help people keep track of things important to them.  I often find myself on the train thinking of or reading about a subject that I want to look up later, when I'm back on my laptop instead of my phone.  Building this web application will enable me and others to keep track of their thoughts.

Technically, my hardest challenges will be designing and building a chrome extension, and designing the site.  The chrome extension will allow a user to highlight a single word or block of text, and export it to the notepad website with one click.  I'll need to build a REST api for the notepad application so that I can send data from the chrome extension back to the website, so this could be a challenging situation.  Due to the complexity of the main website, I will build the chrome extension as the last phase of the development cycle, only after the website is fully functional.
  In terms of design, I intend to use bootstrap 3 and get a great UI kit from the folks at Pixel Kit to help make the design look high quality.  Design is an extremely important topic and one that I will need to study intimately so that my product will be useful to the end user.

It's back to programming for now, so until next time!


Monday, November 18, 2013

Week One Complete

Launch Academy week one is complete, and it was a week of learning about code but a lot about myself as well.

Prior to launch academy, my last educational experience was in 2009 at a community college studying computer science.  During that single year of college, I felt like a drone with no real direction on how to learn.

Launch Academy is an extremely intense learning experience, and because there is so much information distributed at once, I was basically forced to figure out how I learn so I can keep up!
I've found that my learning style is a mix of many things spread through the day.  I like to watch a video on a concept, then read about it, then have it explained.  Once I understand a concept, I never forget it.

Another thing I've learned about myself is to not compare my current skillset with the other students, but simply to compare my skillset with the coursework to make sure I'm on track.  Luckily I learned this valuable lesson within a single four hour timespan.  I was working with a student who was further along than myself in his learning, and I got really discouraged that my skills didn't stack up to his.  After a few hours of staring at a blank screen, and some teaching from my mentor, I realized that there are lots of smart people in the world and it's ok to not be the best all the time.  After speaking to my mom, a licensed professional counselor, I now understand that a simple thing like that can take a lifetime for certain people to understand.  Hearing that made me proud that I can learn a hard life lesson in just a few hours and move onto the next trial, whether it be academic or about life.

Until next week, peace out!