Week 1: It is all about getting started
A lot got done this week from a work perspective. I redesigned 60% of the website edwave.org . Even though the link I have attached will show you no change as of now, we will be deploying it soon. We are just not ready as yet.
We also designed a survey for our potential customers through some brainstorming and feedback.
From a learning standpoint, I would like to have completed more, but this was still a good start. I did revise the fundamentals of Ruby, got some insight into JS canvas rendering and solidified my bootstrap fundamentals
Followed through with my promise of the weekly blog post
No learning/revision for 3 of the 7 days (other than work)
No tangible output (ideally I want to show everyone what exactly came out of my learning through small demos)
Resource: http://ruby.railstutorial.org/ruby-on-rails-tutorial-book
At work, we spent majority of the day discussing the prototype and how to get a feedback from potential customers. We decided to split the survey into 2 parts, one to assess the idea in detail as it stands. We have come a long way from the early day version of the idea, the product’s mold has been built on constant feedback and has changed with every way possible. We started off with education and an online course sharing and viewing portal. Now, EdWave is a career guidance tool where we match courses with jobs and beyond. We help students pick their courses.
Learning wise, today was dedicated to rails. Read through the first 2 chapters of Rails tutorial. I am pretty new to rails. I have worked in parts on rails over the past few months, so it is not completely new. This is a revision of the fundamentals.
I also come up with the idea of travel-based site for India in this time (which had been in the back of my head). It is a sort of trip advisor that is catered only to India. I will elaborate on this idea as and when I go through the build. The idea is an offspring of my love for travel. My baby shall be called roadtoindia for now, until I can think of a better name for it.
Otherwise was a pretty busy day as well- football, gym, and a lot of other coding.
Languages/ frameworks: Ruby on rails, Javascript
Resource: http://ruby.railstutorial.org/ruby-on-rails-tutorial-book
Resource: http://www.codecademy.com
Course: Draw with Javascript
Work-wise, we continued the survey process and got a few things ironed out in our UI for editing user pages.
I started by reading through how ruby on rails models work in detail. This was the first section of chapter 10. This was a follow up to reading chapter 2. I have read through more than 50% of the book but have not read it back to back once. I have gone through the chapters on a need to know basis. I can tell you chapters 10 and 11 are 2 of the most important to building your own application. A majority of the mid chapters deal with how to build a user profile. This is very standard stuff and does not require a great deal of customization. You can practically copy and paste code to get this section working. The last 2 chapters completely deal with the customization, which is fundamental to the MVC framework.
I also started looking at javascript today and went through a tutorial in codecadamy. This is not my first time in Codecademy. I have gone through some of the basic tutorials here. This is an unbelievably good resource to enforce your fundamentals. The draw tutorial is pretty basic and it takes you through how to draw custom images on a canvas. This tutorial might seem pretty basic, but the full power of this can be seen in some plugins like arbor.js. I just toyed around on a canvas for a bit.
Languages/ frameworks: Bootstrap CSS
Chapters: scaffolding, grid system
At work, I continued to iron out the User Edit feature and complete the survey procedure.
This was a high level overview on how the grid system works and how it is integrated with CSS commands. This should definitely be one of the first steps and most fundamental things you have to learn to save time while positioning different sections of your pages.
All work, no play makes Jack a dull boy.
This was a tough day at work. Most of my time was spent debugging some very simple elements of my core product due to badly written code. I started coding full-time only 5 months ago (after my engineering degree that got over in 2007). I have the shiny object syndrome- I tried to integrate too many fancy looking plugins to my website edwave.org. This came at the cost of some really complex code, which I really cannot completely understand.
For me, the plugins were a black box- they do work but I don’t know exactly how. I wrote some makeshift code to complete my initial work. Most of my days now are spent debugging and re-writing large sections of my earlier work and removing some really complex elements that I wrote because I found them to be cool.
Lesson learnt: keep it simple stupid. Fancy plugins can wait.
Another one bites the dust?
Another day that was completely work. Today, I redesigned the entire website edwave.org one page at a time. I tried to introduce some conventional layouts through Rails as I had not done so while designing the site for the first time a few months back. It was a lot of re-work. Lesson learnt the hard way. I ended up discarding a few plugins at the cost/ benefit of making the site look a lot simpler.
I redesigned the entire asset pipeline which was pretty intense considering I had so much interdependence between pages on specific css frameworks that I had written and yet they could not overlap in a number of occasion. I tried to integrate them all to one spot and kill all redundant lines of code and so we have a more uniform layout for the site as a whole. How I wish I had followed this process from day one.
Imagine you drop your wedding ring in the commode by mistake. Ideally you want to make sure it never falls off. If it does, you take one for the team and stick your hand in and pull it out. If you flushed it down and you are a few hours in, it is probably still possible to get it back if you go searching the drains of your building. Now imagine it has entered the wide labyrinth of the cities drain pipelines- this is launch day in our case. We got our wedding ring back before this could happen is how we see it. You need to clean up the mess before you find yourself swimming in a huge pool of shit and completely losing your way and finally forget what you got into the pool for. The earlier, the better.
I can see a pattern developing.
I wrote a regression testing suite and ended up spending most of my day organizing stuff for EdWave. A lot of work did get done, but I need to find a way to sneak in a few minutes/ hours everyday to pure learning and revision.
I have to make this work. This is definitely not the best start to my campaign. Though I am learning a lot of stuff through EdWave, it I definitely need to spend some time on getting the broader picture. One of the main “errors” I made the first time I designed the site was I spent all my time doing the EdWave site. My process was completely catered to getting EdWave up.
The learning curve for the first few weeks was incredible- a lot of HTML, JS, JQuery, Ruby on Rails from website books- getting the fundamentals. But when I started the worked on the EdWave site my perspective was very narrow- how do I make a specific function work by hook or crook- definitely not elegant code, no structure and the fact that I was so new to coding meant I was probably using the worst solution to every problem that I faced.
Time spent: 100 minutes (in a mall while others shopped)
(The link is the site, I have the book with me)
Today work was about completing the workflow on the site. You know how every link should work etc. and making sure that all functions are covered in the site.
Today was thanksgiving in the US. This meant we had guests over, went to a friends place and the night finally culminated at 8 AM in a mall, thanks to black Friday. While my cousins shopped, I found myself a nice cozy corner and read away.
The 100$ startup is a pretty awesome read, especially if you are working and want to start by taking up a part time entrepreneurial path and one day, make it your full-time job. I like the way the author thinks- he is similar to me in a lot of ways- traveler and has been to all countries in the world and he is not 35! He interviews small business owners throughout the world on varying degrees of success and failure and learns from their experiences. I try to find a connection to my own business and future ideas as I read every single page of this book. It often makes me think in new ways and more importantly, help me structure my thoughts- one of the biggest issues every entrepreneur faces.