Wednesday, April 20, 2016

Python Course End

The three key take-aways from my final project -- a reverse spectrogram that transforms images to sounds:
  • Multimedia is remarkably fungible, if you will, thanks to digital data/digitization.  Audio bit depth and amplitude can numerically relate to image pixels.
  • Image and sound manipulation in Python.
  • Pair programming is an acquired skill that requires practice. Its challenges for me involved differing skill levels between team-members, my ability to concentrate or focus in a group setting, my ability to articulate/communicate difficult or abstruse concepts.  Some solutions involve delineating a clear plan and outline of responsibility, improved efforts to communicate, patience and research.
It was a fun project to build, but please lower the volume before playing because it is highly discordant!  Brace yourself; here is an example of output:

Tuesday, April 12, 2016

Entering the Final Stretch

This week, we studied some Python data structures or storage containers like lists and dictionaries.  It's really incredible what Python enables one to do with so few lines of code.  The more structures and built-in functions I learn, the smaller my programs seem to get.

The documentation provided on soft-skills like code-review has been a very good read.  The best practices were particularly valuable:

     1. Review fewer than 200-400 lines of code at a time.

     2. Aim for your inspection rate of less than 300-500 LOC/hour

     3. Take enough time for a proper, slow review, but not more than 60-90 minutes

     4. Authors should annotate source code before the review begins.

     5. Establish quantifiable goals for code review and capture metrics so you can improve your      processes.

     6. Checklists substantially improve results for both authors and reviewers

     7. Verify that defects are actually fixed!

     8. Managers must foster a good code review culture in which finding defects is viewed positively

     9. Beware the “Big Brother” effect

     10. The Ego Effect: Do at least some code review, even if you don’t have time to review it all

     11. Lightweight-style code reviews are efficient, practical, and effective at finding bugs

Our team is working on the outline for our final project, and there will be more on that next week!  It's going to be pretty cool, involving the reverse transformation of images into sound.  It'll be pretty cacophonous -- I don't think we'll be implementing any music theory on harmony, but we'll see what we can do.  Incidentally, I've used the word "cool" about ten times today.  I think it's an unconscious mantra as I enter finals and am beginning to feel the burn.

Wednesday, April 6, 2016

Module 5

It's good to read in the HuffPost, in Silicon Valley’s Race to Hack Happiness, that coders are trying to build apps that aim to increase people's happiness and add to the greater good in society.  These efforts are laudable, and it's good to see hackathons like Wisdom 2.0 and the Happiness App Challenge further promote them.  The article claims that anxiety and depression are on the rise in our society. (Is that really the case?  Do we now tend in greater numbers to lead more isolated, stressed, nasty, unfulfilled lives than our forbearers did?  Or, rather, is there simply now more acceptance towards and openness regarding unhappiness, individualism, or mental health or illness, as the case may be, that has led to an increased discussion or reporting of either?)  In any case, again, since people spend so much time on their smartphones, increasing happiness is a highly commendable development project, which I will look further into in hopes of joining.