Starting with LESS

So, while there is progress on the Web App front of my startup, the task at hand is creating mockups and code the HTML CSS markup for it which basically can be translated to views.

So, Just before I start coding, I will read LESS, Bootstrap 3 and Modular CSS and build the markups elegantly and quickly. The main reason to do this is, we can iterate over the design/colors quickly in the coming times. I hope to finish this in a weeks time. If I feel, I cannot, I will use old methodology of writing spaghetti code for frot-end to make it work.

I start with Getting Started with Less.

This was easy and I am already in love with LESS. It makes a programmer feel empowered when it comes to coding themes and following DRY(Don’t repeat yourself) principles.

Agile and Test Driven Development!*

Today I learnt in detail about Agile and the whole product development cycle in this methodology. I watched all the videos at AgileInNutshell. That lead me to read and understand Test Driven Development methodology.

The whole process is very simple to get to grips with, and it shouldn’t take too long before you wonder how you were able to get anything done before! There are huge gains to be made from TDD – namely, the quality of your code improving, but also clarity and focus on what it is that you are trying to achieve, and the way in which you will achieve it. TDD also works seamlessly with agile development, and can best be utilized when pair-programming, as you will see later on.

– Beginning Test-Driven Development in Python

I am really excited to inculcate these ideologies in my workflow and style of programming. This will definitely make me a better programmer, but might reduce my productivity. I am learning R and RubyOnRails. In both I will try to implement all the code that I write using TDD. There are lots of good resources out there. I have not yet settled on one that I will follow, but the starting book for ROR is RailsTutorial, which I preached TDD itself, so that is good for me.

Which technology stack to use?

It is the phase of my startup when I am deciding the technologies we will be using to build the Online Athletigen service. It is so confusing to decide on one. There are so many great stacks I could fixate on but all of them have their strengths and weaknesses and there is so much advice to confuse me even more. I boiled down to Ruby on Rails or Python Django, at first. I was going to build a small sample app in Django first and then ROR. I told myself, If I stick with ROR, to start I am going to read the book, Programming with Ruby and then follow the free book online on Ruby on Rails. One of my teammates, Daniel has been insisting on FLASK micro framework, but I knew it is a one file micro framework so I didn’t give it serious thought. When I did, I discovered Pyramid from a reddit post. I was amazed. I read about the web frameworks war and comparisons. I installed VIRTUALENV and started my journey with Pyramid from this introduction. I viewed a presentation on what Pyramid had to offer. The power and advantages of Pyramid  what convinced me that Pyramid is worth the investment. So, SQLalchemy and Pyramid is what I am going forward with. I installed PyCharm, don’t know why I waited so long to experience its awesomeness. Now, I am feeling well equipped to dive into the project. And there is always something unexpected that happens in early stages of a project. The project development took a turn and the stack changed completely to SPRING MVC + AngularJS. This change was triggered by a new java enterprise developer who joined our team recently and was not comfortable with interpreted and not strictly OOP nature of Python.

Resources for Data Sceince

I created a mind map of the resources easily accessible for becoming a Data Scientist.

Mind MapIf the map is not clearly visible then here is a link on iMind http://imm.to/vQSjF, .

The links cited in the mind map are:

  1. http://scikit-learn.org/stable/presentations.html

  2. http://www.youtube.com/watch?v=w26x-z-BdWQ

  3. http://www.nytimes.com/2009/08/06/technology/06stats.html?_r=3&emc=eta1&

  4. http://www.youtube.com/watch?v=YLiwCKpoW1Q

  5. http://www.youtube.com/watch?v=p8hle-ni-DM

  6. http://www.youtube.com/watch?v=MxRMXhjXZos

  7. http://videolectures.net/mloss08_hunter_mat/

  8. http://www.engr.ucsb.edu/~shell/che210d/numpy.pdf

  9. http://www.cs.ubc.ca/~nando/340-2009/lectures/linalg.pdf

  10. http://docs.python.org/2/tutorial/

  11. http://seat.massey.ac.nz/personal/s.r.marsland/MLbook.html

  12. http://www.cs.ubc.ca/~nando/340-2012/python.php

  13. http://www.quora.com/What-are-the-best-open-source-machine-learning-libraries-written-in-Python

  14. http://tryr.codeschool.com/

  15. http://ocw.mit.edu/courses/sloan-school-of-management/15-097-prediction-machine-learning-and-statistics-spring-2012/lecture-notes/MIT15_097S12_lec02.pdf

  16. In the Data Analysis R section https://www.kaggle.com/wiki/Tutorials

  17. http://www.johndcook.com/R_language_for_programmers.html

  18. Prerequisite section http://mlthirst.wordpress.com/2012/02/20/video-resources-for-machine-learning/

  19. Basic ML http://mlthirst.wordpress.com/2012/02/20/video-resources-for-machine-learning/

  20. http://shop.oreilly.com/product/0636920018483.do

  21. http://www.amazon.com/Pattern-Classification-2nd-Richard-Duda/dp/0471056693

  22. Advanced ML http://mlthirst.wordpress.com/2012/02/20/video-resources-for-machine-learning/

  23. http://www.bioinformatics.org/wiki/Introduction_to_bioinformatics_(book_list)

  24. http://www.bioinformatics.org/wiki/Genomics,_genetics_and_related_sequence_analysis_with_computers_(book_list)

  25. http://www.ats.ucla.edu/stat/r/

 

This will be improved over time. But this is a good initial start for me to get the ground running. Please add feedback in the comments.

 

 

Review 2012-2013 @ SRE, McGill University.

ISAS – Audio Augmented Reality App for the blind

Project Page – [http://isas.cim.mcgill.ca/]

ISAS is an eyes-free mobile system designed to give blind users a better sense of their surroundings. The goal is to use 3D spatialized audio to reveal the kind of information that visual cues such as neon signs provide to sighted users. Once users notice a point of interest, additional details are available on demand.

My work was on the Android Port of the app. I got the bare bone structure of the android app at the beginning and now it is nearing completion. It will be released in the Google Play store next month. My report after first sem, can be found (here). I also got an opportunity to do a Poster Presentation at GRAND 2013 on my work. The poster can be found (here).

RTER –  Real Time Emergency Response

Live – [http://rter.cim.mcgill.ca/]

Project Page – [http://cim.mcgill.ca/sre/projects/rter/]

This project deals with the detection, observation, and assessment of situations requiring intervention by emergency responders, offering them access to high-quality “live” data that may be visualized effectively both by responders in-situ and by remote operators in dedicated control rooms. Its components will include multimodal data registration, interactive visualization capabilities, and live streaming of the integrated contents.

I developed the Android App from scratch. It is still under development as new features are being added continuously.

This is being developed under Mozilla Ignite Challenge. We were declared the winners by White House. http://whitehouse.gov/blog/2013/06/25/mozilla-ignite-challenge-winner-announced

Our Presentation :  https://www.youtube.com/watch?v=B2iTtdosbV4

News: http://gcn.com/articles/2013/07/24/mozilla-ignite-challenge.aspx

Walking Straight – Part of ISAS

My report on this is  (here).

The system detects crosswalk and helps the user align with the direction and position of walking.The detection of the crosswalk is based on bipolarity and regular geometrical features of the markings. Thereafter, relevant  pedestrian traffic lights in the environment are detected. On the green(go) signal, audio feedback is provided to the user to walk without veering. This method tries to compensate for the erroneous sensors on the mobile phones which were leveraged by Walking Straight application to correct the deviation of the blind while walking.

This was my solely research based contribution, others were more implementation based. I still have not been able to complete this work.

Download the Extension!

Finally, we rendered the chrome extension from the code that we had built. I was a simple job as explained in http://code.google.com/chrome/extensions/packaging.html. We are not uploading the extension in the chrome web store as it requires money. Our aim was to build a chrome extension. Not to make money out of it. So, finally me and Selvam did it and we are happy to see things materialise. 🙂

Download the extension at http://e-caffeine.net/way2go/download.html

The online version is hosted at http://e-caffeine.net/way2go/ for users of other browsers. 😛