Understanding Xavier Initialization In Deep Neural Networks

I recently stumbled upon an interesting piece of information when I was working on deep neural networks. I started thinking about initialization of network weights and the theory behind it. Does the image to the left make sense now? The guy in that picture is lifting “weights” and we are talking about network “weights”. Anyway, when we implement convolutional neural networks, we tend to utilize all the knowledge and research available out there. A good number of things in deep learning are based on heuristics! It’s worth exploring why we do things in a certain way whenever it’s possible. This goes a long way in unlocking the hidden mysteries of deep learning and why it’s so unbelievably accurate. Let’s go ahead and understand how network weights are initialized, shall we? Continue reading

Automation of AMI Creation Using Packer

Purpose

Infra/Devops team maintains a Golden Image (Base Image) which is a production ready base image with pre-installed required software like java,tomcat,nagios-client, default-system users. For security patch or software version update we have to keep updating the Base Image which requires manual AMI updation and creation process. Continue reading

Top Mistakes while taking charge of an Existing Team

If you’ve constantly worked in bootstrap or greenfield projects, you develop an intuition for partnering with the customer and assembling a sharp team that will build out the product. Bootstrap projects come with their own challenges but everyone is new on the team and goes through the team journey together. However, entering an existing long-standing team as the Development Manager is a different ball game altogether. Like a movie director, every manager has his or her way of leading a team. That is great, but there are a few things that put you on the wrong side of the road. Here are the nominees, for top performances on the wrong side, in no particular order. Continue reading

Use Xcode 8 with Jenkins

We have implemented continuous integration process so that we can detect errors quickly, and locate them more easily. This also helped us to reduce the time required for manual testing. The following frameworks/tools we have used for CI process:
 
Apple has provided UI testing framework supported from iOS 9 and above. We have used this to write the UI test cases in Xcode.
 
Jenkins is an open source continuous integration tool. We have done a setup of Jenkins on Mac machine where the central build takes place.

Continue reading

Automate deployment using Rundeck

What is Rundeck?

Rundeck is open source software that helps you automate routine operational procedures in data center or cloud environments. Rundeck provides a number of features that will alleviate time-consuming grunt work and make it easy for you to scale up your automation efforts and create self service for others. Teams can collaborate to share how processes are automated while others are given trust to view operational activity or execute tasks.

Rundeck allows you to run tasks on any number of nodes from a web-based or command-line interface. Rundeck also includes other features that make it easy to scale up your automation efforts including: access control, workflow building, scheduling, logging, and integration with external sources for node and option data. Continue reading