My MooC concluded., it is the happiness course.

After almost so many years of trying and meddling., I was able to finish the first MooC Course from coursera. Here is the course I was able to finish A Life of Happiness and Fulfillment. It was 6 for weeks, good measured content and was very practical in the application part as well.

  • Week 1 starts about the shortcomings of happiness
  • Week 2 was about how to establishing a flow when doing work and daily tasks
  • Week 3 was about "creative alturism" it is very fancy way of saying give and do a lot charitable work.
  • Week 4 was about being overly controlling and how to go about getting some remedy for it.
  • Week 5 was "smart trust". I think this was very applicable for being a good team member and a life partner.
  • Week 6 was kind of a dud., but I think that is the solution for everything. This matched perfectly with OAK meditation app that am being a beta test user.

At last more self check points

My task manager has been reminding me for the past few days to write my blog post. But simply not following through, what I did in my focus course. But doing a self point check, Here is the another solution for freecodecamp challenge. The problem to solve is search and replace a specific string in an sentence. So the idea of the solution is get the input string, break into an array. Match the "before" parameter with one of the array element, if there is a match that is found then check for case sensitivity of the first character of the "before" parameter. If there is a match then change the "after" parameter to match the same case. Join all the array elements and return them.

function myReplace(str, before, after) {
 var arrayOfStrings =str.split(' ') ;
for( var i=0;i<arrayOfStrings.length;i++){
    if(before===arrayOfStrings[i]){
      if(before.charAt(0)===before.charAt(0).toUpperCase()){
        after=after.replace(after.charAt(0),after.charAt(0).toUpperCase());
      }
      arrayOfStrings[i]=after;
    }
  }  
   return arrayOfStrings.join(' ');
}

Few interesting things that caught my attention was couple of 60 minutes reports. If you have not watched the phone hooked episode, here is the link. The concept of brain hacking is very interesting. The other report that I thought was not reported well is the H1B visa abuse. I think H1B visa got popular and not take away jobs.

The stem was the Y2K bug, which demanded lot of software developers from India to finish the job to convert all the Y2K programs. You did not have to be thinking hard to convert those programs in a software developer world. It was more repetitive and someone who had knowledge how to do that repetitive job be able to do it. There was no need for much analytical and technical skill to get things done for resolving Y2K bug.

The employee from children hospital was very passionate about his users, I don't think there is any less compassion from a good programmer from any part of the world. The open source community thrives only because of developers who are passionate about making the world better. Continuing on that is when some of the firms got to see the software programmers from India and they simply got hooked to the model. The US consulate in my home town chennai knew there were only 4 firms that had a mainframe computer for training and it was impossible for those four firms to train and develop so many mainframe programmers. It had a blind eye giving out Visas for Y2K developers. The spigot got opened for the outsourcing firms at that point. I think the story was not retold properly to say how it started and how the big corporations evolved to latch onto the software engineers that they got during the Y2K boom and how that spilled into a boom where the outsourcing firms simply exploited it from then on. Software programmers from India were never intending to get the jobs from their peers as reported, they were shipped with all skills to meet the demand where body count was more important.

Finally the book of the season is Chaos monkey. I thorougly enjoyed the book and the bitching about the various silicon valley startups was really amazing. Check it out.

Articles and information week:

The Mythical 10x programmer.. This was a great writeup and I thoroughly enjoyed reading it as a developer. The discussion of 5% design will go a long way, is so true. I also liked the fact that it nailed some points like knowing data structures and C will help a long way. Talking about data structures, the interview article by programmers Omin from Nigeria was another interesting one.
The problem that I solved from free code camp was a good one. I know my solution was not efficient and elegant.

["diorite", "andesite", "grass", "dirt", "pink wool", "dead shrub"], ["diorite", "andesite", "grass", "dirt", "dead shrub"] should return ["pink wool"].

Solution

function diffArray(arr1, arr2) {
    var newArr = [];
    var arrHolder = [];
    var savedArr = [];
    var arr1Array = Array.prototype.slice.call(arr1);
    var arr2Array = Array.prototype.slice.call(arr2);
    var neverPopped = 0;
    if (arr1.length > arr2.length) {
        for (var i = 0; i < arr1Array.length; i++) {
            arrHolder.push(arr1Array[i]);
            if (arr2Array.indexOf(arr1Array[i]) >= 0) {
                arrHolder.pop();
                neverPopped++;
            }
        }
        for (var k1 = 0; k1 < arr2Array.length; k1++) {
            if (neverPopped === 0) {
                arrHolder.push(arr2Array[k1]);
            } else {
                if (arr2Array.indexOf(arrHolder[k1]) > 0) {
                    arrHolder.pop();
                }
            }
        }
        newArr = arrHolder;
    }
    if (arr2Array.length > arr1Array.length) {
        for (var j = 0; j < arr2Array.length; j++) {
            arrHolder.push(arr2Array[j]);
            if (arr1Array.indexOf(arr2Array[j]) >= 0) {
                arrHolder.pop();
            }
        }
        for (var k2 = 0; k2 < arr1Array.length; k2++) {
            if (arr1Array.indexOf(arrHolder[k2]) > 0) {
                arrHolder.pop();
            }
        }
        newArr = arrHolder;
    }
    if (arr2.length == arr1.length) {
        for (var k = 0; k < arr2Array.length; k++) {
            arrHolder.push(arr2Array[k]);
            if (arr1Array.indexOf(arr2Array[k]) >= 0) {
                arrHolder.pop();
            }
        }
        for (var k4 = 0; k4 < arr1Array.length; k4++) {
            arrHolder.push(arr1Array[k4]);
            if (arr2Array.indexOf(arr1Array[k4]) >= 0) {
                arrHolder.pop();
            }
        }
        newArr = arrHolder;
    }
    console.log(newArr);
    return newArr;
}

Hidden figures is an amazing read. I do not know much about this Susan fowler write-up but it was viral and definetly not the one that I expected to read after the book. Finally Saturday was #FakeNews day with wiretaps. But there was a theory for the president's tweets, here is a related opinion.

My 2017 resume updated.

I liked the resume write-up from medium's blog. I have a three page resume. But based on this medium post, I wanted a take a stab at a one page resume. My latest resume.

Work Experience

State of WI. Application Architect. April 2014 - ongoing.

  • Lead the team for product innovations and liaison scrum master for development.
  • Lead the adoption of JAVA 8 and Angular JS to web projects.
  • Identify and incorporate vendor products like a digital online signature solution with project stack. 
  • Full stack project developer using SPRING, ANGULARJS, ACTIVITI, JAVA 8 , JPA, Oracle OAM, WEBSERVICES.
  • Liaison for product innovation and development.

US Bank Corp- Web technology Application Technologist 2008 - 2014

  • Application consultant for back office product development.
  • Security architecture explainer in chief and implementation strategy development
  • Application architecture for the mobile application of the credit card development team
  • Full stack prototype development for on boarding new partners and co-brands.

Other experience

  • US Bank Corp (2008- 2014), American family Insurance, Volkswagen, Novell, American Express

Side Projects

  • visit my recipes at myrecipes.online
  • Free code camp certification for front-end development
  • PMI Certified project professional
  • My pledge of coding for 365 days.

Education

  • Masters in Business Administration
  • Bachelor of Engineering
  • Sun certified programmer

Technical skills

Strong: JAVA 8, SPRING, REST, ANGULAR JS, JPA, SCRUM, JSON, HAZELCAST, AGILE DEVELOPMENT, ACTIVITI BPM.

Knowledgable: SPRING BOOT, CONCURRENCY, DOZER, Spring Workflow, FILENET, ALFRESCO, JENKINS, BAMBOO, BOOTSTRAP,JASPER, DB ADMIN, DEVOPS- HEROKU,  RUBY, RAILS, iOS, PEGA PRPC.

Progress 3- Focus course Module 3 starting today.

Atlast, made it to module three. According to the course this is a real deal. Few things that have sticked till now in the course: The journaling process has been awesome till now. The other habits of setting up clothes and 10 things to do, fizzled out after a new puppy. The puppy was a never planned thing, but we always wanted a pet for the kids. When I started the course, my mornings were only for the course and things to follow up. But with sudden change, am not able to complete the start-up aka week 1 activities in the course. One thing I wished in the course was able to do was, how to stick with the focus needs even in some unplanned conditions. Week 2 assignments have made me aware of my physical fitness,goals and some baby steps for planning. Hope to go knee deep into module 3 now.

Progress 2 update Focus course

The course started out that not effective for me. But during day 10 and day 11 it kind of comes around. Keep up with daily tasks and needs of the course it is making progress. This was a good classical piece that helps to keep focus up.

Cheat sheet guide for good Rest Service.

These are some really good design principles. It is very nicely explained. I preferred following this guide than understanding Rails scafolding. With Java being such a verbose language I felt this was mostly written for Java based application, I preferred this explaination and apply it to RAILS and how it was done there. Sometimes it is frustrating why a specific scaffold behaves in the way it behaves in RAILS. That to say am no way a awesome ruby rails developer. But this link and guide provides industry best practice and reason for it. Good read and nice blog to follow. Link

Adventures with Rasberry PI 3.

My big Raspberry pi topic. I had a bust buying the new Rasberry PI. I was thinking to use the Rasberry PI and showcase my kids some electronic widgetry. It ended being a bust, there are too many tutorials about it and I did not realize the problem is some basic understanding from me about circuit boards was helpful. But there was a good makers month video by Scott Hanselman in his blog. One other data feed to keep an eye on is the twitter feed of PI